def test_actor_not_created_second_time(self): external_actor = create_external_actor(self.place_3) self.assertEqual( Actor.objects.filter(uid=external_actor.uid).count(), 1) record = FakeRecord(type_=RECORD_TYPE.PLACE_CHANGE_RACE, index=0, turn_number=0).create_record() RecordToActorPrototype.create(ACTOR_ROLE.PLACE, record, external_actor) self.assertEqual( Actor.objects.filter(uid=external_actor.uid).count(), 1)
def index(self): if portal_settings.ENABLE_FIRST_TIME_REDIRECT and accounts_logic.is_first_time_visit(self.request): return self.redirect(random.choice(portal_settings.FIRST_TIME_LANDING_URLS)) news = news_logic.load_news_from_query(news_models.News.objects.all().order_by('-created_at')[:portal_settings.NEWS_ON_INDEX]) bills = BillPrototype.get_recently_modified_bills(portal_settings.BILLS_ON_INDEX) account_of_the_day_id = settings.get(portal_settings.SETTINGS_ACCOUNT_OF_THE_DAY_KEY) hero_of_the_day = None account_of_the_day = None clan_of_the_day = None if account_of_the_day_id is not None: hero_of_the_day = heroes_logic.load_hero(account_id=account_of_the_day_id) account_of_the_day = AccountPrototype.get_by_id(account_of_the_day_id) if account_of_the_day.clan_id is not None: clan_of_the_day = ClanPrototype.get_by_id(account_of_the_day.clan_id) forum_threads = ThreadPrototype.get_last_threads(account=self.account if self.account.is_authenticated() else None, limit=portal_settings.FORUM_THREADS_ON_INDEX) blog_posts = [ BlogPostPrototype(blog_post_model) for blog_post_model in BlogPost.objects.filter(state__in=[BLOG_POST_STATE.ACCEPTED, BLOG_POST_STATE.NOT_MODERATED], votes__gte=0).order_by('-created_at')[:portal_settings.BLOG_POSTS_ON_INDEX] ] map_info = map_info_storage.item chronicle_records = ChronicleRecordPrototype.get_last_records(portal_settings.CHRONICLE_RECORDS_ON_INDEX) chronicle_actors = RecordToActorPrototype.get_actors_for_records(chronicle_records) return self.template('portal/index.html', {'news': news, 'forum_threads': forum_threads, 'bills': bills, 'hero_of_the_day': hero_of_the_day, 'account_of_the_day': account_of_the_day, 'clan_of_the_day': clan_of_the_day, 'map_info': map_info, 'blog_posts': blog_posts, 'TERRAIN': TERRAIN, 'MAP_STATISTICS': MAP_STATISTICS, 'chronicle_records': chronicle_records, 'chronicle_actors': chronicle_actors, 'RACE': RACE})
def index(self): if portal_settings.ENABLE_FIRST_TIME_REDIRECT and accounts_logic.is_first_time_visit( self.request): return self.redirect( random.choice(portal_settings.FIRST_TIME_LANDING_URLS)) news = news_logic.load_news_from_query( news_models.News.objects.all().order_by( '-created_at')[:portal_settings.NEWS_ON_INDEX]) bills = BillPrototype.get_recently_modified_bills( portal_settings.BILLS_ON_INDEX) account_of_the_day_id = settings.get( portal_settings.SETTINGS_ACCOUNT_OF_THE_DAY_KEY) hero_of_the_day = None account_of_the_day = None clan_of_the_day = None if account_of_the_day_id is not None: hero_of_the_day = heroes_logic.load_hero( account_id=account_of_the_day_id) account_of_the_day = AccountPrototype.get_by_id( account_of_the_day_id) if account_of_the_day and account_of_the_day.clan_id is not None: clan_of_the_day = ClanPrototype.get_by_id( account_of_the_day.clan_id) forum_threads = ThreadPrototype.get_last_threads( account=self.account if self.account.is_authenticated else None, limit=portal_settings.FORUM_THREADS_ON_INDEX) blog_posts = [ BlogPostPrototype(blog_post_model) for blog_post_model in BlogPost.objects.filter(state__in=[ BLOG_POST_STATE.ACCEPTED, BLOG_POST_STATE.NOT_MODERATED ], votes__gte=0). order_by('-created_at')[:portal_settings.BLOG_POSTS_ON_INDEX] ] map_info = map_info_storage.item chronicle_records = ChronicleRecordPrototype.get_last_records( portal_settings.CHRONICLE_RECORDS_ON_INDEX) chronicle_actors = RecordToActorPrototype.get_actors_for_records( chronicle_records) return self.template( 'portal/index.html', { 'news': news, 'forum_threads': forum_threads, 'bills': bills, 'hero_of_the_day': hero_of_the_day, 'account_of_the_day': account_of_the_day, 'clan_of_the_day': clan_of_the_day, 'map_info': map_info, 'blog_posts': blog_posts, 'TERRAIN': TERRAIN, 'MAP_STATISTICS': MAP_STATISTICS, 'chronicle_records': chronicle_records, 'chronicle_actors': chronicle_actors, 'RACE': RACE })
def chronicle_actors(records): return RecordToActorPrototype.get_actors_for_records(records)
def test_actor_not_created_second_time(self): external_actor = create_external_actor(self.place_3) self.assertEqual(Actor.objects.filter(uid=external_actor.uid).count(), 1) record = FakeRecord(type_=RECORD_TYPE.PLACE_CHANGE_RACE, index=0, turn_number=0).create_record() RecordToActorPrototype.create(ACTOR_ROLE.PLACE, record, external_actor) self.assertEqual(Actor.objects.filter(uid=external_actor.uid).count(), 1)