Merge pull request #1309 from alphagov/reinstate-new-rate-api

Reinstate new rate api
This commit is contained in:
minglis
2017-06-08 14:07:33 +01:00
committed by GitHub
6 changed files with 87 additions and 3 deletions

View File

@@ -222,10 +222,10 @@ def get_dashboard_partials(service_id):
'has_jobs': bool(immediate_jobs),
'usage': render_template(
'views/dashboard/_usage.html',
**calculate_usage(service_api_client.get_service_usage(
**calculate_free_tier_usage(service_api_client.get_yearly_sms_unit_count_and_cost(
service_id,
get_current_financial_year(),
))
), service)
),
}
@@ -237,6 +237,16 @@ def get_dashboard_totals(statistics):
return statistics
def calculate_free_tier_usage(usage, service):
sms_free_allowance = service['data']['free_sms_fragment_limit']
return({
'sms_chargeable': max(0, usage['billable_sms_units'] - sms_free_allowance),
'total_sms_bill': usage['billable_sms_units'],
'total_sms_cost': usage['total_cost'],
'sms_allowance_remaining': sms_free_allowance - int(usage['billable_sms_units'])
})
def calculate_usage(usage):
# TODO: Don't hardcode these - get em from the API
sms_free_allowance = 250000

View File

@@ -223,6 +223,12 @@ class ServiceAPIClient(NotifyAdminAPIClient):
params=dict(year=year)
)
def get_yearly_sms_unit_count_and_cost(self, service_id, year=None):
return self.get(
'/service/{0}/yearly-sms-billable-units'.format(service_id),
params=dict(year=year)
)
def get_monthly_notification_stats(self, service_id, year):
return self.get(url='/service/{}/notifications/monthly?year={}'.format(service_id, year))

View File

@@ -10,7 +10,7 @@
<div class="keyline-block">
{% if sms_chargeable %}
{{ big_number(
(sms_chargeable * sms_rate),
total_sms_cost,
'spent on text messages',
currency="£",
smaller=True