68 lines
1.9 KiB
Python
68 lines
1.9 KiB
Python
from app import app, db
|
|
from flask import render_template, request, jsonify, redirect
|
|
from app.models import Day, Hour, Activity
|
|
from datetime import datetime, timedelta
|
|
|
|
|
|
@app.route("/import", methods=["GET"])
|
|
def import_db():
|
|
tracker = app.tracker
|
|
tracker.import_codes()
|
|
tracker.import_csv()
|
|
return redirect("/")
|
|
|
|
|
|
@app.route("/")
|
|
def home():
|
|
return redirect("/tracker")
|
|
|
|
|
|
@app.route("/tracker", methods=["GET"])
|
|
def tracker():
|
|
past = datetime.today() - timedelta(days=5)
|
|
future = datetime.today() + timedelta(days=1)
|
|
|
|
days = db.session.query(Day).filter(Day.date >= past,
|
|
Day.date <= future).all()
|
|
|
|
return render_template("table.html", days=days, now=datetime.now())
|
|
|
|
|
|
@app.route("/categories", methods=["GET"])
|
|
def categories():
|
|
activities = db.session.query(Activity).all()
|
|
|
|
return render_template("categories.html", activities=activities)
|
|
|
|
|
|
@app.route("/colors.css")
|
|
def colors():
|
|
return render_template("colors.css"), 200, {'Content-Type': 'text/css; charset=utf-8'}
|
|
|
|
|
|
@app.route("/get-activity-form/<int:hour_id>", methods=["GET"])
|
|
def update_entry(hour_id):
|
|
hour = db.session.query(Hour).filter(Hour.hour_id == hour_id).first()
|
|
return render_template("forms/update-entry.html", hour=hour)
|
|
|
|
|
|
@app.route("/get-color-form/<int:activity_id>", methods=["GET"])
|
|
def update_color(activity_id):
|
|
activity = db.session.query(Activity).filter(
|
|
Activity.activity_id == activity_id).first()
|
|
|
|
return render_template("forms/select-color.html", activity=activity)
|
|
|
|
|
|
@app.route("/change-color", methods=["POST"])
|
|
def change_color():
|
|
activity_id = request.form.get("activity_id")
|
|
color = request.form.get("color")
|
|
|
|
activity = db.session.query(Activity).filter(
|
|
Activity.activity_id == activity_id).first()
|
|
|
|
activity.color = color
|
|
db.session.commit()
|
|
return render_template("/categories.html")
|