import sys, os, re 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 app = create_app() def slugify(name): s = name.lower().strip() s = re.sub(r'[^a-z0-9\s-]', '', s) s = re.sub(r'[\s-]+', '-', s) return s def run(): with app.app_context(): slug = slugify('Dibran Dautaj Tief und Kabelbau') company = Company.query.filter_by(slug=slug).first() if not company: company = Company( name='Dibran Dautaj Tief und Kabelbau', slug=slug, strasse='Alemannenring', house_number='25', plz='88326', ort='Aulendorf', aktiv=True, evergabe_aktiviert=False, ) db.session.add(company) db.session.flush() print(f'Firma angelegt: {company.name} (ID {company.id})') else: print(f'Firma existiert bereits: {company.name} (ID {company.id})') fa = User.query.filter_by(email='fk@dd-kabelbau.de').first() if not fa: fa = User( company_id=company.id, email='fk@dd-kabelbau.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, ) fa.set_password('Tami1234!') db.session.add(fa) print('Firmadmin: fk@dd-kabelbau.de / Tami1234!') else: print('Firmadmin fk@dd-kabelbau.de existiert bereits') usr = User.query.filter_by(email='rs@dd-kabelbau.de').first() if not usr: usr = User( company_id=company.id, email='rs@dd-kabelbau.de', vorname='Robert', nachname='Schöndienst', rolle='mitarbeiter', darf_projekte_anlegen=False, darf_lv_verwalten=False, darf_preise_sehen=True, darf_aufmass_verwalten=True, darf_evergabe_nutzen=False, darf_kopfdaten_holen=False, darf_aufmass_uebertragen=False, ) usr.set_password('Robert21071954') db.session.add(usr) print('User: rs@dd-kabelbau.de / Robert21071954') else: print('User rs@dd-kabelbau.de existiert bereits') db.session.commit() print('\nSeed abgeschlossen.') if __name__ == '__main__': run()