def get_form(self, request, obj=None, **kwargs): form = super(ReplyTemplateAdmin, self).get_form(request, obj, **kwargs) if 'contest' in form.base_fields: if not is_superuser(request): qs = Contest.objects.filter(pk=request.contest.pk) form.base_fields['contest']._set_queryset(qs) form.base_fields['contest'].required = True form.base_fields['contest'].empty_label = None form.base_fields['contest'].initial = request.contest return form
def get_status(request): """Returns dict composed by ``status_registry`` functions.""" response = {"is_superuser": is_superuser(request), "user": request.user.username, "sync_time": 300000} # in ms if getattr(request, "contest", None) is not None: response["contest_id"] = request.contest.id response["status_url"] = reverse("get_contest_status", kwargs={"contest_id": request.contest.id}) else: response["status_url"] = reverse("get_status") # FIXME: Django doesn't load all 'views.py' in some cases, which may cause # FIXME: status_registry being not yet populated for fun in status_registry: response = fun(request, response) return response
def get_status(request): """Returns dict composed by ``status_registry`` functions.""" response = { 'is_superuser': is_superuser(request), 'user': request.user.username, 'sync_time': 300000, # in ms 'status_url': reverse('get_status'), } if getattr(request, 'contest', None) is not None: response['contest_id'] = request.contest.id # FIXME: Django doesn't load all 'views.py' in some cases, which may cause # FIXME: status_registry being not yet populated for fun in status_registry: response = fun(request, response) return response
def queryset(self, request): queryset = super(ReplyTemplateAdmin, self).queryset(request) if not is_superuser(request): queryset = queryset.filter(contest=request.contest) return queryset
def has_change_permission(self, request, obj=None): if obj: return is_superuser(request) or \ (is_contest_admin(request) and obj.contest == request.contest) return self.has_add_permission(request)
def get_list_filter(self, request): if is_superuser(request): return ['contest'] return []
def get_list_display(self, request): if is_superuser(request): return ['visible_name', 'content', 'contest', 'usage_count'] return ['visible_name', 'content', 'usage_count']
def is_real_superuser(request): if hasattr(request, 'real_user'): return request.real_user.is_superuser else: return is_superuser(request)
def get_queryset(self, request): queryset = super(ReplyTemplateAdmin, self).get_queryset(request) if not is_superuser(request): queryset = queryset.filter(contest=request.contest) return queryset