Commit Graph
99 Commits
Author SHA1 Message Date
Leo Hemsted fb6cb5f236 add statuses filter to GET /service/{}/job
can now pass in a query string `?statuses=x,y,z` to filter jobs based on
`Job.job_status`. Not passing in a status or passing in an empty string is
equivalent to selecting every filter type at once.
2016-09-23 16:34:13 +01:00
Leo Hemsted 00b905bef0 use a contextmanager to set config values
so that when later tests run, the config has been restored to its
defaults and we don't end up failing later tests in confusing ways
2016-09-21 17:13:26 +01:00
Leo Hemsted 24903a19ef add pagination to GET /service/{}/job
accepts a page parameter to control what page of data

returns additional pagination fields in the response dict
* page_size: will always be 50. defined by Config.PAGE_SIZE
* total: the total amount of unpaginated records
* links: dict containing optionally prev, next, and last, links to
  other relevant pagination pages

also cleaned up some test imports
2016-09-21 16:54:02 +01:00
Chris Hill-Scott be9fd96d03 Merge pull request #656 from alphagov/add-cancel-job-endpoint
Add an endpoint to cancel a job
2016-09-06 12:11:32 +01:00
Chris Hill-Scott 4a7267be8b Add an endpoint to cancel a job
If you schedule a job you might change your mind or circumstances might
change. So you need to be able to cancel it. This commit adds a `POST`
endpoint for individual jobs which sets their status to `cancelled`.

This also means adding a new status of `cancelled`, so there’s a
migration…
2016-09-02 12:27:02 +01:00
Rebecca Law e3fa8bffd7 Fix merge conflicts in tests.
Update new migrations scripts to fix conflict in with script names.
2016-09-02 12:01:38 +01:00
Rebecca Law 8f3e8181fe Merge branch 'master' into scheduled-delivery-of-jobs-cleanup
Conflicts:
	tests/app/job/test_rest.py
2016-09-02 11:03:21 +01:00
Martyn Inglis 57267a36f2 Return empty stats list for job creation 2016-08-31 12:12:09 +01:00
Martyn Inglis 6488feaeec Remove the status column from jobs, and update the new job status column with the previous values 2016-08-31 10:23:34 +01:00
minglis 4a078e3c61 Merge pull request #635 from alphagov/scheduled-delivery-of-jobs
Scheduled delivery of jobs
2016-08-30 12:48:48 +01:00
Martyn Inglis e1543e9a5c More definite create times on job - some intermittent test fails where ordering ambiguous. 2016-08-26 15:32:46 +01:00
Martyn Inglis dd7850b235 Bug fix:
- Get all jobs for service doesn't return the statistics.
- Dashboard therefore is incorrect

This is the API fix for this, returns the data.
2016-08-26 15:07:59 +01:00
Martyn Inglis 8b9319ac7a Merge branch 'master' into scheduled-delivery-of-jobs
Conflicts:
	app/dao/jobs_dao.py
	tests/app/dao/test_jobs_dao.py
	tests/app/job/test_rest.py
2016-08-25 14:53:00 +01:00
minglis 2d2ceba2d1 Merge pull request #631 from alphagov/add-new-column-to-jobs-for-delayed-sending
Adds new job_status table and FK to jobs.
2016-08-25 12:59:16 +01:00
Martyn Inglis 10f499805c Updates to create job to handle scheduling
- If the job JSON contains a scheduling date then the new 'job_status" column is set to "scheduled"
- the date is persisted on the JOB row in the database
- Also the job WILL NOT be placed onto the queue of jobs. This is deferred to a later celery beat task.
2016-08-24 16:00:21 +01:00
Martyn Inglis cf3c14dbbd Added job_status to marshmallow
- ensured statues not deleted on test runs
- returns in API call

Merge branch 'add-new-column-to-jobs-for-delayed-sending' into scheduled-delivery-of-jobs

Conflicts:
	app/models.py
2016-08-24 14:35:22 +01:00
Martyn Inglis 48089e21e5 Adding default values 2016-08-24 14:16:39 +01:00
Martyn Inglis 1e10c0485c Removed some code 2016-08-24 14:05:54 +01:00
Martyn Inglis 805da23d6b Starting to implement scheduling 2016-08-24 14:04:52 +01:00
Martyn Inglis 09cb94081b Returns the outcome statistics for the job on the API call. 2016-08-23 16:46:58 +01:00
Leo Hemsted 2b645f490a move get_all_notifications_for_service and get_all_notifications_for_job
moved from notifications/rest -> service/rest and job/rest respectively
endpoint routes not affected
removed requires_admin decorator - that should be set by nginx config
as opposed to python code
2016-06-30 10:44:21 +01:00
Rebecca Law 2a7872cce1 Add a limit days query param for get all jobs. 2016-05-24 17:21:04 +01:00
Leo Hemsted 7801efd5ca don't create job if template has been archived 2016-05-24 13:08:02 +01:00
Rebecca Law f72f5aba05 [WIP]
Start to add template_version to jobs and notification
2016-05-11 17:04:51 +01:00
Rebecca Law aff0abb78c Add a load only and dump only for the created_by attribute of the JobSchema 2016-05-11 12:03:25 +01:00
Rebecca Law b53fdf1f3f Update python client to version 1.0.0.
This version of the client removed the request method, path and body from the encode and decode methods.
The biggest changes here is to the unit tests.
2016-05-04 16:08:23 +01:00
Rebecca Law 3f7bae3428 Removed update_job endpoint because it is not being used 2016-04-27 09:46:45 +01:00
Rebecca Law 94aab20317 Add created_by_id to jobs table.
The user logged in will be the user marked as creating the job.
The admin code already sends the created_by user when creating a job.
2016-04-26 16:15:34 +01:00
Nicholas Staples c4b316bde6 Rebased migrations, all tests working. 2016-04-08 13:34:54 +01:00
Nicholas Staples 143d1b0db8 Updated to retrieve csv upload from new bucket.
Fix test errors.
2016-04-07 14:10:30 +01:00
Rebecca Law e055590b07 Changed db queries to use one, which throws NoResultFound exception, this exception is dealt with in our error handlers.
Now a lot of the if none checks can be removed.
2016-03-11 12:39:55 +00:00
Adam Shimali fc8e27e582 [WIP] When user is added to a service a list of permissions groups are
used to assign the correct permissions to the user.

Last slice will be to update invite status.
2016-03-03 16:38:12 +00:00
Nicholas Staples 2cf2b51cd9 Fix for git commit review. 2016-02-29 11:50:43 +00:00
Martyn Inglis b3884e2d6c Move job processing into celery
- brings boto S3 into new AWS folder
- CSV processing utils method

Rejigs the jobs rest endpoint - removes some now unused endpoints,

Calls to the task with the job, job processing in task, delegating SMS calls to the sms task
2016-02-24 17:12:30 +00:00
Adam Shimali c36b64c91b Added notification count to jobs. 2016-02-22 14:57:33 +00:00
Rebecca Law 08ba5de61b Update config
Source the configuration from an environment file, this way it is similar to how the aws environment works
2016-02-16 16:01:50 +00:00
Rebecca Law 2db0f9737e Added a test to check endpoint works with an id in payload. 2016-02-10 12:46:52 +00:00
Adam Shimali e6a7e07505 Fix for create job id on api side 2016-02-09 18:28:28 +00:00
Adam Shimali 17e5e70f6c [WIP] Added endpoints under /job for creating, updating and reading
notification status.
2016-02-09 14:17:42 +00:00
Adam Shimali 23f4ce7255 Fix for incorrect property name for service and template. 2016-02-05 16:33:07 +00:00
Adam Shimali e024db6858 As job update is a PUT then all non nullable fields
need to be sent with update.

Also bug in not committing update fixed.
2016-02-05 13:07:02 +00:00
Adam Shimali bec4bbe04e Endpoint and dao method for updating job status. 2016-02-04 20:55:09 +00:00
Adam Shimali aa57730fc9 Add more properties of job to job message. 2016-02-04 12:36:53 +00:00
Adam Shimali 0ade39e63f Add job to queue as soon as it in created.
Added status to job.
2016-02-02 15:14:04 +00:00
Rebecca Law b5c662eca8 Change services.id to a UUID
Ideally all the primary keys in the db would be UUID in order to guarantee unique ids across distributed dbs.
This updates the services.id to a UUID. All the tables with a foreign key to the services.id are also updated.
The endpoints no longer state a data type of the <service_id> path param.
All the tests are updated to reflect this update.

The thing to pay attention to is the 0011_uuid_service_id.py migration script.
This commit must go with a commit on the notifications_admin app to keep things working.
There will be a small outage until both deploys have happened.
2016-02-02 14:22:22 +00:00
Adam Shimali f4a0a9b8d9 Fix for job urls that should have been within context of a service.
The service id path parameter is captured in the url prefix for the
job blueprint.
2016-01-18 09:57:04 +00:00
Adam Shimali f3b6769193 Add convenience fields to job to make processing
easier.
2016-01-16 10:14:48 +00:00
Rebecca Law 96ba2d13b3 Updated job endpoint tests with authorization header 2016-01-15 17:11:02 +00:00
Adam Shimali 834801d19b Added endpoints for creating job, and getting job/jobs. 2016-01-15 15:48:05 +00:00