85 lines
3.2 KiB
Python
85 lines
3.2 KiB
Python
import sys, os
|
|
sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..'))
|
|
from app import create_app
|
|
from app.extensions import db
|
|
from app.models.company import Company
|
|
from app.models.user import User
|
|
from app.models.contract import Contract
|
|
from app.models.lv import LVPosition
|
|
from datetime import date
|
|
|
|
app = create_app()
|
|
|
|
def run():
|
|
with app.app_context():
|
|
# Create KPT company
|
|
company = Company.query.filter_by(slug='kpt-consulting').first()
|
|
if not company:
|
|
company = Company(
|
|
name='KPT-Consulting', slug='kpt-consulting',
|
|
strasse='Musterstr. 1', plz='88045', ort='Friedrichshafen',
|
|
telefon='+49 7541 123456', email='info@kpt-consulting.de'
|
|
)
|
|
db.session.add(company)
|
|
db.session.flush()
|
|
print(f'Firma: {company.name} (ID {company.id})')
|
|
else:
|
|
print(f'Firma: {company.name} (ID {company.id})')
|
|
|
|
# Superadmin (ohne company_id)
|
|
sa = User.query.filter_by(email='super@admin.de').first()
|
|
if not sa:
|
|
sa = User(
|
|
company_id=None, email='super@admin.de', rolle='superadmin',
|
|
vorname='Super', nachname='Admin',
|
|
darf_projekte_anlegen=True, darf_lv_verwalten=True,
|
|
darf_preise_sehen=True, darf_aufmass_verwalten=True,
|
|
darf_evergabe_nutzen=True, darf_kopfdaten_holen=True,
|
|
darf_aufmass_uebertragen=True,
|
|
)
|
|
sa.set_password('admin123')
|
|
db.session.add(sa)
|
|
print('Superadmin: super@admin.de / admin123')
|
|
else:
|
|
print('Superadmin existiert bereits')
|
|
|
|
# Firmadmin
|
|
fa = User.query.filter_by(email='firmadmin@kpt.de').first()
|
|
if not fa:
|
|
fa = User(
|
|
company_id=company.id, email='firmadmin@kpt.de',
|
|
vorname='Firmen', nachname='Admin', rolle='firmadmin',
|
|
darf_projekte_anlegen=True, darf_lv_verwalten=True,
|
|
darf_preise_sehen=True, darf_aufmass_verwalten=True,
|
|
darf_evergabe_nutzen=True, darf_kopfdaten_holen=True,
|
|
darf_aufmass_uebertragen=True,
|
|
)
|
|
fa.set_password('firma123')
|
|
db.session.add(fa)
|
|
print('Firmadmin: firmadmin@kpt.de / firma123')
|
|
else:
|
|
print('Firmadmin existiert bereits')
|
|
|
|
# Florian Kramer
|
|
fk = User.query.filter_by(email='fk@kpt-consulting.de').first()
|
|
if not fk:
|
|
fk = User(
|
|
company_id=company.id, email='fk@kpt-consulting.de',
|
|
vorname='Florian', nachname='Kramer', rolle='firmadmin',
|
|
darf_projekte_anlegen=True, darf_lv_verwalten=True,
|
|
darf_preise_sehen=True, darf_aufmass_verwalten=True,
|
|
darf_evergabe_nutzen=True, darf_kopfdaten_holen=True,
|
|
darf_aufmass_uebertragen=True,
|
|
)
|
|
fk.set_password('kpt2024')
|
|
db.session.add(fk)
|
|
print('Florian Kramer: fk@kpt-consulting.de / kpt2024')
|
|
else:
|
|
print('Florian Kramer existiert bereits')
|
|
|
|
db.session.commit()
|
|
print('\nSeed abgeschlossen.')
|
|
|
|
if __name__ == '__main__':
|
|
run()
|