971 Commits

Author SHA1 Message Date
richard-dds
fe5def3a92 Send notification emails on some http errors 2019-05-15 15:01:49 -04:00
richard-dds
d8e75668b0 Log notifications at the time of sending 2019-05-15 14:57:46 -04:00
richard-dds
9399b34a56 Autouse notification_sender fixture 2019-05-15 14:57:46 -04:00
richard-dds
9ba1def91c Use separate queue method for notifications 2019-05-15 14:57:46 -04:00
richard-dds
9e97df79f5 Mock out app NotificationSender during testing 2019-05-15 14:57:46 -04:00
richard-dds
97b9d84c38 Select only recipient emails from the db 2019-05-15 14:57:46 -04:00
richard-dds
df7f72245a Send notification when we encounter an error 2019-05-15 14:57:46 -04:00
richard-dds
c03b69b351 More idiomatic initialization of notification_sender 2019-05-15 14:57:46 -04:00
richard-dds
a6c5f484b9 Add NotificationSender, one test 2019-05-15 14:57:46 -04:00
montana-mil
a3c808a09f
Merge pull request #819 from dod-ccpo/handle-none-checkbox-value
Catch None values for IsNumber validator
2019-05-15 11:58:22 -04:00
Montana
86c6044ca1 Catch None values for IsNumber validator 2019-05-15 11:41:03 -04:00
montana-mil
1c4725840c
Merge pull request #815 from dod-ccpo/add-new-env-app-settings
Add New Environment via app settings
2019-05-15 11:30:29 -04:00
George Drummond
b8ea1349b2
Merge pull request #817 from dod-ccpo/delete-user-from-application
Delete an application member
2019-05-14 15:45:32 -04:00
George Drummond
9927b22783
Disable rather than delete application_roles 2019-05-14 15:26:51 -04:00
Montana
f07ea38b9b Functionality for adding an env
- uses two route functions - one for update app, another for add
environment
- uses a second form for the app settings page
- uses the /environments/new url naming convention
2019-05-14 11:51:10 -04:00
George Drummond
4aea264026
Avoid double lookup 2019-05-14 11:37:33 -04:00
George Drummond
27a4ef12c6
Delete an application member 2019-05-14 11:07:08 -04:00
leigh-mil
4206aa8a59 Use member.role_name in template and JS
change name of data from roles to rolesCategory to make less confusing
2019-05-14 11:00:14 -04:00
leigh-mil
546e04555d Update role div height
Move serialization into the route
change member.role to member.role_name in form and route
Return 400 for invalid form submission
2019-05-14 11:00:14 -04:00
leigh-mil
319cc17c1c Start vue component for edit-environment-role 2019-05-14 10:58:22 -04:00
leigh-mil
addf2e97a1 Update form to nest all envs in one form 2019-05-14 10:58:22 -04:00
leigh-mil
060c6834bf Add save button and temp member role toggle to env member form 2019-05-14 10:58:22 -04:00
leigh-mil
4c40c9238e Sort env members by role 2019-05-14 10:58:22 -04:00
Montana
0a52cd0144 Update csrf test for updated content 2019-05-13 09:35:31 -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
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
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
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
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
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
George Drummond
f003baad7c
Failing test 2019-05-03 13:46:46 -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
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