Files
ProgulAsuFlask/app.py
2022-11-05 14:06:09 +03:00

78 lines
2.0 KiB
Python

from flask import Flask, render_template, request, redirect, url_for
from models import db
from models import User, Progul
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///app.db'
db.init_app(app)
@app.route('/')
def index():
allUsetrs = User.query.order_by(User.FIO).all()
s = {}
for user in allUsetrs:
dates = []
data = {}
u = db.session.query(User.id).filter(User.id == user.id).subquery()
if len(Progul.query.filter(Progul.user_id.in_(u)).all()) > 0:
for pr in Progul.query.filter(Progul.user_id.in_(u)).all():
dates.append(pr.progulDate)
data['dates'] = dates
data['kolvo'] = len(dates)
s[user.FIO] = data
else:
data['dates'] = ''
data['kolvo'] = '0'
s[user.FIO] = data
return render_template('index.html', users = s )
@app.route('/admin', methods=['GET', 'POST'])
def adminpage():
usersQuery = User.query.all()
users = {}
for user in usersQuery:
users[user.id] = user.FIO
return render_template('adminpage.html', users={k: v for k, v in sorted(users.items(), key=lambda item: item[1])}, methods=['GET', 'POST'])
@app.route('/adduser', methods=['GET', 'POST'])
def useradd():
if request.method == 'POST':
fio = request.form['fio']
dolgn = request.form['dolgnost']
userAdd = User(FIO=fio, dolgnost=dolgn)
db.session.add(userAdd)
db.session.commit()
return redirect(url_for('adminpage'))
@app.route('/addprogul', methods=['GET', 'POST'])
def addprogul():
if request.method == 'POST':
dataproeba = request.form['dateprogul']
sotrId = request.form['sotrudnik']
p = Progul(progulDate=str(dataproeba), user_id=sotrId)
db.session.add(p)
db.session.commit()
return redirect(url_for('adminpage'))
if __name__ == '__main__':
app.run(host='0.0.0.0', port='3800', debug=True)