Commit Graph

1371 Commits

Author SHA1 Message Date
Dan Funk cd7f67ab48 A major refactor of how we search and store files, as there was a lot of confusing bits in here.
From an API point of view you can do the following (and only the following)

/files?workflow_spec_id=x
* You can find all files associated with a workflow_spec_id, and add a file with a workflow_spec_id
/files?workflow_id=x
* You can find all files associated with a workflow_id, and add a file that is directly associated with the workflow
/files?workflow_id=x&form_field_key=y
* You can find all files associated with a form element on a running workflow, and add a new file.
   Note: you can add multiple files to the same form_field_key, IF they have different file names. If the same name, the original file is archived,
   and the new file takes its place.

The study endpoints always return a list of the file metadata associated with the study.  Removed /studies-files, but there is an
endpoint called

/studies/all  - that returns all the studies in the system, and does include their files.

On a deeper level:
 The File model no longer contains:
  - study_id,
  - task_id,
  - form_field_key

Instead, if the file is associated with workflow - then that is the one way it is connected to the study, and we use this relationship to find files for a study.
A file is never associated with a task_id, as these change when the workflow is reloaded.
The form_field_key must match the irb_doc_code, so when requesting files for a form field, we just look up the irb_doc_code.
2020-05-28 08:27:26 -04:00
Aaron Louie 94b6147768 Merge branch 'dev' into rrt/production 2020-05-27 23:49:47 -04:00
Aaron Louie 97cdbfce94 Deletes extra line break 2020-05-27 23:48:48 -04:00
Dan Funk 560263d1a3 Missed another test. 2020-05-27 14:45:00 -04:00
Dan Funk c9f94d9717 Merge branch 'dev' of github.com:sartography/cr-connect-workflow into dev 2020-05-27 14:41:11 -04:00
Dan Funk 77f72e408f Lookup Service now raises exact matches to the top. Very hackish, but it works. 2020-05-27 14:36:10 -04:00
Carlos Lopez 54640988a7 Update endpoint fixes 2020-05-27 12:06:32 -06:00
Aaron Louie 98efa0475a Merge branch 'dev' into rrt/production 2020-05-27 12:59:04 -04:00
Aaron Louie 6eaa6ac158 Adds option to load RRT example data 2020-05-27 12:58:50 -04:00
Aaron Louie 7721b9f83f Merge branch 'dev' into rrt/production 2020-05-27 10:07:04 -04:00
Dan Funk 1d52a0214a Merge branch 'master' into dev 2020-05-27 09:56:47 -04:00
Dan Funk 229b5d5ece Forgot to add the test fixes. 2020-05-27 09:55:46 -04:00
Dan Funk 1c60008c7e Merge branch 'dev' of github.com:sartography/cr-connect-workflow into dev 2020-05-27 09:48:33 -04:00
Dan Funk d5e075db82 Order search results by relevancy in the lookup service. 2020-05-27 09:47:44 -04:00
Aaron Louie 0f04b1dd79 Forces PB_ENABLED to be a boolean, because environment variables always come through as a string 2020-05-27 08:35:04 -04:00
Dan Funk 397cb23b52 Is true "true", yes it is true. So true, is "false", so true, it is true. 2020-05-26 23:38:57 -04:00
Dan Funk 0025931a2e Trying hard to figure out why the DCOS servers think the protocol builder is enabled. 2020-05-26 23:18:14 -04:00
Dan Funk 7869fa596e Protocol Builder isn't disabled on the dcos servers, trying to figure out why, and assure it isn't some sort of weird race condition. 2020-05-26 22:42:49 -04:00
Dan Funk eb15d172c1 I absolutely must fix our cascade deletes, but I sort of like the horror such chunks of code cause, we really need to protect these endpoints, and assure they never get called under normal circumstances, and raise some thoughtful errors. 2020-05-26 21:18:09 -04:00
Aaron Louie 0e973b988a Merge branch 'dev' into rrt/production 2020-05-26 21:03:56 -04:00
Dan Funk ccbf374b40 Loads of bug fixes.
Modifed the request_approval to take a list of arguments, which works better for us... today.
UpdateStudy correctly handles validation.
WorkflowService correctly populates random values from lookup tables.
And several fixes down in Spiffworkflow, including a big bug where only the last item in a decision table made it through.
2020-05-26 20:06:50 -04:00
Dan Funk e9645fa3fd Renamed redirect_url to just redirect. 2020-05-26 15:47:41 -04:00
Dan Funk 987790164e use redirect, not redirect_url. 2020-05-26 15:09:57 -04:00
Dan Funk f576c0ecb6
Merge pull request #78 from sartography/feature/approval_request
Feature/approval request
2020-05-26 14:41:12 -04:00
Carlos Lopez 7ed9411c74 Handling unavailability of ldap connection 2020-05-26 11:29:24 -06:00
Carlos Lopez 72b59deeaf Completing tests 2020-05-26 10:21:36 -06:00
Dan Funk eb92ee9fb6 Adding missing migration. 2020-05-25 23:47:40 -04:00
Dan Funk c7fc6649ed oh my goodness it's late, and I hate docker containers sometimes. 2020-05-25 22:52:36 -04:00
Dan Funk 25adf47277 converting integers to ints, cause that's nice. 2020-05-25 22:47:11 -04:00
Dan Funk 0792aa40a5 Can't override travis settings if you do it with the testing file. 2020-05-25 22:28:33 -04:00
Dan Funk cbaedad0f6 have testing respect the environment variables if they are set, so we can set them in travis, and use the testing environment there. 2020-05-25 22:02:06 -04:00
Dan Funk a14168362a Merge branch 'feature/support_ui_dashboard' into dev 2020-05-25 21:31:16 -04:00
Carlos Lopez 1231b963d0 Enabling ldap lookup 2020-05-25 17:30:16 -06:00
Carlos Lopez 727274ae33 Using full approval payload to update record 2020-05-25 15:40:24 -06:00
Dan Funk 13186176ba Improved LDAP searches, allow filtering on last name as well as uva id. 2020-05-25 16:00:36 -04:00
Dan Funk be057e8758 Adding an "UpdateStudy" task that is able to update the data on the study model, useful for setting core data points on the model, such as setting the Primary Investigator, or altering the Study Title.
Fixing a bug where the validation of forms did not correctly process auto-complete fields.
Fixing a bug where the approvals script and the update study script could not process dot notation correctly.

Moved populate_random_data into the WorkflowService where it makes more sense.
2020-05-25 15:30:06 -04:00
Dan Funk d80a6af754 Disabling the Protocol Builder, and getting the rrt data correct. 2020-05-25 12:53:56 -04:00
Dan Funk 6cd4ef64d1 Fixing add_study api endpoint, so you can actually add a new "Study" with just some basic information.
Using the LDAP service for checking user details in development mode - even if you are using the back door.
Added a new Flask fucntion load-example-rrt-data that loads the rrt workflow, and not the CRC wrokflows.
Modified the "load-example-data" in the tests to use some test data, rather than loading up all the workflows[
in CRC each time, with a parameter to load crc data if that is required - which is enabled for just a handful of tests.
(Tests run in 1/4 the time now)
2020-05-25 12:29:05 -04:00
Aaron Louie 20cb35778c Ugh. Typo. 2020-05-25 12:26:17 -04:00
Aaron Louie d1eba27ee0 Fixes root path bug 2020-05-25 11:41:53 -04:00
Aaron Louie 14a2e4b5fa Sets path to flask app in docker_run 2020-05-25 00:47:49 -04:00
Aaron Louie cb2613feee Fixes all the paths and routing errors 2020-05-24 23:09:12 -04:00
Aaron Louie d9d1367556 Runs as root (for now) 2020-05-24 21:09:55 -04:00
Aaron Louie 00255ce2a0 Forgot a backslash 2020-05-24 21:01:02 -04:00
Aaron Louie 532e6b8433 Starts gunicorn, passing port and base href path 2020-05-24 20:58:19 -04:00
Aaron Louie b1718078ff Refactors Dockerfile again. Installs gunicorn. Don't run gunicorn until the container starts up. 2020-05-24 20:53:25 -04:00
Aaron Louie 5ec97dc68d Goes back to default install location. Copies files to the right spot 2020-05-24 18:29:45 -04:00
Aaron Louie 0f48d6c81e Installs the app in the right place (maybe?) 2020-05-24 17:18:56 -04:00
Dan Funk 971d9a58e9 As we now have an approval_service.py, I moved all the business logic into this service and out of the request_approval.py script. And moved all tests for these features into a test file for the service. Will make it easier to cross reference what is happening, as everything all happens in one file.
As many of the scripts need to know the workflow, and it's down in a weird parameter, moved this so it is passed in each time.
2020-05-24 16:13:15 -04:00
Aaron Louie 52208d9c8a Adds wait-for-it script 2020-05-24 14:53:48 -04:00