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()