Esempio n. 1
0
 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 ''
Esempio n. 2
0
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'}
Esempio n. 3
0
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'}
Esempio n. 4
0
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'}