def create_or_update_new_application_step_1(portfolio_id=None, application_id=None): form = get_new_application_form({**http_request.form}, NameAndDescriptionForm, application_id) if form.validate(): application = None if application_id: application = Applications.get(application_id) application = Applications.update(application, form.data) flash("application_updated", application_name=application.name) else: portfolio = Portfolios.get_for_update(portfolio_id) application = Applications.create(g.current_user, portfolio, **form.data) flash("application_created", application_name=application.name) return redirect( url_for( "applications.update_new_application_step_2", application_id=application.id, )) else: return ( render_new_application_form( "applications/new/step_1.html", NameAndDescriptionForm, portfolio_id, application_id, form, ), 400, )
def edit(portfolio_id): portfolio = Portfolios.get_for_update(portfolio_id) form = PortfolioForm(http_request.form) if form.validate(): Portfolios.update(portfolio, form.data) return redirect( url_for("applications.portfolio_applications", portfolio_id=portfolio.id)) else: # rerender portfolio admin page return render_admin_page(portfolio, form)
def handle_update_application(form, application_id=None, portfolio_id=None): if form.validate(): application = None try: if application_id: application = Applications.get(application_id) application = Applications.update(application, form.data) flash("application_updated", application_name=application.name) else: portfolio = Portfolios.get_for_update(portfolio_id) application = Applications.create(g.current_user, portfolio, **form.data) flash("application_created", application_name=application.name) return application except AlreadyExistsError: flash("application_name_error", name=form.data["name"]) return False
def edit_members(portfolio_id): portfolio = Portfolios.get_for_update(portfolio_id) member_perms_form = member_forms.MembersPermissionsForm(http_request.form) if member_perms_form.validate(): for subform in member_perms_form.members_permissions: member_id = subform.member_id.data member = PortfolioRoles.get_by_id(member_id) if member is not portfolio.owner_role: new_perm_set = subform.data["permission_sets"] PortfolioRoles.update(member, new_perm_set) flash("update_portfolio_members", portfolio=portfolio) return redirect( url_for( "portfolios.admin", portfolio_id=portfolio_id, fragment="portfolio-members", _anchor="portfolio-members", ) ) else: return render_admin_page(portfolio)
def admin(portfolio_id): portfolio = Portfolios.get_for_update(portfolio_id) return render_admin_page(portfolio)