Ejemplo n.º 1
0
    def __init__(self, request, *args, **kwargs):
        super(AddContestMessageForm, self).__init__(*args, **kwargs)
        self.fields['topic'].widget.attrs['class'] = 'input-xxlarge'
        self.fields['content'].widget.attrs['class'] = 'input-xxlarge monospace'

        self.request = request

        problem_instances = visible_problem_instances(request)
        categories = [('__general__', _("General"))] + \
                [(pi.id, _("Problem %s") % (pi.problem.name,))
                        for pi in problem_instances]
        self.fields['category'].choices = categories
Ejemplo n.º 2
0
    def __init__(self, request, *args, **kwargs):
        super(AddContestMessageForm, self).__init__(*args, **kwargs)
        self.fields['topic'].widget.attrs['class'] = 'input-xxlarge'
        self.fields['content'].widget.attrs[
            'class'] = 'input-xxlarge monospace'

        self.request = request

        problem_instances = visible_problem_instances(request)
        categories = [('__general__', _("General"))] + \
                [(pi.id, _("Problem %s") % (pi.problem.name,))
                        for pi in problem_instances]
        self.fields['category'].choices = categories
Ejemplo n.º 3
0
def visible_messages(request):
    problem_instances = visible_problem_instances(request)
    problem_ids = [pi.problem_id for pi in problem_instances]
    messages = Message.objects \
            .filter(Q(contest=request.contest.id)
                    | Q(problem_id__in=problem_ids)) \
            .order_by('-date')
    if not request.user.has_perm('contests.contest_admin', request.contest):
        q_expression = Q(kind='PUBLIC')
        if request.user.is_authenticated():
            q_expression = q_expression \
                    | (Q(author=request.user) & Q(kind='QUESTION')) \
                    | Q(top_reference__author=request.user)
        messages = messages.filter(q_expression)
    return messages
Ejemplo n.º 4
0
def visible_messages(request):
    problem_instances = visible_problem_instances(request)
    problem_ids = [pi.problem_id for pi in problem_instances]
    messages = Message.objects \
            .filter(Q(contest=request.contest.id)
                    | Q(problem_id__in=problem_ids)) \
            .order_by('-date')
    if not request.user.has_perm('contests.contest_admin', request.contest):
        q_expression = Q(kind='PUBLIC')
        if request.user.is_authenticated():
            q_expression = q_expression \
                    | (Q(author=request.user) & Q(kind='QUESTION')) \
                    | Q(top_reference__author=request.user)
        messages = messages.filter(q_expression)
    return messages