django messages refactor

remotes/origin/1203
Nazar Kotjuk 10 years ago
parent fc471e131f
commit ce702bcd69
  1. 98
      django_messages/expomap_views.py
  2. 1
      proj/urls.py

@ -1,18 +1,20 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
import json
from django.http import HttpResponseRedirect, HttpResponse from django.http import HttpResponseRedirect, HttpResponse
from django.shortcuts import render_to_response, get_object_or_404 from django.shortcuts import get_object_or_404
from django.views.generic import ListView, DetailView, TemplateView, FormView from django.views.generic import TemplateView, FormView
from accounts.models import User
from django.db.models import Q from django.db.models import Q
from django.utils import timezone from django.utils import timezone
from forms import ComposeForm, ReplyForm, SendForm from accounts.models import User
from forms import ReplyForm, SendForm
from models import Message from models import Message
import json
class InboxView(TemplateView): class InboxView(TemplateView):
template_name = 'accounts/messages.html' """
returns template with user messages
"""
template_name = 'client/accounts/messages.html'
def get_context_data(self, **kwargs): def get_context_data(self, **kwargs):
context = super(InboxView, self).get_context_data(**kwargs) context = super(InboxView, self).get_context_data(**kwargs)
@ -20,51 +22,18 @@ class InboxView(TemplateView):
context['senders'] = [{'sender': s, 'message': Message.objects.filter(recipient=self.request.user, sender=s)[0]}\ context['senders'] = [{'sender': s, 'message': Message.objects.filter(recipient=self.request.user, sender=s)[0]}\
for s in senders] for s in senders]
reply_form = ReplyForm() reply_form = ReplyForm()
context['reply_form'] = reply_form context['reply_form'] = reply_form
return context return context
def message_reply(request, message_id):
response = {'success': False}
if request.POST:
form = ReplyForm(request.POST)
if form.is_valid():
parent_msg =get_object_or_404(Message, id=message_id)# Message.objects.get(id=parent)
form.save(sender=request.user, parent_msg=parent_msg)
response['success'] = True
return HttpResponse(json.dumps(response), content_type='application/json')
else:
return HttpResponse('error')
return HttpResponse('not ajax')
def send_message(request, url):
response = {'success': False}
try:
url = int(url)
recipient = get_object_or_404(User, id=url)
except ValueError:
recipient = get_object_or_404(User, url=url)
if request.POST:
form = SendForm(request.POST)
if form.is_valid():
form.save(sender=request.user, recipient=recipient)
response['success'] = True
return HttpResponse(json.dumps(response), content_type='application/json')
else:
return HttpResponse('error')
return HttpResponse('not ajax')
class MessageHistory(FormView): class MessageHistory(FormView):
template_name = 'accounts/messages_history.html' """
returns message history with one user and form to reply to it
"""
template_name = 'client/accounts/messages_history.html'
form_class = ReplyForm form_class = ReplyForm
success_url = '' success_url = ''
def get_initial(self): def get_initial(self):
return {'recipient':self.kwargs.get('user_id')} return {'recipient':self.kwargs.get('user_id')}
@ -84,13 +53,13 @@ class MessageHistory(FormView):
def form_invalid(self, form): def form_invalid(self, form):
user_id = self.kwargs.get('user_id') user_id = self.kwargs.get('user_id')
return HttpResponseRedirect('/profile/messages/history/'+user_id+'/') return HttpResponseRedirect('/profile/messages/history/'+user_id+'/')
def form_valid(self, form): def form_valid(self, form):
form.save(sender=self.request.user) form.save(sender=self.request.user)
user_id = self.kwargs.get('user_id') user_id = self.kwargs.get('user_id')
return HttpResponseRedirect('/profile/messages/history/'+user_id+'/') return HttpResponseRedirect('/profile/messages/history/'+user_id+'/')
""" """
class ReplyView(FormView): class ReplyView(FormView):
form_class = ComposeForm form_class = ComposeForm
@ -108,3 +77,42 @@ class ReplyView(FormView):
context['parent_msg'] = parent_msg context['parent_msg'] = parent_msg
return context return context
""" """
def message_reply(request, message_id):
"""
reply to message
"""
response = {'success': False}
if request.POST:
form = ReplyForm(request.POST)
if form.is_valid():
parent_msg = get_object_or_404(Message, id=message_id)
form.save(sender=request.user, parent_msg=parent_msg)
response['success'] = True
return HttpResponse(json.dumps(response), content_type='application/json')
else:
return HttpResponse('error')
return HttpResponse('not ajax')
def send_message(request, url):
"""
send message to user with url=url
"""
response = {'success': False}
try:
url = int(url)
recipient = get_object_or_404(User, id=url)
except ValueError:
recipient = get_object_or_404(User, url=url)
if request.POST:
form = SendForm(request.POST)
if form.is_valid():
form.save(sender=request.user, recipient=recipient)
response['success'] = True
return HttpResponse(json.dumps(response), content_type='application/json')
else:
return HttpResponse('error')
return HttpResponse('not ajax')

@ -60,7 +60,6 @@ urlpatterns = patterns('',
url(r'^gallery/', include('photologue.client_urls')), url(r'^gallery/', include('photologue.client_urls')),
url(r'^', include('file.urls')), url(r'^', include('file.urls')),
url(r'^', include('django_messages.expomap_urls')), url(r'^', include('django_messages.expomap_urls')),
url(r'^messages/', include('django_messages.urls')),
url(r'^advertising/$', AdvertisingView.as_view(), {'meta_id':58}), url(r'^advertising/$', AdvertisingView.as_view(), {'meta_id':58}),
url(r'^about/$', AboutView.as_view(), {'meta_id':56}), url(r'^about/$', AboutView.as_view(), {'meta_id':56}),
url(r'^partners/$', AboutView.as_view(), {'meta_id':57}), url(r'^partners/$', AboutView.as_view(), {'meta_id':57}),

Loading…
Cancel
Save