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 navbar_messages_generator(request): if request.contest is None: return {} is_admin = is_contest_basicadmin(request) vis_messages = visible_messages(request) if is_admin: messages = unanswered_questions(vis_messages) else: messages = new_messages(request, vis_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 vis_messages.filter(id=m.top_reference_id).exists() else m.id }) else: link = reverse('contest_messages', kwargs={'contest_id': request.contest.id}) return {'link': link, 'text': text, 'id': 'contest_new_messages'} else: return {'link': None, 'text': None, 'id': 'contest_new_messages'}
def navbar_messages_generator(request): if request.contest is None: return {} 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 {'link': link, 'text': text, 'id': 'contest_new_messages'} else: return {'link': None, 'text': None, 'id': 'contest_new_messages'}
def navbar_messages_generator(request): if request.contest is None: return {} 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 {'link': link, 'text': text, 'id': 'contest_new_messages'} else: return {'link': None, 'text': None, 'id': 'contest_new_messages'}