102 Commits

Author SHA1 Message Date
dandds
c085db23d7 New invitation backend for portfolio invitations.
Portfolio invitations do not associate a user entity until the
invitation has been accepted. User info, including DOD ID, is held on
the invitation itself. When a user accepts and invitation, their user
entry is associated with the corresponding `portfolio_role` entry.

The same change will be applied to `application_role` and application
invitations. For now, small changes have been made to
application-related methods so that that flow works as-is.
2019-06-03 15:57:49 -04:00
leigh-mil
7bec073f78 Delete things related to deleted columns and table 2019-05-31 13:07:03 -04:00
dandds
df06d1b62f Use application_role_id on environment_roles.
In the future, an `application_invitation1 will not refer to a `user` until
someone accepts the invitation; they'll only reference an
`application_role`. When a user is invited to an application, the
inviter can specify the environments the invitee should have access to.
For this to be possible, an `environment_role` should reference an
`application_role`, because no `user` entity will be known at that time.

In addition to updating all the models and domain methods necessary for
this change, this commit deletes unused code and tests that were
dependent on `environment_roles` having a `user_id` foreign key.
2019-05-31 11:21:20 -04:00
dandds
96ae1bba9d
Merge pull request #845 from dod-ccpo/app-settings-role-id
Use role ID for app settings table
2019-05-28 11:43:56 -04:00
dandds
129f5e3031 Rewrite function that builds form data for app environment roles form.
- Adds a property to ApplicationRole model so that it knows its related
  EnvironmentRole models.
- Rewrite the form data builder in the routes file so that it loops the
  application members and their environment roles to build the data
  structure.
2019-05-24 13:34:53 -04:00
leigh-mil
8980b04f7e Filter the roles relationship on applications to remove deleted roles 2019-05-23 11:07:54 -04:00
dandds
c4ad7b4378 Make portfolio invitation specific to portfolio
- add a base domain class
- extract shared model code to mixin
- rename invitation classes
- invitation model relationship to portfolio_role name is now more
  generic "role"
2019-04-30 14:41:55 -04:00
Montana
94e3dc637a Remove has_member function from application model 2019-04-30 10:27:15 -04:00
Montana
1222220452 Do not add member to application when adding to environment 2019-04-29 15:05:59 -04:00
Montana
19a09b792e Use user.id to check if user is in application 2019-04-29 13:38:17 -04:00
Montana
fec4687c02 Check for member in application function, not user function 2019-04-29 11:06:37 -04:00
Montana
6822680bc8 Ensure that a member is an application member before adding the user to an environment 2019-04-29 11:06:37 -04:00
Montana
c9deaeec72 Add is_app_member() to user model 2019-04-29 11:06:37 -04:00
leigh-mil
c085f27af8 Update env roles by environment 2019-04-25 10:47:39 -04:00
dandds
0bde431a70 extend soft delete functionality to app and env roles 2019-04-15 15:58:38 -04:00
dandds
0348af7ce7 record soft deletion in audit log for applications and environments 2019-04-15 15:58:38 -04:00
dandds
1c0c5dd9c5 soft deletes available for applications and environments
- parent relation will not include applications or environments marked
  as deleted
- domain classes will exclude deleted objects from selections
- changed some test factories to use domain_word for resource names,
  because they were using person names and it bugged me
2019-04-15 15:58:38 -04:00
dandds
b17741acd1 Adds an ORM permission set listener for application roles.
Application role changes will be recorded in the audit log. Generalizes
pre-existing listener that was in user for portfolio roles.
2019-04-08 14:00:26 -04:00
dandds
866043495b updates to test factories to accomodate application roles 2019-04-08 13:31:19 -04:00
dandds
8827130444 record portfolio_role permission_set changes with bulk_replace event 2019-04-04 19:00:48 -04:00
Montana
8057c7b2fc Log audit events before we save them to the DB 2019-04-04 08:58:27 -04:00
Montana
86f106f6d1 Test logging events for auditable mixin 2019-04-03 17:07:33 -04:00
dandds
4a0dd2d432 remove unused domain methods and arguments 2019-03-22 06:31:20 -04:00
Montana
8234037b11 Add tests for has_permission_sets 2019-03-21 09:47:59 -04:00
dandds
23584da57b changes to increase test branch coverage 2019-03-15 14:41:24 -04:00
dandds
78aa2dfcc6 permission set names should be constants on the domain class 2019-03-15 07:14:49 -04:00
dandds
d3c3209fc0 cleanup unused portfolio roles 2019-03-15 07:14:49 -04:00
dandds
1a122c5335 rename role -> permission_set everywhere 2019-03-15 07:14:49 -04:00
dandds
0c2ab6fb7a remove portfolio_role direct relationship to role 2019-03-15 07:14:49 -04:00
dandds
6805041b13 portfolio role knows its entire permissions list 2019-03-15 07:14:49 -04:00
George Drummond
03bda7ec39
Workspaces are now portfolios 2019-03-13 09:45:57 -04:00
Patrick Smith
2d03111a9d Remove legacy task order model 2019-02-25 14:54:14 -05:00
Patrick Smith
2c62f54b83 Remove request-related models 2019-02-25 14:54:14 -05:00
Patrick Smith
6fb333acb9 Remove Requests domain classes 2019-02-25 14:54:13 -05:00
Patrick Smith
ba3000dccc Add started status to task order model 2019-02-13 10:24:02 -05:00
Patrick Smith
c3157596be Add property to get number of users in an application 2019-02-07 18:45:36 -05:00
Montana
9182b1078c Refactor attachment setters and add tests 2019-02-07 11:27:03 -05:00
Montana
d980260e7f Update test 2019-02-05 10:49:51 -05:00
Patrick Smith
045dcef6f9 Handle submitting form without csp estimate 2019-01-23 16:30:28 -05:00
Patrick Smith
672c562323 Allow removing a csp estimate from a task order 2019-01-23 11:16:54 -05:00
Patrick Smith
f580f69d35 Raise error if csp estimate is not of proper type 2019-01-23 11:16:54 -05:00
Patrick Smith
c9639435aa fixup w/ 8f8e7fa6 2019-01-15 10:54:39 -05:00
Patrick Smith
8f8e7fa65e Add active & expired task order statuses 2019-01-15 10:51:00 -05:00
dandds
d3d36822df workspace -> portfolio everywhere 2019-01-14 16:00:17 -05:00
dandds
3fc323d785 project -> application everywhere 2019-01-14 16:00:17 -05:00
Patrick Smith
2b61621402 Fix setting default status on task orders 2019-01-11 10:35:04 -05:00
Patrick Smith
442e136a4b Don't return filename from upload
The uploader only needs to return the object_name of the uploaded
object. The filename is read directly from the input, so there's no need
to return it as well.
2018-12-21 14:08:30 -05:00
dandds
6d92755a7f new workspace and task order routes 2018-12-18 09:44:02 -05:00
dandds
e509c34cdd change name of request relationship to legacy task order 2018-12-13 11:36:45 -05:00
dandds
2f515d7b47 change current task order table name
rename existing task order factory

fix legacy task order repr
2018-12-13 11:36:44 -05:00