Switch to MariaDB connector and Create UserManager Class
This commit is contained in:
@@ -10,7 +10,7 @@ GridLayout
|
|||||||
rowSpacing: 9
|
rowSpacing: 9
|
||||||
// anchors.fill: parent
|
// anchors.fill: parent
|
||||||
|
|
||||||
property string name: "pyqcrm"
|
property string name: "user"
|
||||||
|
|
||||||
Label
|
Label
|
||||||
{
|
{
|
||||||
@@ -34,7 +34,7 @@ GridLayout
|
|||||||
placeholderText: qsTr("Hier Benutzername eingeben")
|
placeholderText: qsTr("Hier Benutzername eingeben")
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
height: 3
|
height: 3
|
||||||
property string name: "PYQCRM_ADMIN"
|
property string name: "PYQCRM_USER"
|
||||||
}
|
}
|
||||||
|
|
||||||
Label
|
Label
|
||||||
@@ -49,7 +49,7 @@ GridLayout
|
|||||||
echoMode: TextInput.Password
|
echoMode: TextInput.Password
|
||||||
placeholderText: qsTr("Hier Passwort eingeben")
|
placeholderText: qsTr("Hier Passwort eingeben")
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
property string name: "PYQCRM_ADMIN_PASS"
|
property string name: "PYQCRM_USER_PASS"
|
||||||
}
|
}
|
||||||
Label
|
Label
|
||||||
{
|
{
|
||||||
@@ -62,7 +62,7 @@ GridLayout
|
|||||||
id: gecos
|
id: gecos
|
||||||
placeholderText: qsTr("Zusätzliche Info")
|
placeholderText: qsTr("Zusätzliche Info")
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
property string name: "PYQCRM_ADMIN_INFO"
|
property string name: "PYQCRM_USER_INFO"
|
||||||
}
|
}
|
||||||
|
|
||||||
Item
|
Item
|
||||||
|
|||||||
@@ -49,6 +49,7 @@ GridLayout
|
|||||||
id: dbPort
|
id: dbPort
|
||||||
placeholderText: qsTr("Hier DB-Port eingeben")
|
placeholderText: qsTr("Hier DB-Port eingeben")
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
|
validator: IntValidator{bottom: 1025; top: 65535;}
|
||||||
property string name: "DB_PORT"
|
property string name: "DB_PORT"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import QtQuick
|
import QtQuick
|
||||||
import QtQuick.Layouts
|
import QtQuick.Layouts
|
||||||
import QtQuick.Controls
|
import QtQuick.Controls
|
||||||
|
import QtQuick.Dialogs
|
||||||
|
|
||||||
import "../js/qmldict.js" as Qmldict
|
import "../js/qmldict.js" as Qmldict
|
||||||
|
|
||||||
@@ -22,6 +23,66 @@ import "../js/qmldict.js" as Qmldict
|
|||||||
|
|
||||||
Item
|
Item
|
||||||
{
|
{
|
||||||
|
Component.onCompleted:
|
||||||
|
{
|
||||||
|
config.dbConnectionError.connect(onDbConnectionError)
|
||||||
|
config.adminUserError.connect(onAdminUserError)
|
||||||
|
}
|
||||||
|
|
||||||
|
function onDbConnectionError(msg, success)
|
||||||
|
{
|
||||||
|
if (!success)
|
||||||
|
conErrDialog.open()
|
||||||
|
}
|
||||||
|
|
||||||
|
function onAdminUserError(msg, success)
|
||||||
|
{
|
||||||
|
if (success)
|
||||||
|
{
|
||||||
|
encryptPwDialog.open()
|
||||||
|
}
|
||||||
|
else
|
||||||
|
firstStart.push("AdminUserConfig.qml")
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
MessageDialog
|
||||||
|
{
|
||||||
|
id: conErrDialog
|
||||||
|
text: qsTr("Datenbankverbindung fehlgeschlagen")
|
||||||
|
|
||||||
|
title: qsTr("Datenbank Verbindung")
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
Dialog
|
||||||
|
{
|
||||||
|
id: encryptPwDialog
|
||||||
|
modal: true
|
||||||
|
title: qsTr("Encryption Key")
|
||||||
|
anchors.centerIn: parent
|
||||||
|
standardButtons: Dialog.Ok | Dialog.Cancel
|
||||||
|
onAccepted: config.setEncyrptKey(encryptPassword.text)
|
||||||
|
ColumnLayout
|
||||||
|
{
|
||||||
|
RowLayout
|
||||||
|
{
|
||||||
|
Label
|
||||||
|
{
|
||||||
|
text: qsTr("Encryption Key eingeben:")
|
||||||
|
}
|
||||||
|
|
||||||
|
TextField
|
||||||
|
{
|
||||||
|
id: encryptPassword
|
||||||
|
echoMode: TextInput.Password
|
||||||
|
implicitWidth: 300
|
||||||
|
placeholderText: qsTr("Hier Encryption Key eingeben")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
StackView
|
StackView
|
||||||
{
|
{
|
||||||
@@ -66,14 +127,7 @@ Item
|
|||||||
if (pyqcrm_conf)
|
if (pyqcrm_conf)
|
||||||
{
|
{
|
||||||
admin = config.setConfig(pyqcrm_conf)
|
admin = config.setConfig(pyqcrm_conf)
|
||||||
if (admin)
|
|
||||||
{
|
|
||||||
firstStart.push("EncryptionKey.qml")
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
firstStart.push("AdminUserConfig.qml")
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -106,11 +106,6 @@ ApplicationWindow
|
|||||||
implicitWidth: 300
|
implicitWidth: 300
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
995
doc/db_schemer_v1.1-pyqcrm-202411261349.sql
Normal file
995
doc/db_schemer_v1.1-pyqcrm-202411261349.sql
Normal file
@@ -0,0 +1,995 @@
|
|||||||
|
/*M!999999\- enable the sandbox mode */
|
||||||
|
-- MariaDB dump 10.19 Distrib 10.11.10-MariaDB, for Linux (x86_64)
|
||||||
|
--
|
||||||
|
-- Host: bearybot.selfhost.co Database: pyqcrm
|
||||||
|
-- ------------------------------------------------------
|
||||||
|
-- Server version 10.11.8-MariaDB-0ubuntu0.24.04.1
|
||||||
|
|
||||||
|
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||||
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||||
|
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
|
||||||
|
/*!40101 SET NAMES utf8mb4 */;
|
||||||
|
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
|
||||||
|
/*!40103 SET TIME_ZONE='+00:00' */;
|
||||||
|
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
|
||||||
|
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
|
||||||
|
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
|
||||||
|
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `address`
|
||||||
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `address`;
|
||||||
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
|
CREATE TABLE `address` (
|
||||||
|
`addressid` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
`country` varchar(50) DEFAULT NULL,
|
||||||
|
`address` varchar(50) NOT NULL,
|
||||||
|
PRIMARY KEY (`addressid`),
|
||||||
|
UNIQUE KEY `address_unique` (`address`)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
||||||
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Dumping data for table `address`
|
||||||
|
--
|
||||||
|
|
||||||
|
LOCK TABLES `address` WRITE;
|
||||||
|
/*!40000 ALTER TABLE `address` DISABLE KEYS */;
|
||||||
|
/*!40000 ALTER TABLE `address` ENABLE KEYS */;
|
||||||
|
UNLOCK TABLES;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `assignment`
|
||||||
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `assignment`;
|
||||||
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
|
CREATE TABLE `assignment` (
|
||||||
|
`contractid` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
`employeeid` int(11) NOT NULL,
|
||||||
|
UNIQUE KEY `assignment_unique` (`contractid`)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_estonian_ci;
|
||||||
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Dumping data for table `assignment`
|
||||||
|
--
|
||||||
|
|
||||||
|
LOCK TABLES `assignment` WRITE;
|
||||||
|
/*!40000 ALTER TABLE `assignment` DISABLE KEYS */;
|
||||||
|
/*!40000 ALTER TABLE `assignment` ENABLE KEYS */;
|
||||||
|
UNLOCK TABLES;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `business`
|
||||||
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `business`;
|
||||||
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
|
CREATE TABLE `business` (
|
||||||
|
`businessid` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
`company` varchar(100) NOT NULL,
|
||||||
|
`street` varchar(100) NOT NULL,
|
||||||
|
`postcodeid` int(11) DEFAULT NULL,
|
||||||
|
`phone` varchar(50) DEFAULT NULL,
|
||||||
|
`mobilephone` varchar(50) DEFAULT NULL,
|
||||||
|
`email` varchar(255) DEFAULT NULL,
|
||||||
|
`homepage` varchar(255) DEFAULT NULL,
|
||||||
|
`director` varchar(100) DEFAULT NULL,
|
||||||
|
`contactpersonid` int(11) DEFAULT NULL,
|
||||||
|
`info` varchar(500) DEFAULT NULL,
|
||||||
|
`btid` int(11) NOT NULL DEFAULT 1,
|
||||||
|
PRIMARY KEY (`businessid`),
|
||||||
|
UNIQUE KEY `customer_unique` (`email`)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
||||||
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Dumping data for table `business`
|
||||||
|
--
|
||||||
|
|
||||||
|
LOCK TABLES `business` WRITE;
|
||||||
|
/*!40000 ALTER TABLE `business` DISABLE KEYS */;
|
||||||
|
/*!40000 ALTER TABLE `business` ENABLE KEYS */;
|
||||||
|
UNLOCK TABLES;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `businesstype`
|
||||||
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `businesstype`;
|
||||||
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
|
CREATE TABLE `businesstype` (
|
||||||
|
`btypeID` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
`description` varchar(35) NOT NULL,
|
||||||
|
PRIMARY KEY (`btypeID`),
|
||||||
|
UNIQUE KEY `businesstype_unique` (`description`)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
||||||
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Dumping data for table `businesstype`
|
||||||
|
--
|
||||||
|
|
||||||
|
LOCK TABLES `businesstype` WRITE;
|
||||||
|
/*!40000 ALTER TABLE `businesstype` DISABLE KEYS */;
|
||||||
|
/*!40000 ALTER TABLE `businesstype` ENABLE KEYS */;
|
||||||
|
UNLOCK TABLES;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `contact`
|
||||||
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `contact`;
|
||||||
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
|
CREATE TABLE `contact` (
|
||||||
|
`id` int(11) NOT NULL,
|
||||||
|
`contactpersonid` int(11) NOT NULL,
|
||||||
|
`businessid` tinyint(1) NOT NULL DEFAULT 1,
|
||||||
|
UNIQUE KEY `contact_unique` (`id`)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
||||||
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Dumping data for table `contact`
|
||||||
|
--
|
||||||
|
|
||||||
|
LOCK TABLES `contact` WRITE;
|
||||||
|
/*!40000 ALTER TABLE `contact` DISABLE KEYS */;
|
||||||
|
/*!40000 ALTER TABLE `contact` ENABLE KEYS */;
|
||||||
|
UNLOCK TABLES;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `contactperson`
|
||||||
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `contactperson`;
|
||||||
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
|
CREATE TABLE `contactperson` (
|
||||||
|
`contactpersonid` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
`priorityid` int(11) DEFAULT NULL,
|
||||||
|
`lastname` varchar(35) NOT NULL,
|
||||||
|
`firstname` varchar(35) NOT NULL,
|
||||||
|
`phone` varchar(50) DEFAULT NULL,
|
||||||
|
`mobilephone` varchar(50) DEFAULT NULL,
|
||||||
|
`position` varchar(50) DEFAULT NULL,
|
||||||
|
`salutation` varchar(10) DEFAULT NULL,
|
||||||
|
`email` varchar(255) DEFAULT NULL,
|
||||||
|
`birthday` date DEFAULT NULL,
|
||||||
|
`active` tinyint(1) NOT NULL DEFAULT 1,
|
||||||
|
PRIMARY KEY (`contactpersonid`)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
||||||
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Dumping data for table `contactperson`
|
||||||
|
--
|
||||||
|
|
||||||
|
LOCK TABLES `contactperson` WRITE;
|
||||||
|
/*!40000 ALTER TABLE `contactperson` DISABLE KEYS */;
|
||||||
|
/*!40000 ALTER TABLE `contactperson` ENABLE KEYS */;
|
||||||
|
UNLOCK TABLES;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `contract`
|
||||||
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `contract`;
|
||||||
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
|
CREATE TABLE `contract` (
|
||||||
|
`contractid` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
`jobdetailid` int(11) NOT NULL,
|
||||||
|
`tariffid` int(11) NOT NULL,
|
||||||
|
`officeid` int(11) NOT NULL COMMENT 'Kostenstelle',
|
||||||
|
`date` date NOT NULL,
|
||||||
|
PRIMARY KEY (`contractid`),
|
||||||
|
UNIQUE KEY `contract_unique` (`jobdetailid`)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
||||||
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Dumping data for table `contract`
|
||||||
|
--
|
||||||
|
|
||||||
|
LOCK TABLES `contract` WRITE;
|
||||||
|
/*!40000 ALTER TABLE `contract` DISABLE KEYS */;
|
||||||
|
/*!40000 ALTER TABLE `contract` ENABLE KEYS */;
|
||||||
|
UNLOCK TABLES;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `employee`
|
||||||
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `employee`;
|
||||||
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
|
CREATE TABLE `employee` (
|
||||||
|
`employeeid` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
`lastname` varchar(35) NOT NULL,
|
||||||
|
`firstname` varchar(35) NOT NULL,
|
||||||
|
`gender` varchar(30) DEFAULT NULL,
|
||||||
|
`maritalstatus` varchar(30) DEFAULT NULL,
|
||||||
|
`nationality` varchar(50) NOT NULL,
|
||||||
|
`birthday` date NOT NULL,
|
||||||
|
`street` varchar(100) NOT NULL,
|
||||||
|
`postcodeid` int(11) NOT NULL,
|
||||||
|
`phone` varchar(50) DEFAULT NULL,
|
||||||
|
`mobilephone` varchar(50) DEFAULT NULL,
|
||||||
|
`email` varchar(255) DEFAULT NULL,
|
||||||
|
`identificationid` int(11) NOT NULL,
|
||||||
|
`jobstatusid` int(11) NOT NULL,
|
||||||
|
PRIMARY KEY (`employeeid`),
|
||||||
|
UNIQUE KEY `employee_unique` (`identificationid`)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
||||||
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Dumping data for table `employee`
|
||||||
|
--
|
||||||
|
|
||||||
|
LOCK TABLES `employee` WRITE;
|
||||||
|
/*!40000 ALTER TABLE `employee` DISABLE KEYS */;
|
||||||
|
/*!40000 ALTER TABLE `employee` ENABLE KEYS */;
|
||||||
|
UNLOCK TABLES;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `entities`
|
||||||
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `entities`;
|
||||||
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
|
CREATE TABLE `entities` (
|
||||||
|
`entityid` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
`entity` varchar(35) NOT NULL,
|
||||||
|
PRIMARY KEY (`entityid`),
|
||||||
|
UNIQUE KEY `Entities_UNIQUE` (`entity`)
|
||||||
|
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
||||||
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Dumping data for table `entities`
|
||||||
|
--
|
||||||
|
|
||||||
|
LOCK TABLES `entities` WRITE;
|
||||||
|
/*!40000 ALTER TABLE `entities` DISABLE KEYS */;
|
||||||
|
INSERT INTO `entities` VALUES
|
||||||
|
(1,'business'),
|
||||||
|
(3,'contactperson'),
|
||||||
|
(2,'employee'),
|
||||||
|
(4,'object');
|
||||||
|
/*!40000 ALTER TABLE `entities` ENABLE KEYS */;
|
||||||
|
UNLOCK TABLES;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `identification`
|
||||||
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `identification`;
|
||||||
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
|
CREATE TABLE `identification` (
|
||||||
|
`identificationid` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
`number` varchar(50) NOT NULL,
|
||||||
|
`expiry` date NOT NULL,
|
||||||
|
`issued` date NOT NULL,
|
||||||
|
`authority` varchar(50) NOT NULL,
|
||||||
|
`typeid` int(11) NOT NULL,
|
||||||
|
PRIMARY KEY (`identificationid`),
|
||||||
|
UNIQUE KEY `identification_unique` (`number`)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
||||||
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Dumping data for table `identification`
|
||||||
|
--
|
||||||
|
|
||||||
|
LOCK TABLES `identification` WRITE;
|
||||||
|
/*!40000 ALTER TABLE `identification` DISABLE KEYS */;
|
||||||
|
/*!40000 ALTER TABLE `identification` ENABLE KEYS */;
|
||||||
|
UNLOCK TABLES;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `identificationtype`
|
||||||
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `identificationtype`;
|
||||||
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
|
CREATE TABLE `identificationtype` (
|
||||||
|
`typeid` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
`type` varchar(50) NOT NULL,
|
||||||
|
PRIMARY KEY (`typeid`),
|
||||||
|
UNIQUE KEY `identificationtype_unique` (`type`)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
||||||
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Dumping data for table `identificationtype`
|
||||||
|
--
|
||||||
|
|
||||||
|
LOCK TABLES `identificationtype` WRITE;
|
||||||
|
/*!40000 ALTER TABLE `identificationtype` DISABLE KEYS */;
|
||||||
|
/*!40000 ALTER TABLE `identificationtype` ENABLE KEYS */;
|
||||||
|
UNLOCK TABLES;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `invoice`
|
||||||
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `invoice`;
|
||||||
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
|
CREATE TABLE `invoice` (
|
||||||
|
`invoiceid` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
`issued` date NOT NULL COMMENT 'Rechnungsdatum',
|
||||||
|
`entry` date NOT NULL COMMENT 'Buchungsdatum',
|
||||||
|
`contractid` int(11) NOT NULL,
|
||||||
|
PRIMARY KEY (`invoiceid`)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
||||||
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Dumping data for table `invoice`
|
||||||
|
--
|
||||||
|
|
||||||
|
LOCK TABLES `invoice` WRITE;
|
||||||
|
/*!40000 ALTER TABLE `invoice` DISABLE KEYS */;
|
||||||
|
/*!40000 ALTER TABLE `invoice` ENABLE KEYS */;
|
||||||
|
UNLOCK TABLES;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `jobdetail`
|
||||||
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `jobdetail`;
|
||||||
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
|
CREATE TABLE `jobdetail` (
|
||||||
|
`jobdetailid` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
`duration` decimal(10,0) NOT NULL,
|
||||||
|
`objectid` int(11) NOT NULL,
|
||||||
|
`period` varchar(15) NOT NULL,
|
||||||
|
`personnel` int(11) NOT NULL DEFAULT 1 COMMENT 'number of employees',
|
||||||
|
`price` decimal(10,0) NOT NULL,
|
||||||
|
PRIMARY KEY (`jobdetailid`),
|
||||||
|
UNIQUE KEY `jobdetail_unique` (`objectid`)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
||||||
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Dumping data for table `jobdetail`
|
||||||
|
--
|
||||||
|
|
||||||
|
LOCK TABLES `jobdetail` WRITE;
|
||||||
|
/*!40000 ALTER TABLE `jobdetail` DISABLE KEYS */;
|
||||||
|
/*!40000 ALTER TABLE `jobdetail` ENABLE KEYS */;
|
||||||
|
UNLOCK TABLES;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `jobstatus`
|
||||||
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `jobstatus`;
|
||||||
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
|
CREATE TABLE `jobstatus` (
|
||||||
|
`jobstatusid` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
`description` varchar(30) NOT NULL,
|
||||||
|
PRIMARY KEY (`jobstatusid`),
|
||||||
|
UNIQUE KEY `jobstatus_unique` (`description`)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
||||||
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Dumping data for table `jobstatus`
|
||||||
|
--
|
||||||
|
|
||||||
|
LOCK TABLES `jobstatus` WRITE;
|
||||||
|
/*!40000 ALTER TABLE `jobstatus` DISABLE KEYS */;
|
||||||
|
/*!40000 ALTER TABLE `jobstatus` ENABLE KEYS */;
|
||||||
|
UNLOCK TABLES;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `logs`
|
||||||
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `logs`;
|
||||||
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
|
CREATE TABLE `logs` (
|
||||||
|
`logid` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
`recordid` int(11) DEFAULT NULL,
|
||||||
|
`operationtype` varchar(100) NOT NULL,
|
||||||
|
`message` varchar(100) NOT NULL,
|
||||||
|
`logdate` datetime NOT NULL DEFAULT current_timestamp(),
|
||||||
|
PRIMARY KEY (`logid`)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
||||||
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Dumping data for table `logs`
|
||||||
|
--
|
||||||
|
|
||||||
|
LOCK TABLES `logs` WRITE;
|
||||||
|
/*!40000 ALTER TABLE `logs` DISABLE KEYS */;
|
||||||
|
/*!40000 ALTER TABLE `logs` ENABLE KEYS */;
|
||||||
|
UNLOCK TABLES;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `medicalcare`
|
||||||
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `medicalcare`;
|
||||||
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
|
CREATE TABLE `medicalcare` (
|
||||||
|
`medicalcareid` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
`company` varchar(50) NOT NULL,
|
||||||
|
PRIMARY KEY (`medicalcareid`),
|
||||||
|
UNIQUE KEY `medicalcare_unique` (`company`)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
||||||
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Dumping data for table `medicalcare`
|
||||||
|
--
|
||||||
|
|
||||||
|
LOCK TABLES `medicalcare` WRITE;
|
||||||
|
/*!40000 ALTER TABLE `medicalcare` DISABLE KEYS */;
|
||||||
|
/*!40000 ALTER TABLE `medicalcare` ENABLE KEYS */;
|
||||||
|
UNLOCK TABLES;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `object`
|
||||||
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `object`;
|
||||||
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
|
CREATE TABLE `object` (
|
||||||
|
`objectid` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
`street` varchar(100) NOT NULL,
|
||||||
|
`postcodeid` int(11) NOT NULL,
|
||||||
|
`contactpersonid` int(11) NOT NULL,
|
||||||
|
`businessid` int(11) NOT NULL,
|
||||||
|
PRIMARY KEY (`objectid`)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
||||||
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Dumping data for table `object`
|
||||||
|
--
|
||||||
|
|
||||||
|
LOCK TABLES `object` WRITE;
|
||||||
|
/*!40000 ALTER TABLE `object` DISABLE KEYS */;
|
||||||
|
/*!40000 ALTER TABLE `object` ENABLE KEYS */;
|
||||||
|
UNLOCK TABLES;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `offer`
|
||||||
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `offer`;
|
||||||
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
|
CREATE TABLE `offer` (
|
||||||
|
`offerid` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
`jobdetailid` int(11) NOT NULL,
|
||||||
|
`date` date NOT NULL,
|
||||||
|
PRIMARY KEY (`offerid`)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
||||||
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Dumping data for table `offer`
|
||||||
|
--
|
||||||
|
|
||||||
|
LOCK TABLES `offer` WRITE;
|
||||||
|
/*!40000 ALTER TABLE `offer` DISABLE KEYS */;
|
||||||
|
/*!40000 ALTER TABLE `offer` ENABLE KEYS */;
|
||||||
|
UNLOCK TABLES;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `offers`
|
||||||
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `offers`;
|
||||||
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
|
CREATE TABLE `offers` (
|
||||||
|
`offerid` int(11) NOT NULL,
|
||||||
|
`contractid` int(11) NOT NULL
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='Kreuztabelle Angebot - Auftrag';
|
||||||
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Dumping data for table `offers`
|
||||||
|
--
|
||||||
|
|
||||||
|
LOCK TABLES `offers` WRITE;
|
||||||
|
/*!40000 ALTER TABLE `offers` DISABLE KEYS */;
|
||||||
|
/*!40000 ALTER TABLE `offers` ENABLE KEYS */;
|
||||||
|
UNLOCK TABLES;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `office`
|
||||||
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `office`;
|
||||||
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
|
CREATE TABLE `office` (
|
||||||
|
`officeid` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
`office` varchar(50) NOT NULL COMMENT 'Kostenstelle',
|
||||||
|
PRIMARY KEY (`officeid`),
|
||||||
|
UNIQUE KEY `office_unique` (`office`)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='Kostenstelle';
|
||||||
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Dumping data for table `office`
|
||||||
|
--
|
||||||
|
|
||||||
|
LOCK TABLES `office` WRITE;
|
||||||
|
/*!40000 ALTER TABLE `office` DISABLE KEYS */;
|
||||||
|
/*!40000 ALTER TABLE `office` ENABLE KEYS */;
|
||||||
|
UNLOCK TABLES;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `permissions`
|
||||||
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `permissions`;
|
||||||
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
|
CREATE TABLE `permissions` (
|
||||||
|
`permissionid` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
`permission` varchar(50) NOT NULL,
|
||||||
|
PRIMARY KEY (`permissionid`),
|
||||||
|
UNIQUE KEY `berechtigungen_unique` (`permission`)
|
||||||
|
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
||||||
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Dumping data for table `permissions`
|
||||||
|
--
|
||||||
|
|
||||||
|
LOCK TABLES `permissions` WRITE;
|
||||||
|
/*!40000 ALTER TABLE `permissions` DISABLE KEYS */;
|
||||||
|
INSERT INTO `permissions` VALUES
|
||||||
|
(4,'delete'),
|
||||||
|
(1,'read'),
|
||||||
|
(3,'update'),
|
||||||
|
(2,'write');
|
||||||
|
/*!40000 ALTER TABLE `permissions` ENABLE KEYS */;
|
||||||
|
UNLOCK TABLES;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `personalrole`
|
||||||
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `personalrole`;
|
||||||
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
|
CREATE TABLE `personalrole` (
|
||||||
|
`employeeid` int(11) NOT NULL,
|
||||||
|
`roleid` int(11) NOT NULL
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='Kreuztabelle';
|
||||||
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Dumping data for table `personalrole`
|
||||||
|
--
|
||||||
|
|
||||||
|
LOCK TABLES `personalrole` WRITE;
|
||||||
|
/*!40000 ALTER TABLE `personalrole` DISABLE KEYS */;
|
||||||
|
/*!40000 ALTER TABLE `personalrole` ENABLE KEYS */;
|
||||||
|
UNLOCK TABLES;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `postcode`
|
||||||
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `postcode`;
|
||||||
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
|
CREATE TABLE `postcode` (
|
||||||
|
`postcodeid` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
`postcode` varchar(15) NOT NULL,
|
||||||
|
`addressid` int(11) NOT NULL,
|
||||||
|
PRIMARY KEY (`postcodeid`)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
||||||
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Dumping data for table `postcode`
|
||||||
|
--
|
||||||
|
|
||||||
|
LOCK TABLES `postcode` WRITE;
|
||||||
|
/*!40000 ALTER TABLE `postcode` DISABLE KEYS */;
|
||||||
|
/*!40000 ALTER TABLE `postcode` ENABLE KEYS */;
|
||||||
|
UNLOCK TABLES;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `role`
|
||||||
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `role`;
|
||||||
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
|
CREATE TABLE `role` (
|
||||||
|
`roleid` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
`description` varchar(50) NOT NULL,
|
||||||
|
PRIMARY KEY (`roleid`),
|
||||||
|
UNIQUE KEY `role_unique` (`description`)
|
||||||
|
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
||||||
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Dumping data for table `role`
|
||||||
|
--
|
||||||
|
|
||||||
|
LOCK TABLES `role` WRITE;
|
||||||
|
/*!40000 ALTER TABLE `role` DISABLE KEYS */;
|
||||||
|
INSERT INTO `role` VALUES
|
||||||
|
(1,'adminrole'),
|
||||||
|
(2,'userrole');
|
||||||
|
/*!40000 ALTER TABLE `role` ENABLE KEYS */;
|
||||||
|
UNLOCK TABLES;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `roles`
|
||||||
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `roles`;
|
||||||
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
|
CREATE TABLE `roles` (
|
||||||
|
`roleid` int(11) NOT NULL,
|
||||||
|
`permissionid` int(11) NOT NULL,
|
||||||
|
`entityid` int(11) NOT NULL
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
||||||
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Dumping data for table `roles`
|
||||||
|
--
|
||||||
|
|
||||||
|
LOCK TABLES `roles` WRITE;
|
||||||
|
/*!40000 ALTER TABLE `roles` DISABLE KEYS */;
|
||||||
|
INSERT INTO `roles` VALUES
|
||||||
|
(1,1,1),
|
||||||
|
(1,2,1),
|
||||||
|
(1,3,1),
|
||||||
|
(1,4,1),
|
||||||
|
(1,1,2),
|
||||||
|
(1,2,2),
|
||||||
|
(1,3,2),
|
||||||
|
(1,4,2),
|
||||||
|
(1,1,3),
|
||||||
|
(1,2,3),
|
||||||
|
(1,3,3),
|
||||||
|
(1,4,3),
|
||||||
|
(1,1,4),
|
||||||
|
(1,2,4),
|
||||||
|
(1,3,4),
|
||||||
|
(1,4,4),
|
||||||
|
(2,1,1),
|
||||||
|
(2,2,1),
|
||||||
|
(2,3,1),
|
||||||
|
(2,1,2),
|
||||||
|
(2,2,2),
|
||||||
|
(2,3,2),
|
||||||
|
(2,1,3),
|
||||||
|
(2,2,3),
|
||||||
|
(2,3,3),
|
||||||
|
(2,1,4),
|
||||||
|
(2,2,4),
|
||||||
|
(2,3,4);
|
||||||
|
/*!40000 ALTER TABLE `roles` ENABLE KEYS */;
|
||||||
|
UNLOCK TABLES;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `salestax`
|
||||||
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `salestax`;
|
||||||
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
|
CREATE TABLE `salestax` (
|
||||||
|
`salestaxid` varchar(20) NOT NULL,
|
||||||
|
`businessid` int(11) NOT NULL,
|
||||||
|
PRIMARY KEY (`salestaxid`),
|
||||||
|
UNIQUE KEY `salestax_unique` (`businessid`)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
||||||
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Dumping data for table `salestax`
|
||||||
|
--
|
||||||
|
|
||||||
|
LOCK TABLES `salestax` WRITE;
|
||||||
|
/*!40000 ALTER TABLE `salestax` DISABLE KEYS */;
|
||||||
|
/*!40000 ALTER TABLE `salestax` ENABLE KEYS */;
|
||||||
|
UNLOCK TABLES;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `service`
|
||||||
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `service`;
|
||||||
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
|
CREATE TABLE `service` (
|
||||||
|
`servicetypeid` int(11) NOT NULL,
|
||||||
|
`servicedescid` int(11) NOT NULL,
|
||||||
|
`objectid` int(11) NOT NULL
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
||||||
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Dumping data for table `service`
|
||||||
|
--
|
||||||
|
|
||||||
|
LOCK TABLES `service` WRITE;
|
||||||
|
/*!40000 ALTER TABLE `service` DISABLE KEYS */;
|
||||||
|
/*!40000 ALTER TABLE `service` ENABLE KEYS */;
|
||||||
|
UNLOCK TABLES;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `servicedesc`
|
||||||
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `servicedesc`;
|
||||||
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
|
CREATE TABLE `servicedesc` (
|
||||||
|
`servicedescid` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
`description` varchar(1000) NOT NULL,
|
||||||
|
PRIMARY KEY (`servicedescid`)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
||||||
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Dumping data for table `servicedesc`
|
||||||
|
--
|
||||||
|
|
||||||
|
LOCK TABLES `servicedesc` WRITE;
|
||||||
|
/*!40000 ALTER TABLE `servicedesc` DISABLE KEYS */;
|
||||||
|
/*!40000 ALTER TABLE `servicedesc` ENABLE KEYS */;
|
||||||
|
UNLOCK TABLES;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `servicetype`
|
||||||
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `servicetype`;
|
||||||
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
|
CREATE TABLE `servicetype` (
|
||||||
|
`servicetypeid` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
`description` varchar(50) NOT NULL,
|
||||||
|
PRIMARY KEY (`servicetypeid`)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
||||||
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Dumping data for table `servicetype`
|
||||||
|
--
|
||||||
|
|
||||||
|
LOCK TABLES `servicetype` WRITE;
|
||||||
|
/*!40000 ALTER TABLE `servicetype` DISABLE KEYS */;
|
||||||
|
/*!40000 ALTER TABLE `servicetype` ENABLE KEYS */;
|
||||||
|
UNLOCK TABLES;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `socialsecurity`
|
||||||
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `socialsecurity`;
|
||||||
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
|
CREATE TABLE `socialsecurity` (
|
||||||
|
`employeeid` int(11) NOT NULL,
|
||||||
|
`socialsecurityno` varchar(30) NOT NULL,
|
||||||
|
`medicalcareid` int(11) NOT NULL,
|
||||||
|
UNIQUE KEY `socialsecurity_unique` (`employeeid`),
|
||||||
|
UNIQUE KEY `socialsecurity_unique_1` (`socialsecurityno`)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
||||||
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Dumping data for table `socialsecurity`
|
||||||
|
--
|
||||||
|
|
||||||
|
LOCK TABLES `socialsecurity` WRITE;
|
||||||
|
/*!40000 ALTER TABLE `socialsecurity` DISABLE KEYS */;
|
||||||
|
/*!40000 ALTER TABLE `socialsecurity` ENABLE KEYS */;
|
||||||
|
UNLOCK TABLES;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `tariff`
|
||||||
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `tariff`;
|
||||||
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
|
CREATE TABLE `tariff` (
|
||||||
|
`tariffid` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
`tariff` decimal(10,0) NOT NULL COMMENT 'Festgelegter Stundensatz',
|
||||||
|
PRIMARY KEY (`tariffid`)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='Stundensatz Tabelle';
|
||||||
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Dumping data for table `tariff`
|
||||||
|
--
|
||||||
|
|
||||||
|
LOCK TABLES `tariff` WRITE;
|
||||||
|
/*!40000 ALTER TABLE `tariff` DISABLE KEYS */;
|
||||||
|
/*!40000 ALTER TABLE `tariff` ENABLE KEYS */;
|
||||||
|
UNLOCK TABLES;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `timetrack`
|
||||||
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `timetrack`;
|
||||||
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
|
CREATE TABLE `timetrack` (
|
||||||
|
`employeeid` int(11) NOT NULL,
|
||||||
|
`start` datetime NOT NULL,
|
||||||
|
`stop` datetime NOT NULL,
|
||||||
|
`vacation` tinyint(1) NOT NULL DEFAULT 0
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
||||||
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Dumping data for table `timetrack`
|
||||||
|
--
|
||||||
|
|
||||||
|
LOCK TABLES `timetrack` WRITE;
|
||||||
|
/*!40000 ALTER TABLE `timetrack` DISABLE KEYS */;
|
||||||
|
/*!40000 ALTER TABLE `timetrack` ENABLE KEYS */;
|
||||||
|
UNLOCK TABLES;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `users`
|
||||||
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `users`;
|
||||||
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
|
CREATE TABLE `users` (
|
||||||
|
`usersid` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
`username` varchar(50) NOT NULL,
|
||||||
|
`password` varchar(150) NOT NULL,
|
||||||
|
`enabled` tinyint(1) NOT NULL DEFAULT 1,
|
||||||
|
`roleid` int(11) NOT NULL,
|
||||||
|
`gecos` varchar(75) DEFAULT NULL,
|
||||||
|
PRIMARY KEY (`usersid`),
|
||||||
|
UNIQUE KEY `users_unique` (`username`)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
||||||
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Dumping data for table `users`
|
||||||
|
--
|
||||||
|
|
||||||
|
LOCK TABLES `users` WRITE;
|
||||||
|
/*!40000 ALTER TABLE `users` DISABLE KEYS */;
|
||||||
|
/*!40000 ALTER TABLE `users` ENABLE KEYS */;
|
||||||
|
UNLOCK TABLES;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Dumping routines for database 'pyqcrm'
|
||||||
|
--
|
||||||
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
||||||
|
/*!50003 SET sql_mode = 'IGNORE_SPACE,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */ ;
|
||||||
|
/*!50003 DROP PROCEDURE IF EXISTS `addPermission` */;
|
||||||
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
||||||
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
||||||
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
||||||
|
/*!50003 SET character_set_client = utf8mb4 */ ;
|
||||||
|
/*!50003 SET character_set_results = utf8mb4 */ ;
|
||||||
|
/*!50003 SET collation_connection = utf8mb4_general_ci */ ;
|
||||||
|
DELIMITER ;;
|
||||||
|
CREATE DEFINER=`pyqcrm`@`%` PROCEDURE `addPermission`(IN newpermission VARCHAR(50))
|
||||||
|
BEGIN
|
||||||
|
IF NOT EXISTS (SELECT 1 FROM permissions WHERE permission = newpermission) THEN
|
||||||
|
INSERT INTO permissions(permission) VALUES(newpermission);
|
||||||
|
END IF;
|
||||||
|
END ;;
|
||||||
|
DELIMITER ;
|
||||||
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
||||||
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
||||||
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
||||||
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
||||||
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
||||||
|
/*!50003 SET sql_mode = 'IGNORE_SPACE,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */ ;
|
||||||
|
/*!50003 DROP PROCEDURE IF EXISTS `addRole` */;
|
||||||
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
||||||
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
||||||
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
||||||
|
/*!50003 SET character_set_client = utf8mb4 */ ;
|
||||||
|
/*!50003 SET character_set_results = utf8mb4 */ ;
|
||||||
|
/*!50003 SET collation_connection = utf8mb4_general_ci */ ;
|
||||||
|
DELIMITER ;;
|
||||||
|
CREATE DEFINER=`pyqcrm`@`%` PROCEDURE `addRole`(IN newdescription VARCHAR(50))
|
||||||
|
BEGIN
|
||||||
|
IF NOT EXISTS (SELECT 1 FROM `role` WHERE description = newdescription) THEN
|
||||||
|
INSERT INTO `role`(description) VALUES(newdescription);
|
||||||
|
END IF;
|
||||||
|
END ;;
|
||||||
|
DELIMITER ;
|
||||||
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
||||||
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
||||||
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
||||||
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
||||||
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
||||||
|
/*!50003 SET sql_mode = 'IGNORE_SPACE,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */ ;
|
||||||
|
/*!50003 DROP PROCEDURE IF EXISTS `createUser` */;
|
||||||
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
||||||
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
||||||
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
||||||
|
/*!50003 SET character_set_client = utf8mb4 */ ;
|
||||||
|
/*!50003 SET character_set_results = utf8mb4 */ ;
|
||||||
|
/*!50003 SET collation_connection = utf8mb4_general_ci */ ;
|
||||||
|
DELIMITER ;;
|
||||||
|
CREATE DEFINER=`pyqcrm`@`%` PROCEDURE `createUser`(IN uname VARCHAR(35), IN password VARCHAR(150), IN gecos VARCHAR(75), IN admin BOOL)
|
||||||
|
BEGIN
|
||||||
|
DECLARE userrole INT;
|
||||||
|
SET userrole = 2;
|
||||||
|
IF admin = 1 THEN
|
||||||
|
SET userrole = 1;
|
||||||
|
END IF;
|
||||||
|
IF NOT EXISTS (SELECT 1 FROM users WHERE username = uname) THEN
|
||||||
|
INSERT INTO users(username, password, gecos, roleid) VALUES(uname, password, gecos, userrole);
|
||||||
|
END IF;
|
||||||
|
END ;;
|
||||||
|
DELIMITER ;
|
||||||
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
||||||
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
||||||
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
||||||
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
||||||
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
||||||
|
/*!50003 SET sql_mode = 'IGNORE_SPACE,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */ ;
|
||||||
|
/*!50003 DROP PROCEDURE IF EXISTS `getBusiness` */;
|
||||||
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
||||||
|
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
||||||
|
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
||||||
|
/*!50003 SET character_set_client = utf8mb4 */ ;
|
||||||
|
/*!50003 SET character_set_results = utf8mb4 */ ;
|
||||||
|
/*!50003 SET collation_connection = utf8mb4_general_ci */ ;
|
||||||
|
DELIMITER ;;
|
||||||
|
CREATE DEFINER=`pyqcrm`@`%` PROCEDURE `getBusiness`(IN businesstype VARCHAR(35))
|
||||||
|
BEGIN
|
||||||
|
SELECT * FROM business;
|
||||||
|
END ;;
|
||||||
|
DELIMITER ;
|
||||||
|
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
||||||
|
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
||||||
|
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
||||||
|
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
||||||
|
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
|
||||||
|
|
||||||
|
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
|
||||||
|
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
|
||||||
|
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
|
||||||
|
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
|
||||||
|
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
|
||||||
|
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
||||||
|
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
||||||
|
|
||||||
|
-- Dump completed on 2024-11-26 13:49:32
|
||||||
@@ -2,15 +2,26 @@
|
|||||||
import toml
|
import toml
|
||||||
from platformdirs import user_config_dir
|
from platformdirs import user_config_dir
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from PySide6.QtCore import QObject, Slot
|
from PySide6.QtCore import QObject, Slot, Signal
|
||||||
from .Vermasseln import Vermasseln
|
from .Vermasseln import Vermasseln
|
||||||
import shutil
|
import shutil
|
||||||
from urllib.parse import urlparse
|
from urllib.parse import urlparse
|
||||||
from .DB.DbManager import DbManager
|
from .DB.DbManager import DbManager
|
||||||
import os
|
import os
|
||||||
|
from Crypto.Random import get_random_bytes
|
||||||
|
from base64 import b64encode, b64decode
|
||||||
|
from .DB.UserManager import UserManager
|
||||||
|
from .PyqcrmFlags import PyqcrmFlags
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class ConfigLoader(QObject):
|
class ConfigLoader(QObject):
|
||||||
__config = None
|
__config = None
|
||||||
|
__version = "0.1-alpha"
|
||||||
|
|
||||||
|
|
||||||
|
dbConnectionError = Signal(str, bool)
|
||||||
|
adminUserError = Signal(str, bool)
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
super().__init__()
|
super().__init__()
|
||||||
@@ -33,56 +44,69 @@ class ConfigLoader(QObject):
|
|||||||
shutil.copyfile(confile, self.config_dir+ '/pyqcrm.toml')
|
shutil.copyfile(confile, self.config_dir+ '/pyqcrm.toml')
|
||||||
|
|
||||||
@Slot(dict, result= bool)
|
@Slot(dict, result= bool)
|
||||||
def addAdminUser(self, admin_config):
|
def addAdminUser(self, user_config):
|
||||||
print(admin_config)
|
admin = UserManager(user_config["user"], PyqcrmFlags.ADMIN).createUser()
|
||||||
return True
|
return True
|
||||||
|
|
||||||
@Slot(dict, result= bool)
|
@Slot(dict, result= bool)
|
||||||
def setConfig(self, app_config):
|
def setConfig(self, app_config):
|
||||||
|
base_conf = self.__initializeConfig()
|
||||||
conf = self.__checkDbConnection(app_config)
|
conf = self.__checkDbConnection(app_config)
|
||||||
if conf:
|
app_config = toml.dumps(app_config)
|
||||||
try:
|
|
||||||
with open (self.config_dir + '/pyqcrm.toml', 'w') as f:
|
|
||||||
config = Vermasseln().oscarVermasseln(toml.dumps(app_config))
|
|
||||||
f.write(config)
|
|
||||||
except FileNotFoundError:
|
|
||||||
conf = False
|
|
||||||
print("Konnte die Konfiguration nicht speichern.")
|
|
||||||
conf = self.__checkAdminUser()
|
|
||||||
|
|
||||||
return conf
|
if conf:
|
||||||
|
app_config = base_conf + app_config
|
||||||
|
self.__config = toml.loads(app_config)
|
||||||
|
self.__saveConfig()
|
||||||
|
conf = self.__checkAdminUser()
|
||||||
|
|
||||||
|
|
||||||
def __configLoad(self):
|
def __configLoad(self):
|
||||||
try:
|
try:
|
||||||
with open (self.config_dir + '/pyqcrm.toml', 'r') as f:
|
with open (self.config_dir + '/pyqcrm.toml', 'r') as f:
|
||||||
config = f.read()
|
config = f.read()
|
||||||
|
|
||||||
self.__config = toml.loads(Vermasseln().entschluesseln(config))
|
self.__config = toml.loads(Vermasseln().entschluesseln(config))
|
||||||
except FileNotFoundError:
|
except FileNotFoundError:
|
||||||
print("Konnte die Konfiguration nicht laden.")
|
print("Konnte die Konfiguration nicht laden.")
|
||||||
except TypeError:
|
except TypeError:
|
||||||
print("Invalid Configuration")
|
print(f"Invalid Configuration: {__file__}")
|
||||||
# except Exception as e:
|
except Exception as e:
|
||||||
# print(str(e))
|
print(str(e))
|
||||||
|
|
||||||
|
|
||||||
def getConfig(self):
|
def getConfig(self):
|
||||||
|
|
||||||
return self.__config
|
return self.__config
|
||||||
|
|
||||||
def __createConfig(self):
|
def __initializeConfig(self):
|
||||||
|
encrypt_key = b64encode(get_random_bytes(32)).decode("utf-8")
|
||||||
|
conf = f"[pyqcrm]\nVERSION = \"{self.__version}\"\nENCRYPTION_KEY = \"{encrypt_key}\"\n\n"
|
||||||
|
return conf
|
||||||
|
|
||||||
with open(self.config_dir + '/pyqcrm.toml', "w") as datei:
|
|
||||||
datei.write("[pyqcrm]")
|
|
||||||
|
|
||||||
def __checkDbConnection(self, db_config):
|
def __checkDbConnection(self, db_config):
|
||||||
con = DbManager(db_config['database']).getConnection()
|
con = DbManager(db_config['database']).getConnection()
|
||||||
if con:
|
if con:
|
||||||
|
self.dbConnectionError.emit("Connection OK", True)
|
||||||
return True
|
return True
|
||||||
else:
|
else:
|
||||||
|
self.dbConnectionError.emit("Connection fehlgeschlagen", False)
|
||||||
return False
|
return False
|
||||||
|
|
||||||
def __checkAdminUser(self):
|
def __checkAdminUser(self):
|
||||||
pass
|
|
||||||
|
self.adminUserError.emit("Kein Admin vorhanden", False)
|
||||||
|
|
||||||
|
@Slot(str)
|
||||||
|
def setEncyrptKey(self, key):
|
||||||
|
self.__config['pyqcrm']['ENCRYPTION_KEY'] = key
|
||||||
|
self.__saveConfig()
|
||||||
|
|
||||||
|
def __saveConfig(self):
|
||||||
|
try:
|
||||||
|
with open (self.config_dir + '/pyqcrm.toml', 'w') as f:
|
||||||
|
config = Vermasseln().oscarVermasseln(toml.dumps(self.__config))
|
||||||
|
f.write(config)
|
||||||
|
except FileNotFoundError:
|
||||||
|
print("Konnte die Konfiguration nicht speichern.")
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
# This Python file uses the following encoding: utf-8
|
# This Python file uses the following encoding: utf-8
|
||||||
import mysql.connector
|
import mariadb
|
||||||
|
|
||||||
class DbManager(object):
|
class DbManager(object):
|
||||||
__connection = None
|
__connection = None
|
||||||
@@ -14,6 +14,12 @@ class DbManager(object):
|
|||||||
return cls.__dbmanager
|
return cls.__dbmanager
|
||||||
|
|
||||||
def getConnection(cls):
|
def getConnection(cls):
|
||||||
|
if not cls.__connection:
|
||||||
|
try:
|
||||||
|
cls.__connection = mariadb.connect(**cls.__con_param)
|
||||||
|
|
||||||
|
except mariadb.Error as e:
|
||||||
|
print("Connection parameters are wrong: {e}")
|
||||||
return cls.__connection
|
return cls.__connection
|
||||||
|
|
||||||
def __initializeConfig(cls, dbconf):
|
def __initializeConfig(cls, dbconf):
|
||||||
@@ -21,6 +27,6 @@ class DbManager(object):
|
|||||||
'port': int (dbconf['DB_PORT']), 'host': dbconf['DB_HOST'],
|
'port': int (dbconf['DB_PORT']), 'host': dbconf['DB_HOST'],
|
||||||
'database': dbconf['DB_NAME']
|
'database': dbconf['DB_NAME']
|
||||||
}
|
}
|
||||||
cls.__connection = mysql.connector.connect(**cls.__con_param)
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
40
lib/DB/UserManager.py
Normal file
40
lib/DB/UserManager.py
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
from .DbManager import DbManager
|
||||||
|
from ..PyqcrmFlags import PyqcrmFlags
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class UserManager():
|
||||||
|
|
||||||
|
def __init__(self, user_config, role):
|
||||||
|
self.__con = DbManager().getConnection()
|
||||||
|
self.__cur = self.__con.cursor()
|
||||||
|
self.__username = user_config["PYQCRM_USER"]
|
||||||
|
self.__password = user_config["PYQCRM_USER_PASS"]
|
||||||
|
self.__info = user_config["PYQCRM_USER_INFO"]
|
||||||
|
self.__role = role if role == PyqcrmFlags.ADMIN else 0
|
||||||
|
|
||||||
|
|
||||||
|
def createUser(self):
|
||||||
|
self.__cur.callproc("createUser", (self.__username, self.__password, self.__info, self.__role))
|
||||||
|
self.__con.commit()
|
||||||
|
self.__closeConnection()
|
||||||
|
|
||||||
|
def getUser(self):
|
||||||
|
self.__closeConnection()
|
||||||
|
|
||||||
|
def getUsers(self):
|
||||||
|
self.__closeConnection()
|
||||||
|
|
||||||
|
def delUser(self):
|
||||||
|
self.__closeConnection()
|
||||||
|
|
||||||
|
def updateUser(self):
|
||||||
|
self.__closeConnection()
|
||||||
|
|
||||||
|
def disableUser(self):
|
||||||
|
self.__closeConnection()
|
||||||
|
|
||||||
|
def __closeConnection(self):
|
||||||
|
self.__cur.close()
|
||||||
|
self.__con.close()
|
||||||
|
|
||||||
6
lib/PyqcrmFlags.py
Normal file
6
lib/PyqcrmFlags.py
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
from enum import IntFlag
|
||||||
|
|
||||||
|
|
||||||
|
class PyqcrmFlags(IntFlag):
|
||||||
|
ADMIN = 1
|
||||||
|
USER = 2
|
||||||
@@ -23,8 +23,8 @@ class Vermasseln:
|
|||||||
cipher = self.__vermasslungsKobold()
|
cipher = self.__vermasslungsKobold()
|
||||||
decrypted_data = cipher.decrypt_and_verify(encoded_data[0], encoded_data[1])
|
decrypted_data = cipher.decrypt_and_verify(encoded_data[0], encoded_data[1])
|
||||||
decrypted_data = decrypted_data.decode("utf-8")
|
decrypted_data = decrypted_data.decode("utf-8")
|
||||||
except (ValueError, IndexError):
|
except (ValueError, IndexError) as e:
|
||||||
print("Configuration corrupted")
|
print(f"Configuration corrupted: {str(e)}")
|
||||||
decrypted_data = None
|
decrypted_data = None
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
|||||||
@@ -26,6 +26,8 @@
|
|||||||
"images/menu.svg",
|
"images/menu.svg",
|
||||||
"images/search.svg",
|
"images/search.svg",
|
||||||
"lib/DB/DbManager.py",
|
"lib/DB/DbManager.py",
|
||||||
"Gui/DbConfiguration.qml"
|
"Gui/DbConfiguration.qml",
|
||||||
|
"lib/DB/UserManager.py",
|
||||||
|
"lib/PyqcrmFlags.py"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ platformdirs
|
|||||||
pycryptodome
|
pycryptodome
|
||||||
psutil
|
psutil
|
||||||
toml
|
toml
|
||||||
mysql-connector-python
|
mariadb
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user