Switch to using ModelForm for private messaging form. Migrating to ModelForm seems completed.

portnov [2008-06-17 12:08:17]
Switch to using ModelForm for private messaging form. Migrating to ModelForm seems completed.
Filename
mgmt/forms.py
mgmt/views.py
diff --git a/mgmt/forms.py b/mgmt/forms.py
index 49d0392..0e4cf27 100644
--- a/mgmt/forms.py
+++ b/mgmt/forms.py
@@ -40,9 +40,10 @@ class DocForm(forms.ModelForm):
     model = Document
     exclude = ("created", "author")

-class MessageForm(forms.Form):
-  name = forms.CharField()
-  text = forms.CharField(widget=forms.Textarea())
+class MessageForm(forms.ModelForm):
+  class Meta:
+    model = PrivateMsg
+    exclude = ("created","author","reciever")

 class TaskModelForm(forms.ModelForm):
   bug = forms.ModelChoiceField(queryset=Bug.objects.all(),required=False)
diff --git a/mgmt/views.py b/mgmt/views.py
index 0693843..5687a42 100644
--- a/mgmt/views.py
+++ b/mgmt/views.py
@@ -45,16 +45,6 @@ def user_page(request,name):
   except:
     raise Http404

-  if request.method == 'POST':
-    title = request.POST['name']
-    text = request.POST['text']
-    msg = PrivateMsg(name=title,
-        text=text,
-        author=request.user,
-        reciever=user,
-        created=datetime.now())
-    msg.save()
-
   if request.user.username == name:
     messages = PrivateMsg.objects.filter(reciever=user)
     form = None
@@ -62,6 +52,16 @@ def user_page(request,name):
     messages = None
     form = MessageForm()

+  if request.method == 'POST':
+    form = MessageForm(request.POST)
+    if form.is_valid():
+      msg = form.save(commit=False)
+      msg.author = request.user
+      msg.reciever = user
+      msg.created = datetime.now()
+      msg.save()
+      return HttpResponseRedirect('.')
+
   pr_admin = user.admin_projects.all()
   pr_team  = user.in_projects.all()
   bugs_resp = Bug.objects.filter(responsible=user,status__id__lt=4)
ViewGit