Example #1
0
 def get_default_plan_by_domain(cls, domain, edition=None):
     domain = assure_domain_instance(domain)
     edition = edition or SoftwarePlanEdition.COMMUNITY
     product_type = SoftwareProductType.get_type_by_domain(domain)
     try:
         default_product_plan = DefaultProductPlan.objects.get(product_type=product_type,
                                                               edition=edition)
         return default_product_plan.plan.get_version()
     except DefaultProductPlan.DoesNotExist:
         raise AccountingError("No default product plan was set up, did you forget to bootstrap plans?")
Example #2
0
 def get_subscribed_plan_by_domain(cls, domain):
     """
     Returns SoftwarePlanVersion, Subscription for the given domain.
     """
     domain = assure_domain_instance(domain)
     subscriber = Subscriber.objects.safe_get(domain=domain.name, organization=None)
     plan_version, subscription = (cls._get_plan_by_subscriber(subscriber) if subscriber
                                   else cls.get_subscribed_plan_by_organization(domain.organization))
     if plan_version is None:
         plan_version =  DefaultProductPlan.get_default_plan_by_domain(domain)
     return plan_version, subscription
Example #3
0
 def get_subscribed_plan_by_domain(cls, domain):
     """
     Returns SoftwarePlanVersion, Subscription for the given domain.
     """
     domain_obj = assure_domain_instance(domain)
     if domain_obj is None:
         plan_version = DefaultProductPlan.objects.get(edition=SoftwarePlanEdition.COMMUNITY,
                                                       product_type=SoftwareProductType.COMMCARE).plan.get_version()
         return plan_version, None
     domain = domain_obj
     subscriber = Subscriber.objects.safe_get(domain=domain.name, organization=None)
     plan_version, subscription = (cls._get_plan_by_subscriber(subscriber) if subscriber
                                   else cls.get_subscribed_plan_by_organization(domain.organization))
     if plan_version is None:
         plan_version = DefaultProductPlan.get_default_plan_by_domain(domain)
     return plan_version, subscription
Example #4
0
 def __init__(self, date_start, date_end, domain):
     super(CommunityInvoiceFactory, self).__init__(date_start, date_end)
     self.domain = assure_domain_instance(domain)