25 lines
1.0 KiB
Python
25 lines
1.0 KiB
Python
from . import bp
|
|
from .forms import NewEstablishmentForm
|
|
from src import db, LOGGER
|
|
from models import Establishment, LoginToken
|
|
from src.utils import database_utils
|
|
from src.utils.routes_utils import render_custom_template as render_template
|
|
from flask import redirect, url_for
|
|
from flask_login import current_user, login_required
|
|
|
|
@bp.route('/create_establishment', methods=['GET', 'POST'])
|
|
@login_required
|
|
def create_new_establishment():
|
|
form = NewEstablishmentForm()
|
|
if form.validate_on_submit():
|
|
LOGGER.debug("valid form")
|
|
establishment = Establishment(name=form.name.data, owner=current_user.id)
|
|
db.session.add(establishment)
|
|
db.session.commit()
|
|
new_token = database_utils.generate_token()
|
|
login_token = LoginToken(user=current_user.id, establishment=establishment.id, token=new_token)
|
|
db.session.add(login_token)
|
|
db.session.commit()
|
|
return redirect(url_for('main.index'))
|
|
return render_template('establishment/new/new_establishment.html', form=form)
|