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
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
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
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))
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))
def get_unpaid_usage(self, service: Service) -> ServiceUsage: return ServiceUsage(Decimal(0))
def get_unsettled_usage(self, service: Service, end_datetime: datetime) -> ServiceUsage: return ServiceUsage(Decimal(0))