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 })
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})
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, )))
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,)))