Example #1
0
    def test_get_count_of_clicks(self):
        assert_equal((0, 0), user.get_click_count_of(None, True))
        assert_equal((0, 0), user.get_click_count_of(self.user, False))
        assert_equal((0, 0), user.get_click_count_of(self.user, True))

        DBDiscussionSession.add(ClickedArgument(1, self.user.uid))
        DBDiscussionSession.add(ClickedStatement(1, self.user.uid))
        assert_equal((1, 1), user.get_click_count_of(self.user, False))
        assert_equal((1, 1), user.get_click_count_of(self.user, True))
        transaction.commit()
Example #2
0
    def prepare_settings_dict(self, pw_change_success, old_pw, new_pw,
                              confirm_pw, pw_change_error, message, db_user,
                              main_page, use_with_ldap):
        """
        Prepares the dictionary for settings.ow

        :param pw_change_success: Boolean
        :param old_pw: String
        :param new_pw: String
        :param confirm_pw: String
        :param pw_change_error: Boolean
        :param message: String
        :param db_user: User
        :param main_page: String
        :param use_with_ldap: Boolean
        :return: dict()
        """
        _tn = Translator(self.system_lang)

        edits = user.get_edit_count_of(db_user, False)
        statements = user.get_statement_count_of(db_user, False)
        arg_vote, stat_vote = user.get_mark_count_of(db_user)
        arg_clicks, stat_clicks = user.get_click_count_of(db_user)
        public_nick = db_user.global_nickname
        db_group = DBDiscussionSession.query(Group).get(db_user.group_uid)
        db_settings = db_user.settings
        db_language = DBDiscussionSession.query(Language).get(
            db_settings.lang_uid)

        group = db_group.name if db_group else '-'
        gravatar_public_url = get_profile_picture(db_user, 80)
        reputation, tmp = get_reputation_of(db_user)

        return {
            'passwordold': '' if pw_change_success else old_pw,
            'password': '' if pw_change_success else new_pw,
            'passwordconfirm': '' if pw_change_success else confirm_pw,
            'pw_change_error': pw_change_error,
            'pw_change_success': pw_change_success,
            'message': message,
            'db_firstname': db_user.firstname,
            'db_surname': db_user.surname,
            'db_nickname': db_user.nickname,
            'db_public_nickname': public_nick,
            'db_mail': db_user.email,
            'has_mail': db_user.email != 'None',
            'can_change_password': not use_with_ldap
            and db_user.oauth_provider is None,
            'db_group': group,
            'avatar_public_url': gravatar_public_url,
            'edits_done': edits,
            'statements_posted': statements,
            'discussion_arg_votes': arg_vote,
            'discussion_stat_votes': stat_vote,
            'discussion_arg_clicks': arg_clicks,
            'discussion_stat_clicks': stat_clicks,
            'send_mails': db_settings.should_send_mails,
            'send_notifications': db_settings.should_send_notifications,
            'public_nick': db_settings.should_show_public_nickname,
            'title_mails': _tn.get(_.mailSettingsTitle),
            'title_notifications': _tn.get(_.notificationSettingsTitle),
            'title_public_nick': _tn.get(_.publicNickTitle),
            'title_preferred_lang': _tn.get(_.preferredLangTitle),
            'public_page_url': main_page + '/user/' + str(db_user.uid),
            'on': _tn.get(_.on),
            'off': _tn.get(_.off),
            'current_lang': db_language.name,
            'current_ui_locales': db_language.ui_locales,
            'reputation': reputation
        }