From 0406a299dc949846089a8e7d47c117c19c8b218d Mon Sep 17 00:00:00 2001 From: Frank Schubert Date: Thu, 2 Sep 2021 20:43:48 +0200 Subject: [PATCH] Baufreigabe checks for missing required fields --- .../attachments/new_order_spin.pdf.php | 2 +- Layout/default/Pipework/Index.php | 36 ++++++++++++++++++- application/Building/Building.php | 14 ++++++++ application/Pipework/PipeworkController.php | 19 ++++++++++ 4 files changed, 69 insertions(+), 2 deletions(-) diff --git a/Layout/default/Emailtemplates/attachments/new_order_spin.pdf.php b/Layout/default/Emailtemplates/attachments/new_order_spin.pdf.php index 561573293..85e28fbf4 100644 --- a/Layout/default/Emailtemplates/attachments/new_order_spin.pdf.php +++ b/Layout/default/Emailtemplates/attachments/new_order_spin.pdf.php @@ -79,7 +79,7 @@
-

Gemäß der EU Datenschutzverordung sind wir dazu verpflichtet, vor der Beauskunftung +

Gemäß der EU Datenschutzverordnung sind wir dazu verpflichtet, vor der Beauskunftung von persönlichen Daten eine Kundenidentifizierung vorzunehmen. Daher werden wir und unsere Partner Sie bei zukünftigen Kontaktaufnahmen (z.B. vergessenen Passwörtern, Rechnungsauskünfte, etc) nach Ihrem persönlichen Service-PIN fragen.

diff --git a/Layout/default/Pipework/Index.php b/Layout/default/Pipework/Index.php index 7c75d4ade..590cda361 100644 --- a/Layout/default/Pipework/Index.php +++ b/Layout/default/Pipework/Index.php @@ -119,7 +119,7 @@ email?>
- +
@@ -224,6 +224,40 @@ $(document).ready(function() { } }); +$('select[name=wfitem_pipework_finished]').each(function() { + var elem = this; + //console.log(elem); + $(elem).click(function() { + var id_match = $(this).attr("id").match(/wfitem_pipework_finished_(\d+)$/); + var id = id_match[1]; + //console.log(id); + + var ap_type=$('#wfitem_anschlusspunkt_typ_' + id).val(); + var ap_name=$('#wfitem_anschlusspunkt_name_' + id).val(); + var rohrname=$('#wfitem_rohrverband_name_' + id).val(); + var rohrtype=$('#wfitem_rohrtype_' + id).val(); + var rohrfarbe=$('#wfitem_rohrfarbe_' + id).val(); + + var ist_ap_type=$('#wfitem_ist_anschlusspunkt_typ_' + id).val(); + var ist_ap_name=$('#wfitem_ist_anschlusspunkt_name_' + id).val(); + var ist_rohrname=$('#wfitem_ist_rohrverband_name_' + id).val(); + var ist_rohrtype=$('#wfitem_ist_rohrtype_' + id).val(); + var ist_rohrfarbe=$('#wfitem_ist_rohrfarbe_' + id).val(); + + //console.log(ap_type, ap_name, rohrname, rohrtype, rohrfarbe); + + if((!ap_type && !ist_ap_type) || (!ap_name && !ist_ap_type) || (!rohrname && !ist_rohrname) || (!rohrtype || !ist_rohrtype) || (!rohrfarbe && !ist_rohrfarbe)) { + $(this).find("option").attr("disabled", true); + } + + if((ap_type || ist_ap_type) && (ap_name || ist_ap_name) && (rohrname || ist_rohrname) && (rohrtype || ist_rohrtype) && (rohrfarbe || ist_rohrfarbe)) { + //console.log("enable"); + $(this).find("option").removeAttr("disabled"); + } + + }); +}); + diff --git a/application/Building/Building.php b/application/Building/Building.php index c15b7ec9d..2acc7d58c 100644 --- a/application/Building/Building.php +++ b/application/Building/Building.php @@ -25,6 +25,20 @@ class Building extends mfBaseModel { return $address; } + protected function afterSave() { + $this->resetProperties(); + } + + public function resetProperties() { + $this->network = null; + $this->pop = null; + $this->type = null; + $this->status = null; + $this->pipeworder = null; + $this->terminations = null; + $this->workflowitems = null; + $this->files = null; + } public function getNewObjectCode() { if(!$this->zip) { diff --git a/application/Pipework/PipeworkController.php b/application/Pipework/PipeworkController.php index 5ab9e97ee..4bc67daf9 100644 --- a/application/Pipework/PipeworkController.php +++ b/application/Pipework/PipeworkController.php @@ -187,6 +187,8 @@ class PipeworkController extends mfBaseController { //var_dump($item);exit; $item->value->save(); + $building->resetProperties(); + // set pipework finished flag in building if($name == TT_WORKFLOW_ITEM_PIPEWORK_DONE) { if($value && $building->workflow_finished == 0) { @@ -200,6 +202,23 @@ class PipeworkController extends mfBaseController { } } + /* + * Custom checks + */ + + if($building->workflowitems['pipework_finished']->value->value_string) { + // unset Tiefbau abgeschlossen if missing values + if( (!$building->workflowitems['anschlusspunkt_typ']->value->value_string && !$building->workflowitems['ist_anschlusspunkt_typ']->value->value_string) + || (!$building->workflowitems['anschlusspunkt_name']->value->value_string && !$building->workflowitems['ist_anschlusspunkt_name']->value->value_string) + || (!$building->workflowitems['rohrverband_name']->value->value_string && !$building->workflowitems['ist_rohrverband_name']->value->value_string) + || (!$building->workflowitems['rohrtype']->value->value_string && !$building->workflowitems['ist_rohrtype']->value->value_string) + || (!$building->workflowitems['rohrfarbe']->value->value_string && !$building->workflowitems['ist_rohrfarbe']->value->value_string) + ) { + $building->workflowitems['pipework_finished']->value->value_string = ""; + $building->workflowitems['pipework_finished']->value->save(); + } + } + // set building status if Status field was set if(defined("TT_WORKFLOW_ITEM_STATUS_FIELD") && defined("TT_WORKFLOW_ITEM_STATUS_VALUE_PASSED") && defined("TT_WORKFLOW_ITEM_STATUS_VALUE_CONNECTED")) { $status_value = $building->workflowitems[TT_WORKFLOW_ITEM_STATUS_FIELD]->value->value_string;