diff --git a/app.py b/app.py index 4640b62..3731d88 100644 --- a/app.py +++ b/app.py @@ -1,11 +1,80 @@ -from flask import Flask, render_template +from flask import Flask, render_template, request, flash, redirect +import datetime +from sqlalchemy import create_engine, Column, Integer, Date, String +from sqlalchemy.ext.declarative import declarative_base +from sqlalchemy.orm import sessionmaker app = Flask(__name__) +app.config['SECRET_KEY'] = 'fa6166b0218186fb852429060105aca18e0f979240be8ebf' + +Base = declarative_base() -@app.route('/') +class Dates(Base): + __tablename__ = 'Dates' + id = Column(Integer, primary_key=True, autoincrement=True) + dateType = Column(Integer), + dateValue = Column(Date) + + +class DatesMetadata(Base): + __tablename__ = 'DatesMetadata' + id = Column(Integer, primary_key=True, autoincrement=True) + dateTypeID = Column(Integer) + DateTypeName = Column(String) + + +class Settings(Base): + __tablename__ = 'Settings' + id = Column(Integer, primary_key=True, autoincrement=True) + settingType = Column(Integer) + settingVale = Column(String) + + +class SettingsMetadata(Base): + __tablename__ = 'SettingsMetadata' + id = Column(Integer, primary_key=True, autoincrement=True) + settingTypeID = Column(Integer) + settingTypeName = Column(String) + + +engine = create_engine('sqlite:///static/db.db') +Dates.__table__.create(bind=engine, checkfirst=True) +Settings.__table__.create(bind=engine, checkfirst=True) +DatesMetadata.__table__.create(bind=engine, checkfirst=True) +SettingsMetadata.__table__.create(bind=engine, checkfirst=True) + +Session = sessionmaker(bind=engine) +session = Session() + + +@app.route('/', methods=('GET', 'POST')) +@app.route('/index.html', methods=('GET', 'POST')) def index(): - return render_template("index.html") + + plantdate = datetime.datetime(2022, 1,19) + last = datetime.datetime(2022, 1,19) + freq = 7 + next = last + datetime.timedelta(days=freq) + + alerts = {'text': False, 'email': True} + + if request.method == 'POST': + plantdate = request.form['plantDate'] + last = request.form['lastDate'] + next = datetime.datetime.strptime(last,'%Y-%m-%d') + datetime.timedelta(days=freq) + + plant = {'plant': plantdate, 'last': last, 'next': next, 'freq': freq} + return render_template("index.html", plant=plant, alerts=alerts) + + else: + dates = {'plant': '', 'last': '', 'next':'', 'freq': ''} + dates['plant'] = session.query(Dates.dateValue).filter(Dates.dateType == 1).first() + dates['last'] = session.query(Dates.dateValue).filter(Dates.dateType == 2).first() + dates['next'] = session.query(Dates.dateValue).filter(Dates.dateType == 3).first() + dates['freq'] = session.query(Dates.dateValue).filter(Dates.dateType == 4).first() + flash(dates['plant']) + return render_template("index.html", plant=dates, alerts=alerts) if __name__ == '__main__': diff --git a/templates/base.html b/templates/base.html new file mode 100644 index 0000000..ade8a07 --- /dev/null +++ b/templates/base.html @@ -0,0 +1,18 @@ + +
+