Esempio n. 1
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
            })
Esempio n. 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})
Esempio n. 3
0
    def test_by_group(self):
        self.assertEqual(
            set((a.id for a in achievements_storage.by_group(
                ACHIEVEMENT_GROUP.DEATHS, only_approved=False))), set())
        self.assertEqual(
            set((a.id for a in achievements_storage.by_group(
                ACHIEVEMENT_GROUP.DEATHS, only_approved=True))), set())

        self.assertEqual(
            set((a.id for a in achievements_storage.by_group(
                ACHIEVEMENT_GROUP.MONEY, only_approved=False))),
            set((self.achievement_1.id, self.achievement_2.id,
                 self.achievement_3.id, self.achievement_4.id,
                 self.achievement_5.id)))
        self.assertEqual(
            set((a.id for a in achievements_storage.by_group(
                ACHIEVEMENT_GROUP.MONEY, only_approved=True))),
            set((self.achievement_1.id, self.achievement_3.id,
                 self.achievement_4.id, self.achievement_5.id)))

        self.assertEqual(
            set((a.id
                 for a in achievements_storage.by_group(ACHIEVEMENT_GROUP.TIME,
                                                        only_approved=False))),
            set((self.achievement_6.id, )))
        self.assertEqual(
            set((a.id
                 for a in achievements_storage.by_group(ACHIEVEMENT_GROUP.TIME,
                                                        only_approved=True))),
            set((self.achievement_6.id, )))
Esempio n. 4
0
    def test_by_group(self):
        self.assertEqual(set((a.id for a in achievements_storage.by_group(ACHIEVEMENT_GROUP.DEATHS, only_approved=False))), set())
        self.assertEqual(set((a.id for a in achievements_storage.by_group(ACHIEVEMENT_GROUP.DEATHS, only_approved=True))), set())

        self.assertEqual(set((a.id for a in achievements_storage.by_group(ACHIEVEMENT_GROUP.MONEY, only_approved=False))), set((self.achievement_1.id,
                                                                                                                                self.achievement_2.id,
                                                                                                                                self.achievement_3.id,
                                                                                                                                self.achievement_4.id,
                                                                                                                                self.achievement_5.id)))
        self.assertEqual(set((a.id for a in achievements_storage.by_group(ACHIEVEMENT_GROUP.MONEY, only_approved=True))), set((self.achievement_1.id,
                                                                                                                               self.achievement_3.id,
                                                                                                                               self.achievement_4.id,
                                                                                                                               self.achievement_5.id)))

        self.assertEqual(set((a.id for a in achievements_storage.by_group(ACHIEVEMENT_GROUP.TIME, only_approved=False))), set((self.achievement_6.id,)))
        self.assertEqual(set((a.id for a in achievements_storage.by_group(ACHIEVEMENT_GROUP.TIME, only_approved=True))), set((self.achievement_6.id,)))