Update billing data to handle future dates

This commit is contained in:
Ken Tsang
2017-05-02 19:23:57 +01:00
parent 01e3a88d55
commit a1a8397f74
2 changed files with 21 additions and 4 deletions

View File

@@ -21,13 +21,15 @@ def get_yearly_billing_data(service_id, year):
start_date, end_date = get_financial_year(year)
rates = get_rates_for_year(start_date, end_date, SMS_TYPE)
def get_valid_from(valid_from):
return start_date if valid_from < start_date else valid_from
result = []
for r, n in zip(rates, rates[1:]):
result.append(
sms_yearly_billing_data_query(r.rate, service_id, r.valid_from, n.valid_from))
result.append(sms_yearly_billing_data_query(rates[-1].rate, service_id, rates[-1].valid_from, end_date))
result.append(sms_yearly_billing_data_query(r.rate, service_id, get_valid_from(r.valid_from), n.valid_from))
result.append(
sms_yearly_billing_data_query(rates[-1].rate, service_id, get_valid_from(rates[-1].valid_from), end_date))
result.append(email_yearly_billing_data_query(service_id, start_date, end_date))
return sum(result, [])