def wrapped(request, *args, **kwargs): try: if (hasattr(request, 'subscription') and request.subscription is not None and request.subscription.is_trial and request.subscription.date_end is not None ): edition_req = DefaultProductPlan.get_lowest_edition_by_domain( request.domain, [slug] ) plan_name = request.subscription.plan_version.user_facing_description['name'] feature_name = privileges.Titles.get_name_from_privilege(slug) request.show_trial_notice = True request.trial_info = { 'current_plan': plan_name, 'feature_name': feature_name, 'required_plan': edition_req, 'date_end': request.subscription.date_end.strftime(USER_DATE_FORMAT) } request.is_billing_admin = (hasattr(request, 'couch_user') and BillingAccountAdmin.get_admin_status_and_account( request.couch_user, request.domain )[0]) return requires_privilege(slug, **assignment)(fn)( request, *args, **kwargs ) except PermissionDenied: request.show_trial_notice = False from corehq.apps.domain.views import SubscriptionUpgradeRequiredView return SubscriptionUpgradeRequiredView().get( request, request.domain, slug )
def wrapped(request, *args, **kwargs): try: return requires_privilege(slug, **assignment)(fn)(request, *args, **kwargs) except PermissionDenied: return HttpResponse( "You have lost access to this feature.", status=http_status_code or 412, content_type="text/plain" )
def wrapped(request, *args, **kwargs): try: return requires_privilege(slug, **assignment)(fn)(request, *args, **kwargs) except PermissionDenied: error_message = "You have lost access to this feature." response = get_response(error_message, http_status_code) return HttpResponse(json.dumps(response), content_type="application/json")
def wrapped(request, *args, **kwargs): try: if (hasattr(request, 'subscription') and request.subscription is not None and request.subscription.is_trial and request.subscription.date_end is not None): edition_req = DefaultProductPlan.get_lowest_edition([slug]) plan_name = request.subscription.plan_version.user_facing_description[ 'name'] feature_name = privileges.Titles.get_name_from_privilege( slug) request.show_trial_notice = True request.trial_info = { 'current_plan': plan_name, 'feature_name': feature_name, 'required_plan': edition_req, 'date_end': request.subscription.date_end.strftime( USER_DATE_FORMAT) } request.is_domain_admin = ( hasattr(request, 'couch_user') and request.couch_user.is_domain_admin(request.domain)) return requires_privilege(slug, **assignment)(fn)(request, *args, **kwargs) except PermissionDenied: request.show_trial_notice = False from corehq.apps.domain.views import SubscriptionUpgradeRequiredView return SubscriptionUpgradeRequiredView().get( request, request.domain, slug)
class LanguageProfilesView(View): urlname = 'build_profiles' @method_decorator(require_can_edit_apps) @method_decorator(requires_privilege(privileges.BUILD_PROFILES)) def dispatch(self, request, *args, **kwargs): return super(LanguageProfilesView, self).dispatch(request, *args, **kwargs) def post(self, request, domain, app_id, *args, **kwargs): profiles = json.loads(request.body).get('profiles') app = get_app(domain, app_id) build_profiles = {} if profiles: if app.is_remote_app() and len(profiles) > 1: # return bad request if they attempt to save more than one profile to a remote app return HttpResponse(status=400) for profile in profiles: id = profile.get('id') if not id: id = uuid.uuid4().hex build_profiles[id] = BuildProfile(langs=profile['langs'], name=profile['name']) app.build_profiles = build_profiles app.save() return HttpResponse() def get(self, request, *args, **kwargs): return HttpResponse()
def wrapped(request, *args, **kwargs): try: return requires_privilege(slug, **assignment)(fn)( request, *args, **kwargs) except PermissionDenied: error_message = "You have lost access to this feature." response = get_response(error_message, http_status_code) return HttpResponse(json.dumps(response), content_type="application/json", status=401)
def wrapped(request, *args, **kwargs): try: return requires_privilege(slug, **assignment)(fn)( request, *args, **kwargs ) except PermissionDenied: from corehq.apps.domain.views import SubscriptionUpgradeRequiredView return SubscriptionUpgradeRequiredView().get( request, request.domain, slug )
def wrapped(request, *args, **kwargs): try: return requires_privilege(slug, **assignment)(fn)( request, *args, **kwargs ) except PermissionDenied: return HttpResponse( "You have lost access to this feature.", status=http_status_code or 412, content_type="text/plain", )
class LanguageProfilesView(View): urlname = 'build_profiles' @method_decorator(require_can_edit_apps) @method_decorator(requires_privilege(privileges.BUILD_PROFILES)) def dispatch(self, request, *args, **kwargs): return super(LanguageProfilesView, self).dispatch(request, *args, **kwargs) def post(self, request, domain, app_id, *args, **kwargs): profiles = json.loads(request.body.decode('utf-8')).get('profiles') app = get_app(domain, app_id) build_profiles = {} if profiles: if app.is_remote_app() and len(profiles) > 1: # return bad request if they attempt to save more than one profile to a remote app return HttpResponse(status=400) for profile in profiles: id = profile.get('id') if not id: id = uuid.uuid4().hex def practice_user_id(): if not app.enable_practice_users: return '' try: practice_user_id = profile.get('practice_user_id') if practice_user_id: get_and_assert_practice_user_in_domain( practice_user_id, domain) return practice_user_id except PracticeUserException: return HttpResponse(status=400) build_profiles[id] = BuildProfile( langs=profile['langs'], name=profile['name'], practice_mobile_worker_id=practice_user_id()) app.build_profiles = build_profiles app.save() return HttpResponse() def get(self, request, *args, **kwargs): return HttpResponse()