Просмотр исходного кода

Users pruning and bans admin moved to floppyforms. #114

Rafał Pitoń 12 лет назад
Родитель
Сommit
fad6a3c151

+ 23 - 22
misago/apps/admin/bans/forms.py

@@ -6,16 +6,24 @@ class BanForm(Form):
     """
     New/Edit Ban form
     """
-    test = forms.TypedChoiceField(choices=(
+    test = forms.TypedChoiceField(label=_("Ban Rule"),
+    							  help_text=_("Select ban type from list and define rule by entering it in text field. If you want to ban specific user, enter here either his Username or E-mail address. If you want to define blanket ban, you can use wildcard (\"*\"). For example to forbid all members from using name suggesting that member is an admin, you can set ban that forbids \"Admin*\" as username."),
+    							  choices=(
                                            (0, _('Ban Username and e-mail')),
                                            (1, _('Ban Username')),
                                            (2, _('Ban E-mail address')),
                                            (3, _('Ban IP Address'))
                                            ), coerce=int)
-    reason_user = forms.CharField(widget=forms.Textarea, required=False)
-    reason_admin = forms.CharField(widget=forms.Textarea, required=False)
+    reason_user = forms.CharField(label=_("User-visible Ban Message"),
+    							  help_text=_("Optional Ban message that will be displayed to banned members."),
+    							  widget=forms.Textarea, required=False)
+    reason_admin = forms.CharField(label=_("Team-visible Ban Message"),
+    							   help_text=_("Optional Ban message that will be displayed to forum team members."),
+    							   widget=forms.Textarea, required=False)
     ban = forms.CharField(max_length=255)
-    expires = forms.DateField(required=False)
+    expires = forms.DateField(label=_("Ban Expiration"),
+    						  help_text=_("If you want to, you can set this ban's expiration date by entering it here using YYYY-MM-DD format. Otherwhise you can leave this field empty making this ban permanent."),
+    						  required=False)
     layout = (
                (
                  _("Ban Details"),
@@ -36,21 +44,14 @@ class BanForm(Form):
 
 
 class SearchBansForm(Form):
-    ban = forms.CharField(required=False)
-    reason = forms.CharField(required=False)
-    test = forms.TypedMultipleChoiceField(widget=forms.CheckboxSelectMultiple, choices=(
-                                          (0, _('Username and e-mail')),
-                                          (1, _('Username')),
-                                          (2, _('E-mail address')),
-                                          (3, _('IP Address'))
-                                          ), coerce=int, required=False)
-    layout = (
-              (
-               _("Search Bans"),
-               (
-                ('ban', {'label': _("Ban"), 'attrs': {'placeholder': _("Ban contains...")}}),
-                ('reason', {'label': _("Messages"), 'attrs': {'placeholder': _("User or Team message contains...")}}),
-                ('test', {'label': _("Type")}),
-               ),
-              ),
-             )
+    ban = forms.CharField(label=_("Ban"), required=False)
+    reason = forms.CharField(label=_("Messages"), required=False)
+    test = forms.TypedMultipleChoiceField(label=_("Type"),
+    									  widget=forms.CheckboxSelectMultiple,
+    									  coerce=int, required=False,
+    									  choices=(
+                                           (0, _('Username and e-mail')),
+                                           (1, _('Username')),
+                                           (2, _('E-mail address')),
+                                           (3, _('IP Address'))
+                                          ))

+ 15 - 5
misago/apps/admin/pruneusers/forms.py

@@ -4,14 +4,24 @@ from misago.forms import Form
 from misago.validators import validate_sluggable
 
 class PolicyForm(Form):
-    name = forms.CharField(max_length=255, validators=[validate_sluggable(
+    name = forms.CharField(label=_("Policy Name"),
+                           help_text=_("Short, descriptive name of this pruning policy."),
+                           max_length=255, validators=[validate_sluggable(
                                                                           _("Policy name must contain alphanumeric characters."),
                                                                           _("Policy name is too long.")
                                                                           )])
-    email = forms.CharField(max_length=255, required=False)
-    posts = forms.IntegerField(min_value=0, initial=0)
-    registered = forms.IntegerField(min_value=0, initial=0)
-    last_visit = forms.IntegerField(min_value=0, initial=0)
+    email = forms.CharField(label=_("Member E-mail Address ends with"),
+                            help_text=_("If you want to, you can enter more than one e-mail suffix by separating them with comma."),
+                            max_length=255, required=False)
+    posts = forms.IntegerField(label=_("Member has no more posts than"),
+                               help_text=_("Maximum number of posts member is allowed to have to fall under policy. For example if you enter in 10 posts and make this only criteria, every user that has less than 10 posts will be deleted. Enter zero to dont use this criteria"),
+                               min_value=0, initial=0)
+    registered = forms.IntegerField(label=_("User is member for no more than"),
+                                    help_text=_("Maximal number of days user is member for. For exmaple if you enter in 15 days and make this only criteria, every user who is member for less than 15 days will be deleted. Enter zero to dont use this criteria."),
+                                    min_value=0, initial=0)
+    last_visit = forms.IntegerField(label=_("User last visit was before"),
+                                    help_text=_("Maximal allowed inactivity period in days. For example if you enter in 300 days and make this only criteria for deleting users, every member who did not signed into forums in last 300 days will be deleted. Enter zero to dont use this criteria."),
+                                    min_value=0, initial=0)
 
     layout = (
               (

+ 20 - 0
templates/admin/bans/form.html

@@ -0,0 +1,20 @@
+{% extends "admin/admin/form.html" %}
+{% import "forms.html" as form_theme with context %}
+
+{% block form %}
+<fieldset>
+  <legend>{% trans %}Ban Details{% endtrans %}</legend>
+  {{ form_theme.repeat(form,
+                       (form.test, form.ban),
+                       attrs=(
+                              {'class': 'span4'},
+                              {'class': 'span8'}
+                             )) }}
+  {{ form_theme.row(form.expires, attrs={'class': 'span12'}) }}
+</fieldset>
+<fieldset>
+  <legend>{% trans %}Ban Message{% endtrans %}</legend>
+  {{ form_theme.row(form.reason_user, attrs={'class': 'span12', 'rows': 3}) }}
+  {{ form_theme.row(form.reason_admin, attrs={'class': 'span12', 'rows': 3}) }}
+</fieldset>
+{% endblock %}

+ 7 - 0
templates/admin/bans/list.html

@@ -1,4 +1,5 @@
 {% extends "admin/admin/list.html" %}
+{% import "forms.html" as form_theme with context %}
 
 {% block table_row scoped %}
   <td class="lead-cell">
@@ -12,3 +13,9 @@
   	{% if item.expires %}{{ item.expires|date }}{% else %}<em>{% trans %}Permanent{% endtrans %}</em>{% endif %}
   </td>
 {% endblock %}
+
+{% block search_form %}
+{{ form_theme.row(search_form.ban, attrs={'class': 'span3'}) }}
+{{ form_theme.row(search_form.reason, attrs={'class': 'span3'}) }}
+{{ form_theme.row(search_form.test, attrs={'class': 'span3'}) }}
+{% endblock %}

+ 0 - 0
templates/admin/prune/apply.html → templates/admin/prune_users/apply.html


+ 16 - 0
templates/admin/prune_users/form.html

@@ -0,0 +1,16 @@
+{% extends "admin/admin/form.html" %}
+{% import "forms.html" as form_theme with context %}
+
+{% block form %}
+<fieldset>
+  <legend>{% trans %}Basic Policy Options{% endtrans %}</legend>
+  {{ form_theme.row(form.name, attrs={'class': 'span12'}) }}
+</fieldset>
+<fieldset>
+  <legend>{% trans %}Pruning Policy Criteria{% endtrans %}</legend>
+  {{ form_theme.row(form.email, attrs={'class': 'span12'}) }}
+  {{ form_theme.row(form.posts, attrs={'class': 'span12'}) }}
+  {{ form_theme.row(form.registered, attrs={'class': 'span12'}) }}
+  {{ form_theme.row(form.last_visit, attrs={'class': 'span12'}) }}
+</fieldset>
+{% endblock %}

+ 0 - 0
templates/admin/prune/list.html → templates/admin/prune_users/list.html