def __init__(self, permissions=None, *args, **kwargs): permissions = permissions if permissions is not None else [] super(EditForm.UserForm, self).__init__(*args, **kwargs) self.fields['email'].required = True self.fields['permissions'] = forms.MultipleChoiceField( required=False, widget=CheckboxSelectMultiple, initial=list(set(permissions) & set(PERMISSIONS.keys())), choices=[(permission, _(Permission.objects.get(codename=permission).name)) for permission in PERMISSIONS.keys()])
def __init__(self, permissions=None, *args, **kwargs): permissions = permissions if permissions is not None else [] super(EditForm.UserForm, self).__init__(*args, **kwargs) self.fields["email"].required = True self.fields["permissions"] = forms.MultipleChoiceField( required=False, widget=CheckboxSelectMultiple, initial=list(set(permissions) & set(PERMISSIONS.keys())), choices=[ (permission, _(Permission.objects.get(codename=permission).name)) for permission in PERMISSIONS.keys() ], )
def save(self, commit=True): user = super(UpdateForm.UserForm, self).save(commit=False) if self.cleaned_data.get("password1") and self.cleaned_data.get("password2"): user.set_password(self.cleaned_data.get("password1")) # Update permissions. permissions = set(user.user_permissions.all()) for permission in Permission.objects.filter(codename__in=PERMISSIONS.keys()): if permission.codename in self.cleaned_data.get("permissions"): permissions.add(permission) else: permissions.discard(permission) user.user_permissions = list(permissions) # Save. user.save() # Done! return user
def save(self, commit=True): user = super(UpdateForm.UserForm, self).save(commit=False) if self.cleaned_data.get('password1') and \ self.cleaned_data.get('password2'): user.set_password(self.cleaned_data.get('password1')) # Update permissions. permissions = set(user.user_permissions.all()) for permission in Permission.objects.filter( codename__in=PERMISSIONS.keys()): if permission.codename in self.cleaned_data.get('permissions'): permissions.add(permission) else: permissions.discard(permission) user.user_permissions = list(permissions) # Save. user.save() # Done! return user