def generator(): is_admin = is_contest_admin(request) messages = visible_messages(request) visible_ids = messages.values_list('id', flat=True) if is_admin: messages = unanswered_questions(messages) else: messages = new_messages(request, messages) count = messages.count() if count: text = ungettext('%(count)d NEW MESSAGE', '%(count)d NEW MESSAGES', count) % {'count': count} if count == 1: m = messages.get() link = reverse('message', kwargs={ 'contest_id': request.contest.id, 'message_id': m.top_reference_id if m.top_reference_id in visible_ids else m.id }) else: link = reverse('contest_messages', kwargs={'contest_id': request.contest.id}) return make_navbar_badge(link, text) else: return ''
def generator(): is_admin = request.user.has_perm('contests.contest_admin', request.contest) messages = visible_messages(request) if is_admin: messages = messages.filter(message__isnull=True, top_reference__isnull=True, kind='QUESTION') else: messages = new_messages(request, messages) count = messages.count() if count: text = ungettext('%(count)d NEW MESSAGE', '%(count)d NEW MESSAGES', count) % {'count': count} if count == 1: message = messages.get() link = reverse('message', kwargs={ 'contest_id': request.contest.id, 'message_id': message.top_reference_id or message.id }) else: link = reverse('contest_messages', kwargs={'contest_id': request.contest.id}) return make_navbar_badge(link, text) else: return ''
def generator(): dangling_pis = ProblemInstance.objects.filter( contest=request.contest, round__isnull=True, ) count = dangling_pis.count() if not count: return '' elif count == 1: pi = dangling_pis.get() link = reverse( 'oioioiadmin:contests_probleminstance_change', args=(pi.id, ), ) if request.path == link: return '' else: link = reverse('oioioiadmin:contests_probleminstance_changelist') text = ungettext( '%(count)d PROBLEM WITHOUT ROUND', '%(count)d PROBLEMS WITHOUT ROUNDS', count, ) text = text % {'count': count} return make_navbar_badge(link, text)
def generator(): is_admin = is_contest_admin(request) messages = visible_messages(request) visible_ids = messages.values_list('id', flat=True) if is_admin: messages = unanswered_questions(messages) else: messages = new_messages(request, messages) count = messages.count() if count: text = ungettext('%(count)d NEW MESSAGE', '%(count)d NEW MESSAGES', count) % { 'count': count } if count == 1: m = messages.get() link = reverse('message', kwargs={ 'contest_id': request.contest.id, 'message_id': m.top_reference_id if m.top_reference_id in visible_ids else m.id }) else: link = reverse('contest_messages', kwargs={'contest_id': request.contest.id}) return make_navbar_badge(link, text) else: return ''
def generator(): pis = ProblemInstance.objects.filter(contest=request.contest, needs_rejudge=True) count = pis.count() if not count: return '' else: link = reverse('oioioiadmin:contests_probleminstance_changelist') text = ungettext("%(count)d PROBLEM NEEDS REJUDGING", "%(count)d PROBLEMS NEED REJUDGING", count) % {'count': count} return make_navbar_badge(link, text)
def generator(): pis = ProblemInstance.objects.filter(contest=request.contest, needs_rejudge=True) count = pis.count() if not count: return '' else: link = reverse('oioioiadmin:contests_probleminstance_changelist') text = ungettext("%(count)d PROBLEM NEEDS REJUDGING", "%(count)d PROBLEMS NEED REJUDGING", count) % { 'count': count } return make_navbar_badge(link, text)
def generator(): dangling_pis = ProblemInstance.objects.filter(contest=request.contest, round__isnull=True) count = dangling_pis.count() if not count: return '' elif count == 1: pi = dangling_pis.get() link = reverse('oioioiadmin:contests_probleminstance_change', args=(pi.id,)) if request.path == link: return '' else: link = reverse('oioioiadmin:contests_probleminstance_changelist') text = ungettext('%(count)d PROBLEM WITHOUT ROUND', '%(count)d PROBLEMS WITHOUT ROUNDS', count) % {'count': count} return make_navbar_badge(link, text)
def generator(): return make_navbar_badge(**navbar_messages_generator(request))