You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
73 lines
3.1 KiB
73 lines
3.1 KiB
from flask import render_template, url_for, flash, redirect, request, Blueprint
|
|
from minibase import db
|
|
from minibase.config import themeMinibase, globalVars
|
|
from minibase.database.models import Company
|
|
from minibase.company.forms import companyForm, getCompanyNameForm
|
|
import minibase.database.utils as dbUtils
|
|
|
|
# Declaring a blueprint
|
|
company = Blueprint('company', __name__)
|
|
|
|
|
|
@company.route("/company_register", methods=['GET', 'POST'])
|
|
def company_register():
|
|
form = companyForm()
|
|
form.industry.choices = [(row.id, row.name) for row in dbUtils.getIndustryNames()]
|
|
form.relation.choices = [(row.id, row.name) for row in dbUtils.getCompanyRelations()]
|
|
form.legal_entity.choices = [(row.id, row.name) for row in dbUtils.getCompanyLegalEntities()]
|
|
form.status.choices = [(row.id, row.name) for row in dbUtils.getCompanyStatuses()]
|
|
form.country.choices = [(row.id, row.name) for row in dbUtils.getCountryNames()]
|
|
|
|
if form.validate_on_submit():
|
|
company = Company(
|
|
name=form.company_name.data,
|
|
legal_entity_id=form.legal_entity.data,
|
|
relation_id=form.relation.data,
|
|
industry_id=form.industry.data,
|
|
status_id=form.status.data,
|
|
website=form.website.data,
|
|
country_id=form.country.data,
|
|
state=form.state.data,
|
|
city=form.city.data,
|
|
post_code=form.post.data,
|
|
street=form.street.data,
|
|
street_no=form.no.data)
|
|
# Here we need to give the id of thr role as this is a foreign key
|
|
db.session.add(company)
|
|
db.session.commit()
|
|
flash(f'{"Company succesfull registered!"}', 'success')
|
|
return render_template('register_form.html',
|
|
title='Register Company',
|
|
theme=themeMinibase,
|
|
globalVars=globalVars,
|
|
form=form)
|
|
elif request.method == 'GET':
|
|
form.country.data = str(214)
|
|
return render_template('register_form.html',
|
|
title='Register Company',
|
|
theme=themeMinibase,
|
|
globalVars=globalVars,
|
|
form=form)
|
|
|
|
return render_template('register_form.html',
|
|
title='Register Company',
|
|
theme=themeMinibase,
|
|
globalVars=globalVars,
|
|
form=form)
|
|
|
|
|
|
@company.route("/select_company", methods=['GET', 'POST'])
|
|
def select_company():
|
|
form = getCompanyNameForm()
|
|
# row.id which correspondsd to company.id is returned when the company is elected
|
|
form.company.choices = [(row.id, row.name +' | '+ row.company_country.name) for row in dbUtils.getCompanies()]
|
|
if form.validate_on_submit():
|
|
dbUtils.setSelectedCompany(form.company.data)
|
|
return redirect(url_for('project.select_project'))
|
|
|
|
return render_template('project/select_company.html',
|
|
title='Select Company Name',
|
|
theme=themeMinibase,
|
|
globalVars=globalVars,
|
|
form=form)
|