stc

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

commit 951ec8c3ee0faf79c1d496c31f1425da1fdbf33c
parent 4a219878abd4d3edeb7d6f240a1164f6e4ff2029
Author: Youth Employment Program Production <youthemployment22@gmail.com>
Date:   Sat, 20 Apr 2024 21:56:16 -0600

refactor new_time, new_user_time, cleanup clockin_new_user

Diffstat:
Mapp/routes.py | 88++++++++++++++++++++++++++++++++++++++++++++++---------------------------------
1 file changed, 51 insertions(+), 37 deletions(-)

diff --git a/app/routes.py b/app/routes.py @@ -541,22 +541,22 @@ def clockin_new_user(): @app.route("/newtime/<usernm>",methods=['GET','POST']) @login_required def new_time(usernm): - clocked_in_users = mongo.db.time_collection.find({'clock_out': {'$exists':False}}) +# clocked_in_users = mongo.db.time_collection.find({'clock_out': {'$exists':False}}) availableProjects = [] for project in mongo.db.projects_collection.find(): availableProjects.append((project['_id'],project['project_name'])) # GET_CLOCKED out users - clocked_out_active_users=[] - clocked_in_active_users=[] - for active in mongo.db.user_collection.find({'is_active':True},{'username':1,'fname':1,'mname':1,'lname':1}): - funame = active['fname']+' '+active['lname'] - alreadyin = [] - for user in clocked_in_users: - alreadyin.append(user['modified_by'][0]) - if any(element in active['username'] for element in alreadyin): - clocked_in_active_users.append((active['_id'],funame)) - else: - clocked_out_active_users.append((active['username'],funame)) +# clocked_out_active_users=[] +# clocked_in_active_users=[] +# for active in mongo.db.user_collection.find({'is_active':True},{'username':1,'fname':1,'mname':1,'lname':1}): +# funame = active['fname']+' '+active['lname'] +# alreadyin = [] +# for user in clocked_in_users: +# alreadyin.append(user['modified_by'][0]) +# if any(element in active['username'] for element in alreadyin): +# clocked_in_active_users.append((active['_id'],funame)) +# else: +# clocked_out_active_users.append((active['username'],funame)) form=NewHoursForm() form.projectSel.choices = availableProjects @@ -565,26 +565,23 @@ def new_time(usernm): dateentry = datetime.datetime.combine(form.dateSel.data,datetime.time()) starttime = datetime.datetime.combine(form.dateSel.data,form.startTime.data) endtime = datetime.datetime.combine(form.dateSel.data,form.endTime.data) - if usernm is current_user.username: - mongo.db.time_collection.insert_one({ - 'modified_by' : [usernm], + entryevent = { 'date' : dateentry, 'clock_in' : [starttime], 'clock_out' : [endtime], 'project' : ObjectId(form.projectSel.data), 'lunch': form.lunchSel.data, - 'per_diem':form.perDiemSel.data}) + 'per_diem':form.perDiemSel.data + } + if usernm is current_user.username: + entryevent['modified_by'] = [usernm] else: - mongo.db.time_collection.insert_one({ - 'modified_by' : [usernm, current_user.username], - 'date' : dateentry, - 'clock_in' : [starttime], - 'clock_out' : [endtime], - 'project' : ObjectId(form.projectSel.data), - 'lunch': form.lunchSel.data, - 'per_diem':form.perDiemSel.data}) + entryevent['modified_by'] = [usernm,current_user.username] + if form.note.data != '': + entryevent['note'] = form.note.data + mongo.db.time_collection.insert_one(entryevent) - return redirect(url_for('dashboard')) + return redirect(url_for('hours',username=usrnm)) return render_template('dashboard/punchclock/otheruser.html',form=form,ORGNAME=OrganizationName) @@ -619,24 +616,41 @@ def new_user_time(): dateentry = datetime.datetime.combine(form.dateSel.data,datetime.time()) starttime = datetime.datetime.combine(form.dateSel.data,form.startTime.data) endtime = datetime.datetime.combine(form.dateSel.data,form.endTime.data) - if form.userSel.data is current_user.username: - mongo.db.time_collection.insert_one({ - 'modified_by' : [form.userSel.data], +# if form.userSel.data is current_user.username: +# mongo.db.time_collection.insert_one({ +# 'modified_by' : [form.userSel.data], +# 'date' : dateentry, +# 'clock_in' : [starttime], +# 'clock_out' : [endtime], +# 'project' : ObjectId(form.projectSel.data), +# 'lunch': form.lunchSel.data, +# 'per_diem':form.perDiemSel.data}) +# else: +# mongo.db.time_collection.insert_one({ +# 'modified_by' : [form.userSel.data, current_user.username], +# 'date' : dateentry, +# 'clock_in' : [starttime], +# 'clock_out' : [endtime], +# 'project' : ObjectId(form.projectSel.data), +# 'lunch': form.lunchSel.data, +# 'per_diem':form.perDiemSel.data}) + + #New + entryevent = { 'date' : dateentry, 'clock_in' : [starttime], 'clock_out' : [endtime], 'project' : ObjectId(form.projectSel.data), 'lunch': form.lunchSel.data, - 'per_diem':form.perDiemSel.data}) + 'per_diem':form.perDiemSel.data + } + if form.userSel.data is current_user.username: + entryevent['modified_by'] = [form.userSel.data] else: - mongo.db.time_collection.insert_one({ - 'modified_by' : [form.userSel.data, current_user.username], - 'date' : dateentry, - 'clock_in' : [starttime], - 'clock_out' : [endtime], - 'project' : ObjectId(form.projectSel.data), - 'lunch': form.lunchSel.data, - 'per_diem':form.perDiemSel.data}) + entryevent['modified_by'] = [form.userSel.data,current_user.username] + if form.note.data != '': + entryevent['note'] = form.note.data + mongo.db.time_collection.insert_one(entryevent) return redirect(url_for('new_user_time'))