def wrapper(request, instance_url_name, *args, **kwargs): instance = get_instance_or_404(url_name=instance_url_name) # Include the instance as both a request property and as an # view function argument for flexibility and to keep "template # only" requests simple. request.instance = instance request.instance_supports_ecobenefits = instance.has_itree_region() user = request.user if user.is_authenticated(): instance_user = user.get_instance_user(instance) request.instance_user = instance_user if instance.is_accessible_by(request.user): add_visited_instance(request, instance) return view_fn(request, instance, *args, **kwargs) else: if redirect: if request.user.is_authenticated(): return HttpResponseRedirect( reverse('instance_not_available')) else: return login_redirect(request) else: return HttpResponse('Unauthorized', status=401)
def user(request, username): user = get_object_or_404(User, username=username) instance_id = request.GET.get("instance_id", None) instance = get_instance_or_404(pk=instance_id) if instance_id else None query_vars = {"instance_id": instance_id} if instance_id else {} audit_dict = _get_audits(request.user, instance, query_vars, user, ["Plot", "Tree"], 0) reputation = user.get_reputation(instance) if instance else None public_fields = [(trans("First Name"), "user.first_name"), (trans("Last Name"), "user.last_name")] private_fields = [(trans("Email"), "user.email")] return { "user": user, "reputation": reputation, "instance_id": instance_id, "audits": audit_dict["audits"], "next_page": audit_dict["next_page"], "public_fields": public_fields, "private_fields": private_fields, }
def user_audits(request, username): user = get_object_or_404(User, username=username) instance_id = request.GET.get("instance_id", None) instance = get_instance_or_404(pk=instance_id) if instance_id else None (page, page_size, models, model_id, exclude_pending) = _get_audits_params(request) return _get_audits( request.user, instance, request.REQUEST, user, models, model_id, page, page_size, exclude_pending )
def dispatch(self, request, instance_url_name=None, *args, **kwargs): if instance_url_name: request.instance = get_instance_or_404(url_name=instance_url_name) return super(RegistrationView, self).dispatch( request, *args, **kwargs)
def dispatch(self, request, instance_url_name=None, *args, **kwargs): if instance_url_name: self.request.instance = get_instance_or_404( url_name=instance_url_name) return super(RegistrationView, self).dispatch(self.request, *args, **kwargs)
def instance_user_view(request, instance_url_name, username): instance = get_instance_or_404(url_name=instance_url_name) url = reverse("user", kwargs={"username": username}) + "?instance_id=%s" % instance.pk return HttpResponseRedirect(url)