minor: insert column owner in table establishment

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

View File

@ -29,6 +29,7 @@ class User(UserMixin, db.Model):
class Establishment(db.Model): class Establishment(db.Model):
id = db.Column(db.BigInteger, primary_key=True) id = db.Column(db.BigInteger, primary_key=True)
name = db.Column(db.String(64), nullable=False) 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') LoginToken = db.relationship("LoginToken", backref='Establishment', lazy='dynamic')

View File

@ -15,13 +15,6 @@ APPNAME = "scan2kasse"
def index(): def index():
return render_template("base.html") 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') @app.route(f'/{APPNAME}/token_authorization')
def token_authorization(): def token_authorization():
LOGGER.debug("Token Login") LOGGER.debug("Token Login")
@ -131,4 +124,10 @@ def get_report_from_user():
if request.content_type == "application/json": if request.content_type == "application/json":
return jsonify(result_list) return jsonify(result_list)
else: 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 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 app.utils.view_utils import bought_with_prices as bwp
from copy import deepcopy from copy import deepcopy
from datetime import date as dtdate, timedelta from datetime import date as dtdate, timedelta
@ -37,10 +37,11 @@ def get_report(**kwargs):
query_select = query_select.filter_by(token == token) query_select = query_select.filter_by(token == token)
case {"establishment": establishment}: case {"establishment": establishment}:
LOGGER.debug("Establishment present") LOGGER.debug("Establishment present")
query_select = query_select.filter( if current_user.id == Establishment.query.get(int(establishment)).owner:
bwp.c.token.in_( _filter = db.session.query(LoginToken.token).filter_by(establishment = int(establishment))
# db.session.query(LoginToken.token).filter_by(establishment = int(establishment), user=current_user.id))) else:
db.session.query(LoginToken.token).filter_by(establishment = int(establishment)))) _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)) LOGGER.debug(str(query_select))
match kwargs: match kwargs:
case {"month": month}: case {"month": month}:

View File

@ -1,8 +1,5 @@
from app import db, LOGGER from app import db, LOGGER
from app.models import AmountChange, Bought, PriceChange 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 from sqlalchemy_utils import create_view
def group_results(results: tuple) -> list: def group_results(results: tuple) -> list: