From 538399b59a88326e5231d7a590f64e6c551d21204f16074864ff717876501287 Mon Sep 17 00:00:00 2001 From: Daniel Stoppek Date: Tue, 28 Jan 2025 13:45:02 +0100 Subject: [PATCH] changed AddApplicant --- Gui/AddApplicant.qml | 2 +- Gui/ApplicantBankData.qml | 14 +--- Gui/ApplicantNationalInsurance.qml | 73 ++++++++++++----- Gui/ApplicantPersonalData.qml | 127 ++++++++++++++++++++++++++--- Gui/ApplicantVarious.qml | 2 +- 5 files changed, 172 insertions(+), 46 deletions(-) diff --git a/Gui/AddApplicant.qml b/Gui/AddApplicant.qml index 0bfeac0..3f9e848 100644 --- a/Gui/AddApplicant.qml +++ b/Gui/AddApplicant.qml @@ -127,7 +127,7 @@ ColumnLayout { if(radio.children[1].checked) { - if(!personalData.checkPersonalField() || !bankAccount.checkBankField() || !nationalInsurance.checkNationalInsuranceField() ) + if(!personalData.checkPersonalField()) saveBtn.enabled = false else saveBtn.enabled = true diff --git a/Gui/ApplicantBankData.qml b/Gui/ApplicantBankData.qml index 4acd213..bcaa563 100644 --- a/Gui/ApplicantBankData.qml +++ b/Gui/ApplicantBankData.qml @@ -6,6 +6,7 @@ GridLayout { id: bankAccount columns: 2 + property alias jobstatus: title Label { text: qsTr("Beschäftigungsverhältnis") @@ -30,15 +31,11 @@ GridLayout property string name: "iban" id: iban Layout.fillWidth: true - placeholderText: "Pflichtfeld" - placeholderTextColor: "red" - onTextChanged: checkFields() } Label { text: qsTr("Bank") Layout.alignment: Qt.AlignRight - } ComboBox { @@ -47,15 +44,6 @@ GridLayout Layout.fillWidth: true model: ["",qsTr("Sparkasse"),qsTr("Volksbank")] editable: true - onCurrentTextChanged: checkFields() - onEditTextChanged: checkFields() - - } - function checkBankField() - { - return (iban.text.trim() && (bankname.currentText.trim() || bankname.editText.trim())) - } - } diff --git a/Gui/ApplicantNationalInsurance.qml b/Gui/ApplicantNationalInsurance.qml index e6d9ec9..0cc1966 100644 --- a/Gui/ApplicantNationalInsurance.qml +++ b/Gui/ApplicantNationalInsurance.qml @@ -32,9 +32,6 @@ GridLayout property string name: "socialno" id: socialnumber Layout.fillWidth: true - placeholderText: "Pflichtfeld" - placeholderTextColor: "red" - onTextChanged: checkFields() } Label @@ -47,9 +44,6 @@ GridLayout property string name: "taxno" id: taxnumber Layout.fillWidth: true - placeholderText: "Pflichtfeld" - placeholderTextColor: "red" - onTextChanged: checkFields() } Label @@ -62,21 +56,45 @@ GridLayout property string name: "medicalinsurance" id: medicalinsurance Layout.fillWidth: true - placeholderText: "Pflichtfeld" - placeholderTextColor: "red" - onTextChanged: checkFields() + } + Label + { + text: qsTr("Knappschaft") + visible: bankAccount.jobstatus.currentText === "Minijob" ? 1:0 + } + + TextField + { + property string name: "knappschaft" + id: knappschaft + Layout.fillWidth: true + visible: bankAccount.jobstatus.currentText === "Minijob" ? 1:0 } CheckBox { property string name: "worklicense" + id: worklicense Layout.columnSpan: 2 text: qsTr("Arbeitserlaubnis") visible: nation.currentText === "Deutschland"? false:true } Label { - text: qsTr("Pass gültig bis") + text: qsTr("Ausweis Nr.") + visible: nation.currentText === "Deutschland"? false:true + } + TextField + { + property string name: "passno" + id: passno + visible: nation.currentText === "Deutschland"? false:true + Layout.fillWidth: true + } + + Label + { + text: qsTr("Ausweis gültig bis") visible: nation.currentText === "Deutschland"? false:true } TextField @@ -85,8 +103,30 @@ GridLayout id: passduration visible: nation.currentText === "Deutschland"? false:true Layout.fillWidth: true - placeholderText: "Pflichtfeld" - placeholderTextColor: "red" + } + Label + { + text: qsTr("Ausstellungsort") + visible: nation.currentText === "Deutschland"? false:true + } + TextField + { + property string name: "exhibitionlocation" + id: exhibitionlocation + visible: nation.currentText === "Deutschland"? false:true + Layout.fillWidth: true + } + Label + { + text: qsTr("Ausgestellt am") + visible: nation.currentText === "Deutschland"? false:true + } + TextField + { + property string name: "exhibitdate" + id: exhibitdate + visible: nation.currentText === "Deutschland"? false:true + Layout.fillWidth: true } Label { @@ -99,17 +139,8 @@ GridLayout id: aufenthalt visible: nation.currentText === "Deutschland"? false:true Layout.fillWidth: true - placeholderText: "Pflichtfeld" - placeholderTextColor: "red" } - function checkNationalInsuranceField() - { - if (nation.currentText === "Deutschland") - { - return (socialnumber.text.trim() && taxnumber.text.trim() && medicalinsurance.text.trim()) - } - } } diff --git a/Gui/ApplicantPersonalData.qml b/Gui/ApplicantPersonalData.qml index ea6ee54..56196b2 100644 --- a/Gui/ApplicantPersonalData.qml +++ b/Gui/ApplicantPersonalData.qml @@ -92,6 +92,10 @@ GridLayout Layout.fillWidth: true placeholderTextColor: "red" onTextChanged: checkFields() + validator: RegularExpressionValidator + { + regularExpression: /([0-9a-zA-Z\-]{1,6})/ + } } Label @@ -146,6 +150,61 @@ GridLayout currentIndex: -1 } + Label + { + text: qsTr("Geburtsname") + Layout.alignment: Qt.AlignRight + visible: radio.children[1].checked + } + TextField + { + property string name: "birthname" + id: birthname + Layout.fillWidth: true + onTextChanged: checkFields() + Layout.columnSpan: 3 + visible: radio.children[1].checked + } + Label + { + text: qsTr("Geburtsdatum") + Layout.alignment: Qt.AlignRight + visible: radio.children[1].checked + } + TextField + { + property string name: "birthday" + id: birthday + Layout.fillWidth: true + placeholderText: "Pflichtfeld" + placeholderTextColor: "red" + onTextChanged: checkFields() + Layout.columnSpan: 3 + visible: radio.children[1].checked + 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") + Layout.alignment: Qt.AlignRight + visible: radio.children[1].checked + } + TextField + { + property string name: "placeofbirth" + id: placeofbirth + Layout.fillWidth: true + placeholderText: "Pflichtfeld" + placeholderTextColor: "red" + onTextChanged: checkFields() + Layout.columnSpan: 3 + visible: radio.children[1].checked + } Label { @@ -160,6 +219,10 @@ GridLayout placeholderTextColor: "red" Layout.columnSpan: 3 onTextChanged: checkFields() + validator: RegularExpressionValidator + { + regularExpression: /([+0-9]{1})([0-9]{1,17})/ + } } Label { @@ -174,6 +237,10 @@ GridLayout placeholderTextColor: "red" Layout.columnSpan: 3 onTextChanged: checkFields() + validator: RegularExpressionValidator + { + regularExpression: /([+0-9]{1})([0-9]{1,17})/ + } } Label { @@ -188,6 +255,10 @@ GridLayout placeholderTextColor: "red" Layout.columnSpan: 3 onTextChanged: checkFields() + validator: RegularExpressionValidator + { + regularExpression: /([\+!#$%&‘\*\–\/\=?\^_`\.{|}\~0-9A-Za-z]{1,185})@([0-9A-Za-z\.]{1,64})\.([a-zA-z]{2,5})/ + } } Label { @@ -206,6 +277,22 @@ GridLayout Layout.columnSpan: 3 } Label + { + text: qsTr("Stundenlohn") + Layout.alignment: Qt.AlignRight + visible: radio.children[1].checked + } + TextField + { + property string name: "salary" + id: salary + Layout.fillWidth: true + visible: radio.children[1].checked + placeholderTextColor: "red" + Layout.columnSpan: 3 + onTextChanged: checkFields() + } + Label { text: qsTr("Jobbeschreibung") Layout.alignment: Qt.AlignRight @@ -236,6 +323,10 @@ GridLayout placeholderTextColor: "red" Layout.columnSpan: 3 onTextChanged: checkFields() + 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 { @@ -252,22 +343,38 @@ GridLayout placeholderTextColor: "red" Layout.columnSpan: 3 onTextChanged: checkFields() + 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("Arbeitszeiten") + text: qsTr("Arbeitszeiten Tage") Layout.alignment: Qt.AlignRight visible: radio.children[1].checked } - TextField + ComboBox { - property string name: "timework" - id: timetowork + property string name: "workdays" + id: workdays Layout.fillWidth: true visible: radio.children[1].checked - placeholderTextColor: "red" - Layout.columnSpan: 3 - onTextChanged: checkFields() + model: ["1","2","3","4","5","6","7"] + } + Label + { + text: qsTr("Stunden") + Layout.alignment: Qt.AlignRight + visible: radio.children[1].checked + } + ComboBox + { + property string name: "workhours" + id: workhours + Layout.fillWidth: true + visible: radio.children[1].checked + model: ["1","2","3","4","5","6","7","8"] } Label { @@ -299,9 +406,10 @@ GridLayout { return (firstname.text.trim() && lastname.text.trim() && street.text.trim() && houseno.text.trim() && (postcode.editText.trim() || postcode.currentText.trim()) - && (city.editText.trim() || city.currentText.trim()) && phonenumber.text.trim() + && (city.editText.trim() || city.currentText.trim()) + && birthday.text.trim() && phonenumber.text.trim() && cellphone.text.trim() && email.text.trim() && jobdescription.text.trim() - && workstart.text.trim() && workend.text.trim() && timetowork.text.trim() && briefAnrede.text.trim()) + && workstart.text.trim() && workend.text.trim() && briefAnrede.text.trim()) } } function requiredField() @@ -314,7 +422,6 @@ GridLayout jobdescription.placeholderText = pf workstart.placeholderText = pf workend.placeholderText = pf - timetowork.placeholderText = pf briefAnrede.placeholderText = pf houseno.placeholderText = pf } diff --git a/Gui/ApplicantVarious.qml b/Gui/ApplicantVarious.qml index 230719e..ec44930 100644 --- a/Gui/ApplicantVarious.qml +++ b/Gui/ApplicantVarious.qml @@ -6,6 +6,7 @@ GridLayout { id: applicantVarious columns: 2 + Label { text: qsTr("Grad der Behinderung") @@ -16,7 +17,6 @@ GridLayout property string name: "behinderung" id: behinderung placeholderText: "0,0" - Layout.fillWidth: true } Label