stc

a simple time card webapp
git clone _git@git.brennen.work:stc.git
Log | Files | Refs | README

commit 952a0c371917edca7365ecc78b5bca21f9c7c47a
parent 0f6cc7741427c4c5a6b7945388be6c769e0fcb12
Author: Youth Employment Program Production <youthemployment22@gmail.com>
Date:   Sat, 20 Apr 2024 00:29:58 -0600

New Feature: add renaming of agreements. BUGIFX call appropriate collection in agreement fns.

Diffstat:
Mapp/forms.py | 6+++++-
Mapp/routes.py | 20+++++++++++---------
Mapp/templates/admin/agreements/update/rename.html | 6+++---
3 files changed, 19 insertions(+), 13 deletions(-)

diff --git a/app/forms.py b/app/forms.py @@ -51,7 +51,7 @@ class ChangePasswordForm(FlaskForm): changePassword = SubmitField('Change Password') class NewRoleForm(FlaskForm): - rolename = StringField('Role Name', validators=[DataRequired()]) + rolename = StringField('Role Name', validators=[DataRequired()]) class ConfirmRemove(FlaskForm): confirm = SubmitField('YES REMOVE') @@ -79,6 +79,10 @@ class NewAgreementForm(FlaskForm): endDate = DateField('End Date') createNewAgreement = SubmitField('Create New Agreement') +class RenameAgreementForm(FlaskForm): + newName = StringField('Agreement Name', validators=[DataRequired()]) + renameAgreement = SubmitField('Update Agreement') + class PunchclockoutWidget(FlaskForm): #projectsSel = SelectField('Project', validators=[DataRequired()]) #clockout = currenttime diff --git a/app/routes.py b/app/routes.py @@ -4,7 +4,7 @@ from app import app from flask_pymongo import PyMongo from flask_login import LoginManager from flask import render_template, url_for, request, flash, redirect -from app.forms import LoginForm, PunchclockinWidget, PunchclockoutWidget, FleetCheckoutForm, FleetCheckinForm, NewUserForm, AdmnPermissionsForm, DashPermissionsForm, NewHoursForm, ConfirmRemove, NewAgreementForm, NewProjectForm, MoveProjectForm, RenameProjectForm, CrewClockinWidget, NewUserHourForm, ChangePasswordForm, ChangeUserForm, upDate, updateTime, updateProject, newNote, dateRange +from app.forms import LoginForm, PunchclockinWidget, PunchclockoutWidget, FleetCheckoutForm, FleetCheckinForm, NewUserForm, AdmnPermissionsForm, DashPermissionsForm, NewHoursForm, ConfirmRemove, NewAgreementForm, RenameAgreementForm, NewProjectForm, MoveProjectForm, RenameProjectForm, CrewClockinWidget, NewUserHourForm, ChangePasswordForm, ChangeUserForm, upDate, updateTime, updateProject, newNote, dateRange from flask import request from werkzeug.urls import url_parse from werkzeug.security import generate_password_hash, check_password_hash @@ -1461,17 +1461,19 @@ def rename_agreement(agreement_id): form = RenameAgreementForm() if form.validate_on_submit(): try: - project = mongo.db.projects_collection.find_one({'_id':project_id}) + agreement = mongo.db.agreements_collection.find_one({'_id':agreement_id}) except: - flash("Issue finding Project with id {}".format(project_id)) + flash("Issue finding Agreement with id {}".format(agreement_id)) + return redirect(url_for('rename_agreement',agreement_id=agreement_id)) else: try: - mongo.db.projects_collection.update_one({'_id':ObjectId(project_id)},{'$set':{'project_name':form.newName.data}}) + mongo.db.agreements_collection.update_one({'_id':ObjectId(agreement_id)},{'$set':{'agreement_name':form.newName.data}}) except: - flash("Issue setting {} as project name for {}".format(form.newName.data,project_id)) - finally: - return redirect(url_for('project', project_id=project_id)) - return render_template('admin/agreements/projects/update/rename.html',form=form,ORGNAME=OrganizationName) + flash("Issue setting {} as agreement name for {}".format(form.newName.data,agreement_id)) + return redirect(url_for('rename_agreement',agreement_id=agreement_id)) + else: + return redirect(url_for('agreement', agreement_id=agreement_id)) + return render_template('admin/agreements/update/rename.html',form=form,ORGNAME=OrganizationName) @app.route("/admin/remove/agreement/<agreement_id>",methods=["GET","POST"]) @login_required @@ -1481,7 +1483,7 @@ def remove_agreement(agreement_id): if form.validate_on_submit(): try: #TODO replace with get project(s) fn - agreement = mongo.db.agreement_collection.find_one({'_id':ObjectId(agreement_id)}) + agreement = mongo.db.agreements_collection.find_one({'_id':ObjectId(agreement_id)}) #END except: flash('Issue finding agreement id {}'.format(agreement_id)) diff --git a/app/templates/admin/agreements/update/rename.html b/app/templates/admin/agreements/update/rename.html @@ -1,10 +1,10 @@ {% extends 'base.html' %} -{% block title %}Update Project Name {% endblock %} +{% block title %}Update Agreement Name {% endblock %} {% block content %} <section class="new-agreement-grid"> - <h3>Update Project Name</h3> + <h3>Update Agreement Name</h3> <form action="" method="POST" novalidate> {{ form.hidden_tag() }} {% for error in form.errors %} @@ -21,7 +21,7 @@ {% endif %} {% endwith %} {{ form.newName.label }}{{ form.newName() }}<br> - {{ form.renameProject() }} + {{ form.renameAgreement() }} </form> </section> {% endblock %}