"Add to existing environment" table, "delete member", and environment
roles and env role edit buttons added for every user in the team
settings list. Accompanying CSS changes.
The link button to add a new application member to an app that did not
have any ("empty state") was not wired up. This:
- Moves the two steps of the new member modal into macros so that they
can be reused with different button/link types
- Wires the "invite a new team member" button on the application team
page
- Makes a minor CSS tweak so that icons nested under `.empty-state` in
the modal aren't enormous
- global: more bottom padding for panels
- app description textarea has no width contraint, constrained heigh
- fix extra padding in panel footers
- larger form columns for app name and description
- remove deprecated environment list
- do not need extra right padding on nested list items
- darker gray for breadcrumbs and subheads
- larger font size for subheads
- updated toggle for environmnets list per-application
- more padding for application row
- 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
- 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
It will be enabled when the user checks the "manage environments"
permission. This updates the Jinja and Vue checkbox input components so
that Vue can monitor the inpur state.
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