commit c0d30adf3e696f4572454d1f2224ec6d4d1100f2
parent b8cdb9560a3dcbe82ed914a3aa6c126068391af1
Author: Brennen T. Mazur <brennen@madis.cool>
Date: Fri, 24 Feb 2023 15:38:43 -0700
punchclock in and out setup
Diffstat:
2 files changed, 23 insertions(+), 3 deletions(-)
diff --git a/app/forms.py b/app/forms.py
@@ -29,7 +29,16 @@ class NewUserForm(FlaskForm):
setActive = BooleanField('Active',default="checked")# Require some sort of validator for check...
createNewUser = SubmitField('Create New User')
-class PunchclockWidget(FlaskForm):
+class PunchclockoutWidget(FlaskForm):
+ projects=['Project 1','Project 2','Project 3']
+ projectsSel = SelectField('Project', validators=[DataRequired()],choices=projects)
+ #clockin = currenttime
+ lunchBox = BooleanField('Lunch')
+ per_diemBox = BooleanField('Per Diem')
+ # IFF user.role is_in(trusted_role[]) then allow lunch minute definition
+ clockout = SubmitField('Clock Out')
+
+class PunchclockinWidget(FlaskForm):
projects=['Project 1','Project 2','Project 3']
projectsSel = SelectField('Project', validators=[DataRequired()],choices=projects)
#clockin = 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, PunchclockWidget, FleetCheckoutForm, FleetCheckinForm, NewUserForm, AdmnPermissionsForm, DashPermissionsForm
+from app.forms import LoginForm, PunchclockinWidget, PunchclockoutWidget, FleetCheckoutForm, FleetCheckinForm, NewUserForm, AdmnPermissionsForm, DashPermissionsForm
from flask import request
from werkzeug.urls import url_parse
from werkzeug.security import generate_password_hash, check_password_hash
@@ -109,12 +109,23 @@ def dashboard():
# all_permissions=mongo.db.permissions_collection.find_one('current_user.role')
# dashperms=all_permissions['dashboard']
- clockform=PunchclockWidget()
+ clockinform=PunchclockinWivdget()
+ clockoutform=PunchclockoutWidget()
fleetoutform=FleetCheckoutForm()
fleetinform=FleetCheckinForm()
currenttime=datetime.datetime.utcnow()
+ if clockform.validate_on_submit():
+ mongo.db.fleet_collection.insert_one({'clock_in' : datetime.datetime.utcnow(),
+ 'modified_by' : [current_user.username],
+ 'date' : datetime.datetime.today(),
+ 'project' : clockform.project.data,
+ 'lunch' : clockform.lunch.data,
+ 'per_diem' : clockform.perdiem.data})
+ return redirect(url_for('dashboard'))
+
available_projects = {'STC Webapp':'stcapp','YEP Website':'yepsite','Volunteer Day':'volday'} #not used/not working
+
if fleetoutform.validate_on_submit():
mongo.db.fleet_collection.insert_one({'date':datetime.datetime.today(), # NEED to work on modular way of storing safety checks... might condence to single true if all checked. else returns false and records false datavalue.label in incident_report[] If incident report, remove vehicle from available pool and display widget in admin layout
'vehicle':fleetoutform.vehicle.data,