示例#1
0
        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)
示例#2
0
        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.accounting import SubscriptionUpgradeRequiredView
                return SubscriptionUpgradeRequiredView().get(
                    request, request.domain, slug
                )
 def handle(self, domain_names, **kwargs):
     privileges = sorted(_privilege_to_response_function().keys())
     print(','.join(['Project Space'] + privileges + ['Lowest Plan']))
     for domain_obj in [d for d in map(Domain.get_by_name, domain_names) if d]:
         is_privilege_being_used = {
             priv: _is_domain_using_privilege(domain_obj, priv)
             for priv in privileges
         }
         using_privileges = [priv for (priv, is_in_use) in is_privilege_being_used.items() if is_in_use]
         minimum_plan = DefaultProductPlan.get_lowest_edition(using_privileges)
         print(','.join(
             [domain_obj.name] +
             ['X' if is_privilege_being_used[priv] else '' for priv in privileges] +
             [minimum_plan]
         ))
 def handle(self, *args, **kwargs):
     domain_names = args
     privileges = sorted(_privilege_to_response_function().keys())
     print(','.join(['Project Space'] + privileges + ['Lowest Plan']))
     for domain in filter(lambda domain: domain, map(Domain.get_by_name, domain_names)):
         is_privilege_being_used = {
             priv: _is_domain_using_privilege(domain, priv)
             for priv in privileges
         }
         using_privileges = [priv for (priv, is_in_use) in is_privilege_being_used.items() if is_in_use]
         minimum_plan = DefaultProductPlan.get_lowest_edition(using_privileges)
         print(','.join(
             [domain.name] +
             ['X' if is_privilege_being_used[priv] else '' for priv in privileges] +
             [minimum_plan]
         ))