From 5e6b4ebbae38c698fa2536817d663e6e1d574d8a Mon Sep 17 00:00:00 2001 From: Paul Date: Tue, 28 Mar 2023 12:18:58 -0500 Subject: [PATCH 01/55] hotfixes 03/28/2023 FIX: add breadcrumbs FIX: use Sanitizer::string to allow spaces in key fields FIX: use Sanitizer::string for key fields FIX: include file upcx FIX: use Sanitizer::string FIX: use Sanitizer::string FIX: remove response FIX: only show response if there is an error FIX: use Sanitizer::string for custitemiID FIX: use page::searchLookupUrl() FIX: only show response if error FEAT: set headline FIX: hide default breadcrumbs Create bread-crumbs.twig Update search.twig FIX: use Sanitizer::string Update Upcx.php Update XrefUpc.module Update Itmimg.php --- site/modules/Dplus/Itm/Itm.module | 6 +-- site/modules/Dplus/Itm/ItmCosting.module | 4 +- site/modules/Dplus/Itm/ItmHazmat.module | 2 +- site/modules/Dplus/Itm/ItmPricing.module | 8 ++-- site/modules/Dplus/Itm/ItmWarehouse.module | 4 +- site/modules/Dplus/Itm/ItmXrefs.module | 6 +-- site/modules/Dplus/Itm/src/Dimensions.php | 10 ++--- site/modules/Dplus/Itm/src/Options/Codes.php | 22 +++++------ site/modules/Dplus/Itm/src/Options/Qnotes.php | 6 +-- site/modules/Dplus/Itm/src/Substitutes.php | 14 +++---- .../Dplus/Min/src/Inmain/Addm/Addm.php | 10 ++--- site/modules/Dplus/Min/src/Inmain/I2i/I2i.php | 10 ++--- site/modules/Dplus/Min/src/Inmain/Itmimg.php | 4 +- site/modules/Dplus/Xrefs/XrefUpc.module | 18 ++++----- site/modules/Dplus/Xrefs/XrefVxm.module | 14 +++---- .../controllers/classes/ajax/json/Min.php | 32 +++++++-------- .../controllers/classes/ajax/json/Mki.php | 8 ++-- .../controllers/classes/map/apmain/Mxrfe.php | 4 +- .../controllers/classes/map/apmain/Vxm.php | 6 +-- .../controllers/classes/min/inmain/Addm.php | 6 +-- .../controllers/classes/min/inmain/I2i.php | 6 +-- .../controllers/classes/min/inmain/Upcx.php | 25 ++++++++++-- .../classes/min/itm/xrefs/Addm.php | 6 +-- .../controllers/classes/min/itm/xrefs/Bom.php | 6 +-- .../controllers/classes/min/itm/xrefs/Cxm.php | 6 +-- .../controllers/classes/min/itm/xrefs/Kim.php | 6 +-- .../classes/min/itm/xrefs/Mxrfe.php | 14 ++++--- .../classes/min/itm/xrefs/Substitutes.php | 4 +- .../classes/min/itm/xrefs/Upcx.php | 39 ++++++++++++++++--- .../controllers/classes/min/itm/xrefs/Vxm.php | 16 ++++---- .../classes/min/itm/xrefs/Xrefs.php | 4 +- .../templates/controllers/classes/mki/Kim.php | 6 ++- .../classes/mso/SalesOrder/SalesOrder.php | 1 + .../controllers/classes/mso/Somain/Cxm.php | 6 +-- .../controllers/classes/mvi/vi/Costing.php | 6 +-- .../controllers/classes/mvi/vi/Vi.php | 1 + .../templates/AbstractMenuController.php | 1 + site/templates/twig/items/upcx/form/js.twig | 2 +- site/templates/twig/items/upcx/form/page.twig | 6 ++- site/templates/twig/items/upcx/list/page.twig | 5 ++- .../twig/mki/kim/kit/component/form.twig | 2 +- .../templates/twig/msa/noce/bread-crumbs.twig | 30 ++++++++++++++ .../twig/vendors/vi/costing/search.twig | 4 ++ 43 files changed, 243 insertions(+), 153 deletions(-) create mode 100644 site/templates/twig/msa/noce/bread-crumbs.twig diff --git a/site/modules/Dplus/Itm/Itm.module b/site/modules/Dplus/Itm/Itm.module index 5ad4302cd..0f35a15b9 100644 --- a/site/modules/Dplus/Itm/Itm.module +++ b/site/modules/Dplus/Itm/Itm.module @@ -247,7 +247,7 @@ class Itm extends WireData implements Module { $this->inputUpdate($input); break; default: - $itemID = $values->text('itemID'); + $itemID = $values->string('itemID'); $message = self::DESCRIPTION_RECORD . " ($itemID) was not saved, no action was specified"; $response = ItmResponse::response_error($itemID, $message); $this->wire('session')->setFor('response', 'itm', $response); @@ -263,7 +263,7 @@ class Itm extends WireData implements Module { private function inputDelete(WireInput $input) { $rm = strtolower($input->requestMethod()); $values = $input->$rm; - $itemID = $values->text('itemID'); + $itemID = $values->string('itemID'); if ($this->exists($itemID) === false) { return true; @@ -298,7 +298,7 @@ class Itm extends WireData implements Module { $values = $input->$rm; $configIn = $this->configIn(); - $itemID = $configIn->useUppercaseItemid() ? strtoupper($values->text('itemID')) : $values->text('itemID'); + $itemID = $configIn->useUppercaseItemid() ? strtoupper($values->string('itemID')) : $values->string('itemID'); $record = $this->getCreateItem($itemID); $invalidfields = array(); diff --git a/site/modules/Dplus/Itm/ItmCosting.module b/site/modules/Dplus/Itm/ItmCosting.module index ad28d6872..72823dd7f 100644 --- a/site/modules/Dplus/Itm/ItmCosting.module +++ b/site/modules/Dplus/Itm/ItmCosting.module @@ -107,7 +107,7 @@ class ItmCosting extends WireData implements Module { public function processInput(WireInput $input) { $rm = strtolower($input->requestMethod()); $values = $input->$rm; - $itemID = $values->text('itemID'); + $itemID = $values->string('itemID'); switch ($values->action) { case 'update-itm-costing': @@ -128,7 +128,7 @@ class ItmCosting extends WireData implements Module { private function inputUpdate(WireInput $input) { $rm = strtolower($input->requestMethod()); $values = $input->$rm; - $itemID = $values->text('itemID'); + $itemID = $values->string('itemID'); $itm = $this->wire('modules')->get('Itm'); if ($itm->exists($itemID) === false) { diff --git a/site/modules/Dplus/Itm/ItmHazmat.module b/site/modules/Dplus/Itm/ItmHazmat.module index 3c37fc095..58aa6fa1c 100644 --- a/site/modules/Dplus/Itm/ItmHazmat.module +++ b/site/modules/Dplus/Itm/ItmHazmat.module @@ -175,7 +175,7 @@ class ItmHazmat extends WireData implements Module { $rm = strtolower($input->requestMethod()); $values = $input->$rm; $itm = $this->wire('modules')->get('Itm'); - $itemID = $itm->itemid($values->text('itemID')); + $itemID = $itm->itemid($values->string('itemID')); if ($itm->exists($itemID) === false) { $this->setResponse(ItmResponse::response_error($itemID, "$itemID does not exist")); diff --git a/site/modules/Dplus/Itm/ItmPricing.module b/site/modules/Dplus/Itm/ItmPricing.module index 73aef786b..a4b172ea6 100644 --- a/site/modules/Dplus/Itm/ItmPricing.module +++ b/site/modules/Dplus/Itm/ItmPricing.module @@ -129,7 +129,7 @@ class ItmPricing extends WireData implements Module { */ public function get_create_itempricing(WireInput $input) { $rm = strtolower($input->requestMethod()); - $itemID = $input->$rm->text('itemID'); + $itemID = $input->$rm->string('itemID'); if ($this->wire('modules')->get('Itm')->exists($itemID)) { return $this->get_pricing($itemID); @@ -167,7 +167,7 @@ class ItmPricing extends WireData implements Module { $itm = $this->wire('modules')->get('Itm'); $rm = strtolower($input->requestMethod()); $values = $input->$rm; - $itemID = $values->text('itemID'); + $itemID = $values->string('itemID'); switch ($values->text('action')) { case 'update-itm-pricing': @@ -190,7 +190,7 @@ class ItmPricing extends WireData implements Module { $itm = $this->wire('modules')->get('Itm'); $rm = strtolower($input->requestMethod()); $values = $input->$rm; - $itemID = $values->text('itemID'); + $itemID = $values->string('itemID'); if ($itm->exists($itemID) === false) { $response = ItmResponse::response_error($itemID, "No Item with ItemID $itemID exists"); @@ -251,7 +251,7 @@ class ItmPricing extends WireData implements Module { $values = $input->$rm; $itm = $this->wire('modules')->get('Itm'); - $itemID = $values->text('itemID'); + $itemID = $values->string('itemID'); $item = $itm->item($itemID); return $this->updateItmItem($item, $input); } diff --git a/site/modules/Dplus/Itm/ItmWarehouse.module b/site/modules/Dplus/Itm/ItmWarehouse.module index f9e68d1c2..67bfe3141 100644 --- a/site/modules/Dplus/Itm/ItmWarehouse.module +++ b/site/modules/Dplus/Itm/ItmWarehouse.module @@ -217,7 +217,7 @@ class ItmWarehouse extends WireData implements Module { public function input_delete(WireInput $input) { $rm = strtolower($input->requestMethod()); $values = $input->$rm; - $itemID = $values->text('itemID'); + $itemID = $values->string('itemID'); $whseID = $values->text('whseID'); if ($this->itemwarehouse_exists($itemID, $whseID)) { @@ -252,7 +252,7 @@ class ItmWarehouse extends WireData implements Module { $validate = new ItmwValidator(); $rm = strtolower($input->requestMethod()); $values = $input->$rm; - $itemID = $values->text('itemID'); + $itemID = $values->string('itemID'); $whseID = $values->text('whseID'); $record = $this->getOrCreate($itemID, $whseID); diff --git a/site/modules/Dplus/Itm/ItmXrefs.module b/site/modules/Dplus/Itm/ItmXrefs.module index cbf3cd39d..266ab225a 100644 --- a/site/modules/Dplus/Itm/ItmXrefs.module +++ b/site/modules/Dplus/Itm/ItmXrefs.module @@ -46,7 +46,7 @@ class ItmXrefs extends WireData implements Module { public function processInput(WireInput $input) { $rm = strtolower($input->requestMethod()); $values = $input->$rm; - $itemID = $values->text('itemID'); + $itemID = $values->string('itemID'); $itm = $this->wire('modules')->get('Itm'); if ($itm->exists($itemID) === false) { @@ -70,7 +70,7 @@ class ItmXrefs extends WireData implements Module { $itm = $this('modules')->get('Itm'); $rm = strtolower($input->requestMethod()); $values = $input->$rm; - $item = $itm->item($values->text('itemID')); + $item = $itm->item($values->string('itemID')); if ($item->isNew() === false) { $itm->lockrecord($item->itemid); @@ -136,7 +136,7 @@ class ItmXrefs extends WireData implements Module { $cxm = $this->wire('modules')->get('XrefCxm'); $rm = strtolower($input->requestMethod()); $values = $input->$rm; - $itemID = $values->text('itemID'); + $itemID = $values->string('itemID'); $shortitemID = $values->text('shortitemID'); // Delete record if blank diff --git a/site/modules/Dplus/Itm/src/Dimensions.php b/site/modules/Dplus/Itm/src/Dimensions.php index 28b6ec77c..9a2feb9f1 100644 --- a/site/modules/Dplus/Itm/src/Dimensions.php +++ b/site/modules/Dplus/Itm/src/Dimensions.php @@ -106,7 +106,7 @@ private function updateInput(WireInput $input) { $values = $input->$rm; $itm = $this->wire('modules')->get('Itm'); - $itemID = $values->text('itemID'); + $itemID = $values->string('itemID'); if ($itm->exists($itemID) === false) { return false; @@ -143,11 +143,11 @@ private function updateInputItm(WireInput $input) { $rm = strtolower($input->requestMethod()); $values = $input->$rm; - if ($this->validateAndLockItemid($values->text('itemID')) === false) { + if ($this->validateAndLockItemid($values->string('itemID')) === false) { return false; } $itm = $this->wire('modules')->get('Itm'); - $item = $itm->item($values->text('itemID')); + $item = $itm->item($values->string('itemID')); $item->setQty_pack_inner($values->float('innerpack')); $item->setQty_pack_outer($values->float('outerpack')); $item->setQty_tare($values->float('qtytare')); @@ -169,11 +169,11 @@ private function updateInputDimension(WireInput $input) { $rm = strtolower($input->requestMethod()); $values = $input->$rm; - if ($this->validateAndLockItemid($values->text('itemID')) === false) { + if ($this->validateAndLockItemid($values->string('itemID')) === false) { return false; } - $dim = $this->getOrCreateDimension($values->text('itemID')); + $dim = $this->getOrCreateDimension($values->string('itemID')); $dim->setLength($values->float('length')); $dim->setWidth($values->float('width')); $dim->setThickness($values->float('thickness')); diff --git a/site/modules/Dplus/Itm/src/Options/Codes.php b/site/modules/Dplus/Itm/src/Options/Codes.php index e81a42bd4..30ac14edb 100644 --- a/site/modules/Dplus/Itm/src/Options/Codes.php +++ b/site/modules/Dplus/Itm/src/Options/Codes.php @@ -154,7 +154,7 @@ private function updateInput(WireInput $input) { $values = $input->$rm; $itm = $this->wire('modules')->get('Itm'); - $itemID = $values->text('itemID'); + $itemID = $values->string('itemID'); if ($itm->exists($itemID) === false) { return false; @@ -174,9 +174,9 @@ private function updateInput(WireInput $input) { private function updateInputCode(WireInput $input) { $rm = strtolower($input->requestMethod()); $values = $input->$rm; - $itemID = $values->text('itemID'); - $sysop = $values->text('sysop'); - $code = $values->text('code'); + $itemID = $values->string('itemID'); + $sysop = $values->string('sysop'); + $code = $values->string('code'); $sysopM = $this->getSysop(); @@ -213,9 +213,9 @@ private function updateCodeUsingSysopRules(MsaSysopCode $sysOption, InvOptCode $ $input = $this->wire('input'); $rm = strtolower($input->requestMethod()); $values = $input->$rm; - $itemID = $values->text('itemID'); - $sysop = $values->text('sysop'); - $code = $values->text('code'); + $itemID = $values->string('itemID'); + $sysop = $values->string('sysop'); + $code = $values->string('code'); if ($sysOption->force() && $sysop == '') { $msg = "Sysop $sysop is Required"; @@ -260,7 +260,7 @@ private function deleteInput(WireInput $input) { $values = $input->$rm; $itm = $this->wire('modules')->get('Itm'); - $itemID = $values->text('itemID'); + $itemID = $values->string('itemID'); if ($itm->exists($itemID) === false) { return false; @@ -280,9 +280,9 @@ private function deleteInput(WireInput $input) { private function deleteInputCode(WireInput $input) { $rm = strtolower($input->requestMethod()); $values = $input->$rm; - $itemID = $values->text('itemID'); - $sysop = $values->text('sysop'); - $code = $values->text('code'); + $itemID = $values->string('itemID'); + $sysop = $values->string('sysop'); + $code = $values->string('code'); $sysopM = $this->getSysop(); diff --git a/site/modules/Dplus/Itm/src/Options/Qnotes.php b/site/modules/Dplus/Itm/src/Options/Qnotes.php index c2d2e1863..cec6fd5df 100644 --- a/site/modules/Dplus/Itm/src/Options/Qnotes.php +++ b/site/modules/Dplus/Itm/src/Options/Qnotes.php @@ -158,7 +158,7 @@ protected function _inputUpdate(WireInput $input) { return false; } - $itemID = $values->text('itemID'); + $itemID = $values->string('itemID'); if ($sysop->force() && empty($values->textarea('note'))) { $responseQnotes = Response::responseError("$sysop->notecode Notes are required"); @@ -186,7 +186,7 @@ protected function _inputUpdate(WireInput $input) { private function writeNotes(WireInput $input, MsaSysopCode $sysop) { $rm = strtolower($input->requestMethod()); $values = $input->$rm; - $itemID = $values->text('itemID'); + $itemID = $values->string('itemID'); $this->deleteNotes($itemID, $sysop->notecode); @@ -249,7 +249,7 @@ protected function _inputDelete(WireInput $input) { $rm = strtolower($input->requestMethod()); $values = $input->$rm; $sysopM = $this->getSysop(); - $itemID = $values->text('itemID'); + $itemID = $values->string('itemID'); $sysop = $sysopM->code(self::SYSTEM, $values->text('sysop')); if ($sysop->force()) { diff --git a/site/modules/Dplus/Itm/src/Substitutes.php b/site/modules/Dplus/Itm/src/Substitutes.php index d260a9a13..cf04c9453 100644 --- a/site/modules/Dplus/Itm/src/Substitutes.php +++ b/site/modules/Dplus/Itm/src/Substitutes.php @@ -177,7 +177,7 @@ private function inputDelete(WireInput $input) { $itm = $this->getItm(); $itm->init(); - $itemID = $itm->itemid($values->text('itemID')); + $itemID = $itm->itemid($values->string('itemID')); if ($itm->exists($itemID) === false) { return false; @@ -198,7 +198,7 @@ private function inputDeleteSub(WireInput $input) { $rm = strtolower($input->requestMethod()); $values = $input->$rm; - $itemID = $values->text('itemID'); + $itemID = $values->string('itemID'); $subitemID = $values->text('subitemID'); $sub = $this->getOrCreate($itemID, $subitemID); @@ -235,7 +235,7 @@ private function inputUpdate(WireInput $input) { $itm = $this->getItm(); $itm->init(); - $itemID = $itm->itemid($values->text('itemID')); + $itemID = $itm->itemid($values->string('itemID')); if ($itm->exists($itemID) === false) { return false; @@ -256,7 +256,7 @@ private function inputUpdateSub(WireInput $input) { $rm = strtolower($input->requestMethod()); $values = $input->$rm; - $itemID = $values->text('itemID'); + $itemID = $values->string('itemID'); $subitemID = $values->text('subitemID'); $sub = $this->getOrCreate($itemID, $subitemID); @@ -307,12 +307,12 @@ private function setSubFieldsValidated(ItemSubstitute $sub, WireInput $input) { $itm = $this->getItm(); if ($sub->isNew()) { - if ($itm->exists($values->text('itemID')) === false) { + if ($itm->exists($values->string('itemID')) === false) { $invalid['itemID'] = 'Item ID'; } - if ($itm->exists($values->text('itemID'))) { - $sub->setItemid($values->text('itemID')); + if ($itm->exists($values->string('itemID'))) { + $sub->setItemid($values->string('itemID')); } } diff --git a/site/modules/Dplus/Min/src/Inmain/Addm/Addm.php b/site/modules/Dplus/Min/src/Inmain/Addm/Addm.php index 66b30f402..35e826002 100644 --- a/site/modules/Dplus/Min/src/Inmain/Addm/Addm.php +++ b/site/modules/Dplus/Min/src/Inmain/Addm/Addm.php @@ -206,7 +206,7 @@ public function processInput(WireInput $input) { return $this->inputUpdate($input); break; default: - $key = implode('-', [$values->text('itemID'), $values->text('addonID')]); + $key = implode('-', [$values->string('itemID'), $values->string('addonID')]); $message = self::DESCRIPTION_RECORD . " ($key) was not saved, no action was specified"; $this->setResponse(Response::responseError($key, $message)); return false; @@ -222,8 +222,8 @@ public function processInput(WireInput $input) { public function inputUpdate(WireInput $input) { $rm = strtolower($input->requestMethod()); $values = $input->$rm; - $itemID = $values->text('itemID'); - $addonID = $values->text('addonID'); + $itemID = $values->string('itemID'); + $addonID = $values->string('addonID'); $xref = $this->getOrCreate($itemID, $addonID); if ($this->lockrecord($xref) === false && $xref->isNew() === false) { @@ -255,8 +255,8 @@ public function inputUpdate(WireInput $input) { protected function inputDelete(WireInput $input) { $rm = strtolower($input->requestMethod()); $values = $input->$rm; - $itemID = $values->text('itemID'); - $addonID = $values->text('addonID'); + $itemID = $values->string('itemID'); + $addonID = $values->string('addonID'); if ($this->exists($itemID, $addonID)) { $xref = $this->xref($itemID, $addonID); diff --git a/site/modules/Dplus/Min/src/Inmain/I2i/I2i.php b/site/modules/Dplus/Min/src/Inmain/I2i/I2i.php index 74fd81678..ab2e11d0d 100644 --- a/site/modules/Dplus/Min/src/Inmain/I2i/I2i.php +++ b/site/modules/Dplus/Min/src/Inmain/I2i/I2i.php @@ -210,7 +210,7 @@ public function processInput(WireInput $input) { return $this->inputUpdate($input); break; default: - $key = implode('-', [$values->text('parentID'), $values->text('childID')]); + $key = implode('-', [$values->string('parentID'), $values->string('childID')]); $message = self::DESCRIPTION_RECORD . " ($key) was not saved, no action was specified"; $this->setResponse(Response::responseError($key, $message)); return false; @@ -226,8 +226,8 @@ public function processInput(WireInput $input) { public function inputUpdate(WireInput $input) { $rm = strtolower($input->requestMethod()); $values = $input->$rm; - $parentID = $values->text('parentID'); - $childID = $values->text('childID'); + $parentID = $values->string('parentID'); + $childID = $values->string('childID'); $xref = $this->getOrCreate($parentID, $childID); if ($this->lockrecord($xref) === false && $xref->isNew() === false) { @@ -249,8 +249,8 @@ public function inputUpdate(WireInput $input) { protected function inputDelete(WireInput $input) { $rm = strtolower($input->requestMethod()); $values = $input->$rm; - $parentID = $values->text('parentID'); - $childID = $values->text('childID'); + $parentID = $values->string('parentID'); + $childID = $values->string('childID'); if ($this->exists($parentID, $childID)) { $xref = $this->xref($parentID, $childID); diff --git a/site/modules/Dplus/Min/src/Inmain/Itmimg.php b/site/modules/Dplus/Min/src/Inmain/Itmimg.php index 43b047fce..313492e71 100644 --- a/site/modules/Dplus/Min/src/Inmain/Itmimg.php +++ b/site/modules/Dplus/Min/src/Inmain/Itmimg.php @@ -121,7 +121,7 @@ public function inputUpdate(WireInput $input) { private function upload(WireInput $input) { $rm = strtolower($input->requestMethod()); $values = $input->$rm; - $itemID = $values->text('itemID'); + $itemID = $values->string('itemID'); $uploader = Uploader::getInstance(); $uploader->useAutoFile($this->useAutofile); @@ -140,7 +140,7 @@ private function upload(WireInput $input) { } $response = Response::responseSuccess("Uploaded $itemID Image"); - $response->setKey($values->text('itemID')); + $response->setKey($values->string('itemID')); $this->setResponse($response); return true; diff --git a/site/modules/Dplus/Xrefs/XrefUpc.module b/site/modules/Dplus/Xrefs/XrefUpc.module index b187f6566..143dbed99 100644 --- a/site/modules/Dplus/Xrefs/XrefUpc.module +++ b/site/modules/Dplus/Xrefs/XrefUpc.module @@ -177,7 +177,7 @@ class XrefUpc extends WireData implements Module { public function process_input(WireInput $input) { $rm = strtolower($input->requestMethod()); $values = $input->$rm; - $upc = $values->text('upc'); + $upc = $values->string('upc'); switch ($values->text('action')) { case 'delete-upcx': @@ -187,7 +187,7 @@ class XrefUpc extends WireData implements Module { $this->input_update($input); break; default: - $message = self::DESCRIPTION_RECORD . " ($upc) was not saved, no action was specified"; + $message = self::DESCRIPTION . " ($upc) was not saved, no action was specified"; $this->wire('session')->setFor('response', 'upcx', XrefResponse::response_error($upc, $message)); break; } @@ -201,14 +201,14 @@ class XrefUpc extends WireData implements Module { public function input_delete(WireInput $input) { $rm = strtolower($input->requestMethod()); $values = $input->$rm; - $upc = $values->text('upc'); - $itemID = $values->text('itemID'); + $upc = $values->string('upc'); + $itemID = $values->string('itemID'); if ($this->xrefExists($upc, $itemID)) { $xref = $this->xref($upc, $itemID); if ($this->lockrecord($xref) === false) { - $message = self::DESCRIPTION_RECORD . " ($upc-$itemID) was not saved, it is locked by " . $this->recordlocker->getLockingUser($this->getRecordlockerKey($xref)); + $message = self::DESCRIPTION . " ($upc-$itemID) was not saved, it is locked by " . $this->recordlocker->getLockingUser($this->getRecordlockerKey($xref)); $this->wire('session')->setFor('response', 'upcx', XrefResponse::response_error($upc, $message)); return false; } @@ -228,12 +228,12 @@ class XrefUpc extends WireData implements Module { public function input_update(WireInput $input) { $rm = strtolower($input->requestMethod()); $values = $input->$rm; - $upc = $values->text('upc'); - $itemID = $values->text('itemID'); + $upc = $values->string('upc'); + $itemID = $values->string('itemID'); $record = $this->getCreateXref($upc, $itemID); if ($this->lockrecord($record) === false && $record->isNew() === false) { - $message = self::DESCRIPTION_RECORD . " ($upc-$itemID) was not saved, it is locked by " . $this->recordlocker->getLockingUser($this->getRecordlockerKey($record)); + $message = self::DESCRIPTION . " ($upc-$itemID) was not saved, it is locked by " . $this->recordlocker->getLockingUser($this->getRecordlockerKey($record)); $this->wire('session')->setFor('response', 'upcx', XrefResponse::response_error($this->getRecordlockerKey($record), $message)); return false; } @@ -257,7 +257,7 @@ class XrefUpc extends WireData implements Module { public function update_record_input(ItemXrefUpc $record, WireInput $input) { $rm = strtolower($input->requestMethod()); $values = $input->$rm; - $record->setItemid($values->text('itemID')); + $record->setItemid($values->string('itemID')); $record->setQty($values->int('qty')); $record->setMastercase($values->yn('mastercase')); $record->setNeedslabel($values->yn('needslabel')); diff --git a/site/modules/Dplus/Xrefs/XrefVxm.module b/site/modules/Dplus/Xrefs/XrefVxm.module index 6a09e63b7..0d294caaa 100644 --- a/site/modules/Dplus/Xrefs/XrefVxm.module +++ b/site/modules/Dplus/Xrefs/XrefVxm.module @@ -264,9 +264,9 @@ class XrefVxm extends WireData implements Module { protected function input_delete(WireInput $input) { $rm = strtolower($input->requestMethod()); $values = $input->$rm; - $vendorID = $values->text('vendorID'); - $vendoritemID = $values->text('vendoritemID'); - $itemID = $values->text('itemID'); + $vendorID = $values->string('vendorID'); + $vendoritemID = $values->string('vendoritemID'); + $itemID = $values->string('itemID'); if ($this->xref_exists($vendorID, $vendoritemID, $itemID)) { $record = $this->xref($vendorID, $vendoritemID, $itemID); @@ -294,9 +294,9 @@ class XrefVxm extends WireData implements Module { $this->init_configs(); $rm = strtolower($input->requestMethod()); $values = $input->$rm; - $vendorID = $values->text('vendorID'); - $vendoritemID = $values->text('original_vendoritemID') != $values->text('vendoritemID') ? $values->text('original_vendoritemID') : $values->text('vendoritemID'); - $itemID = $values->text('itemID'); + $vendorID = $values->string('vendorID'); + $vendoritemID = $values->text('original_vendoritemID') != $values->string('vendoritemID') ? $values->text('original_vendoritemID') : $values->string('vendoritemID'); + $itemID = $values->string('itemID'); $record = $this->get_create_xref($vendorID, $vendoritemID, $itemID); @@ -341,7 +341,7 @@ class XrefVxm extends WireData implements Module { $response = new XrefResponse(); $response->set_action(XrefResponse::CRUD_UPDATE); - $record->setVendoritemid($values->text('vendoritemID')); + $record->setVendoritemid($values->string('vendoritemID')); $itemID = $record->ouritemid; $invalidfields = $this->update_record_validated($record, $input); diff --git a/site/templates/controllers/classes/ajax/json/Min.php b/site/templates/controllers/classes/ajax/json/Min.php index 1e3a4f0bc..a099a7cc7 100644 --- a/site/templates/controllers/classes/ajax/json/Min.php +++ b/site/templates/controllers/classes/ajax/json/Min.php @@ -30,7 +30,7 @@ public static function getCountryCode($data) { } public static function validateItemid($data) { - $fields = ['itemID|text', 'jqv|bool']; + $fields = ['itemID|string', 'jqv|bool']; $data = self::sanitizeParametersShort($data, $fields); $validate = self::validator(); @@ -41,7 +41,7 @@ public static function validateItemid($data) { } public static function getItm($data) { - $fields = ['itemID|text']; + $fields = ['itemID|string']; $data = self::sanitizeParametersShort($data, $fields); $validate = self::validator(); @@ -55,7 +55,7 @@ public static function getItm($data) { } public static function getItemAvailable($data) { - self::sanitizeParametersShort($data, ['itemID|text']); + self::sanitizeParametersShort($data, ['itemID|string']); $validate = self::validator(); if ($validate->itemid($data->itemID) === false) { @@ -103,7 +103,7 @@ public static function validateWarehouseBinid($data) { } public static function validateItmpExists($data) { - $fields = ['loginID|text', 'jqv|bool', 'new|bool']; + $fields = ['loginID|string', 'jqv|bool', 'new|bool']; self::sanitizeParametersShort($data, $fields); $itmp = self::pw('modules')->get('Itmp'); @@ -126,7 +126,7 @@ public static function validateItmpExists($data) { } public static function validateUpc($data) { - $fields = ['upc|text', 'jqv|bool', 'new|bool']; + $fields = ['upc|string', 'jqv|bool', 'new|bool']; self::sanitizeParametersShort($data, $fields); $validate = new UpcxValidator(); @@ -145,7 +145,7 @@ public static function validateUpc($data) { } public static function validateUpcXref($data) { - $fields = ['upc|text', 'itemID|text', 'jqv|bool', 'new|bool']; + $fields = ['upc|string', 'itemID|string', 'jqv|bool', 'new|bool']; self::sanitizeParametersShort($data, $fields); $validate = new UpcxValidator(); @@ -164,7 +164,7 @@ public static function validateUpcXref($data) { } public static function validateUpcPrimary($data) { - $fields = ['upc|text', 'itemID|text', 'jqv|bool']; + $fields = ['upc|string', 'itemID|string', 'jqv|bool']; $data = self::sanitizeParametersShort($data, $fields); $validate = new UpcxValidator(); @@ -190,7 +190,7 @@ public static function validateUpcPrimary($data) { } public static function getPrimaryUpc($data) { - $fields = ['itemID|text']; + $fields = ['itemID|string']; self::sanitizeParametersShort($data, $fields); $upcx = self::pw('modules')->get('XrefUpc'); @@ -205,7 +205,7 @@ public static function getPrimaryUpc($data) { } public static function validateI2iExists($data) { - $fields = ['parentID|text', 'childID|text', 'jqv|bool']; + $fields = ['parentID|string', 'childID|string', 'jqv|bool']; self::sanitizeParametersShort($data, $fields); $validate = self::validator(); @@ -224,7 +224,7 @@ public static function validateI2iExists($data) { } public static function validateItmWhse($data) { - $fields = ['itemID|text', 'whseID|string', 'new|bool', 'jqv|bool']; + $fields = ['itemID|string', 'whseID|string', 'new|bool', 'jqv|bool']; self::sanitizeParametersShort($data, $fields); $validate = self::validator(); $exists = $validate->itmWhse($data->itemID, $data->whseID); @@ -245,7 +245,7 @@ public static function validateItmWhse($data) { } public static function validateItmSub($data) { - $fields = ['itemID|text', 'subitemID|text', 'jqv|bool', 'new|bool']; + $fields = ['itemID|string', 'subitemID|string', 'jqv|bool', 'new|bool']; self::sanitizeParametersShort($data, $fields); $itmSub = new ItmSub(); $itmSub->init(); @@ -269,7 +269,7 @@ public static function validateItmSub($data) { } public static function validateItmShortitemid($data) { - $fields = ['itemID|text', 'shortitemID|text', 'jqv|bool', 'new|bool']; + $fields = ['itemID|string', 'shortitemID|string', 'jqv|bool', 'new|bool']; self::sanitizeParametersShort($data, $fields); $validate = new Validator\Mso\Cxm(); $exists = $validate->shortitemExists($data->shortitemID); @@ -291,7 +291,7 @@ public static function validateItmShortitemid($data) { } public static function validateItmShortitemidAvailable($data) { - $fields = ['itemID|text', 'shortitemID|text', 'jqv|bool']; + $fields = ['itemID|string', 'shortitemID|string', 'jqv|bool']; self::sanitizeParametersShort($data, $fields); $validate = new Validators\Mso\Cxm(); $exists = $validate->shortitemExists($data->shortitemID); @@ -308,7 +308,7 @@ public static function validateItmShortitemidAvailable($data) { } public static function validateAddm($data) { - $fields = ['itemID|text', 'addonID|text', 'jqv|bool', 'new|bool']; + $fields = ['itemID|string', 'addonID|string', 'jqv|bool', 'new|bool']; self::sanitizeParametersShort($data, $fields); $validate = self::validator(); @@ -336,7 +336,7 @@ public static function validateAddm($data) { } public static function getInvOptCodeNotes($data) { - $fields = ['itemID|text', 'type|text']; + $fields = ['itemID|string', 'type|string']; self::sanitizeParametersShort($data, $fields); $qnotes = ItmOptions\Qnotes::getInstance(); if ($qnotes->notesExist($data->itemID, $data->type) === false) { @@ -346,7 +346,7 @@ public static function getInvOptCodeNotes($data) { } public static function getItmpUser($data) { - $fields = ['userID|text', 'code|line']; + $fields = ['userID|string', 'code|line']; self::sanitizeParametersShort($data, $fields); $manager = MinMaintenance\Itmp::instance(); diff --git a/site/templates/controllers/classes/ajax/json/Mki.php b/site/templates/controllers/classes/ajax/json/Mki.php index aa7a9a90d..2536b89b7 100644 --- a/site/templates/controllers/classes/ajax/json/Mki.php +++ b/site/templates/controllers/classes/ajax/json/Mki.php @@ -14,7 +14,7 @@ public static function test() { } public static function validateKitid($data) { - $fields = ['kitID|text']; + $fields = ['kitID|string']; $data = self::sanitizeParametersShort($data, $fields); $validate = self::validator(); @@ -33,7 +33,7 @@ public static function validateKitidNew($data) { } public static function validateKitDeletion($data) { - $fields = ['kitID|text']; + $fields = ['kitID|string']; $data = self::sanitizeParametersShort($data, $fields); $validate = self::validator(); @@ -44,7 +44,7 @@ public static function validateKitDeletion($data) { } public static function getKit($data) { - $fields = ['kitID|text']; + $fields = ['kitID|string']; $data = self::sanitizeParametersShort($data, $fields); $validate = self::validator(); @@ -59,7 +59,7 @@ public static function getKit($data) { } public static function validateKitComponent($data) { - $fields = ['kitID|text', 'component|text']; + $fields = ['kitID|string', 'component|string']; $data = self::sanitizeParametersShort($data, $fields); $validate = self::validator(); diff --git a/site/templates/controllers/classes/map/apmain/Mxrfe.php b/site/templates/controllers/classes/map/apmain/Mxrfe.php index b65bf32aa..6fd63a4f5 100644 --- a/site/templates/controllers/classes/map/apmain/Mxrfe.php +++ b/site/templates/controllers/classes/map/apmain/Mxrfe.php @@ -20,7 +20,7 @@ class Mxrfe extends AbstractController { Indexes ============================================================= */ public static function index($data) { - $fields = ['mnfrID|string', 'mnfritemID|text', 'q|text', 'action|text']; + $fields = ['mnfrID|string', 'mnfritemID|string', 'q|text', 'action|text']; self::sanitizeParametersShort($data, $fields); $page = self::pw('page'); $page->show_breadcrumbs = false; @@ -62,7 +62,7 @@ public static function handleCRUD($data) { } private static function xref($data) { - $fields = ['mnfrID|string', 'mnfritemID|text', 'itemID|text', 'action|text']; + $fields = ['mnfrID|string', 'mnfritemID|string', 'itemID|string', 'action|text']; self::sanitizeParametersShort($data, $fields); if ($data->action) { diff --git a/site/templates/controllers/classes/map/apmain/Vxm.php b/site/templates/controllers/classes/map/apmain/Vxm.php index b79d0250b..0a18c64c4 100644 --- a/site/templates/controllers/classes/map/apmain/Vxm.php +++ b/site/templates/controllers/classes/map/apmain/Vxm.php @@ -20,7 +20,7 @@ class Vxm extends AbstractController{ Indexes ============================================================= */ public static function index($data) { - $fields = ['vendorID|string', 'vendoritemID|text', 'q|text', 'action|text']; + $fields = ['vendorID|string', 'vendoritemID|string', 'q|text', 'action|text']; self::sanitizeParametersShort($data, $fields); $page = self::pw('page'); $page->show_breadcrumbs = false; @@ -46,7 +46,7 @@ public static function index($data) { } public static function handleCRUD($data) { - $fields = ['action|text', 'vendorID|string', 'vendoritemID|text', 'itemID|text']; + $fields = ['action|text', 'vendorID|string', 'vendoritemID|string', 'itemID|string']; self::sanitizeParameters($data, $fields); $input = self::pw('input'); $vxm = self::vxmMaster(); @@ -74,7 +74,7 @@ public static function handleCRUD($data) { } private static function xref($data) { - $fields = ['vendorID|string', 'vendoritemID|text', 'itemID|text', 'action|text']; + $fields = ['vendorID|string', 'vendoritemID|string', 'itemID|string', 'action|text']; self::sanitizeParametersShort($data, $fields); if ($data->action) { diff --git a/site/templates/controllers/classes/min/inmain/Addm.php b/site/templates/controllers/classes/min/inmain/Addm.php index 1532b0ec8..f4ccccdcd 100644 --- a/site/templates/controllers/classes/min/inmain/Addm.php +++ b/site/templates/controllers/classes/min/inmain/Addm.php @@ -25,7 +25,7 @@ public static function index($data) { return self::renderUserNotPermittedAlert(); } // Sanitize Params, parse route from params - $fields = ['itemID|text', 'addonID|text', 'action|text']; + $fields = ['itemID|string', 'addonID|string', 'action|text']; self::sanitizeParametersShort($data, $fields); if (empty($data->action) === false) { @@ -45,7 +45,7 @@ public static function handleCRUD($data) { if (self::validateUserPermission() === false) { return self::pw('session')->redirect(self::url(), $http301 = false); } - $fields = ['itemID|text', 'addonID|text', 'action|text']; + $fields = ['itemID|string', 'addonID|string', 'action|text']; self::sanitizeParameters($data, $fields); $addm = self::getAddm(); $addm->processInput(self::pw('input')); @@ -93,7 +93,7 @@ private static function list($data) { } private static function xref($data) { - $fields = ['itemID|text', 'addonID|text', 'action|text']; + $fields = ['itemID|string', 'addonID|string', 'action|text']; self::sanitizeParametersShort($data, $fields); $addm = self::getAddm(); diff --git a/site/templates/controllers/classes/min/inmain/I2i.php b/site/templates/controllers/classes/min/inmain/I2i.php index ff1cd20d0..de68a2dd9 100644 --- a/site/templates/controllers/classes/min/inmain/I2i.php +++ b/site/templates/controllers/classes/min/inmain/I2i.php @@ -27,7 +27,7 @@ public static function index($data) { } // Sanitize Params, parse route from params - $fields = ['parentID|text', 'childID|text', 'action|text']; + $fields = ['parentID|string', 'childID|string', 'action|text']; self::sanitizeParametersShort($data, $fields); if (empty($data->action) === false) { @@ -46,7 +46,7 @@ public static function handleCRUD($data) { if (self::validateUserPermission() === false) { return self::pw('session')->redirect(self::url(), $http301 = false); } - $fields = ['parentID|text', 'childID|text', 'action|text']; + $fields = ['parentID|string', 'childID|string', 'action|text']; self::sanitizeParameters($data, $fields); $i2i = self::getI2i(); $i2i->processInput(self::pw('input')); @@ -94,7 +94,7 @@ public static function list($data) { } public static function xref($data) { - $fields = ['parentID|text', 'childID|text', 'action|text']; + $fields = ['parentID|string', 'childID|string', 'action|text']; self::sanitizeParametersShort($data, $fields); $i2i = self::getI2i(); diff --git a/site/templates/controllers/classes/min/inmain/Upcx.php b/site/templates/controllers/classes/min/inmain/Upcx.php index 45e3e1ec7..b49ff3f20 100644 --- a/site/templates/controllers/classes/min/inmain/Upcx.php +++ b/site/templates/controllers/classes/min/inmain/Upcx.php @@ -27,7 +27,7 @@ public static function index($data) { return self::renderUserNotPermittedAlert(); } // Sanitize Params, parse route from params - $fields = ['upc|text', 'itemID|text', 'action|text']; + $fields = ['upc|string', 'itemID|string', 'action|text']; self::sanitizeParametersShort($data, $fields); if (empty($data->action) === false) { @@ -44,7 +44,7 @@ public static function handleCRUD($data) { if (self::validateUserPermission() === false) { return self::pw('session')->redirect(self::url(), $http301 = false); } - $fields = ['action|text', 'upc|text', 'itemID|text',]; + $fields = ['action|text', 'upc|string', 'itemID|string',]; self::sanitizeParameters($data, $fields); if (empty($data->action) === false) { @@ -67,7 +67,7 @@ public static function handleCRUD($data) { } private static function upc($data) { - self::sanitizeParametersShort($data, ['upc|text', 'itemID|text', 'action|text']); + self::sanitizeParametersShort($data, ['upc|string', 'itemID|string', 'action|text']); self::pw('page')->show_breadcrumbs = false; $upcx = self::getUpcx(); @@ -85,6 +85,7 @@ private static function upc($data) { $page->js .= self::pw('config')->twig->render('items/upcx/form/js.twig', ['configs' => $configs]); self::initHooks(); $html = self::displayUpc($data, $xref); + self::pw('session')->removeFor('response', 'upcx'); return $html; } @@ -115,6 +116,7 @@ private static function list($data) { self::pw('page')->js .= self::pw('config')->twig->render('items/upcx/list/.js.twig'); self::initHooks(); $html = self::displayList($data, $upcs); + self::pw('session')->removeFor('response', 'upcx'); return $html; } @@ -139,6 +141,21 @@ private static function displayUpc($data, ItemXrefUpc $xref) { return $html; } + public static function lockXref(ItemXrefUpc $xref) { + $html = ''; + $upcx = self::getUpcx(); + $key = $upcx->getRecordlockerKey($xref); + + if (!$xref->isNew()) { + if (!$upcx->lockrecord($xref)) { + $msg = "UPC ". $key ." is being locked by " . $upcx->recordlocker->getLockingUser($key); + $html .= self::pw('config')->twig->render('util/alert.twig', ['type' => 'warning', 'title' => "UPC $key is locked", 'iconclass' => 'fa fa-lock fa-2x', 'message' => $msg]); + $html .= '
'; + } + } + return $html; + } + private static function displayLocked($data, ItemXrefUpc $xref) { $upcx = self::getUpcx(); $key = $upcx->getRecordlockerKey($xref); @@ -154,7 +171,7 @@ private static function displayResponse($data) { $upcx = self::getUpcx(); $response = self::pw('session')->getFor('response', 'upcx'); - if (empty($response)) { + if (empty($response) || $response->success === false) { return ''; } return self::pw('config')->twig->render('items/itm/response-alert.twig', ['response' => $response]); diff --git a/site/templates/controllers/classes/min/itm/xrefs/Addm.php b/site/templates/controllers/classes/min/itm/xrefs/Addm.php index 416288ab9..420715a60 100644 --- a/site/templates/controllers/classes/min/itm/xrefs/Addm.php +++ b/site/templates/controllers/classes/min/itm/xrefs/Addm.php @@ -19,7 +19,7 @@ class Addm extends Base { Indexes ============================================================= */ public static function index($data) { - $fields = ['itemID|text', 'addonID|text', 'action|text']; + $fields = ['itemID|string', 'addonID|string', 'action|text']; self::sanitizeParametersShort($data, $fields); if (self::validateItemidAndPermission($data) === false) { @@ -39,7 +39,7 @@ public static function index($data) { } public static function handleCRUD($data) { - $fields = ['itemID|text', 'addonID|text', 'action|text']; + $fields = ['itemID|string', 'addonID|string', 'action|text']; self::sanitizeParametersShort($data, $fields); if (self::validateItemidAndPermission($data) === false) { @@ -66,7 +66,7 @@ private static function list($data) { } private static function xref($data) { - $fields = ['itemID|text', 'addonID|text', 'action|text']; + $fields = ['itemID|string', 'addonID|string', 'action|text']; self::sanitizeParametersShort($data, $fields); $addm = AddmParent::getAddm(); diff --git a/site/templates/controllers/classes/min/itm/xrefs/Bom.php b/site/templates/controllers/classes/min/itm/xrefs/Bom.php index 615e9041e..c0007d9af 100644 --- a/site/templates/controllers/classes/min/itm/xrefs/Bom.php +++ b/site/templates/controllers/classes/min/itm/xrefs/Bom.php @@ -15,7 +15,7 @@ class Bom extends Base { Indexes ============================================================= */ public static function index($data) { - self::sanitizeParametersShort($data, ['itemID|text', 'component|text', 'action|text']); + self::sanitizeParametersShort($data, ['itemID|string', 'component|string', 'action|text']); if (self::validateItemidAndPermission($data) === false) { return self::displayAlertUserPermission($data); @@ -37,7 +37,7 @@ public static function handleCRUD($data) { if (self::validateItemidAndPermission($data) === false) { return self::displayAlertUserPermission($data); } - self::sanitizeParametersShort($data, ['bomID|text', 'itemID|text', 'action|text']); + self::sanitizeParametersShort($data, ['bomID|text', 'itemID|string', 'action|text']); if (empty($data->bomID)) { self::setupInputBomid($data); @@ -65,7 +65,7 @@ private static function bom($data) { } private static function bomComponent($data) { - $fields = ['itemID|text', 'component|text', 'action|text']; + $fields = ['itemID|string', 'component|string', 'action|text']; self::sanitizeParametersShort($data, $fields); $bmm = BmmParent::getBmm(); diff --git a/site/templates/controllers/classes/min/itm/xrefs/Cxm.php b/site/templates/controllers/classes/min/itm/xrefs/Cxm.php index 04089484a..2df9422db 100644 --- a/site/templates/controllers/classes/min/itm/xrefs/Cxm.php +++ b/site/templates/controllers/classes/min/itm/xrefs/Cxm.php @@ -19,7 +19,7 @@ class Cxm extends Base { Indexes ============================================================= */ public static function index($data) { - $fields = ['itemID|text', 'action|text']; + $fields = ['itemID|string', 'action|text']; self::sanitizeParametersShort($data, $fields); if (self::validateItemidAndPermission($data) === false) { @@ -43,7 +43,7 @@ public static function handleCRUD($data) { if (self::validateItemidAndPermission($data) === false) { return self::displayAlertUserPermission($data); } - $fields = ['itemID|text', 'custID|string', 'custitemID|text', 'action|text']; + $fields = ['itemID|string', 'custID|string', 'custitemID|string', 'action|text']; self::sanitizeParameters($data, $fields); $cxm = CxmController::getCxm(); @@ -95,7 +95,7 @@ private static function xref($data) { } private static function list($data) { - $fields = ['itemID|text', 'q|text']; + $fields = ['itemID|string', 'q|text']; self::sanitizeParametersShort($data, $fields); self::initHooks(); $input = self::pw('input'); diff --git a/site/templates/controllers/classes/min/itm/xrefs/Kim.php b/site/templates/controllers/classes/min/itm/xrefs/Kim.php index 0fec121b5..459e22c71 100644 --- a/site/templates/controllers/classes/min/itm/xrefs/Kim.php +++ b/site/templates/controllers/classes/min/itm/xrefs/Kim.php @@ -15,7 +15,7 @@ class Kim extends Base { Indexes ============================================================= */ public static function index($data) { - self::sanitizeParametersShort($data, ['itemID|text', 'action|text']); + self::sanitizeParametersShort($data, ['itemID|string', 'action|text']); if (self::validateItemidAndPermission($data) === false) { return self::displayAlertUserPermission($data); @@ -39,7 +39,7 @@ public static function handleCRUD($data) { if (self::validateItemidAndPermission($data) === false) { return self::displayAlertUserPermission($data); } - self::sanitizeParametersShort($data, ['itemID|text', 'action|text']); + self::sanitizeParametersShort($data, ['itemID|string', 'action|text']); $kim = KimController::getKim(); $kim->init_configs(); @@ -57,7 +57,7 @@ private static function kit($data) { } private static function kitComponent($data) { - $fields = ['itemID|text', 'component|text', 'action|text']; + $fields = ['itemID|string', 'component|text', 'action|text']; self::sanitizeParametersShort($data, $fields); $kim = KimController::getKim(); diff --git a/site/templates/controllers/classes/min/itm/xrefs/Mxrfe.php b/site/templates/controllers/classes/min/itm/xrefs/Mxrfe.php index 1329fcdbf..818296083 100644 --- a/site/templates/controllers/classes/min/itm/xrefs/Mxrfe.php +++ b/site/templates/controllers/classes/min/itm/xrefs/Mxrfe.php @@ -10,14 +10,14 @@ // Dplus Filters use Dplus\Filters\Map\Mxrfe as MxrfeFilter; // Mvc Controllers -use Controllers\Map\Mxrfe as BaseMxrfe; +use Controllers\Map\Apmain\Mxrfe as BaseMxrfe; class Mxrfe extends Base { /* ============================================================= Indexes ============================================================= */ public static function index($data) { - $fields = ['itemID|text', 'mnfrID|string', 'mnfritemID|text', 'action|text']; + $fields = ['itemID|string', 'mnfrID|string', 'mnfritemID|string', 'action|text']; self::sanitizeParametersShort($data, $fields); if (self::validateItemidAndPermission($data) === false) { @@ -40,7 +40,7 @@ public static function handleCRUD($data) { if (self::validateItemidAndPermission($data) === false) { return self::displayAlertUserPermission($data); } - $fields = ['itemID|text', 'mnfrID|string', 'mnfritemID|text', 'action|text']; + $fields = ['itemID|string', 'mnfrID|string', 'mnfritemID|string', 'action|text']; $data = self::sanitizeParameters($data, $fields); $input = self::pw('input'); $mxrfe = BaseMxrfe::mxrfeMaster(); @@ -80,7 +80,7 @@ private static function list($data) { if (self::validateItemidAndPermission($data) === false) { return self::displayAlertUserPermission($data); } - self::sanitizeParametersShort($data, ['itemID|text', 'q|text']); + self::sanitizeParametersShort($data, ['itemID|string', 'q|text']); self::initHooks(); $mxrfe = BaseMxrfe::mxrfeMaster(); @@ -128,8 +128,10 @@ private static function mxrfeHeaders() { $html .= self::breadCrumbs(); - if ($session->getFor('response','mxrfe')) { - $html .= $config->twig->render('items/itm/response-alert.twig', ['response' => $session->getFor('response','mxrfe')]); + $response = $session->getFor('response','mxrfe'); + + if (empty($response) === false && $response->success === false) { + $html .= $config->twig->render('items/itm/response-alert.twig', ['response' => $response]); } return $html; } diff --git a/site/templates/controllers/classes/min/itm/xrefs/Substitutes.php b/site/templates/controllers/classes/min/itm/xrefs/Substitutes.php index 3f9e21aa1..f5df715b6 100644 --- a/site/templates/controllers/classes/min/itm/xrefs/Substitutes.php +++ b/site/templates/controllers/classes/min/itm/xrefs/Substitutes.php @@ -17,7 +17,7 @@ class Substitutes extends Base { private static $crud; public static function index($data) { - $fields = ['itemID|text', 'subitemID|text', 'action|text']; + $fields = ['itemID|string', 'subitemID|string', 'action|text']; self::sanitizeParametersShort($data, $fields); if (self::validateItemidAndPermission($data) === false) { @@ -40,7 +40,7 @@ public static function handleCRUD($data) { if (self::validateItemidAndPermission($data) === false) { return self::displayAlertUserPermission($data); } - $fields = ['itemID|text', 'subitemID|text', 'action|text']; + $fields = ['itemID|string', 'subitemID|string', 'action|text']; self::sanitizeParameters($data, $fields); if (empty($data->action)) { self::pw('session')->redirect(self::subListUrl($data->itemID), $http301 = false); diff --git a/site/templates/controllers/classes/min/itm/xrefs/Upcx.php b/site/templates/controllers/classes/min/itm/xrefs/Upcx.php index 219e68ec6..ecfe15904 100644 --- a/site/templates/controllers/classes/min/itm/xrefs/Upcx.php +++ b/site/templates/controllers/classes/min/itm/xrefs/Upcx.php @@ -12,14 +12,14 @@ // Dplus Filters use Dplus\Filters\Min\Upcx as UpcxFilter; // Mvc Controllers -use Controllers\Min\Upcx as UpcxController; +use Controllers\Min\Inmain\Upcx as UpcxController; class Upcx extends Base { /* ============================================================= Indexes ============================================================= */ public static function index($data) { - $fields = ['itemID|text', 'upc|text', 'action|text']; + $fields = ['itemID|string', 'upc|string', 'action|text']; self::sanitizeParametersShort($data, $fields); if (self::validateItemidAndPermission($data) === false) { @@ -42,7 +42,7 @@ public static function handleCRUD($data) { if (self::validateItemidAndPermission($data) === false) { return self::displayAlertUserPermission($data); } - $fields = ['itemID|text', 'upc|text', 'action|text']; + $fields = ['itemID|string', 'upc|string', 'action|text']; self::sanitizeParameters($data, $fields); if ($data->action) { @@ -77,7 +77,7 @@ private static function xref($data) { private static function list($data) { self::initHooks(); - self::sanitizeParametersShort($data, ['itemID|text', 'q|text']); + self::sanitizeParametersShort($data, ['itemID|string', 'q|text']); $upcx = UpcxController::getUpcx(); $upcx->recordlocker->deleteLock(); $page = self::pw('page'); @@ -117,8 +117,10 @@ private static function upcxHeaders() { $html .= self::breadCrumbs(); - if ($session->getFor('response','upcx')) { - $html .= $config->twig->render('items/itm/response-alert.twig', ['response' => $session->getFor('response','upcx')]); + $response = $session->getFor('response','upcx'); + + if (empty($response) === false && $response->success === false) { + $html .= $config->twig->render('items/itm/response-alert.twig', ['response' => $response]); } return $html; } @@ -193,5 +195,30 @@ public static function initHooks() { $itemID = self::pw('input')->get->text('itemID'); $event->return = self::xrefUrl($itemID, 'new'); }); + + $m->addHook('Page(pw_template=itm)::xrefUrl', function($event) { + $p = $event->object; + $itemID = self::pw('input')->get->text('itemID'); + $upc = $event->arguments(0); + $event->return = self::xrefUrl($itemID, $upc); + }); + + $m->addHook('Page(pw_template=itm)::xrefDeleteUrl', function($event) { + $p = $event->object; + $itemID = self::pw('input')->get->text('itemID'); + $upc = $event->arguments(0); + $event->return = self::xrefDeleteUrl($itemID, $upc); + }); + + $m->addHook('Page(pw_template=itm)::xrefCreateUrl', function($event) { + $itemID = self::pw('input')->get->text('itemID'); + $event->return = self::xrefUrl($itemID, 'new'); + }); + + $m->addHook('Page(pw_template=itm)::xrefListUrl', function($event) { + $p = $event->object; + $itemID = self::pw('input')->get->text('itemID'); + $event->return = Xrefs::xrefUrlUpcx($itemID); + }); } } diff --git a/site/templates/controllers/classes/min/itm/xrefs/Vxm.php b/site/templates/controllers/classes/min/itm/xrefs/Vxm.php index b0fa40fd0..4182f8019 100644 --- a/site/templates/controllers/classes/min/itm/xrefs/Vxm.php +++ b/site/templates/controllers/classes/min/itm/xrefs/Vxm.php @@ -19,7 +19,7 @@ class Vxm extends Base { Indexes ============================================================= */ public static function index($data) { - $fields = ['itemID|text', 'action|text']; + $fields = ['itemID|string', 'action|text']; self::sanitizeParametersShort($data, $fields); if (self::validateItemidAndPermission($data) === false) { @@ -42,7 +42,7 @@ public static function handleCRUD($data) { if (self::validateItemidAndPermission($data) === false) { return self::displayAlertUserPermission($data); } - $fields = ['itemID|text', 'vendorID|string', 'vendoritemID|text', 'action|text']; + $fields = ['itemID|string', 'vendorID|string', 'vendoritemID|string', 'action|text']; $data = self::sanitizeParameters($data, $fields); $input = self::pw('input'); $vxm = VxmController::vxmMaster(); @@ -53,14 +53,14 @@ public static function handleCRUD($data) { $session = self::pw('session'); $page = self::pw('page'); $response = $session->getFor('response', 'vxm'); - $url = Xrefs::xrefUrlVxm($itemID); + $url = Xrefs::xrefUrlVxm($data->itemID); if ($vxm->xref_exists($data->vendorID, $data->vendoritemID, $data->itemID)) { $url = self::xrefUrl($data->vendorID, $data->vendoritemID, $data->itemID); if ($response && $response->has_success()) { $xref = $vxm->xref($data->vendorID, $data->vendoritemID, $data->itemID); - $url = Xrefs::xrefUrlVxm($itemID); + $url = Xrefs::xrefUrlVxm($data->itemID); } } $session->redirect($url, $http301 = false); @@ -86,7 +86,7 @@ private static function xref($data) { } private static function list($data) { - self::sanitizeParametersShort($data, ['itemID|text', 'q|text']); + self::sanitizeParametersShort($data, ['itemID|string', 'q|text']); self::initHooks(); VxmController::vxmMaster()->recordlocker->deleteLock(); @@ -129,8 +129,10 @@ private static function vxmHeaders() { $html .= self::breadCrumbs(); - if ($session->getFor('response','vxm')) { - $html .= $config->twig->render('items/itm/response-alert.twig', ['response' => $session->getFor('response','vxm')]); + $response = $session->getFor('response','vxm'); + + if (empty($response) === false && $response->has_success() === false) { + $html .= $config->twig->render('items/itm/response-alert.twig', ['response' => $response]); } return $html; } diff --git a/site/templates/controllers/classes/min/itm/xrefs/Xrefs.php b/site/templates/controllers/classes/min/itm/xrefs/Xrefs.php index 41c2cc9bb..48643fd09 100644 --- a/site/templates/controllers/classes/min/itm/xrefs/Xrefs.php +++ b/site/templates/controllers/classes/min/itm/xrefs/Xrefs.php @@ -11,7 +11,7 @@ class Xrefs extends Base { const PERMISSION_ITMP = 'xrefs'; public static function index($data) { - $fields = ['itemID|text', 'action|text']; + $fields = ['itemID|string', 'action|text']; self::sanitizeParametersShort($data, $fields); if (self::validateItemidAndPermission($data) === false) { @@ -32,7 +32,7 @@ public static function handleCRUD($data) { if (self::validateItemidAndPermission($data) === false) { return self::displayAlertUserPermission($data); } - $fields = ['itemID|text', 'action|text']; + $fields = ['itemID|string', 'action|text']; self::sanitizeParameters($data, $fields); if ($data->action) { diff --git a/site/templates/controllers/classes/mki/Kim.php b/site/templates/controllers/classes/mki/Kim.php index d0ff60192..09fc78c0b 100644 --- a/site/templates/controllers/classes/mki/Kim.php +++ b/site/templates/controllers/classes/mki/Kim.php @@ -147,8 +147,10 @@ private static function kimHeader() { $html .= $config->twig->render('mki/kim/bread-crumbs.twig', ['input' => self::pw('input')]); - if ($session->getFor('response','kim')) { - $html .= $config->twig->render('items/itm/response-alert.twig', ['response' => $session->getFor('response','kim')]); + $response = $session->getFor('response','kim'); + + if (empty($response) === false && $response->success === false) { + $html .= $config->twig->render('items/itm/response-alert.twig', ['response' => $response]); } return $html; } diff --git a/site/templates/controllers/classes/mso/SalesOrder/SalesOrder.php b/site/templates/controllers/classes/mso/SalesOrder/SalesOrder.php index e8f213f0e..295d7c485 100644 --- a/site/templates/controllers/classes/mso/SalesOrder/SalesOrder.php +++ b/site/templates/controllers/classes/mso/SalesOrder/SalesOrder.php @@ -38,6 +38,7 @@ public static function index($data) { if (empty($data->ordn) === false) { return self::so($data); } + self::pw('page')->show_breadcrumbs = false; return self::lookupScreen($data); } diff --git a/site/templates/controllers/classes/mso/Somain/Cxm.php b/site/templates/controllers/classes/mso/Somain/Cxm.php index 69c1d09ec..aa67711d8 100644 --- a/site/templates/controllers/classes/mso/Somain/Cxm.php +++ b/site/templates/controllers/classes/mso/Somain/Cxm.php @@ -22,7 +22,7 @@ class Cxm extends AbstractController { private static $cxm; public static function index($data) { - $fields = ['custID|string', 'custitemID|text', 'q|text', 'action|text']; + $fields = ['custID|string', 'custitemID|string', 'q|text', 'action|text']; self::sanitizeParametersShort($data, $fields); self::pw('page')->show_breadcrumbs = false; self::pw('page')->headline = 'Customer Item X-Ref'; @@ -45,7 +45,7 @@ public static function index($data) { } public static function handleCRUD($data) { - $fields = ['action|text', 'custID|string', 'custitemID|text']; + $fields = ['action|text', 'custID|string', 'custitemID|string']; self::sanitizeParametersShort($data, $fields); if (self::validateUserPermission() === false) { @@ -74,7 +74,7 @@ public static function handleCRUD($data) { } private static function xref($data) { - $fields = ['custID|string', 'custitemID|text', 'itemID|text', 'action|text']; + $fields = ['custID|string', 'custitemID|string', 'itemID|string', 'action|text']; self::sanitizeParametersShort($data, $fields); if ($data->action) { return self::handleCRUD($data); diff --git a/site/templates/controllers/classes/mvi/vi/Costing.php b/site/templates/controllers/classes/mvi/vi/Costing.php index c1977ee83..7797ef500 100644 --- a/site/templates/controllers/classes/mvi/vi/Costing.php +++ b/site/templates/controllers/classes/mvi/vi/Costing.php @@ -18,7 +18,7 @@ class Costing extends Subfunction { Indexes ============================================================= */ public static function index($data) { - $fields = ['vendorID|string', 'itemID|text', 'q|text', 'refresh|bool']; + $fields = ['vendorID|string', 'itemID|string', 'q|text', 'refresh|bool']; self::sanitizeParametersShort($data, $fields); if (self::validateVendorid($data->vendorID) === false) { @@ -86,7 +86,7 @@ private static function costing($data) { Data Retrieval ============================================================= */ private static function getData($data) { - $data = self::sanitizeParametersShort($data, ['vendorID|string', 'itemID|text']); + $data = self::sanitizeParametersShort($data, ['vendorID|string', 'itemID|string']); $jsonm = self::getJsonModule(); $json = $jsonm->getFile(self::JSONCODE); $session = self::pw('session'); @@ -142,7 +142,7 @@ public static function costingUrl($vendorID, $itemID, $refreshdata = false) { Data Requests ============================================================= */ private static function requestJson($vars) { - $fields = ['vendorID|string', 'itemID|text', 'sessionID|text']; + $fields = ['vendorID|string', 'itemID|string', 'sessionID|text']; self::sanitizeParametersShort($vars, $fields); $vars->sessionID = empty($vars->sessionID) === false ? $vars->sessionID : session_id(); $data = ['VICOST', "VENDID=$vars->vendorID", "ITEMID=$vars->itemID"]; diff --git a/site/templates/controllers/classes/mvi/vi/Vi.php b/site/templates/controllers/classes/mvi/vi/Vi.php index 5ec74bf83..bcc3bc22b 100644 --- a/site/templates/controllers/classes/mvi/vi/Vi.php +++ b/site/templates/controllers/classes/mvi/vi/Vi.php @@ -92,6 +92,7 @@ private static function displayList($data, PropelModelPager $vendors) { $config = self::pw('config'); $html = ''; + $html .= self::displayBreadCrumbs($data); $html .= $config->twig->render('vendors/vendor-search.twig', ['vendors' => $vendors, 'datamatcher' => self::pw('modules')->get('RegexData'), 'q' => $data->q]); $html .= '
'; $html .= $config->twig->render('util/paginator/propel.twig', ['pager' => $vendors]); diff --git a/site/templates/controllers/classes/templates/AbstractMenuController.php b/site/templates/controllers/classes/templates/AbstractMenuController.php index ff172dd4b..a7aa15234 100644 --- a/site/templates/controllers/classes/templates/AbstractMenuController.php +++ b/site/templates/controllers/classes/templates/AbstractMenuController.php @@ -30,6 +30,7 @@ public static function index(WireData $data) { if (static::validateUserPermission() === false) { return static::renderUserNotPermittedAlert(); } + self::pw('page')->headline = static::TITLE; self::pw('page')->show_breadcrumbs = false; static::initHooks(); return static::menu($data); diff --git a/site/templates/twig/items/upcx/form/js.twig b/site/templates/twig/items/upcx/form/js.twig index 8b58dbe08..637991d73 100644 --- a/site/templates/twig/items/upcx/form/js.twig +++ b/site/templates/twig/items/upcx/form/js.twig @@ -1,4 +1,4 @@ -{% include 'min/i2i/xref/form/js/classes.js.twig' %} +{% include 'items/upcx/form/js/classes.js.twig' %} $(function() { var modal_ajax = $('#ajax-modal'); diff --git a/site/templates/twig/items/upcx/form/page.twig b/site/templates/twig/items/upcx/form/page.twig index 8a5f45761..3449793a8 100644 --- a/site/templates/twig/items/upcx/form/page.twig +++ b/site/templates/twig/items/upcx/form/page.twig @@ -1,5 +1,7 @@ -{% if session.getFor('response', 'upcx') %} - {% include 'items/itm/response-alert.twig' with {'response': session.getFor('response', 'upcx')} %} +{% set response = session.getFor('response', 'upcx') %} + +{% if response and response.has_success() == false %} + {% include 'items/itm/response-alert.twig' with {'response': response} %} {% endif %} {% block return_links %} diff --git a/site/templates/twig/items/upcx/list/page.twig b/site/templates/twig/items/upcx/list/page.twig index bb4bac458..3ece8641d 100644 --- a/site/templates/twig/items/upcx/list/page.twig +++ b/site/templates/twig/items/upcx/list/page.twig @@ -1,7 +1,8 @@ {% include 'items/upcx/bread-crumbs.twig' %} +{% set response = session.getFor('response', 'upcx') %} -{% if session.getFor('response', 'upcx') %} - {% include 'items/itm/response-alert.twig' with {'response': session.getFor('response', 'upcx')} %} +{% if response and response.has_success() == false %} + {% include 'items/itm/response-alert.twig' with {'response': response} %} {% endif %} {% include 'items/upcx/search.twig' with {'q' : page.input.get.text('q')} %} diff --git a/site/templates/twig/mki/kim/kit/component/form.twig b/site/templates/twig/mki/kim/kit/component/form.twig index 7fb6ff7e3..5c71e35ce 100644 --- a/site/templates/twig/mki/kim/kit/component/form.twig +++ b/site/templates/twig/mki/kim/kit/component/form.twig @@ -44,7 +44,7 @@ 'title': 'Search Items', 'data-toggle': 'modal', 'data-target': '#ajax-modal', - 'data-lookupurl': page.searchLookup('items'), + 'data-lookupurl': page.searchLookupUrl('items'), 'data-input': '#component', 'data-ajaxfields': 'description' } diff --git a/site/templates/twig/msa/noce/bread-crumbs.twig b/site/templates/twig/msa/noce/bread-crumbs.twig new file mode 100644 index 000000000..0036dcb91 --- /dev/null +++ b/site/templates/twig/msa/noce/bread-crumbs.twig @@ -0,0 +1,30 @@ +{# + var Description / Instance of + ------------------------------------------------- + page ProcessWire\Page + input ProcessWire\WireInput +#} +{% extends 'util/bread-crumbs.twig' %} + +{% set values = input.get %} +{% set segments = input.urlSegments() %} +{% set lastsegment = segments[segments|length] %} +{% set menu = input.urlSegment(-2) ? input.urlSegment(-2) : page.name %} + +{% block current_page %} + {% if menu and menu != page.name %} + + {% endif %} + + +{% endblock %} diff --git a/site/templates/twig/vendors/vi/costing/search.twig b/site/templates/twig/vendors/vi/costing/search.twig index f78f19cd5..45cc74ccb 100644 --- a/site/templates/twig/vendors/vi/costing/search.twig +++ b/site/templates/twig/vendors/vi/costing/search.twig @@ -1,3 +1,7 @@ +
+ {% include 'vendors/vi/bread-crumbs.twig' %} +
+
{% include 'vendors/vi/costing/search/form.twig' %}
From da7e839a84c6599a182f056b549286269eb96892 Mon Sep 17 00:00:00 2001 From: Paul Date: Wed, 29 Mar 2023 09:36:51 -0500 Subject: [PATCH 02/55] FIX: parse price as float --- site/templates/twig/items/cxm/.new/xref/.js.twig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/templates/twig/items/cxm/.new/xref/.js.twig b/site/templates/twig/items/cxm/.new/xref/.js.twig index a77ec9b0a..39a511fd6 100644 --- a/site/templates/twig/items/cxm/.new/xref/.js.twig +++ b/site/templates/twig/items/cxm/.new/xref/.js.twig @@ -33,7 +33,7 @@ $(function() { $("body").on("change", "input[name=price_retail]", function(e) { var input = $(this); - var price = parseInt(input.val()); + var price = parseFloat(input.val()); input.val(price.toFixed(formCxm.config.fields.price_retail.precision)); }); From d246af69c86fcebe52240b8ca94bb0a6ae932b52 Mon Sep 17 00:00:00 2001 From: Paul Date: Fri, 31 Mar 2023 15:50:02 -0500 Subject: [PATCH 03/55] SYSOP FIX: add unsaved changes alert RQST: change title Requested By: Bev FIX: make system readonly, use hidden input FIX: filename input is a select Update Form.js.twig FEAT: force focus --- .../controllers/classes/msa/Sysop.php | 5 +- .../twig/code-tables/msa/sysop/form/.js.twig | 49 ++++++++++++++++++- .../msa/sysop/form/js/classes/Form.js.twig | 4 ++ .../msa/sysop/form/js/classes/Inputs.js.twig | 2 +- .../twig/code-tables/msa/sysop/form/key.twig | 6 ++- 5 files changed, 59 insertions(+), 7 deletions(-) diff --git a/site/templates/controllers/classes/msa/Sysop.php b/site/templates/controllers/classes/msa/Sysop.php index 8b0589bf8..d9c0c264a 100644 --- a/site/templates/controllers/classes/msa/Sysop.php +++ b/site/templates/controllers/classes/msa/Sysop.php @@ -77,12 +77,9 @@ private static function list($data) { private static function code($data) { $sysop = self::getSysop(); $page = self::pw('page'); - $page->headline = "SYSOP: Editing $data->system $data->code"; + $page->headline = "System Optional Code Edit"; $code = $sysop->getOrCreate($data->system, $data->code); - if ($code->isNew()) { - $page->headline = "SYSOP: Creating New Code"; - } $sysop->lockrecord($code); self::initHooks(); $page->js .= self::pw('config')->twig->render('code-tables/msa/sysop/form/.js.twig', ['sysop' => $sysop]); diff --git a/site/templates/twig/code-tables/msa/sysop/form/.js.twig b/site/templates/twig/code-tables/msa/sysop/form/.js.twig index 9501d6b5d..8037e734e 100644 --- a/site/templates/twig/code-tables/msa/sysop/form/.js.twig +++ b/site/templates/twig/code-tables/msa/sysop/form/.js.twig @@ -5,6 +5,53 @@ $(function() { let server = SysopRequests.getInstance(); let alert = SysopAlerts.getInstance(); + $("body").on("focusin", "#code-form input:not([name=code], [name=system])", function(e) { + if (formSysop.inputs.system.val() == '') { + formSysop.inputs.system.focus(); + return false; + } + if (formSysop.inputs.code.val() == '') { + formSysop.inputs.code.focus(); + } + }); + + $("body").on("focusin", "#code-form input[name=code]", function(e) { + if (formSysop.inputs.system.val() == '') { + formSysop.inputs.system.focus(); + return false; + } + }); + +/* ============================================================= + Unsaved Fields Alert +============================================================= */ + origForm = formSysop.form.serialize(); + + $("body").on("click", "a:not(#code-form .form_button, #ajax-modal a, .swal2-modal a, .bootstrap-select a, #code-form .delete_button)", function(e) { + if (formSysop.form.serialize() !== origForm) { + e.preventDefault(); + var a = $(this); + var href = a.attr('href'); + + alert.unsavedChanges(function(save) { + if (save) { + var validator = formSysop.form.validate(); + if (validator.valid()) { + formSysop.form.find('button[type=submit]').click(); + }; + } else { + var uri = URI(); + uri.setQuery('system', ''); + uri.setQuery('code', ''); + + $.get(uri.toString(), function() { + window.location.href = href; + }); + } + }); + } + }); + /* ============================================================= Event Functions ============================================================= */ @@ -72,7 +119,7 @@ $(function() { maxlength: formSysop.config.fields.notecode.maxlength, normalizer: function(value) { if (value.trim() == '') { - formCode.form.find('input[name=notecode]').val(''); + formSysop.form.find('input[name=notecode]').val(''); return ''; } return value; diff --git a/site/templates/twig/code-tables/msa/sysop/form/js/classes/Form.js.twig b/site/templates/twig/code-tables/msa/sysop/form/js/classes/Form.js.twig index cbf7f07ab..8aba1189c 100644 --- a/site/templates/twig/code-tables/msa/sysop/form/js/classes/Form.js.twig +++ b/site/templates/twig/code-tables/msa/sysop/form/js/classes/Form.js.twig @@ -21,13 +21,17 @@ class SysopForm { this.inputs.beforedecimal.removeAttr('readonly'); return true; } + this.inputs.beforedecimal.val(''); + this.inputs.afterdecimal.val(''); this.inputs.afterdecimal.attr('readonly', 'true'); this.inputs.beforedecimal.attr('readonly', 'true'); return false; } enableDisableDocfolder() { + console.log(this.inputs.filename.val()); if (this.inputs.filename.val() == 'N') { + this.inputs.docfolder.val(''); this.inputs.docfolder.attr('readonly', 'true'); return true; } diff --git a/site/templates/twig/code-tables/msa/sysop/form/js/classes/Inputs.js.twig b/site/templates/twig/code-tables/msa/sysop/form/js/classes/Inputs.js.twig index ac069db24..f27f5ad89 100644 --- a/site/templates/twig/code-tables/msa/sysop/form/js/classes/Inputs.js.twig +++ b/site/templates/twig/code-tables/msa/sysop/form/js/classes/Inputs.js.twig @@ -18,7 +18,7 @@ class SysopInputs { this.afterdecimal = this.form.find('input[name=afterdecimal]'); this.beforedecimal = this.form.find('input[name=beforedecimal]'); this.notecode = this.form.find('input[name=notecode]'); - this.filename = this.form.find('input[name=filename]'); + this.filename = this.form.find('select[name=filename]'); this.docfolder = this.form.find('input[name=docfolder]'); } } diff --git a/site/templates/twig/code-tables/msa/sysop/form/key.twig b/site/templates/twig/code-tables/msa/sysop/form/key.twig index 0354a9f3c..974d6958c 100644 --- a/site/templates/twig/code-tables/msa/sysop/form/key.twig +++ b/site/templates/twig/code-tables/msa/sysop/form/key.twig @@ -9,7 +9,11 @@
- + {% endif %} + + + From 5cfe1777617d386d52e2cec49774d8cf25552000 Mon Sep 17 00:00:00 2001 From: Paul Date: Thu, 1 Jun 2023 09:33:53 -0500 Subject: [PATCH 47/55] FEAT: show sort indicators in ci customer list --- .../twig/customers/ci/.new/list/list.twig | 36 +++++++++++++++---- 1 file changed, 30 insertions(+), 6 deletions(-) diff --git a/site/templates/twig/customers/ci/.new/list/list.twig b/site/templates/twig/customers/ci/.new/list/list.twig index 4a60bf703..d3db129d9 100644 --- a/site/templates/twig/customers/ci/.new/list/list.twig +++ b/site/templates/twig/customers/ci/.new/list/list.twig @@ -10,23 +10,47 @@ - ID + ID + {% if page.orderby_column == '' or page.orderby_column == 'custID' or page.orderby_column != 'custID' %} + + {% endif %} + - Name + Name + {% if page.orderby_column == 'name' %} + + {% endif %} + Address - City + City + {% if page.orderby_column == 'city' %} + + {% endif %} + - State + State + {% if page.orderby_column == 'state' %} + + {% endif %} + - Zip + Zip + {% if page.orderby_column == 'zip' %} + + {% endif %} + - Last Sales Date + Last Sales Date + {% if page.orderby_column == 'lastsaledate' %} + + {% endif %} + From 850142b7e1e5808913e96283c369cc180955e30c Mon Sep 17 00:00:00 2001 From: Paul Date: Thu, 1 Jun 2023 09:50:58 -0500 Subject: [PATCH 48/55] FEAT: add sort indicators for vxm x-ref list --- .../twig/items/vxm/list/xref/vendor/list.twig | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/site/templates/twig/items/vxm/list/xref/vendor/list.twig b/site/templates/twig/items/vxm/list/xref/vendor/list.twig index 783eeb7e0..efd7b5ec8 100644 --- a/site/templates/twig/items/vxm/list/xref/vendor/list.twig +++ b/site/templates/twig/items/vxm/list/xref/vendor/list.twig @@ -12,10 +12,18 @@ - Vendor Item ID + Vendor Item ID + {% if page.orderby_column == '' or page.orderby_column == 'vendoritemid' or page.orderby_column != 'vendoritemid' %} + + {% endif %} + - Our Item ID + Our Item ID + {% if page.orderby_column == 'itemid' %} + + {% endif %} + Description Base Cost From 8f8b1a2863bf30a29d19274be39370d1a1ac3352 Mon Sep 17 00:00:00 2001 From: Paul Date: Thu, 1 Jun 2023 09:56:43 -0500 Subject: [PATCH 49/55] FEAT: add search toolbar to MXRFE mnfr list --- site/templates/twig/items/mxrfe/search/vendor/page.twig | 4 ++++ site/templates/twig/items/mxrfe/search/vendor/toolbar.twig | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/site/templates/twig/items/mxrfe/search/vendor/page.twig b/site/templates/twig/items/mxrfe/search/vendor/page.twig index 641cc193a..68e69873a 100644 --- a/site/templates/twig/items/mxrfe/search/vendor/page.twig +++ b/site/templates/twig/items/mxrfe/search/vendor/page.twig @@ -1 +1,5 @@ +
+ {% include 'items/mxrfe/search/vendor/toolbar.twig' %} +
+ {% include 'items/mxrfe/search/vendor/results.twig' with {'vendors': vendors} %} diff --git a/site/templates/twig/items/mxrfe/search/vendor/toolbar.twig b/site/templates/twig/items/mxrfe/search/vendor/toolbar.twig index f8fb2aed2..56db27a52 100644 --- a/site/templates/twig/items/mxrfe/search/vendor/toolbar.twig +++ b/site/templates/twig/items/mxrfe/search/vendor/toolbar.twig @@ -20,7 +20,7 @@
- +