generated from dopt-python/py311
prepare dialog for linking open consulting processes
This commit is contained in:
+40
-1
@@ -7,7 +7,7 @@ from pathlib import Path
|
||||
|
||||
import polars as pl
|
||||
import sqlalchemy as sql
|
||||
from sqlalchemy import Column, String, Table, TypeDecorator
|
||||
from sqlalchemy import Column, String, Table, TypeDecorator, event
|
||||
|
||||
from wce_crm import constants
|
||||
from wce_crm import types as t
|
||||
@@ -63,6 +63,14 @@ MD_MAIN = sql.MetaData()
|
||||
ENGINE = sql.create_engine(f"sqlite:///{constants.Config.DB_PATH_MAIN}")
|
||||
|
||||
|
||||
@event.listens_for(ENGINE, "connect")
|
||||
def attach_second_db(dbapi_connection, connection_record):
|
||||
cursor = dbapi_connection.cursor()
|
||||
# 'kontaktliste' is the alias for the second DB
|
||||
cursor.execute(f"ATTACH DATABASE '{constants.Config.DB_PATH_CRM}' AS kontaktliste")
|
||||
cursor.close()
|
||||
|
||||
|
||||
ext_crm_master: sql.Table = Table(
|
||||
"Master",
|
||||
MD_CRM,
|
||||
@@ -247,6 +255,37 @@ def get_ext_crm_contact_person(
|
||||
# df_contact_person = get_ext_crm_contact_person(None)
|
||||
DF_CONTACT_PERSON = get_ext_crm_contact_person(constants.Config.DB_PATH_CRM)
|
||||
|
||||
ext_crm_master_attach: sql.Table = Table(
|
||||
"Master",
|
||||
MD_CRM,
|
||||
Column("ma_id", sql.Integer, nullable=False, unique=True),
|
||||
Column("wce_id", sql.ForeignKey("Nutzer.wce_id")),
|
||||
Column("ma_unternehmensname", sql.Text, nullable=True),
|
||||
Column("ma_branche", sql.Text, nullable=True),
|
||||
Column("ma_strasse", sql.Text, nullable=True),
|
||||
Column("ma_hausnummer", sql.Text, nullable=True),
|
||||
Column("ma_plz", sql.Text, nullable=True),
|
||||
Column("ma_ort", sql.Text, nullable=True),
|
||||
Column("ma_plz_postfach", sql.Text, nullable=True),
|
||||
Column("ma_postfach", sql.Text, nullable=True),
|
||||
Column("ma_website", sql.Text, nullable=True),
|
||||
Column("ma_mail", sql.Text, nullable=True),
|
||||
Column("ma_telefonnummer", sql.Text, nullable=True),
|
||||
Column("ma_faxnummer", sql.Text, nullable=True),
|
||||
Column("ma_ersteintrag_datum", SafeDateTime, nullable=True),
|
||||
Column("ma_aktualisierung_datum", SafeDateTime, nullable=True),
|
||||
Column("ma_aktualisierung_nutzer", sql.Text, nullable=True),
|
||||
Column("ma_sollprozess", sql.Text, nullable=True),
|
||||
Column("ma_auslaendische_mitarbeiter", sql.Text, nullable=True),
|
||||
Column("ma_quelle_information", sql.Text, nullable=True),
|
||||
Column("ma_bemerkung", sql.Text, nullable=True),
|
||||
Column("ma_kontakt", sql.Boolean, nullable=True),
|
||||
Column("ma_schlagworte", sql.Text, nullable=True),
|
||||
Column("ma_archiviert", sql.Boolean, nullable=True, default=False),
|
||||
schema="kontaktliste",
|
||||
)
|
||||
|
||||
|
||||
grunderfassung_unternehmen: sql.Table = Table(
|
||||
"grunderfassung_unternehmen",
|
||||
MD_MAIN,
|
||||
|
||||
Reference in New Issue
Block a user