diff --git a/Gui/AddApplicant.qml b/Gui/AddApplicant.qml
new file mode 100644
index 0000000..ef4c905
--- /dev/null
+++ b/Gui/AddApplicant.qml
@@ -0,0 +1,77 @@
+import QtQuick
+import QtQuick.Controls
+import QtQuick.Layouts
+
+ColumnLayout
+{
+ anchors.fill: parent
+ Label
+ {
+ Layout.alignment: Qt.AlignHCenter | Qt.AlignTop
+ id: headline
+ text: qsTr("Mitarbeiter / Bewerber hinzufügen")
+ font.pixelSize: 35
+
+ }
+ RowLayout
+ {
+ Layout.fillWidth: true
+ ApplicantPersonalData
+ {
+ id: personalData
+
+ }
+ ColumnLayout
+ {
+ Layout.alignment: Qt.AlignTop
+ CheckBox
+ {
+ id: checkcontactdata
+ Layout.fillWidth: true
+ text: qsTr("Kontaktdaten")
+ checked: false
+ onCheckStateChanged:
+ {
+ contactData.visible = checked
+ }
+ }
+ ApplicantContactData
+ {
+ id: contactData
+ visible: false
+ }
+ CheckBox
+ {
+ id: checkbankdata
+ Layout.fillWidth: true
+ text: qsTr("Bankdaten")
+ checked: false
+ onCheckStateChanged:
+ {
+ bankData.visible = checked
+ }
+ }
+ ApplicantBankData
+ {
+ id: bankData
+ visible: false
+ }
+ ApplicantNationality
+ {
+
+ }
+
+
+
+
+ }
+
+
+
+
+ }
+ Item
+ {
+ Layout.fillHeight: true
+ }
+}
diff --git a/Gui/ApplicantBankData.qml b/Gui/ApplicantBankData.qml
new file mode 100644
index 0000000..15d3855
--- /dev/null
+++ b/Gui/ApplicantBankData.qml
@@ -0,0 +1,29 @@
+import QtQuick
+import QtQuick.Controls
+import QtQuick.Layouts
+
+GridLayout
+{
+ columns: 2
+ Label
+ {
+ text: qsTr("IBAN")
+ Layout.alignment: Qt.AlignRight
+ }
+ TextField
+ {
+ id: iban
+ Layout.fillWidth: true
+ }
+ Label
+ {
+ text: qsTr("Bank")
+ Layout.alignment: Qt.AlignRight
+
+ }
+ TextField
+ {
+ id: bankname
+ Layout.fillWidth: true
+ }
+}
diff --git a/Gui/ApplicantContactData.qml b/Gui/ApplicantContactData.qml
new file mode 100644
index 0000000..be62b06
--- /dev/null
+++ b/Gui/ApplicantContactData.qml
@@ -0,0 +1,67 @@
+import QtQuick
+import QtQuick.Controls
+import QtQuick.Layouts
+
+GridLayout
+{
+ id: contactData
+ columns: 2
+ Label
+ {
+ text: qsTr("Straße")
+ Layout.alignment: Qt.AlignRight
+ }
+ TextField
+ {
+ id: street
+ Layout.fillWidth: true
+ }
+ Label
+ {
+ text: qsTr("PLZ")
+ Layout.alignment: Qt.AlignRight
+ }
+ RowLayout
+ {
+
+
+
+ ComboBox
+ {
+ id: postcode
+ Layout.fillWidth: true
+ }
+
+
+ Label
+ {
+ text: qsTr("Ort")
+
+ }
+ ComboBox
+ {
+ id: city
+ Layout.fillWidth: true
+ }
+ }
+ Label
+ {
+ text: qsTr("Telefonnummer")
+ Layout.alignment: Qt.AlignRight
+ }
+ TextField
+ {
+ id: phonenumber
+ Layout.fillWidth: true
+ }
+ Label
+ {
+ text: qsTr("E-Mail")
+ Layout.alignment: Qt.AlignRight
+ }
+ TextField
+ {
+ id: email
+ Layout.fillWidth: true
+ }
+}
diff --git a/Gui/ApplicantNationality.qml b/Gui/ApplicantNationality.qml
new file mode 100644
index 0000000..76ae599
--- /dev/null
+++ b/Gui/ApplicantNationality.qml
@@ -0,0 +1,92 @@
+import QtQuick
+import QtQuick.Controls
+import QtQuick.Layouts
+
+
+GridLayout
+{
+ columns: 2
+ Label
+ {
+ text: qsTr("Staatsangehörigkeit Deutsch")
+ }
+ Row
+ {
+ RadioButton
+ {
+ id: radioyes
+ text: qsTr("Ja")
+ checked: true
+
+ }
+ RadioButton
+ {
+ id: radiono
+ text: qsTr("Nein")
+ }
+ }
+ Label
+ {
+ text: qsTr("Sozialversicherungs-Nr")
+ }
+ TextField
+ {
+ id: socialnumber
+ }
+
+ Label
+ {
+ text: qsTr("Steuer-ID")
+ }
+ TextField
+ {
+ id: taxnumber
+ }
+ Label
+ {
+ text: qsTr("Krankenkasse")
+ }
+ TextField
+ {
+ id: medicalinsurance
+ }
+ Item
+ {
+
+ Layout.columnSpan: 2
+ visible: radiono.checked
+ GridLayout
+ {
+ columns: 2
+ CheckBox
+ {
+ Layout.columnSpan: 2
+ text: qsTr("Arbeitserlaubnis")
+ }
+ Label
+ {
+ text: qsTr("Staatsangehörigkeit")
+ }
+ TextField
+ {
+ id: nationality
+ }
+ Label
+ {
+ text: qsTr("Pass gültig bis")
+ }
+ TextField
+ {
+ id: pass
+ }
+ Label
+ {
+ text: qsTr("Aufenthaltstitel gültig bis")
+ }
+ TextField
+ {
+ id: aufenthalt
+ }
+ }
+ }
+}
diff --git a/Gui/ApplicantPersonalData.qml b/Gui/ApplicantPersonalData.qml
new file mode 100644
index 0000000..68b95e2
--- /dev/null
+++ b/Gui/ApplicantPersonalData.qml
@@ -0,0 +1,165 @@
+import QtQuick
+import QtQuick.Controls
+import QtQuick.Layouts
+
+GridLayout
+{
+ id: personalData
+ columns: 2
+
+ ButtonGroup
+ {
+ buttons: radio.children
+ }
+
+ Row
+ {
+ Layout.fillWidth: true
+ id: radio
+ Layout.columnSpan: 2
+ RadioButton
+ {
+ checked: true
+ text: qsTr("Bewerber")
+ }
+ RadioButton
+ {
+ text: qsTr("Mitarbeiter")
+ }
+ }
+
+ Label
+ {
+ text: qsTr("Anrede")
+ }
+ ComboBox
+ {
+ id: title
+ Layout.fillWidth: true
+ editable: false
+ model: [qsTr("Herr"), qsTr("Frau")]
+ }
+ Label
+ {
+ text: qsTr("Vorname")
+ }
+ TextField
+ {
+ id: firstname
+ Layout.fillWidth: true
+ placeholderText: "Pflichtfeld"
+ placeholderTextColor: "red"
+
+ }
+ Label
+ {
+ text: qsTr("Nachname")
+ }
+ TextField
+ {
+ id: lastname
+ Layout.fillWidth: true
+ placeholderText: "Pflichtfeld"
+ placeholderTextColor: "red"
+
+ }
+ Label
+ {
+ text: qsTr("Geburtsname")
+ }
+ TextField
+ {
+ id: birthname
+ Layout.fillWidth: true
+
+
+ }
+ Label
+ {
+ text: qsTr("Geburtsdatum")
+ }
+ TextField
+ {
+ id: birthday
+ Layout.fillWidth: true
+ placeholderText: qsTr("TT.MM.JJJJ")
+ validator: RegularExpressionValidator
+
+ {
+ regularExpression: /((^|)(0[1-9]{1}|[1-2]{1}[0-9]{1}|3[0-1]))\.((^|)(0[1-9]{1}|1[0-2]{1}))\.((^|)(196[0-9]{1}|19[7-9]{1}[0-9]{1}|20[0-9]{2}))/
+ }
+ }
+ Label
+ {
+ text: qsTr("Geburtsort")
+ }
+ TextField
+ {
+ id: placeofbirth
+ Layout.fillWidth: true
+
+ }
+ Label
+ {
+ text: qsTr("Geschlecht")
+ }
+ ComboBox
+ {
+ id: gender
+ Layout.fillWidth: true
+ editable: false
+ model: [qsTr("Mann"), qsTr("Frau"), qsTr("Divers")]
+ }
+ Label
+ {
+ text: qsTr("Familienstand")
+ }
+ ComboBox
+ {
+ id: maritalstatus
+ Layout.fillWidth: true
+ editable: false
+ model: [qsTr("ledig"), qsTr("verheiratet"), qsTr("verwitwet"), qsTr("geschieden")]
+ }
+ Label
+ {
+ text: qsTr("Jobbeschreibung")
+ }
+ TextField
+ {
+ id: jobdescription
+ Layout.fillWidth: true
+
+ }
+ Label
+ {
+ text: qsTr("Arbeitsbeginn")
+ }
+ TextField
+ {
+ id: workstart
+ Layout.fillWidth: true
+
+ }
+ Label
+ {
+ text: qsTr("Bei Befristung Ende")
+ }
+ TextField
+ {
+ id: workend
+ Layout.fillWidth: true
+
+ }
+ Label
+ {
+ text: qsTr("Arbeitszeiten")
+ }
+ TextField
+ {
+ id: timetowork
+ Layout.fillWidth: true
+
+ }
+
+}
diff --git a/Gui/main.qml b/Gui/main.qml
index 593cf2b..ed248c1 100644
--- a/Gui/main.qml
+++ b/Gui/main.qml
@@ -57,7 +57,7 @@ ApplicationWindow
}
else
{
- if (db_con) appLoader.source= "LoginScreen.qml"
+ if (db_con) appLoader.source= "AddApplicant.qml"
else appLoader.source= "NoDbConnection.qml"
}
}
diff --git a/qml.qrc b/qml.qrc
index 6825588..e0bcf03 100644
--- a/qml.qrc
+++ b/qml.qrc
@@ -24,5 +24,10 @@
Gui/ObjectAddOnContactPerson.qml
Gui/ObjectAddOnEmployee.qml
Gui/AddObjectEmployee.qml
+ Gui/AddApplicant.qml
+ Gui/ApplicantPersonalData.qml
+ Gui/ApplicantContactData.qml
+ Gui/ApplicantBankData.qml
+ Gui/ApplicantNationality.qml