commit 7711c16ac48e77183cf63e33ed3407ffaf08e4b0
parent f741189ca31dc5cda0db9513b01c689a8145b035
Author: Brennen T. Mazur <brennen@madis.cool>
Date: Thu, 9 Mar 2023 18:15:46 -0700
form default structure
Diffstat:
2 files changed, 35 insertions(+), 15 deletions(-)
diff --git a/app/forms.py b/app/forms.py
@@ -13,15 +13,13 @@ class LoginForm(FlaskForm):
login = SubmitField('Login')
class NewUserForm(FlaskForm):
- branches=['Dillon','Salmon']
- roles=['Crew','Assistant Crew Lead','Crew Lead','Project Manager','Accounting']
fname = StringField('First Name', validators=[DataRequired()])
mname = StringField('Middle Initial', validators=[DataRequired(),length(max=1)])
lname = StringField('Last Name', validators=[DataRequired()])
birthday = DateField('Birthday',validators=[DataRequired()])# Ought to change this to some validation for age range accepted
- role = SelectField('Role',validators=[DataRequired()],choices=roles)
+ role = SelectField('Role',validators=[DataRequired()])
address = StringField('Address',validators=[DataRequired()])# Require some sort of validator for check...
- branch = SelectField('Branch',validators=[DataRequired(),length(max=200)],choices=branches)
+ branch = SelectField('Branch',validators=[DataRequired(),length(max=200)])
phonenumber = TelField('Phone Number',validators=[DataRequired(),length(max=12)])# Require some sort of validator for check...
email = EmailField('Email',validators=[DataRequired()])# Require some sort of validator for check...
payPeriod = StringField('Pay Period Override',validators=[optional()])# May not need this at all?
@@ -30,8 +28,7 @@ class NewUserForm(FlaskForm):
createNewUser = SubmitField('Create New User')
class PunchclockoutWidget(FlaskForm):
- projects=['Project 1','Project 2','Project 3']
- projectsSel = SelectField('Project', validators=[DataRequired()],choices=projects)
+ projectsSel = SelectField('Project', validators=[DataRequired()])
#clockout = currenttime
lunchBox = BooleanField('Lunch')
per_diemBox = BooleanField('Per Diem')
@@ -39,8 +36,7 @@ class PunchclockoutWidget(FlaskForm):
clockout = SubmitField('Clock Out')
class PunchclockinWidget(FlaskForm):
- projects=['Project 1','Project 2','Project 3']
- projectsSel = SelectField('Project', validators=[DataRequired()],choices=projects)
+ projectsSel = SelectField('Project', validators=[DataRequired()])
#clockin = currenttime
# IFF user.role is_in(trusted_role[]) then allow lunch minute definition
clockin = SubmitField('Clock In')
@@ -63,10 +59,8 @@ class AdmnPermissionsForm(FlaskForm):# for each module make Boolean field. Gets
updaterole = SubmitField('Update')#Update to take role name for pass to write fn
class FleetCheckoutForm(FlaskForm):
- vehicles=['Vehicle 1','Vehicle 2', 'Vehicle 3']
- startingmiles=0
- vehicle = SelectField('Vehicle', validators = [DataRequired()], choices = vehicles)
- start_milage = IntegerField('Starting Milage', validators=[DataRequired()], default=startingmiles)# Require some sort of validator for check...
+ vehicle = SelectField('Vehicle', validators = [DataRequired()])
+ start_milage = IntegerField('Starting Milage', validators=[DataRequired()])# Require some sort of validator for check...
horn = BooleanField('Horn')
signals = BooleanField('Signals')
tires = BooleanField('Tires')
diff --git a/app/routes.py b/app/routes.py
@@ -149,10 +149,26 @@ def dashboard():
clocked_out = True
#End isUserClockedIn()
+# Temp values, change to db dependent values
+ availableProjects = ['Project 1', 'Project 2', 'Project 3']
+ availableVehicles = ['Vehicle 1', 'Vehicle 2', 'Vehicle 3', 'Vehicle 4']
+ currentProject = 'Project 2'
+ lastMilage = 103483
+
clockinform=PunchclockinWidget()
clockoutform=PunchclockoutWidget()
fleetoutform=FleetCheckoutForm()
fleetinform=FleetCheckinForm()
+
+ clockinform.projectsSel.choices = availableProjects
+ clockoutform.projectsSel.choices = availableProjects
+ clockoutform.projectsSel.default = currentProject
+ fleetoutform.vehicle.choices = availableVehicles
+ fleetoutform.start_milage.default = lastMilage
+
+ clockinform.process()
+ clockoutform.process()
+ fleetoutform.process()
if clockoutform.validate_on_submit():
mongo.db.time_collection.insert({'clock_out' : [datetime.datetime.utcnow()],
@@ -167,8 +183,6 @@ def dashboard():
'project' : clockinform.project.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,
@@ -176,7 +190,7 @@ def dashboard():
'operator':current_user.username,
'additional_notes':fleetoutform.additionalnotes.data})
return redirect(url_for('dashboard'))
- return render_template('dashboard/layout.html',permissions=dashperms,projects=available_projects,clocked_out=clocked_out,clockoutform=clockoutform,clockinform=clockinform,fleetinform=fleetinform,fleetoutform=fleetoutform,clocked_in_users=clocked_in_users,ORGNAME=OrganizationName)
+ return render_template('dashboard/layout.html',permissions=dashperms,clocked_out=clocked_out,clockoutform=clockoutform,clockinform=clockinform,fleetinform=fleetinform,fleetoutform=fleetoutform,clocked_in_users=clocked_in_users,ORGNAME=OrganizationName)
@app.route("/admin")
#@admin_required
@@ -244,7 +258,19 @@ def inactiveusers():
@app.route("/admin/newuser", methods=["GET","POST"])
@login_required
def newuser():
+# Temp values, change to modular db dependent values
+ availableBranches = ['Dillon','Salmon']
+ availableRoles = ['Crew', 'Assistant Crew Lead', 'Crew Lead', 'Project Manager', 'Accounting']
+ defaultBranch = 'Dillon'
+ defaultRole = 'Crew'
+# END TMP Values
+
form = NewUserForm()
+ form.branch.choices = availableBranches
+ form.branch.default = defaultBranch
+ form.role.choices = availableRoles
+ form.role.default = defaultRole
+ form.process()
if form.validate_on_submit():
genpasswd = ''.join(random.choice(string.ascii_letters) for _ in range(14))