Advertisement
Guest User

Untitled

a guest
Jul 8th, 2012
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.77 KB | None | 0 0
  1. class MyUserAdminForm(forms.ModelForm):
  2.     class Meta:
  3.         model = User
  4.  
  5.     def __init__(self, *args, **kwargs):
  6.         super(MyUserAdminForm, self).__init__(*args, **kwargs)
  7.         instance = getattr(self, 'instance', None)
  8.         if instance and instance.id: # username and user id
  9.             self.fields['username'].widget.attrs['class'] = 'disabled'
  10.             self.fields['username'].widget.attrs['readonly'] = True
  11.             self.fields['is_superuser'].widget.attrs['class'] = 'disabled'
  12.             self.fields['is_superuser'].widget.attrs['readonly'] = True
  13.             new_text = '. <br \><span style="color: red;">Read-only field.\
  14.                 To modify, do this via shell.</span>'
  15.             self.fields['username'].help_text += new_text
  16.             self.fields['is_superuser'].help_text += new_text
  17.  
  18.             if instance.is_superuser is True:
  19.                 self.fields['is_active'].widget.attrs['class'] = 'disabled'
  20.                 self.fields['is_active'].widget.attrs['readonly'] = 'readonly'
  21.                 new_text = '. <br \><span style="color: red;">This option\
  22.                     is disabled for superuser. Do it via shell.</span>'
  23.                 self.fields['is_active'].help_text += new_text
  24.  
  25.     def clean_username(self):
  26.         return self.instance.username
  27.  
  28.     def clean_is_superuser(self):
  29.         return self.instance.is_superuser
  30.  
  31.     def clean_is_active(self):
  32.         if self.instance.is_superuser is True:
  33.             return self.instance.is_active
  34.         else:
  35.             return self.cleaned_data
  36.  
  37.     def save(self, *args, **kwargs):
  38.         kwargs['commit'] = True
  39.         user = super(MyUserAdminForm, self).save(*args, **kwargs)
  40.         print user.username
  41.         print 'done'
  42.         return user
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement