Browse Source

Fixed sysadmin account edition by non-sys admin.

Rafał Pitoń 11 years ago
parent
commit
67fe664df8
2 changed files with 13 additions and 1 deletions
  1. 8 0
      misago/apps/admin/users/views.py
  2. 5 1
      templates/admin/users/form.html

+ 8 - 0
misago/apps/admin/users/views.py

@@ -316,6 +316,14 @@ class Edit(FormWidget):
         if target.username != self.original_name:
             target.sync_username()
 
+        # Change email?
+        if form.cleaned_data.get('email'):
+            target.set_email(form.cleaned_data.get('email'))
+
+        # Change password?
+        if form.cleaned_data.get('new_password'):
+            target.set_password(form.cleaned_data.get('new_password'))
+
         # Do signature mumbo-jumbo
         if form.cleaned_data['signature']:
             target.signature = form.cleaned_data['signature']

+ 5 - 1
templates/admin/users/form.html

@@ -11,8 +11,12 @@
 </fieldset>
 <fieldset>
   <legend>{% trans %}Sign-in Credentials{% endtrans %}</legend>
+  {% if 'email' in form.fields %}
   {{ form_theme.row(form.email, attrs={'class': 'span12'}) }}
   {{ form_theme.row(form.new_password, attrs={'class': 'span12'}) }}
+  {% else %}
+  <p>{% trans %}This user account belongs to system administrator. It's sign in credentials can be changed only by other sysadmins.{% endtrans %}</p>
+  {% endif %}
 </fieldset>
 <fieldset>
   <legend>{% trans %}User Avatar{% endtrans %}</legend>
@@ -28,4 +32,4 @@
   {{ form_theme.row(form.signature_ban_reason_user, attrs={'class': 'span12', 'rows': 4}) }}
   {{ form_theme.row(form.signature_ban_reason_admin, attrs={'class': 'span12', 'rows': 4}) }}
 </fieldset>
-{% endblock %}
+{% endblock %}