Exemple #1
0
    def index(self, account=None):

        if account is None and self.account.is_authenticated:
            return self.redirect(
                url('accounts:achievements:', account=self.account.id))

        self.master_account = account

        account_achievements = None
        last_achievements = []
        if account:
            account_achievements = AccountAchievementsPrototype.get_by_account_id(
                account.id)
            last_achievements = account_achievements.last_achievements(
                number=achievements_settings.LAST_ACHIEVEMENTS_NUMBER)

        groups_table = split_into_table(self.groups, 3)

        return self.template(
            'achievements/index.html', {
                'account_achievements':
                account_achievements,
                'groups_table':
                groups_table,
                'groups_statistics':
                achievements_storage.get_groups_statistics(
                    account_achievements),
                'last_achievements':
                last_achievements
            })
Exemple #2
0
    def show_group(self, account=None):
        if account is None and self.account.is_authenticated:
            return self.redirect(
                url('accounts:achievements:group',
                    self.group.slug,
                    account=self.account.id))

        self.master_account = account

        account_achievements = None
        if account:
            account_achievements = AccountAchievementsPrototype.get_by_account_id(
                account.id)
            achievements = sorted(achievements_storage.by_group(
                self.group, only_approved=not self.can_edit_achievements),
                                  key=account_achievements.sort_key_for)
        else:
            achievements = sorted(achievements_storage.by_group(
                self.group, only_approved=not self.can_edit_achievements),
                                  key=lambda achievement: achievement.order)

        return self.template(
            'achievements/group.html', {
                'account_achievements':
                account_achievements,
                'groups_statistics':
                achievements_storage.get_groups_statistics(
                    account_achievements),
                'achievements':
                achievements
            })
Exemple #3
0
    def index(self, account=None):

        if account is None and self.account.is_authenticated():
            return self.redirect(url('accounts:achievements:', account=self.account.id))

        self.master_account = account

        account_achievements = None
        last_achievements = []
        if account:
            account_achievements = AccountAchievementsPrototype.get_by_account_id(account.id)
            last_achievements = account_achievements.last_achievements(number=achievements_settings.LAST_ACHIEVEMENTS_NUMBER)

        groups_table = split_into_table(self.groups, 3)

        return self.template('achievements/index.html',
                             {'account_achievements': account_achievements,
                              'groups_table': groups_table,
                              'groups_statistics': achievements_storage.get_groups_statistics(account_achievements),
                              'last_achievements': last_achievements})
Exemple #4
0
    def show_group(self, account=None):
        if account is None and self.account.is_authenticated:
            return self.redirect(url('accounts:achievements:group', self.group.slug, account=self.account.id))

        self.master_account = account

        account_achievements = None
        if account:
            account_achievements = AccountAchievementsPrototype.get_by_account_id(account.id)
            achievements = sorted(achievements_storage.by_group(self.group, only_approved=not self.can_edit_achievements),
                                  key=account_achievements.sort_key_for)
        else:
            achievements = sorted(achievements_storage.by_group(self.group, only_approved=not self.can_edit_achievements),
                                  key=lambda achievement: achievement.order)


        return self.template('achievements/group.html',
                             {'account_achievements': account_achievements,
                              'groups_statistics': achievements_storage.get_groups_statistics(account_achievements),
                              'achievements': achievements})