diff --git a/geruecht/__init__.py b/geruecht/__init__.py index a514acd..6591d64 100644 --- a/geruecht/__init__.py +++ b/geruecht/__init__.py @@ -1,17 +1,18 @@ -from flask import Flask, g +from flask import Flask from flask_sqlalchemy import SQLAlchemy from flask_bcrypt import Bcrypt -from flask_login import LoginManager - +from .controller.accesTokenController import AccesTokenController +# from flask_login import LoginManager app = Flask(__name__) -app.config['SECRET_KEY'] = '0a657b97ef546da90b2db91862ad4e29' +# app.config['SECRET_KEY'] = '0a657b97ef546da90b2db91862ad4e29' app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///site.db' db = SQLAlchemy(app) bcrypt = Bcrypt(app) -login_manager = LoginManager(app) -login_manager.login_view = 'login' -login_manager.login_message_category = 'info' +accesTokenController = AccesTokenController() +# login_manager = LoginManager(app) +# login_manager.login_view = 'login' +# login_manager.login_message_category = 'info' -from geruecht import routes \ No newline at end of file +from geruecht import routes diff --git a/geruecht/controller/__init__.py b/geruecht/controller/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/geruecht/controller/accesTokenController.py b/geruecht/controller/accesTokenController.py new file mode 100644 index 0000000..1dfc13c --- /dev/null +++ b/geruecht/controller/accesTokenController.py @@ -0,0 +1,25 @@ +from geruecht.model.accessToken import AccessToken +from datetime import datetime +import hashlib + +class AccesTokenController(): + tokenList = None + + def __init__(self): + self.tokenList = [] + + def findAccesToken(self, token): + for accToken in self.tokenList: + if accToken == token: + return accToken + return None + + def createAccesToken(self, user): + time = datetime.ctime(datetime.now()) + token = hashlib.md5((time + user.password).encode('utf-8')).hexdigest() + self.tokenList.append(AccessToken(user, token)) + print(self.tokenList) + return token + + def isSameGroup(self, accToken, group): + return True if accToken.user.group == group else False diff --git a/geruecht/forms.py b/geruecht/forms.py deleted file mode 100644 index c13803b..0000000 --- a/geruecht/forms.py +++ /dev/null @@ -1,23 +0,0 @@ -from flask_wtf import FlaskForm -from wtforms import StringField, SubmitField, PasswordField; -from wtforms.validators import DataRequired, Length, ValidationError -from geruecht.model import User - - -class RegistrationForm(FlaskForm): - username = StringField('Name', validators=[DataRequired(), Length(min=2, max=20)]) - submit = SubmitField('Create') - - def validate_username(self, username): - - user = User.query.filter_by(username=username.data).first() - - if user: - raise ValidationError('Bist du behindert!? Der Name ist vergeben!!') - - -class FinanzerLogin(FlaskForm): - username = StringField('Name', validators=[DataRequired(), Length(min=2, max=20)]) - password = PasswordField('Password', validators=[DataRequired()]) - submit = SubmitField('Login') - diff --git a/geruecht/model.py b/geruecht/model.py deleted file mode 100644 index 9e73343..0000000 --- a/geruecht/model.py +++ /dev/null @@ -1,341 +0,0 @@ -from geruecht import db, login_manager -from threading import Timer -from flask_login import UserMixin -from datetime import date - - -@login_manager.user_loader -def load_finanzer(finanzer_id): - return Finanzer.query.get(int(finanzer_id)) - - -class User(db.Model): - id = db.Column(db.Integer, primary_key=True) - username = db.Column(db.String(20), unique=True, nullable=False) - sum = db.Column(db.Float, nullable=False, default=0.0) - - jan = db.Column(db.Float, nullable=False, default=0) - jan_sub = db.Column(db.Float, nullable=False, default=0) - jan_year = db.Column(db.Integer, nullable=False, default=date.today().year) - - feb = db.Column(db.Float, nullable=False, default=0) - feb_sub = db.Column(db.Float, nullable=False, default=0) - feb_year = db.Column(db.Integer, nullable=False, default=date.today().year) - - maer = db.Column(db.Float, nullable=False, default=0) - maer_sub = db.Column(db.Float, nullable=False, default=0) - maer_year = db.Column(db.Integer, nullable=False, default=date.today().year) - - apr = db.Column(db.Float, nullable=False, default=0) - apr_sub = db.Column(db.Float, nullable=False, default=0) - apr_year = db.Column(db.Integer, nullable=False, default=date.today().year) - - mai = db.Column(db.Float, nullable=False, default=0) - mai_sub = db.Column(db.Float, nullable=False, default=0) - mai_year = db.Column(db.Integer, nullable=False, default=date.today().year) - - jun = db.Column(db.Float, nullable=False, default=0) - jun_sub = db.Column(db.Float, nullable=False, default=0) - jun_year = db.Column(db.Integer, nullable=False, default=date.today().year) - - jul = db.Column(db.Float, nullable=False, default=0) - jul_sub = db.Column(db.Float, nullable=False, default=0) - jul_year = db.Column(db.Integer, nullable=False, default=date.today().year) - - aug = db.Column(db.Float, nullable=False, default=0) - aug_sub = db.Column(db.Float, nullable=False, default=0) - aug_year = db.Column(db.Integer, nullable=False, default=date.today().year) - - sep = db.Column(db.Float, nullable=False, default=0) - sep_sub = db.Column(db.Float, nullable=False, default=0) - sep_year = db.Column(db.Integer, nullable=False, default=date.today().year) - - okt = db.Column(db.Float, nullable=False, default=0) - okt_sub = db.Column(db.Float, nullable=False, default=0) - okt_year = db.Column(db.Integer, nullable=False, default=date.today().year) - - nov = db.Column(db.Float, nullable=False, default=0) - nov_sub = db.Column(db.Float, nullable=False, default=0) - nov_year = db.Column(db.Integer, nullable=False, default=date.today().year) - - dez = db.Column(db.Float, nullable=False, default=0) - dez_sub = db.Column(db.Float, nullable=False, default=0) - dez_year = db.Column(db.Integer, nullable=False, default=date.today().year) - - - - def getsum(self): - jan = self.jan - self.jan_sub - feb = self.feb - self.feb_sub - maer = self.maer - self.maer_sub - apr = self.apr - self.apr_sub - mai = self.mai - self.mai_sub - jun = self.jun - self.jun_sub - jul = self.jul - self.jul_sub - aug = self.aug - self.aug_sub - sep = self.sep - self.sep_sub - okt = self.okt - self.okt_sub - nov = self.nov - self.nov_sub - dez = self.dez - self.dez_sub - - result = jan + feb + maer + apr + mai + jun + jul + aug + sep + okt + nov + dez - return result - - def add_sub(self, value): - year = date.today().year - month = date.today().month - - if month == 1: - if year == self.jan_year: - self.jan_sub += value - else: - self.jan = 0 - self.jan_sub = value - self.jan_year = year; - elif month == 2: - if year == self.feb_year: - self.feb_sub += value - else: - self.feb = 0 - self.feb_sub = value - self.feb_year = year - elif month == 3: - if year == self.maer_year: - self.maer_sub += value - else: - self.maer = 0 - self.maer_sub = value - self.maer_year = year - elif month == 4: - if year == self.apr_year: - self.apr_sub += value - else: - self.apr = 0 - self.apr_sub = value - self.apr_year = year - elif month == 5: - if year == self.mai_year: - self.mai_sub += value - else: - self.mai = 0 - self.mai_sub = value - self.mai_year = year - elif month == 6: - if year == self.jun_year: - self.jun_sub += value - else: - self.jun = 0 - self.jun_sub = value - self.jun_year = year - elif month == 7: - if year == self.jul_year: - self.jul_sub += value - else: - self.jul = 0 - self.jul_sub = value - self.jul_year = year - elif month == 8: - if year == self.aug_year: - self.aug_sub += value - else: - self.aug = 0 - self.aug_sub = value - self.aug_year = year - elif month == 9: - if year == self.sep_year: - self.sep_sub += value - else: - self.sep = 0 - self.sep_sub = value - self.sep_year = year - elif month == 10: - if year == self.okt_year: - self.okt_sub += value - else: - self.okt = 0 - self.okt_sub = value - self.okt_year = year - elif month == 11: - if year == self.nov_year: - self.nov_sub += value - else: - self.nov = 0 - self.nov_sub = value - self.nov_year = year - elif month == 12: - if year == self.dez_year: - self.dez_sub += value - else: - self.dez = 0 - self.dez_sub = value - self.dez_year = year - else: - raise IndexError('Mehr monate gibt es nicht') - - - def add(self, value): - - year = date.today().year - month = date.today().month - - if month == 1 : - if year == self.jan_year: - self.jan += value - else: - self.jan = value - self.jan_sub = 0 - self.jan_year = year - elif month == 2: - if year == self.feb_year: - self.feb += value - else: - self.feb = value - self.feb_sub = 0 - self.feb_year = year - elif month == 3: - if year == self.maer_year: - self.maer += value - else: - self.maer = value - self.mear_sub = 0 - self.mear_year = year - elif month == 4: - if year == self.apr_year: - self.apr += value - else: - self.apr = value - self.apr_sub = 0 - self.apr_year = year - elif month == 5: - if year == self.mai_year: - self.mai += value - else: - self.mai = value - self.mai_sub = 0 - self.mai_year = year - elif month == 6: - if year == self.jun_year: - self.jun += value - else: - self.jun = value - self.jun_sub = 0 - self.jun_year = year - elif month == 7: - if year == self.jul_year: - self.jul += value - else: - self.jul = value - self.jul_sub = 0 - self.jul_year = year - elif month == 8: - if year == self.aug_year: - self.aug += value - else: - self.aug = value - self.aug_sub = 0 - self.aug_year = year - elif month == 9: - if year == self.sep_year: - self.sep += value - else: - self.sep = value - self.sep_sub = 0 - self.sep_year = year - elif month == 10: - if year == self.okt_year: - self.okt += value - else: - self.okt = value - self.okt_sub = 0 - self.okt_year = year - elif month == 11: - if year == self.nov_year: - self.nov += value - else: - self.nov = value - self.nov_sub = 0 - self.nov_year = year - elif month == 12: - if year == self.dez_year: - self.dez += value - else: - self.dez = value - self.dez_sub = 0 - self.dez_year = year - else: - raise IndexError('Mehr monate gibt es nicht') - - - def storner(self, value, month): - - if month == 1: - self.jan = self.jan - value - elif month == 2: - self.feb = self.feb - value - elif month == 3: - self.maer = self.maer - value - elif month == 4: - self.apr = self.apr - value - elif month == 5: - self.mai = self.mai - value - elif month == 6: - self.jun = self.jun - value - elif month == 7: - self.jul = self.jul - value - elif month == 8: - self.aug = self.aug - value - elif month == 9: - self.sep = self.sep - value - elif month == 10: - self.okt = self.okt - value - elif month == 11: - self.nov = self.nov - value - elif month == 12: - self.dez = self.dez - value - else: - raise IndexError('Mehr monate gibt es nicht') - - def __repr__(self): - return f"User('{self.username}', '{self.sum}')" - - -class Finanzer(db.Model, UserMixin): - id = db.Column(db.Integer, primary_key=True) - username = db.Column(db.String(20), unique=True, nullable=False) - password = db.Column(db.String(60), nullable=False) - - def __repr__(self): - return f"Finanzer('{self.username}')" - - -class History: - history = [] - user = None - - def __init__(self, history, user, value): - self.history = history - self.history.append(self) - self.user = user - self.month = date.today().month - self.value = value - self.timer = Timer(60, self.kill) - self.timer.start() - - def exec(self): - self.timer.cancel() - User.query.filter_by(username=self.user.username).first().storner(self.value, self.month) - self.kill() - - def kill(self): - print("{} deledet from history".format(self.user)) - self.history.remove(self) - print(self.history) - - -''' - def __repr__(self): - print(f'self:{self}, history:{self.history}, user:{self.user}, value:{self.value}') - - def __str__(self): - print(f'self:{self}, history:{self.history}, user:{self.user}, value:{self.value}') -''' diff --git a/geruecht/model/__init__.py b/geruecht/model/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/geruecht/model/accessToken.py b/geruecht/model/accessToken.py new file mode 100644 index 0000000..078c1bb --- /dev/null +++ b/geruecht/model/accessToken.py @@ -0,0 +1,27 @@ +from datetime import datetime + +class AccessToken(): + + timestamp = None + user = None + token = None + + def __init__(self, user, token, timestamp=datetime.now()): + self.user = user + self.timestamp = timestamp + self.token = token + + def updateTimestamp(self): + self.timestamp = datetime.now() + + def __eq__(self, token): + return True if self.token == token else False + + def __sub__(self, other): + return other - self.timestamp + + def __str__(self): + return f"AccessToken({self.user}, {self.token}, {self.timestamp}" + + def __repr__(self): + return f"AccessToken({self.user}, {self.token}, {self.timestamp}" diff --git a/geruecht/model/creditList.py b/geruecht/model/creditList.py new file mode 100644 index 0000000..a8e97a2 --- /dev/null +++ b/geruecht/model/creditList.py @@ -0,0 +1,45 @@ +from geruecht import db +from datetime import datetime + +class CreditList(db.Model): + id = db.Column(db.Integer, primary_key=True) + + jan_guthaben = db.Column(db.Integer, nullable=False, default=0) + jan_schulden = db.Column(db.Integer, nullable=False, default=0) + + feb_guthaben = db.Column(db.Integer, nullable=False, default=0) + feb_schulden = db.Column(db.Integer, nullable=False, default=0) + + maer_guthaben = db.Column(db.Integer, nullable=False, default=0) + maer_schulden = db.Column(db.Integer, nullable=False, default=0) + + apr_guthaben = db.Column(db.Integer, nullable=False, default=0) + apr_schulden = db.Column(db.Integer, nullable=False, default=0) + + mai_guthaben = db.Column(db.Integer, nullable=False, default=0) + mai_schulden = db.Column(db.Integer, nullable=False, default=0) + + jun_guthaben = db.Column(db.Integer, nullable=False, default=0) + jun_schulden = db.Column(db.Integer, nullable=False, default=0) + + jul_guthaben = db.Column(db.Integer, nullable=False, default=0) + jul_schulden = db.Column(db.Integer, nullable=False, default=0) + + aug_guthaben = db.Column(db.Integer, nullable=False, default=0) + aug_schulden = db.Column(db.Integer, nullable=False, default=0) + + sep_guthaben = db.Column(db.Integer, nullable=False, default=0) + sep_schulden = db.Column(db.Integer, nullable=False, default=0) + + okt_guthaben = db.Column(db.Integer, nullable=False, default=0) + okt_schulden = db.Column(db.Integer, nullable=False, default=0) + + nov_guthaben = db.Column(db.Integer, nullable=False, default=0) + nov_schulden = db.Column(db.Integer, nullable=False, default=0) + + dez_guthaben = db.Column(db.Integer, nullable=False, default=0) + dez_schulden = db.Column(db.Integer, nullable=False, default=0) + + last_schulden = db.Column(db.Integer, nullable=False, default=0) + + year = db.Column(db.Integer, nullable=False, default=datetime.now().year) diff --git a/geruecht/model/priceList.py b/geruecht/model/priceList.py new file mode 100644 index 0000000..7616dda --- /dev/null +++ b/geruecht/model/priceList.py @@ -0,0 +1,13 @@ +from geruecht import db + +class PriceList(db.Model): + id = db.Column(db.Integer, primary_key=True) + + name = db.Column(db.String, nullable=False, unique=True) + price = db.Column(db.Integer, nullable=False) + price_club = db.Column(db.Integer, nullable=False) + price_ext_club = db.Column(db.Integer, nullable=False) + category = db.Column(db.Integer, nullable=False) + upPrice = db.Column(db.Integer) + upPrice_club = db.Column(db.Integer) + upPrice_ext_club = db.Column(db.Integer) diff --git a/geruecht/model/user.py b/geruecht/model/user.py new file mode 100644 index 0000000..557e434 --- /dev/null +++ b/geruecht/model/user.py @@ -0,0 +1,24 @@ +from geruecht import db +from geruecht import bcrypt + +class User(db.Model): + id = db.Column(db.Integer, primary_key=True) + userID = db.Column(db.String, nullable=False, unique=True) + username = db.Column(db.String, nullable=False, unique=True) + firstname = db.Column(db.String, nullable=False) + lastname = db.Column(db.String, nullable=False) + group = db.Column(db.String, nullable=False) + password = db.Column(db.String, nullable=False) + + def toJSON(self): + dic = { + "username": self.username, + "firstname": self.firstname, + "lastname": self.lastname, + "group": self.group, + } + return dic + + def login(self, password): + return True if bcrypt.check_password_hash(self.password, password) else False + diff --git a/geruecht/routes.py b/geruecht/routes.py index f828660..c3efb3a 100644 --- a/geruecht/routes.py +++ b/geruecht/routes.py @@ -1,156 +1,59 @@ -from flask import render_template, url_for, redirect, flash, jsonify, g, request -from flask_login import login_user, current_user, logout_user, login_required -from geruecht import app, db, bcrypt -from geruecht.forms import RegistrationForm, FinanzerLogin -from geruecht.model import User, History, Finanzer -import flask_sijax -import os, sys +from geruecht import app, db, accesTokenController +from geruecht.model.user import User +from geruecht.model.creditList import CreditList +from geruecht.model.priceList import PriceList +from flask import request, jsonify -path = os.path.join('.', os.path.dirname(__file__), '../') -sys.path.append(path) +MONEY = "moneymaster" +GASTRO = "gastro" +USER = "user" -# The path where you want the extension to create the needed javascript files -# DON'T put any of your files in this directory, because they'll be deleted! -app.config["SIJAX_STATIC_PATH"] = os.path.join('.', os.path.dirname(__file__), 'static/js/sijax/') +def verifyAccessToken(token, group): + accToken = accesTokenController.findAccesToken(token) + print(accToken) + if accToken is not None: + if accesTokenController.isSameGroup(accToken, group): + accToken.updateTimestamp() + return accToken + return None -# You need to point Sijax to the json2.js library if you want to support -# browsers that don't support JSON natively (like IE <= 7) -app.config["SIJAX_JSON_URI"] = '/static/js/sijax/json2.js' +@app.route("/getFinanzerMain", methods=['POST']) +def _getFinanzer(): + data = request.get_json() + token = data["token"] -flask_sijax.Sijax(app) + accToken = verifyAccessToken(token, MONEY) + if accToken is not None: + users = User.query.all() + dic = {} + for user in users: + dic["userID"] = user.toJSON() + return jsonify(dic) + return jsonify({"error": "permission denied"}), 401 -history = [] - - -@flask_sijax.route(app, "/", methods=['GET', 'POST']) -@flask_sijax.route(app, "/home", methods=['GET', 'POST']) -def home(): - def add(obj_response, username, value): - user_2 = User.query.filter_by(username=username).first() - print(user_2) - print(user_2.id) - user_2.add(value) - print(user_2) - db.session.commit() - print(obj_response, username, value) - History(history=history, user=user_2, value=value) - print(history) - obj_response.html('div#flash', f'{user_2.username} wurde {"%.2f"%value} € hinzugefügt') - obj_response.attr('div#flash', "class", "alert alert-success") - obj_response.html(f'#{user_2.id}-sum', str("%.2f" % user_2.getsum() + " €")) - - def storner(obj_response): - try: - obj = history[len(history)-1] - user_2 = User.query.filter_by(username=obj.user.username).first() - print("{} {}".format(obj.user, obj.value)) - obj.exec() - print(history) - print(user_2) - db.session.commit() - obj_response.html('div#flash', f'{"%.2f"%obj.value} wurden von {user_2.username} storniert') - obj_response.attr('div#flash', "class", "alert alert-success") - obj_response.html(f'#{user_2.id}-sum', str("%.2f" % user_2.getsum() + " €")) - - except IndexError: - print("history: {} is empty".format(history)) - obj_response.html('div#flash', "Der Timer ist abgelaufen!! Die Stornierliste ist leer!! Falls es was wichtiges ist, melde dich beim Finanzer oder Administrator!!") - obj_response.attr('div#flash', "class", "alert alert-error") - - if g.sijax.is_sijax_request: - g.sijax.register_callback('add', add) - g.sijax.register_callback('storner', storner) - return g.sijax.process_request() - - form = RegistrationForm() - if form.validate_on_submit(): - user = User(username=form.username.data) - db.session.add(user) - db.session.commit() - flash(f'Person wurde angelegt: {form.username.data}', 'success') - return redirect(url_for('home')) - return render_template('home.html', users=User.query.all(), form=form) - - -@flask_sijax.route(app, "/return") -def to_home(): - return home() - - -@app.route("/login", methods=['GET', 'POST']) -def login(): - if current_user.is_authenticated: - return redirect(url_for('home')) - login_form = FinanzerLogin() - if login_form.validate_on_submit(): - user = Finanzer.query.filter_by(username=login_form.username.data).first() - if user: - if user and bcrypt.check_password_hash(user.password, login_form.password.data): - login_user(user) - next_page = request.args.get('next') - return redirect(next_page) if next_page else redirect(url_for('home')) - else: - flash('Passwort ist falsch', 'error') +@app.route("/login", methods=['POST']) +def _login(): + data = request.get_json() + print(data) + username = data['username'] + password = data['password'] + user = User.query.filter_by(username=username).first() + if user: + if user.login(password): + token = accesTokenController.createAccesToken(user) + dic = user.toJSON() + dic["token"] = token + return jsonify({user.userID: dic}) else: - flash('nur der finanzer kann sich einloggen !!', 'error') - return render_template('login.html', title='Login', form=login_form) + return jsonify({"error": "wrong password"}), 401 + return jsonify({"error": "wrong username"}), 402 + - -@app.route("/logout") -def logout(): - logout_user() - return redirect(url_for('home')) - - -@flask_sijax.route(app, "/uebersicht") -@login_required -def finanzen(): - - def supply(obj_response, arg1, arg2): - - list = zip(arg1, arg2) - try: - for value in arg2: - if value: - float(value) - - for user_id, value in list: - if user_id and value: - user_ = User.query.get(user_id) - user_.add_sub(float(value)) - db.session.commit() - obj_response.attr(f'#{user_id}-input', 'value', '') - - obj_response.html('div#flash', "Alle Werte wurden übernommen") - obj_response.attr('div#flash', 'class', "alert alert-success") - - for user_ in User.query.all(): - obj_response.html(f'p#{user_.id}-jan-sub', "%.2f"%user_.jan_sub + " €") - obj_response.html(f'p#{user_.id}-feb-sub', "%.2f"%user_.feb_sub + " €") - obj_response.html(f'p#{user_.id}-maer-sub', "%.2f"%user_.maer_sub + " €") - obj_response.html(f'p#{user_.id}-apr-sub', "%.2f"%user_.apr_sub + " €") - obj_response.html(f'p#{user_.id}-mai-sub', "%.2f"%user_.mai_sub + " €") - obj_response.html(f'p#{user_.id}-jun-sub', "%.2f"%user_.jun_sub + " €") - obj_response.html(f'p#{user_.id}-jul-sub', "%.2f"%user_.jul_sub + " €") - obj_response.html(f'p#{user_.id}-aug-sub', "%.2f"%user_.aug_sub + " €") - obj_response.html(f'p#{user_.id}-sep-sub', "%.2f"%user_.sep_sub + " €") - obj_response.html(f'p#{user_.id}-okt-sub', "%.2f"%user_.okt_sub + " €") - obj_response.html(f'p#{user_.id}-nov-sub', "%.2f"%user_.nov_sub + " €") - obj_response.html(f'p#{user_.id}-dez-sub', "%.2f"%user_.dez_sub + " €") - obj_response.html(f'p#{user_.id}-sum', "%.2f"%user_.getsum() + " €") - - except ValueError: - obj_response.html('div#flash', - "Du hast irgendwo keine Zahl eingegeb!!") - obj_response.attr('div#flash', "class", "alert alert-error") - - if g.sijax.is_sijax_request: - g.sijax.register_callback('supply', supply) - return g.sijax.process_request() - - return render_template('finanzer.html', users=User.query.all()) - - -@flask_sijax.route(app, "/about") -def about(): - return render_template('about.html', title='about') +@app.route("/getFinanzer") +def getFinanzer(): + users = User.query.all() + dic = {} + for user in users: + dic["userID"] = user.toJSON() + print(dic) + return jsonify(dic) diff --git a/geruecht/site.db b/geruecht/site.db new file mode 100644 index 0000000..ae21fbe Binary files /dev/null and b/geruecht/site.db differ diff --git a/geruecht/static/img/logo.png b/geruecht/static/img/logo.png deleted file mode 100644 index abd2e09..0000000 Binary files a/geruecht/static/img/logo.png and /dev/null differ diff --git a/geruecht/static/img/logo_selected.png b/geruecht/static/img/logo_selected.png deleted file mode 100644 index f27650d..0000000 Binary files a/geruecht/static/img/logo_selected.png and /dev/null differ diff --git a/geruecht/static/master.css b/geruecht/static/master.css deleted file mode 100644 index 3c3c336..0000000 --- a/geruecht/static/master.css +++ /dev/null @@ -1,194 +0,0 @@ -body { - margin: 0 auto; -} - -.topnav { - background-color: #077BCB; - height: 61; - overflow: hidden; -} - -.blue-button { - color: white; - background-color: #055288; - text-align: center; - padding: 5px 5px; - margin: 7px 17px; - text-decoration: none; - font-size: 17px; - border: 5px solid #055288; - border-style: solid; - border-radius: 10px; - transition-duration: 0.4s; -/*box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);*/ -} - -.no-mg { - margin: 0; -} - -.no-pd { - padding: 0; -} - -.blue-button:hover { - background: white; - border: 5px solid #055288; - color: black; -} - -.blue-button:active { - transform: translateY(4px); -} - -.first { - float: left;; - margin-left: 10%; -} - -.last { - float: right; -} - -.logo-nav { - height: 61px; - width: auto; - transition-duration: 0.4s; -} -.logo-nav:active { - transform: translateY(4px) -} - -.logo-nav img { - position: absolute; - transition-duration: 0.4s; -} - -.logo-nav img.main-logo:hover { - opacity: 0; -} - - - -.geruecht { - margin: 5px auto; - display: table; - border: 0px; - border-top: 1px gray; - border-bottom: 1px gray; - border-radius: 15px; - border-style: solid; - width: 100%; - border-spacing: 5px; - height: 30px; -} - -.g-item { - display: table-cell; - text-align: center; - vertical-align: middle; - width: 20%; -} - -.auto-width { - width:6.66%; -} - -.width-auto { - width:80%; -} - -.g-item p { - font-size: 15px; -} - -.button { - width: 70px; - heigt: 30px; - border-radius: 10px; - border: 5px solid green; - background: green; - color: white; - transition-duration: 0.4s; -} - -.button:hover { - color: green; - background: white; -} - -.button:active { - transform: translateY(4px); -} - -.bottombar { - background-color: #077BCB; - overflow: scroll; - position: fixed; - bottom: 0; - width: 100%; - height: 62px; - display: table; -} - -.bottombar-element { - float: left; - line-height: auto; - vertical-align: middle; -} - -.right { - float: right; -} - -.form-group { - float: left; - border: 0; - height: auto; - padding: 5px; - margin: auto; - float: left; - vertical-align: middle; -} - -.reg-label { - color: white; -} - -.m { - margin-top: 10px; -} - -.alert { - color: black; - font-size: 15px; - text-align: center; -} - -.alert-success { - background: lightgreen; - border: 1px solid darkgreen; - color: darkgreen; - border-radius: 5px; - padding: 6px; -} - -.alert-error { - background: darksalmon; - border: 1px solid darkred; - color: darkred; - border-radius: 5px; - padding: 6px; -} - -.container { - margin-bottom: 50%; -} - -.schulden { - color: red; -} - -.bezahlt { - color: green; -} diff --git a/geruecht/templates/about.html b/geruecht/templates/about.html deleted file mode 100644 index 941af53..0000000 --- a/geruecht/templates/about.html +++ /dev/null @@ -1,4 +0,0 @@ -{% extends "layout.html" %} -{% block content %} -

About Page

-{% endblock %} \ No newline at end of file diff --git a/geruecht/templates/finanzer.html b/geruecht/templates/finanzer.html deleted file mode 100644 index def5748..0000000 --- a/geruecht/templates/finanzer.html +++ /dev/null @@ -1,119 +0,0 @@ -{% extends 'layout.html' %} - -{% block content %} -
-
- Username -
-
- Januar -
-
- Februar -
-
- März -
-
- April -
-
- Mai -
-
- Juni -
-
- July -
-
- August -
-
- September -
-
- Oktober -
-
- November -
-
- Dezember -
-
- Schulden -
-
- Ausgleich -
-
- {% for user in users %} -
-
-

{{ user.username }}

-
-
-

{{ "%.2f"%user.jan }} €

-

{{ "%.2f"%user.jan_sub }} €

-
-
-

{{ "%.2f"%user.feb }} €

-

{{ "%.2f"%user.feb_sub }} €

-
-
-

{{ "%.2f"%user.maer }} €

-

{{ "%.2f"%user.maer_sub }} €

-
-
-

{{ "%.2f"%user.apr }} €

-

{{ "%.2f"%user.apr_sub }} €

-
-
-

{{ "%.2f"%user.mai }} €

-

{{ "%.2f"%user.mai_sub }} €

-
-
-

{{ "%.2f"%user.jun }} €

-

{{ "%.2f"%user.jun_sub }} €

-
-
-

{{ "%.2f"%user.jul }} €

-

{{ "%.2f"%user.jul_sub }} €

-
-
-

{{ "%.2f"%user.aug }} €

-

{{ "%.2f"%user.aug_sub }} €

-
-
-

{{ "%.2f"%user.sep }} €

-

{{ "%.2f"%user.sep_sub }} €

-
-
-

{{ "%.2f"%user.okt }} €

-

{{ "%.2f"%user.okt_sub }} €

-
-
-

{{ "%.2f"%user.nov }} €

-

{{ "%.2f"%user.nov_sub }} €

-
-
-

{{ "%.2f"%user.dez }} €

-

{{ "%.2f"%user.dez_sub }} €

-
-
-

{{ "%.2f"%user.getsum() }} €

-
-
- -
-
- {% endfor %} -{% endblock %} -{% block bottombar %} - - -
- Anwenden -
-{% endblock %} diff --git a/geruecht/templates/home.html b/geruecht/templates/home.html deleted file mode 100644 index 7045b52..0000000 --- a/geruecht/templates/home.html +++ /dev/null @@ -1,53 +0,0 @@ -{% extends "layout.html" %} -{% block content %} - {% for user in users %} -
-
-

{{ user.username }}

-
-
- +2 € -
-
- +1 € -
-
- +0,5 € -
-
- +0,4 € -
-
- +0,2 € -
-
- +0,1 € -
-
-

{{ "%.2f"%user.getsum() }} €

-
-
- {% endfor %} -{% endblock %} -{% block bottombar %} -
- {% if form %} -
- {{ form.hidden_tag() }} -
- -
- {{ form.username.label(class="reg-label") }} - {{ form.username() }} -
-
-
- {{ form.submit(class="blue-button no-mg") }} -
-
- {% endif %} -
-
- Stornieren -
-{% endblock %} diff --git a/geruecht/templates/layout.html b/geruecht/templates/layout.html deleted file mode 100644 index a115b51..0000000 --- a/geruecht/templates/layout.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - {% if title %} - {{ title }} - {% else %} - Gerüchteküche - {% endif %} - - - - - - - - - - - - - -
- - - - - {% if current_user.is_authenticated %} - Logout - Übersicht - {% else %} - Finanzer - {% endif %} -
-
- {% block content %} - - {% endblock %} - -
- - - -
- {% with messages = get_flashed_messages(with_categories=true) %} - {% if messages %} - {% for category, message in messages %} -
- {{ message }} -
- {% endfor %} - {% endif %} - {% if form %} - {% if form.username.errors %} - {% for error in form.username.errors %} -
- {{ error }} -
- {% endfor %} - {% endif %} - {% if form.password %} - {% if form.password.errors %} - {% for error in form.password.errors %} -
- {{ error }} -
- {% endfor %} - {% endif %} - {% endif %} - {% endif %} - {% endwith %} -
- {% block bottombar %} - - {% endblock %} -
- - - - - - - diff --git a/geruecht/templates/login.html b/geruecht/templates/login.html deleted file mode 100644 index ab7f0ec..0000000 --- a/geruecht/templates/login.html +++ /dev/null @@ -1,41 +0,0 @@ - -{% extends "layout.html" %} -{% block content %} -
-
- {{ form.hidden_tag() }} - - -
-
-{% endblock %} diff --git a/geruecht/templates/test.html b/geruecht/templates/test.html deleted file mode 100644 index 1d754ff..0000000 --- a/geruecht/templates/test.html +++ /dev/null @@ -1,346 +0,0 @@ - - - Home - - - -
- Finanzer -
- -
-
-

dummy 1

-
-
-

+2 €

-
-
-

+1 €

-
-
-

+0,5 €

-
-
-

+0,4 €

-
-
-

+0,2 €

-
-
-

+0,1 €

-
-
-

Gesamt

-
-
- -
-
-

dummy 1

-
-
-

+2 €

-
-
-

+1 €

-
-
-

+0,5 €

-
-
-

+0,4 €

-
-
-

+0,2 €

-
-
-

+0,1 €

-
-
-

Gesamt

-
-
- -
-
-

dummy 1

-
-
-

+2 €

-
-
-

+1 €

-
-
-

+0,5 €

-
-
-

+0,4 €

-
-
-

+0,2 €

-
-
-

+0,1 €

-
-
-

Gesamt

-
-
- -
-
-

dummy 1

-
-
-

+2 €

-
-
-

+1 €

-
-
-

+0,5 €

-
-
-

+0,4 €

-
-
-

+0,2 €

-
-
-

+0,1 €

-
-
-

Gesamt

-
-
- -
-
-

dummy 1

-
-
-

+2 €

-
-
-

+1 €

-
-
-

+0,5 €

-
-
-

+0,4 €

-
-
-

+0,2 €

-
-
-

+0,1 €

-
-
-

Gesamt

-
-
- -
-
-

dummy 1

-
-
-

+2 €

-
-
-

+1 €

-
-
-

+0,5 €

-
-
-

+0,4 €

-
-
-

+0,2 €

-
-
-

+0,1 €

-
-
-

Gesamt

-
-
- -
-
-

dummy 1

-
-
-

+2 €

-
-
-

+1 €

-
-
-

+0,5 €

-
-
-

+0,4 €

-
-
-

+0,2 €

-
-
-

+0,1 €

-
-
-

Gesamt

-
-
- -
-
-

dummy 1

-
-
-

+2 €

-
-
-

+1 €

-
-
-

+0,5 €

-
-
-

+0,4 €

-
-
-

+0,2 €

-
-
-

+0,1 €

-
-
-

Gesamt

-
-
- -
-
-

dummy 1

-
-
-

+2 €

-
-
-

+1 €

-
-
-

+0,5 €

-
-
-

+0,4 €

-
-
-

+0,2 €

-
-
-

+0,1 €

-
-
-

Gesamt

-
-
- -
-
-

dummy 1

-
-
-

+2 €

-
-
-

+1 €

-
-
-

+0,5 €

-
-
-

+0,4 €

-
-
-

+0,2 €

-
-
-

+0,1 €

-
-
-

Gesamt

-
-
- -
-
-

dummy 1

-
-
-

+2 €

-
-
-

+1 €

-
-
-

+0,5 €

-
-
-

+0,4 €

-
-
-

+0,2 €

-
-
-

+0,1 €

-
-
-

Gesamt

-
-
- -
-
-

dummy 1

-
-
-

+2 €

-
-
-

+1 €

-
-
-

+0,5 €

-
-
-

+0,4 €

-
-
-

+0,2 €

-
-
-

+0,1 €

-
-
-

Gesamt

-
-
- -
-
-
- Name: - -
-
-
-

Stornieren

-
-
- diff --git a/run.py b/run.py index 1d9622b..0de5915 100644 --- a/run.py +++ b/run.py @@ -1,9 +1,5 @@ from geruecht import app - - - - if __name__ == '__main__': app.run(debug=True, host='0.0.0.0')