Example #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_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 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_by_domain(domain.name, using_privileges)
         print ','.join(
             [domain.name] +
             ['X' if is_privilege_being_used[priv] else '' for priv in privileges] +
             [minimum_plan]
         )
Example #3
0
        def wrapped(request, *args, **kwargs):
            try:
                if (hasattr(request, 'subscription')
                        and request.subscription is not None and
                    (request.subscription.is_trial
                     or request.subscription.plan_version.plan.visibility
                     == SoftwarePlanVisibility.TRIAL_INTERNAL)
                        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_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)
Example #4
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_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("%d %B %Y")
                    }
                    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)