Esempio n. 1
0
    def get_unpaid_usage(self, service: Service) -> ServiceUsage:
        LOG.debug(
            'Openstack get unsettled usage called for service {0}:{1}'.format(
                service.id, service))

        unpaid_usage = ServiceUsage(total_cost=Decimal(0))

        unpaid_billing_history = ServiceDynamicUsageHistory.objects.exclude(
            state=ClientBillingStates.settled)
        unpaid_billing_history = self.filter_service_usage_history(
            unpaid_billing_history, service)

        for billing_history in unpaid_billing_history.all(
        ):  # type: ServiceDynamicUsageHistory
            unpaid_usage.total_cost += billing_history.price

        try:
            if self.reseller_usage:
                if service.reseller_service_dynamic_usage:
                    unpaid_usage.total_cost += service.reseller_service_dynamic_usage.price
            else:
                if service.service_dynamic_usage:
                    unpaid_usage.total_cost += service.service_dynamic_usage.price
        except Exception as e:
            del e  # unused
            return unpaid_usage

        return unpaid_usage
Esempio n. 2
0
    def get_unpaid_usage(self, service: Service) -> ServiceUsage:
        LOG.debug('{} get_unpaid_usage called for service {}:{}'.format(
            self.module_name, service.id, service))

        service_usage = ServiceUsage(total_cost=Decimal('0.00'))
        for reseller_client in filter_queryset_for_client(
                queryset=Client.objects, client=service.client).all():
            for client_service in reseller_client.services.all():
                service_module = module_factory.get_module_instance(
                    service=client_service, reseller_usage=True)
                service_usage = service_usage + service_module.get_unpaid_usage(
                    service=client_service, )

        return service_usage
Esempio n. 3
0
    def get_unsettled_usage(self, service: Service,
                            end_datetime: datetime) -> ServiceUsage:
        LOG.debug('Openstack get unsettled usage')

        unsettled_usage = ServiceUsage(total_cost=Decimal(0))
        billing_history_query = ServiceDynamicUsageHistory.objects.filter(
            state=ClientBillingStates.unsettled,
            end_date__lte=end_datetime,
        )
        billing_history_query = self.filter_service_usage_history(
            billing_history_query, service)

        for billing_history in billing_history_query.all(
        ):  # type: ServiceDynamicUsageHistory
            unsettled_usage.total_cost += billing_history.price
            billing_history.state = ClientBillingStates.invoiced
            billing_history.save()

        return unsettled_usage
Esempio n. 4
0
 def get_unpaid_usage(self, service) -> ServiceUsage:
     LOG.debug(
         'TODO module get unpaid usage called for service {}:{}'.format(
             service.id, service))
     return ServiceUsage(Decimal(0))
Esempio n. 5
0
 def get_unsettled_usage(self, service: Service,
                         end_datetime: datetime) -> ServiceUsage:
     LOG.debug(
         'TODO module get unsettled usage called for service {}:{}'.format(
             service.id, service))
     return ServiceUsage(Decimal(0))
Esempio n. 6
0
 def get_unpaid_usage(self, service: Service) -> ServiceUsage:
     return ServiceUsage(Decimal(0))
Esempio n. 7
0
 def get_unsettled_usage(self, service: Service,
                         end_datetime: datetime) -> ServiceUsage:
     return ServiceUsage(Decimal(0))