def get_context_data(self, **kwargs): context = super(EntityDetailView, self).get_context_data(**kwargs) # Query for all people's relations to the current Entity. entity = kwargs["object"] relations = Relation.objects.filter(entity=entity) context["relations"] = relations context["user_can_promote"] = has_promote_perms(self.request.user, entity) context["user_can_edit"] = has_edit_perms(self.request.user, entity) context["user_can_submit"] = has_submit_perms(self.request.user, entity) return context
def dispatch(self, request, *args, **kwargs): """Disallow users from accessing promote pages when they lack perms.""" entity = get_object_or_404(Entity, id=kwargs["pk"], etype=kwargs["etype"]) if not has_promote_perms(request.user, entity): return self.error_page return super(RelationCreateView, self).dispatch(request, *args, **kwargs)