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
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
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