Browse Source

Parse warning reason… but don't require it. #37

Rafał Pitoń 11 years ago
parent
commit
af30d6e059
2 changed files with 10 additions and 3 deletions
  1. 4 3
      misago/apps/warnuser/forms.py
  2. 6 0
      misago/apps/warnuser/views.py

+ 4 - 3
misago/apps/warnuser/forms.py

@@ -3,6 +3,7 @@ import floppyforms as forms
 from misago.forms import Form
 
 class WarnMemberForm(Form):
-    reason = forms.CharField(label=_("Warning Reason"), max_length=2048,
-                             widget=forms.Textarea,
-                             error_messages={'max_length': _("Warn reason is too long.")})
+    reason = forms.CharField(label=_("Warning Reason"), widget=forms.Textarea,
+                             required=False, max_length=2048,
+                             error_messages={
+                                'max_length': _("Warn reason is too long.")})

+ 6 - 0
misago/apps/warnuser/views.py

@@ -9,6 +9,7 @@ from misago.acl.exceptions import ACLError403
 from misago.apps.errors import error403, error404
 from misago.apps.warnuser.forms import WarnMemberForm
 from misago.decorators import block_guest, check_csrf
+from misago.markdown.factory import basic_markdown
 from misago.models import User, Warn, WarnLevel
 from misago.shortcuts import render_to_response
 
@@ -59,6 +60,10 @@ def warn_user(request, user, slug):
                 user.warning_level_update_on = None
             user.save(force_update=True)
 
+            reason_preparsed = None
+            if form.cleaned_data['reason']:
+                reason_preparsed = basic_markdown(form.cleaned_data['reason'])
+
             Warn.objects.create(
                 user=user,
                 giver=request.user,
@@ -68,6 +73,7 @@ def warn_user(request, user, slug):
                 ip=request.session.get_ip(request),
                 agent=request.META.get('HTTP_USER_AGENT'),
                 reason=form.cleaned_data['reason'],
+                reason_preparsed=reason_preparsed,
                 )
 
             messages.success(request,