def settings(request): user = request.user if request.method == 'POST': form = SettingsForm(request.POST, user=user) if form.is_valid(): user.username = form.cleaned_data['username'] if user.email != form.cleaned_data['email']: user.email = form.cleaned_data['email'] user.email_verification_key = User.generate_email_verification_key(user.email) email_changed(user) user.facebook_id = form.cleaned_data['facebook_id'] if ( user.is_profile_public != form.cleaned_data['is_profile_public'] and form.cleaned_data['is_profile_public'] ): transfer_users_requesting_to_follow_me_to_followers(user) user.is_profile_public = form.cleaned_data['is_profile_public'] user.is_words_created_public = form.cleaned_data['is_words_created_public'] user.is_words_to_learn_public = form.cleaned_data['is_words_to_learn_public'] user.is_words_learned_public = form.cleaned_data['is_words_learned_public'] user.save() messages.success(request, "Settings has been updated.") return HttpResponseRedirect(reverse('account:settings')) else: form = SettingsForm(user=user, initial={ 'username': user.username, 'email': user.email, 'facebook_id': user.facebook_id, 'is_profile_public': user.is_profile_public, 'is_words_created_public': user.is_words_created_public, 'is_words_to_learn_public': user.is_words_to_learn_public, 'is_words_learned_public': user.is_words_learned_public }) return render(request, "account/settings.html", {'form': form, 'user': request.user})
def main_settings(request, username): state = "Change Settings" changed = False initial = { "email": request.user.email, "xsede_username": request.user.xsede_username, "public_key": request.user.public_key, } settings_form = SettingsForm(request.POST or None, initial=initial) if settings_form.is_valid(): d = dict(settings_form.cleaned_data) if request.user.email != d.get("email"): request.user.email = d.get("email") logger.info("User '%s' updated email to %s." % (request.user.username, request.user.email)) changed = True if d.get("new_ssh_keypair"): keys = utils.generate_key_pair(username) if request.user.public_key: try: utils.update_all_ssh_keys(request.user, keys["public"]) except Exception as e: logger.warn( "User '%s' tried to update ssh keys and got an error: %s" % (username, str(e))) # TODO add failed state pass request.user.public_key = keys["public"] request.user.private_key = keys["private"] logger.info("User '%s' updated ssh keys." % request.user.username) changed = True if d.get("xsede_username") != request.user.xsede_username: request.user.xsede_username = d.get("xsede_username") logger.info("User '%s' updated xsede_username to %s." % (request.user.username, request.user.xsede_username)) changed = True if changed: request.user.save() initial = { "email": request.user.email, "xsede_username": request.user.xsede_username, "public_key": request.user.public_key, } settings_form = SettingsForm(initial=initial) state = "Settings Successfully Saved" c = { "pages": utils.PAGES, "page": "settings", "state": state, "form": settings_form, } return render(request, "account/main_settings.html", c)
def main_settings(request, username): state = "Change Settings" changed = False initial = { "email": request.user.email, "xsede_username": request.user.xsede_username, "public_key": request.user.public_key, } settings_form = SettingsForm(request.POST or None, initial=initial) if settings_form.is_valid(): d = dict(settings_form.cleaned_data) if request.user.email != d.get("email"): request.user.email = d.get("email") logger.info("User '%s' updated email to %s." % (request.user.username, request.user.email)) changed = True if d.get("new_ssh_keypair"): keys = utils.generate_key_pair(username) if request.user.public_key: try: utils.update_all_ssh_keys(request.user, keys["public"]) except Exception as e: logger.warn("User '%s' tried to update ssh keys and got an error: %s" % (username, str(e))) # TODO add failed state pass request.user.public_key = keys["public"] request.user.private_key = keys["private"] logger.info("User '%s' updated ssh keys." % request.user.username) changed = True if d.get("xsede_username") != request.user.xsede_username: request.user.xsede_username = d.get("xsede_username") logger.info("User '%s' updated xsede_username to %s." % (request.user.username, request.user.xsede_username)) changed = True if changed: request.user.save() initial = { "email": request.user.email, "xsede_username": request.user.xsede_username, "public_key": request.user.public_key, } settings_form = SettingsForm(initial=initial) state = "Settings Successfully Saved" c = { "pages": utils.PAGES, "page": "settings", "state": state, "form": settings_form, } return render(request, "account/main_settings.html", c)
def settings(request): user = request.user if request.method == 'POST': form = SettingsForm(request.POST, user=user) if form.is_valid(): user.username = form.cleaned_data['username'] if user.email != form.cleaned_data['email']: user.email = form.cleaned_data['email'] user.email_verification_key = User.generate_email_verification_key( user.email) email_changed(user) user.facebook_id = form.cleaned_data['facebook_id'] if (user.is_profile_public != form.cleaned_data['is_profile_public'] and form.cleaned_data['is_profile_public']): transfer_users_requesting_to_follow_me_to_followers(user) user.is_profile_public = form.cleaned_data['is_profile_public'] user.is_words_created_public = form.cleaned_data[ 'is_words_created_public'] user.is_words_to_learn_public = form.cleaned_data[ 'is_words_to_learn_public'] user.is_words_learned_public = form.cleaned_data[ 'is_words_learned_public'] user.save() messages.success(request, "Settings has been updated.") return HttpResponseRedirect(reverse('account:settings')) else: form = SettingsForm(user=user, initial={ 'username': user.username, 'email': user.email, 'facebook_id': user.facebook_id, 'is_profile_public': user.is_profile_public, 'is_words_created_public': user.is_words_created_public, 'is_words_to_learn_public': user.is_words_to_learn_public, 'is_words_learned_public': user.is_words_learned_public }) return render(request, "account/settings.html", { 'form': form, 'user': request.user })
def test_form_domains_valid(self): request = MockRequest(self.user) form = SettingsForm(request) for domain in form.fields["prefered_domain"].queryset: if domain.owner != self.user and domain.owner is not None: self.fail("Domain shouldn't be available")
def settings(request): user = request.user form = None if request.method == 'POST': form = SettingsForm(request.POST) if form.is_valid(): data = form.data user.first_name = data['first_name'] user.last_name = data['last_name'] if data['password']: user.set_password(data['password']) user.save() notify_count = Notification.objects.filter(owner__user=user, viewed=False).count() return render(request, 'account/settings.html', { 'settings': user, 'form': form, 'notify_count': notify_count })
def settings(request): #user_id = request.user.id #inst = User_info.objects.get(user_id_id=user_id) form = SettingsForm() #instance = get_object_or_404(User_info, id=id) if request.method == 'POST': form = SettingsForm(request.POST, instance=request.user) if form.is_valid(): form.save() #return HttpResponseRedirect("/accounts/add_interest/") #userinfo_o = User_info(username=request.user,) #userinfo_o.save() #else: # form = EditProfileForm() else: form = SettingsForm(instance=request.user) return render(request, "settings.html", { 'form': form, })
def test_form_good_data(self): request = utils.MockRequest(self.user) params = {"images": "1"} form = SettingsForm(request, data=params) self.assertTrue(form.is_valid()) form.save() self.assertFalse(form.profile.flags.ask_images) self.assertTrue(form.profile.flags.display_images) self.assertFalse(form.profile.flags.prefer_html_email) params = {"images": "2"} form = SettingsForm(request, data=params) self.assertTrue(form.is_valid()) form.save() self.assertFalse(form.profile.flags.ask_images) self.assertFalse(form.profile.flags.display_images) self.assertFalse(form.profile.flags.prefer_html_email) params = {"images": "0"} form = SettingsForm(request, data=params) self.assertTrue(form.is_valid()) form.save() self.assertTrue(form.profile.flags.ask_images) self.assertFalse(form.profile.flags.prefer_html_email) params = {"prefer_html": "on", "images": "0"} form = SettingsForm(request, data=params) self.assertTrue(form.is_valid(), form.errors) form.save() self.assertTrue(form.profile.flags.prefer_html_email)
def test_form_bad_data(self): params = {"images": "12213"} request = utils.MockRequest(self.user) form = SettingsForm(request, data=params) self.assertFalse(form.is_valid())
def test_valid_settings_form(self): data = { 'sending_email_once_a_day': "True", } form = SettingsForm(data=data) self.assertTrue(form.is_valid())
def test_form_good_data(self): request = MockRequest(self.user) params = {"display_images": "1"} form = SettingsForm(request, data=params) self.assertTrue(form.is_valid(), form.errors) form.save() self.user.inboxenprofile.refresh_from_db() self.assertEqual(self.user.inboxenprofile.display_images, 1) self.assertFalse(self.user.inboxenprofile.prefer_html_email) params = {"display_images": "2"} form = SettingsForm(request, data=params) self.assertTrue(form.is_valid(), form.errors) form.save() self.user.inboxenprofile.refresh_from_db() self.assertEqual(self.user.inboxenprofile.display_images, 2) self.assertFalse(self.user.inboxenprofile.prefer_html_email) params = {"display_images": "0"} form = SettingsForm(request, data=params) self.assertTrue(form.is_valid(), form.errors) form.save() self.user.inboxenprofile.refresh_from_db() self.assertEqual(self.user.inboxenprofile.display_images, 0) self.assertFalse(self.user.inboxenprofile.prefer_html_email) params = {"prefer_html_email": "on", "display_images": "0"} form = SettingsForm(request, data=params) self.assertTrue(form.is_valid(), form.errors) form.save() self.assertEqual(self.user.inboxenprofile.display_images, 0) self.assertTrue(self.user.inboxenprofile.prefer_html_email)
def test_form_bad_data(self): params = {"display_images": "12213"} request = MockRequest(self.user) form = SettingsForm(request, data=params) self.assertFalse(form.is_valid())
name="account_password", pattern_kwargs={}, form=ChangePasswordForm(user=None)), ViewConfig(pattern=r"^account/password/reset/$", template="account/password_reset.html", name="account_password_reset", pattern_kwargs={}, form=PasswordResetForm()), ViewConfig( pattern= r"^account/password/reset/(?P<uidb36>[0-9A-Za-z]+)-(?P<token>.+)/$", template="account/password_reset_token.html", name="account_password_reset_token", pattern_kwargs={ "uidb36": "aaa", "token": "123" }, form=PasswordResetTokenForm()), ViewConfig(pattern=r"^account/settings/$", template="account/settings.html", name="account_settings", pattern_kwargs={}, form=SettingsForm()), ViewConfig(pattern=r"^account/delete/$", template="account/delete.html", name="account_delete", pattern_kwargs={}), ] urlpatterns = [view.url() for view in views] url = url("", include("pinax_theme_tester.configs.dua"))
def test_form_good_data(self): request = MockRequest(self.user) params = {"images": "1"} form = SettingsForm(request, data=params) self.assertTrue(form.is_valid()) form.save() self.assertFalse(form.profile.flags.ask_images) self.assertTrue(form.profile.flags.display_images) self.assertFalse(form.profile.flags.prefer_html_email) params = {"images": "2"} form = SettingsForm(request, data=params) self.assertTrue(form.is_valid()) form.save() self.assertFalse(form.profile.flags.ask_images) self.assertFalse(form.profile.flags.display_images) self.assertFalse(form.profile.flags.prefer_html_email) params = {"images": "0"} form = SettingsForm(request, data=params) self.assertTrue(form.is_valid()) form.save() self.assertTrue(form.profile.flags.ask_images) self.assertFalse(form.profile.flags.prefer_html_email) params = {"prefer_html": "on", "images": "0"} form = SettingsForm(request, data=params) self.assertTrue(form.is_valid(), form.errors) form.save() self.assertTrue(form.profile.flags.prefer_html_email)