Esempio n. 1
0
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})
Esempio n. 2
0
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)
Esempio n. 3
0
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)
Esempio n. 4
0
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
    })
Esempio n. 5
0
    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")
Esempio n. 6
0
 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
     })
Esempio n. 7
0
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,
    })
Esempio n. 8
0
    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)
Esempio n. 9
0
    def test_form_bad_data(self):
        params = {"images": "12213"}
        request = utils.MockRequest(self.user)
        form = SettingsForm(request, data=params)

        self.assertFalse(form.is_valid())
Esempio n. 10
0
 def test_valid_settings_form(self):
     data = {
         'sending_email_once_a_day': "True",
     }
     form = SettingsForm(data=data)
     self.assertTrue(form.is_valid())
Esempio n. 11
0
    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)
Esempio n. 12
0
    def test_form_bad_data(self):
        params = {"display_images": "12213"}
        request = MockRequest(self.user)
        form = SettingsForm(request, data=params)

        self.assertFalse(form.is_valid())
Esempio n. 13
0
               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"))
Esempio n. 14
0
    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)