Add in templates for ccpo user form and sketch out route functions

This commit is contained in:
leigh-mil
2019-08-07 14:53:30 -04:00
parent 8420a78392
commit 01ba73ef42
5 changed files with 107 additions and 1 deletions

13
atst/forms/ccpo_user.py Normal file
View File

@@ -0,0 +1,13 @@
from flask_wtf import FlaskForm
from wtforms.validators import Required, Length
from wtforms.fields import StringField
from atst.forms.validators import IsNumber
from atst.utils.localization import translate
class CCPOUserForm(FlaskForm):
dod_id = StringField(
translate("forms.new_member.dod_id_label"),
validators=[Required(), Length(min=10), IsNumber()],
)

View File

@@ -21,8 +21,10 @@ from atst.domain.authnid import AuthenticationContext
from atst.domain.audit_log import AuditLog
from atst.domain.auth import logout as _logout
from atst.domain.common import Paginator
from atst.domain.exceptions import NotFoundError
from atst.domain.portfolios import Portfolios
from atst.domain.authz.decorator import user_can_access_decorator as user_can
from atst.forms.ccpo_user import CCPOUserForm
from atst.models.permissions import Permissions
from atst.utils.context_processors import atat as atat_context_processor
from atst.utils.flash import formatted_flash as flash
@@ -141,6 +143,35 @@ def ccpo_users():
return render_template("ccpo/users.html", users=users)
@bp.route("/ccpo-users/new")
@user_can(Permissions.CREATE_CCPO_USER, message="create ccpo user")
def add_new_ccpo_user():
form = CCPOUserForm()
return render_template("ccpo/add_user.html", form=form)
@bp.route("/ccpo-users/new", methods=["POST"])
@user_can(Permissions.CREATE_CCPO_USER, message="create ccpo user")
def submit_add_new_ccpo_user():
try:
new_user = Users.get_by_dod_id(request.form['dod_id'])
form = CCPOUserForm(obj=new_user)
except NotFoundError:
new_user = None
form = CCPOUserForm()
return render_template("ccpo/confirm_user.html", new_user=new_user, form=form)
@bp.route("/ccpo-users/confirm-new", methods=["POST"])
@user_can(Permissions.CREATE_CCPO_USER, message="create ccpo user")
def confirm_new_ccpo_user():
new_user = Users.get_by_dod_id(request.form['dod_id'])
# give new perms here
# flash w/ success message
return redirect(url_for("atst.ccpo_users"))
@bp.route("/about")
def about():
return render_template("about.html")