aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin/moderation/forms.py
diff options
context:
space:
mode:
Diffstat (limited to 'mediagoblin/moderation/forms.py')
-rw-r--r--mediagoblin/moderation/forms.py36
1 files changed, 28 insertions, 8 deletions
diff --git a/mediagoblin/moderation/forms.py b/mediagoblin/moderation/forms.py
index 0a91b9b4..718cd8fa 100644
--- a/mediagoblin/moderation/forms.py
+++ b/mediagoblin/moderation/forms.py
@@ -17,24 +17,44 @@
import wtforms
from mediagoblin.tools.translate import lazy_pass_to_ugettext as _
-ACTION_CHOICES = [(_(u'takeaway'),_('Take away privilege')),
- (_(u'userban'),_('Ban the user')),
- (_(u'closereport'),_('Close the report without taking an action'))]
+ACTION_CHOICES = [(_(u'takeaway'),_(u'Take away privilege')),
+ (_(u'userban'),_(u'Ban the user')),
+ (_(u'sendmessage'),(u'Send the user a message')),
+ (_(u'delete'),_(u'Delete the content'))]
+
+class MultiCheckboxField(wtforms.SelectMultipleField):
+ """
+ A multiple-select, except displays a list of checkboxes.
+
+ Iterating the field will produce subfields, allowing custom rendering of
+ the enclosed checkbox fields.
+
+ code from http://wtforms.simplecodes.com/docs/1.0.4/specific_problems.html
+ """
+ widget = wtforms.widgets.ListWidget(prefix_label=False)
+ option_widget = wtforms.widgets.CheckboxInput()
+
class PrivilegeAddRemoveForm(wtforms.Form):
- giving_privilege = wtforms.HiddenField('',[wtforms.validators.required()])
privilege_name = wtforms.HiddenField('',[wtforms.validators.required()])
class ReportResolutionForm(wtforms.Form):
- action_to_resolve = wtforms.RadioField(
- _('What action will you take to resolve this report'),
- validators=[wtforms.validators.required()],
+ action_to_resolve = MultiCheckboxField(
+ _(u'What action will you take to resolve the report?'),
+ validators=[wtforms.validators.optional()],
choices=ACTION_CHOICES)
targeted_user = wtforms.HiddenField('',
validators=[wtforms.validators.required()])
+ take_away_privileges = wtforms.SelectMultipleField(
+ _(u'What privileges will you take away?'),
+ validators=[wtforms.validators.optional()])
user_banned_until = wtforms.DateField(
- _('User will be banned until:'),
+ _(u'User will be banned until:'),
format='%Y-%m-%d',
validators=[wtforms.validators.optional()])
+ why_user_was_banned = wtforms.TextAreaField(
+ validators=[wtforms.validators.optional()])
+ message_to_user = wtforms.TextAreaField(
+ validators=[wtforms.validators.optional()])
resolution_content = wtforms.TextAreaField()