Commit Graph

2281 Commits

Author SHA1 Message Date
rachel-dtr
39a0716028 Updating content across the site 2019-05-10 10:28:02 -04:00
dandds
2435f91b13 Merge pull request #809 from dod-ccpo/resource-finder
Resource finder
2019-05-10 06:07:45 -04:00
dandds
2d99b5cfc5 Permission-check for templates accounts for all permission levels.
`user_can` function built for Jinja template contexts should check
application, portfolio, and atat level permissions depending on what
resources are available on `g`.
2019-05-08 13:25:38 -04:00
montana-mil
fb7efc6057 Merge pull request #801 from dod-ccpo/app-team-permissions
Application Team Table Permissions
2019-05-07 16:27:23 -04:00
Montana
644acc68fa Refactor application team routes
- pulling out helper functions for constructing forms
- return 400 for form validation errors
- "Yes" appears green on the read only version
2019-05-07 16:21:17 -04:00
Montana
d5307b440f Make user_id required and add post tests
- raise an exception in ApplicationRoles.get()
- permission_sets is not changed if bad data is sent
2019-05-07 16:21:17 -04:00
George Drummond
d9ed8ed2f1 Merge pull request #806 from dod-ccpo/delete-environment
Delete environments from an application
2019-05-07 10:18:32 -04:00
Montana
2a9de4f3b9 Match the orders of the permissions everywhere 2019-05-07 09:35:38 -04:00
Montana
1a2051b2bf Don't store empty strings as perm values 2019-05-07 09:33:42 -04:00
Montana
526bcb1661 Update tests 2019-05-07 09:31:04 -04:00
dandds
3c1f4ac6df Standardize token argument in routes.
- `token` becomes `portfolio_token` in routes.
- Find relevant portfolio from token in `before_request` hook, like
  other routes.
2019-05-06 16:35:33 -04:00
dandds
42b912d4cb Look up major database resources in a before_request hook.
A `before_request` hook queries the database for portfolios, requests,
and task orders based on the route arguments. The resources are added as
attributes on `g`. The portfolio context processor and the access
decorator now rely on those resources being available on `g`.

WIP: find major resources in before_request hook, apply to g

WIP: use g.portfolio for portfolio context processor

WIP: the access decorator should rely on the resources being available on g
2019-05-06 16:32:55 -04:00
Montana
1759732d38 Add success banner
- The banner does not display which members were updated
2019-05-06 15:17:48 -04:00
Montana
9f266ea4e4 Update user permission sets
- adds two domain functions for application roles
2019-05-06 15:17:47 -04:00
Montana
de41afa935 Add form to template
- do not use None as a dropdown value because it was causing issues
- cleans up some comments
2019-05-06 15:16:48 -04:00
dandds
0da0f6a0ae WIP: use team form for application team page 2019-05-06 15:15:03 -04:00
dandds
926f89d975 Form for application team member table.
Nested form for each member, with child forms for environment roles and
permissions.
2019-05-06 15:15:03 -04:00
dandds
b0600a34db Merge pull request #802 from dod-ccpo/accept-application-invite
Accept application invite
2019-05-06 14:30:54 -04:00
George Drummond
c1acdd81c9 Fix message 2019-05-06 14:12:59 -04:00
George Drummond
44978248d4 Merge pull request #803 from dod-ccpo/edit-environment-save-fail-refactor
Edit environment save fail refactor
2019-05-06 13:54:30 -04:00
George Drummond
037fe09163 Delete environments from an application 2019-05-06 13:51:57 -04:00
dandds
fa2f7f29f3 Do not scope environment access on applications.
Application users can see all environments on an application. Limiting
access to the CSP console for an an environment should be handled
differently.
2019-05-03 17:11:57 -04:00
dandds
59a02572ea Application users should have access to portfolio landing page.
- Adds override to portfolio landing page access check to see if user
  has access to any applications within the portfolio.
- Route for accepting an application invitation redirects directly to
  portfolio applications route.
- Tests ensure application user only sees apps the user has access to on
  the portfolio landing page.
2019-05-03 17:11:57 -04:00
dandds
8bd945d0d4 Applications.for_user returns user's portfolio applications.
The method has been updated to that, given a user and portfolio, it
returns the portfolio applications for which the user has an application
role.
2019-05-03 17:11:57 -04:00
dandds
a2ebdf78a0 Route for accepting an application invitation.
- Domain method for enabling an application role.
- Updated ApplicationRole model `history` property so that it serializes
  the `status` correctly
2019-05-03 17:11:57 -04:00
George Drummond
094550f99c Our invalid forms are blocked via JS now 2019-05-03 14:23:47 -04:00
George Drummond
430a6493f0 Get error state in edit environment name form working 2019-05-03 14:23:47 -04:00
George Drummond
360dab0a32 Add in check for removing the PPoC 2019-05-03 13:51:53 -04:00
dandds
b8a24c37c4 Make SQLALCHEMY_ECHO option independent of DEBUG for sqlalchemy logging. 2019-05-02 15:41:13 -04:00
dandds
4f304d747e Small tweaks for adding a new application member:
- raise specific invitation type if invite not found in invitation domain classes
- more terse assignments of defaults in invitation service, smh
- terser margin expression for inline input fields
- sass formatting
- use translation for cancel link
- oxford comma for app team management permission explanation
- do not format environment roles with hyphens for role selection
- generalize some additional methods in the invitation domain base class
- use plain atst.models import path
2019-04-30 17:14:58 -04:00
dandds
5db4d9bab3 formatting, cleanup from rebase 2019-04-30 14:43:23 -04:00
dandds
b7a8cd4168 Refinements to the new application member modal
- remove extra padding from second modal screen
- update modal styles to more closely match designs
- ad `user_name` property to application_role model to fix flash message
2019-04-30 14:43:23 -04:00
dandds
054d030e15 Vue binding for environment role selections.
The environment name will be grayed out until something besides the
default "no access" is selected.

Small changes to the application member subforms:
- filter for "None" as a string
- have nested forms inherit from FlaskForm; each nested form adds its
  own validation error flash otherwise if there are validation problems
2019-04-30 14:43:23 -04:00
dandds
9c84e30172 frontend for adding new application member
- updated styling
- eliminated stray <form> tag in application team template
2019-04-30 14:43:23 -04:00
dandds
ade77e6b91 Route for adding new application member
- domain method for creating a new application member
- ApplicationInvitations domain class
- nested form for adding a new user that holds user data, application
  permission sets, and environment roles
- Invitation service can infer invitation type based on role it's given
- new invitation email templates
2019-04-30 14:41:55 -04:00
dandds
054f6b80b9 add application_invitation table 2019-04-30 14:41:55 -04:00
dandds
dd0b184bc2 extract new member form into standalone form class 2019-04-30 14:41:55 -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
leigh-mil
41f01f8dec Merge branch 'master' into edit-env-form-view 2019-04-30 14:34:31 -04:00
montana-mil
0c6f00bf4d Merge pull request #785 from dod-ccpo/check-user-is-in-app-before-adding-env-role
Check user is in app before adding env role
2019-04-30 14:31:08 -04:00
Montana
94e3dc637a Remove has_member function from application model 2019-04-30 10:27:15 -04:00
leigh-mil
67516b3b55 Combine env_forms and environment_obj 2019-04-30 10:13:55 -04:00
Montana
a99c795319 Update logger message for application user not found 2019-04-30 10:12:05 -04:00
Montana
78a8201323 Send resource id to NotFoundError as well as resource name. 2019-04-30 10:11:10 -04:00
Montana
1222220452 Do not add member to application when adding to environment 2019-04-29 15:05:59 -04:00
Montana
60b4c50819 Check that all users with changed data are app users before updating env roles 2019-04-29 15:05:59 -04:00
Montana
0736b229bf Do not use mutable kwarg to set default permission set on application role 2019-04-29 13:39:43 -04:00
Montana
19a09b792e Use user.id to check if user is in application 2019-04-29 13:38:17 -04:00
leigh-mil
4f954117c8 Use keys in members_by_role dict to get the CSP roles 2019-04-29 12:42:58 -04:00
leigh-mil
4c7a8c399c Sort env members by role 2019-04-29 12:32:41 -04:00