def sms_billables(self): selected_billables = SmsBillable.objects.filter( date_sent__gte=DateSentFilter.get_start_date(self.request), date_sent__lte=DateSentFilter.get_end_date(self.request), ) if DateCreatedFilter.use_filter(self.request): selected_billables = selected_billables.filter( date_created__gte=DateCreatedFilter.get_start_date( self.request), date_created__lte=DateCreatedFilter.get_end_date(self.request), ) show_billables = ShowBillablesFilter.get_value(self.request, self.domain) if show_billables: selected_billables = selected_billables.filter( is_valid=(show_billables == ShowBillablesFilter.VALID), ) domain = DomainFilter.get_value(self.request, self.domain) if domain: selected_billables = selected_billables.filter(domain=domain, ) has_gateway_fee = HasGatewayFeeFilter.get_value( self.request, self.domain) if has_gateway_fee: if has_gateway_fee == HasGatewayFeeFilter.YES: selected_billables = selected_billables.exclude( gateway_fee=None) else: selected_billables = selected_billables.filter( gateway_fee=None) gateway_type = GatewayTypeFilter.get_value(self.request, self.domain) if gateway_type: selected_billables = selected_billables.filter( gateway_fee__criteria__backend_api_id=gateway_type, ) return selected_billables
def shared_pagination_GET_params(self): return DateSentFilter.shared_pagination_GET_params(self.request) + \ DateCreatedFilter.shared_pagination_GET_params(self.request) + [ { 'name': DateCreatedFilter.optional_filter_slug(), 'value': DateCreatedFilter.optional_filter_string_value(self.request) }, { 'name': ShowBillablesFilter.slug, 'value': ShowBillablesFilter.get_value(self.request, self.domain) }, { 'name': NameFilter.slug, 'value': NameFilter.get_value(self.request, self.domain) }, { 'name': DomainFilter.slug, 'value': DomainFilter.get_value(self.request, self.domain) }, { 'name': HasGatewayFeeFilter.slug, 'value': HasGatewayFeeFilter.get_value(self.request, self.domain) }, { 'name': GatewayTypeFilter.slug, 'value': GatewayTypeFilter.get_value(self.request, self.domain) }, ]
def sms_billables(self): selected_billables = SmsBillable.objects.filter( date_sent__gte=DateSentFilter.get_start_date(self.request), date_sent__lte=DateSentFilter.get_end_date(self.request), ) if DateCreatedFilter.use_filter(self.request): selected_billables = selected_billables.filter( date_created__gte=DateCreatedFilter.get_start_date( self.request), date_created__lte=DateCreatedFilter.get_end_date(self.request), ) show_billables = ShowBillablesFilter.get_value( self.request, self.domain) if show_billables: selected_billables = selected_billables.filter( is_valid=(show_billables == ShowBillablesFilter.VALID), ) domain = DomainFilter.get_value(self.request, self.domain) if domain: selected_billables = selected_billables.filter( domain=domain, ) has_gateway_fee = HasGatewayFeeFilter.get_value( self.request, self.domain ) if has_gateway_fee: if has_gateway_fee == HasGatewayFeeFilter.YES: selected_billables = selected_billables.exclude( gateway_fee=None ) else: selected_billables = selected_billables.filter( gateway_fee=None ) return selected_billables
def sms_billables(self): datespan = DateSpan(DateSentFilter.get_start_date(self.request), DateSentFilter.get_end_date(self.request)) selected_billables = SmsBillable.objects.filter( date_sent__gte=datespan.startdate, date_sent__lt=datespan.enddate_adjusted, ) if DateCreatedFilter.use_filter(self.request): date_span = DateSpan( DateCreatedFilter.get_start_date(self.request), DateCreatedFilter.get_end_date(self.request) ) selected_billables = selected_billables.filter( date_created__gte=date_span.startdate, date_created__lt=date_span.enddate_adjusted, ) show_billables = ShowBillablesFilter.get_value( self.request, self.domain) if show_billables: selected_billables = selected_billables.filter( is_valid=(show_billables == ShowBillablesFilter.VALID), ) account_name = NameFilter.get_value(self.request, self.domain) if account_name: account = BillingAccount.objects.filter(name=account_name).first() domains = Subscription.visible_objects.filter( account=account ).values_list('subscriber__domain', flat=True).distinct() domains = set(domains).union([account.created_by_domain]) selected_billables = selected_billables.filter( domain__in=domains ) domain = DomainFilter.get_value(self.request, self.domain) if domain: selected_billables = selected_billables.filter( domain=domain, ) has_gateway_fee = HasGatewayFeeFilter.get_value( self.request, self.domain ) if has_gateway_fee: if has_gateway_fee == HasGatewayFeeFilter.YES: selected_billables = selected_billables.exclude( gateway_fee=None ) else: selected_billables = selected_billables.filter( gateway_fee=None ) gateway_type = GatewayTypeFilter.get_value(self.request, self.domain) if gateway_type: selected_billables = selected_billables.filter( gateway_fee__criteria__backend_api_id=gateway_type, ) return selected_billables
def shared_pagination_GET_params(self): return DateSentFilter.shared_pagination_GET_params(self.request) + \ DateCreatedFilter.shared_pagination_GET_params(self.request) + [ { 'name': DateCreatedFilter.optional_filter_slug(), 'value': DateCreatedFilter.optional_filter_string_value(self.request) }, { 'name': ShowBillablesFilter.slug, 'value': ShowBillablesFilter.get_value(self.request, self.domain)}, { 'name': DomainFilter.slug, 'value': DomainFilter.get_value(self.request, self.domain) }, ]
def sms_billables(self): selected_billables = SmsBillable.objects.filter( date_sent__gte=DateSentFilter.get_start_date(self.request), date_sent__lte=DateSentFilter.get_end_date(self.request), ) if DateCreatedFilter.use_filter(self.request): selected_billables = selected_billables.filter( date_created__gte=DateCreatedFilter.get_start_date( self.request), date_created__lte=DateCreatedFilter.get_end_date(self.request), ) show_billables = ShowBillablesFilter.get_value(self.request, self.domain) if show_billables: selected_billables = selected_billables.filter( is_valid=(show_billables == ShowBillablesFilter.VALID), ) domain = DomainFilter.get_value(self.request, self.domain) if domain: selected_billables = selected_billables.filter(domain=domain, ) return selected_billables
def sms_billables(self): datespan = DateSpan(DateSentFilter.get_start_date(self.request), DateSentFilter.get_end_date(self.request)) selected_billables = SmsBillable.get_billables_sent_between(datespan) if DateCreatedFilter.use_filter(self.request): date_span = DateSpan( DateCreatedFilter.get_start_date(self.request), DateCreatedFilter.get_end_date(self.request)) selected_billables = SmsBillable.filter_selected_billables_by_date( selected_billables, date_span) show_billables = ShowBillablesFilter.get_value(self.request, self.domain) if show_billables: selected_billables = SmsBillable.filter_selected_billables_show_billables( selected_billables, show_billables, ) account_name = NameFilter.get_value(self.request, self.domain) if account_name: selected_billables = SmsBillable.filter_selected_billables_by_account( selected_billables, account_name) domain = DomainFilter.get_value(self.request, self.domain) if domain: selected_billables = selected_billables.filter(domain=domain, ) has_gateway_fee = HasGatewayFeeFilter.get_value( self.request, self.domain) if has_gateway_fee: if has_gateway_fee == HasGatewayFeeFilter.YES: selected_billables = selected_billables.exclude( gateway_fee=None) else: selected_billables = selected_billables.filter( gateway_fee=None) gateway_type = GatewayTypeFilter.get_value(self.request, self.domain) if gateway_type: selected_billables = selected_billables.filter( gateway_fee__criteria__backend_api_id=gateway_type, ) return selected_billables
def sms_billables(self): selected_billables = SmsBillable.objects.filter( date_sent__gte=DateSentFilter.get_start_date(self.request), date_sent__lte=DateSentFilter.get_end_date(self.request), ) if DateCreatedFilter.use_filter(self.request): selected_billables = selected_billables.filter( date_created__gte=DateCreatedFilter.get_start_date( self.request), date_created__lte=DateCreatedFilter.get_end_date(self.request), ) show_billables = ShowBillablesFilter.get_value( self.request, self.domain) if show_billables: selected_billables = selected_billables.filter( is_valid=(show_billables == ShowBillablesFilter.VALID), ) domain = DomainFilter.get_value(self.request, self.domain) if domain: selected_billables = selected_billables.filter( domain=domain, ) return selected_billables