Commit Graph

1691 Commits

Author SHA1 Message Date
Imdad Ahad
d7d2ff7af4 Query the correct table for monthly billing usage:
* Query `MonthlyBilling` for the monthly usage and transform
 response for admin
2017-08-18 13:38:53 +01:00
Chris Hill-Scott
953e2ae5bd Merge pull request #1180 from alphagov/return-template-name
Return template name in public API
2017-08-17 12:44:24 +01:00
Imdad Ahad
f40889e6e0 This adds new endpoints to retrieve billing data from the new table:
1. Create a separate billing blueprint to house these endpoints

2. Return monthly breakdown in same format as we did before

3. Return yearly breakdown but only return {billing units, rate,
notification_type}. Admin only makes use of these.
2017-08-17 11:10:42 +01:00
Imdad Ahad
94605d31fa Change how we populate and retrieve MonthlyBilling totals:
1. For both email and sms, store [] in monthly_totals if
there is no billing data (no notifications sent etc.) and
return this via the API

2. General refactoring of indentation
2017-08-15 16:09:42 +01:00
Chris Hill-Scott
04e41e3147 Return template name in public API
The use for the public template API is for building caseworking systems
or similar, where you might need a list of templates to pick from (ie
instead of using the Notify web interface to pick from and send a
message).

Right now our API isn’t returning the template name as part of the
response. The name is a useful, human-friendly way of identifying a
template.

This commit changes the response to include the name.

Some clients will need updating before this can be useful.
2017-08-15 14:46:30 +01:00
Imdad Ahad
69845e9f37 Add helper methods to retrieve billing data from the new table:
Get yearly and monthly billing data from the new table
with filter by notification type. Additionally let's calculate
current day delta totals
2017-08-11 16:57:18 +01:00
Imdad Ahad
35ad5d74f9 Retrieve billing data (for month) by notification type:
* Previously we were only returning SMS. Let's make this return for
a given notification type.
* General refactor of the monthly retrieval query
* Return an empty BillingData tuple if email billing data is empty
2017-08-11 16:57:18 +01:00
Imdad Ahad
839c161628 Update monthly billing for SMS and Email:
* Refactor code to update for EMAIL_TYPE and SMS_TYPE
* Make tests more robust (overlapping rates, multiple months, multiple noti
* types)
*
2017-08-11 16:57:18 +01:00
Imdad Ahad
ae76fd0f30 Small refactor to a test 2017-08-11 16:57:18 +01:00
Imdad Ahad
63e1167098 Make sure we update the correct month for billing:
When populating the monthly billing records on a schedule, we need
to ensure the correct month is being updated.

As an example, if the current datetime is 31 Mar 2016, 23:00. The
BST equivalent is the 1st April. Therefore we need to ensure we
update billing for April, not March. This takes care of that.
2017-08-11 16:57:17 +01:00
Imdad Ahad
782f3ea693 Rename method to get start and end date of a month for clarity 2017-08-11 16:56:47 +01:00
Imdad Ahad
19b09f2a27 Rename method to convert from utc to bst for consistency 2017-08-11 16:56:46 +01:00
Ken Tsang
976be24cbc Refactor test 2017-08-11 12:56:59 +01:00
Ken Tsang
9a55e167f7 Refactored inbound_number dao 2017-08-11 12:56:59 +01:00
Ken Tsang
cfabab0785 Refactor code to add updated_at 2017-08-11 12:56:59 +01:00
Ken Tsang
2cfe85a2af Refactored inbound_number dao tests 2017-08-11 12:56:59 +01:00
Ken Tsang
e80bc9deb2 Refactor conftest 2017-08-11 12:56:59 +01:00
Ken Tsang
668811197c Remove whitespace 2017-08-11 12:56:59 +01:00
Ken Tsang
c9f871c0c9 Refatored tests and fixtures for inbound_number 2017-08-11 12:56:59 +01:00
Ken Tsang
5e2d0bf5c6 Update test fixture to provide default provider 2017-08-11 12:56:59 +01:00
Ken Tsang
61c09f142c Refactored model and dao 2017-08-11 12:56:59 +01:00
Ken Tsang
3c392596a3 Add backref in InboundNumber model 2017-08-11 12:56:59 +01:00
Ken Tsang
4efb3238db Added test for allocating a service an inbound number twice 2017-08-11 12:56:59 +01:00
Ken Tsang
4de6060694 Add data models, dao for inbound_numbers 2017-08-11 12:56:59 +01:00
Rebecca Law
0f26584761 Merge pull request #1164 from alphagov/check-service-name-is-unique
Check service name is unique
2017-08-10 10:21:58 +01:00
Leo Hemsted
e7b13e727a don't capture logs directly from stdout
previously in run_app_paas.sh, we captured stdout from the app and
piped that into the log file. However, this came up with a bunch of
problems, mainly:

* exceptions with stack traces often weren't formatted properly,
  and kibana could not parse them
* celery logs were duplicated - we'd collect both the json logs and
  the human readable stdout logs.

instead, with the updated utils library, we can use that to log json
straight to the appropriate directory directly.
2017-08-09 15:29:39 +01:00
Rebecca Law
1ec6a3b73d Created a new service endpoint that checks if the service name or email_from is unique.
Why is this needed?
When a user updates a service name they enter the new name in a form, are then asked to confirm the change by entering their password. Then the API call to update_service is called. If we let the update serivce API call fail with the integrity constraint it will be ackward for the user.
2017-08-09 15:12:52 +01:00
Leo Hemsted
14dd18aefc Merge pull request #1163 from alphagov/letter-template-subject
make sure template serialises letter subjects
2017-08-09 12:33:34 +01:00
Leo Hemsted
da02ffa32f ensure template history serializes using template serialize fn 2017-08-09 12:24:35 +01:00
Leo Hemsted
c9762f75a1 make sure template serialises letter subjects 2017-08-09 11:56:52 +01:00
Imdad Ahad
4d53481737 Merge pull request #1134 from alphagov/imdad-feat-check-notification-table-for-last-template-usage
Update the last template usage query to check Notification table
2017-08-09 10:22:21 +01:00
Leo Hemsted
5491adcabd address_line_2 is a required field 2017-08-07 14:23:44 +01:00
Imdad Ahad
864e356163 Add test to check with notificationhistory but no notification 2017-08-07 13:33:10 +01:00
Imdad Ahad
f5e38a896c Update the last template usage query to check Notification table:
* Don't check the NotificationHistory table (this can cause a timeout)
* Check template actually exists first
2017-08-07 10:19:21 +01:00
Imdad Ahad
e148fafd53 Merge pull request #1144 from alphagov/imdad-feat-schedule-billing-and-adjust-backfill
Populate monthly billing on a schedule and make backfill less granular
2017-08-03 10:54:16 +01:00
Leo Hemsted
9c940ab8b4 Merge pull request #1136 from alphagov/letter-api
Letter api
2017-08-02 16:15:30 +01:00
Leo Hemsted
372b10f19c fix up tests to be internally consistent
notifications should always have at least one of job and api key, and
the key type should match the api key's key type (or be 'normal')
2017-08-02 15:35:56 +01:00
Imdad Ahad
824063ddb8 Fix to return billing data before a rate begins 2017-08-02 15:32:34 +01:00
Leo Hemsted
5d61b3644c add tests for new test-key handling 2017-08-02 11:14:05 +01:00
Leo Hemsted
075d2a3346 tighten key_type validation on letters api
when in research mode or test key, dont send letters via api - instead,
just put them straight to success state

when using a team key, flat out reject the request (403)
2017-08-01 15:49:00 +01:00
Imdad Ahad
dc7a1051a6 Refactor 2017-08-01 14:04:17 +01:00
Leo Hemsted
76ea0dbc76 Merge branch 'master' of github.com:alphagov/notifications-api into letter-api 2017-07-31 18:15:16 +01:00
Imdad Ahad
d01d875f7e Fix issue where monthly billing data was not being updated: 2017-07-31 17:47:53 +01:00
Leo Hemsted
8e738b783e update test_send_notification to account for new uuid mock 2017-07-31 11:10:05 +01:00
Leo Hemsted
11f8603319 Remove custom error message from personalisation validation
There's no longer a single err msg that fits all problems with
personalisation - since letters expect specific fields there
2017-07-27 16:49:37 +01:00
Leo Hemsted
2ab105aaf4 add tests for letter api notifications 2017-07-27 16:43:55 +01:00
Leo Hemsted
f528236eda make job.created_by nullable
Since letter jobs from the API aren't created by any single individual,
lets make created_by nullable. Note: We'll have to make sure that we
update the admin app to handle these jobs nicely
2017-07-27 12:58:13 +01:00
kentsanggds
2df411a985 Merge pull request #1131 from alphagov/ken-update-email-logo-use-cdn
Update email logo to use logo CDN
2017-07-27 11:50:00 +01:00
Leo Hemsted
11458c421b ensure permissions are correct in sample letter fixtures
sample_letter_* should always include a service that has letter
permissions.

Also, print out the JSON response in the admin_request fixture if the
response code doesn't match
2017-07-27 11:12:09 +01:00
Rebecca Law
c1f2634c90 Removed month and year and replaced it with start_date and end_date.
This will allow us to sort the data properly.
2017-07-26 13:19:17 +01:00