def settings(request): if request.method == 'GET': form = SettingsForm(data={ 'login': request.user.username, 'email': request.user.email }) if request.POST: form = SettingsForm(data=request.POST, files=request.FILES, instance=request.user.author) if form.is_valid(): post = form.save(commit=False) username_field = form.cleaned_data.get('login') email_field = form.cleaned_data.get('email') author = request.user.author author.user_name = username_field author.avatar = request.FILES.get('avatar', request.user.author.avatar) author.save() user_ = request.user user_.username = username_field user_.email = email_field user_.save() form.save() return render(request, 'settings.html', {'form': form})
def settings(request): if request.method == 'POST': form = SettingsForm(request.POST, instance=request.user) formAv = AvatarForm(request.user, request.POST, request.FILES) if formAv.is_valid(): formAv.save() if form.is_valid(): form.save() return redirect('/main/') tags = Tag.objects.best_tags()[0:10] users = Client.objects.best_members()[0:10] return render(request, 'settings_page.html', { 'tags': tags, 'users': users, 'form': form, 'formAv': formAv, 'user': request.user, 'errors': form.errors, }) else: form = SettingsForm(instance=request.user) formAv = AvatarForm(request.user) tags = Tag.objects.best_tags()[0:10] users = Client.objects.best_members()[0:10] return render(request, 'settings_page.html', { 'tags': tags, 'users': users, 'form': form, 'formAv': formAv, 'user': request.user, 'errors': form.errors, })
def settings(request): if request.method == "GET": form = SettingsForm( initial={ 'first_name': request.user.first_name, 'last_name': request.user.last_name, 'email': request.user.email, 'avatar': "/static/{}".format(Users.objects.get_avatar(request.user.pk)), 'change': "/static/{}".format(Users.objects.get_avatar(request.user.pk)) }) if request.method == "POST": form = SettingsForm(request.POST, request.FILES) if form.is_valid(): user = User.objects.get(pk=request.user.pk) user.first_name = form.cleaned_data['first_name'] user.last_name = form.cleaned_data['last_name'] user.email = form.cleaned_data['email'] if form.cleaned_data['change'] is not None: user.users.avatar = form.cleaned_data['change'] user.users.save() user.save() messages.success(request, 'Form submission successful') form.initial['avatar'] = "/static/{}".format( Users.objects.get_avatar(request.user.pk)) print(form.initial) ctx = {'form': form} return render(request, 'settings.html', ctx)
def settings(request): if request.method == "GET": form = SettingsForm(initial={ "username": request.user.username, "email": request.user.email }) else: form = SettingsForm(data=request.POST, files=request.FILES) if form.is_valid(): user = request.user if form.cleaned_data["username"] != user.username: user.username = form.cleaned_data["username"] if form.cleaned_data["email"] != user.email: user.email = form.cleaned_data["email"] if form.cleaned_data["password"]: user.set_password(form.cleaned_data["password"]) if form.cleaned_data["avatar"]: profile = Profile.objects.get(user=user) new_photo = upload_image(form.cleaned_data["avatar"], user.id) flag = False if profile.avatar == BASE_AVATAR: flag = True profile.avatar = new_photo profile.save() if flag: change_photos(user) user.save() return render(request, "settings.html", { "form": form, "avatar": Profile.objects.get(user=request.user).avatar, })
def settings(request): if request.method == 'GET': form = SettingsForm(instance=request.user) elif request.method == 'POST': form = SettingsForm(data=request.POST, instance=request.user, files=request.FILES) if form.is_valid(): form.save() return render(request, 'settings.html', {'form': form})
def edit_settings(request): organizations = [membership.organization for membership in OrganizationMember.objects.filter(user=request.user, is_owner=True)] try: credentials = SlackCredentials.objects.get(user=request.user) slack_auth = None except SlackCredentials.DoesNotExist: slack_auth = { 'auth_url': SlackCredentials.get_auth_url(request) } initial = { 'name': request.user.name, 'email': request.user.email, 'bio': request.user.bio, 'city': request.user.city, 'country': request.user.country, 'public_phone': request.user.public_phone, 'public_email': request.user.public_email } form = SettingsForm(initial=initial) if request.method == 'POST': form = SettingsForm(request.POST, initial=initial) form.set_user(request.user) if form.is_valid(): if request.FILES.get('userpic'): request.user.userpic = request.FILES.get('userpic') request.user.name = form.cleaned_data.get('name') request.user.city = form.cleaned_data.get('city') request.user.country = form.cleaned_data.get('country') request.user.public_phone = form.cleaned_data.get('public_phone') request.user.public_email = form.cleaned_data.get('public_email') request.user.bio = form.cleaned_data.get('bio') request.user.save() # TODO: if email was updated -> mark user account is_active=False and send activation link password = form.cleaned_data.get('password') request.user.email = form.cleaned_data.get('email').lower() if password != '': request.user.set_password(password) request.user.save() messages.add_message(request, messages.SUCCESS, _('Your account was updated successfully')) return redirect(reverse('index')) return render(request, 'app/settings.html', locals())
def form_with_settings(request): best_members = UserProfile.objects.best_members() popular_tags = Tag.objects.popular_tags() if request.method == 'GET': form = SettingsForm() avatar_form = AvatarForm() print('tut') else: print("регистрируемся") form = SettingsForm(data=request.POST) avatar_form = AvatarForm(data=request.POST, files=request.FILES, instance=request.user.userprofile) print(request.FILES) if form.is_valid(): user = request.user print('валидный') if form.cleaned_data[ "login"] != user.username and form.cleaned_data[ "login"] != '': user.name = form.cleaned_data["login"] if form.cleaned_data[ "username"] != user.username and form.cleaned_data[ "username"] != '': user.username = form.cleaned_data["username"] if form.cleaned_data["email"] != user.email and form.cleaned_data[ "email"] != '': user.email = form.cleaned_data["email"] if form.cleaned_data["password"] != '': user.set_password(form.cleaned_data["password"]) user.save() auth.login(request, user) # if avatar_form.get('image_profile', None) is not None: avatar_form.save() return redirect('main_page') return render( request, 'form_with_settings.html', { 'form': form, 'avatar_form': avatar_form, 'popular_tags': popular_tags, 'best_members': best_members, 'settings': settings })
def profile(request): tags = Tag.objects.get_popular() if request.method == "GET": form = SettingsForm() else: form = SettingsForm(data=request.POST) if form.is_valid(): user = request.user if form.cleaned_data["username"] != user.username: user.username = form.cleaned_data["username"] if form.cleaned_data["email"] != user.email: user.email = form.cleaned_data["email"] if form.cleaned_data["password"]: user.set_password(form.cleaned_data["password"]) user.save() return render(request, 'profile.html', { 'form': form, 'user': request.user, 'tags': tags, })
def settings_page(request): if request.method == 'POST': form = SettingsForm(data=request.POST, instance=request.user, files=request.FILES) if form.is_valid(): form.save() return redirect(reverse('settings')) else: user_data = { 'username': request.user.username, 'first_name': request.user.first_name, 'email': request.user.email } form = SettingsForm(initial=user_data) return render(request, 'settings_page.html', {'form': form})
def settings(request): initial = {'username': request.user.username} form = SettingsForm(initial=initial) if request.method == "POST": form = SettingsForm(request.POST, request.FILES) if form.is_valid(): username = form.cleaned_data.get('username') users = User.objects.filter(username=username) if len(users) == 0: request.user.username = username elif request.user.id != users[0].id: messages.add_message(request, messages.ERROR, 'Sorry, this username is taken!') userpic = request.FILES.get('userpic') if userpic is not None: request.user.profile.userpic = userpic request.user.profile.save() password = form.cleaned_data.get('password') if password != '': if request.user.check_password(password): new_password = form.cleaned_data.get('new_password') confirm_password = form.cleaned_data.get( 'confirm_password') if new_password != '': if new_password == confirm_password: request.user.set_password(new_password) update_session_auth_hash(request, request.user) messages.add_message(request, messages.SUCCESS, 'Password was updated') else: messages.add_message(request, messages.ERROR, 'Passwords do not match!') else: messages.add_message(request, messages.ERROR, 'Wrong password!') request.user.save() return redirect(request.path) return render(request, 'settings.html', locals())