commit 778f0b691c76255515543c3a7626ca34995ee687
parent 472a37883bb9d2fd6cdf3903eb0eab3daeba6ca5
Author: Brennen T. Mazur <brennen@madis.cool>
Date: Sun, 2 Apr 2023 22:41:58 -0600
crew clockin list now has functional toggle lunch and per diem buttons
Diffstat:
2 files changed, 37 insertions(+), 13 deletions(-)
diff --git a/app/routes.py b/app/routes.py
@@ -288,16 +288,28 @@ def dashboard():
@app.route("/toggle-lunch/<timeid>",methods=['GET','POST'])
def toggle_lunch(timeid):
- #query timeid
- #if lunch exists, toggle true if false, and vice versa
- #else set lunch: True
+ timeid = ObjectId(timeid)
+
+ if mongo.db.time_collection.find_one({'_id': timeid, 'lunch':{'$exists':False}}):
+ mongo.db.time_collection.update_one({'_id':timeid},{'$set':{'lunch':True}})
+ if mongo.db.time_collection.find_one({'_id': timeid})['lunch'] == True:
+ mongo.db.time_collection.update_one({'_id':timeid},{'$set':{'lunch':False}})
+ else:
+ mongo.db.time_collection.update_one({'_id':timeid},{'$set':{'lunch':True}})
+
return redirect(url_for('dashboard'))
@app.route("/toggle-per-diem/<timeid>",methods=['GET','POST'])
def toggle_per_diem(timeid):
- #query timeid
- #if perdiem exists, toggle true if false, and vice versa
- #else set perdiem: True
+ timeid = ObjectId(timeid)
+
+ if mongo.db.time_collection.find_one({'_id': timeid, 'per_diem':{'$exists':False}}):
+ mongo.db.time_collection.update_one({'_id':timeid},{'$set':{'per_diem':True}})
+ if mongo.db.time_collection.find_one({'_id': timeid})['per_diem'] == True:
+ mongo.db.time_collection.update_one({'_id':timeid},{'$set':{'per_diem':False}})
+ else:
+ mongo.db.time_collection.update_one({'_id':timeid},{'$set':{'per_diem':True}})
+
return redirect(url_for('dashboard'))
@app.route("/clockinuser/<modusernm>/<usertoinid>/<project>/<intime>", methods=['GET','POST'])
@@ -604,8 +616,7 @@ def project_report():
def pay_period_report():
pay = mongo.db.time_collection.find({})
users = mongo.db.user_collection.find({})
- time = mongo.db.time_collection.find({})
- return render_template ('admin/reports/pay_period_report.html', users=users, pay=pay, time=time, ORGNAME=OrganizationName)
+ return render_template('admin/reports/pay_period_report.html', users=users, pay=pay, ORGNAME=OrganizationName)
# @app.route("/dev/fleetdata")
# @login_required
diff --git a/app/templates/dashboard/activeusers/widget.html b/app/templates/dashboard/activeusers/widget.html
@@ -11,18 +11,30 @@
{% for user in clocked_in_users %}
<tr>
<td><button><a href="{{ url_for('hours',username=user.modified_by.0) }}">{{ user.modified_by.0 }}</a></button></td>
- <td><button><a href="{{ url_for('toggle_lunch',timeid=user._id) }}">Clock Out</a></button></td>
- <td><input type="checkbox" name="lunch"><label for="lunch">Lunch</label></td>
- <td><input type="checkbox" name="per_diem"><label for="per_diem">Per Diem</label></td>
+ <td><a href="{{ url_for('toggle_lunch',timeid=user._id) }}">
+ {% if user.lunch %}
+ <input type="checkbox" name="lunch" checked><label for="lunch">Lunch</label>
+ {% else %}
+ <input type="checkbox" name="lunch"><label for="lunch">Lunch</label>
+ {% endif %}
+ </a></td>
+ <td><a href="{{ url_for('toggle_per_diem',timeid=user._id) }}">
+ {% if user.per_diem %}
+ <input type="checkbox" name="per_diem" checked><label for="per_diem">Per Diem</label>
+ {% else %}
+ <input type="checkbox" name="per_diem"><label for="per_diem">Per Diem</label>
+ {% endif %}
+ </a></td>
<td><button><a href="{{ url_for('hours',username=user.modified_by.0) }}">{{ user.clock_in.0.time().isoformat(timespec='minutes') }}</a></button></td><!-- can format/display non-military time with format %I:%M%p -->
<td><button><a href="{{ url_for('clockout_by_id',modusernm=current_user.username,timeid=user._id) }}">Clock Out</a></button></td>
</tr>
{% endfor %}
</table>
</form>
- <form>
+<!-- clock in clocked out user MIGHT NEED TO COMMENT OUT... DOES NOT GET DATA FROM FORMS ON SUBMIT... ONLY USES DEFAULT.data -->
+<!-- <form>
<table>
- <tr><!-- clock in clocked out user MIGHT NEED TO COMMENT OUT... DOES NOT GET DATA FROM FORMS ON SUBMIT... ONLY USES DEFAULT.data -->
+ <tr>
<td>{{ crewform.userSel.label }} {{ crewform.userSel() }}</td>
<td>{{ crewform.projectSel.label }} {{ crewform.projectSel() }}</td>
<td>{{ crewform.time.label }} {{ crewform.time() }}</td>
@@ -30,4 +42,5 @@
</tr>
</table>
</form>
+-->
</section>