minor: insert column owner in table establishment

This commit is contained in:
Lunaresk 2022-03-20 17:10:58 +01:00
parent fa798a5da1
commit c62b339a03
4 changed files with 14 additions and 16 deletions

View File

@ -29,6 +29,7 @@ class User(UserMixin, db.Model):
class Establishment(db.Model):
id = db.Column(db.BigInteger, primary_key=True)
name = db.Column(db.String(64), nullable=False)
owner = db.Column(db.ForeignKey('user.id'), nullable=False)
LoginToken = db.relationship("LoginToken", backref='Establishment', lazy='dynamic')

View File

@ -15,13 +15,6 @@ APPNAME = "scan2kasse"
def index():
return render_template("base.html")
@app.route('/test')
def test():
if request.args:
LOGGER.debug(request.args['testing'])
form = NewItemForm()
return render_template("test.html", form=form)
@app.route(f'/{APPNAME}/token_authorization')
def token_authorization():
LOGGER.debug("Token Login")
@ -131,4 +124,10 @@ def get_report_from_user():
if request.content_type == "application/json":
return jsonify(result_list)
else:
return render_template("overview.html", results=result_list)
return render_template("overview.html", results=result_list)
@app.route(f'/{APPNAME}/overview/register_boughts', methods=['GET'])
@login_required
def check_unregistered_items():
if current_user.is_anonymous:
abort(403)

View File

@ -1,5 +1,5 @@
from app import db, LOGGER
from app.models import Bought, Item, LoginToken, User
from app.models import Bought, Establishment, Item, LoginToken, User
from app.utils.view_utils import bought_with_prices as bwp
from copy import deepcopy
from datetime import date as dtdate, timedelta
@ -37,10 +37,11 @@ def get_report(**kwargs):
query_select = query_select.filter_by(token == token)
case {"establishment": establishment}:
LOGGER.debug("Establishment present")
query_select = query_select.filter(
bwp.c.token.in_(
# db.session.query(LoginToken.token).filter_by(establishment = int(establishment), user=current_user.id)))
db.session.query(LoginToken.token).filter_by(establishment = int(establishment))))
if current_user.id == Establishment.query.get(int(establishment)).owner:
_filter = db.session.query(LoginToken.token).filter_by(establishment = int(establishment))
else:
_filter = db.session.query(LoginToken.token).filter_by(establishment = int(establishment), user=current_user.id)
query_select = query_select.filter(bwp.c.token.in_(_filter))
LOGGER.debug(str(query_select))
match kwargs:
case {"month": month}:

View File

@ -1,8 +1,5 @@
from app import db, LOGGER
from app.models import AmountChange, Bought, PriceChange
from datetime import date
from flask import render_template
from flask_login import current_user
from sqlalchemy_utils import create_view
def group_results(results: tuple) -> list: