profile change
This commit is contained in:
SDE
2023-10-22 16:46:25 +03:00
parent f0e8cb5101
commit 19621752b5
2 changed files with 40 additions and 8 deletions

View File

@@ -103,10 +103,9 @@ def change_profile_confirm_ajax(request):
from .forms import RegistrationForm
form = RegistrationForm(data)
if not form.is_valid():
raise ValidationError(form.errors)
data_for_save = {}
users = User.objects.filter(id=request.user.id)
if 'firstname' in data:
data_for_save.update({'first_name': data['firstname']})
if 'lastname' in data:
@@ -114,23 +113,41 @@ def change_profile_confirm_ajax(request):
if 'email' in data:
data_for_save.update({'email': data['email']})
data_for_save.update({'username': data['email']})
request.user.update(**data_for_save)
if data_for_save:
users.update(**data_for_save)
data_for_save = {}
password = None
confirm_password = None
if 'password' in data:
data_for_save.update({'password': data['password']})
password = data['password']
if 'confirm_password' in data:
data_for_save.update({'confirm_password': data['confirm_password']})
request.user.u.set_password(data['password'])
confirm_password = data['confirm_password']
if password and confirm_password:
if password != confirm_password:
errors = {
'password': 'Не совпадают пароли',
'confirm_password': 'Не совпадают пароли',
}
raise ValidationError(errors)
request.user.set_password(password)
request.user.save()
data_for_save = {}
user_profiles = UserProfile.objects.filter(user__in=users)
if 'country' in data:
data_for_save.update({'country': data['country']})
if 'city' in data:
data_for_save.update({'city': data['city']})
if 'tel' in data:
data_for_save.update({'phone': data['tel']})
request.user.user_profile.update(**data_for_save)
if data_for_save:
user_profiles.update(**data_for_save)
html = get_profile_change_page_content_html(request)
return JsonResponse({'html': html}, status=200)