A lot of changes going on
This commit is contained in:
@@ -2,7 +2,7 @@ import QtQuick
|
||||
import QtQuick.Layouts
|
||||
import QtQuick.Controls
|
||||
import QtQuick.Dialogs
|
||||
import "../js/qmldict.js" as JsLib
|
||||
import Js
|
||||
|
||||
ColumnLayout
|
||||
{
|
||||
|
||||
@@ -2,7 +2,7 @@ import QtQuick
|
||||
import QtQuick.Layouts
|
||||
import QtQuick.Controls
|
||||
import QtQuick.Dialogs
|
||||
import "../js/qmldict.js" as JsLib
|
||||
import Js
|
||||
|
||||
ColumnLayout
|
||||
{
|
||||
@@ -70,8 +70,13 @@ ColumnLayout
|
||||
text: qsTr("Speichern")
|
||||
enabled: false
|
||||
onClicked:
|
||||
|
||||
{
|
||||
|
||||
new_object = JsLib.parseForm(newObject)
|
||||
// For Debugging
|
||||
console.log(JSON.stringify(new_object))
|
||||
//
|
||||
new_object['lift'] = new_object['lift'] === 'Ja' ? 1 : 0
|
||||
new_object['mezzanin'] = new_object['mezzanin'] === 'Ja' ? 1 : 0
|
||||
object_model.addObject(new_object)
|
||||
|
||||
@@ -3,7 +3,7 @@ import QtQuick.Controls
|
||||
import QtQuick.Layouts
|
||||
import QtQuick.Dialogs
|
||||
import QtCore
|
||||
import "../js/qmldict.js" as JsLib
|
||||
import Js
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
import QtQuick
|
||||
import QtQuick.Controls
|
||||
import QtQuick.Layouts
|
||||
import "../../js/qmldict.js" as JsLib
|
||||
|
||||
import Js
|
||||
ColumnLayout {
|
||||
id: colPar
|
||||
|
||||
@@ -46,7 +45,7 @@ ColumnLayout {
|
||||
Layout.fillWidth: true
|
||||
Layout.horizontalStretchFactor: 1
|
||||
|
||||
ApplicantPersonalData {
|
||||
EmployeePersonalData {
|
||||
id: personalData
|
||||
|
||||
implicitWidth: parent.width
|
||||
@@ -61,14 +60,14 @@ ColumnLayout {
|
||||
Layout.alignment: Qt.AlignTop
|
||||
implicitWidth: parent.width
|
||||
|
||||
ApplicantBankData {
|
||||
EmployeeBankData {
|
||||
id: bankAccount
|
||||
|
||||
}
|
||||
ApplicantNationalInsurance {
|
||||
EmployeeNationalInsurance {
|
||||
id: nationalInsurance
|
||||
}
|
||||
ApplicantVarious {
|
||||
EmployeeVarious {
|
||||
id: applicantVarious
|
||||
|
||||
}
|
||||
|
||||
@@ -3,11 +3,12 @@ import QtQuick.Controls.impl
|
||||
import QtQuick.Layouts
|
||||
import TeroStyle
|
||||
|
||||
ColumnLayout {
|
||||
readonly property int fieldM: 235
|
||||
readonly property int fieldS: 110
|
||||
readonly property bool valid: city.acceptableInput && email.acceptableInput && firstname.acceptableInput && lastname.acceptableInput && mobile.acceptableInput && phone.acceptableInput && postcode.acceptableInput && formofaddress.acceptableInput && title.acceptableInput
|
||||
readonly property var value: QtObject {
|
||||
ColumnLayout
|
||||
{
|
||||
readonly property int fieldM: 235
|
||||
readonly property int fieldS: 110
|
||||
readonly property bool valid: city.acceptableInput && email.acceptableInput && firstname.acceptableInput && lastname.acceptableInput && mobile.acceptableInput && phone.acceptableInput && postcode.acceptableInput && formofaddress.acceptableInput && title.acceptableInput
|
||||
readonly property var value: QtObject {
|
||||
readonly property string city: (city.editText ? city.editText : city.currentText) ?? ""
|
||||
readonly property string email: email.text
|
||||
readonly property string firstname: firstname.text
|
||||
|
||||
@@ -52,7 +52,7 @@ ColumnLayout {
|
||||
BarButton {
|
||||
ButtonGroup.group: mainNav
|
||||
icon.source: "qrc:/images/RectangleStack-Outline.svg"
|
||||
target: "/Gui/OffersTable.qml"
|
||||
target: "/Gui/Offers/OffersTable.qml"
|
||||
text: qsTr("Angebote")
|
||||
visible: !onSubPage
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import QtQuick
|
||||
import QtQuick.Layouts
|
||||
import QtQuick.Controls
|
||||
import "../js/qmldict.js" as JsLib
|
||||
import Js
|
||||
|
||||
Frame
|
||||
{
|
||||
|
||||
@@ -52,37 +52,6 @@ GridLayout
|
||||
|
||||
//// New grid row
|
||||
|
||||
Label
|
||||
{
|
||||
text: qsTr("Straße")
|
||||
Layout.alignment: Qt.AlignRight | Qt.AlignVCenter
|
||||
}
|
||||
|
||||
TextField
|
||||
{
|
||||
property string name: "street"
|
||||
id: street
|
||||
Layout.fillWidth: true
|
||||
Layout.alignment: Qt.AlignVCenter
|
||||
// onTextChanged: checkFields()
|
||||
}
|
||||
|
||||
Label
|
||||
{
|
||||
text: qsTr("Nr.*")
|
||||
Layout.alignment: Qt.AlignRight | Qt.AlignVCenter
|
||||
}
|
||||
|
||||
TextField
|
||||
{
|
||||
property string name: "houseno"
|
||||
id: houseno
|
||||
Layout.fillWidth: true
|
||||
Layout.alignment: Qt.AlignVCenter
|
||||
// onTextChanged: checkFields()
|
||||
}
|
||||
|
||||
// New grid row
|
||||
Label
|
||||
{
|
||||
text: qsTr("PLZ")
|
||||
@@ -102,7 +71,11 @@ GridLayout
|
||||
textRole: "display"
|
||||
popup.height: 300
|
||||
currentIndex: -1
|
||||
onCurrentIndexChanged: city.currentIndex = postcode.currentIndex
|
||||
onCurrentIndexChanged:
|
||||
{
|
||||
city.currentIndex = postcode.currentIndex
|
||||
|
||||
}
|
||||
|
||||
validator: RegularExpressionValidator
|
||||
{
|
||||
@@ -131,6 +104,41 @@ GridLayout
|
||||
currentIndex: -1
|
||||
}
|
||||
|
||||
Label
|
||||
{
|
||||
text: qsTr("Straße")
|
||||
Layout.alignment: Qt.AlignRight | Qt.AlignVCenter
|
||||
}
|
||||
|
||||
ComboBox
|
||||
{
|
||||
property string name: "street"
|
||||
id: street
|
||||
model: object_model
|
||||
textRole: "StreetInPostcode"
|
||||
Layout.fillWidth: true
|
||||
Layout.alignment: Qt.AlignVCenter
|
||||
// onTextChanged: checkFields()
|
||||
}
|
||||
|
||||
Label
|
||||
{
|
||||
text: qsTr("Nr.*")
|
||||
Layout.alignment: Qt.AlignRight | Qt.AlignVCenter
|
||||
}
|
||||
|
||||
ComboBox
|
||||
{
|
||||
property string name: "houseno"
|
||||
id: houseno
|
||||
Layout.fillWidth: true
|
||||
Layout.alignment: Qt.AlignVCenter
|
||||
// onTextChanged: checkFields()
|
||||
}
|
||||
|
||||
// New grid row
|
||||
|
||||
|
||||
//New Grid
|
||||
Label
|
||||
{
|
||||
@@ -184,6 +192,7 @@ GridLayout
|
||||
Layout.fillWidth: true
|
||||
Layout.alignment: Qt.AlignVCenter
|
||||
}
|
||||
|
||||
Item
|
||||
{
|
||||
Layout.columnSpan: 2
|
||||
@@ -194,16 +203,13 @@ GridLayout
|
||||
text: qsTr("Leistungen:")
|
||||
Layout.alignment: Qt.AlignRight
|
||||
font: Typography.h2
|
||||
|
||||
|
||||
}
|
||||
|
||||
Item
|
||||
{
|
||||
Layout.columnSpan: 3
|
||||
}
|
||||
|
||||
|
||||
|
||||
Item
|
||||
{
|
||||
Layout.fillHeight: true
|
||||
@@ -2,7 +2,8 @@ import QtQuick
|
||||
import QtQuick.Layouts
|
||||
import QtQuick.Controls
|
||||
import QtQuick.Dialogs
|
||||
import "../js/qmldict.js" as JsLib
|
||||
import Js
|
||||
|
||||
|
||||
ColumnLayout
|
||||
{
|
||||
@@ -27,18 +28,15 @@ ColumnLayout
|
||||
Layout.fillHeight: true
|
||||
spacing: 45
|
||||
|
||||
Frame
|
||||
|
||||
AddNewOffer
|
||||
{
|
||||
Layout.alignment: Qt.AlignTop
|
||||
Layout.fillWidth: true
|
||||
AddNewOffer
|
||||
{
|
||||
id: newOffer
|
||||
width: parent.width
|
||||
}
|
||||
id: newOffer
|
||||
width: parent.width
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
RowLayout
|
||||
{
|
||||
@@ -51,16 +49,17 @@ ColumnLayout
|
||||
}
|
||||
Button
|
||||
{
|
||||
property var new_object: null
|
||||
|
||||
id: saveBtn
|
||||
text: qsTr("Speichern")
|
||||
enabled: false
|
||||
// enabled: false
|
||||
onClicked:
|
||||
{
|
||||
// new_object = JsLib.parseForm(newObject)
|
||||
// new_object['lift'] = new_object['lift'] === 'Ja' ? 1 : 0
|
||||
// new_object['mezzanin'] = new_object['mezzanin'] === 'Ja' ? 1 : 0
|
||||
// object_model.addObject(new_object)
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -57,7 +57,7 @@ ColumnLayout
|
||||
icon.source: "qrc:/images/PlusCircle.svg"
|
||||
Layout.alignment: Qt.AlignRight
|
||||
flat: true
|
||||
onClicked: appLoader.source = "AddOffer.qml"
|
||||
onClicked: contentStack.push("AddOffer.qml")
|
||||
}
|
||||
}
|
||||
Item {
|
||||
1
Gui/Offers/qmldir
Normal file
1
Gui/Offers/qmldir
Normal file
@@ -0,0 +1 @@
|
||||
module Offers
|
||||
@@ -1,87 +0,0 @@
|
||||
import QtQuick
|
||||
import QtQuick.Layouts
|
||||
import QtQuick.Controls
|
||||
import Qt.labs.qmlmodels
|
||||
|
||||
ColumnLayout {
|
||||
function viewOffers(criterion) {
|
||||
//offer_model.viewCriterion(criterion)
|
||||
}
|
||||
|
||||
anchors.fill: parent
|
||||
spacing: Dimensions.l
|
||||
|
||||
RowLayout {
|
||||
Layout.fillWidth: true
|
||||
spacing: Dimensions.l
|
||||
|
||||
SearchBar {
|
||||
id: searchBar
|
||||
|
||||
}
|
||||
<<<<<<< HEAD
|
||||
QuickFilter
|
||||
{
|
||||
onSelectedChanged: (name) =>
|
||||
{
|
||||
business_model.viewCriterion(name)
|
||||
}
|
||||
|
||||
model: ListModel
|
||||
{
|
||||
ListElement
|
||||
{
|
||||
=======
|
||||
QuickFilter {
|
||||
model: ListModel {
|
||||
ListElement {
|
||||
>>>>>>> main
|
||||
name: "Alle"
|
||||
selected: true
|
||||
text: qsTr("Alle")
|
||||
}
|
||||
ListElement {
|
||||
name: "Offen"
|
||||
selected: false
|
||||
text: qsTr("Offen")
|
||||
}
|
||||
<<<<<<< HEAD
|
||||
ListElement
|
||||
{
|
||||
name: "Abgesagt"
|
||||
text: qsTr("Abgesagt")
|
||||
=======
|
||||
ListElement {
|
||||
name: "Abgeschlossen"
|
||||
selected: false
|
||||
text: qsTr("Abgeschlossen")
|
||||
}
|
||||
ListElement {
|
||||
name: "Erledigt"
|
||||
>>>>>>> main
|
||||
selected: false
|
||||
text: qsTr("Erledigt")
|
||||
}
|
||||
}
|
||||
|
||||
onSelectedChanged: name => {
|
||||
business_model.viewCriterion(name);
|
||||
}
|
||||
}
|
||||
Button {
|
||||
id: addOfferBtn
|
||||
|
||||
Layout.alignment: Qt.AlignRight
|
||||
flat: true
|
||||
icon.source: "qrc:/images/PlusCircle.svg"
|
||||
text: qsTr("Angebote Hinzufügen")
|
||||
|
||||
onClicked: contentStack.push("AddOffer.qml")
|
||||
}
|
||||
}
|
||||
Item {
|
||||
id: spacer
|
||||
|
||||
Layout.fillHeight: true
|
||||
}
|
||||
}
|
||||
70
Js/qmldict.js
Normal file
70
Js/qmldict.js
Normal file
@@ -0,0 +1,70 @@
|
||||
.pragma library
|
||||
|
||||
function firstConf(tabs)
|
||||
{
|
||||
let pyqcrm_conf = {};
|
||||
pyqcrm_conf[tabs.name] = {}
|
||||
for (var i = 0; i < tabs.children.length; i++)
|
||||
{
|
||||
if (tabs.children[i].name)
|
||||
{
|
||||
if (!tabs.children[i].text.trim())
|
||||
return false
|
||||
if (pyqcrm_conf[tabs.name][tabs.children[i].name] !== "DB_PASS")
|
||||
pyqcrm_conf[tabs.name] [tabs.children[i].name] = tabs.children[i].text.trim()
|
||||
else
|
||||
pyqcrm_conf[tabs.name] [tabs.children[i].name] = tabs.children[i].text
|
||||
}
|
||||
}
|
||||
return pyqcrm_conf
|
||||
}
|
||||
|
||||
|
||||
function parseForm(...form)
|
||||
{
|
||||
let data_form = {};
|
||||
for (var i = 0; i < form.length; i++)
|
||||
{
|
||||
for (var j = 0; j < form[i].children.length; j++)
|
||||
{
|
||||
if (form[i].children[j].toString().startsWith("Combo"))
|
||||
{
|
||||
if(form[i].children[j].editText)
|
||||
{
|
||||
data_form[form[i].children[j].name] = form[i].children[j].editText
|
||||
}
|
||||
else
|
||||
{
|
||||
data_form[form[i].children[j].name] = form[i].children[j].currentText
|
||||
}
|
||||
}
|
||||
else if (form[i].children[j].toString().startsWith("TextField"))
|
||||
{
|
||||
data_form[form[i].children[j].name] = form[i].children[j].text.trim()
|
||||
}
|
||||
else if (form[i].children[j].toString().startsWith("Scroll"))
|
||||
{
|
||||
data_form[form[i].children[j].contentChildren[0].name] = form[i].children[j].contentChildren[0].text.trim()
|
||||
}
|
||||
else if (form[i].children[j].toString().startsWith("CheckBox"))
|
||||
{
|
||||
data_form[form[i].children[j].name] = form[i].children[j].checked
|
||||
}
|
||||
else if (form[i].children[j].toString().startsWith("SpinBox"))
|
||||
{
|
||||
data_form[form[i].children[j].name] = form[i].children[j].value
|
||||
}
|
||||
// else if (form[i].children[j].toString().startsWith("QQuickContentItem"))
|
||||
// {
|
||||
// console.log(form[i].children[j].children.children)
|
||||
|
||||
// for (var k = 0; k < form[i].children[j].length; k++)
|
||||
// {
|
||||
// console.log(form[i].children[j].name)
|
||||
// }
|
||||
// }
|
||||
}
|
||||
}
|
||||
return data_form
|
||||
}
|
||||
|
||||
192
doc/AddZipcodeProcedure-Aktivität.drawio
Normal file
192
doc/AddZipcodeProcedure-Aktivität.drawio
Normal file
@@ -0,0 +1,192 @@
|
||||
<mxfile host="app.diagrams.net" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36" version="27.0.2">
|
||||
<diagram name="Seite-1" id="riPTszubbY08c-Ci63mD">
|
||||
<mxGraphModel dx="2951" dy="1541" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
|
||||
<root>
|
||||
<mxCell id="0" />
|
||||
<mxCell id="1" parent="0" />
|
||||
<mxCell id="NvYeTt0xDQWk2u7kX_r0-1" value="" style="ellipse;html=1;shape=startState;fillColor=#000000;strokeColor=#ff0000;" vertex="1" parent="1">
|
||||
<mxGeometry x="420" y="35" width="30" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="NvYeTt0xDQWk2u7kX_r0-2" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" source="NvYeTt0xDQWk2u7kX_r0-1" parent="1" target="NvYeTt0xDQWk2u7kX_r0-3">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="300" y="50" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="NvYeTt0xDQWk2u7kX_r0-3" value="Check Country" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="500" y="20" width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="NvYeTt0xDQWk2u7kX_r0-4" value="" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="520" y="125" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="NvYeTt0xDQWk2u7kX_r0-5" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="NvYeTt0xDQWk2u7kX_r0-3" target="NvYeTt0xDQWk2u7kX_r0-4">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="550" y="525" as="sourcePoint" />
|
||||
<mxPoint x="600" y="475" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="NvYeTt0xDQWk2u7kX_r0-6" value="" style="endArrow=classic;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="NvYeTt0xDQWk2u7kX_r0-4" target="NvYeTt0xDQWk2u7kX_r0-9">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="550" y="475" as="sourcePoint" />
|
||||
<mxPoint x="740" y="205" as="targetPoint" />
|
||||
<Array as="points">
|
||||
<mxPoint x="680" y="165" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="NvYeTt0xDQWk2u7kX_r0-8" value="Check City" style="rounded=1;whiteSpace=wrap;html=1;direction=east;" vertex="1" parent="1">
|
||||
<mxGeometry x="399.5" y="345" width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="NvYeTt0xDQWk2u7kX_r0-9" value="addCountry" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="620" y="225" width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="NvYeTt0xDQWk2u7kX_r0-10" value="[exists]" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="460" y="135" width="60" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="NvYeTt0xDQWk2u7kX_r0-11" value="[not exists]" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="610" y="135" width="60" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="NvYeTt0xDQWk2u7kX_r0-12" value="" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="419.5" y="445" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="NvYeTt0xDQWk2u7kX_r0-13" value="addCity" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="539.5" y="535" width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="NvYeTt0xDQWk2u7kX_r0-14" value="Check Postcode" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="259.25" y="645" width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="NvYeTt0xDQWk2u7kX_r0-15" value="" style="endArrow=classic;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="NvYeTt0xDQWk2u7kX_r0-12" target="NvYeTt0xDQWk2u7kX_r0-13">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="649.5" y="565" as="sourcePoint" />
|
||||
<mxPoint x="600" y="530" as="targetPoint" />
|
||||
<Array as="points">
|
||||
<mxPoint x="599.5" y="485" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="NvYeTt0xDQWk2u7kX_r0-16" value="" style="endArrow=classic;html=1;rounded=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" source="NvYeTt0xDQWk2u7kX_r0-12">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="649.5" y="565" as="sourcePoint" />
|
||||
<mxPoint x="319.5" y="545" as="targetPoint" />
|
||||
<Array as="points">
|
||||
<mxPoint x="319.5" y="485" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="NvYeTt0xDQWk2u7kX_r0-17" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="NvYeTt0xDQWk2u7kX_r0-8" target="NvYeTt0xDQWk2u7kX_r0-12">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="649.5" y="605" as="sourcePoint" />
|
||||
<mxPoint x="699.5" y="555" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="NvYeTt0xDQWk2u7kX_r0-19" value="[exists]" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="329.5" y="455" width="60" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="NvYeTt0xDQWk2u7kX_r0-20" value="[not exists]" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="529.5" y="455" width="60" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="NvYeTt0xDQWk2u7kX_r0-21" value="" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="279.25" y="745" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="NvYeTt0xDQWk2u7kX_r0-22" value="addPostcode" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="399.5" y="845" width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="NvYeTt0xDQWk2u7kX_r0-24" value="" style="endArrow=classic;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="NvYeTt0xDQWk2u7kX_r0-21" target="NvYeTt0xDQWk2u7kX_r0-22">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="509.25" y="865" as="sourcePoint" />
|
||||
<mxPoint x="559.25" y="815" as="targetPoint" />
|
||||
<Array as="points">
|
||||
<mxPoint x="459.25" y="785" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="NvYeTt0xDQWk2u7kX_r0-25" value="" style="endArrow=classic;html=1;rounded=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="NvYeTt0xDQWk2u7kX_r0-21" target="NvYeTt0xDQWk2u7kX_r0-39">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="509.25" y="865" as="sourcePoint" />
|
||||
<mxPoint x="179.25" y="855" as="targetPoint" />
|
||||
<Array as="points">
|
||||
<mxPoint x="179.25" y="785" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="NvYeTt0xDQWk2u7kX_r0-26" value="[exists]" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="189.25" y="755" width="60" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="NvYeTt0xDQWk2u7kX_r0-27" value="[not exists]" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="389.25" y="755" width="60" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="NvYeTt0xDQWk2u7kX_r0-28" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="NvYeTt0xDQWk2u7kX_r0-14" target="NvYeTt0xDQWk2u7kX_r0-21">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="649.25" y="985" as="sourcePoint" />
|
||||
<mxPoint x="699.25" y="935" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="NvYeTt0xDQWk2u7kX_r0-30" value="" style="ellipse;html=1;shape=endState;fillColor=#000000;strokeColor=#ff0000;" vertex="1" parent="1">
|
||||
<mxGeometry x="159.5" y="1085" width="41" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="NvYeTt0xDQWk2u7kX_r0-31" value="" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="420" y="215" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="NvYeTt0xDQWk2u7kX_r0-32" value="" style="endArrow=classic;html=1;rounded=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="NvYeTt0xDQWk2u7kX_r0-4" target="NvYeTt0xDQWk2u7kX_r0-31">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="550" y="355" as="sourcePoint" />
|
||||
<mxPoint x="600" y="305" as="targetPoint" />
|
||||
<Array as="points">
|
||||
<mxPoint x="460" y="165" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="NvYeTt0xDQWk2u7kX_r0-33" value="" style="endArrow=classic;html=1;rounded=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="NvYeTt0xDQWk2u7kX_r0-9" target="NvYeTt0xDQWk2u7kX_r0-31">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="540" y="255" as="sourcePoint" />
|
||||
<mxPoint x="600" y="305" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="NvYeTt0xDQWk2u7kX_r0-34" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="NvYeTt0xDQWk2u7kX_r0-31" target="NvYeTt0xDQWk2u7kX_r0-8">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="719.5" y="225" as="sourcePoint" />
|
||||
<mxPoint x="699.5" y="285" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="NvYeTt0xDQWk2u7kX_r0-36" value="" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="279.5" y="525" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="NvYeTt0xDQWk2u7kX_r0-37" value="" style="endArrow=classic;html=1;rounded=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="NvYeTt0xDQWk2u7kX_r0-13" target="NvYeTt0xDQWk2u7kX_r0-36">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="649.5" y="875" as="sourcePoint" />
|
||||
<mxPoint x="699.5" y="825" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="NvYeTt0xDQWk2u7kX_r0-38" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="NvYeTt0xDQWk2u7kX_r0-36" target="NvYeTt0xDQWk2u7kX_r0-14">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="649.5" y="935" as="sourcePoint" />
|
||||
<mxPoint x="699.5" y="885" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="NvYeTt0xDQWk2u7kX_r0-39" value="" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="140" y="835" width="80" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="NvYeTt0xDQWk2u7kX_r0-40" value="" style="endArrow=classic;html=1;rounded=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="NvYeTt0xDQWk2u7kX_r0-22" target="NvYeTt0xDQWk2u7kX_r0-39">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="649.5" y="765" as="sourcePoint" />
|
||||
<mxPoint x="699.5" y="715" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="NvYeTt0xDQWk2u7kX_r0-41" value="addID's to Adress" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="120" y="955" width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="NvYeTt0xDQWk2u7kX_r0-42" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="NvYeTt0xDQWk2u7kX_r0-39" target="NvYeTt0xDQWk2u7kX_r0-41">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="649.25" y="865" as="sourcePoint" />
|
||||
<mxPoint x="699.25" y="815" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="NvYeTt0xDQWk2u7kX_r0-43" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="NvYeTt0xDQWk2u7kX_r0-41" target="NvYeTt0xDQWk2u7kX_r0-30">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="649.5" y="755" as="sourcePoint" />
|
||||
<mxPoint x="699.5" y="705" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
</diagram>
|
||||
</mxfile>
|
||||
320
doc/ER-Offer.drawio
Normal file
320
doc/ER-Offer.drawio
Normal file
@@ -0,0 +1,320 @@
|
||||
<mxfile host="app.diagrams.net" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36" version="27.0.2">
|
||||
<diagram name="Seite-1" id="-Jvt9mGG8Li5CNeMcOU4">
|
||||
<mxGraphModel dx="2066" dy="1107" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
|
||||
<root>
|
||||
<mxCell id="0" />
|
||||
<mxCell id="1" parent="0" />
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-1" value="Street" style="shape=table;startSize=30;container=1;collapsible=1;childLayout=tableLayout;fixedRows=1;rowLines=0;fontStyle=1;align=center;resizeLast=1;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="60" y="800" width="180" height="90" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-2" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=1;" vertex="1" parent="r5czroBNAvCpoAouLHI1-1">
|
||||
<mxGeometry y="30" width="180" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-3" value="PK" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;fontStyle=1;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="r5czroBNAvCpoAouLHI1-2">
|
||||
<mxGeometry width="30" height="30" as="geometry">
|
||||
<mxRectangle width="30" height="30" as="alternateBounds" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-4" value="streetID" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;fontStyle=5;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="r5czroBNAvCpoAouLHI1-2">
|
||||
<mxGeometry x="30" width="150" height="30" as="geometry">
|
||||
<mxRectangle width="150" height="30" as="alternateBounds" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-5" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=0;" vertex="1" parent="r5czroBNAvCpoAouLHI1-1">
|
||||
<mxGeometry y="60" width="180" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-6" value="" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;editable=1;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="r5czroBNAvCpoAouLHI1-5">
|
||||
<mxGeometry width="30" height="30" as="geometry">
|
||||
<mxRectangle width="30" height="30" as="alternateBounds" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-7" value="name" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="r5czroBNAvCpoAouLHI1-5">
|
||||
<mxGeometry x="30" width="150" height="30" as="geometry">
|
||||
<mxRectangle width="150" height="30" as="alternateBounds" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-14" value="City" style="shape=table;startSize=30;container=1;collapsible=1;childLayout=tableLayout;fixedRows=1;rowLines=0;fontStyle=1;align=center;resizeLast=1;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="370" y="80" width="180" height="90" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-15" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=1;" vertex="1" parent="r5czroBNAvCpoAouLHI1-14">
|
||||
<mxGeometry y="30" width="180" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-16" value="PK" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;fontStyle=1;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="r5czroBNAvCpoAouLHI1-15">
|
||||
<mxGeometry width="30" height="30" as="geometry">
|
||||
<mxRectangle width="30" height="30" as="alternateBounds" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-17" value="cityID" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;fontStyle=5;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="r5czroBNAvCpoAouLHI1-15">
|
||||
<mxGeometry x="30" width="150" height="30" as="geometry">
|
||||
<mxRectangle width="150" height="30" as="alternateBounds" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-18" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=0;" vertex="1" parent="r5czroBNAvCpoAouLHI1-14">
|
||||
<mxGeometry y="60" width="180" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-19" value="" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;editable=1;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="r5czroBNAvCpoAouLHI1-18">
|
||||
<mxGeometry width="30" height="30" as="geometry">
|
||||
<mxRectangle width="30" height="30" as="alternateBounds" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-20" value="name" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="r5czroBNAvCpoAouLHI1-18">
|
||||
<mxGeometry x="30" width="150" height="30" as="geometry">
|
||||
<mxRectangle width="150" height="30" as="alternateBounds" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-27" value="Country" style="shape=table;startSize=30;container=1;collapsible=1;childLayout=tableLayout;fixedRows=1;rowLines=0;fontStyle=1;align=center;resizeLast=1;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="80" y="90" width="180" height="150" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-28" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=1;" vertex="1" parent="r5czroBNAvCpoAouLHI1-27">
|
||||
<mxGeometry y="30" width="180" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-29" value="PK" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;fontStyle=1;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="r5czroBNAvCpoAouLHI1-28">
|
||||
<mxGeometry width="30" height="30" as="geometry">
|
||||
<mxRectangle width="30" height="30" as="alternateBounds" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-30" value="countryID" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;fontStyle=5;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="r5czroBNAvCpoAouLHI1-28">
|
||||
<mxGeometry x="30" width="150" height="30" as="geometry">
|
||||
<mxRectangle width="150" height="30" as="alternateBounds" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-31" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=0;" vertex="1" parent="r5czroBNAvCpoAouLHI1-27">
|
||||
<mxGeometry y="60" width="180" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-32" value="" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;editable=1;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="r5czroBNAvCpoAouLHI1-31">
|
||||
<mxGeometry width="30" height="30" as="geometry">
|
||||
<mxRectangle width="30" height="30" as="alternateBounds" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-33" value="country" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="r5czroBNAvCpoAouLHI1-31">
|
||||
<mxGeometry x="30" width="150" height="30" as="geometry">
|
||||
<mxRectangle width="150" height="30" as="alternateBounds" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-34" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=0;" vertex="1" parent="r5czroBNAvCpoAouLHI1-27">
|
||||
<mxGeometry y="90" width="180" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-35" value="" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;editable=1;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="r5czroBNAvCpoAouLHI1-34">
|
||||
<mxGeometry width="30" height="30" as="geometry">
|
||||
<mxRectangle width="30" height="30" as="alternateBounds" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-36" value="countryshort" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="r5czroBNAvCpoAouLHI1-34">
|
||||
<mxGeometry x="30" width="150" height="30" as="geometry">
|
||||
<mxRectangle width="150" height="30" as="alternateBounds" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-37" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=0;" vertex="1" parent="r5czroBNAvCpoAouLHI1-27">
|
||||
<mxGeometry y="120" width="180" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-38" value="" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;editable=1;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="r5czroBNAvCpoAouLHI1-37">
|
||||
<mxGeometry width="30" height="30" as="geometry">
|
||||
<mxRectangle width="30" height="30" as="alternateBounds" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-39" value="nationality" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="r5czroBNAvCpoAouLHI1-37">
|
||||
<mxGeometry x="30" width="150" height="30" as="geometry">
|
||||
<mxRectangle width="150" height="30" as="alternateBounds" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-40" value="Country/City/Postcode" style="shape=table;startSize=30;container=1;collapsible=1;childLayout=tableLayout;fixedRows=1;rowLines=0;fontStyle=1;align=center;resizeLast=1;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="260" y="290" width="180" height="150" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-41" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=1;" vertex="1" parent="r5czroBNAvCpoAouLHI1-40">
|
||||
<mxGeometry y="30" width="180" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-42" value="PK" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;fontStyle=1;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="r5czroBNAvCpoAouLHI1-41">
|
||||
<mxGeometry width="30" height="30" as="geometry">
|
||||
<mxRectangle width="30" height="30" as="alternateBounds" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-43" value="ccpID" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;fontStyle=5;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="r5czroBNAvCpoAouLHI1-41">
|
||||
<mxGeometry x="30" width="150" height="30" as="geometry">
|
||||
<mxRectangle width="150" height="30" as="alternateBounds" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-44" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=0;" vertex="1" parent="r5czroBNAvCpoAouLHI1-40">
|
||||
<mxGeometry y="60" width="180" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-45" value="" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;editable=1;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="r5czroBNAvCpoAouLHI1-44">
|
||||
<mxGeometry width="30" height="30" as="geometry">
|
||||
<mxRectangle width="30" height="30" as="alternateBounds" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-46" value="countryID" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="r5czroBNAvCpoAouLHI1-44">
|
||||
<mxGeometry x="30" width="150" height="30" as="geometry">
|
||||
<mxRectangle width="150" height="30" as="alternateBounds" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-47" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=0;" vertex="1" parent="r5czroBNAvCpoAouLHI1-40">
|
||||
<mxGeometry y="90" width="180" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-48" value="" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;editable=1;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="r5czroBNAvCpoAouLHI1-47">
|
||||
<mxGeometry width="30" height="30" as="geometry">
|
||||
<mxRectangle width="30" height="30" as="alternateBounds" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-49" value="cityID" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="r5czroBNAvCpoAouLHI1-47">
|
||||
<mxGeometry x="30" width="150" height="30" as="geometry">
|
||||
<mxRectangle width="150" height="30" as="alternateBounds" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-50" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=0;" vertex="1" parent="r5czroBNAvCpoAouLHI1-40">
|
||||
<mxGeometry y="120" width="180" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-51" value="" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;editable=1;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="r5czroBNAvCpoAouLHI1-50">
|
||||
<mxGeometry width="30" height="30" as="geometry">
|
||||
<mxRectangle width="30" height="30" as="alternateBounds" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-52" value="postcodeID" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="r5czroBNAvCpoAouLHI1-50">
|
||||
<mxGeometry x="30" width="150" height="30" as="geometry">
|
||||
<mxRectangle width="150" height="30" as="alternateBounds" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-53" value="House" style="shape=table;startSize=30;container=1;collapsible=1;childLayout=tableLayout;fixedRows=1;rowLines=0;fontStyle=1;align=center;resizeLast=1;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="480" y="800" width="180" height="90" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-54" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=1;" vertex="1" parent="r5czroBNAvCpoAouLHI1-53">
|
||||
<mxGeometry y="30" width="180" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-55" value="PK" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;fontStyle=1;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="r5czroBNAvCpoAouLHI1-54">
|
||||
<mxGeometry width="30" height="30" as="geometry">
|
||||
<mxRectangle width="30" height="30" as="alternateBounds" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-56" value="houseID" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;fontStyle=5;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="r5czroBNAvCpoAouLHI1-54">
|
||||
<mxGeometry x="30" width="150" height="30" as="geometry">
|
||||
<mxRectangle width="150" height="30" as="alternateBounds" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-57" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=0;" vertex="1" parent="r5czroBNAvCpoAouLHI1-53">
|
||||
<mxGeometry y="60" width="180" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-58" value="" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;editable=1;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="r5czroBNAvCpoAouLHI1-57">
|
||||
<mxGeometry width="30" height="30" as="geometry">
|
||||
<mxRectangle width="30" height="30" as="alternateBounds" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-59" value="number" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="r5czroBNAvCpoAouLHI1-57">
|
||||
<mxGeometry x="30" width="150" height="30" as="geometry">
|
||||
<mxRectangle width="150" height="30" as="alternateBounds" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-66" value="Postcode" style="shape=table;startSize=30;container=1;collapsible=1;childLayout=tableLayout;fixedRows=1;rowLines=0;fontStyle=1;align=center;resizeLast=1;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="520" y="230" width="180" height="90" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-67" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=1;" vertex="1" parent="r5czroBNAvCpoAouLHI1-66">
|
||||
<mxGeometry y="30" width="180" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-68" value="PK" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;fontStyle=1;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="r5czroBNAvCpoAouLHI1-67">
|
||||
<mxGeometry width="30" height="30" as="geometry">
|
||||
<mxRectangle width="30" height="30" as="alternateBounds" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-69" value="postcodeID" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;fontStyle=5;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="r5czroBNAvCpoAouLHI1-67">
|
||||
<mxGeometry x="30" width="150" height="30" as="geometry">
|
||||
<mxRectangle width="150" height="30" as="alternateBounds" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-70" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=0;" vertex="1" parent="r5czroBNAvCpoAouLHI1-66">
|
||||
<mxGeometry y="60" width="180" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-71" value="" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;editable=1;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="r5czroBNAvCpoAouLHI1-70">
|
||||
<mxGeometry width="30" height="30" as="geometry">
|
||||
<mxRectangle width="30" height="30" as="alternateBounds" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-72" value="number" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="r5czroBNAvCpoAouLHI1-70">
|
||||
<mxGeometry x="30" width="150" height="30" as="geometry">
|
||||
<mxRectangle width="150" height="30" as="alternateBounds" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-79" value="Street/House" style="shape=table;startSize=30;container=1;collapsible=1;childLayout=tableLayout;fixedRows=1;rowLines=0;fontStyle=1;align=center;resizeLast=1;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="260" y="650" width="180" height="120" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-80" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=1;" vertex="1" parent="r5czroBNAvCpoAouLHI1-79">
|
||||
<mxGeometry y="30" width="180" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-81" value="PK" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;fontStyle=1;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="r5czroBNAvCpoAouLHI1-80">
|
||||
<mxGeometry width="30" height="30" as="geometry">
|
||||
<mxRectangle width="30" height="30" as="alternateBounds" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-82" value="streetHouseID" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;fontStyle=5;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="r5czroBNAvCpoAouLHI1-80">
|
||||
<mxGeometry x="30" width="150" height="30" as="geometry">
|
||||
<mxRectangle width="150" height="30" as="alternateBounds" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-83" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=0;" vertex="1" parent="r5czroBNAvCpoAouLHI1-79">
|
||||
<mxGeometry y="60" width="180" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-84" value="" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;editable=1;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="r5czroBNAvCpoAouLHI1-83">
|
||||
<mxGeometry width="30" height="30" as="geometry">
|
||||
<mxRectangle width="30" height="30" as="alternateBounds" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-85" value="streetID" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="r5czroBNAvCpoAouLHI1-83">
|
||||
<mxGeometry x="30" width="150" height="30" as="geometry">
|
||||
<mxRectangle width="150" height="30" as="alternateBounds" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-86" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=0;" vertex="1" parent="r5czroBNAvCpoAouLHI1-79">
|
||||
<mxGeometry y="90" width="180" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-87" value="" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;editable=1;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="r5czroBNAvCpoAouLHI1-86">
|
||||
<mxGeometry width="30" height="30" as="geometry">
|
||||
<mxRectangle width="30" height="30" as="alternateBounds" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-88" value="houseID" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="r5czroBNAvCpoAouLHI1-86">
|
||||
<mxGeometry x="30" width="150" height="30" as="geometry">
|
||||
<mxRectangle width="150" height="30" as="alternateBounds" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-92" value="FullAddress" style="shape=table;startSize=30;container=1;collapsible=1;childLayout=tableLayout;fixedRows=1;rowLines=0;fontStyle=1;align=center;resizeLast=1;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="260" y="470" width="180" height="120" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-93" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=1;" vertex="1" parent="r5czroBNAvCpoAouLHI1-92">
|
||||
<mxGeometry y="30" width="180" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-94" value="PK" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;fontStyle=1;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="r5czroBNAvCpoAouLHI1-93">
|
||||
<mxGeometry width="30" height="30" as="geometry">
|
||||
<mxRectangle width="30" height="30" as="alternateBounds" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-95" value="fullAddressID" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;fontStyle=5;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="r5czroBNAvCpoAouLHI1-93">
|
||||
<mxGeometry x="30" width="150" height="30" as="geometry">
|
||||
<mxRectangle width="150" height="30" as="alternateBounds" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-96" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=0;" vertex="1" parent="r5czroBNAvCpoAouLHI1-92">
|
||||
<mxGeometry y="60" width="180" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-97" value="" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;editable=1;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="r5czroBNAvCpoAouLHI1-96">
|
||||
<mxGeometry width="30" height="30" as="geometry">
|
||||
<mxRectangle width="30" height="30" as="alternateBounds" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-98" value="ccpID" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="r5czroBNAvCpoAouLHI1-96">
|
||||
<mxGeometry x="30" width="150" height="30" as="geometry">
|
||||
<mxRectangle width="150" height="30" as="alternateBounds" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-99" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=0;" vertex="1" parent="r5czroBNAvCpoAouLHI1-92">
|
||||
<mxGeometry y="90" width="180" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-100" value="" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;editable=1;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="r5czroBNAvCpoAouLHI1-99">
|
||||
<mxGeometry width="30" height="30" as="geometry">
|
||||
<mxRectangle width="30" height="30" as="alternateBounds" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="r5czroBNAvCpoAouLHI1-101" value="streetHouseID" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="r5czroBNAvCpoAouLHI1-99">
|
||||
<mxGeometry x="30" width="150" height="30" as="geometry">
|
||||
<mxRectangle width="150" height="30" as="alternateBounds" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
</diagram>
|
||||
</mxfile>
|
||||
40
doc/db_schemer_v1.1-pyqcrm-202505091403_clean.sql
Normal file
40
doc/db_schemer_v1.1-pyqcrm-202505091403_clean.sql
Normal file
@@ -0,0 +1,40 @@
|
||||
/*M!999999\- enable the sandbox mode */
|
||||
-- MariaDB dump 10.19 Distrib 10.11.11-MariaDB, for Linux (x86_64)
|
||||
--
|
||||
-- Host: bearybot.selfhost.co Database: pyqcrm
|
||||
-- ------------------------------------------------------
|
||||
-- Server version 10.11.11-MariaDB-0ubuntu0.24.04.2-log
|
||||
|
||||
/*!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 = utf8mb4 */;
|
||||
CREATE TABLE `address` (
|
||||
`addressid` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`countryid` int(11) NOT NULL,
|
||||
`cityid` int(11) NOT NULL,
|
||||
`postcodeid` int(11) NOT NULL,
|
||||
PRIMARY KEY (`addressid`),
|
||||
KEY `address_country_FK` (`countryid`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=6956 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Temporary table structure for view `addressesview`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `addressesview`;
|
||||
40
doc/db_schemer_v1.1-pyqcrm-202505091404_clean.sql
Normal file
40
doc/db_schemer_v1.1-pyqcrm-202505091404_clean.sql
Normal file
@@ -0,0 +1,40 @@
|
||||
/*M!999999\- enable the sandbox mode */
|
||||
-- MariaDB dump 10.19 Distrib 10.11.11-MariaDB, for Linux (x86_64)
|
||||
--
|
||||
-- Host: bearybot.selfhost.co Database: pyqcrm
|
||||
-- ------------------------------------------------------
|
||||
-- Server version 10.11.11-MariaDB-0ubuntu0.24.04.2-log
|
||||
|
||||
/*!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 = utf8mb4 */;
|
||||
CREATE TABLE `address` (
|
||||
`addressid` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`countryid` int(11) NOT NULL,
|
||||
`cityid` int(11) NOT NULL,
|
||||
`postcodeid` int(11) NOT NULL,
|
||||
PRIMARY KEY (`addressid`),
|
||||
KEY `address_country_FK` (`countryid`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=6956 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Temporary table structure for view `addressesview`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `addressesview`;
|
||||
40
doc/db_schemer_v1.1-pyqcrm-202505091406_clean.sql
Normal file
40
doc/db_schemer_v1.1-pyqcrm-202505091406_clean.sql
Normal file
@@ -0,0 +1,40 @@
|
||||
/*M!999999\- enable the sandbox mode */
|
||||
-- MariaDB dump 10.19 Distrib 10.11.11-MariaDB, for Linux (x86_64)
|
||||
--
|
||||
-- Host: bearybot.selfhost.co Database: pyqcrm
|
||||
-- ------------------------------------------------------
|
||||
-- Server version 10.11.11-MariaDB-0ubuntu0.24.04.2-log
|
||||
|
||||
/*!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 = utf8mb4 */;
|
||||
CREATE TABLE `address` (
|
||||
`addressid` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`countryid` int(11) NOT NULL,
|
||||
`cityid` int(11) NOT NULL,
|
||||
`postcodeid` int(11) NOT NULL,
|
||||
PRIMARY KEY (`addressid`),
|
||||
KEY `address_country_FK` (`countryid`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=6956 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Temporary table structure for view `addressesview`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `addressesview`;
|
||||
40
doc/db_schemer_v1.1-pyqcrm-202505091407_clean.sql
Normal file
40
doc/db_schemer_v1.1-pyqcrm-202505091407_clean.sql
Normal file
@@ -0,0 +1,40 @@
|
||||
/*M!999999\- enable the sandbox mode */
|
||||
-- MariaDB dump 10.19 Distrib 10.11.11-MariaDB, for Linux (x86_64)
|
||||
--
|
||||
-- Host: bearybot.selfhost.co Database: pyqcrm
|
||||
-- ------------------------------------------------------
|
||||
-- Server version 10.11.11-MariaDB-0ubuntu0.24.04.2-log
|
||||
|
||||
/*!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 = utf8mb4 */;
|
||||
CREATE TABLE `address` (
|
||||
`addressid` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`countryid` int(11) NOT NULL,
|
||||
`cityid` int(11) NOT NULL,
|
||||
`postcodeid` int(11) NOT NULL,
|
||||
PRIMARY KEY (`addressid`),
|
||||
KEY `address_country_FK` (`countryid`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=6956 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Temporary table structure for view `addressesview`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `addressesview`;
|
||||
3462
doc/db_schemer_v1.1-pyqcrm-202505091537_clean.sql
Normal file
3462
doc/db_schemer_v1.1-pyqcrm-202505091537_clean.sql
Normal file
File diff suppressed because it is too large
Load Diff
1
doc/postleitzahl.json
Normal file
1
doc/postleitzahl.json
Normal file
File diff suppressed because one or more lines are too long
1
doc/staaten.json
Normal file
1
doc/staaten.json
Normal file
File diff suppressed because one or more lines are too long
1
doc/states.json
Normal file
1
doc/states.json
Normal file
File diff suppressed because one or more lines are too long
@@ -14,11 +14,11 @@ class AddressDAO:
|
||||
|
||||
|
||||
|
||||
|
||||
def __importPlz(self):
|
||||
with open("pfad zur datei", "r") as plz:
|
||||
with open("/home/dstoppek/Coden/Projekte/pyqcrm/doc/postleitzahl.json", "r") as plz:
|
||||
postcodes = json.load(plz)
|
||||
irgendwas = ""
|
||||
country = "Deutschland"
|
||||
|
||||
try:
|
||||
for i in postcodes:
|
||||
test =i["plz_name"].split(",")
|
||||
@@ -28,8 +28,8 @@ class AddressDAO:
|
||||
town = town.strip()
|
||||
if town:
|
||||
print(f"PROCESSING {i['name']} {town}")
|
||||
self.__cur.callproc("addZipCodes", (i["name"], town, irgendwas,))
|
||||
#self.__cur.callproc("addZipCodes", ("56271", "Kleinmaischeid", irgendwas,))
|
||||
self.__cur.callproc("importLocation", (country, town, i["name"],))
|
||||
|
||||
except mariadb.OperationalError as e:
|
||||
print(f"Database Error: {e}")
|
||||
finally:
|
||||
@@ -37,7 +37,7 @@ class AddressDAO:
|
||||
print("FINISHED")#
|
||||
|
||||
def __importCountry(self):
|
||||
with open("pfad zur datei", "r") as country:
|
||||
with open("/home/dstoppek/Coden/Projekte/pyqcrm/doc/staaten.json", "r") as country:
|
||||
countries = json.load(country)
|
||||
old = ""
|
||||
try:
|
||||
@@ -78,3 +78,4 @@ class AddressDAO:
|
||||
print(str(e))
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -14,10 +14,10 @@ class AddressModel(QAbstractListModel):
|
||||
def data(self, index, role = Qt.DisplayRole):
|
||||
row = index.row()
|
||||
if role == Qt.DisplayRole:
|
||||
data = self.__address_data[row][2]
|
||||
data = self.__address_data[row][5]
|
||||
return data
|
||||
elif role == PyqcrmDataRoles.CITY_ROLE:
|
||||
data = self.__address_data[row][3]
|
||||
data = self.__address_data[row][4]
|
||||
return data
|
||||
return None
|
||||
|
||||
|
||||
@@ -75,7 +75,7 @@ class BusinessModel(QAbstractTableModel):
|
||||
self.__business_dao.newBusinessAdded.connect(self.__refreshView)
|
||||
self.__conf = ConfigLoader().getConfig()
|
||||
self.__key = self.__conf['pyqcrm']['ENCRYPTION_KEY']
|
||||
self.__getData()
|
||||
# self.__getData()
|
||||
|
||||
def __getData(self, criterion = "Alle"):
|
||||
self.beginResetModel()
|
||||
|
||||
@@ -50,14 +50,15 @@ class ContactDAO(QObject):
|
||||
self.newObjectContactAdded.emit(False)
|
||||
|
||||
def getContact(self, contact_id, enc_key = None):
|
||||
try:
|
||||
if self.__cur:
|
||||
self.__cur.callproc("getCustomerContact", (contact_id, enc_key,))
|
||||
#self.__all_cols = [desc[0] for desc in self.__cur.description]
|
||||
return self.__cur.fetchall() #, self.__all_cols
|
||||
else:
|
||||
return None #, None
|
||||
except mariadb.Error as e:
|
||||
print(str(e))
|
||||
# try:
|
||||
# if self.__cur:
|
||||
# self.__cur.callproc("getCustomerContact", (contact_id, enc_key,))
|
||||
# #self.__all_cols = [desc[0] for desc in self.__cur.description]
|
||||
# return self.__cur.fetchall() #, self.__all_cols
|
||||
# else:
|
||||
# return None #, None
|
||||
# except mariadb.Error as e:
|
||||
# print(str(e))
|
||||
pass
|
||||
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
from PySide6.QtCore import QAbstractTableModel, QModelIndex, Qt, Slot, Signal
|
||||
from .ObjectDAO import ObjectDAO
|
||||
from ..ConfigLoader import ConfigLoader
|
||||
from ..PyqcrmDataRoles import PyqcrmDataRoles
|
||||
import re
|
||||
import json
|
||||
|
||||
@@ -66,8 +67,16 @@ class ObjectModel(QAbstractTableModel):
|
||||
if object_col > 4 and tr:
|
||||
tr = re.sub("Keine Angabe ","", tr)
|
||||
return tr
|
||||
elif role == PyqcrmDataRoles.STREET_IN_POSTCODE:
|
||||
pass
|
||||
return None
|
||||
|
||||
def roleNames(self):
|
||||
return {
|
||||
Qt.DisplayRole: b"display",
|
||||
PyqcrmDataRoles.STREET_IN_POSTCODE: b"StreetInPostcode",
|
||||
}
|
||||
|
||||
def headerData(self, section, orientation, role = Qt.DisplayRole):
|
||||
if orientation == Qt.Horizontal and role == Qt.DisplayRole:
|
||||
self.__col_name = self.__visible_columns[section + self.__col_skip]
|
||||
|
||||
@@ -5,5 +5,6 @@ from enum import IntEnum
|
||||
|
||||
class PyqcrmDataRoles(IntEnum):
|
||||
CITY_ROLE = Qt.UserRole + 100
|
||||
STREET_IN_POSTCODE = CITY_ROLE + 1
|
||||
|
||||
|
||||
|
||||
10
main.py
10
main.py
@@ -58,12 +58,12 @@ def initializeProgram():
|
||||
if DbManager().getConnection():
|
||||
db_con = True
|
||||
user = UserManager()
|
||||
business_model = BusinessModel()
|
||||
# business_model = BusinessModel()
|
||||
address_model = AddressModel()
|
||||
business_type = BTypeModel()
|
||||
contact_model = ContactModel()
|
||||
employee_model = EmployeeModel()
|
||||
object_model = ObjectModel()
|
||||
# business_type = BTypeModel()
|
||||
# contact_model = ContactModel()
|
||||
# employee_model = EmployeeModel()
|
||||
# object_model = ObjectModel()
|
||||
publishContext()
|
||||
|
||||
|
||||
|
||||
22
qml.qrc
22
qml.qrc
@@ -9,7 +9,6 @@
|
||||
<file>Gui/AddCustomer.qml</file>
|
||||
<file>Gui/Dashboard.qml</file>
|
||||
<file>Gui/main.qml</file>
|
||||
<file>js/qmldict.js</file>
|
||||
<file>Gui/CustomerView.qml</file>
|
||||
<file>Gui/NoDbConnection.qml</file>
|
||||
<file>Gui/Notifications.qml</file>
|
||||
@@ -36,14 +35,13 @@
|
||||
<file>Gui/BackupSettings.qml</file>
|
||||
<file>Gui/MiscConf.qml</file>
|
||||
<file>Gui/UtilityDialogs.qml</file>
|
||||
<file>Gui/OffersTable.qml</file>
|
||||
<file>Gui/Employees/AddApplicant.qml</file>
|
||||
<file>Gui/Employees/AddEmployee.qml</file>
|
||||
<file>Gui/Employees/ApplicantPersonalData.qml</file>
|
||||
<file>Gui/Employees/ApplicantBankData.qml</file>
|
||||
<file>Gui/Employees/EmployeePersonalData.qml</file>
|
||||
<file>Gui/Employees/EmployeeBankData.qml</file>
|
||||
<file>Gui/Employees/ApplicantForm.qml</file>
|
||||
<file>Gui/Employees/ApplicantNationalInsurance.qml</file>
|
||||
<file>Gui/Employees/ApplicantVarious.qml</file>
|
||||
<file>Gui/Employees/EmployeeNationalInsurance.qml</file>
|
||||
<file>Gui/Employees/EmployeeVarious.qml</file>
|
||||
<file>Gui/Employees/EmployeeDetails.qml</file>
|
||||
<file>Gui/Employees/EmployeesTable.qml</file>
|
||||
<file>Gui/Employees/qmldir</file>
|
||||
@@ -67,9 +65,15 @@
|
||||
<file>TeroStyle/SearchBar.qml</file>
|
||||
<file>TeroStyle/TextField.qml</file>
|
||||
<file>TeroStyle/Typography.qml</file>
|
||||
<file>Gui/AddOffer.qml</file>
|
||||
<file>Gui/AddNewOffer.qml</file>
|
||||
<file>Gui/qmldir</file>
|
||||
<file>Gui/test.qml</file>
|
||||
<file>Gui/Offers/OffersTable.qml</file>
|
||||
<file>Gui/Offers/qmldir</file>
|
||||
<file>Gui/Offers/AddOffer.qml</file>
|
||||
<file>Gui/Offers/AddNewOffer.qml</file>
|
||||
<file>Js/qmldir</file>
|
||||
<file>Js/JsLib.js</file>
|
||||
<file>Js/qmldict.js</file>
|
||||
</qresource>
|
||||
<qresource prefix="/Common"/>
|
||||
<qresource prefix="/TeroStyle"/>
|
||||
</RCC>
|
||||
|
||||
Reference in New Issue
Block a user