add features
This commit is contained in:
34
app.py
34
app.py
@@ -1,7 +1,6 @@
|
|||||||
from flask import Flask, render_template
|
from flask import Flask, render_template, request, redirect, url_for
|
||||||
from models import db
|
from models import db
|
||||||
from models import *
|
from models import User, Progul
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
app = Flask(__name__)
|
app = Flask(__name__)
|
||||||
@@ -10,14 +9,37 @@ app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///app.db'
|
|||||||
|
|
||||||
db.init_app(app)
|
db.init_app(app)
|
||||||
|
|
||||||
|
|
||||||
@app.route('/')
|
@app.route('/')
|
||||||
def index():
|
def index():
|
||||||
return render_template('index.html')
|
return render_template('index.html')
|
||||||
|
|
||||||
|
|
||||||
@app.route('/admin')
|
@app.route('/admin', methods=['GET', 'POST'])
|
||||||
def admipage():
|
def adminpage():
|
||||||
return render_template('adminpage.html')
|
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')
|
||||||
|
def addprogul():
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
app.run(host='0.0.0.0', port='3800', debug=True)
|
app.run(host='0.0.0.0', port='3800', debug=True)
|
||||||
12
models.py
12
models.py
@@ -2,8 +2,12 @@ from flask_sqlalchemy import SQLAlchemy
|
|||||||
|
|
||||||
db = SQLAlchemy()
|
db = SQLAlchemy()
|
||||||
|
|
||||||
class PrintedDetal(db.Model):
|
class User(db.Model):
|
||||||
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
|
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
|
||||||
imgpath = db.Column(db.String(3000))
|
FIO = db.Column(db.String(300))
|
||||||
stlpath = db.Column(db.String(3000))
|
dolgnost = db.Column(db.String(3000))
|
||||||
isprinted = db.Column(db.Boolean())
|
|
||||||
|
class Progul(db.Model):
|
||||||
|
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
|
||||||
|
IO = db.Column(db.Date())
|
||||||
|
user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
|
||||||
@@ -20,16 +20,20 @@
|
|||||||
|
|
||||||
|
|
||||||
<div class="container card">
|
<div class="container card">
|
||||||
|
<form method="post" enctype=multipart/form-data action="/addprogul">
|
||||||
|
|
||||||
<h2>Добавить прогул</h2>
|
<h2>Добавить прогул</h2>
|
||||||
<label> Выберите сотрудника из списка ниже </label>
|
<label> Выберите сотрудника из списка ниже </label>
|
||||||
<select class="form-select" aria-label="Default select example">
|
<select class="form-select" aria-label="Default select example">
|
||||||
<option value="1">Сальный А.Г.</option>
|
{% for key, value in users.items() %}
|
||||||
<option value="2">Талыкова К.Б.</option>
|
|
||||||
<option value="3">Ким Н.А.</option>
|
<option value="{{key}}">{{value}}</option>
|
||||||
|
{% endfor %}
|
||||||
</select>
|
</select>
|
||||||
<label for="startDate">Выберите дату прогула</label>
|
<label for="startDate">Выберите дату прогула</label>
|
||||||
<input id="startDate" class="form-control" type="date" />
|
<input id="startDate" class="form-control" type="date" />
|
||||||
<button type="button" class="btn btn-primary">Добавить</button>
|
<button type="button" class="btn btn-primary">Добавить</button>
|
||||||
|
</form>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
@@ -37,22 +41,21 @@
|
|||||||
<h2>
|
<h2>
|
||||||
Добавить сотрудника
|
Добавить сотрудника
|
||||||
|
|
||||||
<form>
|
<form method="post" enctype=multipart/form-data action="/adduser">
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label for="exampleInputEmail1" class="form-label">ФИО сотрудника</label>
|
<label >ФИО сотрудника</label>
|
||||||
<input type="email" class="form-control" id="exampleInputEmail1" aria-describedby="emailHelp">
|
<input name="fio" type="text" class="form-control">
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label for="exampleInputPassword1" class="form-label">Должность</label>
|
<label for="exampleInputPassword1" class="form-label">Должность</label>
|
||||||
<select class="form-select" aria-label="Default select example">
|
<select class="form-select" name="dolgnost" aria-label="Default select example">
|
||||||
<option value="laborant">Лаборант</option>
|
<option value="laborant">Лаборант</option>
|
||||||
<option value="ingener">Инженер</option>
|
<option value="ingener">Инженер</option>
|
||||||
<option value="vedingener">Ведущий инженер</option>
|
<option value="vedingener">Ведущий инженер</option>
|
||||||
<option value="4">Сальный</option>
|
|
||||||
</select>
|
</select>
|
||||||
|
<button type="submit" class="btn btn-primary">Добавить</button>
|
||||||
</div>
|
</div>
|
||||||
<button type="submit" class="btn btn-primary">Submit</button>
|
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
</h2>
|
</h2>
|
||||||
|
|||||||
@@ -29,7 +29,7 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<td>Сальный А.Г.</td>
|
<td>Сальный А.Г.</td>
|
||||||
<td>0</td>
|
<td>0</td>
|
||||||
<td></td>
|
<td>28.12.2002, 29.12.2009</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|||||||
Reference in New Issue
Block a user