From 765e2ba217b33f8b7e0eb41c179a60e4688d87b9 Mon Sep 17 00:00:00 2001 From: OpenXE <> Date: Wed, 5 Jun 2024 09:50:51 +0200 Subject: [PATCH 01/15] module_creator addmessage() --- .../module_creator_php_template.txt | 29 ++++++++++--------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/tools/module_creator/module_creator_php_template.txt b/tools/module_creator/module_creator_php_template.txt index ab6d41e3..1760582f 100644 --- a/tools/module_creator/module_creator_php_template.txt +++ b/tools/module_creator/module_creator_php_template.txt @@ -84,11 +84,9 @@ class PLACEHOLDER_MODULECLASSNAME { } public function PLACEHOLDER_DELETE() { - $id = (int) $this->app->Secure->GetGET('id'); - + $id = (int) $this->app->Secure->GetGET('id'); $this->app->DB->Delete("DELETE FROM `PLACEHOLDER_MODULENAME` WHERE `id` = '{$id}'"); - $this->app->Tpl->Set('MESSAGE', "
Der Eintrag wurde gelöscht.
"); - + $this->app->Tpl->addMessage('error', 'Der Eintrag wurde gelöscht'); $this->PLACEHOLDER_LIST(); } @@ -156,23 +154,26 @@ class PLACEHOLDER_MODULECLASSNAME { $msg = $this->app->erp->base64_url_encode("
Das Element wurde erfolgreich angelegt.
"); header("Location: index.php?module=PLACEHOLDER_MODULENAME&action=list&msg=$msg"); } else { - $this->app->Tpl->Set('MESSAGE', "
Die Einstellungen wurden erfolgreich übernommen.
"); + $this->app->Tpl->addMessage('success', 'Die Einstellungen wurden erfolgreich übernommen.'); } } // Load values again from database - $dropnbox = "PLACEHOLDER_DROPNBOX"; - $result = $this->app->DB->SelectArr("PLACEHOLDER_SQL_LIST"." WHERE id=$id"); + if ($id != 'NULL') { - foreach ($result[0] as $key => $value) { - $this->app->Tpl->Set(strtoupper($key), $value); - } + $dropnbox = "PLACEHOLDER_DROPNBOX"; + $result = $this->app->DB->SelectArr("PLACEHOLDER_SQL_LIST"." WHERE id=$id"); - if (!empty($result)) { - $PLACEHOLDER_MODULENAME_from_db = $result[0]; - } else { - return; + foreach ($result[0] as $key => $value) { + $this->app->Tpl->Set(strtoupper($key), $value); + } + + if (!empty($result)) { + $PLACEHOLDER_MODULENAME_from_db = $result[0]; + } else { + return; + } } /* From d7aa58190e954fdfba39e756635c151407782a73 Mon Sep 17 00:00:00 2001 From: OpenXE <> Date: Wed, 5 Jun 2024 11:00:55 +0200 Subject: [PATCH 02/15] kommissionierung rework functions --- www/pages/auftrag.php | 167 ++++++++++++++++++++---------------------- 1 file changed, 79 insertions(+), 88 deletions(-) diff --git a/www/pages/auftrag.php b/www/pages/auftrag.php index a1fa9811..96300924 100644 --- a/www/pages/auftrag.php +++ b/www/pages/auftrag.php @@ -5782,69 +5782,33 @@ Die Gesamtsumme stimmt nicht mehr mit ursprünglich festgelegten Betrag '. $sql = "SELECT id FROM kommissionierung k WHERE k.auftrag = '".$id."'"; $vorkommissionierung = $this->app->DB->Select($sql); - if(!$vorkommissionierung) + if (!$vorkommissionierung) { - $kommissionierung = $this->app->erp->GetNextKommissionierung(); - } else { - $kommissionierung = false; - } - - if($kommissionierung){ - $this->app->DB->Update( - sprintf( - "UPDATE kommissionierung SET lieferschein = %d, auftrag = %d, adresse = %d WHERE id = %d LIMIT 1", - $lieferschein, - $id, - $adresse, - $kommissionierung - ) - ); - } - - $auslagernresult = - $this->app->erp->LieferscheinAuslagern( - $lieferschein, - true, - (int)$this->app->DB->Select(sprintf('SELECT standardlager FROM auftrag WHERE id = %d LIMIT 1', $id)), - 'lieferschein', - true, - false, - $nurRestmenge - ); + $kommissionierung = $this->app->erp->GetNextKommissionierung(); + + $druckercode = $this->app->erp->Projektdaten($projekt,'druckerlogistikstufe1'); + + $auslagernresult = + $this->app->erp->LieferscheinAuslagern( + $lieferschein, + true, + (int)$this->app->DB->Select(sprintf('SELECT standardlager FROM auftrag WHERE id = %d LIMIT 1', $id)), + 'lieferschein', + true, + false, + $nurRestmenge + ); - if($kommissionierung){ - $this->app->DB->Update( - sprintf( - "UPDATE kommissionierung SET ausgelagert = 1 WHERE id = %d LIMIT 1", - $kommissionierung - ) - ); - - foreach ($auslagernresult['storageMovements'] as $storageMovement) { - $this->app->DB->Update( - sprintf( - "INSERT INTO kommissionierung_position (kommissionierung, artikel, lager_platz, menge) VALUES (%d, %d, %d, %d)", - $kommissionierung, - $storageMovement['artikel'], - $storageMovement['lager_platz'], - $storageMovement['menge'] - ) - ); - } - - // Kommissionierschein drucken? - if ($projektarr['autodruckkommissionierscheinstufe1']) { - $Brief = new KommissionierungPDF($this->app, styleData: array('ohne_steuer' => true, 'artikeleinheit' => false, 'abstand_boxrechtsoben' => -70, 'abstand_artikeltabelleoben' => -70, 'abstand_betreffzeileoben' => -70, 'preise_ausblenden' => true)); - $Brief->GetKommissionierung($kommissionierung); - $tmpfile = $Brief->displayTMP(); - for($mengedruck=$projektarr['autodruckkommissionierscheinstufe1menge'];$mengedruck > 0;$mengedruck--) { - $druckercode = $this->app->erp->Projektdaten($projekt,'druckerlogistikstufe1'); - $this->app->printer->Drucken($druckercode, $tmpfile); - } - unlink($tmpfile); - } + $this->Kommissionieren( + kommissionierung : $kommissionierung, + auftrag: $id, + lieferschein: $lieferschein, + ausgelagert: true, + lagerplatzliste: $auslagernresult, + mengedruck: $projektarr['autodruckkommissionierscheinstufe1']?$projektarr['autodruckkommissionierscheinstufe1menge']:0, + druckercode: $druckercode); } - + // Prozesse ohne Versandzentrum $this->app->erp->BriefpapierHintergrundDisable($druckercode); @@ -6577,9 +6541,6 @@ Die Gesamtsumme stimmt nicht mehr mit ursprünglich festgelegten Betrag '. $kid = $this->app->erp->GetNextKommissionierung(); - $sql = "UPDATE kommissionierung SET auftrag = $v, adresse = (SELECT adresse FROM auftrag WHERE id = ".$v.") WHERE id = $kid"; - $this->app->DB->Update($sql); - $auslagernresult = $this->app->erp->LieferscheinAuslagern( lieferschein: $v, @@ -6592,33 +6553,20 @@ Die Gesamtsumme stimmt nicht mehr mit ursprünglich festgelegten Betrag '. simulieren: true ); - foreach ($auslagernresult['storageMovements'] as $storageMovement) { - $this->app->DB->Update( - sprintf( - "INSERT INTO kommissionierung_position (kommissionierung, artikel, lager_platz, menge) VALUES (%d, %d, %d, %d)", - $kid, - $storageMovement['artikel'], - $storageMovement['lager_platz'], - $storageMovement['menge'] - ) - ); - } - - $this->app->erp->AuftragProtokoll($v,'Auftrag vorkommissioniert, Kommissionierung '.$kid); - + $druckercode = $this->app->erp->Firmendaten('standardversanddrucker'); $projektarr = $this->app->DB->SelectRow("SELECT projekt.* FROM projekt INNER JOIN auftrag ON projekt.id = auftrag.projekt WHERE auftrag.id = '".$v."'"); - // Kommissionierschein drucken? - if ($projektarr['autodruckkommissionierscheinstufe1']) { - $Brief = new KommissionierungPDF($this->app, styleData: array('ohne_steuer' => true, 'artikeleinheit' => false, 'abstand_boxrechtsoben' => -70, 'abstand_artikeltabelleoben' => -70, 'abstand_betreffzeileoben' => -70, 'preise_ausblenden' => true)); - $Brief->GetKommissionierung($kid); - $tmpfile = $Brief->displayTMP(); - for($mengedruck=$projektarr['autodruckkommissionierscheinstufe1menge'];$mengedruck > 0;$mengedruck--) { - $druckercode = $this->app->erp->Projektdaten($projektarr['id'],'druckerlogistikstufe1'); - $this->app->printer->Drucken($druckercode, $tmpfile); - } - unlink($tmpfile); - } + $this->Kommissionieren( + kommissionierung : $kid, + auftrag: $v, + lieferschein: 0, + ausgelagert: false, + lagerplatzliste: $auslagernresult, + mengedruck: $projektarr['autodruckkommissionierscheinstufe1']?$projektarr['autodruckkommissionierscheinstufe1menge']:0, + druckercode: $druckercode); + + $this->app->erp->AuftragProtokoll($v,'Auftrag vorkommissioniert, Kommissionierung '.$kid); + } } break; @@ -7345,5 +7293,48 @@ Die Gesamtsumme stimmt nicht mehr mit ursprünglich festgelegten Betrag '. $this->app->YUI->TableSearch('TAB1','offenepositionen',"show","","",basename(__FILE__), __CLASS__); $this->app->Tpl->Parse('PAGE',"tabview.tpl"); } + + function Kommissionieren(int $kommissionierung, int $auftrag, int $lieferschein, bool $ausgelagert, array $lagerplatzliste, int $mengedruck, int $druckercode) { + $sql = sprintf( + "UPDATE kommissionierung SET lieferschein = %d, auftrag = %d, adresse = IF (%d != 0,(SELECT adresse FROM lieferschein WHERE id = %d LIMIT 1),(SELECT adresse FROM auftrag WHERE id = %d LIMIT 1)), ausgelagert = %d WHERE id = %d LIMIT 1", + $lieferschein, + $auftrag, + $lieferschein, + $lieferschein, + $auftrag, + $adresse, + $kommissionierung, + $ausgelager + ); + + $this->app->DB->Update( + $sql + ); + + foreach ($lagerplatzliste['storageMovements'] as $storageMovement) { + $this->app->DB->Update( + sprintf( + "INSERT INTO kommissionierung_position (kommissionierung, artikel, lager_platz, menge) VALUES (%d, %d, %d, %d)", + $kommissionierung, + $storageMovement['artikel'], + $storageMovement['lager_platz'], + $storageMovement['menge'] + ) + ); + } + + // Kommissionierschein + if ($mengedruck > 0) { + $Brief = new KommissionierungPDF($this->app, styleData: array('ohne_steuer' => true, 'artikeleinheit' => false, 'abstand_boxrechtsoben' => -70, 'abstand_artikeltabelleoben' => -70, 'abstand_betreffzeileoben' => -70, 'preise_ausblenden' => true)); + $Brief->GetKommissionierung($kommissionierung); + $tmpfile = $Brief->displayTMP(); + $this->app->erp->BriefpapierHintergrunddisable = true; // Disable background + for($drucklauf = 0; $drucklauf < $mengedruck;$drucklauf++) { + $this->app->printer->Drucken($druckercode, $tmpfile); + } + unlink($tmpfile); + $this->app->erp->BriefpapierHintergrundDisable($druckercode); // Restore default background from printersettings + } + } } From 5774385cac461091ae0f65675596f0c7afe01963 Mon Sep 17 00:00:00 2001 From: OpenXE <> Date: Wed, 5 Jun 2024 12:36:35 +0200 Subject: [PATCH 03/15] adresse etikettautodruck mask --- upgrade/data/db_schema.json | 22 +++++++++++++++++++ .../mysql/_gen/object.gen.adresse.php | 12 ++++++++++ www/widgets/_gen/widget.gen.adresse.php | 7 ++++++ www/widgets/templates/_gen/adresse.tpl | 21 ++++++++++++++++++ www/widgets/widget.adresse.php | 5 +++++ www/widgets/widget.projekt.php | 1 - 6 files changed, 67 insertions(+), 1 deletion(-) diff --git a/upgrade/data/db_schema.json b/upgrade/data/db_schema.json index ba830e9c..8fc821b2 100644 --- a/upgrade/data/db_schema.json +++ b/upgrade/data/db_schema.json @@ -3660,6 +3660,28 @@ "Extra": "", "Privileges": "select,insert,update,references", "Comment": "" + }, + { + "Field": "etikettautodruck", + "Type": "int(1)", + "Collation": null, + "Null": "NO", + "Key": "", + "Default": "0", + "Extra": "", + "Privileges": "select,insert,update,references", + "Comment": "" + }, + { + "Field": "etikett", + "Type": "int(11)", + "Collation": null, + "Null": "NO", + "Key": "", + "Default": "0", + "Extra": "", + "Privileges": "select,insert,update,references", + "Comment": "" } ], "keys": [ diff --git a/www/objectapi/mysql/_gen/object.gen.adresse.php b/www/objectapi/mysql/_gen/object.gen.adresse.php index 086afcd3..5b064bfd 100644 --- a/www/objectapi/mysql/_gen/object.gen.adresse.php +++ b/www/objectapi/mysql/_gen/object.gen.adresse.php @@ -187,6 +187,8 @@ class ObjGenAdresse private $freifeld9; private $freifeld10; private $rechnung_papier; + private $etikettautodruck; + private $etikett; private $angebot_cc; private $auftrag_cc; private $rechnung_cc; @@ -440,6 +442,8 @@ $result = $result[0]; $this->freifeld9=$result['freifeld9']; $this->freifeld10=$result['freifeld10']; $this->rechnung_papier=$result['rechnung_papier']; + $this->etikettautodruck=$result['etikettautodruck']; + $this->etikett=$result['etikett']; $this->angebot_cc=$result['angebot_cc']; $this->auftrag_cc=$result['auftrag_cc']; $this->rechnung_cc=$result['rechnung_cc']; @@ -693,6 +697,8 @@ $result = $result[0]; `freifeld9`='{$this->freifeld9}', `freifeld10`='{$this->freifeld10}', `rechnung_papier`='{$this->rechnung_papier}', + `etikettautodruck`='{$this->etikettautodruck}', + `etikett`='{$this->etikett}', `angebot_cc`='{$this->angebot_cc}', `auftrag_cc`='{$this->auftrag_cc}', `rechnung_cc`='{$this->rechnung_cc}', @@ -946,6 +952,8 @@ $result = $result[0]; $this->freifeld9=''; $this->freifeld10=''; $this->rechnung_papier=''; + $this->etikettautodruck=''; + $this->etikett=''; $this->angebot_cc=''; $this->auftrag_cc=''; $this->rechnung_cc=''; @@ -1392,6 +1400,10 @@ $result = $result[0]; public function GetFreifeld10() { return $this->freifeld10; } public function SetRechnung_Papier($value) { $this->rechnung_papier=$value; } public function GetRechnung_Papier() { return $this->rechnung_papier; } + public function SetEtikettautodruck($value) { $this->etikettautodruck=$value; } + public function GetEtikettautodruck() { return $this->etikettautodruck; } + public function SetEtikett($value) { $this->etikett=$value; } + public function GetEtikett() { return $this->etikett; } public function SetAngebot_Cc($value) { $this->angebot_cc=$value; } public function GetAngebot_Cc() { return $this->angebot_cc; } public function SetAuftrag_Cc($value) { $this->auftrag_cc=$value; } diff --git a/www/widgets/_gen/widget.gen.adresse.php b/www/widgets/_gen/widget.gen.adresse.php index f058afec..8e9da36c 100644 --- a/www/widgets/_gen/widget.gen.adresse.php +++ b/www/widgets/_gen/widget.gen.adresse.php @@ -667,6 +667,13 @@ class WidgetGenadresse $field = new HTMLInput("kennung","text","","30","","","","","","","","0","",""); $this->form->NewField($field); + $field = new HTMLCheckbox("etikettautodruck","","","1","0","0"); + $this->form->NewField($field); + + $field = new HTMLInput("etikett","text","","30","","","","","","","","0","",""); + $this->form->NewField($field); + + } } diff --git a/www/widgets/templates/_gen/adresse.tpl b/www/widgets/templates/_gen/adresse.tpl index 538843aa..87238e64 100644 --- a/www/widgets/templates/_gen/adresse.tpl +++ b/www/widgets/templates/_gen/adresse.tpl @@ -771,6 +771,27 @@ function abweichend(cmd) { +
+
+
+
+
+ {|Etiketten|} + + + + + + + + + +
{|Autodruck|}:[ETIKETTAUTODRUCK][MSGETIKETTAUTODRUCK] Bei der Kommissionierung werden Etiketten gedruckt
{|Etikett|}:[ETIKETT][MSGETIKETT]
+
+
+
+
+
diff --git a/www/widgets/widget.adresse.php b/www/widgets/widget.adresse.php index b65ab7c1..fa00fbfe 100644 --- a/www/widgets/widget.adresse.php +++ b/www/widgets/widget.adresse.php @@ -438,6 +438,11 @@ class WidgetAdresse extends WidgetGenAdresse $this->app->Tpl->Set('NACHBUNDESSTAAT','-->'); } + $etikettenart = $this->app->erp->GetEtiketten(); + $field = new HTMLSelect("etikett",0); + $field->AddOptionsAsocSimpleArray($etikettenart); + $this->form->NewField($field); + } function ReplaceDecimal($db,$value,$fromform) diff --git a/www/widgets/widget.projekt.php b/www/widgets/widget.projekt.php index 8488f348..9732dcde 100644 --- a/www/widgets/widget.projekt.php +++ b/www/widgets/widget.projekt.php @@ -152,7 +152,6 @@ class WidgetProjekt extends WidgetGenProjekt $field->AddOptionsAsocSimpleArray($drucker); $this->form->NewField($field); - $drucker = $this->app->erp->GetDrucker(); $field = new HTMLSelect("kasse_drucker",0); $field->AddOptionsAsocSimpleArray($drucker); From 7bb519ea40f7ebcc0b3a16ebf590f55404cb7047 Mon Sep 17 00:00:00 2001 From: OpenXE <> Date: Wed, 5 Jun 2024 14:12:48 +0200 Subject: [PATCH 04/15] kommissionierung etikettautodruck --- www/pages/auftrag.php | 64 ++++++++++++++++---- www/pages/content/auftrag_versandzentrum.tpl | 3 +- 2 files changed, 55 insertions(+), 12 deletions(-) diff --git a/www/pages/auftrag.php b/www/pages/auftrag.php index 96300924..3a94d439 100644 --- a/www/pages/auftrag.php +++ b/www/pages/auftrag.php @@ -5787,6 +5787,7 @@ Die Gesamtsumme stimmt nicht mehr mit ursprünglich festgelegten Betrag '. $kommissionierung = $this->app->erp->GetNextKommissionierung(); $druckercode = $this->app->erp->Projektdaten($projekt,'druckerlogistikstufe1'); + $etikettendrucker = $this->app->erp->Projektdaten($projekt,'etiketten_drucker'); $auslagernresult = $this->app->erp->LieferscheinAuslagern( @@ -5799,6 +5800,9 @@ Die Gesamtsumme stimmt nicht mehr mit ursprünglich festgelegten Betrag '. $nurRestmenge ); + $sql = "SELECT etikett, etikettautodruck FROM adresse WHERE id =".$adresse; + $settings = $this->app->DB->SelectRow($sql); + $this->Kommissionieren( kommissionierung : $kommissionierung, auftrag: $id, @@ -5806,7 +5810,10 @@ Die Gesamtsumme stimmt nicht mehr mit ursprünglich festgelegten Betrag '. ausgelagert: true, lagerplatzliste: $auslagernresult, mengedruck: $projektarr['autodruckkommissionierscheinstufe1']?$projektarr['autodruckkommissionierscheinstufe1menge']:0, - druckercode: $druckercode); + druckercode: $druckercode, + mengeetiketten: $settings['etikettautodruck']?1:0, + etikett: $settings['etikettautodruck']?$settings['etikett']:0, + etikettendrucker: $etikettendrucker); } // Prozesse ohne Versandzentrum @@ -5939,9 +5946,9 @@ Die Gesamtsumme stimmt nicht mehr mit ursprünglich festgelegten Betrag '. // Check for override in adresse $sql = "SELECT rechnung_anzahlpapier, rechnung_anzahlpapier_abweichend FROM adresse WHERE id =".$adresse; - $rechnung_anzahlpapier = $this->app->DB->SelectArr($sql); - if ($rechnung_anzahlpapier[0]['rechnung_anzahlpapier_abweichend']) { - $autodruckrechnungstufe1menge = $rechnung_anzahlpapier[0]['rechnung_anzahlpapier']; + $adresse_settings = $this->app->DB->SelectArr($sql); + if ($adresse_settings[0]['rechnung_anzahlpapier_abweichend']) { + $autodruckrechnungstufe1menge = $adresse_settings[0]['rechnung_anzahlpapier']; } if($exportdruckrechnungstufe1) @@ -6506,6 +6513,9 @@ Die Gesamtsumme stimmt nicht mehr mit ursprünglich festgelegten Betrag '. } } break; + case 'vorkommissionieren_ohne_etiketten': + $vorkommissionieren_ohne_etiketten = true; + // break ommitted case 'vorkommissionieren': if (!empty($auftraegemarkiert)) { @@ -6554,7 +6564,21 @@ Die Gesamtsumme stimmt nicht mehr mit ursprünglich festgelegten Betrag '. ); $druckercode = $this->app->erp->Firmendaten('standardversanddrucker'); - $projektarr = $this->app->DB->SelectRow("SELECT projekt.* FROM projekt INNER JOIN auftrag ON projekt.id = auftrag.projekt WHERE auftrag.id = '".$v."'"); + + $settings = $this->app->DB->SelectRow(" + SELECT + projekt.autodruckkommissionierscheinstufe1, + projekt.autodruckkommissionierscheinstufe1menge, + adresse.etikett, + adresse.etikettautodruck, + projekt.id as projekt + FROM projekt + INNER JOIN auftrag ON projekt.id = auftrag.projekt + INNER JOIN adresse ON adresse.id = auftrag.adresse + WHERE auftrag.id = '".$v."'" + ); + + $etikettendrucker = $this->app->erp->Projektdaten($settings['projekt'],'etiketten_drucker'); $this->Kommissionieren( kommissionierung : $kid, @@ -6562,11 +6586,11 @@ Die Gesamtsumme stimmt nicht mehr mit ursprünglich festgelegten Betrag '. lieferschein: 0, ausgelagert: false, lagerplatzliste: $auslagernresult, - mengedruck: $projektarr['autodruckkommissionierscheinstufe1']?$projektarr['autodruckkommissionierscheinstufe1menge']:0, - druckercode: $druckercode); - - $this->app->erp->AuftragProtokoll($v,'Auftrag vorkommissioniert, Kommissionierung '.$kid); - + mengedruck: $settings['autodruckkommissionierscheinstufe1']?$settings['autodruckkommissionierscheinstufe1menge']:0, + druckercode: $druckercode, + mengeetiketten: $settings['etikettautodruck']?1:0, + etikett: $vorkommissionieren_ohne_etiketten?0:($settings['etikettautodruck']?$settings['etikett']:0), + etikettendrucker: $etikettendrucker); } } break; @@ -7294,7 +7318,7 @@ Die Gesamtsumme stimmt nicht mehr mit ursprünglich festgelegten Betrag '. $this->app->Tpl->Parse('PAGE',"tabview.tpl"); } - function Kommissionieren(int $kommissionierung, int $auftrag, int $lieferschein, bool $ausgelagert, array $lagerplatzliste, int $mengedruck, int $druckercode) { + function Kommissionieren(int $kommissionierung, int $auftrag, int $lieferschein, bool $ausgelagert, array $lagerplatzliste, int $mengedruck, $druckercode, int $mengeetiketten, $etikett, $etikettendrucker) { $sql = sprintf( "UPDATE kommissionierung SET lieferschein = %d, auftrag = %d, adresse = IF (%d != 0,(SELECT adresse FROM lieferschein WHERE id = %d LIMIT 1),(SELECT adresse FROM auftrag WHERE id = %d LIMIT 1)), ausgelagert = %d WHERE id = %d LIMIT 1", @@ -7336,5 +7360,23 @@ Die Gesamtsumme stimmt nicht mehr mit ursprünglich festgelegten Betrag '. unlink($tmpfile); $this->app->erp->BriefpapierHintergrundDisable($druckercode); // Restore default background from printersettings } + + // Etiketten + if ($mengeetiketten > 0) { + foreach ($lagerplatzliste['storageMovements'] as $storageMovement) { + $this->app->erp->EtikettenDrucker( + kennung: $etikett, + anzahl: $mengeetiketten*$storageMovement['menge'], + tabelle: 'artikel', + id: $storageMovement['artikel'], + variables: null, + druckercode: $etikettendrucker + ); + } + + //function EtikettenDrucker($kennung,$anzahl,$tabelle,$id,$variables="",$xml="",$druckercode="",$filenameprefix="",$xmlaspdf=false,$adresse=0,$verwendenals="") + } + + } } diff --git a/www/pages/content/auftrag_versandzentrum.tpl b/www/pages/content/auftrag_versandzentrum.tpl index 5e7fdd85..18a94133 100644 --- a/www/pages/content/auftrag_versandzentrum.tpl +++ b/www/pages/content/auftrag_versandzentrum.tpl @@ -48,7 +48,8 @@ - + + From a7fae122009026229a03afc30c80f18b005cad14 Mon Sep 17 00:00:00 2001 From: OpenXE <> Date: Wed, 5 Jun 2024 15:00:40 +0200 Subject: [PATCH 05/15] bugfix versandpakete save comment, lose tracking --- www/pages/versandpakete.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/www/pages/versandpakete.php b/www/pages/versandpakete.php index 791fedf0..e29bf326 100644 --- a/www/pages/versandpakete.php +++ b/www/pages/versandpakete.php @@ -642,11 +642,13 @@ class Versandpakete { // Write to database // Add checks here - $sql = "SELECT status FROM versandpakete WHERE id = ".$id; - $input['status'] = $this->app->DB->SelectArr($sql)[0]['status']; // Status is not changeable + $sql = "SELECT * FROM versandpakete WHERE id = ".$id; + $paket_db = $this->app->DB->SelectRow($sql); + $input['status'] = $paket_db['status']; // Status is not changeable if ($input['status'] != 'neu') { $input = Array('bemerkung' => $input['bemerkung']); } + if (!empty($paket_db['tracking'])) { // Tracking is not changeable unset($input['tracking']); unset($input['tracking_link']); From bba2f6e56faddf36daaf7d748ec01f16fa1de971 Mon Sep 17 00:00:00 2001 From: OpenXE <> Date: Thu, 6 Jun 2024 14:14:39 +0200 Subject: [PATCH 06/15] bugfix auftrag versanduebergabe minidetail --- www/pages/auftrag.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/www/pages/auftrag.php b/www/pages/auftrag.php index 3a94d439..8d61edde 100644 --- a/www/pages/auftrag.php +++ b/www/pages/auftrag.php @@ -665,7 +665,7 @@ class Auftrag extends GenAuftrag $menu .= ""; $moreinfo = true; // Minidetail active - $menucol = 11; // For minidetail + $menucol = 13; // For minidetail break; case 'auftraegeoffeneautowartend': From 4f8e5958ef2dadbbf7386d6b197b736410416391 Mon Sep 17 00:00:00 2001 From: OpenXE <> Date: Thu, 6 Jun 2024 15:30:49 +0200 Subject: [PATCH 07/15] Paketmarke bugfix versandart send no email --- www/lib/class.versanddienstleister.php | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/www/lib/class.versanddienstleister.php b/www/lib/class.versanddienstleister.php index 1cd85bd8..c0fc16a6 100644 --- a/www/lib/class.versanddienstleister.php +++ b/www/lib/class.versanddienstleister.php @@ -18,7 +18,7 @@ abstract class Versanddienstleister protected int $projectId; protected ?int $labelPrinterId; protected ?int $documentPrinterId; - protected bool $shippingMail; + protected int $shippingMail; protected ?int $businessLetterTemplateId; protected ?object $settings; @@ -453,6 +453,17 @@ abstract class Versanddienstleister $countries = Array(); $this->app->Tpl->addMessage('error', 'Länderliste ist leer. Siehe Einstellungen -> Länderliste.', false, 'PAGE'); } + + switch ($this->shippingMail) { + case -1: + $address['email'] = ''; + break; + case 1: + // User text template (not implemented) + break; + default: + break; + } $json['form'] = $address; $json['countries'] = $countries; @@ -469,6 +480,7 @@ abstract class Versanddienstleister $json['form']['services'] = [ Product::SERVICE_PREMIUM => false ]; + $this->app->Tpl->Set('JSON', json_encode($json)); $this->app->Tpl->Set('CARRIERNAME', $this->GetName()); $this->app->Tpl->Parse($target, 'createshipment.tpl'); From d01e37d15c9c319cff956b6bfbff00f1d5906abf Mon Sep 17 00:00:00 2001 From: OpenXE <> Date: Fri, 7 Jun 2024 17:59:17 +0200 Subject: [PATCH 08/15] Kommissionierung removed background --- www/pages/auftrag.php | 7 ++++--- www/pages/kommissionierung.php | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/www/pages/auftrag.php b/www/pages/auftrag.php index 8d61edde..2153f982 100644 --- a/www/pages/auftrag.php +++ b/www/pages/auftrag.php @@ -6563,7 +6563,8 @@ Die Gesamtsumme stimmt nicht mehr mit ursprünglich festgelegten Betrag '. simulieren: true ); - $druckercode = $this->app->erp->Firmendaten('standardversanddrucker'); + $projekt = $this->app->DB->Select("SELECT projekt FROM auftrag WHERE id='$v' LIMIT 1"); + $druckercode = $this->app->erp->Projektdaten($projekt,'druckerlogistikstufe1'); $settings = $this->app->DB->SelectRow(" SELECT @@ -7350,12 +7351,12 @@ Die Gesamtsumme stimmt nicht mehr mit ursprünglich festgelegten Betrag '. // Kommissionierschein if ($mengedruck > 0) { + $this->app->erp->BriefpapierHintergrunddisable = true; // Disable background $Brief = new KommissionierungPDF($this->app, styleData: array('ohne_steuer' => true, 'artikeleinheit' => false, 'abstand_boxrechtsoben' => -70, 'abstand_artikeltabelleoben' => -70, 'abstand_betreffzeileoben' => -70, 'preise_ausblenden' => true)); $Brief->GetKommissionierung($kommissionierung); $tmpfile = $Brief->displayTMP(); - $this->app->erp->BriefpapierHintergrunddisable = true; // Disable background for($drucklauf = 0; $drucklauf < $mengedruck;$drucklauf++) { - $this->app->printer->Drucken($druckercode, $tmpfile); + $spooler_id = $this->app->printer->Drucken($druckercode, $tmpfile); } unlink($tmpfile); $this->app->erp->BriefpapierHintergrundDisable($druckercode); // Restore default background from printersettings diff --git a/www/pages/kommissionierung.php b/www/pages/kommissionierung.php index 22ffb526..f9146799 100644 --- a/www/pages/kommissionierung.php +++ b/www/pages/kommissionierung.php @@ -226,7 +226,7 @@ class Kommissionierung { public function kommissionierung_print() { $id = $this->app->Secure->GetGET('id'); - $Brief = new KommissionierungPDF($this->app, styleData: array('ohne_steuer' => true, 'artikeleinheit' => false, 'abstand_boxrechtsoben' => -70, 'abstand_artikeltabelleoben' => -70, 'abstand_betreffzeileoben' => -70, 'preise_ausblenden' => true)); + $Brief = new KommissionierungPDF($this->app, styleData: array('ohne_steuer' => true, 'artikeleinheit' => false, 'abstand_boxrechtsoben' => -70, 'abstand_artikeltabelleoben' => -70, 'abstand_betreffzeileoben' => -70, 'preise_ausblenden' => true, 'hintergrund' => 'none')); $Brief->GetKommissionierung($id); $Brief->displayDocument(false); exit(); From e3ffa8c1b84f911bddf91cad762188ba9fbf28a0 Mon Sep 17 00:00:00 2001 From: OpenXE <> Date: Mon, 10 Jun 2024 14:57:28 +0200 Subject: [PATCH 09/15] Bugfix autoversand lieferscheinauslagern --- www/pages/auftrag.php | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/www/pages/auftrag.php b/www/pages/auftrag.php index 2153f982..d0e914fe 100644 --- a/www/pages/auftrag.php +++ b/www/pages/auftrag.php @@ -5778,10 +5778,21 @@ Die Gesamtsumme stimmt nicht mehr mit ursprünglich festgelegten Betrag '. if($kommissionierverfahren==='lieferschein' && $lieferschein > 0) { //FALL 1 Lieferschein mit Lagerplatz + + $auslagernresult = + $this->app->erp->LieferscheinAuslagern( + $lieferschein, + true, + (int)$this->app->DB->Select(sprintf('SELECT standardlager FROM auftrag WHERE id = %d LIMIT 1', $id)), + 'lieferschein', + true, + false, + $nurRestmenge + ); $sql = "SELECT id FROM kommissionierung k WHERE k.auftrag = '".$id."'"; $vorkommissionierung = $this->app->DB->Select($sql); - + if (!$vorkommissionierung) { $kommissionierung = $this->app->erp->GetNextKommissionierung(); @@ -5789,17 +5800,6 @@ Die Gesamtsumme stimmt nicht mehr mit ursprünglich festgelegten Betrag '. $druckercode = $this->app->erp->Projektdaten($projekt,'druckerlogistikstufe1'); $etikettendrucker = $this->app->erp->Projektdaten($projekt,'etiketten_drucker'); - $auslagernresult = - $this->app->erp->LieferscheinAuslagern( - $lieferschein, - true, - (int)$this->app->DB->Select(sprintf('SELECT standardlager FROM auftrag WHERE id = %d LIMIT 1', $id)), - 'lieferschein', - true, - false, - $nurRestmenge - ); - $sql = "SELECT etikett, etikettautodruck FROM adresse WHERE id =".$adresse; $settings = $this->app->DB->SelectRow($sql); From 69f06d5a1d533ea80ae8efa04f5c13f8aea98ac7 Mon Sep 17 00:00:00 2001 From: OpenXE <> Date: Mon, 10 Jun 2024 17:44:23 +0200 Subject: [PATCH 10/15] module creator added some conversions --- tools/module_creator/module_creator_php_template.txt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tools/module_creator/module_creator_php_template.txt b/tools/module_creator/module_creator_php_template.txt index 1760582f..e0806214 100644 --- a/tools/module_creator/module_creator_php_template.txt +++ b/tools/module_creator/module_creator_php_template.txt @@ -110,6 +110,10 @@ class PLACEHOLDER_MODULECLASSNAME { $this->app->erp->MenuEintrag("index.php?module=PLACEHOLDER_MODULENAME&action=list", "Zurück zur Übersicht"); $id = $this->app->Secure->GetGET('id'); $input = $this->GetInput(); + + // Convert here + // $input['prio'] = !empty($this->app->Secure->GetPOST('prio'))?"1":"0"; + $submit = $this->app->Secure->GetPOST('submit'); if (empty($id)) { @@ -185,6 +189,8 @@ class PLACEHOLDER_MODULECLASSNAME { $this->app->Tpl->Add('ANGEZEIGTERNAME', $angezeigtername); $this->app->YUI->AutoComplete("artikel", "artikelnummer"); + $this->app->Tpl->Set('PROJEKT',$this->app->erp->ReplaceProjekt(false,$PLACEHOLDER_MODULENAME_from_db['projekt'],false)); + $this->app->Tpl->Set('PRIO', $PLACEHOLDER_MODULENAME_from_db['prio']==1?"checked":""); */ From 2327ffdf811d3f930d0bafb160bfc8ecc43e57fc Mon Sep 17 00:00:00 2001 From: OpenXE <> Date: Fri, 14 Jun 2024 13:20:19 +0200 Subject: [PATCH 11/15] Bugfix shopimport escaping --- www/pages/shopimport.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/www/pages/shopimport.php b/www/pages/shopimport.php index 0a1112d1..e093318d 100644 --- a/www/pages/shopimport.php +++ b/www/pages/shopimport.php @@ -1881,10 +1881,10 @@ class Shopimport { if($warenkorb['email']!=='amazon_import_bounce@nfxmedia.de') { - $checkidemail = $this->app->DB->Select("SELECT kundennummer FROM adresse WHERE email='".$warenkorb['email']."' and email <> '' $adresseprojekt AND geloescht!=1 AND kundennummer <> '' LIMIT 1"); + $checkidemail = $this->app->DB->Select("SELECT kundennummer FROM adresse WHERE email='".$this->app->DB->real_escape_string($warenkorb['email'])."' and email <> '' $adresseprojekt AND geloescht!=1 AND kundennummer <> '' LIMIT 1"); } if((String)$checkidemail === ''){ - $checkidemail = $this->app->DB->Select("SELECT kundennummer FROM adresse WHERE name LIKE '" . $warenkorb['name'] . "' AND ort LIKE '" . $warenkorb['ort'] . "' AND geloescht!=1 $adresseprojekt AND kundennummer <> '' LIMIT 1"); + $checkidemail = $this->app->DB->Select("SELECT kundennummer FROM adresse WHERE name LIKE '" . $this->app->DB->real_escape_string($warenkorb['name']) . "' AND ort LIKE '" . $this->app->DB->real_escape_string($warenkorb['ort']) . "' AND geloescht!=1 $adresseprojekt AND kundennummer <> '' LIMIT 1"); } }else{ $checkidemail = $this->app->DB->Select("SELECT kundennummer FROM adresse WHERE name='".$this->app->DB->real_escape_string($warenkorb['name'])."' AND strasse='".$this->app->DB->real_escape_string($warenkorb['strasse'])."' AND plz='".$this->app->DB->real_escape_string($warenkorb['plz'])."' AND ort='".$this->app->DB->real_escape_string($warenkorb['ort'])."' $adresseprojekt AND geloescht!=1 AND kundennummer <> '' LIMIT 1"); From 4bbafdf5cbf7bd75f271249735bd69c99d93e80c Mon Sep 17 00:00:00 2001 From: OpenXE <> Date: Mon, 17 Jun 2024 14:57:36 +0200 Subject: [PATCH 12/15] Onlineshops Smarty bugfix XML --- www/pages/onlineshops.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/www/pages/onlineshops.php b/www/pages/onlineshops.php index a1eea6e4..9cfda337 100644 --- a/www/pages/onlineshops.php +++ b/www/pages/onlineshops.php @@ -4739,7 +4739,7 @@ INNER JOIN shopexport s ON } $this->arrayToXmlHelper($subNode, $value, $nameSpaces,$subNodeName); } - } else { + } else if (gettype($value) == 'string') { $subNode = $xmlObj->addChild((string)$subNodeName, htmlspecialchars($value, ENT_QUOTES), $nameSpace); if(!empty($attributes)) { foreach($attributes as $attribute) { From e94894bad618dc15eb18cc695acc7f1bf7ea5a4d Mon Sep 17 00:00:00 2001 From: OpenXE <> Date: Tue, 25 Jun 2024 11:34:17 +0200 Subject: [PATCH 13/15] verbindlichkeit preis 10 decimal places --- upgrade/data/db_schema.json | 2 +- www/pages/content/verbindlichkeit_position_edit.tpl | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/upgrade/data/db_schema.json b/upgrade/data/db_schema.json index 8fc821b2..e6a0f50d 100644 --- a/upgrade/data/db_schema.json +++ b/upgrade/data/db_schema.json @@ -112329,7 +112329,7 @@ }, { "Field": "preis", - "Type": "decimal(14,5)", + "Type": "decimal(14,10)", "Collation": null, "Null": "NO", "Key": "", diff --git a/www/pages/content/verbindlichkeit_position_edit.tpl b/www/pages/content/verbindlichkeit_position_edit.tpl index 5f77492a..6e22924b 100644 --- a/www/pages/content/verbindlichkeit_position_edit.tpl +++ b/www/pages/content/verbindlichkeit_position_edit.tpl @@ -32,7 +32,7 @@ {|Preis|}: - + From 9d3d5227f84758e1889746ad9b7ef7969fbcb206 Mon Sep 17 00:00:00 2001 From: OpenXE <> Date: Thu, 4 Jul 2024 18:33:36 +0200 Subject: [PATCH 14/15] lieferbedingungen --- www/pages/content/lieferbedingungen_edit.tpl | 103 +++++++++ www/pages/content/lieferbedingungen_list.tpl | 10 + www/pages/lieferbedingungen.php | 213 +++++++++++++++++++ 3 files changed, 326 insertions(+) create mode 100644 www/pages/content/lieferbedingungen_edit.tpl create mode 100644 www/pages/content/lieferbedingungen_list.tpl create mode 100644 www/pages/lieferbedingungen.php diff --git a/www/pages/content/lieferbedingungen_edit.tpl b/www/pages/content/lieferbedingungen_edit.tpl new file mode 100644 index 00000000..d9c02845 --- /dev/null +++ b/www/pages/content/lieferbedingungen_edit.tpl @@ -0,0 +1,103 @@ +
+
    +
  • +
+ +
+ [MESSAGE] +
+ [FORMHANDLEREVENT] +
+
+
+
+
+ {|lieferbedingungen|} + + + + + + + + + + +
+ {|Lieferbedingungen|}: + + +
+ {|Kennzeichen|}: + + +
+
+
+
+
+
+ + +
+
+ +
+ diff --git a/www/pages/content/lieferbedingungen_list.tpl b/www/pages/content/lieferbedingungen_list.tpl new file mode 100644 index 00000000..394c103a --- /dev/null +++ b/www/pages/content/lieferbedingungen_list.tpl @@ -0,0 +1,10 @@ +
+ +
+ [MESSAGE] + [TAB1] + [TAB1NEXT] +
+
diff --git a/www/pages/lieferbedingungen.php b/www/pages/lieferbedingungen.php new file mode 100644 index 00000000..ae8d3c70 --- /dev/null +++ b/www/pages/lieferbedingungen.php @@ -0,0 +1,213 @@ +app = $app; + if ($intern) + return; + + $this->app->ActionHandlerInit($this); + $this->app->ActionHandler("list", "lieferbedingungen_list"); + $this->app->ActionHandler("create", "lieferbedingungen_edit"); // This automatically adds a "New" button + $this->app->ActionHandler("edit", "lieferbedingungen_edit"); + $this->app->ActionHandler("delete", "lieferbedingungen_delete"); + $this->app->DefaultActionHandler("list"); + $this->app->ActionHandlerListen($app); + } + + public function Install() { + /* Fill out manually later */ + } + + static function TableSearch(&$app, $name, $erlaubtevars) { + switch ($name) { + case "lieferbedingungen_list": + $allowed['lieferbedingungen_list'] = array('list'); + $heading = array('','','Lieferbedingungen', 'Kennzeichen', 'Menü'); + $width = array('1%','1%','10%'); // Fill out manually later + + // columns that are aligned right (numbers etc) + // $alignright = array(4,5,6,7,8); + + $findcols = array('l.id','l.id','l.lieferbedingungen', 'l.kennzeichen'); + $searchsql = array('l.lieferbedingungen', 'l.kennzeichen'); + + $defaultorder = 1; + $defaultorderdesc = 0; + $aligncenter = array(); + $alignright = array(); + $numbercols = array(); + $sumcol = array(); + + $dropnbox = "'' AS `open`, CONCAT('') AS `auswahl`"; + +// $moreinfo = true; // Allow drop down details +// $moreinfoaction = "lieferschein"; // specify suffix for minidetail-URL to allow different minidetails +// $menucol = 11; // Set id col for moredata/menu + + $menu = "
" . "Conf->WFconf['defaulttheme']}/images/edit.svg\" border=\"0\"> " . "Conf->WFconf['defaulttheme']}/images/delete.svg\" border=\"0\">" . "
"; + + $sql = "SELECT SQL_CALC_FOUND_ROWS l.id, $dropnbox, l.lieferbedingungen, l.kennzeichen, l.id FROM lieferbedingungen l"; + + $where = "1"; + $count = "SELECT count(DISTINCT id) FROM lieferbedingungen WHERE $where"; +// $groupby = ""; + + break; + } + + $erg = false; + + foreach ($erlaubtevars as $k => $v) { + if (isset($$v)) { + $erg[$v] = $$v; + } + } + return $erg; + } + + function lieferbedingungen_list() { + $this->app->erp->MenuEintrag("index.php?module=lieferbedingungen&action=list", "Übersicht"); + $this->app->erp->MenuEintrag("index.php?module=lieferbedingungen&action=create", "Neu anlegen"); + + $this->app->erp->MenuEintrag("index.php", "Zurück"); + + $this->app->YUI->TableSearch('TAB1', 'lieferbedingungen_list', "show", "", "", basename(__FILE__), __CLASS__); + $this->app->Tpl->Parse('PAGE', "lieferbedingungen_list.tpl"); + } + + public function lieferbedingungen_delete() { + $id = (int) $this->app->Secure->GetGET('id'); + $this->app->DB->Delete("DELETE FROM `lieferbedingungen` WHERE `id` = '{$id}'"); + $this->app->Tpl->addMessage('error', 'Der Eintrag wurde gelöscht'); + $this->lieferbedingungen_list(); + } + + /* + * Edit lieferbedingungen item + * If id is empty, create a new one + */ + + function lieferbedingungen_edit() { + $id = $this->app->Secure->GetGET('id'); + +/* // Check if other users are editing this id + if($this->app->erp->DisableModul('lieferbedingungen',$id)) + { + return; + } */ + + $this->app->Tpl->Set('ID', $id); + + $this->app->erp->MenuEintrag("index.php?module=lieferbedingungen&action=edit&id=$id", "Details"); + $this->app->erp->MenuEintrag("index.php?module=lieferbedingungen&action=list", "Zurück zur Übersicht"); + $id = $this->app->Secure->GetGET('id'); + $input = $this->GetInput(); + + // Convert here + // $input['prio'] = !empty($this->app->Secure->GetPOST('prio'))?"1":"0"; + + $submit = $this->app->Secure->GetPOST('submit'); + + if (empty($id)) { + // New item + $id = 'NULL'; + } + + if ($submit != '') + { + + // Write to database + + // Add checks here + + // $input['projekt'] = $this->app->erp->ReplaceProjekt(true,$input['projekt'],true); // Parameters: Target db?, value, from form? + + $columns = "id, "; + $values = "$id, "; + $update = ""; + + $fix = ""; + + foreach ($input as $key => $value) { + $columns = $columns.$fix.$key; + $values = $values.$fix."'".$value."'"; + $update = $update.$fix.$key." = '$value'"; + + $fix = ", "; + } + +// echo($columns."
"); +// echo($values."
"); +// echo($update."
"); + + $sql = "INSERT INTO lieferbedingungen (".$columns.") VALUES (".$values.") ON DUPLICATE KEY UPDATE ".$update; + +// echo($sql); + + $this->app->DB->Update($sql); + + if ($id == 'NULL') { + $msg = $this->app->erp->base64_url_encode("
Das Element wurde erfolgreich angelegt.
"); + header("Location: index.php?module=lieferbedingungen&action=list&msg=$msg"); + } else { + $this->app->Tpl->addMessage('success', 'Die Einstellungen wurden erfolgreich übernommen.'); + } + } + + + // Load values again from database + if ($id != 'NULL') { + + $dropnbox = "'' AS `open`, CONCAT('') AS `auswahl`"; + $result = $this->app->DB->SelectArr("SELECT SQL_CALC_FOUND_ROWS l.id, $dropnbox, l.lieferbedingungen, l.kennzeichen, l.id FROM lieferbedingungen l"." WHERE id=$id"); + + foreach ($result[0] as $key => $value) { + $this->app->Tpl->Set(strtoupper($key), $value); + } + + if (!empty($result)) { + $lieferbedingungen_from_db = $result[0]; + } else { + return; + } + } + + /* + * Add displayed items later + * + + $this->app->Tpl->Add('KURZUEBERSCHRIFT2', $email); + $this->app->Tpl->Add('EMAIL', $email); + $this->app->Tpl->Add('ANGEZEIGTERNAME', $angezeigtername); + + $this->app->YUI->AutoComplete("artikel", "artikelnummer"); + $this->app->Tpl->Set('PROJEKT',$this->app->erp->ReplaceProjekt(false,$lieferbedingungen_from_db['projekt'],false)); + $this->app->Tpl->Set('PRIO', $lieferbedingungen_from_db['prio']==1?"checked":""); + + */ + + $this->app->Tpl->Parse('PAGE', "lieferbedingungen_edit.tpl"); + } + + /** + * Get all paramters from html form and save into $input + */ + public function GetInput(): array { + $input = array(); + //$input['EMAIL'] = $this->app->Secure->GetPOST('email'); + + $input['lieferbedingungen'] = $this->app->Secure->GetPOST('lieferbedingungen'); + $input['kennzeichen'] = $this->app->Secure->GetPOST('kennzeichen'); + + + return $input; + } + } From 439edc93e9e3a26f3cb7956732e1ffbf2f9bb61c Mon Sep 17 00:00:00 2001 From: OpenXE <> Date: Mon, 8 Jul 2024 19:30:51 +0200 Subject: [PATCH 15/15] bugfix angebot abweichendelieferadresse --- www/lib/class.erpapi.php | 34 ++++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/www/lib/class.erpapi.php b/www/lib/class.erpapi.php index b855b0f3..d1e88e54 100644 --- a/www/lib/class.erpapi.php +++ b/www/lib/class.erpapi.php @@ -4247,7 +4247,6 @@ title: 'Abschicken', $result = $this->app->DB->SelectArr("SELECT * FROM $type WHERE id='$id' LIMIT 1"); $waehrung = $result[0]['waehrung']; - $text = str_replace('{BELEGART}',ucfirst($type),$text); $text = str_replace('{FIRMA}',$this->Firmendaten("name"),$text); @@ -4302,20 +4301,24 @@ title: 'Abschicken', if($type!=='auftrag' && $type!=='bestellung' && $type!=='retoure') { $auftragArr = $this->app->DB->SelectRow("SELECT a.*, DATE_FORMAT(datum,'%d.%m.%Y') as datum_de FROM auftrag AS a WHERE id='".$result[0]['auftragid']."' LIMIT 1"); - $result[0]['internet'] = $auftragArr['internet']; - $result[0]['abweichendelieferadresse']=$auftragArr['abweichendelieferadresse']; - $result[0]['liefername']=$auftragArr['liefername']; - $result[0]['lieferabteilung']=$auftragArr['lieferabteilung']; - $result[0]['lieferunterabteilung']=$auftragArr['lieferunterabteilung']; - $result[0]['lieferadresszusatz']=$auftragArr['lieferadresszusatz']; - $result[0]['liefertitel']=$auftragArr['liefertitel']; - $result[0]['lieferansprechpartner']=$auftragArr['lieferansprechpartner']; - $result[0]['lieferstrasse']=$auftragArr['lieferstrasse']; - $result[0]['lieferplz']=$auftragArr['lieferplz']; - $result[0]['lieferland']=$auftragArr['lieferland']; - $result[0]['lieferort'] = $auftragArr['lieferort']; - $result[0]['liefergln'] = $auftragArr['liefergln']; - $result[0]['lieferemail'] = $auftragArr['lieferemail']; + + if (!empty($auftragArr)) { + + $result[0]['internet'] = $auftragArr['internet']; + $result[0]['abweichendelieferadresse']=$auftragArr['abweichendelieferadresse']; + $result[0]['liefername']=$auftragArr['liefername']; + $result[0]['lieferabteilung']=$auftragArr['lieferabteilung']; + $result[0]['lieferunterabteilung']=$auftragArr['lieferunterabteilung']; + $result[0]['lieferadresszusatz']=$auftragArr['lieferadresszusatz']; + $result[0]['liefertitel']=$auftragArr['liefertitel']; + $result[0]['lieferansprechpartner']=$auftragArr['lieferansprechpartner']; + $result[0]['lieferstrasse']=$auftragArr['lieferstrasse']; + $result[0]['lieferplz']=$auftragArr['lieferplz']; + $result[0]['lieferland']=$auftragArr['lieferland']; + $result[0]['lieferort'] = $auftragArr['lieferort']; + $result[0]['liefergln'] = $auftragArr['liefergln']; + $result[0]['lieferemail'] = $auftragArr['lieferemail']; + } } if($type=="angebot" || $type=="auftrag") @@ -4860,7 +4863,6 @@ title: 'Abschicken', } } } - if($result[0]['abweichendelieferadresse']=="1") { $liefertext ="";