Example #1
0
    def test_extra_email_map(self):
        usr = UserModel().create_or_update(username=u'test_user',
                                           password=u'qweqwe',
                                     email=u'*****@*****.**',
                                     firstname=u'u1', lastname=u'u1')
        Session().commit()

        m = UserEmailMap()
        m.email = u'*****@*****.**'
        m.user = usr
        Session().add(m)
        Session().commit()

        u = User.get_by_email(email='*****@*****.**')
        self.assertEqual(usr.user_id, u.user_id)
        self.assertEqual(usr.username, u.username)

        u = User.get_by_email(email='*****@*****.**')
        self.assertEqual(usr.user_id, u.user_id)
        self.assertEqual(usr.username, u.username)
        u = User.get_by_email(email='*****@*****.**')
        self.assertEqual(None, u)

        UserModel().delete(usr.user_id)
        Session().commit()
Example #2
0
    def test_extra_email_map(self):
        usr = UserModel().create_or_update(username=u'test_user',
                                           password=u'qweqwe',
                                     email=u'*****@*****.**',
                                     firstname=u'u1', lastname=u'u1')
        Session().commit()

        m = UserEmailMap()
        m.email = u'*****@*****.**'
        m.user = usr
        Session().add(m)
        Session().commit()

        u = User.get_by_email(email='*****@*****.**')
        assert usr.user_id == u.user_id
        assert usr.username == u.username

        u = User.get_by_email(email='*****@*****.**')
        assert usr.user_id == u.user_id
        assert usr.username == u.username

        u = User.get_by_email(email='*****@*****.**')
        assert usr.user_id == u.user_id
        assert usr.username == u.username
        u = User.get_by_email(email='*****@*****.**')
        assert None == u

        u = User.get_by_email(email='*****@*****.**')
        assert None == u
        u = User.get_by_email(email='*****@*****.**')
        assert None == u


        UserModel().delete(usr.user_id)
        Session().commit()
Example #3
0
    def test_my_account_my_emails_add_remove(self):
        self.log_user()
        response = self.app.get(url('my_account_emails'))
        response.mustcontain('No additional emails specified')

        response = self.app.post(url('my_account_emails'),
                                 {'new_email': '*****@*****.**'})

        response = self.app.get(url('my_account_emails'))

        from kallithea.model.db import UserEmailMap
        email_id = UserEmailMap.query()\
            .filter(UserEmailMap.user == User.get_by_username(TEST_USER_ADMIN_LOGIN))\
            .filter(UserEmailMap.email == '*****@*****.**').one().email_id

        response.mustcontain('*****@*****.**')
        response.mustcontain(
            '<input id="del_email_id" name="del_email_id" type="hidden" value="%s" />'
            % email_id)

        response = self.app.post(url('my_account_emails'), {
            'del_email_id': email_id,
            '_method': 'delete'
        })
        self.checkSessionFlash(response, 'Removed email from user')
        response = self.app.get(url('my_account_emails'))
        response.mustcontain('No additional emails specified')
Example #4
0
    def test_additional_email_as_main(self):
        usr = UserModel().create_or_update(username=u'test_user',
                                           password=u'qweqwe',
                                     email=u'*****@*****.**',
                                     firstname=u'u1', lastname=u'u1')
        Session().commit()

        with pytest.raises(AttributeError):
            m = UserEmailMap()
            m.email = u'*****@*****.**'
            m.user = usr
            Session().add(m)
            Session().commit()

        UserModel().delete(usr.user_id)
        Session().commit()
Example #5
0
    def my_account_emails(self):
        c.active = 'emails'
        self.__load_data()

        c.user_email_map = UserEmailMap.query()\
            .filter(UserEmailMap.user == c.user).all()
        return render('admin/my_account/my_account.html')
Example #6
0
    def my_account_emails(self):
        c.active = 'emails'
        self.__load_data()

        c.user_email_map = UserEmailMap.query() \
            .filter(UserEmailMap.user == c.user).all()
        return render('admin/my_account/my_account.html')
Example #7
0
    def add_extra_email(self, user, email):
        """
        Adds email address to UserEmailMap

        :param user:
        :param email:
        """
        from kallithea.model import forms
        form = forms.UserExtraEmailForm()()
        data = form.to_python(dict(email=email))
        user = User.guess_instance(user)

        obj = UserEmailMap()
        obj.user = user
        obj.email = data['email']
        Session().add(obj)
        return obj
Example #8
0
    def add_extra_email(self, user, email):
        """
        Adds email address to UserEmailMap

        :param user:
        :param email:
        """
        from kallithea.model import forms
        form = forms.UserExtraEmailForm()()
        data = form.to_python(dict(email=email))
        user = self._get_user(user)

        obj = UserEmailMap()
        obj.user = user
        obj.email = data['email']
        self.sa.add(obj)
        return obj
Example #9
0
    def delete_extra_email(self, user, email_id):
        """
        Removes email address from UserEmailMap

        :param user:
        :param email_id:
        """
        user = User.guess_instance(user)
        obj = UserEmailMap.query().get(email_id)
        if obj is not None:
            Session().delete(obj)
Example #10
0
    def delete_extra_email(self, user, email_id):
        """
        Removes email address from UserEmailMap

        :param user:
        :param email_id:
        """
        user = User.guess_instance(user)
        obj = UserEmailMap.query().get(email_id)
        if obj is not None:
            Session().delete(obj)
Example #11
0
    def delete_extra_email(self, user, email_id):
        """
        Removes email address from UserEmailMap

        :param user:
        :param email_id:
        """
        user = self._get_user(user)
        obj = UserEmailMap.query().get(email_id)
        if obj:
            self.sa.delete(obj)
Example #12
0
    def edit_emails(self, id):
        c.user = self._get_user_or_raise_if_default(id)
        c.active = 'emails'
        c.user_email_map = UserEmailMap.query() \
            .filter(UserEmailMap.user == c.user).all()

        defaults = c.user.get_dict()
        return htmlfill.render(
            render('admin/users/user_edit.html'),
            defaults=defaults,
            encoding="UTF-8",
            force_defaults=False)
Example #13
0
    def edit_emails(self, id):
        c.user = self._get_user_or_raise_if_default(id)
        c.active = 'emails'
        c.user_email_map = UserEmailMap.query() \
            .filter(UserEmailMap.user == c.user).all()

        defaults = c.user.get_dict()
        return htmlfill.render(
            render('admin/users/user_edit.html'),
            defaults=defaults,
            encoding="UTF-8",
            force_defaults=False)
Example #14
0
    def edit_emails(self, id):
        c.user = User.get_or_404(id)
        if c.user.username == User.DEFAULT_USER:
            h.flash(_("You can't edit this user"), category='warning')
            return redirect(url('users'))

        c.active = 'emails'
        c.user_email_map = UserEmailMap.query()\
            .filter(UserEmailMap.user == c.user).all()

        defaults = c.user.get_dict()
        return htmlfill.render(render('admin/users/user_edit.html'),
                               defaults=defaults,
                               encoding="UTF-8",
                               force_defaults=False)
Example #15
0
    def edit_emails(self, id):
        c.user = User.get_or_404(id)
        if c.user.username == User.DEFAULT_USER:
            h.flash(_("You can't edit this user"), category='warning')
            return redirect(url('users'))

        c.active = 'emails'
        c.user_email_map = UserEmailMap.query()\
            .filter(UserEmailMap.user == c.user).all()

        defaults = c.user.get_dict()
        return htmlfill.render(
            render('admin/users/user_edit.html'),
            defaults=defaults,
            encoding="UTF-8",
            force_defaults=False)
    def test_my_account_my_emails_add_remove(self):
        self.log_user()
        response = self.app.get(url('my_account_emails'))
        response.mustcontain('No additional emails specified')

        response = self.app.post(url('my_account_emails'),
                                 {'new_email': '*****@*****.**', '_authentication_token': self.authentication_token()})

        response = self.app.get(url('my_account_emails'))

        from kallithea.model.db import UserEmailMap
        email_id = UserEmailMap.query() \
            .filter(UserEmailMap.user == User.get_by_username(TEST_USER_ADMIN_LOGIN)) \
            .filter(UserEmailMap.email == '*****@*****.**').one().email_id

        response.mustcontain('*****@*****.**')
        response.mustcontain('<input id="del_email_id" name="del_email_id" type="hidden" value="%s" />' % email_id)

        response = self.app.post(url('my_account_emails_delete'),
                                 {'del_email_id': email_id, '_authentication_token': self.authentication_token()})
        self.checkSessionFlash(response, 'Removed email from user')
        response = self.app.get(url('my_account_emails'))
        response.mustcontain('No additional emails specified')
Example #17
0
 def do():
     m = UserEmailMap()
     m.email = u'*****@*****.**'
     m.user = usr
     Session().add(m)
     Session().commit()