def handle_form(self, form, request, target): target.username = target.old_username if target.username != form.cleaned_data.get('username'): target.set_username(form.cleaned_data.get('username'), changed_by=request.user) if form.cleaned_data.get('new_password'): target.set_password(form.cleaned_data['new_password']) if target.pk == request.user.pk: start_admin_session(request, target) update_session_auth_hash(request, target) if form.cleaned_data.get('email'): target.set_email(form.cleaned_data['email']) if target.pk == request.user.pk: start_admin_session(request, target) if form.cleaned_data.get('is_avatar_locked'): if not target.old_is_avatar_locked: set_dynamic_avatar(target) if 'is_staff' in form.fields and 'is_superuser' in form.fields: target.is_staff = form.cleaned_data.get('is_staff') target.is_superuser = form.cleaned_data.get('is_superuser') if 'is_active' in form.fields and 'is_active_staff_message' in form.fields: target.is_active = form.cleaned_data.get('is_active') target.is_active_staff_message = form.cleaned_data.get( 'is_active_staff_message') target.rank = form.cleaned_data.get('rank') target.roles.clear() target.roles.add(*form.cleaned_data['roles']) set_user_signature(request, target, form.cleaned_data.get('signature')) profilefields.update_user_profile_fields(request, target, form) target.update_acl_key() target.save() messages.success(request, self.message_submit % {'user': target.username})
def submit_form(request, user): fields = [] for field in profilefields.get_fields(): if field.is_editable(request, user): fields.append(field) form = DetailsForm( request.data, request=request, user=user, ) if form.is_valid(): profilefields.update_user_profile_fields(request, user, form) user.save(update_fields=['profile_fields']) return Response(serialize_profilefields_data(request, profilefields, user)) return Response(form.errors, status=400)
def submit_form(request, user): fields = [] for field in profilefields.get_fields(): if field.is_editable(request, user): fields.append(field) form = DetailsForm( request.data, request=request, user=user, ) if form.is_valid(): profilefields.update_user_profile_fields(request, user, form) user.save(update_fields=['profile_fields']) return Response(serialize_profilefields_data(request, profilefields, user)) return Response(form.errors, status=400)
def handle_form(self, form, request, target): target.username = target.old_username if target.username != form.cleaned_data.get('username'): target.set_username(form.cleaned_data.get('username'), changed_by=request.user) if form.cleaned_data.get('new_password'): target.set_password(form.cleaned_data['new_password']) if target.pk == request.user.pk: start_admin_session(request, target) update_session_auth_hash(request, target) if form.cleaned_data.get('email'): target.set_email(form.cleaned_data['email']) if target.pk == request.user.pk: start_admin_session(request, target) if form.cleaned_data.get('is_avatar_locked'): if not target.old_is_avatar_locked: set_dynamic_avatar(target) if 'is_staff' in form.fields and 'is_superuser' in form.fields: target.is_staff = form.cleaned_data.get('is_staff') target.is_superuser = form.cleaned_data.get('is_superuser') if 'is_active' in form.fields and 'is_active_staff_message' in form.fields: target.is_active = form.cleaned_data.get('is_active') target.is_active_staff_message = form.cleaned_data.get('is_active_staff_message') target.rank = form.cleaned_data.get('rank') target.roles.clear() target.roles.add(*form.cleaned_data['roles']) set_user_signature(request, target, form.cleaned_data.get('signature')) profilefields.update_user_profile_fields(request, target, form) target.update_acl_key() target.save() messages.success(request, self.message_submit % {'user': target.username})