From 72dbe9006028e623d26ef6e0945b26d030d810cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20David?= Date: Wed, 7 Aug 2024 13:52:26 +0200 Subject: [PATCH 01/25] add multi object control --- .../doc_controldocument_odt.modules.php | 40 +++++++++++-------- ...9_modDigiQuali_DigiQualiTriggers.class.php | 7 +++- view/control/control_card.php | 28 +++++++------ 3 files changed, 43 insertions(+), 32 deletions(-) diff --git a/core/modules/digiquali/digiqualidocuments/controldocument/doc_controldocument_odt.modules.php b/core/modules/digiquali/digiqualidocuments/controldocument/doc_controldocument_odt.modules.php index 404563e2..aa7da830 100644 --- a/core/modules/digiquali/digiqualidocuments/controldocument/doc_controldocument_odt.modules.php +++ b/core/modules/digiquali/digiqualidocuments/controldocument/doc_controldocument_odt.modules.php @@ -349,23 +349,29 @@ public function write_file(SaturneDocuments $objectDocument, Translate $outputLa foreach ($object->linkedObjectsIds as $linkedObjectType => $linkedObjectsIds) { $className = $objectInfo[$linkedObjectType]['className']; $linkedObject = new $className($this->db); - $result = $linkedObject->fetch(array_shift($object->linkedObjectsIds[$linkedObjectType])); - if ($result > 0) { - $objectName = ''; - $objectNameField = $nameField[$linkedObjectType]; - if (strstr($objectNameField, ',')) { - $nameFields = explode(', ', $objectNameField); - if (is_array($nameFields) && !empty($nameFields)) { - foreach ($nameFields as $subnameField) { - $objectName .= $linkedObject->$subnameField . ' '; - } - } - } else { - $objectName = $linkedObject->$objectNameField; - } - $tmpArray['object_label_ref'] .= $objectName . chr(0x0A); - $tmpArray['object_type'] = $outputLangs->transnoentities($objectInfo[$linkedObjectType]['title']) . ' : '; - } + $objectName = ''; + if (is_array($object->linkedObjectsIds[$linkedObjectType]) && !empty($object->linkedObjectsIds[$linkedObjectType])) { + foreach ($object->linkedObjectsIds[$linkedObjectType] as $linkedObjectId) { + $result = $linkedObject->fetch($linkedObjectId); + if ($result > 0) { + $objectNameField = $nameField[$linkedObjectType]; + if (strstr($objectNameField, ',')) { + $nameFields = explode(', ', $objectNameField); + if (is_array($nameFields) && !empty($nameFields)) { + foreach ($nameFields as $subnameField) { + $objectName .= $linkedObject->$subnameField . chr(0x0A); + } + } + } else { + $objectName .= $linkedObject->$objectNameField . chr(0x0A); + } + } + } + + $tmpArray['object_label_ref'] .= $objectName; + $tmpArray['object_type'] = $outputLangs->transnoentities($objectInfo[$linkedObjectType]['title']) . ' : '; + } + } } diff --git a/core/triggers/interface_99_modDigiQuali_DigiQualiTriggers.class.php b/core/triggers/interface_99_modDigiQuali_DigiQualiTriggers.class.php index 66bc32fd..a2139093 100644 --- a/core/triggers/interface_99_modDigiQuali_DigiQualiTriggers.class.php +++ b/core/triggers/interface_99_modDigiQuali_DigiQualiTriggers.class.php @@ -145,8 +145,11 @@ public function runTrigger($action, $object, User $user, Translate $langs, Conf $elementArray = get_sheet_linkable_objects(); if (!empty($elementArray)) { foreach ($elementArray as $linkableElementType => $linkableElement) { - if (!empty(GETPOST($linkableElement['post_name'])) && GETPOST($linkableElement['post_name']) > 0) { - $object->add_object_linked($linkableElement['link_name'], GETPOST($linkableElement['post_name'])); + $post = GETPOST('multi_' . $linkableElement['post_name'], 'array'); + if (!empty($post) && $post > 0) { + foreach($post as $postElement) { + $object->add_object_linked($linkableElement['link_name'], $postElement); + } } } } diff --git a/view/control/control_card.php b/view/control/control_card.php index 19ba3012..07928615 100644 --- a/view/control/control_card.php +++ b/view/control/control_card.php @@ -167,8 +167,11 @@ if (!empty($linkableElements)) { foreach ($linkableElements as $linkableElementType => $linkableElement) { - if (!empty(GETPOST($linkableElement['post_name'])) && GETPOST($linkableElement['post_name']) > 0) { - $controlledObjectSelected++; + $post = GETPOST('multi_' . $linkableElement['post_name'], 'array'); + if (is_array($post) && !empty($post)) { + foreach($post as $postSingle) { + $controlledObjectSelected++; + } } } } @@ -439,7 +442,7 @@ print '' . ($source != 'pwa' ? $langs->transnoentities($linkableElement['langs']) : img_picto('', $linkableElement['picto'], 'class="pictofixedwidth fa-3x"')) . ''; print($source != 'pwa' ? img_picto('', $linkableElement['picto'], 'class="pictofixedwidth"') : ''); - print $form->selectArray($objectPostName, $objectArray, $objectPost, $langs->trans('Select') . ' ' . strtolower($langs->trans($linkableElement['langs'])), 0, 0, '', 0, 0, dol_strlen(GETPOST('fromtype')) > 0 && GETPOST('fromtype') != $linkableElement['link_name'], '', 'maxwidth500 widthcentpercentminusxx'); + print $form->multiselectarray('multi_' . $objectPostName, $objectArray, [$objectPost], $langs->trans('Select') . ' ' . strtolower($langs->trans($linkableElement['langs'])), 0, 0, '', 0, 0, dol_strlen(GETPOST('fromtype')) > 0 && GETPOST('fromtype') != $linkableElement['link_name']); if ($source != 'pwa') { print ''; } @@ -651,17 +654,14 @@ if ($linkableElement['conf'] > 0 && (!empty($object->linkedObjectsIds[$linkableElement['link_name']]))) { $className = $linkableElement['className']; $linkedObject = new $className($db); + print ''; + print $langs->trans($linkableElement['langs']); + print ''; + print ''; - $linkedObjectKey = array_key_first($object->linkedObjectsIds[$linkableElement['link_name']]); - $linkedObjectId = $object->linkedObjectsIds[$linkableElement['link_name']][$linkedObjectKey]; - - $result = $linkedObject->fetch($linkedObjectId); + foreach($object->linkedObjectsIds[$linkableElement['link_name']] as $linkedObjectId) { + $linkedObject->fetch($linkedObjectId); - if ($result > 0) { - print ''; - print $langs->trans($linkableElement['langs']); - print ''; - print ''; print $linkedObject->getNomUrl(1); @@ -672,8 +672,10 @@ print ''; } - print ''; + print '
'; } + print ''; + print ''; } } From b1c76bd263381858767b83964f4c0ccf852914a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20David?= Date: Tue, 13 Aug 2024 10:30:51 +0200 Subject: [PATCH 02/25] #1680 [Control] add: multi control data model --- class/control.class.php | 12 ++++++++++++ sql/control/llx_digiquali_control.key.sql | 1 + sql/control/llx_digiquali_control.sql | 2 ++ sql/update.sql | 5 +++++ 4 files changed, 20 insertions(+) diff --git a/class/control.class.php b/class/control.class.php index c6c1dcc8..a352c958 100644 --- a/class/control.class.php +++ b/class/control.class.php @@ -128,6 +128,8 @@ class Control extends SaturneObject 'verdict' => ['type' => 'smallint', 'label' => 'Verdict', 'enabled' => 1, 'position' => 110, 'notnull' => 0, 'visible' => 5, 'showinpwa' => 1, 'index' => 1, 'positioncard' => 20, 'arrayofkeyval' => [0 => '', 1 => 'OK', 2 => 'KO', 3 => 'N/A']], 'photo' => ['type' => 'text', 'label' => 'Photo', 'enabled' => 1, 'position' => 120, 'notnull' => 0, 'visible' => 0, 'showinpwa' => 0], 'track_id' => ['type' => 'text', 'label' => 'TrackID', 'enabled' => 1, 'position' => 125, 'notnull' => 0, 'visible' => 2, 'showinpwa' => 0], + 'mass_control' => ['type' => 'boolean', 'label' => 'MassControl', 'enabled' => 1, 'position' => 126, 'notnull' => 0, 'visible' => 0, 'showinpwa' => 0], + 'fk_control' => ['type' => 'integer:Control:digiquali/class/control.class.php', 'label' => 'Control', 'picto' => 'control', 'enabled' => 1, 'position' => 127, 'notnull' => 0, 'visible' => 0, 'showinpwa' => 0, 'foreignkey' => 'digiquali_control.rowid'], 'fk_user_creat' => ['type' => 'integer:User:user/class/user.class.php', 'label' => 'UserAuthor', 'picto' => 'user', 'enabled' => 1, 'position' => 130, 'notnull' => 1, 'visible' => 0, 'showinpwa' => 0, 'foreignkey' => 'user.rowid'], 'fk_user_modif' => ['type' => 'integer:User:user/class/user.class.php', 'label' => 'UserModif', 'picto' => 'user', 'enabled' => 1, 'position' => 140, 'notnull' => 0, 'visible' => 0, 'showinpwa' => 0, 'foreignkey' => 'user.rowid'], 'fk_sheet' => ['type' => 'integer:Sheet:digiquali/class/sheet.class.php', 'label' => 'Sheet', 'picto' => 'fontawesome_fa-list_fas_#d35968', 'enabled' => 1, 'position' => 12, 'notnull' => 1, 'visible' => 5, 'showinpwa' => 0, 'index' => 1, 'css' => 'maxwidth500 widthcentpercentminusxx', 'foreignkey' => 'digiquali_sheet.rowid'], @@ -235,6 +237,16 @@ class Control extends SaturneObject */ public int $fk_sheet; + /** + * @var int Control ID. + */ + public $fk_control; + + /** + * @var bool Mass control. + */ + public $mass_control; + /** * @var int|string|null User ID. */ diff --git a/sql/control/llx_digiquali_control.key.sql b/sql/control/llx_digiquali_control.key.sql index 43a4909b..de696059 100644 --- a/sql/control/llx_digiquali_control.key.sql +++ b/sql/control/llx_digiquali_control.key.sql @@ -21,3 +21,4 @@ ALTER TABLE llx_digiquali_control ADD INDEX idx_digiquali_control_fk_user_contro ALTER TABLE llx_digiquali_control ADD INDEX idx_digiquali_control_fk_projectid (projectid); ALTER TABLE llx_digiquali_control ADD UNIQUE INDEX uk_digiquali_control_ref (ref, entity); ALTER TABLE llx_digiquali_control ADD CONSTRAINT llx_digiquali_control_fk_user_creat FOREIGN KEY (fk_user_creat) REFERENCES llx_user(rowid); +ALTER TABLE llx_digiquali_control ADD CONSTRAINT llx_digiquali_control_fk_control FOREIGN KEY (fk_control) REFERENCES llx_digiquali_control(rowid); diff --git a/sql/control/llx_digiquali_control.sql b/sql/control/llx_digiquali_control.sql index 8c2d0d52..5abff4f0 100644 --- a/sql/control/llx_digiquali_control.sql +++ b/sql/control/llx_digiquali_control.sql @@ -32,6 +32,8 @@ CREATE TABLE llx_digiquali_control( control_date datetime, next_control_date datetime, success_rate double(24,8), + mass_control boolean, + fk_control integer, fk_user_creat integer NOT NULL, fk_user_modif integer, fk_sheet integer NOT NULL, diff --git a/sql/update.sql b/sql/update.sql index f9b2a97b..89f19ec9 100644 --- a/sql/update.sql +++ b/sql/update.sql @@ -127,3 +127,8 @@ ALTER TABLE `llx_digiquali_survey` ADD `success_rate` DOUBLE(24,8) NULL AFTER `p -- 1.13.0 ALTER TABLE `llx_digiquali_control` ADD `label` VARCHAR(255) NULL AFTER `status`; + +-- 1.14.0 +ALTER TABLE `llx_digiquali_control` ADD `mass_control` BOOLEAN NULL AFTER `success_rate`; +ALTER TABLE `llx_digiquali_control` ADD `fk_control` INTEGER NULL AFTER `mass_control`; +ALTER TABLE llx_digiquali_control ADD CONSTRAINT llx_digiquali_control_fk_control FOREIGN KEY (fk_control) REFERENCES llx_digiquali_control(rowid); From 610c325369727928e5dbb1c9628700b7e981cfb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20David?= Date: Tue, 13 Aug 2024 10:31:08 +0200 Subject: [PATCH 03/25] #1680 [Control] add: multi control list template --- core/tpl/digiquali_mass_control_list.tpl.php | 56 ++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 core/tpl/digiquali_mass_control_list.tpl.php diff --git a/core/tpl/digiquali_mass_control_list.tpl.php b/core/tpl/digiquali_mass_control_list.tpl.php new file mode 100644 index 00000000..d42f7ab9 --- /dev/null +++ b/core/tpl/digiquali_mass_control_list.tpl.php @@ -0,0 +1,56 @@ +fetchAll('', '', 0, 0, ['fk_control' => $object->id]); + +// Start the responsive table container +print '
'; + +// Load and print the title for the control list section +print load_fiche_titre($langs->trans('LinkedControlList'), '', ''); + +// Start the table +print '
'; + +// Define table headers with appropriate translations +$tableHeaders = [ + $langs->trans('Nom'), + $langs->trans('Verdict'), + $langs->trans('NoteControl'), + $langs->trans('QRCode'), + $langs->trans('Document'), + $langs->trans('Action'), +]; + +// Create header row using divs +print '
'; +foreach ($tableHeaders as $header) { + print '
' . $header . '
'; +} +print '
'; + +// Check if there are any mass controls and print them +if (is_array($massControlList) && !empty($massControlList)) { + foreach ($massControlList as $massControl) { + print '
'; + print '
' . $massControl->getNomUrl(1) . '
'; + print '
' . $massControl->getVerdict() . '
'; + print '
'; + } +} else { + // If no mass controls are found, display a message + print '
'; + print '
' . $langs->trans('NoMassControlFound') . '
'; + print '
'; +} + +print '
'; // End of table +print '
'; // End of responsive container + +?> From 0980076f739715580aab8c8b5f7b62353d27c1f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20David?= Date: Tue, 13 Aug 2024 11:47:06 +0200 Subject: [PATCH 04/25] #1680 [Control] add: mass control management --- class/control.class.php | 1 + core/tpl/digiquali_mass_control_list.tpl.php | 55 +++++++++++++--- ...9_modDigiQuali_DigiQualiTriggers.class.php | 23 ++++++- css/digiquali.min.css | 2 +- css/scss/page/_control.scss | 32 ++++++++++ js/digiquali.min.js | 2 +- js/modules/control.js | 63 +++++++++++++++++++ langs/fr_FR/digiquali.lang | 3 + view/control/control_card.php | 56 ++++++++++------- 9 files changed, 205 insertions(+), 32 deletions(-) diff --git a/class/control.class.php b/class/control.class.php index a352c958..c382dedb 100644 --- a/class/control.class.php +++ b/class/control.class.php @@ -287,6 +287,7 @@ public function __construct(DoliDB $db) public function create(User $user, bool $notrigger = false): int { $this->track_id = generate_random_id(); + $this->status = $this->mass_control ? self::STATUS_VALIDATED : self::STATUS_DRAFT; $result = parent::create($user, $notrigger); if ($result > 0) { diff --git a/core/tpl/digiquali_mass_control_list.tpl.php b/core/tpl/digiquali_mass_control_list.tpl.php index d42f7ab9..ea4a4b7a 100644 --- a/core/tpl/digiquali_mass_control_list.tpl.php +++ b/core/tpl/digiquali_mass_control_list.tpl.php @@ -23,6 +23,7 @@ $langs->trans('Nom'), $langs->trans('Verdict'), $langs->trans('NoteControl'), + $langs->trans('Answers'), $langs->trans('QRCode'), $langs->trans('Document'), $langs->trans('Action'), @@ -31,26 +32,66 @@ // Create header row using divs print '
'; foreach ($tableHeaders as $header) { - print '
' . $header . '
'; + print '
' . $header . '
'; } print '
'; // Check if there are any mass controls and print them if (is_array($massControlList) && !empty($massControlList)) { foreach ($massControlList as $massControl) { - print '
'; - print '
' . $massControl->getNomUrl(1) . '
'; - print '
' . $massControl->getVerdict() . '
'; + // Fetch the public note if it exists + + print '
'; + print '
' . $massControl->getNomUrl(1) . '
'; + + // Verdict section with interactive OK/KO buttons + print '
'; + print '
'; + print ''; + print ''; + print '
'; + print '
'; + + // Note Control section displaying the public note + print '
'; + + print '
'; + print ''; + print '
'; + + // Additional cells for QRCode, Document, and Action can be filled in as needed + print '
'. saturne_show_medias_linked('digiquali', $conf->digiquali->multidir_output[$conf->entity] . '/control/' . $massControl->ref . '/qrcode/', 'small', 1, 0, 0, 0, 80, 80, 0, 0, 0, 'control/' . $massControl->ref . '/qrcode/', $massControl, '', 0, 0) . '
'; + print '
'; + print '
'; + print '
'; + $displayButton = $onPhone ? '' : '' . ' ' . $langs->trans('Save'); + print '' . $displayButton . ''; print '
'; + print '
'; + + print '
'; + print ''; + } } else { // If no mass controls are found, display a message print '
'; - print '
' . $langs->trans('NoMassControlFound') . '
'; + print '
' . $langs->trans('NoMassControlFound') . '
'; print '
'; } - print '
'; // End of table print '
'; // End of responsive container - ?> diff --git a/core/triggers/interface_99_modDigiQuali_DigiQualiTriggers.class.php b/core/triggers/interface_99_modDigiQuali_DigiQualiTriggers.class.php index a2139093..e8ddf2e4 100644 --- a/core/triggers/interface_99_modDigiQuali_DigiQualiTriggers.class.php +++ b/core/triggers/interface_99_modDigiQuali_DigiQualiTriggers.class.php @@ -131,6 +131,7 @@ public function runTrigger($action, $object, User $user, Translate $langs, Conf case 'CONTROL_CREATE' : // Load Digiquali libraries require_once __DIR__ . '/../../class/sheet.class.php'; + require_once __DIR__ . '/../../class/control.class.php'; $sheet = new Sheet($this->db); @@ -141,14 +142,30 @@ public function runTrigger($action, $object, User $user, Translate $langs, Conf } $elementArray = []; + if ($object->context != 'createfromclone') { - $elementArray = get_sheet_linkable_objects(); + $elementArray = get_sheet_linkable_objects(); + if (!empty($elementArray)) { foreach ($elementArray as $linkableElementType => $linkableElement) { $post = GETPOST('multi_' . $linkableElement['post_name'], 'array'); if (!empty($post) && $post > 0) { foreach($post as $postElement) { - $object->add_object_linked($linkableElement['link_name'], $postElement); + if ($object->mass_control) { + $control = new Control($this->db); + + $control->status = $control::STATUS_DRAFT; + $control->label = $object->label; + $control->fk_sheet = $object->fk_sheet; + $control->fk_user_controller = $object->fk_user_controller; + $control->fk_control = $object->id; + $control->create($user); + + $control->add_object_linked($linkableElement['link_name'], $postElement); + + } else { + $object->add_object_linked($linkableElement['link_name'], $postElement); + } } } } @@ -161,6 +178,8 @@ public function runTrigger($action, $object, User $user, Translate $langs, Conf $signatory->setSignatory($object->id, $object->element, 'user', [$object->fk_user_controller], 'Controller', 1); } + + $actioncomm->code = 'AC_' . strtoupper($object->element) . '_CREATE'; $actioncomm->label = $langs->transnoentities('ObjectCreateTrigger', $langs->transnoentities(ucfirst($object->element)), $object->ref); $actioncomm->create($user); diff --git a/css/digiquali.min.css b/css/digiquali.min.css index 33acca0a..3529b078 100644 --- a/css/digiquali.min.css +++ b/css/digiquali.min.css @@ -1 +1 @@ -.question-answer-container *{box-sizing:border-box}.question-answer-container.multiselect{margin-top:-60px}.question-answer-container.multiselect>.wpeo-table{background:none !important}.question-answer-container.multiselect .table-cell{padding-top:0}.question-answer-container .wpeo-table.table-flex .table-row:not(.table-header):nth-of-type(odd){background:none}.question-answer-container .table-cell{margin-top:0 !important}.question-answer-container>.wpeo-table{border-bottom:1px solid rgba(0,0,0,.2)}.question-answer-container>.wpeo-table:nth-of-type(odd){background:rgba(38,60,92,.15)}.question-answer-container>.wpeo-table .cell-photo-check{text-align:right}@media(max-width: 600px){.question-answer-container>.wpeo-table .cell-photo-check{text-align:center}}.question-answer-container>.wpeo-table .question-photo-check{margin:0 4px;display:inline-block;position:relative}.question-answer-container>.wpeo-table .question-photo-check img{display:block;margin:0;width:200px;height:200px;background-size:cover}.question-answer-container>.wpeo-table .question-photo-check i{position:absolute;bottom:10px;right:10px;font-size:35px}.question-answer-container>.wpeo-table .question-photo-check.ko i{color:#e05353}.question-answer-container>.wpeo-table .question-photo-check.ok i{color:#47e58e}.question-answer-container>.wpeo-table .photo{margin:0 4px}.question-answer-container>.wpeo-table .photo.photo-ok{border:5px solid #47e58e}.question-answer-container>.wpeo-table .photo.photo-ko{border:5px solid #e05353}.question-answer-container>.wpeo-table .linked-medias{display:flex;gap:0 10px;flex-wrap:wrap}.question-answer-container>.wpeo-table .answer{display:inline-block;width:50px;height:50px;line-height:50px;font-size:18px;margin:0 4px;text-align:center;border-radius:50%;background:#fff;border:1px solid rgba(0,0,0,.4);transition:all .2s ease-out}@media(max-width: 600px){.question-answer-container>.wpeo-table .answer{width:60px;height:60px;line-height:60px;font-size:25px}}.question-answer-container>.wpeo-table .answer.square{border-radius:10%}.question-answer-container>.wpeo-table .answer:hover{cursor:pointer}.question-answer-container>.wpeo-table .answer.active{color:#fff !important}.question-answer-container>.wpeo-table .question-comment-container{margin-top:10px}.question-answer-container>.wpeo-table .question-comment-container .question-ref{font-size:13px;font-weight:700}.question-answer-container>.wpeo-table .question-comment-container .question-textarea{width:100%;background:#fff;border:1px solid rgba(0,0,0,.2);padding:1em 1.4em}.confirmquestions .answer{display:inline-block;width:30px;height:30px;line-height:30px;margin:0 4px;text-align:center;border-radius:50%;background:#fff;border:1px solid rgba(0,0,0,.4);-webkit-transition:all .2s ease-out;transition:all .2s ease-out}.confirmquestions .answer:hover{cursor:pointer}.confirmquestions .answer[value="1"]{color:#47e58e}.confirmquestions .answer[value="2"]{color:#e05353}.confirmquestions .answer[value="3"]{color:#e9ad4f}.confirmquestions .answer[value="4"]{color:rgba(0,0,0,.7);font-weight:700}.confirmquestions input[readonly]{border:0;width:100%;pointer-events:none}.confirmquestions input[readonly]:hover{cursor:default}.element-list-medias .question-section{display:block;margin-bottom:20px}.element-list-medias .question-section::after{display:block;content:"";clear:both}.element-list-medias .question-ref{font-weight:800;display:block;clear:both}.element-list-medias .media-container{display:block;float:left;margin-right:10px;margin-bottom:10px}.element-list-medias .media-container a{transition:all .2s ease-out}.element-list-medias .media-container a:hover{opacity:.8}.element-list-medias .media-container .photo{width:100%;height:100%;object-fit:cover}.question-table .linked-medias-list{display:flex;gap:10px;height:auto !important}@media(max-width: 500px){.question-table .linked-medias-list{flex-wrap:wrap}}@media(max-width: 500px){div.tabBar table.border.question-table tr.linked-medias,div.tabBar table.border.question-table tr.linked-medias .linked-medias-list{height:auto !important}}div.mainmenu.digiquali{background-image:none}div.mainmenu.digiquali::before{content:""}@media(max-width: 600px){div.tabsAction>span.butAction,div.tabsAction>span.butActionRefused,div.tabsAction>a.butAction,div.tabsAction>a.butActionDelete{padding:14px}}.dashboard-control{width:40px;height:40px;border-radius:6px;text-align:center;color:#fff;font-weight:900;font-size:14px;line-height:.9;padding:7px 2px;pointer-events:none}.progress-info{display:flex;align-items:center}.progress-info .progress-bar{width:100%;height:20px;background-color:#ddd;border-radius:5px}.progress-info .progress{width:50%;height:100%;border-radius:5px;transition:width .3s}.sheet-images-container .sheet-grid-images{display:flex;flex-wrap:wrap;gap:.8em}.sheet-images-container .sheet-grid-images img{object-fit:cover;border:3px solid #fff;transition:all .2s ease-out}.sheet-images-container .sheet-grid-images img:hover{cursor:pointer;opacity:.6}.preview-photo{z-index:2100 !important}.dropdown-toggle::after{display:none}.favorite-photo{border:5px solid #0d8aff} \ No newline at end of file +.question-answer-container *{box-sizing:border-box}.question-answer-container.multiselect{margin-top:-60px}.question-answer-container.multiselect>.wpeo-table{background:none !important}.question-answer-container.multiselect .table-cell{padding-top:0}.question-answer-container .wpeo-table.table-flex .table-row:not(.table-header):nth-of-type(odd){background:none}.question-answer-container .table-cell{margin-top:0 !important}.question-answer-container>.wpeo-table{border-bottom:1px solid rgba(0,0,0,.2)}.question-answer-container>.wpeo-table:nth-of-type(odd){background:rgba(38,60,92,.15)}.question-answer-container>.wpeo-table .cell-photo-check{text-align:right}@media(max-width: 600px){.question-answer-container>.wpeo-table .cell-photo-check{text-align:center}}.question-answer-container>.wpeo-table .question-photo-check{margin:0 4px;display:inline-block;position:relative}.question-answer-container>.wpeo-table .question-photo-check img{display:block;margin:0;width:200px;height:200px;background-size:cover}.question-answer-container>.wpeo-table .question-photo-check i{position:absolute;bottom:10px;right:10px;font-size:35px}.question-answer-container>.wpeo-table .question-photo-check.ko i{color:#e05353}.question-answer-container>.wpeo-table .question-photo-check.ok i{color:#47e58e}.question-answer-container>.wpeo-table .photo{margin:0 4px}.question-answer-container>.wpeo-table .photo.photo-ok{border:5px solid #47e58e}.question-answer-container>.wpeo-table .photo.photo-ko{border:5px solid #e05353}.question-answer-container>.wpeo-table .linked-medias{display:flex;gap:0 10px;flex-wrap:wrap}.question-answer-container>.wpeo-table .answer{display:inline-block;width:50px;height:50px;line-height:50px;font-size:18px;margin:0 4px;text-align:center;border-radius:50%;background:#fff;border:1px solid rgba(0,0,0,.4);transition:all .2s ease-out}@media(max-width: 600px){.question-answer-container>.wpeo-table .answer{width:60px;height:60px;line-height:60px;font-size:25px}}.question-answer-container>.wpeo-table .answer.square{border-radius:10%}.question-answer-container>.wpeo-table .answer:hover{cursor:pointer}.question-answer-container>.wpeo-table .answer.active{color:#fff !important}.question-answer-container>.wpeo-table .question-comment-container{margin-top:10px}.question-answer-container>.wpeo-table .question-comment-container .question-ref{font-size:13px;font-weight:700}.question-answer-container>.wpeo-table .question-comment-container .question-textarea{width:100%;background:#fff;border:1px solid rgba(0,0,0,.2);padding:1em 1.4em}.confirmquestions .answer{display:inline-block;width:30px;height:30px;line-height:30px;margin:0 4px;text-align:center;border-radius:50%;background:#fff;border:1px solid rgba(0,0,0,.4);-webkit-transition:all .2s ease-out;transition:all .2s ease-out}.confirmquestions .answer:hover{cursor:pointer}.confirmquestions .answer[value="1"]{color:#47e58e}.confirmquestions .answer[value="2"]{color:#e05353}.confirmquestions .answer[value="3"]{color:#e9ad4f}.confirmquestions .answer[value="4"]{color:rgba(0,0,0,.7);font-weight:700}.confirmquestions input[readonly]{border:0;width:100%;pointer-events:none}.confirmquestions input[readonly]:hover{cursor:default}.verdict-container{display:flex;gap:10px;justify-content:center}.verdict-option input[type=radio]{display:none}.verdict-box{width:60px;height:60px;display:flex;align-items:center;justify-content:center;border:2px solid rgba(0,0,0,0);border-radius:5px;font-weight:bold;cursor:pointer;transition:background-color .3s,border-color .3s}.verdict-ok{background-color:#e0f7e9;color:#27ae60}.verdict-ko{background-color:#fdecea;color:#c0392b}.verdict-option input[type=radio]:checked+.verdict-box{border-color:#000}.element-list-medias .question-section{display:block;margin-bottom:20px}.element-list-medias .question-section::after{display:block;content:"";clear:both}.element-list-medias .question-ref{font-weight:800;display:block;clear:both}.element-list-medias .media-container{display:block;float:left;margin-right:10px;margin-bottom:10px}.element-list-medias .media-container a{transition:all .2s ease-out}.element-list-medias .media-container a:hover{opacity:.8}.element-list-medias .media-container .photo{width:100%;height:100%;object-fit:cover}.question-table .linked-medias-list{display:flex;gap:10px;height:auto !important}@media(max-width: 500px){.question-table .linked-medias-list{flex-wrap:wrap}}@media(max-width: 500px){div.tabBar table.border.question-table tr.linked-medias,div.tabBar table.border.question-table tr.linked-medias .linked-medias-list{height:auto !important}}div.mainmenu.digiquali{background-image:none}div.mainmenu.digiquali::before{content:""}@media(max-width: 600px){div.tabsAction>span.butAction,div.tabsAction>span.butActionRefused,div.tabsAction>a.butAction,div.tabsAction>a.butActionDelete{padding:14px}}.dashboard-control{width:40px;height:40px;border-radius:6px;text-align:center;color:#fff;font-weight:900;font-size:14px;line-height:.9;padding:7px 2px;pointer-events:none}.progress-info{display:flex;align-items:center}.progress-info .progress-bar{width:100%;height:20px;background-color:#ddd;border-radius:5px}.progress-info .progress{width:50%;height:100%;border-radius:5px;transition:width .3s}.sheet-images-container .sheet-grid-images{display:flex;flex-wrap:wrap;gap:.8em}.sheet-images-container .sheet-grid-images img{object-fit:cover;border:3px solid #fff;transition:all .2s ease-out}.sheet-images-container .sheet-grid-images img:hover{cursor:pointer;opacity:.6}.preview-photo{z-index:2100 !important}.dropdown-toggle::after{display:none}.favorite-photo{border:5px solid #0d8aff} \ No newline at end of file diff --git a/css/scss/page/_control.scss b/css/scss/page/_control.scss index 60143cfa..79cf1890 100644 --- a/css/scss/page/_control.scss +++ b/css/scss/page/_control.scss @@ -178,3 +178,35 @@ .confirmquestions input[readonly]:hover { cursor: default; } + +.verdict-container { + display: flex; + gap: 10px; + justify-content: center; +} +.verdict-option input[type="radio"] { + display: none; +} +.verdict-box { + width: 60px; + height: 60px; + display: flex; + align-items: center; + justify-content: center; + border: 2px solid transparent; + border-radius: 5px; + font-weight: bold; + cursor: pointer; + transition: background-color 0.3s, border-color 0.3s; +} +.verdict-ok { + background-color: #e0f7e9; + color: #27ae60; +} +.verdict-ko { + background-color: #fdecea; + color: #c0392b; +} +.verdict-option input[type="radio"]:checked + .verdict-box { + border-color: #000; +} diff --git a/js/digiquali.min.js b/js/digiquali.min.js index e32ab982..44765d60 100644 --- a/js/digiquali.min.js +++ b/js/digiquali.min.js @@ -1 +1 @@ -window.digiquali||(window.digiquali={},window.digiquali.scriptsLoaded=!1),window.digiquali.scriptsLoaded||(window.digiquali.init=function(){window.digiquali.load_list_script()},window.digiquali.load_list_script=function(){if(!window.digiquali.scriptsLoaded){var t=void 0,e=void 0;for(t in window.digiquali)for(e in window.digiquali[t].init&&window.digiquali[t].init(),window.digiquali[t])window.digiquali[t]&&window.digiquali[t][e]&&window.digiquali[t][e].init&&window.digiquali[t][e].init();window.digiquali.scriptsLoaded=!0}},window.digiquali.refresh=function(){var t=void 0,e=void 0;for(t in window.digiquali)for(e in window.digiquali[t].refresh&&window.digiquali[t].refresh(),window.digiquali[t])window.digiquali[t]&&window.digiquali[t][e]&&window.digiquali[t][e].refresh&&window.digiquali[t][e].refresh()},$(document).ready(window.digiquali.init)),window.digiquali.control={},window.digiquali.control.init=function(){window.digiquali.control.event()},window.digiquali.control.event=function(){$(document).on("click",".validateButton",window.digiquali.control.getAnswerCounter),$(document).on("change","#fk_sheet",window.digiquali.control.showSelectObjectLinked),$(document).on("click",".clipboard-copy",window.digiquali.control.copyToClipboard),$(document).on("change","#productId",window.digiquali.control.refreshLotSelector),$(document).on("click",".switch-public-control-view",window.digiquali.control.switchPublicControlView),$(document).on("click",".show-only-questions-with-no-answer",window.digiquali.control.showOnlyQuestionsWithNoAnswer),$(document).on("click",".photo-sheet-category",window.digiquali.control.getSheetCategoryID),$(document).on("click",".photo-sheet-sub-category",window.digiquali.control.getSheetSubCategoryID),$(document).on("click",".photo-sheet",window.digiquali.control.getSheetID)},window.digiquali.control.getAnswerCounter=function(t){let e=0;jQuery("#tablelines").children().each(function(){0<$(this).find(".answer.active").length&&(e+=1)}),document.cookie="answerCounter="+e},window.digiquali.control.showSelectObjectLinked=function(){var t=$(this).val(),e=window.saturne.toolbox.getToken(),i=window.saturne.toolbox.getQuerySeparator(document.URL),i=document.URL+i+"fk_sheet="+t+"&token="+e;window.saturne.loader.display($(".linked-objects")),$.ajax({url:i,type:"POST",processData:!1,contentType:!1,success:function(t){$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.copyToClipboard=function(t){var e=$(".copy-to-clipboard").attr("value");navigator.clipboard.writeText(e).then(()=>{$(".clipboard-copy").animate({backgroundColor:"#59ed9c"},200,()=>{$(".clipboard-copy").attr("class","fas fa-check clipboard-copy"),$(this).tooltip({items:".clipboard-copy",content:$("#copyToClipboardTooltip").val()}),$(this).tooltip("open"),$(".clipboard-copy").attr("style","")})})},window.digiquali.control.refreshLotSelector=function(t){var e=document.getElementById("add_control_equipment"),e=new FormData(e),i=window.saturne.toolbox.getToken(),e=e.get("productId"),i=document.URL+"&token="+i;i+="&fk_product="+e,window.saturne.loader.display($(".product-lot")),$.ajax({url:i,type:"POST",processData:!1,contentType:!1,success:function(t){$(".product-lot").replaceWith($(t).find(".product-lot"))},error:function(){}})},window.digiquali.control.switchPublicControlView=function(t){var e=$(this).find(".public-control-view").val(),i=window.saturne.toolbox.getToken();let o=document.URL+"&token="+i;o+=0==e?"&show_control_list=1":"&show_last_control=1",window.saturne.loader.display($(".signature-container")),$.ajax({url:o,type:"POST",processData:!1,contentType:!1,success:function(t){$("#publicControlHistory").replaceWith($(t).find("#publicControlHistory"))},error:function(){}})},window.digiquali.control.showOnlyQuestionsWithNoAnswer=function(){var t=window.saturne.toolbox.getQuerySeparator(document.URL),e=window.saturne.toolbox.getToken();let i;i=$(this).hasClass("fa-toggle-off")?1:0,window.saturne.loader.display($(this)),$.ajax({url:document.URL+t+"action=show_only_questions_with_no_answer&token="+e,type:"POST",processData:!1,data:JSON.stringify({showOnlyQuestionsWithNoAnswer:i}),contentType:!1,success:function(t){$(".progress-info").replaceWith($(t).find(".progress-info")),$(".question-answer-container").replaceWith($(t).find(".question-answer-container"))},error:function(){}})},window.digiquali.control.getSheetCategoryID=function(){let e=$(this).attr("value");var t=window.saturne.toolbox.getToken(),i=window.saturne.toolbox.getQuerySeparator(document.URL);window.saturne.loader.display($(".sheet-images-container")),$.ajax({url:document.URL+i+"sheetCategoryID="+e+"&token="+t,type:"POST",processData:!1,contentType:!1,success:function(t){$(".sheet-images-container").replaceWith($(t).find(".sheet-images-container")),$(".photo-sheet-category[value="+e+"]").css("border","3px solid #0d8aff"),$(".photo-sheet-category[value="+e+"]").addClass("photo-sheet-category-active"),$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.getSheetSubCategoryID=function(){let e=$(".photo-sheet-category-active").attr("value"),i=$(this).attr("value");var t=window.saturne.toolbox.getToken(),o=window.saturne.toolbox.getQuerySeparator(document.URL);window.saturne.loader.display($(".sheet-images-container")),$.ajax({url:document.URL+o+"sheetCategoryID="+e+"&sheetSubCategoryID="+i+"&token="+t,type:"POST",processData:!1,contentType:!1,success:function(t){$(".sheet-images-container").replaceWith($(t).find(".sheet-images-container")),$(".photo-sheet-category[value="+e+"]").css("border","3px solid #0d8aff"),$(".photo-sheet-category[value="+e+"]").addClass("photo-sheet-category-active"),$(".photo-sheet-sub-category[value="+i+"]").css("border","3px solid #0d8aff"),$(".photo-sheet-sub-category[value="+i+"]").addClass("photo-sheet-sub-category-active"),$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.getSheetID=function(){let e=$(this).attr("data-object-id");var t=$(".photo-sheet-category-active").attr("value"),i=$(".photo-sheet-sub-category-active").attr("value"),o=window.saturne.toolbox.getToken(),n=window.saturne.toolbox.getQuerySeparator(document.URL);window.saturne.loader.display($(".sheet-elements")),window.saturne.loader.display($(".linked-objects")),$.ajax({url:document.URL+n+"fk_sheet="+e+"&sheetCategoryID="+t+"&sheetSubCategoryID="+i+"&token="+o,type:"POST",processData:!1,contentType:!1,success:function(t){$(".sheet-elements").replaceWith($(t).find(".sheet-elements")),$(".photo-sheet[data-object-id="+e+"]").css("border","3px solid #0d8aff"),$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.object={},window.digiquali.object.init=function(){window.digiquali.object.event()},window.digiquali.object.event=function(){$(document).on("change",".object-table.linked-objects select",window.digiquali.object.disableOtherSelectors),$(document).on("click",".answer:not(.disable)",window.digiquali.object.selectAnswer),$(document).on("input",".input-answer:not(.disable)",window.digiquali.object.selectAnswer),$(document).on("keyup",".question-comment",window.digiquali.object.showCommentUnsaved)},window.digiquali.object.disableOtherSelectors=function(){var t=document.getElementById("createObjectForm"),t=new FormData(t),e=$(this).attr("id");0<=t.get(e)?$(".object-table.linked-objects").find("select").not("#"+e).attr("disabled",1):$(".object-table.linked-objects").find("select").not("#"+e).removeAttr("disabled")},window.digiquali.object.selectAnswer=function(){var e=$(this).closest(".select-answer.answer-cell"),t=e.attr("data-questionId"),i=$(this).closest(".table-id-"+t).attr("data-publicInterface"),o=$(this).closest(".table-id-"+t).attr("data-autoSave");let n="";var a=$(this).hasClass("answer")?$(this).attr("value"):$(this).val(),s=$(this).closest(".table-id-"+t).find("#comment"+t).val();if($(this).closest(".table-cell").hasClass("select-answer")){if($(this).hasClass("multiple-answers")){$(this).closest("span").toggleClass("active");let t=[];e.find(".multiple-answers.active").each(function(){t.push($(this).attr("value"))}),n=t}else $(this).closest(".table-cell").find(".answer.active").css("background-color","#fff"),$(this).closest(".table-cell").find("span").removeClass("active"),$(this).closest("span").addClass("active"),n=a;$(this).hasClass("active")?(e=$(this).closest(".answer-cell").find(".answer-color-"+$(this).attr("value")).val(),$(this).attr("style",$(this).attr("style")+" background:"+e+";")):$(this).attr("style",$(this).attr("style")+" background:#fff;"),$(this).closest(".answer-cell").find(".question-answer").val(n)}i||1!=o||$(this).hasClass("multiple-answers")?window.digiquali.object.updateButtonsStatus():window.digiquali.object.saveAnswer(t,n,s)},window.digiquali.object.showCommentUnsaved=function(){$(this).hasClass("show-comment-unsaved-message")||($(this).after('

Commentaire non enregistré

'),$(this).addClass("show-comment-unsaved-message")),window.digiquali.object.updateButtonsStatus()},window.digiquali.object.updateButtonsStatus=function(){$("#saveButton").removeClass("butActionRefused"),$("#saveButton").addClass("butAction"),$("#saveButton").css("background","#0d8aff"),$(".fa-circle").css("display","inline"),$("#saveButton").attr("onclick",'$("#saveObject").submit()'),$(".validateButton").removeClass("butAction"),$("#dialog-confirm-actionButtonValidate").removeAttr("id"),$(".validateButton").addClass("butActionRefused")},window.digiquali.object.saveAnswer=function(t,e,i){var o=window.saturne.toolbox.getToken(),n=window.saturne.toolbox.getQuerySeparator(document.URL);window.saturne.loader.display($(".table-id-"+t)),$.ajax({url:document.URL+n+"action=save&token="+o,type:"POST",data:JSON.stringify({autoSave:!0,questionId:t,answer:e,comment:i}),processData:!1,contentType:!1,success:function(t){$(".fiche").replaceWith($(t).find(".fiche"))},error:function(){}})},window.digiquali.question={},window.digiquali.question.init=function(){window.digiquali.question.event()},window.digiquali.question.event=function(){$(document).on("click",".clicked-photo-preview",window.digiquali.question.previewPhoto),$(document).on("click",".ui-dialog-titlebar-close",window.digiquali.question.closePreviewPhoto),$(document).on("click","#show_photo",window.digiquali.question.showPhoto),$(document).on("click",".answer-picto .item, .wpeo-table .item",window.digiquali.question.selectAnswerPicto)},window.digiquali.question.previewPhoto=function(t){$(this).hasClass("photo-ok")?$("#dialogforpopup").attr("style","border: 10px solid #47e58e"):$(this).hasClass("photo-ko")&&$("#dialogforpopup").attr("style","border: 10px solid #e05353")},window.digiquali.question.closePreviewPhoto=function(t){$("#dialogforpopup").attr("style","border:")},window.digiquali.question.showPhoto=function(){var t=$(this).closest(".question-table").find(".linked-medias");t.hasClass("hidden")?(t.attr("style",""),t.removeClass("hidden")):(t.attr("style","display:none"),t.addClass("hidden"))},window.digiquali.question.selectAnswerPicto=function(t){var e=$(this).closest(".wpeo-dropdown");$(this).closest(".content").removeClass("active"),e.find(".dropdown-toggle span").hide(),e.find(".dropdown-toggle.button-picto").html($(this).closest(".wpeo-tooltip-event").html()),e.find(".input-hidden-picto").val($(this).data("label"))},window.digiquali.sheet={},window.digiquali.sheet.init=function(){window.digiquali.sheet.event()},window.digiquali.sheet.event=function(){}; \ No newline at end of file +window.digiquali||(window.digiquali={},window.digiquali.scriptsLoaded=!1),window.digiquali.scriptsLoaded||(window.digiquali.init=function(){window.digiquali.load_list_script()},window.digiquali.load_list_script=function(){if(!window.digiquali.scriptsLoaded){var t=void 0,o=void 0;for(t in window.digiquali)for(o in window.digiquali[t].init&&window.digiquali[t].init(),window.digiquali[t])window.digiquali[t]&&window.digiquali[t][o]&&window.digiquali[t][o].init&&window.digiquali[t][o].init();window.digiquali.scriptsLoaded=!0}},window.digiquali.refresh=function(){var t=void 0,o=void 0;for(t in window.digiquali)for(o in window.digiquali[t].refresh&&window.digiquali[t].refresh(),window.digiquali[t])window.digiquali[t]&&window.digiquali[t][o]&&window.digiquali[t][o].refresh&&window.digiquali[t][o].refresh()},$(document).ready(window.digiquali.init)),window.digiquali.control={},window.digiquali.control.init=function(){window.digiquali.control.event()},window.digiquali.control.event=function(){$(document).on("click",".validateButton",window.digiquali.control.getAnswerCounter),$(document).on("change","#fk_sheet",window.digiquali.control.showSelectObjectLinked),$(document).on("click",".clipboard-copy",window.digiquali.control.copyToClipboard),$(document).on("change","#productId",window.digiquali.control.refreshLotSelector),$(document).on("click",".switch-public-control-view",window.digiquali.control.switchPublicControlView),$(document).on("click",".show-only-questions-with-no-answer",window.digiquali.control.showOnlyQuestionsWithNoAnswer),$(document).on("click",".photo-sheet-category",window.digiquali.control.getSheetCategoryID),$(document).on("click",".photo-sheet-sub-category",window.digiquali.control.getSheetSubCategoryID),$(document).on("click",".photo-sheet",window.digiquali.control.getSheetID),$(document).on("click",".saveSubControl",window.digiquali.control.saveSubControl),$(document).on("click",".answerSubControl",window.digiquali.control.openAnswerModal)},window.digiquali.control.getAnswerCounter=function(t){let o=0;jQuery("#tablelines").children().each(function(){0<$(this).find(".answer.active").length&&(o+=1)}),document.cookie="answerCounter="+o},window.digiquali.control.showSelectObjectLinked=function(){var t=$(this).val(),o=window.saturne.toolbox.getToken(),e=window.saturne.toolbox.getQuerySeparator(document.URL),e=document.URL+e+"fk_sheet="+t+"&token="+o;window.saturne.loader.display($(".linked-objects")),$.ajax({url:e,type:"POST",processData:!1,contentType:!1,success:function(t){$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.copyToClipboard=function(t){var o=$(".copy-to-clipboard").attr("value");navigator.clipboard.writeText(o).then(()=>{$(".clipboard-copy").animate({backgroundColor:"#59ed9c"},200,()=>{$(".clipboard-copy").attr("class","fas fa-check clipboard-copy"),$(this).tooltip({items:".clipboard-copy",content:$("#copyToClipboardTooltip").val()}),$(this).tooltip("open"),$(".clipboard-copy").attr("style","")})})},window.digiquali.control.refreshLotSelector=function(t){var o=document.getElementById("add_control_equipment"),o=new FormData(o),e=window.saturne.toolbox.getToken(),o=o.get("productId"),e=document.URL+"&token="+e;e+="&fk_product="+o,window.saturne.loader.display($(".product-lot")),$.ajax({url:e,type:"POST",processData:!1,contentType:!1,success:function(t){$(".product-lot").replaceWith($(t).find(".product-lot"))},error:function(){}})},window.digiquali.control.switchPublicControlView=function(t){var o=$(this).find(".public-control-view").val(),e=window.saturne.toolbox.getToken();let i=document.URL+"&token="+e;i+=0==o?"&show_control_list=1":"&show_last_control=1",window.saturne.loader.display($(".signature-container")),$.ajax({url:i,type:"POST",processData:!1,contentType:!1,success:function(t){$("#publicControlHistory").replaceWith($(t).find("#publicControlHistory"))},error:function(){}})},window.digiquali.control.showOnlyQuestionsWithNoAnswer=function(){var t=window.saturne.toolbox.getQuerySeparator(document.URL),o=window.saturne.toolbox.getToken();let e;e=$(this).hasClass("fa-toggle-off")?1:0,window.saturne.loader.display($(this)),$.ajax({url:document.URL+t+"action=show_only_questions_with_no_answer&token="+o,type:"POST",processData:!1,data:JSON.stringify({showOnlyQuestionsWithNoAnswer:e}),contentType:!1,success:function(t){$(".progress-info").replaceWith($(t).find(".progress-info")),$(".question-answer-container").replaceWith($(t).find(".question-answer-container"))},error:function(){}})},window.digiquali.control.getSheetCategoryID=function(){let o=$(this).attr("value");var t=window.saturne.toolbox.getToken(),e=window.saturne.toolbox.getQuerySeparator(document.URL);window.saturne.loader.display($(".sheet-images-container")),$.ajax({url:document.URL+e+"sheetCategoryID="+o+"&token="+t,type:"POST",processData:!1,contentType:!1,success:function(t){$(".sheet-images-container").replaceWith($(t).find(".sheet-images-container")),$(".photo-sheet-category[value="+o+"]").css("border","3px solid #0d8aff"),$(".photo-sheet-category[value="+o+"]").addClass("photo-sheet-category-active"),$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.getSheetSubCategoryID=function(){let o=$(".photo-sheet-category-active").attr("value"),e=$(this).attr("value");var t=window.saturne.toolbox.getToken(),i=window.saturne.toolbox.getQuerySeparator(document.URL);window.saturne.loader.display($(".sheet-images-container")),$.ajax({url:document.URL+i+"sheetCategoryID="+o+"&sheetSubCategoryID="+e+"&token="+t,type:"POST",processData:!1,contentType:!1,success:function(t){$(".sheet-images-container").replaceWith($(t).find(".sheet-images-container")),$(".photo-sheet-category[value="+o+"]").css("border","3px solid #0d8aff"),$(".photo-sheet-category[value="+o+"]").addClass("photo-sheet-category-active"),$(".photo-sheet-sub-category[value="+e+"]").css("border","3px solid #0d8aff"),$(".photo-sheet-sub-category[value="+e+"]").addClass("photo-sheet-sub-category-active"),$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.getSheetID=function(){let o=$(this).attr("data-object-id");var t=$(".photo-sheet-category-active").attr("value"),e=$(".photo-sheet-sub-category-active").attr("value"),i=window.saturne.toolbox.getToken(),n=window.saturne.toolbox.getQuerySeparator(document.URL);window.saturne.loader.display($(".sheet-elements")),window.saturne.loader.display($(".linked-objects")),$.ajax({url:document.URL+n+"fk_sheet="+o+"&sheetCategoryID="+t+"&sheetSubCategoryID="+e+"&token="+i,type:"POST",processData:!1,contentType:!1,success:function(t){$(".sheet-elements").replaceWith($(t).find(".sheet-elements")),$(".photo-sheet[data-object-id="+o+"]").css("border","3px solid #0d8aff"),$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.saveSubControl=function(){let e=$(this).attr("data-control-id"),i=$(this).attr("data-mass-control-id");var t=$(this).closest(".table-row").find(".note-public").val(),o=$(this).closest(".table-row").find('.verdict-option input[type="radio"]:checked').val(),n=window.saturne.toolbox.getToken(),a=(window.saturne.toolbox.getQuerySeparator(document.URL),window.saturne.loader.display($(this).closest(".table-row")),document.URL.replace(/id=\d+/,"id="+e));$.ajax({url:a+"&token="+n+"&action=confirm_setVerdict&verdict="+o+"¬eControl="+t,type:"POST",processData:!1,contentType:!1,data:[],success:function(t){var o=document.URL.replace(/id=\d+/,"id="+i);$.ajax({url:o,type:"GET",processData:!1,contentType:!1,data:[],success:function(t){$(".sub-control-"+e).replaceWith($(t).find(".sub-control-"+e))}})},error:function(){}})},window.digiquali.control.openAnswerModal=function(){var t=$(this).attr("data-control-id");$("#modalSubControl"+t).addClass("modal-active")},window.digiquali.object={},window.digiquali.object.init=function(){window.digiquali.object.event()},window.digiquali.object.event=function(){$(document).on("change",".object-table.linked-objects select",window.digiquali.object.disableOtherSelectors),$(document).on("click",".answer:not(.disable)",window.digiquali.object.selectAnswer),$(document).on("input",".input-answer:not(.disable)",window.digiquali.object.selectAnswer),$(document).on("keyup",".question-comment",window.digiquali.object.showCommentUnsaved)},window.digiquali.object.disableOtherSelectors=function(){var t=document.getElementById("createObjectForm"),t=new FormData(t),o=$(this).attr("id");0<=t.get(o)?$(".object-table.linked-objects").find("select").not("#"+o).attr("disabled",1):$(".object-table.linked-objects").find("select").not("#"+o).removeAttr("disabled")},window.digiquali.object.selectAnswer=function(){var o=$(this).closest(".select-answer.answer-cell"),t=o.attr("data-questionId"),e=$(this).closest(".table-id-"+t).attr("data-publicInterface"),i=$(this).closest(".table-id-"+t).attr("data-autoSave");let n="";var a=$(this).hasClass("answer")?$(this).attr("value"):$(this).val(),s=$(this).closest(".table-id-"+t).find("#comment"+t).val();if($(this).closest(".table-cell").hasClass("select-answer")){if($(this).hasClass("multiple-answers")){$(this).closest("span").toggleClass("active");let t=[];o.find(".multiple-answers.active").each(function(){t.push($(this).attr("value"))}),n=t}else $(this).closest(".table-cell").find(".answer.active").css("background-color","#fff"),$(this).closest(".table-cell").find("span").removeClass("active"),$(this).closest("span").addClass("active"),n=a;$(this).hasClass("active")?(o=$(this).closest(".answer-cell").find(".answer-color-"+$(this).attr("value")).val(),$(this).attr("style",$(this).attr("style")+" background:"+o+";")):$(this).attr("style",$(this).attr("style")+" background:#fff;"),$(this).closest(".answer-cell").find(".question-answer").val(n)}e||1!=i||$(this).hasClass("multiple-answers")?window.digiquali.object.updateButtonsStatus():window.digiquali.object.saveAnswer(t,n,s)},window.digiquali.object.showCommentUnsaved=function(){$(this).hasClass("show-comment-unsaved-message")||($(this).after('

Commentaire non enregistré

'),$(this).addClass("show-comment-unsaved-message")),window.digiquali.object.updateButtonsStatus()},window.digiquali.object.updateButtonsStatus=function(){$("#saveButton").removeClass("butActionRefused"),$("#saveButton").addClass("butAction"),$("#saveButton").css("background","#0d8aff"),$(".fa-circle").css("display","inline"),$("#saveButton").attr("onclick",'$("#saveObject").submit()'),$(".validateButton").removeClass("butAction"),$("#dialog-confirm-actionButtonValidate").removeAttr("id"),$(".validateButton").addClass("butActionRefused")},window.digiquali.object.saveAnswer=function(t,o,e){var i=window.saturne.toolbox.getToken(),n=window.saturne.toolbox.getQuerySeparator(document.URL);window.saturne.loader.display($(".table-id-"+t)),$.ajax({url:document.URL+n+"action=save&token="+i,type:"POST",data:JSON.stringify({autoSave:!0,questionId:t,answer:o,comment:e}),processData:!1,contentType:!1,success:function(t){$(".fiche").replaceWith($(t).find(".fiche"))},error:function(){}})},window.digiquali.question={},window.digiquali.question.init=function(){window.digiquali.question.event()},window.digiquali.question.event=function(){$(document).on("click",".clicked-photo-preview",window.digiquali.question.previewPhoto),$(document).on("click",".ui-dialog-titlebar-close",window.digiquali.question.closePreviewPhoto),$(document).on("click","#show_photo",window.digiquali.question.showPhoto),$(document).on("click",".answer-picto .item, .wpeo-table .item",window.digiquali.question.selectAnswerPicto)},window.digiquali.question.previewPhoto=function(t){$(this).hasClass("photo-ok")?$("#dialogforpopup").attr("style","border: 10px solid #47e58e"):$(this).hasClass("photo-ko")&&$("#dialogforpopup").attr("style","border: 10px solid #e05353")},window.digiquali.question.closePreviewPhoto=function(t){$("#dialogforpopup").attr("style","border:")},window.digiquali.question.showPhoto=function(){var t=$(this).closest(".question-table").find(".linked-medias");t.hasClass("hidden")?(t.attr("style",""),t.removeClass("hidden")):(t.attr("style","display:none"),t.addClass("hidden"))},window.digiquali.question.selectAnswerPicto=function(t){var o=$(this).closest(".wpeo-dropdown");$(this).closest(".content").removeClass("active"),o.find(".dropdown-toggle span").hide(),o.find(".dropdown-toggle.button-picto").html($(this).closest(".wpeo-tooltip-event").html()),o.find(".input-hidden-picto").val($(this).data("label"))},window.digiquali.sheet={},window.digiquali.sheet.init=function(){window.digiquali.sheet.event()},window.digiquali.sheet.event=function(){}; \ No newline at end of file diff --git a/js/modules/control.js b/js/modules/control.js index 9d23e407..71094c73 100644 --- a/js/modules/control.js +++ b/js/modules/control.js @@ -37,6 +37,9 @@ window.digiquali.control.event = function() { $(document).on('click', '.photo-sheet-category', window.digiquali.control.getSheetCategoryID); $(document).on('click', '.photo-sheet-sub-category', window.digiquali.control.getSheetSubCategoryID); $(document).on('click', '.photo-sheet', window.digiquali.control.getSheetID); + $(document).on('click', '.saveSubControl', window.digiquali.control.saveSubControl); + $(document).on('click', '.answerSubControl', window.digiquali.control.openAnswerModal); + }; /** @@ -311,3 +314,63 @@ window.digiquali.control.getSheetID = function() { error: function() {} }); }; + +/** + * Save sub control + * + * @since 1.10.0 + * @version 1.10.0 + * + * @return {void} + */ +window.digiquali.control.saveSubControl = function() { + let subControlID = $(this).attr('data-control-id'); + let massControlId = $(this).attr('data-mass-control-id'); + let notePublic = $(this).closest('.table-row').find('.note-public').val(); + // get input checked + + let verdict = $(this).closest('.table-row').find('.verdict-option input[type="radio"]:checked').val(); + + let token = window.saturne.toolbox.getToken(); + let querySeparator = window.saturne.toolbox.getQuerySeparator(document.URL); + + window.saturne.loader.display($(this).closest('.table-row')); + //replace current id with subControl Id + // + let url = document.URL.replace(/id=\d+/, 'id=' + subControlID); + $.ajax({ + url: url + '&token=' + token + '&action=confirm_setVerdict&verdict=' + verdict + '¬eControl=' + notePublic, + type: 'POST', + processData: false, + contentType: false, + data: [], + success: function(resp) { + let url = document.URL.replace(/id=\d+/, 'id=' + massControlId); + $.ajax({ + url: url, + type: 'GET', + processData: false, + contentType: false, + data: [], + success: function (resp) { + $('.sub-control-' + subControlID).replaceWith($(resp).find('.sub-control-' + subControlID)); + } + }); + }, + error: function() {} + }); +} + +/** + * Open answer modal + * + * @since 1.10.0 + * @version 1.10.0 + * + * @return {void} + */ +window.digiquali.control.openAnswerModal = function() { + let subControlID = $(this).attr('data-control-id'); + $('#modalSubControl' + subControlID).addClass('modal-active'); + +}; diff --git a/langs/fr_FR/digiquali.lang b/langs/fr_FR/digiquali.lang index 1d6bc92e..45a62d16 100644 --- a/langs/fr_FR/digiquali.lang +++ b/langs/fr_FR/digiquali.lang @@ -349,6 +349,9 @@ QuestionAnswered = Réponse/Question LastStatusDate = Dernières dates de statut ValidationDate = Date de validation ReOpenDate = Date de réouverture +MassControl = Contrôle en masse + + # # ControlDet diff --git a/view/control/control_card.php b/view/control/control_card.php index 07928615..06c58402 100644 --- a/view/control/control_card.php +++ b/view/control/control_card.php @@ -401,6 +401,13 @@ print ''; } + // Mass control + print '' . ($source != 'pwa' ? $langs->trans('MassControl') : img_picto('', 'fontawesome_fa-tasks_fas_#000000_2em', 'class="pictofixedwidth"')) . ''; + print ($source != 'pwa' ? img_picto('', 'fontawesome_fa-tasks_fas_#000000', 'class="pictofixedwidth"') : ''); + print ''; + print ''; + + print ''; print '
'; @@ -888,33 +895,40 @@ print ''; } - // QUESTION LINES - print '
'; + if ($object->mass_control) { + require_once __DIR__ . '/../../core/tpl/digiquali_mass_control_list.tpl.php'; - if (is_array($questionIds) && !empty($questionIds)) { - ksort($questionIds); - } ?> + } else { + // QUESTION LINES + print '
'; -
- -
-
-
- conf->DIGIQUALI_SHOW_ONLY_QUESTIONS_WITH_NO_ANSWER ? img_picto($langs->trans('Enabled'), 'switch_on', 'class="show-only-questions-with-no-answer marginrightonly"') : img_picto($langs->trans('Disabled'), 'switch_off', 'class="show-only-questions-with-no-answer marginrightonly"'); - print $form->textwithpicto($user->conf->DIGIQUALI_SHOW_ONLY_QUESTIONS_WITH_NO_ANSWER ? '' : '', $langs->trans('ShowOnlyQuestionsWithNoAnswer')); - } else { - $user->conf->DIGIQUALI_SHOW_ONLY_QUESTIONS_WITH_NO_ANSWER = 0; + if (is_array($questionIds) && !empty($questionIds)) { + ksort($questionIds); } ?> -
-conf->DIGIQUALI_SHOW_ONLY_QUESTIONS_WITH_NO_ANSWER || $answerCounter != $questionCounter) { - print load_fiche_titre($langs->trans('LinkedQuestionsList'), '', ''); - print '
'; - require_once __DIR__ . '/../../core/tpl/digiquali_answers.tpl.php'; - print '
'; +
+ +
+
+
+ conf->DIGIQUALI_SHOW_ONLY_QUESTIONS_WITH_NO_ANSWER ? img_picto($langs->trans('Enabled'), 'switch_on', 'class="show-only-questions-with-no-answer marginrightonly"') : img_picto($langs->trans('Disabled'), 'switch_off', 'class="show-only-questions-with-no-answer marginrightonly"'); + print $form->textwithpicto($user->conf->DIGIQUALI_SHOW_ONLY_QUESTIONS_WITH_NO_ANSWER ? '' : '', $langs->trans('ShowOnlyQuestionsWithNoAnswer')); + } else { + $user->conf->DIGIQUALI_SHOW_ONLY_QUESTIONS_WITH_NO_ANSWER = 0; + } ?> +
+ + conf->DIGIQUALI_SHOW_ONLY_QUESTIONS_WITH_NO_ANSWER || $answerCounter != $questionCounter) { + print load_fiche_titre($langs->trans('LinkedQuestionsList'), '', ''); + print '
'; + require_once __DIR__ . '/../../core/tpl/digiquali_answers.tpl.php'; + print '
'; + } } + + print '
'; print ''; print dol_get_fiche_end(); From 24b3947b749f8d764c622265745355551d486070 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20David?= Date: Tue, 13 Aug 2024 16:26:42 +0200 Subject: [PATCH 05/25] #1680 [Control] add: control answers & lock --- core/tpl/digiquali_mass_control_list.tpl.php | 44 +++++++++++-- ...9_modDigiQuali_DigiQualiTriggers.class.php | 15 +++-- js/digiquali.min.js | 2 +- js/modules/control.js | 61 +++++++++++++++---- js/modules/object.js | 10 ++- langs/fr_FR/digiquali.lang | 3 + view/control/control_card.php | 2 +- view/sheet/sheet_card.php | 6 +- 8 files changed, 115 insertions(+), 28 deletions(-) diff --git a/core/tpl/digiquali_mass_control_list.tpl.php b/core/tpl/digiquali_mass_control_list.tpl.php index ea4a4b7a..db69984a 100644 --- a/core/tpl/digiquali_mass_control_list.tpl.php +++ b/core/tpl/digiquali_mass_control_list.tpl.php @@ -8,7 +8,7 @@ // Fetch the list of mass controls linked to the object $massControlList = $object->fetchAll('', '', 0, 0, ['fk_control' => $object->id]); - +print ''; // Start the responsive table container print '
'; @@ -36,9 +36,13 @@ } print '
'; +$mainControlId = $object->id; // Check if there are any mass controls and print them if (is_array($massControlList) && !empty($massControlList)) { foreach ($massControlList as $massControl) { + $object = $massControl; + $massControl->fetch_optionals(); + $massControl->fetchLines(); // Fetch the public note if it exists print '
'; @@ -62,7 +66,25 @@ print '
'; print '
'; - print ''; + $questionCounter = 0; + if (!empty($questionIds)) { + $questionCounter = count($questionIds); + } + + $answerCounter = 0; + if (is_array($massControl->lines) && !empty($massControl->lines)) { + foreach ($massControl->lines as $massControlLine) { + if (dol_strlen($massControlLine->answer) > 0) { + $answerCounter++; + } + } + } + //affiche le nombre de questions répondues + print '' . $answerCounter . '/' . $questionCounter . ''; + print ''; print '
'; // Additional cells for QRCode, Document, and Action can be filled in as needed @@ -70,20 +92,29 @@ print '
'; print '
'; print '
'; - $displayButton = $onPhone ? '' : '' . ' ' . $langs->trans('Save'); - print '' . $displayButton . ''; - print '
'; + if ($massControl->verdict > 0 && $answerCounter == $questionCounter) { + $displayButton = $onPhone ? '' : '' . ' ' . $langs->trans('Lock'); + print '' . $displayButton . ''; + } else { + $displayButton = $onPhone ? '' : '' . ' ' . $langs->trans('Save'); + print '' . $displayButton . ''; + } + print '
'; print '
'; print ''; + print '
'; + print '
'; + } } else { @@ -92,6 +123,7 @@ print '
' . $langs->trans('NoMassControlFound') . '
'; print ''; } +$object->fetch($id); print ''; // End of table print ''; // End of responsive container ?> diff --git a/core/triggers/interface_99_modDigiQuali_DigiQualiTriggers.class.php b/core/triggers/interface_99_modDigiQuali_DigiQualiTriggers.class.php index e8ddf2e4..dceda313 100644 --- a/core/triggers/interface_99_modDigiQuali_DigiQualiTriggers.class.php +++ b/core/triggers/interface_99_modDigiQuali_DigiQualiTriggers.class.php @@ -133,7 +133,11 @@ public function runTrigger($action, $object, User $user, Translate $langs, Conf require_once __DIR__ . '/../../class/sheet.class.php'; require_once __DIR__ . '/../../class/control.class.php'; + // Load Saturne libraries. + require_once __DIR__ . '/../../../saturne/class/saturnesignature.class.php'; + $sheet = new Sheet($this->db); + $signatory = new SaturneSignature($this->db, 'digiquali'); $sheet->fetch($object->fk_sheet); if ($sheet->success_rate > 0) { @@ -141,6 +145,8 @@ public function runTrigger($action, $object, User $user, Translate $langs, Conf $object->setValueFrom('success_rate', $object->success_rate, '', '', 'text', '', $user); } + $isMassControl = $object->mass_control; + $elementArray = []; if ($object->context != 'createfromclone') { @@ -150,8 +156,9 @@ public function runTrigger($action, $object, User $user, Translate $langs, Conf foreach ($elementArray as $linkableElementType => $linkableElement) { $post = GETPOST('multi_' . $linkableElement['post_name'], 'array'); if (!empty($post) && $post > 0) { + foreach($post as $postElement) { - if ($object->mass_control) { + if ($isMassControl) { $control = new Control($this->db); $control->status = $control::STATUS_DRAFT; @@ -159,10 +166,12 @@ public function runTrigger($action, $object, User $user, Translate $langs, Conf $control->fk_sheet = $object->fk_sheet; $control->fk_user_controller = $object->fk_user_controller; $control->fk_control = $object->id; - $control->create($user); + $controlId = $control->create($user, true); + $control->fetch($controlId); $control->add_object_linked($linkableElement['link_name'], $postElement); + $signatory->setSignatory($control->id, $control->element, 'user', [$control->fk_user_controller], 'Controller', 1); } else { $object->add_object_linked($linkableElement['link_name'], $postElement); } @@ -171,8 +180,6 @@ public function runTrigger($action, $object, User $user, Translate $langs, Conf } } - // Load Saturne libraries. - require_once __DIR__ . '/../../../saturne/class/saturnesignature.class.php'; $signatory = new SaturneSignature($this->db, 'digiquali'); $signatory->setSignatory($object->id, $object->element, 'user', [$object->fk_user_controller], 'Controller', 1); diff --git a/js/digiquali.min.js b/js/digiquali.min.js index 44765d60..1337b2ef 100644 --- a/js/digiquali.min.js +++ b/js/digiquali.min.js @@ -1 +1 @@ -window.digiquali||(window.digiquali={},window.digiquali.scriptsLoaded=!1),window.digiquali.scriptsLoaded||(window.digiquali.init=function(){window.digiquali.load_list_script()},window.digiquali.load_list_script=function(){if(!window.digiquali.scriptsLoaded){var t=void 0,o=void 0;for(t in window.digiquali)for(o in window.digiquali[t].init&&window.digiquali[t].init(),window.digiquali[t])window.digiquali[t]&&window.digiquali[t][o]&&window.digiquali[t][o].init&&window.digiquali[t][o].init();window.digiquali.scriptsLoaded=!0}},window.digiquali.refresh=function(){var t=void 0,o=void 0;for(t in window.digiquali)for(o in window.digiquali[t].refresh&&window.digiquali[t].refresh(),window.digiquali[t])window.digiquali[t]&&window.digiquali[t][o]&&window.digiquali[t][o].refresh&&window.digiquali[t][o].refresh()},$(document).ready(window.digiquali.init)),window.digiquali.control={},window.digiquali.control.init=function(){window.digiquali.control.event()},window.digiquali.control.event=function(){$(document).on("click",".validateButton",window.digiquali.control.getAnswerCounter),$(document).on("change","#fk_sheet",window.digiquali.control.showSelectObjectLinked),$(document).on("click",".clipboard-copy",window.digiquali.control.copyToClipboard),$(document).on("change","#productId",window.digiquali.control.refreshLotSelector),$(document).on("click",".switch-public-control-view",window.digiquali.control.switchPublicControlView),$(document).on("click",".show-only-questions-with-no-answer",window.digiquali.control.showOnlyQuestionsWithNoAnswer),$(document).on("click",".photo-sheet-category",window.digiquali.control.getSheetCategoryID),$(document).on("click",".photo-sheet-sub-category",window.digiquali.control.getSheetSubCategoryID),$(document).on("click",".photo-sheet",window.digiquali.control.getSheetID),$(document).on("click",".saveSubControl",window.digiquali.control.saveSubControl),$(document).on("click",".answerSubControl",window.digiquali.control.openAnswerModal)},window.digiquali.control.getAnswerCounter=function(t){let o=0;jQuery("#tablelines").children().each(function(){0<$(this).find(".answer.active").length&&(o+=1)}),document.cookie="answerCounter="+o},window.digiquali.control.showSelectObjectLinked=function(){var t=$(this).val(),o=window.saturne.toolbox.getToken(),e=window.saturne.toolbox.getQuerySeparator(document.URL),e=document.URL+e+"fk_sheet="+t+"&token="+o;window.saturne.loader.display($(".linked-objects")),$.ajax({url:e,type:"POST",processData:!1,contentType:!1,success:function(t){$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.copyToClipboard=function(t){var o=$(".copy-to-clipboard").attr("value");navigator.clipboard.writeText(o).then(()=>{$(".clipboard-copy").animate({backgroundColor:"#59ed9c"},200,()=>{$(".clipboard-copy").attr("class","fas fa-check clipboard-copy"),$(this).tooltip({items:".clipboard-copy",content:$("#copyToClipboardTooltip").val()}),$(this).tooltip("open"),$(".clipboard-copy").attr("style","")})})},window.digiquali.control.refreshLotSelector=function(t){var o=document.getElementById("add_control_equipment"),o=new FormData(o),e=window.saturne.toolbox.getToken(),o=o.get("productId"),e=document.URL+"&token="+e;e+="&fk_product="+o,window.saturne.loader.display($(".product-lot")),$.ajax({url:e,type:"POST",processData:!1,contentType:!1,success:function(t){$(".product-lot").replaceWith($(t).find(".product-lot"))},error:function(){}})},window.digiquali.control.switchPublicControlView=function(t){var o=$(this).find(".public-control-view").val(),e=window.saturne.toolbox.getToken();let i=document.URL+"&token="+e;i+=0==o?"&show_control_list=1":"&show_last_control=1",window.saturne.loader.display($(".signature-container")),$.ajax({url:i,type:"POST",processData:!1,contentType:!1,success:function(t){$("#publicControlHistory").replaceWith($(t).find("#publicControlHistory"))},error:function(){}})},window.digiquali.control.showOnlyQuestionsWithNoAnswer=function(){var t=window.saturne.toolbox.getQuerySeparator(document.URL),o=window.saturne.toolbox.getToken();let e;e=$(this).hasClass("fa-toggle-off")?1:0,window.saturne.loader.display($(this)),$.ajax({url:document.URL+t+"action=show_only_questions_with_no_answer&token="+o,type:"POST",processData:!1,data:JSON.stringify({showOnlyQuestionsWithNoAnswer:e}),contentType:!1,success:function(t){$(".progress-info").replaceWith($(t).find(".progress-info")),$(".question-answer-container").replaceWith($(t).find(".question-answer-container"))},error:function(){}})},window.digiquali.control.getSheetCategoryID=function(){let o=$(this).attr("value");var t=window.saturne.toolbox.getToken(),e=window.saturne.toolbox.getQuerySeparator(document.URL);window.saturne.loader.display($(".sheet-images-container")),$.ajax({url:document.URL+e+"sheetCategoryID="+o+"&token="+t,type:"POST",processData:!1,contentType:!1,success:function(t){$(".sheet-images-container").replaceWith($(t).find(".sheet-images-container")),$(".photo-sheet-category[value="+o+"]").css("border","3px solid #0d8aff"),$(".photo-sheet-category[value="+o+"]").addClass("photo-sheet-category-active"),$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.getSheetSubCategoryID=function(){let o=$(".photo-sheet-category-active").attr("value"),e=$(this).attr("value");var t=window.saturne.toolbox.getToken(),i=window.saturne.toolbox.getQuerySeparator(document.URL);window.saturne.loader.display($(".sheet-images-container")),$.ajax({url:document.URL+i+"sheetCategoryID="+o+"&sheetSubCategoryID="+e+"&token="+t,type:"POST",processData:!1,contentType:!1,success:function(t){$(".sheet-images-container").replaceWith($(t).find(".sheet-images-container")),$(".photo-sheet-category[value="+o+"]").css("border","3px solid #0d8aff"),$(".photo-sheet-category[value="+o+"]").addClass("photo-sheet-category-active"),$(".photo-sheet-sub-category[value="+e+"]").css("border","3px solid #0d8aff"),$(".photo-sheet-sub-category[value="+e+"]").addClass("photo-sheet-sub-category-active"),$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.getSheetID=function(){let o=$(this).attr("data-object-id");var t=$(".photo-sheet-category-active").attr("value"),e=$(".photo-sheet-sub-category-active").attr("value"),i=window.saturne.toolbox.getToken(),n=window.saturne.toolbox.getQuerySeparator(document.URL);window.saturne.loader.display($(".sheet-elements")),window.saturne.loader.display($(".linked-objects")),$.ajax({url:document.URL+n+"fk_sheet="+o+"&sheetCategoryID="+t+"&sheetSubCategoryID="+e+"&token="+i,type:"POST",processData:!1,contentType:!1,success:function(t){$(".sheet-elements").replaceWith($(t).find(".sheet-elements")),$(".photo-sheet[data-object-id="+o+"]").css("border","3px solid #0d8aff"),$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.saveSubControl=function(){let e=$(this).attr("data-control-id"),i=$(this).attr("data-mass-control-id");var t=$(this).closest(".table-row").find(".note-public").val(),o=$(this).closest(".table-row").find('.verdict-option input[type="radio"]:checked').val(),n=window.saturne.toolbox.getToken(),a=(window.saturne.toolbox.getQuerySeparator(document.URL),window.saturne.loader.display($(this).closest(".table-row")),document.URL.replace(/id=\d+/,"id="+e));$.ajax({url:a+"&token="+n+"&action=confirm_setVerdict&verdict="+o+"¬eControl="+t,type:"POST",processData:!1,contentType:!1,data:[],success:function(t){var o=document.URL.replace(/id=\d+/,"id="+i);$.ajax({url:o,type:"GET",processData:!1,contentType:!1,data:[],success:function(t){$(".sub-control-"+e).replaceWith($(t).find(".sub-control-"+e))}})},error:function(){}})},window.digiquali.control.openAnswerModal=function(){var t=$(this).attr("data-control-id");$("#modalSubControl"+t).addClass("modal-active")},window.digiquali.object={},window.digiquali.object.init=function(){window.digiquali.object.event()},window.digiquali.object.event=function(){$(document).on("change",".object-table.linked-objects select",window.digiquali.object.disableOtherSelectors),$(document).on("click",".answer:not(.disable)",window.digiquali.object.selectAnswer),$(document).on("input",".input-answer:not(.disable)",window.digiquali.object.selectAnswer),$(document).on("keyup",".question-comment",window.digiquali.object.showCommentUnsaved)},window.digiquali.object.disableOtherSelectors=function(){var t=document.getElementById("createObjectForm"),t=new FormData(t),o=$(this).attr("id");0<=t.get(o)?$(".object-table.linked-objects").find("select").not("#"+o).attr("disabled",1):$(".object-table.linked-objects").find("select").not("#"+o).removeAttr("disabled")},window.digiquali.object.selectAnswer=function(){var o=$(this).closest(".select-answer.answer-cell"),t=o.attr("data-questionId"),e=$(this).closest(".table-id-"+t).attr("data-publicInterface"),i=$(this).closest(".table-id-"+t).attr("data-autoSave");let n="";var a=$(this).hasClass("answer")?$(this).attr("value"):$(this).val(),s=$(this).closest(".table-id-"+t).find("#comment"+t).val();if($(this).closest(".table-cell").hasClass("select-answer")){if($(this).hasClass("multiple-answers")){$(this).closest("span").toggleClass("active");let t=[];o.find(".multiple-answers.active").each(function(){t.push($(this).attr("value"))}),n=t}else $(this).closest(".table-cell").find(".answer.active").css("background-color","#fff"),$(this).closest(".table-cell").find("span").removeClass("active"),$(this).closest("span").addClass("active"),n=a;$(this).hasClass("active")?(o=$(this).closest(".answer-cell").find(".answer-color-"+$(this).attr("value")).val(),$(this).attr("style",$(this).attr("style")+" background:"+o+";")):$(this).attr("style",$(this).attr("style")+" background:#fff;"),$(this).closest(".answer-cell").find(".question-answer").val(n)}e||1!=i||$(this).hasClass("multiple-answers")?window.digiquali.object.updateButtonsStatus():window.digiquali.object.saveAnswer(t,n,s)},window.digiquali.object.showCommentUnsaved=function(){$(this).hasClass("show-comment-unsaved-message")||($(this).after('

Commentaire non enregistré

'),$(this).addClass("show-comment-unsaved-message")),window.digiquali.object.updateButtonsStatus()},window.digiquali.object.updateButtonsStatus=function(){$("#saveButton").removeClass("butActionRefused"),$("#saveButton").addClass("butAction"),$("#saveButton").css("background","#0d8aff"),$(".fa-circle").css("display","inline"),$("#saveButton").attr("onclick",'$("#saveObject").submit()'),$(".validateButton").removeClass("butAction"),$("#dialog-confirm-actionButtonValidate").removeAttr("id"),$(".validateButton").addClass("butActionRefused")},window.digiquali.object.saveAnswer=function(t,o,e){var i=window.saturne.toolbox.getToken(),n=window.saturne.toolbox.getQuerySeparator(document.URL);window.saturne.loader.display($(".table-id-"+t)),$.ajax({url:document.URL+n+"action=save&token="+i,type:"POST",data:JSON.stringify({autoSave:!0,questionId:t,answer:o,comment:e}),processData:!1,contentType:!1,success:function(t){$(".fiche").replaceWith($(t).find(".fiche"))},error:function(){}})},window.digiquali.question={},window.digiquali.question.init=function(){window.digiquali.question.event()},window.digiquali.question.event=function(){$(document).on("click",".clicked-photo-preview",window.digiquali.question.previewPhoto),$(document).on("click",".ui-dialog-titlebar-close",window.digiquali.question.closePreviewPhoto),$(document).on("click","#show_photo",window.digiquali.question.showPhoto),$(document).on("click",".answer-picto .item, .wpeo-table .item",window.digiquali.question.selectAnswerPicto)},window.digiquali.question.previewPhoto=function(t){$(this).hasClass("photo-ok")?$("#dialogforpopup").attr("style","border: 10px solid #47e58e"):$(this).hasClass("photo-ko")&&$("#dialogforpopup").attr("style","border: 10px solid #e05353")},window.digiquali.question.closePreviewPhoto=function(t){$("#dialogforpopup").attr("style","border:")},window.digiquali.question.showPhoto=function(){var t=$(this).closest(".question-table").find(".linked-medias");t.hasClass("hidden")?(t.attr("style",""),t.removeClass("hidden")):(t.attr("style","display:none"),t.addClass("hidden"))},window.digiquali.question.selectAnswerPicto=function(t){var o=$(this).closest(".wpeo-dropdown");$(this).closest(".content").removeClass("active"),o.find(".dropdown-toggle span").hide(),o.find(".dropdown-toggle.button-picto").html($(this).closest(".wpeo-tooltip-event").html()),o.find(".input-hidden-picto").val($(this).data("label"))},window.digiquali.sheet={},window.digiquali.sheet.init=function(){window.digiquali.sheet.event()},window.digiquali.sheet.event=function(){}; \ No newline at end of file +window.digiquali||(window.digiquali={},window.digiquali.scriptsLoaded=!1),window.digiquali.scriptsLoaded||(window.digiquali.init=function(){window.digiquali.load_list_script()},window.digiquali.load_list_script=function(){if(!window.digiquali.scriptsLoaded){var t=void 0,e=void 0;for(t in window.digiquali)for(e in window.digiquali[t].init&&window.digiquali[t].init(),window.digiquali[t])window.digiquali[t]&&window.digiquali[t][e]&&window.digiquali[t][e].init&&window.digiquali[t][e].init();window.digiquali.scriptsLoaded=!0}},window.digiquali.refresh=function(){var t=void 0,e=void 0;for(t in window.digiquali)for(e in window.digiquali[t].refresh&&window.digiquali[t].refresh(),window.digiquali[t])window.digiquali[t]&&window.digiquali[t][e]&&window.digiquali[t][e].refresh&&window.digiquali[t][e].refresh()},$(document).ready(window.digiquali.init)),window.digiquali.control={},window.digiquali.control.init=function(){window.digiquali.control.event()},window.digiquali.control.event=function(){$(document).on("click",".validateButton",window.digiquali.control.getAnswerCounter),$(document).on("change","#fk_sheet",window.digiquali.control.showSelectObjectLinked),$(document).on("click",".clipboard-copy",window.digiquali.control.copyToClipboard),$(document).on("change","#productId",window.digiquali.control.refreshLotSelector),$(document).on("click",".switch-public-control-view",window.digiquali.control.switchPublicControlView),$(document).on("click",".show-only-questions-with-no-answer",window.digiquali.control.showOnlyQuestionsWithNoAnswer),$(document).on("click",".photo-sheet-category",window.digiquali.control.getSheetCategoryID),$(document).on("click",".photo-sheet-sub-category",window.digiquali.control.getSheetSubCategoryID),$(document).on("click",".photo-sheet",window.digiquali.control.getSheetID),$(document).on("click",".saveSubControl",window.digiquali.control.saveSubControl),$(document).on("click",".lockSubControl",window.digiquali.control.lockSubControl)},window.digiquali.control.getAnswerCounter=function(t){let e=0;jQuery("#tablelines").children().each(function(){0<$(this).find(".answer.active").length&&(e+=1)}),document.cookie="answerCounter="+e},window.digiquali.control.showSelectObjectLinked=function(){var t=$(this).val(),e=window.saturne.toolbox.getToken(),o=window.saturne.toolbox.getQuerySeparator(document.URL),o=document.URL+o+"fk_sheet="+t+"&token="+e;window.saturne.loader.display($(".linked-objects")),$.ajax({url:o,type:"POST",processData:!1,contentType:!1,success:function(t){$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.copyToClipboard=function(t){var e=$(".copy-to-clipboard").attr("value");navigator.clipboard.writeText(e).then(()=>{$(".clipboard-copy").animate({backgroundColor:"#59ed9c"},200,()=>{$(".clipboard-copy").attr("class","fas fa-check clipboard-copy"),$(this).tooltip({items:".clipboard-copy",content:$("#copyToClipboardTooltip").val()}),$(this).tooltip("open"),$(".clipboard-copy").attr("style","")})})},window.digiquali.control.refreshLotSelector=function(t){var e=document.getElementById("add_control_equipment"),e=new FormData(e),o=window.saturne.toolbox.getToken(),e=e.get("productId"),o=document.URL+"&token="+o;o+="&fk_product="+e,window.saturne.loader.display($(".product-lot")),$.ajax({url:o,type:"POST",processData:!1,contentType:!1,success:function(t){$(".product-lot").replaceWith($(t).find(".product-lot"))},error:function(){}})},window.digiquali.control.switchPublicControlView=function(t){var e=$(this).find(".public-control-view").val(),o=window.saturne.toolbox.getToken();let i=document.URL+"&token="+o;i+=0==e?"&show_control_list=1":"&show_last_control=1",window.saturne.loader.display($(".signature-container")),$.ajax({url:i,type:"POST",processData:!1,contentType:!1,success:function(t){$("#publicControlHistory").replaceWith($(t).find("#publicControlHistory"))},error:function(){}})},window.digiquali.control.showOnlyQuestionsWithNoAnswer=function(){var t=window.saturne.toolbox.getQuerySeparator(document.URL),e=window.saturne.toolbox.getToken();let o;o=$(this).hasClass("fa-toggle-off")?1:0,window.saturne.loader.display($(this)),$.ajax({url:document.URL+t+"action=show_only_questions_with_no_answer&token="+e,type:"POST",processData:!1,data:JSON.stringify({showOnlyQuestionsWithNoAnswer:o}),contentType:!1,success:function(t){$(".progress-info").replaceWith($(t).find(".progress-info")),$(".question-answer-container").replaceWith($(t).find(".question-answer-container"))},error:function(){}})},window.digiquali.control.getSheetCategoryID=function(){let e=$(this).attr("value");var t=window.saturne.toolbox.getToken(),o=window.saturne.toolbox.getQuerySeparator(document.URL);window.saturne.loader.display($(".sheet-images-container")),$.ajax({url:document.URL+o+"sheetCategoryID="+e+"&token="+t,type:"POST",processData:!1,contentType:!1,success:function(t){$(".sheet-images-container").replaceWith($(t).find(".sheet-images-container")),$(".photo-sheet-category[value="+e+"]").css("border","3px solid #0d8aff"),$(".photo-sheet-category[value="+e+"]").addClass("photo-sheet-category-active"),$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.getSheetSubCategoryID=function(){let e=$(".photo-sheet-category-active").attr("value"),o=$(this).attr("value");var t=window.saturne.toolbox.getToken(),i=window.saturne.toolbox.getQuerySeparator(document.URL);window.saturne.loader.display($(".sheet-images-container")),$.ajax({url:document.URL+i+"sheetCategoryID="+e+"&sheetSubCategoryID="+o+"&token="+t,type:"POST",processData:!1,contentType:!1,success:function(t){$(".sheet-images-container").replaceWith($(t).find(".sheet-images-container")),$(".photo-sheet-category[value="+e+"]").css("border","3px solid #0d8aff"),$(".photo-sheet-category[value="+e+"]").addClass("photo-sheet-category-active"),$(".photo-sheet-sub-category[value="+o+"]").css("border","3px solid #0d8aff"),$(".photo-sheet-sub-category[value="+o+"]").addClass("photo-sheet-sub-category-active"),$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.getSheetID=function(){let e=$(this).attr("data-object-id");var t=$(".photo-sheet-category-active").attr("value"),o=$(".photo-sheet-sub-category-active").attr("value"),i=window.saturne.toolbox.getToken(),n=window.saturne.toolbox.getQuerySeparator(document.URL);window.saturne.loader.display($(".sheet-elements")),window.saturne.loader.display($(".linked-objects")),$.ajax({url:document.URL+n+"fk_sheet="+e+"&sheetCategoryID="+t+"&sheetSubCategoryID="+o+"&token="+i,type:"POST",processData:!1,contentType:!1,success:function(t){$(".sheet-elements").replaceWith($(t).find(".sheet-elements")),$(".photo-sheet[data-object-id="+e+"]").css("border","3px solid #0d8aff"),$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.saveSubControl=function(){let a=$(this).attr("data-control-id"),s=$(this).attr("data-mass-control-id");var t=$(this).closest(".table-row").find(".note-public").val();let d=[];$(this).closest(".table-row").find(".select-answer").each(function(){var t=$(this).attr("data-questionid"),e=$(this).find(".question-answer").val(),o=$(this).closest(".wpeo-table").find(".question-comment").val();d[t]={answer:e,comment:o}});var e=$(this).closest(".table-row").find('.verdict-option input[type="radio"]:checked').val();let l=window.saturne.toolbox.getToken();window.saturne.loader.display($(this).closest(".table-row"));var o=document.URL.replace(/id=\d+/,"id="+a);$.ajax({url:o+"&token="+l+"&action=confirm_setVerdict&verdict="+e+"¬eControl="+t,type:"POST",processData:!1,contentType:!1,data:[],success:async function(t){for(var[e,o]of Object.entries(d)){var i=document.URL.replace(/id=\d+/,"id="+a);await window.digiquali.object.saveAnswer(e,o.answer,o.comment,i+"&action=save&token="+l)}var n=document.URL.replace(/id=\d+/,"id="+s);$.ajax({url:n,type:"GET",processData:!1,contentType:!1,data:[],success:function(t){$(".sub-control-"+a).replaceWith($(t).find(".sub-control-"+a))}})},error:function(){}})},window.digiquali.control.lockSubControl=function(){let o=$(this).attr("data-control-id"),i=$(this).attr("data-mass-control-id");var t=window.saturne.toolbox.getToken(),e=(window.saturne.loader.display($(this).closest(".table-row")),document.URL.replace(/id=\d+/,"id="+o));$.ajax({url:e+"&token="+t+"&action=confirm_lock",type:"POST",processData:!1,contentType:!1,data:[],success:function(t){var e=document.URL.replace(/id=\d+/,"id="+i);$.ajax({url:e,type:"GET",processData:!1,contentType:!1,data:[],success:function(t){$(".sub-control-"+o).replaceWith($(t).find(".sub-control-"+o))}})},error:function(){}})},window.digiquali.object={},window.digiquali.object.init=function(){window.digiquali.object.event()},window.digiquali.object.event=function(){$(document).on("change",".object-table.linked-objects select",window.digiquali.object.disableOtherSelectors),$(document).on("click",".answer:not(.disable)",window.digiquali.object.selectAnswer),$(document).on("input",".input-answer:not(.disable)",window.digiquali.object.selectAnswer),$(document).on("keyup",".question-comment",window.digiquali.object.showCommentUnsaved)},window.digiquali.object.disableOtherSelectors=function(){var t=document.getElementById("createObjectForm"),t=new FormData(t),e=$(this).attr("id");0<=t.get(e)?$(".object-table.linked-objects").find("select").not("#"+e).attr("disabled",1):$(".object-table.linked-objects").find("select").not("#"+e).removeAttr("disabled")},window.digiquali.object.selectAnswer=function(){var e=$(this).closest(".select-answer.answer-cell"),t=e.attr("data-questionId"),o=$(this).closest(".table-id-"+t).attr("data-publicInterface"),i=$(this).closest(".table-id-"+t).attr("data-autoSave");let n="";var a=$(this).hasClass("answer")?$(this).attr("value"):$(this).val(),s=$(this).closest(".table-id-"+t).find("#comment"+t).val();if($(this).closest(".table-cell").hasClass("select-answer")){if($(this).hasClass("multiple-answers")){$(this).closest("span").toggleClass("active");let t=[];e.find(".multiple-answers.active").each(function(){t.push($(this).attr("value"))}),n=t}else $(this).closest(".table-cell").find(".answer.active").css("background-color","#fff"),$(this).closest(".table-cell").find("span").removeClass("active"),$(this).closest("span").addClass("active"),n=a;$(this).hasClass("active")?(e=$(this).closest(".answer-cell").find(".answer-color-"+$(this).attr("value")).val(),$(this).attr("style",$(this).attr("style")+" background:"+e+";")):$(this).attr("style",$(this).attr("style")+" background:#fff;"),$(this).closest(".answer-cell").find(".question-answer").val(n)}o||1!=i||$(this).hasClass("multiple-answers")?window.digiquali.object.updateButtonsStatus():window.digiquali.object.saveAnswer(t,n,s)},window.digiquali.object.showCommentUnsaved=function(){$(this).hasClass("show-comment-unsaved-message")||($(this).after('

Commentaire non enregistré

'),$(this).addClass("show-comment-unsaved-message")),window.digiquali.object.updateButtonsStatus()},window.digiquali.object.updateButtonsStatus=function(){$("#saveButton").removeClass("butActionRefused"),$("#saveButton").addClass("butAction"),$("#saveButton").css("background","#0d8aff"),$(".fa-circle").css("display","inline"),$("#saveButton").attr("onclick",'$("#saveObject").submit()'),$(".validateButton").removeClass("butAction"),$("#dialog-confirm-actionButtonValidate").removeAttr("id"),$(".validateButton").addClass("butActionRefused")},window.digiquali.object.saveAnswer=function(t,e,o,i=""){var n=window.saturne.toolbox.getToken(),a=window.saturne.toolbox.getQuerySeparator(document.URL),a=i||document.URL+a+"action=save&token="+n;window.saturne.loader.display($(".table-id-"+t)),$.ajax({url:a,type:"POST",data:JSON.stringify({autoSave:!0,questionId:t,answer:e,comment:o}),processData:!1,contentType:!1,success:function(t){i.length<1&&$(".fiche").replaceWith($(t).find(".fiche"))},error:function(){}})},window.digiquali.question={},window.digiquali.question.init=function(){window.digiquali.question.event()},window.digiquali.question.event=function(){$(document).on("click",".clicked-photo-preview",window.digiquali.question.previewPhoto),$(document).on("click",".ui-dialog-titlebar-close",window.digiquali.question.closePreviewPhoto),$(document).on("click","#show_photo",window.digiquali.question.showPhoto),$(document).on("click",".answer-picto .item, .wpeo-table .item",window.digiquali.question.selectAnswerPicto)},window.digiquali.question.previewPhoto=function(t){$(this).hasClass("photo-ok")?$("#dialogforpopup").attr("style","border: 10px solid #47e58e"):$(this).hasClass("photo-ko")&&$("#dialogforpopup").attr("style","border: 10px solid #e05353")},window.digiquali.question.closePreviewPhoto=function(t){$("#dialogforpopup").attr("style","border:")},window.digiquali.question.showPhoto=function(){var t=$(this).closest(".question-table").find(".linked-medias");t.hasClass("hidden")?(t.attr("style",""),t.removeClass("hidden")):(t.attr("style","display:none"),t.addClass("hidden"))},window.digiquali.question.selectAnswerPicto=function(t){var e=$(this).closest(".wpeo-dropdown");$(this).closest(".content").removeClass("active"),e.find(".dropdown-toggle span").hide(),e.find(".dropdown-toggle.button-picto").html($(this).closest(".wpeo-tooltip-event").html()),e.find(".input-hidden-picto").val($(this).data("label"))},window.digiquali.sheet={},window.digiquali.sheet.init=function(){window.digiquali.sheet.event()},window.digiquali.sheet.event=function(){}; \ No newline at end of file diff --git a/js/modules/control.js b/js/modules/control.js index 71094c73..da4c39f2 100644 --- a/js/modules/control.js +++ b/js/modules/control.js @@ -38,7 +38,7 @@ window.digiquali.control.event = function() { $(document).on('click', '.photo-sheet-sub-category', window.digiquali.control.getSheetSubCategoryID); $(document).on('click', '.photo-sheet', window.digiquali.control.getSheetID); $(document).on('click', '.saveSubControl', window.digiquali.control.saveSubControl); - $(document).on('click', '.answerSubControl', window.digiquali.control.openAnswerModal); + $(document).on('click', '.lockSubControl', window.digiquali.control.lockSubControl); }; @@ -328,15 +328,23 @@ window.digiquali.control.saveSubControl = function() { let massControlId = $(this).attr('data-mass-control-id'); let notePublic = $(this).closest('.table-row').find('.note-public').val(); // get input checked + let questionIds = []; + $(this).closest('.table-row').find('.select-answer').each(function() { + let questionId = $(this).attr('data-questionid'); - let verdict = $(this).closest('.table-row').find('.verdict-option input[type="radio"]:checked').val(); + let answer = $(this).find('.question-answer').val(); + let comment = $(this).closest('.wpeo-table').find('.question-comment').val(); - let token = window.saturne.toolbox.getToken(); - let querySeparator = window.saturne.toolbox.getQuerySeparator(document.URL); + questionIds[questionId] = { + 'answer': answer, + 'comment': comment + }; + }); + + let verdict = $(this).closest('.table-row').find('.verdict-option input[type="radio"]:checked').val(); + let token = window.saturne.toolbox.getToken(); window.saturne.loader.display($(this).closest('.table-row')); - //replace current id with subControl Id - // let url = document.URL.replace(/id=\d+/, 'id=' + subControlID); $.ajax({ url: url + '&token=' + token + '&action=confirm_setVerdict&verdict=' + verdict + '¬eControl=' + notePublic, @@ -344,7 +352,12 @@ window.digiquali.control.saveSubControl = function() { processData: false, contentType: false, data: [], - success: function(resp) { + success: async function(resp) { + for (const [questionId, answer] of Object.entries(questionIds)) { + let url = document.URL.replace(/id=\d+/, 'id=' + subControlID); + await window.digiquali.object.saveAnswer(questionId, answer.answer, answer.comment, url + '&action=save&token=' + token); + } + let url = document.URL.replace(/id=\d+/, 'id=' + massControlId); $.ajax({ url: url, @@ -362,15 +375,41 @@ window.digiquali.control.saveSubControl = function() { } /** - * Open answer modal + * Lock sub control * * @since 1.10.0 * @version 1.10.0 * * @return {void} */ -window.digiquali.control.openAnswerModal = function() { +window.digiquali.control.lockSubControl = function() { let subControlID = $(this).attr('data-control-id'); - $('#modalSubControl' + subControlID).addClass('modal-active'); + let massControlId = $(this).attr('data-mass-control-id'); + let token = window.saturne.toolbox.getToken(); -}; + window.saturne.loader.display($(this).closest('.table-row')); + + let url = document.URL.replace(/id=\d+/, 'id=' + subControlID); + $.ajax({ + url: url + '&token=' + token + '&action=confirm_lock', + type: 'POST', + processData: false, + contentType: false, + data: [], + success: function (resp) { + let url = document.URL.replace(/id=\d+/, 'id=' + massControlId); + $.ajax({ + url: url, + type: 'GET', + processData: false, + contentType: false, + data: [], + success: function (resp) { + $('.sub-control-' + subControlID).replaceWith($(resp).find('.sub-control-' + subControlID)); + } + }); + }, + error: function () { + } + }); +} diff --git a/js/modules/object.js b/js/modules/object.js index 433acd99..e2cf64bb 100644 --- a/js/modules/object.js +++ b/js/modules/object.js @@ -179,15 +179,17 @@ window.digiquali.object.updateButtonsStatus = function() { * @param {int} questionId Question ID * @param {string} answer Answer value * @param {string} comment Comment value + * @param {string} customUrl URL to save answer * @return {void} */ -window.digiquali.object.saveAnswer = function(questionId, answer, comment) { +window.digiquali.object.saveAnswer = function(questionId, answer, comment, customUrl = '') { let token = window.saturne.toolbox.getToken(); let querySeparator = window.saturne.toolbox.getQuerySeparator(document.URL); + let url = customUrl ? customUrl : document.URL + querySeparator + 'action=save&token=' + token window.saturne.loader.display($('.table-id-' + questionId)); $.ajax({ - url: document.URL + querySeparator + 'action=save&token=' + token, + url: url, type: 'POST', data: JSON.stringify({ autoSave: true, @@ -198,7 +200,9 @@ window.digiquali.object.saveAnswer = function(questionId, answer, comment) { processData: false, contentType: false, success: function(resp) { - $('.fiche').replaceWith($(resp).find('.fiche')); + if (customUrl.length < 1) { + $('.fiche').replaceWith($(resp).find('.fiche')); + } }, error: function() {} }); diff --git a/langs/fr_FR/digiquali.lang b/langs/fr_FR/digiquali.lang index 45a62d16..c92569e2 100644 --- a/langs/fr_FR/digiquali.lang +++ b/langs/fr_FR/digiquali.lang @@ -350,6 +350,8 @@ LastStatusDate = Dernières dates de statut ValidationDate = Date de validation ReOpenDate = Date de réouverture MassControl = Contrôle en masse +LinkedControlList = Liste des contrôles liés +NewMassControl = Nouveau contrôle en masse @@ -365,6 +367,7 @@ AnswerPhoto = Photo AutoSaveActionQuestionAnswer = Sauvegarde automatique des réponses aux questions AutoSaveActionQuestionAnswerDescription = Sauvegarde automatiquement les réponses aux questions lors du choix de la réponse NoObjectLineAnswersPhoto = Pas de photos sur les réponses du %s +Answers = Réponses # # ControlDocument - Fiche de Contrôle diff --git a/view/control/control_card.php b/view/control/control_card.php index 06c58402..65180871 100644 --- a/view/control/control_card.php +++ b/view/control/control_card.php @@ -404,7 +404,7 @@ // Mass control print '' . ($source != 'pwa' ? $langs->trans('MassControl') : img_picto('', 'fontawesome_fa-tasks_fas_#000000_2em', 'class="pictofixedwidth"')) . ''; print ($source != 'pwa' ? img_picto('', 'fontawesome_fa-tasks_fas_#000000', 'class="pictofixedwidth"') : ''); - print ''; + print ''; print ''; diff --git a/view/sheet/sheet_card.php b/view/sheet/sheet_card.php index afa22db3..6c2a40bd 100644 --- a/view/sheet/sheet_card.php +++ b/view/sheet/sheet_card.php @@ -627,9 +627,11 @@ if (empty($reshook) && $permissiontoadd) { // Create object depending on sheet type if ($object->status == $object::STATUS_LOCKED) { - print ' ' . $langs->trans('New' . ucfirst($object->type)) . ''; + print ' ' . $langs->trans('NewMass' . ucfirst($object->type)) . ''; + print ' ' . $langs->trans('New' . ucfirst($object->type)) . ''; } else { - print ' ' . $langs->trans('New' . ucfirst($object->type)) . ''; + print ' ' . $langs->trans('NewMass' . ucfirst($object->type)) . ''; + print ' ' . $langs->trans('New' . ucfirst($object->type)) . ''; } // Modify From 5d3133f463e79b65e8ebaee4c1ea0738f3aba11f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20David?= Date: Tue, 13 Aug 2024 17:10:27 +0200 Subject: [PATCH 06/25] #1680 [Control] add: controlled object on mass control list --- core/tpl/digiquali_mass_control_list.tpl.php | 34 ++++++++++++++++++-- langs/fr_FR/digiquali.lang | 2 +- 2 files changed, 32 insertions(+), 4 deletions(-) diff --git a/core/tpl/digiquali_mass_control_list.tpl.php b/core/tpl/digiquali_mass_control_list.tpl.php index db69984a..3f53719e 100644 --- a/core/tpl/digiquali_mass_control_list.tpl.php +++ b/core/tpl/digiquali_mass_control_list.tpl.php @@ -21,6 +21,7 @@ // Define table headers with appropriate translations $tableHeaders = [ $langs->trans('Nom'), + $langs->trans('ControlledObject'), $langs->trans('Verdict'), $langs->trans('NoteControl'), $langs->trans('Answers'), @@ -31,8 +32,10 @@ // Create header row using divs print '
'; +$i = 0; foreach ($tableHeaders as $header) { - print '
' . $header . '
'; + print '
' . $header . '
'; + $i++; } print '
'; @@ -43,10 +46,35 @@ $object = $massControl; $massControl->fetch_optionals(); $massControl->fetchLines(); - // Fetch the public note if it exists + $massControl->fetchObjectLinked('', '', $massControl->id, 'digiquali_control', 'OR', 1, 'sourcetype', 0); + //get object controlled + $linkableElements = get_sheet_linkable_objects(); print '
'; - print '
' . $massControl->getNomUrl(1) . '
'; + print '
' . $massControl->getNomUrl(1) . '
'; + print '
'; + foreach ($linkableElements as $linkableElementType => $linkableElement) { + if ($linkableElement['conf'] > 0 && (!empty($object->linkedObjectsIds[$linkableElement['link_name']]))) { + $className = $linkableElement['className']; + $linkedObject = new $className($db); + foreach($object->linkedObjectsIds[$linkableElement['link_name']] as $linkedObjectId) { + $linkedObject->fetch($linkedObjectId); + + + print $linkedObject->getNomUrl(1); + + if ($linkedObject->array_options['options_qc_frequency'] > 0) { + print ' '; + print ''; + print $langs->transnoentities('QcFrequency') . ' : ' . $linkedObject->array_options['options_qc_frequency']; + print ''; + } + + print '
'; + } + } + } + print '
'; // Verdict section with interactive OK/KO buttons print '
'; diff --git a/langs/fr_FR/digiquali.lang b/langs/fr_FR/digiquali.lang index c92569e2..1dbd8003 100644 --- a/langs/fr_FR/digiquali.lang +++ b/langs/fr_FR/digiquali.lang @@ -352,7 +352,7 @@ ReOpenDate = Date de réouverture MassControl = Contrôle en masse LinkedControlList = Liste des contrôles liés NewMassControl = Nouveau contrôle en masse - +ControlledObject = Objet contrôlé # From 4159a253ea8c259922567ec401234c4c06f69c1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20David?= Date: Tue, 20 Aug 2024 11:00:55 +0200 Subject: [PATCH 07/25] add: save answers button in modal --- core/tpl/digiquali_mass_control_list.tpl.php | 4 ++ js/digiquali.min.js | 2 +- js/modules/control.js | 49 ++++++++++++++++++++ 3 files changed, 54 insertions(+), 1 deletion(-) diff --git a/core/tpl/digiquali_mass_control_list.tpl.php b/core/tpl/digiquali_mass_control_list.tpl.php index 3f53719e..3d811cb5 100644 --- a/core/tpl/digiquali_mass_control_list.tpl.php +++ b/core/tpl/digiquali_mass_control_list.tpl.php @@ -139,6 +139,10 @@ require __DIR__ . '/../../core/tpl/digiquali_answers.tpl.php'; print '
'; print '
'; + print ''; print ''; print ''; print ''; diff --git a/js/digiquali.min.js b/js/digiquali.min.js index 1337b2ef..2e625623 100644 --- a/js/digiquali.min.js +++ b/js/digiquali.min.js @@ -1 +1 @@ -window.digiquali||(window.digiquali={},window.digiquali.scriptsLoaded=!1),window.digiquali.scriptsLoaded||(window.digiquali.init=function(){window.digiquali.load_list_script()},window.digiquali.load_list_script=function(){if(!window.digiquali.scriptsLoaded){var t=void 0,e=void 0;for(t in window.digiquali)for(e in window.digiquali[t].init&&window.digiquali[t].init(),window.digiquali[t])window.digiquali[t]&&window.digiquali[t][e]&&window.digiquali[t][e].init&&window.digiquali[t][e].init();window.digiquali.scriptsLoaded=!0}},window.digiquali.refresh=function(){var t=void 0,e=void 0;for(t in window.digiquali)for(e in window.digiquali[t].refresh&&window.digiquali[t].refresh(),window.digiquali[t])window.digiquali[t]&&window.digiquali[t][e]&&window.digiquali[t][e].refresh&&window.digiquali[t][e].refresh()},$(document).ready(window.digiquali.init)),window.digiquali.control={},window.digiquali.control.init=function(){window.digiquali.control.event()},window.digiquali.control.event=function(){$(document).on("click",".validateButton",window.digiquali.control.getAnswerCounter),$(document).on("change","#fk_sheet",window.digiquali.control.showSelectObjectLinked),$(document).on("click",".clipboard-copy",window.digiquali.control.copyToClipboard),$(document).on("change","#productId",window.digiquali.control.refreshLotSelector),$(document).on("click",".switch-public-control-view",window.digiquali.control.switchPublicControlView),$(document).on("click",".show-only-questions-with-no-answer",window.digiquali.control.showOnlyQuestionsWithNoAnswer),$(document).on("click",".photo-sheet-category",window.digiquali.control.getSheetCategoryID),$(document).on("click",".photo-sheet-sub-category",window.digiquali.control.getSheetSubCategoryID),$(document).on("click",".photo-sheet",window.digiquali.control.getSheetID),$(document).on("click",".saveSubControl",window.digiquali.control.saveSubControl),$(document).on("click",".lockSubControl",window.digiquali.control.lockSubControl)},window.digiquali.control.getAnswerCounter=function(t){let e=0;jQuery("#tablelines").children().each(function(){0<$(this).find(".answer.active").length&&(e+=1)}),document.cookie="answerCounter="+e},window.digiquali.control.showSelectObjectLinked=function(){var t=$(this).val(),e=window.saturne.toolbox.getToken(),o=window.saturne.toolbox.getQuerySeparator(document.URL),o=document.URL+o+"fk_sheet="+t+"&token="+e;window.saturne.loader.display($(".linked-objects")),$.ajax({url:o,type:"POST",processData:!1,contentType:!1,success:function(t){$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.copyToClipboard=function(t){var e=$(".copy-to-clipboard").attr("value");navigator.clipboard.writeText(e).then(()=>{$(".clipboard-copy").animate({backgroundColor:"#59ed9c"},200,()=>{$(".clipboard-copy").attr("class","fas fa-check clipboard-copy"),$(this).tooltip({items:".clipboard-copy",content:$("#copyToClipboardTooltip").val()}),$(this).tooltip("open"),$(".clipboard-copy").attr("style","")})})},window.digiquali.control.refreshLotSelector=function(t){var e=document.getElementById("add_control_equipment"),e=new FormData(e),o=window.saturne.toolbox.getToken(),e=e.get("productId"),o=document.URL+"&token="+o;o+="&fk_product="+e,window.saturne.loader.display($(".product-lot")),$.ajax({url:o,type:"POST",processData:!1,contentType:!1,success:function(t){$(".product-lot").replaceWith($(t).find(".product-lot"))},error:function(){}})},window.digiquali.control.switchPublicControlView=function(t){var e=$(this).find(".public-control-view").val(),o=window.saturne.toolbox.getToken();let i=document.URL+"&token="+o;i+=0==e?"&show_control_list=1":"&show_last_control=1",window.saturne.loader.display($(".signature-container")),$.ajax({url:i,type:"POST",processData:!1,contentType:!1,success:function(t){$("#publicControlHistory").replaceWith($(t).find("#publicControlHistory"))},error:function(){}})},window.digiquali.control.showOnlyQuestionsWithNoAnswer=function(){var t=window.saturne.toolbox.getQuerySeparator(document.URL),e=window.saturne.toolbox.getToken();let o;o=$(this).hasClass("fa-toggle-off")?1:0,window.saturne.loader.display($(this)),$.ajax({url:document.URL+t+"action=show_only_questions_with_no_answer&token="+e,type:"POST",processData:!1,data:JSON.stringify({showOnlyQuestionsWithNoAnswer:o}),contentType:!1,success:function(t){$(".progress-info").replaceWith($(t).find(".progress-info")),$(".question-answer-container").replaceWith($(t).find(".question-answer-container"))},error:function(){}})},window.digiquali.control.getSheetCategoryID=function(){let e=$(this).attr("value");var t=window.saturne.toolbox.getToken(),o=window.saturne.toolbox.getQuerySeparator(document.URL);window.saturne.loader.display($(".sheet-images-container")),$.ajax({url:document.URL+o+"sheetCategoryID="+e+"&token="+t,type:"POST",processData:!1,contentType:!1,success:function(t){$(".sheet-images-container").replaceWith($(t).find(".sheet-images-container")),$(".photo-sheet-category[value="+e+"]").css("border","3px solid #0d8aff"),$(".photo-sheet-category[value="+e+"]").addClass("photo-sheet-category-active"),$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.getSheetSubCategoryID=function(){let e=$(".photo-sheet-category-active").attr("value"),o=$(this).attr("value");var t=window.saturne.toolbox.getToken(),i=window.saturne.toolbox.getQuerySeparator(document.URL);window.saturne.loader.display($(".sheet-images-container")),$.ajax({url:document.URL+i+"sheetCategoryID="+e+"&sheetSubCategoryID="+o+"&token="+t,type:"POST",processData:!1,contentType:!1,success:function(t){$(".sheet-images-container").replaceWith($(t).find(".sheet-images-container")),$(".photo-sheet-category[value="+e+"]").css("border","3px solid #0d8aff"),$(".photo-sheet-category[value="+e+"]").addClass("photo-sheet-category-active"),$(".photo-sheet-sub-category[value="+o+"]").css("border","3px solid #0d8aff"),$(".photo-sheet-sub-category[value="+o+"]").addClass("photo-sheet-sub-category-active"),$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.getSheetID=function(){let e=$(this).attr("data-object-id");var t=$(".photo-sheet-category-active").attr("value"),o=$(".photo-sheet-sub-category-active").attr("value"),i=window.saturne.toolbox.getToken(),n=window.saturne.toolbox.getQuerySeparator(document.URL);window.saturne.loader.display($(".sheet-elements")),window.saturne.loader.display($(".linked-objects")),$.ajax({url:document.URL+n+"fk_sheet="+e+"&sheetCategoryID="+t+"&sheetSubCategoryID="+o+"&token="+i,type:"POST",processData:!1,contentType:!1,success:function(t){$(".sheet-elements").replaceWith($(t).find(".sheet-elements")),$(".photo-sheet[data-object-id="+e+"]").css("border","3px solid #0d8aff"),$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.saveSubControl=function(){let a=$(this).attr("data-control-id"),s=$(this).attr("data-mass-control-id");var t=$(this).closest(".table-row").find(".note-public").val();let d=[];$(this).closest(".table-row").find(".select-answer").each(function(){var t=$(this).attr("data-questionid"),e=$(this).find(".question-answer").val(),o=$(this).closest(".wpeo-table").find(".question-comment").val();d[t]={answer:e,comment:o}});var e=$(this).closest(".table-row").find('.verdict-option input[type="radio"]:checked').val();let l=window.saturne.toolbox.getToken();window.saturne.loader.display($(this).closest(".table-row"));var o=document.URL.replace(/id=\d+/,"id="+a);$.ajax({url:o+"&token="+l+"&action=confirm_setVerdict&verdict="+e+"¬eControl="+t,type:"POST",processData:!1,contentType:!1,data:[],success:async function(t){for(var[e,o]of Object.entries(d)){var i=document.URL.replace(/id=\d+/,"id="+a);await window.digiquali.object.saveAnswer(e,o.answer,o.comment,i+"&action=save&token="+l)}var n=document.URL.replace(/id=\d+/,"id="+s);$.ajax({url:n,type:"GET",processData:!1,contentType:!1,data:[],success:function(t){$(".sub-control-"+a).replaceWith($(t).find(".sub-control-"+a))}})},error:function(){}})},window.digiquali.control.lockSubControl=function(){let o=$(this).attr("data-control-id"),i=$(this).attr("data-mass-control-id");var t=window.saturne.toolbox.getToken(),e=(window.saturne.loader.display($(this).closest(".table-row")),document.URL.replace(/id=\d+/,"id="+o));$.ajax({url:e+"&token="+t+"&action=confirm_lock",type:"POST",processData:!1,contentType:!1,data:[],success:function(t){var e=document.URL.replace(/id=\d+/,"id="+i);$.ajax({url:e,type:"GET",processData:!1,contentType:!1,data:[],success:function(t){$(".sub-control-"+o).replaceWith($(t).find(".sub-control-"+o))}})},error:function(){}})},window.digiquali.object={},window.digiquali.object.init=function(){window.digiquali.object.event()},window.digiquali.object.event=function(){$(document).on("change",".object-table.linked-objects select",window.digiquali.object.disableOtherSelectors),$(document).on("click",".answer:not(.disable)",window.digiquali.object.selectAnswer),$(document).on("input",".input-answer:not(.disable)",window.digiquali.object.selectAnswer),$(document).on("keyup",".question-comment",window.digiquali.object.showCommentUnsaved)},window.digiquali.object.disableOtherSelectors=function(){var t=document.getElementById("createObjectForm"),t=new FormData(t),e=$(this).attr("id");0<=t.get(e)?$(".object-table.linked-objects").find("select").not("#"+e).attr("disabled",1):$(".object-table.linked-objects").find("select").not("#"+e).removeAttr("disabled")},window.digiquali.object.selectAnswer=function(){var e=$(this).closest(".select-answer.answer-cell"),t=e.attr("data-questionId"),o=$(this).closest(".table-id-"+t).attr("data-publicInterface"),i=$(this).closest(".table-id-"+t).attr("data-autoSave");let n="";var a=$(this).hasClass("answer")?$(this).attr("value"):$(this).val(),s=$(this).closest(".table-id-"+t).find("#comment"+t).val();if($(this).closest(".table-cell").hasClass("select-answer")){if($(this).hasClass("multiple-answers")){$(this).closest("span").toggleClass("active");let t=[];e.find(".multiple-answers.active").each(function(){t.push($(this).attr("value"))}),n=t}else $(this).closest(".table-cell").find(".answer.active").css("background-color","#fff"),$(this).closest(".table-cell").find("span").removeClass("active"),$(this).closest("span").addClass("active"),n=a;$(this).hasClass("active")?(e=$(this).closest(".answer-cell").find(".answer-color-"+$(this).attr("value")).val(),$(this).attr("style",$(this).attr("style")+" background:"+e+";")):$(this).attr("style",$(this).attr("style")+" background:#fff;"),$(this).closest(".answer-cell").find(".question-answer").val(n)}o||1!=i||$(this).hasClass("multiple-answers")?window.digiquali.object.updateButtonsStatus():window.digiquali.object.saveAnswer(t,n,s)},window.digiquali.object.showCommentUnsaved=function(){$(this).hasClass("show-comment-unsaved-message")||($(this).after('

Commentaire non enregistré

'),$(this).addClass("show-comment-unsaved-message")),window.digiquali.object.updateButtonsStatus()},window.digiquali.object.updateButtonsStatus=function(){$("#saveButton").removeClass("butActionRefused"),$("#saveButton").addClass("butAction"),$("#saveButton").css("background","#0d8aff"),$(".fa-circle").css("display","inline"),$("#saveButton").attr("onclick",'$("#saveObject").submit()'),$(".validateButton").removeClass("butAction"),$("#dialog-confirm-actionButtonValidate").removeAttr("id"),$(".validateButton").addClass("butActionRefused")},window.digiquali.object.saveAnswer=function(t,e,o,i=""){var n=window.saturne.toolbox.getToken(),a=window.saturne.toolbox.getQuerySeparator(document.URL),a=i||document.URL+a+"action=save&token="+n;window.saturne.loader.display($(".table-id-"+t)),$.ajax({url:a,type:"POST",data:JSON.stringify({autoSave:!0,questionId:t,answer:e,comment:o}),processData:!1,contentType:!1,success:function(t){i.length<1&&$(".fiche").replaceWith($(t).find(".fiche"))},error:function(){}})},window.digiquali.question={},window.digiquali.question.init=function(){window.digiquali.question.event()},window.digiquali.question.event=function(){$(document).on("click",".clicked-photo-preview",window.digiquali.question.previewPhoto),$(document).on("click",".ui-dialog-titlebar-close",window.digiquali.question.closePreviewPhoto),$(document).on("click","#show_photo",window.digiquali.question.showPhoto),$(document).on("click",".answer-picto .item, .wpeo-table .item",window.digiquali.question.selectAnswerPicto)},window.digiquali.question.previewPhoto=function(t){$(this).hasClass("photo-ok")?$("#dialogforpopup").attr("style","border: 10px solid #47e58e"):$(this).hasClass("photo-ko")&&$("#dialogforpopup").attr("style","border: 10px solid #e05353")},window.digiquali.question.closePreviewPhoto=function(t){$("#dialogforpopup").attr("style","border:")},window.digiquali.question.showPhoto=function(){var t=$(this).closest(".question-table").find(".linked-medias");t.hasClass("hidden")?(t.attr("style",""),t.removeClass("hidden")):(t.attr("style","display:none"),t.addClass("hidden"))},window.digiquali.question.selectAnswerPicto=function(t){var e=$(this).closest(".wpeo-dropdown");$(this).closest(".content").removeClass("active"),e.find(".dropdown-toggle span").hide(),e.find(".dropdown-toggle.button-picto").html($(this).closest(".wpeo-tooltip-event").html()),e.find(".input-hidden-picto").val($(this).data("label"))},window.digiquali.sheet={},window.digiquali.sheet.init=function(){window.digiquali.sheet.event()},window.digiquali.sheet.event=function(){}; \ No newline at end of file +window.digiquali||(window.digiquali={},window.digiquali.scriptsLoaded=!1),window.digiquali.scriptsLoaded||(window.digiquali.init=function(){window.digiquali.load_list_script()},window.digiquali.load_list_script=function(){if(!window.digiquali.scriptsLoaded){var t=void 0,e=void 0;for(t in window.digiquali)for(e in window.digiquali[t].init&&window.digiquali[t].init(),window.digiquali[t])window.digiquali[t]&&window.digiquali[t][e]&&window.digiquali[t][e].init&&window.digiquali[t][e].init();window.digiquali.scriptsLoaded=!0}},window.digiquali.refresh=function(){var t=void 0,e=void 0;for(t in window.digiquali)for(e in window.digiquali[t].refresh&&window.digiquali[t].refresh(),window.digiquali[t])window.digiquali[t]&&window.digiquali[t][e]&&window.digiquali[t][e].refresh&&window.digiquali[t][e].refresh()},$(document).ready(window.digiquali.init)),window.digiquali.control={},window.digiquali.control.init=function(){window.digiquali.control.event()},window.digiquali.control.event=function(){$(document).on("click",".validateButton",window.digiquali.control.getAnswerCounter),$(document).on("change","#fk_sheet",window.digiquali.control.showSelectObjectLinked),$(document).on("click",".clipboard-copy",window.digiquali.control.copyToClipboard),$(document).on("change","#productId",window.digiquali.control.refreshLotSelector),$(document).on("click",".switch-public-control-view",window.digiquali.control.switchPublicControlView),$(document).on("click",".show-only-questions-with-no-answer",window.digiquali.control.showOnlyQuestionsWithNoAnswer),$(document).on("click",".photo-sheet-category",window.digiquali.control.getSheetCategoryID),$(document).on("click",".photo-sheet-sub-category",window.digiquali.control.getSheetSubCategoryID),$(document).on("click",".photo-sheet",window.digiquali.control.getSheetID),$(document).on("click",".saveSubControlAnswers",window.digiquali.control.saveSubControlAnswers),$(document).on("click",".saveSubControl",window.digiquali.control.saveSubControl),$(document).on("click",".lockSubControl",window.digiquali.control.lockSubControl)},window.digiquali.control.getAnswerCounter=function(t){let e=0;jQuery("#tablelines").children().each(function(){0<$(this).find(".answer.active").length&&(e+=1)}),document.cookie="answerCounter="+e},window.digiquali.control.showSelectObjectLinked=function(){var t=$(this).val(),e=window.saturne.toolbox.getToken(),o=window.saturne.toolbox.getQuerySeparator(document.URL),o=document.URL+o+"fk_sheet="+t+"&token="+e;window.saturne.loader.display($(".linked-objects")),$.ajax({url:o,type:"POST",processData:!1,contentType:!1,success:function(t){$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.copyToClipboard=function(t){var e=$(".copy-to-clipboard").attr("value");navigator.clipboard.writeText(e).then(()=>{$(".clipboard-copy").animate({backgroundColor:"#59ed9c"},200,()=>{$(".clipboard-copy").attr("class","fas fa-check clipboard-copy"),$(this).tooltip({items:".clipboard-copy",content:$("#copyToClipboardTooltip").val()}),$(this).tooltip("open"),$(".clipboard-copy").attr("style","")})})},window.digiquali.control.refreshLotSelector=function(t){var e=document.getElementById("add_control_equipment"),e=new FormData(e),o=window.saturne.toolbox.getToken(),e=e.get("productId"),o=document.URL+"&token="+o;o+="&fk_product="+e,window.saturne.loader.display($(".product-lot")),$.ajax({url:o,type:"POST",processData:!1,contentType:!1,success:function(t){$(".product-lot").replaceWith($(t).find(".product-lot"))},error:function(){}})},window.digiquali.control.switchPublicControlView=function(t){var e=$(this).find(".public-control-view").val(),o=window.saturne.toolbox.getToken();let i=document.URL+"&token="+o;i+=0==e?"&show_control_list=1":"&show_last_control=1",window.saturne.loader.display($(".signature-container")),$.ajax({url:i,type:"POST",processData:!1,contentType:!1,success:function(t){$("#publicControlHistory").replaceWith($(t).find("#publicControlHistory"))},error:function(){}})},window.digiquali.control.showOnlyQuestionsWithNoAnswer=function(){var t=window.saturne.toolbox.getQuerySeparator(document.URL),e=window.saturne.toolbox.getToken();let o;o=$(this).hasClass("fa-toggle-off")?1:0,window.saturne.loader.display($(this)),$.ajax({url:document.URL+t+"action=show_only_questions_with_no_answer&token="+e,type:"POST",processData:!1,data:JSON.stringify({showOnlyQuestionsWithNoAnswer:o}),contentType:!1,success:function(t){$(".progress-info").replaceWith($(t).find(".progress-info")),$(".question-answer-container").replaceWith($(t).find(".question-answer-container"))},error:function(){}})},window.digiquali.control.getSheetCategoryID=function(){let e=$(this).attr("value");var t=window.saturne.toolbox.getToken(),o=window.saturne.toolbox.getQuerySeparator(document.URL);window.saturne.loader.display($(".sheet-images-container")),$.ajax({url:document.URL+o+"sheetCategoryID="+e+"&token="+t,type:"POST",processData:!1,contentType:!1,success:function(t){$(".sheet-images-container").replaceWith($(t).find(".sheet-images-container")),$(".photo-sheet-category[value="+e+"]").css("border","3px solid #0d8aff"),$(".photo-sheet-category[value="+e+"]").addClass("photo-sheet-category-active"),$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.getSheetSubCategoryID=function(){let e=$(".photo-sheet-category-active").attr("value"),o=$(this).attr("value");var t=window.saturne.toolbox.getToken(),i=window.saturne.toolbox.getQuerySeparator(document.URL);window.saturne.loader.display($(".sheet-images-container")),$.ajax({url:document.URL+i+"sheetCategoryID="+e+"&sheetSubCategoryID="+o+"&token="+t,type:"POST",processData:!1,contentType:!1,success:function(t){$(".sheet-images-container").replaceWith($(t).find(".sheet-images-container")),$(".photo-sheet-category[value="+e+"]").css("border","3px solid #0d8aff"),$(".photo-sheet-category[value="+e+"]").addClass("photo-sheet-category-active"),$(".photo-sheet-sub-category[value="+o+"]").css("border","3px solid #0d8aff"),$(".photo-sheet-sub-category[value="+o+"]").addClass("photo-sheet-sub-category-active"),$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.getSheetID=function(){let e=$(this).attr("data-object-id");var t=$(".photo-sheet-category-active").attr("value"),o=$(".photo-sheet-sub-category-active").attr("value"),i=window.saturne.toolbox.getToken(),n=window.saturne.toolbox.getQuerySeparator(document.URL);window.saturne.loader.display($(".sheet-elements")),window.saturne.loader.display($(".linked-objects")),$.ajax({url:document.URL+n+"fk_sheet="+e+"&sheetCategoryID="+t+"&sheetSubCategoryID="+o+"&token="+i,type:"POST",processData:!1,contentType:!1,success:function(t){$(".sheet-elements").replaceWith($(t).find(".sheet-elements")),$(".photo-sheet[data-object-id="+e+"]").css("border","3px solid #0d8aff"),$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.saveSubControl=function(){let a=$(this).attr("data-control-id"),s=$(this).attr("data-mass-control-id");var t=$(this).closest(".table-row").find(".note-public").val();let d=[];$(this).closest(".table-row").find(".select-answer").each(function(){var t=$(this).attr("data-questionid"),e=$(this).find(".question-answer").val(),o=$(this).closest(".wpeo-table").find(".question-comment").val();d[t]={answer:e,comment:o}});var e=$(this).closest(".table-row").find('.verdict-option input[type="radio"]:checked').val();let l=window.saturne.toolbox.getToken();window.saturne.loader.display($(this).closest(".table-row"));var o=document.URL.replace(/id=\d+/,"id="+a);$.ajax({url:o+"&token="+l+"&action=confirm_setVerdict&verdict="+e+"¬eControl="+t,type:"POST",processData:!1,contentType:!1,data:[],success:async function(t){for(var[e,o]of Object.entries(d)){var i=document.URL.replace(/id=\d+/,"id="+a);await window.digiquali.object.saveAnswer(e,o.answer,o.comment,i+"&action=save&token="+l)}var n=document.URL.replace(/id=\d+/,"id="+s);$.ajax({url:n,type:"GET",processData:!1,contentType:!1,data:[],success:function(t){$(".sub-control-"+a).replaceWith($(t).find(".sub-control-"+a))}})},error:function(){}})},window.digiquali.control.lockSubControl=function(){let o=$(this).attr("data-control-id"),i=$(this).attr("data-mass-control-id");var t=window.saturne.toolbox.getToken(),e=(window.saturne.loader.display($(this).closest(".table-row")),document.URL.replace(/id=\d+/,"id="+o));$.ajax({url:e+"&token="+t+"&action=confirm_lock",type:"POST",processData:!1,contentType:!1,data:[],success:function(t){var e=document.URL.replace(/id=\d+/,"id="+i);$.ajax({url:e,type:"GET",processData:!1,contentType:!1,data:[],success:function(t){$(".sub-control-"+o).replaceWith($(t).find(".sub-control-"+o))}})},error:function(){}})},window.digiquali.control.saveSubControlAnswers=async function(){let e=$(this).attr("data-control-id");var t=$(this).attr("data-mass-control-id");window.saturne.loader.display($(this));let i=[];$(this).closest(".table-row").find(".select-answer").each(function(){var t=$(this).attr("data-questionid"),e=$(this).find(".question-answer").val(),o=$(this).closest(".wpeo-table").find(".question-comment").val();i[t]={answer:e,comment:o}});var o,n,a=window.saturne.toolbox.getToken();let s=document.URL.replace(/id=\d+/,"id="+e);for([o,n]of Object.entries(i))await window.digiquali.object.saveAnswer(o,n.answer,n.comment,s+"&action=save&token="+a);s=document.URL.replace(/id=\d+/,"id="+t),$.ajax({url:s,type:"GET",processData:!1,contentType:!1,data:[],success:function(t){$(".sub-control-"+e).replaceWith($(t).find(".sub-control-"+e)),$(".wpeo-loader").removeClass("wpeo-loader")}})},window.digiquali.object={},window.digiquali.object.init=function(){window.digiquali.object.event()},window.digiquali.object.event=function(){$(document).on("change",".object-table.linked-objects select",window.digiquali.object.disableOtherSelectors),$(document).on("click",".answer:not(.disable)",window.digiquali.object.selectAnswer),$(document).on("input",".input-answer:not(.disable)",window.digiquali.object.selectAnswer),$(document).on("keyup",".question-comment",window.digiquali.object.showCommentUnsaved)},window.digiquali.object.disableOtherSelectors=function(){var t=document.getElementById("createObjectForm"),t=new FormData(t),e=$(this).attr("id");0<=t.get(e)?$(".object-table.linked-objects").find("select").not("#"+e).attr("disabled",1):$(".object-table.linked-objects").find("select").not("#"+e).removeAttr("disabled")},window.digiquali.object.selectAnswer=function(){var e=$(this).closest(".select-answer.answer-cell"),t=e.attr("data-questionId"),o=$(this).closest(".table-id-"+t).attr("data-publicInterface"),i=$(this).closest(".table-id-"+t).attr("data-autoSave");let n="";var a=$(this).hasClass("answer")?$(this).attr("value"):$(this).val(),s=$(this).closest(".table-id-"+t).find("#comment"+t).val();if($(this).closest(".table-cell").hasClass("select-answer")){if($(this).hasClass("multiple-answers")){$(this).closest("span").toggleClass("active");let t=[];e.find(".multiple-answers.active").each(function(){t.push($(this).attr("value"))}),n=t}else $(this).closest(".table-cell").find(".answer.active").css("background-color","#fff"),$(this).closest(".table-cell").find("span").removeClass("active"),$(this).closest("span").addClass("active"),n=a;$(this).hasClass("active")?(e=$(this).closest(".answer-cell").find(".answer-color-"+$(this).attr("value")).val(),$(this).attr("style",$(this).attr("style")+" background:"+e+";")):$(this).attr("style",$(this).attr("style")+" background:#fff;"),$(this).closest(".answer-cell").find(".question-answer").val(n)}o||1!=i||$(this).hasClass("multiple-answers")?window.digiquali.object.updateButtonsStatus():window.digiquali.object.saveAnswer(t,n,s)},window.digiquali.object.showCommentUnsaved=function(){$(this).hasClass("show-comment-unsaved-message")||($(this).after('

Commentaire non enregistré

'),$(this).addClass("show-comment-unsaved-message")),window.digiquali.object.updateButtonsStatus()},window.digiquali.object.updateButtonsStatus=function(){$("#saveButton").removeClass("butActionRefused"),$("#saveButton").addClass("butAction"),$("#saveButton").css("background","#0d8aff"),$(".fa-circle").css("display","inline"),$("#saveButton").attr("onclick",'$("#saveObject").submit()'),$(".validateButton").removeClass("butAction"),$("#dialog-confirm-actionButtonValidate").removeAttr("id"),$(".validateButton").addClass("butActionRefused")},window.digiquali.object.saveAnswer=function(t,e,o,i=""){var n=window.saturne.toolbox.getToken(),a=window.saturne.toolbox.getQuerySeparator(document.URL),a=i||document.URL+a+"action=save&token="+n;window.saturne.loader.display($(".table-id-"+t)),$.ajax({url:a,type:"POST",data:JSON.stringify({autoSave:!0,questionId:t,answer:e,comment:o}),processData:!1,contentType:!1,success:function(t){i.length<1&&$(".fiche").replaceWith($(t).find(".fiche"))},error:function(){}})},window.digiquali.question={},window.digiquali.question.init=function(){window.digiquali.question.event()},window.digiquali.question.event=function(){$(document).on("click",".clicked-photo-preview",window.digiquali.question.previewPhoto),$(document).on("click",".ui-dialog-titlebar-close",window.digiquali.question.closePreviewPhoto),$(document).on("click","#show_photo",window.digiquali.question.showPhoto),$(document).on("click",".answer-picto .item, .wpeo-table .item",window.digiquali.question.selectAnswerPicto)},window.digiquali.question.previewPhoto=function(t){$(this).hasClass("photo-ok")?$("#dialogforpopup").attr("style","border: 10px solid #47e58e"):$(this).hasClass("photo-ko")&&$("#dialogforpopup").attr("style","border: 10px solid #e05353")},window.digiquali.question.closePreviewPhoto=function(t){$("#dialogforpopup").attr("style","border:")},window.digiquali.question.showPhoto=function(){var t=$(this).closest(".question-table").find(".linked-medias");t.hasClass("hidden")?(t.attr("style",""),t.removeClass("hidden")):(t.attr("style","display:none"),t.addClass("hidden"))},window.digiquali.question.selectAnswerPicto=function(t){var e=$(this).closest(".wpeo-dropdown");$(this).closest(".content").removeClass("active"),e.find(".dropdown-toggle span").hide(),e.find(".dropdown-toggle.button-picto").html($(this).closest(".wpeo-tooltip-event").html()),e.find(".input-hidden-picto").val($(this).data("label"))},window.digiquali.sheet={},window.digiquali.sheet.init=function(){window.digiquali.sheet.event()},window.digiquali.sheet.event=function(){}; \ No newline at end of file diff --git a/js/modules/control.js b/js/modules/control.js index da4c39f2..86b03246 100644 --- a/js/modules/control.js +++ b/js/modules/control.js @@ -37,6 +37,7 @@ window.digiquali.control.event = function() { $(document).on('click', '.photo-sheet-category', window.digiquali.control.getSheetCategoryID); $(document).on('click', '.photo-sheet-sub-category', window.digiquali.control.getSheetSubCategoryID); $(document).on('click', '.photo-sheet', window.digiquali.control.getSheetID); + $(document).on('click', '.saveSubControlAnswers', window.digiquali.control.saveSubControlAnswers); $(document).on('click', '.saveSubControl', window.digiquali.control.saveSubControl); $(document).on('click', '.lockSubControl', window.digiquali.control.lockSubControl); @@ -413,3 +414,51 @@ window.digiquali.control.lockSubControl = function() { } }); } + +/** + * Save sub control answers + * + * @since 1.10.0 + * @version 1.10.0 + * + * @return {void} + */ +window.digiquali.control.saveSubControlAnswers = async function() { + let subControlID = $(this).attr('data-control-id'); + let massControlId = $(this).attr('data-mass-control-id'); + + window.saturne.loader.display($(this)); + let questionIds = []; + $(this).closest('.table-row').find('.select-answer').each(function () { + let questionId = $(this).attr('data-questionid'); + + let answer = $(this).find('.question-answer').val(); + let comment = $(this).closest('.wpeo-table').find('.question-comment').val(); + + questionIds[questionId] = { + 'answer': answer, + 'comment': comment + }; + }); + + let token = window.saturne.toolbox.getToken(); + + let url = document.URL.replace(/id=\d+/, 'id=' + subControlID); + + for (const [questionId, answer] of Object.entries(questionIds)) { + await window.digiquali.object.saveAnswer(questionId, answer.answer, answer.comment, url + '&action=save&token=' + token); + } + + url = document.URL.replace(/id=\d+/, 'id=' + massControlId); + $.ajax({ + url: url, + type: 'GET', + processData: false, + contentType: false, + data: [], + success: function (resp) { + $('.sub-control-' + subControlID).replaceWith($(resp).find('.sub-control-' + subControlID)); + $('.wpeo-loader').removeClass('wpeo-loader'); + } + }); +} From df7cb27e0bd84d0afd5701387321d16c1691822a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20David?= Date: Tue, 20 Aug 2024 11:28:01 +0200 Subject: [PATCH 08/25] add multi sheets on control form --- ...9_modDigiQuali_DigiQualiTriggers.class.php | 2 +- js/digiquali.min.js | 2 +- js/modules/control.js | 14 +++++ langs/fr_FR/digiquali.lang | 2 + view/control/control_card.php | 56 ++++++++++--------- 5 files changed, 49 insertions(+), 27 deletions(-) diff --git a/core/triggers/interface_99_modDigiQuali_DigiQualiTriggers.class.php b/core/triggers/interface_99_modDigiQuali_DigiQualiTriggers.class.php index dceda313..90d52b58 100644 --- a/core/triggers/interface_99_modDigiQuali_DigiQualiTriggers.class.php +++ b/core/triggers/interface_99_modDigiQuali_DigiQualiTriggers.class.php @@ -163,7 +163,7 @@ public function runTrigger($action, $object, User $user, Translate $langs, Conf $control->status = $control::STATUS_DRAFT; $control->label = $object->label; - $control->fk_sheet = $object->fk_sheet; + $control->fk_sheet = GETPOST('fk_sub_controls_sheet'); $control->fk_user_controller = $object->fk_user_controller; $control->fk_control = $object->id; $controlId = $control->create($user, true); diff --git a/js/digiquali.min.js b/js/digiquali.min.js index 2e625623..c81a309f 100644 --- a/js/digiquali.min.js +++ b/js/digiquali.min.js @@ -1 +1 @@ -window.digiquali||(window.digiquali={},window.digiquali.scriptsLoaded=!1),window.digiquali.scriptsLoaded||(window.digiquali.init=function(){window.digiquali.load_list_script()},window.digiquali.load_list_script=function(){if(!window.digiquali.scriptsLoaded){var t=void 0,e=void 0;for(t in window.digiquali)for(e in window.digiquali[t].init&&window.digiquali[t].init(),window.digiquali[t])window.digiquali[t]&&window.digiquali[t][e]&&window.digiquali[t][e].init&&window.digiquali[t][e].init();window.digiquali.scriptsLoaded=!0}},window.digiquali.refresh=function(){var t=void 0,e=void 0;for(t in window.digiquali)for(e in window.digiquali[t].refresh&&window.digiquali[t].refresh(),window.digiquali[t])window.digiquali[t]&&window.digiquali[t][e]&&window.digiquali[t][e].refresh&&window.digiquali[t][e].refresh()},$(document).ready(window.digiquali.init)),window.digiquali.control={},window.digiquali.control.init=function(){window.digiquali.control.event()},window.digiquali.control.event=function(){$(document).on("click",".validateButton",window.digiquali.control.getAnswerCounter),$(document).on("change","#fk_sheet",window.digiquali.control.showSelectObjectLinked),$(document).on("click",".clipboard-copy",window.digiquali.control.copyToClipboard),$(document).on("change","#productId",window.digiquali.control.refreshLotSelector),$(document).on("click",".switch-public-control-view",window.digiquali.control.switchPublicControlView),$(document).on("click",".show-only-questions-with-no-answer",window.digiquali.control.showOnlyQuestionsWithNoAnswer),$(document).on("click",".photo-sheet-category",window.digiquali.control.getSheetCategoryID),$(document).on("click",".photo-sheet-sub-category",window.digiquali.control.getSheetSubCategoryID),$(document).on("click",".photo-sheet",window.digiquali.control.getSheetID),$(document).on("click",".saveSubControlAnswers",window.digiquali.control.saveSubControlAnswers),$(document).on("click",".saveSubControl",window.digiquali.control.saveSubControl),$(document).on("click",".lockSubControl",window.digiquali.control.lockSubControl)},window.digiquali.control.getAnswerCounter=function(t){let e=0;jQuery("#tablelines").children().each(function(){0<$(this).find(".answer.active").length&&(e+=1)}),document.cookie="answerCounter="+e},window.digiquali.control.showSelectObjectLinked=function(){var t=$(this).val(),e=window.saturne.toolbox.getToken(),o=window.saturne.toolbox.getQuerySeparator(document.URL),o=document.URL+o+"fk_sheet="+t+"&token="+e;window.saturne.loader.display($(".linked-objects")),$.ajax({url:o,type:"POST",processData:!1,contentType:!1,success:function(t){$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.copyToClipboard=function(t){var e=$(".copy-to-clipboard").attr("value");navigator.clipboard.writeText(e).then(()=>{$(".clipboard-copy").animate({backgroundColor:"#59ed9c"},200,()=>{$(".clipboard-copy").attr("class","fas fa-check clipboard-copy"),$(this).tooltip({items:".clipboard-copy",content:$("#copyToClipboardTooltip").val()}),$(this).tooltip("open"),$(".clipboard-copy").attr("style","")})})},window.digiquali.control.refreshLotSelector=function(t){var e=document.getElementById("add_control_equipment"),e=new FormData(e),o=window.saturne.toolbox.getToken(),e=e.get("productId"),o=document.URL+"&token="+o;o+="&fk_product="+e,window.saturne.loader.display($(".product-lot")),$.ajax({url:o,type:"POST",processData:!1,contentType:!1,success:function(t){$(".product-lot").replaceWith($(t).find(".product-lot"))},error:function(){}})},window.digiquali.control.switchPublicControlView=function(t){var e=$(this).find(".public-control-view").val(),o=window.saturne.toolbox.getToken();let i=document.URL+"&token="+o;i+=0==e?"&show_control_list=1":"&show_last_control=1",window.saturne.loader.display($(".signature-container")),$.ajax({url:i,type:"POST",processData:!1,contentType:!1,success:function(t){$("#publicControlHistory").replaceWith($(t).find("#publicControlHistory"))},error:function(){}})},window.digiquali.control.showOnlyQuestionsWithNoAnswer=function(){var t=window.saturne.toolbox.getQuerySeparator(document.URL),e=window.saturne.toolbox.getToken();let o;o=$(this).hasClass("fa-toggle-off")?1:0,window.saturne.loader.display($(this)),$.ajax({url:document.URL+t+"action=show_only_questions_with_no_answer&token="+e,type:"POST",processData:!1,data:JSON.stringify({showOnlyQuestionsWithNoAnswer:o}),contentType:!1,success:function(t){$(".progress-info").replaceWith($(t).find(".progress-info")),$(".question-answer-container").replaceWith($(t).find(".question-answer-container"))},error:function(){}})},window.digiquali.control.getSheetCategoryID=function(){let e=$(this).attr("value");var t=window.saturne.toolbox.getToken(),o=window.saturne.toolbox.getQuerySeparator(document.URL);window.saturne.loader.display($(".sheet-images-container")),$.ajax({url:document.URL+o+"sheetCategoryID="+e+"&token="+t,type:"POST",processData:!1,contentType:!1,success:function(t){$(".sheet-images-container").replaceWith($(t).find(".sheet-images-container")),$(".photo-sheet-category[value="+e+"]").css("border","3px solid #0d8aff"),$(".photo-sheet-category[value="+e+"]").addClass("photo-sheet-category-active"),$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.getSheetSubCategoryID=function(){let e=$(".photo-sheet-category-active").attr("value"),o=$(this).attr("value");var t=window.saturne.toolbox.getToken(),i=window.saturne.toolbox.getQuerySeparator(document.URL);window.saturne.loader.display($(".sheet-images-container")),$.ajax({url:document.URL+i+"sheetCategoryID="+e+"&sheetSubCategoryID="+o+"&token="+t,type:"POST",processData:!1,contentType:!1,success:function(t){$(".sheet-images-container").replaceWith($(t).find(".sheet-images-container")),$(".photo-sheet-category[value="+e+"]").css("border","3px solid #0d8aff"),$(".photo-sheet-category[value="+e+"]").addClass("photo-sheet-category-active"),$(".photo-sheet-sub-category[value="+o+"]").css("border","3px solid #0d8aff"),$(".photo-sheet-sub-category[value="+o+"]").addClass("photo-sheet-sub-category-active"),$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.getSheetID=function(){let e=$(this).attr("data-object-id");var t=$(".photo-sheet-category-active").attr("value"),o=$(".photo-sheet-sub-category-active").attr("value"),i=window.saturne.toolbox.getToken(),n=window.saturne.toolbox.getQuerySeparator(document.URL);window.saturne.loader.display($(".sheet-elements")),window.saturne.loader.display($(".linked-objects")),$.ajax({url:document.URL+n+"fk_sheet="+e+"&sheetCategoryID="+t+"&sheetSubCategoryID="+o+"&token="+i,type:"POST",processData:!1,contentType:!1,success:function(t){$(".sheet-elements").replaceWith($(t).find(".sheet-elements")),$(".photo-sheet[data-object-id="+e+"]").css("border","3px solid #0d8aff"),$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.saveSubControl=function(){let a=$(this).attr("data-control-id"),s=$(this).attr("data-mass-control-id");var t=$(this).closest(".table-row").find(".note-public").val();let d=[];$(this).closest(".table-row").find(".select-answer").each(function(){var t=$(this).attr("data-questionid"),e=$(this).find(".question-answer").val(),o=$(this).closest(".wpeo-table").find(".question-comment").val();d[t]={answer:e,comment:o}});var e=$(this).closest(".table-row").find('.verdict-option input[type="radio"]:checked').val();let l=window.saturne.toolbox.getToken();window.saturne.loader.display($(this).closest(".table-row"));var o=document.URL.replace(/id=\d+/,"id="+a);$.ajax({url:o+"&token="+l+"&action=confirm_setVerdict&verdict="+e+"¬eControl="+t,type:"POST",processData:!1,contentType:!1,data:[],success:async function(t){for(var[e,o]of Object.entries(d)){var i=document.URL.replace(/id=\d+/,"id="+a);await window.digiquali.object.saveAnswer(e,o.answer,o.comment,i+"&action=save&token="+l)}var n=document.URL.replace(/id=\d+/,"id="+s);$.ajax({url:n,type:"GET",processData:!1,contentType:!1,data:[],success:function(t){$(".sub-control-"+a).replaceWith($(t).find(".sub-control-"+a))}})},error:function(){}})},window.digiquali.control.lockSubControl=function(){let o=$(this).attr("data-control-id"),i=$(this).attr("data-mass-control-id");var t=window.saturne.toolbox.getToken(),e=(window.saturne.loader.display($(this).closest(".table-row")),document.URL.replace(/id=\d+/,"id="+o));$.ajax({url:e+"&token="+t+"&action=confirm_lock",type:"POST",processData:!1,contentType:!1,data:[],success:function(t){var e=document.URL.replace(/id=\d+/,"id="+i);$.ajax({url:e,type:"GET",processData:!1,contentType:!1,data:[],success:function(t){$(".sub-control-"+o).replaceWith($(t).find(".sub-control-"+o))}})},error:function(){}})},window.digiquali.control.saveSubControlAnswers=async function(){let e=$(this).attr("data-control-id");var t=$(this).attr("data-mass-control-id");window.saturne.loader.display($(this));let i=[];$(this).closest(".table-row").find(".select-answer").each(function(){var t=$(this).attr("data-questionid"),e=$(this).find(".question-answer").val(),o=$(this).closest(".wpeo-table").find(".question-comment").val();i[t]={answer:e,comment:o}});var o,n,a=window.saturne.toolbox.getToken();let s=document.URL.replace(/id=\d+/,"id="+e);for([o,n]of Object.entries(i))await window.digiquali.object.saveAnswer(o,n.answer,n.comment,s+"&action=save&token="+a);s=document.URL.replace(/id=\d+/,"id="+t),$.ajax({url:s,type:"GET",processData:!1,contentType:!1,data:[],success:function(t){$(".sub-control-"+e).replaceWith($(t).find(".sub-control-"+e)),$(".wpeo-loader").removeClass("wpeo-loader")}})},window.digiquali.object={},window.digiquali.object.init=function(){window.digiquali.object.event()},window.digiquali.object.event=function(){$(document).on("change",".object-table.linked-objects select",window.digiquali.object.disableOtherSelectors),$(document).on("click",".answer:not(.disable)",window.digiquali.object.selectAnswer),$(document).on("input",".input-answer:not(.disable)",window.digiquali.object.selectAnswer),$(document).on("keyup",".question-comment",window.digiquali.object.showCommentUnsaved)},window.digiquali.object.disableOtherSelectors=function(){var t=document.getElementById("createObjectForm"),t=new FormData(t),e=$(this).attr("id");0<=t.get(e)?$(".object-table.linked-objects").find("select").not("#"+e).attr("disabled",1):$(".object-table.linked-objects").find("select").not("#"+e).removeAttr("disabled")},window.digiquali.object.selectAnswer=function(){var e=$(this).closest(".select-answer.answer-cell"),t=e.attr("data-questionId"),o=$(this).closest(".table-id-"+t).attr("data-publicInterface"),i=$(this).closest(".table-id-"+t).attr("data-autoSave");let n="";var a=$(this).hasClass("answer")?$(this).attr("value"):$(this).val(),s=$(this).closest(".table-id-"+t).find("#comment"+t).val();if($(this).closest(".table-cell").hasClass("select-answer")){if($(this).hasClass("multiple-answers")){$(this).closest("span").toggleClass("active");let t=[];e.find(".multiple-answers.active").each(function(){t.push($(this).attr("value"))}),n=t}else $(this).closest(".table-cell").find(".answer.active").css("background-color","#fff"),$(this).closest(".table-cell").find("span").removeClass("active"),$(this).closest("span").addClass("active"),n=a;$(this).hasClass("active")?(e=$(this).closest(".answer-cell").find(".answer-color-"+$(this).attr("value")).val(),$(this).attr("style",$(this).attr("style")+" background:"+e+";")):$(this).attr("style",$(this).attr("style")+" background:#fff;"),$(this).closest(".answer-cell").find(".question-answer").val(n)}o||1!=i||$(this).hasClass("multiple-answers")?window.digiquali.object.updateButtonsStatus():window.digiquali.object.saveAnswer(t,n,s)},window.digiquali.object.showCommentUnsaved=function(){$(this).hasClass("show-comment-unsaved-message")||($(this).after('

Commentaire non enregistré

'),$(this).addClass("show-comment-unsaved-message")),window.digiquali.object.updateButtonsStatus()},window.digiquali.object.updateButtonsStatus=function(){$("#saveButton").removeClass("butActionRefused"),$("#saveButton").addClass("butAction"),$("#saveButton").css("background","#0d8aff"),$(".fa-circle").css("display","inline"),$("#saveButton").attr("onclick",'$("#saveObject").submit()'),$(".validateButton").removeClass("butAction"),$("#dialog-confirm-actionButtonValidate").removeAttr("id"),$(".validateButton").addClass("butActionRefused")},window.digiquali.object.saveAnswer=function(t,e,o,i=""){var n=window.saturne.toolbox.getToken(),a=window.saturne.toolbox.getQuerySeparator(document.URL),a=i||document.URL+a+"action=save&token="+n;window.saturne.loader.display($(".table-id-"+t)),$.ajax({url:a,type:"POST",data:JSON.stringify({autoSave:!0,questionId:t,answer:e,comment:o}),processData:!1,contentType:!1,success:function(t){i.length<1&&$(".fiche").replaceWith($(t).find(".fiche"))},error:function(){}})},window.digiquali.question={},window.digiquali.question.init=function(){window.digiquali.question.event()},window.digiquali.question.event=function(){$(document).on("click",".clicked-photo-preview",window.digiquali.question.previewPhoto),$(document).on("click",".ui-dialog-titlebar-close",window.digiquali.question.closePreviewPhoto),$(document).on("click","#show_photo",window.digiquali.question.showPhoto),$(document).on("click",".answer-picto .item, .wpeo-table .item",window.digiquali.question.selectAnswerPicto)},window.digiquali.question.previewPhoto=function(t){$(this).hasClass("photo-ok")?$("#dialogforpopup").attr("style","border: 10px solid #47e58e"):$(this).hasClass("photo-ko")&&$("#dialogforpopup").attr("style","border: 10px solid #e05353")},window.digiquali.question.closePreviewPhoto=function(t){$("#dialogforpopup").attr("style","border:")},window.digiquali.question.showPhoto=function(){var t=$(this).closest(".question-table").find(".linked-medias");t.hasClass("hidden")?(t.attr("style",""),t.removeClass("hidden")):(t.attr("style","display:none"),t.addClass("hidden"))},window.digiquali.question.selectAnswerPicto=function(t){var e=$(this).closest(".wpeo-dropdown");$(this).closest(".content").removeClass("active"),e.find(".dropdown-toggle span").hide(),e.find(".dropdown-toggle.button-picto").html($(this).closest(".wpeo-tooltip-event").html()),e.find(".input-hidden-picto").val($(this).data("label"))},window.digiquali.sheet={},window.digiquali.sheet.init=function(){window.digiquali.sheet.event()},window.digiquali.sheet.event=function(){}; \ No newline at end of file +window.digiquali||(window.digiquali={},window.digiquali.scriptsLoaded=!1),window.digiquali.scriptsLoaded||(window.digiquali.init=function(){window.digiquali.load_list_script()},window.digiquali.load_list_script=function(){if(!window.digiquali.scriptsLoaded){var t=void 0,o=void 0;for(t in window.digiquali)for(o in window.digiquali[t].init&&window.digiquali[t].init(),window.digiquali[t])window.digiquali[t]&&window.digiquali[t][o]&&window.digiquali[t][o].init&&window.digiquali[t][o].init();window.digiquali.scriptsLoaded=!0}},window.digiquali.refresh=function(){var t=void 0,o=void 0;for(t in window.digiquali)for(o in window.digiquali[t].refresh&&window.digiquali[t].refresh(),window.digiquali[t])window.digiquali[t]&&window.digiquali[t][o]&&window.digiquali[t][o].refresh&&window.digiquali[t][o].refresh()},$(document).ready(window.digiquali.init)),window.digiquali.control={},window.digiquali.control.init=function(){window.digiquali.control.event()},window.digiquali.control.event=function(){$(document).on("click",".validateButton",window.digiquali.control.getAnswerCounter),$(document).on("change","#fk_sheet",window.digiquali.control.showSelectObjectLinked),$(document).on("click",".clipboard-copy",window.digiquali.control.copyToClipboard),$(document).on("change","#productId",window.digiquali.control.refreshLotSelector),$(document).on("change",'[name="mass_control"]',window.digiquali.control.showSubControlsModel),$(document).on("click",".switch-public-control-view",window.digiquali.control.switchPublicControlView),$(document).on("click",".show-only-questions-with-no-answer",window.digiquali.control.showOnlyQuestionsWithNoAnswer),$(document).on("click",".photo-sheet-category",window.digiquali.control.getSheetCategoryID),$(document).on("click",".photo-sheet-sub-category",window.digiquali.control.getSheetSubCategoryID),$(document).on("click",".photo-sheet",window.digiquali.control.getSheetID),$(document).on("click",".saveSubControlAnswers",window.digiquali.control.saveSubControlAnswers),$(document).on("click",".saveSubControl",window.digiquali.control.saveSubControl),$(document).on("click",".lockSubControl",window.digiquali.control.lockSubControl)},window.digiquali.control.getAnswerCounter=function(t){let o=0;jQuery("#tablelines").children().each(function(){0<$(this).find(".answer.active").length&&(o+=1)}),document.cookie="answerCounter="+o},window.digiquali.control.showSelectObjectLinked=function(){var t=$(this).val(),o=window.saturne.toolbox.getToken(),e=window.saturne.toolbox.getQuerySeparator(document.URL),e=document.URL+e+"fk_sheet="+t+"&token="+o;window.saturne.loader.display($(".linked-objects")),$.ajax({url:e,type:"POST",processData:!1,contentType:!1,success:function(t){$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.copyToClipboard=function(t){var o=$(".copy-to-clipboard").attr("value");navigator.clipboard.writeText(o).then(()=>{$(".clipboard-copy").animate({backgroundColor:"#59ed9c"},200,()=>{$(".clipboard-copy").attr("class","fas fa-check clipboard-copy"),$(this).tooltip({items:".clipboard-copy",content:$("#copyToClipboardTooltip").val()}),$(this).tooltip("open"),$(".clipboard-copy").attr("style","")})})},window.digiquali.control.refreshLotSelector=function(t){var o=document.getElementById("add_control_equipment"),o=new FormData(o),e=window.saturne.toolbox.getToken(),o=o.get("productId"),e=document.URL+"&token="+e;e+="&fk_product="+o,window.saturne.loader.display($(".product-lot")),$.ajax({url:e,type:"POST",processData:!1,contentType:!1,success:function(t){$(".product-lot").replaceWith($(t).find(".product-lot"))},error:function(){}})},window.digiquali.control.switchPublicControlView=function(t){var o=$(this).find(".public-control-view").val(),e=window.saturne.toolbox.getToken();let i=document.URL+"&token="+e;i+=0==o?"&show_control_list=1":"&show_last_control=1",window.saturne.loader.display($(".signature-container")),$.ajax({url:i,type:"POST",processData:!1,contentType:!1,success:function(t){$("#publicControlHistory").replaceWith($(t).find("#publicControlHistory"))},error:function(){}})},window.digiquali.control.showOnlyQuestionsWithNoAnswer=function(){var t=window.saturne.toolbox.getQuerySeparator(document.URL),o=window.saturne.toolbox.getToken();let e;e=$(this).hasClass("fa-toggle-off")?1:0,window.saturne.loader.display($(this)),$.ajax({url:document.URL+t+"action=show_only_questions_with_no_answer&token="+o,type:"POST",processData:!1,data:JSON.stringify({showOnlyQuestionsWithNoAnswer:e}),contentType:!1,success:function(t){$(".progress-info").replaceWith($(t).find(".progress-info")),$(".question-answer-container").replaceWith($(t).find(".question-answer-container"))},error:function(){}})},window.digiquali.control.getSheetCategoryID=function(){let o=$(this).attr("value");var t=window.saturne.toolbox.getToken(),e=window.saturne.toolbox.getQuerySeparator(document.URL);window.saturne.loader.display($(".sheet-images-container")),$.ajax({url:document.URL+e+"sheetCategoryID="+o+"&token="+t,type:"POST",processData:!1,contentType:!1,success:function(t){$(".sheet-images-container").replaceWith($(t).find(".sheet-images-container")),$(".photo-sheet-category[value="+o+"]").css("border","3px solid #0d8aff"),$(".photo-sheet-category[value="+o+"]").addClass("photo-sheet-category-active"),$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.getSheetSubCategoryID=function(){let o=$(".photo-sheet-category-active").attr("value"),e=$(this).attr("value");var t=window.saturne.toolbox.getToken(),i=window.saturne.toolbox.getQuerySeparator(document.URL);window.saturne.loader.display($(".sheet-images-container")),$.ajax({url:document.URL+i+"sheetCategoryID="+o+"&sheetSubCategoryID="+e+"&token="+t,type:"POST",processData:!1,contentType:!1,success:function(t){$(".sheet-images-container").replaceWith($(t).find(".sheet-images-container")),$(".photo-sheet-category[value="+o+"]").css("border","3px solid #0d8aff"),$(".photo-sheet-category[value="+o+"]").addClass("photo-sheet-category-active"),$(".photo-sheet-sub-category[value="+e+"]").css("border","3px solid #0d8aff"),$(".photo-sheet-sub-category[value="+e+"]").addClass("photo-sheet-sub-category-active"),$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.getSheetID=function(){let o=$(this).attr("data-object-id");var t=$(".photo-sheet-category-active").attr("value"),e=$(".photo-sheet-sub-category-active").attr("value"),i=window.saturne.toolbox.getToken(),n=window.saturne.toolbox.getQuerySeparator(document.URL);window.saturne.loader.display($(".sheet-elements")),window.saturne.loader.display($(".linked-objects")),$.ajax({url:document.URL+n+"fk_sheet="+o+"&sheetCategoryID="+t+"&sheetSubCategoryID="+e+"&token="+i,type:"POST",processData:!1,contentType:!1,success:function(t){$(".sheet-elements").replaceWith($(t).find(".sheet-elements")),$(".photo-sheet[data-object-id="+o+"]").css("border","3px solid #0d8aff"),$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.saveSubControl=function(){let a=$(this).attr("data-control-id"),s=$(this).attr("data-mass-control-id");var t=$(this).closest(".table-row").find(".note-public").val();let d=[];$(this).closest(".table-row").find(".select-answer").each(function(){var t=$(this).attr("data-questionid"),o=$(this).find(".question-answer").val(),e=$(this).closest(".wpeo-table").find(".question-comment").val();d[t]={answer:o,comment:e}});var o=$(this).closest(".table-row").find('.verdict-option input[type="radio"]:checked').val();let l=window.saturne.toolbox.getToken();window.saturne.loader.display($(this).closest(".table-row"));var e=document.URL.replace(/id=\d+/,"id="+a);$.ajax({url:e+"&token="+l+"&action=confirm_setVerdict&verdict="+o+"¬eControl="+t,type:"POST",processData:!1,contentType:!1,data:[],success:async function(t){for(var[o,e]of Object.entries(d)){var i=document.URL.replace(/id=\d+/,"id="+a);await window.digiquali.object.saveAnswer(o,e.answer,e.comment,i+"&action=save&token="+l)}var n=document.URL.replace(/id=\d+/,"id="+s);$.ajax({url:n,type:"GET",processData:!1,contentType:!1,data:[],success:function(t){$(".sub-control-"+a).replaceWith($(t).find(".sub-control-"+a))}})},error:function(){}})},window.digiquali.control.lockSubControl=function(){let e=$(this).attr("data-control-id"),i=$(this).attr("data-mass-control-id");var t=window.saturne.toolbox.getToken(),o=(window.saturne.loader.display($(this).closest(".table-row")),document.URL.replace(/id=\d+/,"id="+e));$.ajax({url:o+"&token="+t+"&action=confirm_lock",type:"POST",processData:!1,contentType:!1,data:[],success:function(t){var o=document.URL.replace(/id=\d+/,"id="+i);$.ajax({url:o,type:"GET",processData:!1,contentType:!1,data:[],success:function(t){$(".sub-control-"+e).replaceWith($(t).find(".sub-control-"+e))}})},error:function(){}})},window.digiquali.control.saveSubControlAnswers=async function(){let o=$(this).attr("data-control-id");var t=$(this).attr("data-mass-control-id");window.saturne.loader.display($(this));let i=[];$(this).closest(".table-row").find(".select-answer").each(function(){var t=$(this).attr("data-questionid"),o=$(this).find(".question-answer").val(),e=$(this).closest(".wpeo-table").find(".question-comment").val();i[t]={answer:o,comment:e}});var e,n,a=window.saturne.toolbox.getToken();let s=document.URL.replace(/id=\d+/,"id="+o);for([e,n]of Object.entries(i))await window.digiquali.object.saveAnswer(e,n.answer,n.comment,s+"&action=save&token="+a);s=document.URL.replace(/id=\d+/,"id="+t),$.ajax({url:s,type:"GET",processData:!1,contentType:!1,data:[],success:function(t){$(".sub-control-"+o).replaceWith($(t).find(".sub-control-"+o)),$(".wpeo-loader").removeClass("wpeo-loader")}})},window.digiquali.control.showSubControlsModel=function(){$(".sub-controls-model").attr("style",""),$(".sub-controls-model").find(".select2-container").css("width","500px")},window.digiquali.object={},window.digiquali.object.init=function(){window.digiquali.object.event()},window.digiquali.object.event=function(){$(document).on("change",".object-table.linked-objects select",window.digiquali.object.disableOtherSelectors),$(document).on("click",".answer:not(.disable)",window.digiquali.object.selectAnswer),$(document).on("input",".input-answer:not(.disable)",window.digiquali.object.selectAnswer),$(document).on("keyup",".question-comment",window.digiquali.object.showCommentUnsaved)},window.digiquali.object.disableOtherSelectors=function(){var t=document.getElementById("createObjectForm"),t=new FormData(t),o=$(this).attr("id");0<=t.get(o)?$(".object-table.linked-objects").find("select").not("#"+o).attr("disabled",1):$(".object-table.linked-objects").find("select").not("#"+o).removeAttr("disabled")},window.digiquali.object.selectAnswer=function(){var o=$(this).closest(".select-answer.answer-cell"),t=o.attr("data-questionId"),e=$(this).closest(".table-id-"+t).attr("data-publicInterface"),i=$(this).closest(".table-id-"+t).attr("data-autoSave");let n="";var a=$(this).hasClass("answer")?$(this).attr("value"):$(this).val(),s=$(this).closest(".table-id-"+t).find("#comment"+t).val();if($(this).closest(".table-cell").hasClass("select-answer")){if($(this).hasClass("multiple-answers")){$(this).closest("span").toggleClass("active");let t=[];o.find(".multiple-answers.active").each(function(){t.push($(this).attr("value"))}),n=t}else $(this).closest(".table-cell").find(".answer.active").css("background-color","#fff"),$(this).closest(".table-cell").find("span").removeClass("active"),$(this).closest("span").addClass("active"),n=a;$(this).hasClass("active")?(o=$(this).closest(".answer-cell").find(".answer-color-"+$(this).attr("value")).val(),$(this).attr("style",$(this).attr("style")+" background:"+o+";")):$(this).attr("style",$(this).attr("style")+" background:#fff;"),$(this).closest(".answer-cell").find(".question-answer").val(n)}e||1!=i||$(this).hasClass("multiple-answers")?window.digiquali.object.updateButtonsStatus():window.digiquali.object.saveAnswer(t,n,s)},window.digiquali.object.showCommentUnsaved=function(){$(this).hasClass("show-comment-unsaved-message")||($(this).after('

Commentaire non enregistré

'),$(this).addClass("show-comment-unsaved-message")),window.digiquali.object.updateButtonsStatus()},window.digiquali.object.updateButtonsStatus=function(){$("#saveButton").removeClass("butActionRefused"),$("#saveButton").addClass("butAction"),$("#saveButton").css("background","#0d8aff"),$(".fa-circle").css("display","inline"),$("#saveButton").attr("onclick",'$("#saveObject").submit()'),$(".validateButton").removeClass("butAction"),$("#dialog-confirm-actionButtonValidate").removeAttr("id"),$(".validateButton").addClass("butActionRefused")},window.digiquali.object.saveAnswer=function(t,o,e,i=""){var n=window.saturne.toolbox.getToken(),a=window.saturne.toolbox.getQuerySeparator(document.URL),a=i||document.URL+a+"action=save&token="+n;window.saturne.loader.display($(".table-id-"+t)),$.ajax({url:a,type:"POST",data:JSON.stringify({autoSave:!0,questionId:t,answer:o,comment:e}),processData:!1,contentType:!1,success:function(t){i.length<1&&$(".fiche").replaceWith($(t).find(".fiche"))},error:function(){}})},window.digiquali.question={},window.digiquali.question.init=function(){window.digiquali.question.event()},window.digiquali.question.event=function(){$(document).on("click",".clicked-photo-preview",window.digiquali.question.previewPhoto),$(document).on("click",".ui-dialog-titlebar-close",window.digiquali.question.closePreviewPhoto),$(document).on("click","#show_photo",window.digiquali.question.showPhoto),$(document).on("click",".answer-picto .item, .wpeo-table .item",window.digiquali.question.selectAnswerPicto)},window.digiquali.question.previewPhoto=function(t){$(this).hasClass("photo-ok")?$("#dialogforpopup").attr("style","border: 10px solid #47e58e"):$(this).hasClass("photo-ko")&&$("#dialogforpopup").attr("style","border: 10px solid #e05353")},window.digiquali.question.closePreviewPhoto=function(t){$("#dialogforpopup").attr("style","border:")},window.digiquali.question.showPhoto=function(){var t=$(this).closest(".question-table").find(".linked-medias");t.hasClass("hidden")?(t.attr("style",""),t.removeClass("hidden")):(t.attr("style","display:none"),t.addClass("hidden"))},window.digiquali.question.selectAnswerPicto=function(t){var o=$(this).closest(".wpeo-dropdown");$(this).closest(".content").removeClass("active"),o.find(".dropdown-toggle span").hide(),o.find(".dropdown-toggle.button-picto").html($(this).closest(".wpeo-tooltip-event").html()),o.find(".input-hidden-picto").val($(this).data("label"))},window.digiquali.sheet={},window.digiquali.sheet.init=function(){window.digiquali.sheet.event()},window.digiquali.sheet.event=function(){}; \ No newline at end of file diff --git a/js/modules/control.js b/js/modules/control.js index 86b03246..8298d6a0 100644 --- a/js/modules/control.js +++ b/js/modules/control.js @@ -32,6 +32,7 @@ window.digiquali.control.event = function() { $( document ).on( 'change', '#fk_sheet', window.digiquali.control.showSelectObjectLinked); $( document ).on( 'click', '.clipboard-copy', window.digiquali.control.copyToClipboard ); $( document ).on( 'change', '#productId', window.digiquali.control.refreshLotSelector ); + $( document ).on( 'change', '[name="mass_control"]', window.digiquali.control.showSubControlsModel ); $( document ).on( 'click', '.switch-public-control-view', window.digiquali.control.switchPublicControlView ); $(document).on('click', '.show-only-questions-with-no-answer', window.digiquali.control.showOnlyQuestionsWithNoAnswer); $(document).on('click', '.photo-sheet-category', window.digiquali.control.getSheetCategoryID); @@ -462,3 +463,16 @@ window.digiquali.control.saveSubControlAnswers = async function() { } }); } + +/** + * Show sub controls model + * + * @since 1.10.0 + * @version 1.10.0 + * + * @return {void} + */ +window.digiquali.control.showSubControlsModel = function() { + $('.sub-controls-model').attr('style', ''); + $('.sub-controls-model').find('.select2-container').css('width', '500px') +} diff --git a/langs/fr_FR/digiquali.lang b/langs/fr_FR/digiquali.lang index 1dbd8003..82389d00 100644 --- a/langs/fr_FR/digiquali.lang +++ b/langs/fr_FR/digiquali.lang @@ -353,6 +353,8 @@ MassControl = Contrôle en masse LinkedControlList = Liste des contrôles liés NewMassControl = Nouveau contrôle en masse ControlledObject = Objet contrôlé +SubControlSheet = Modèle des sous-contrôles + # diff --git a/view/control/control_card.php b/view/control/control_card.php index 65180871..7bf13074 100644 --- a/view/control/control_card.php +++ b/view/control/control_card.php @@ -407,6 +407,13 @@ print ''; print ''; + //FK SHEET + print '' . ($source != 'pwa' ? $langs->trans('SubControlSheet') : img_picto('', $sheet->picto . '_2em', 'class="pictofixedwidth"')) . ''; + print ($source != 'pwa' ? img_picto('', $sheet->picto, 'class="pictofixedwidth"') : '') . $sheet->selectSheetList(GETPOST('fk_sub_controls_sheet'), 'fk_sub_controls_sheet', 's.type = ' . '"' . $object->element . '" AND s.status = ' . Sheet::STATUS_LOCKED); + if ($source != 'pwa') { + print ''; + } + print ''; print ''; print '
'; @@ -895,36 +902,35 @@ print ''; } - if ($object->mass_control) { - require_once __DIR__ . '/../../core/tpl/digiquali_mass_control_list.tpl.php'; + // QUESTION LINES + print '
'; - } else { - // QUESTION LINES - print '
'; + if (is_array($questionIds) && !empty($questionIds)) { + ksort($questionIds); + } ?> - if (is_array($questionIds) && !empty($questionIds)) { - ksort($questionIds); +
+ +
+
+
+ conf->DIGIQUALI_SHOW_ONLY_QUESTIONS_WITH_NO_ANSWER ? img_picto($langs->trans('Enabled'), 'switch_on', 'class="show-only-questions-with-no-answer marginrightonly"') : img_picto($langs->trans('Disabled'), 'switch_off', 'class="show-only-questions-with-no-answer marginrightonly"'); + print $form->textwithpicto($user->conf->DIGIQUALI_SHOW_ONLY_QUESTIONS_WITH_NO_ANSWER ? '' : '', $langs->trans('ShowOnlyQuestionsWithNoAnswer')); + } else { + $user->conf->DIGIQUALI_SHOW_ONLY_QUESTIONS_WITH_NO_ANSWER = 0; } ?> +
-
- -
-
-
- conf->DIGIQUALI_SHOW_ONLY_QUESTIONS_WITH_NO_ANSWER ? img_picto($langs->trans('Enabled'), 'switch_on', 'class="show-only-questions-with-no-answer marginrightonly"') : img_picto($langs->trans('Disabled'), 'switch_off', 'class="show-only-questions-with-no-answer marginrightonly"'); - print $form->textwithpicto($user->conf->DIGIQUALI_SHOW_ONLY_QUESTIONS_WITH_NO_ANSWER ? '' : '', $langs->trans('ShowOnlyQuestionsWithNoAnswer')); - } else { - $user->conf->DIGIQUALI_SHOW_ONLY_QUESTIONS_WITH_NO_ANSWER = 0; - } ?> -
+ conf->DIGIQUALI_SHOW_ONLY_QUESTIONS_WITH_NO_ANSWER || $answerCounter != $questionCounter) { + print load_fiche_titre($langs->trans('LinkedQuestionsList'), '', ''); + print '
'; + require_once __DIR__ . '/../../core/tpl/digiquali_answers.tpl.php'; + print '
'; + } - conf->DIGIQUALI_SHOW_ONLY_QUESTIONS_WITH_NO_ANSWER || $answerCounter != $questionCounter) { - print load_fiche_titre($langs->trans('LinkedQuestionsList'), '', ''); - print '
'; - require_once __DIR__ . '/../../core/tpl/digiquali_answers.tpl.php'; - print '
'; - } + if ($object->mass_control) { + require_once __DIR__ . '/../../core/tpl/digiquali_mass_control_list.tpl.php'; } From 449d88a83e8d82aa48a65e60125b7157bf1417e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20David?= Date: Tue, 20 Aug 2024 15:50:00 +0200 Subject: [PATCH 09/25] add: add controls to control --- class/control.class.php | 1 - core/tpl/digiquali_mass_control_list.tpl.php | 60 ++++++++++++++++++-- langs/fr_FR/digiquali.lang | 2 + view/control/control_card.php | 44 +++++++++++++- view/sheet/sheet_card.php | 2 +- 5 files changed, 101 insertions(+), 8 deletions(-) diff --git a/class/control.class.php b/class/control.class.php index c382dedb..a352c958 100644 --- a/class/control.class.php +++ b/class/control.class.php @@ -287,7 +287,6 @@ public function __construct(DoliDB $db) public function create(User $user, bool $notrigger = false): int { $this->track_id = generate_random_id(); - $this->status = $this->mass_control ? self::STATUS_VALIDATED : self::STATUS_DRAFT; $result = parent::create($user, $notrigger); if ($result > 0) { diff --git a/core/tpl/digiquali_mass_control_list.tpl.php b/core/tpl/digiquali_mass_control_list.tpl.php index 3d811cb5..fd4b962f 100644 --- a/core/tpl/digiquali_mass_control_list.tpl.php +++ b/core/tpl/digiquali_mass_control_list.tpl.php @@ -146,8 +146,6 @@ print '
'; print '
'; print ''; - - } } else { // If no mass controls are found, display a message @@ -155,7 +153,59 @@ print '
' . $langs->trans('NoMassControlFound') . '
'; print ''; } -$object->fetch($id); -print ''; // End of table -print ''; // End of responsive container + +$object->fetch($mainControlId); + +if ($object->status == $object::STATUS_DRAFT) { + $controllableObjectType = array_key_first($object->linkedObjectsIds); + + foreach ($elementArray as $controllableElement) { + if ($controllableElement['link_name'] == $controllableObjectType) { + $controllableObject = $controllableElement; + } + } + $objectList = saturne_fetch_all_object_type($controllableObject['className']); + if (is_array($objectList) && !empty($objectList)) { + foreach ($objectList as $objectSingle) { + $objectName = ''; + $nameField = $controllableObject['name_field']; + if (strstr($nameField, ',')) { + $nameFields = explode(', ', $nameField); + if (is_array($nameFields) && !empty($nameFields)) { + foreach ($nameFields as $subnameField) { + $objectName .= $objectSingle->$subnameField . ' '; + } + } + } else { + $objectName = $objectSingle->$nameField; + } + $objectArray[$objectSingle->id] = $objectName; + } + } + + $objectPostName = $controllableObject['post_name']; + $objectPost = GETPOST($objectPostName) ?: (GETPOST('fromtype') == $controllableObject['link_name'] ? GETPOST('fromid') : ''); + + + print '
'; + print ''; + print ''; +//add token + print ''; + print '
'; + print '
'; + print img_picto('', $controllableObject['picto']); + print $form->selectarray($objectPostName, $objectArray, [$objectPost], 1, 0, 0, '', 500, 0, dol_strlen(GETPOST('fromtype')) > 0 && GETPOST('fromtype') != $controllableObject['link_name'], $langs->transnoentities('AddAnObjectToControl')); + print '
'; + + print '
'; + print ($source != 'pwa' ? img_picto('', $sheet->picto, 'class="pictofixedwidth"') : '') . $sheet->selectSheetList(GETPOST('fk_sub_controls_sheet'), 'fk_sub_controls_sheet', 's.type = ' . '"' . $object->element . '" AND s.status = ' . Sheet::STATUS_LOCKED); + print '
'; + print '
'; + print ''; + print '
'; + print '
'; + print '
'; +} + ?> diff --git a/langs/fr_FR/digiquali.lang b/langs/fr_FR/digiquali.lang index 82389d00..016d7d7a 100644 --- a/langs/fr_FR/digiquali.lang +++ b/langs/fr_FR/digiquali.lang @@ -354,6 +354,8 @@ LinkedControlList = Liste des contrôles liés NewMassControl = Nouveau contrôle en masse ControlledObject = Objet contrôlé SubControlSheet = Modèle des sous-contrôles +AddAnObjectToControl = Ajouter un objet à contrôler +SubControlsMustBeLockedToSetVerdict = Les sous-contrôles doivent être verrouillés pour définir le verdict diff --git a/view/control/control_card.php b/view/control/control_card.php index 7bf13074..00c31777 100644 --- a/view/control/control_card.php +++ b/view/control/control_card.php @@ -263,6 +263,33 @@ } } + //Action to add sub controls + if ($action == 'mass_control_add_object') { + $object->fetch($id); + $linkableElements = get_sheet_linkable_objects(); + $controlledObjectSelected = 0; + + if (!empty($linkableElements)) { + foreach ($linkableElements as $linkableElementType => $linkableElement) { + $post = GETPOST($linkableElement['post_name']); + if (!empty($post)) { + $objectType = $linkableElement['link_name']; + $objectId = $post; + + $controlToCreate = new Control($db); + $controlToCreate->fk_sheet = GETPOST('fk_sub_controls_sheet'); + $controlToCreate->label = $object->label; + $controlToCreate->status = $object::STATUS_DRAFT; + $controlToCreate->fk_user_controller = $object->fk_user_controller; + $controlToCreate->fk_control = $object->id; + $controlId = $controlToCreate->create($user, true); + + $controlToCreate->add_object_linked($linkableElement['link_name'], $objectId); + } + } + } + } + // Actions confirm_lock, confirm_archive require_once __DIR__ . '/../../../saturne/core/tpl/actions/object_workflow_actions.tpl.php'; @@ -840,7 +867,20 @@ // Set verdict control $displayButton = $onPhone ? '' : '' . ' ' . $langs->trans('SetOK/KO'); - if ($object->status == $object::STATUS_VALIDATED && $object->verdict == null && !$equipmentOutdated) { + $permissionToSetVerdict = 1; + if ($object->mass_control == 1) { + $subControlList = $object->fetchAll('', '', 0, 0, ['fk_control' => $object->id, 'status >= 0']); + if (is_array($subControlList) && !empty($subControlList)) { + foreach($subControlList as $subControl) { + if ($subControl->status != $object::STATUS_LOCKED) { + $permissionToSetVerdict = 0; + break; + } + } + } + } + + if ($object->status == $object::STATUS_VALIDATED && $object->verdict == null && !$equipmentOutdated && $permissionToSetVerdict) { if ($permissiontosetverdict) { print '' . $displayButton . ''; } @@ -848,6 +888,8 @@ print '' . $displayButton . ''; } else if ($equipmentOutdated) { print '' . $displayButton . ''; + } else if(!$permissionToSetVerdict) { + print '' . $displayButton . ''; } else { print '' . $displayButton . ''; } diff --git a/view/sheet/sheet_card.php b/view/sheet/sheet_card.php index 6c2a40bd..1864e8ea 100644 --- a/view/sheet/sheet_card.php +++ b/view/sheet/sheet_card.php @@ -627,7 +627,7 @@ if (empty($reshook) && $permissiontoadd) { // Create object depending on sheet type if ($object->status == $object::STATUS_LOCKED) { - print ' ' . $langs->trans('NewMass' . ucfirst($object->type)) . ''; + print ' ' . $langs->trans('NewMass' . ucfirst($object->type)) . ''; print ' ' . $langs->trans('New' . ucfirst($object->type)) . ''; } else { print ' ' . $langs->trans('NewMass' . ucfirst($object->type)) . ''; From c0b799b12bf14ef723bd91ef981d47c57657894a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20David?= Date: Tue, 20 Aug 2024 16:34:56 +0200 Subject: [PATCH 10/25] fix: mass signature --- class/actions_digiquali.class.php | 21 +++++++++++++++++++++ core/modules/modDigiQuali.class.php | 1 + 2 files changed, 22 insertions(+) diff --git a/class/actions_digiquali.class.php b/class/actions_digiquali.class.php index 14014f87..1a80de64 100644 --- a/class/actions_digiquali.class.php +++ b/class/actions_digiquali.class.php @@ -132,6 +132,27 @@ public function doActions(array $parameters, $object, string $action): int require_once __DIR__ . '/../class/survey.class.php'; } + if (strpos($parameters['context'], 'controlpublicsignature') !== false) { + if ($action == 'add_signature') { + $data = json_decode(file_get_contents('php://input'), true); + $subControlList = $object->fetchAll('', '', 0, 0, ['fk_control' => $object->id]); + + if(is_array($subControlList) && !empty($subControlList)) { + foreach ($subControlList as $subControl) { + $signatory = new SaturneSignature($this->db, 'digiquali', 'control'); + $signatory->fetch(0, '', ' AND fk_object =' . "'" . $subControl->id . "' AND object_type='control'"); + $signatory->signature = $data['signature']; + $signatory->signature_date = dol_now(); + + $result = $signatory->update($user, true); + if ($result > 0) { + $signatory->setSigned($user, false, 'public'); + } + } + } + } + } + if (!$error) { $this->results = array('myreturn' => 999); $this->resprints = 'A text to show'; diff --git a/core/modules/modDigiQuali.class.php b/core/modules/modDigiQuali.class.php index 46e9664d..de812eb7 100644 --- a/core/modules/modDigiQuali.class.php +++ b/core/modules/modDigiQuali.class.php @@ -129,6 +129,7 @@ public function __construct($db) 'main', 'controladmin', 'surveyadmin', + 'controlpublicsignature' ], // Set this to 1 if features of module are opened to external users 'moduleforexternal' => 0, From 51231196b22158737b04d2d1ec46b5369cca5512 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20David?= Date: Tue, 20 Aug 2024 17:08:01 +0200 Subject: [PATCH 11/25] fix: action clone --- class/control.class.php | 1 + view/control/control_card.php | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/class/control.class.php b/class/control.class.php index a352c958..d893151b 100644 --- a/class/control.class.php +++ b/class/control.class.php @@ -598,6 +598,7 @@ public function createFromClone(User $user, int $fromID, array $options): int } $object->context = 'createfromclone'; + $object->fk_control = $options['fk_control']; $object->fetchObjectLinked('','', $object->id, 'digiquali_' . $object->element, 'OR', 1, 'sourcetype', 0); diff --git a/view/control/control_card.php b/view/control/control_card.php index 00c31777..d20ffa49 100644 --- a/view/control/control_card.php +++ b/view/control/control_card.php @@ -151,6 +151,13 @@ $options['photos'] = GETPOST('clone_photos'); if ($object->id > 0) { $result = $object->createFromClone($user, $object->id, $options); + $subControlList = $object->fetchAll('', '', 0, 0, ['fk_control' => $object->id]); + if (is_array($subControlList) && !empty($subControlList)) { + foreach ($subControlList as $subControl) { + $options['fk_control'] = $result; + $subControl->createFromClone($user, $subControl->id, $options); + } + } if ($result > 0) { header("Location: " . $_SERVER['PHP_SELF'] . '?id=' . $result); exit(); From dde45a6068caf0c553a8a4ab39e29f5e8cb0ee24 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20David?= Date: Fri, 16 Aug 2024 11:07:41 +0200 Subject: [PATCH 12/25] fix: lock button & js --- core/tpl/digiquali_mass_control_list.tpl.php | 4 ++-- js/digiquali.min.js | 2 +- js/modules/control.js | 1 + 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/core/tpl/digiquali_mass_control_list.tpl.php b/core/tpl/digiquali_mass_control_list.tpl.php index fd4b962f..20103fce 100644 --- a/core/tpl/digiquali_mass_control_list.tpl.php +++ b/core/tpl/digiquali_mass_control_list.tpl.php @@ -120,11 +120,11 @@ print '
'; print '
'; print '
'; - if ($massControl->verdict > 0 && $answerCounter == $questionCounter) { + if (dol_strlen($massControl->verdict) && $answerCounter == $questionCounter) { $displayButton = $onPhone ? '' : '' . ' ' . $langs->trans('Lock'); print '' . $displayButton . ''; } else { - $displayButton = $onPhone ? '' : '' . ' ' . $langs->trans('Save'); + $displayButton = $onPhone ? '' : '' . ' ' . $langs->trans('Save'); print '' . $displayButton . ''; } diff --git a/js/digiquali.min.js b/js/digiquali.min.js index c81a309f..ea303a26 100644 --- a/js/digiquali.min.js +++ b/js/digiquali.min.js @@ -1 +1 @@ -window.digiquali||(window.digiquali={},window.digiquali.scriptsLoaded=!1),window.digiquali.scriptsLoaded||(window.digiquali.init=function(){window.digiquali.load_list_script()},window.digiquali.load_list_script=function(){if(!window.digiquali.scriptsLoaded){var t=void 0,o=void 0;for(t in window.digiquali)for(o in window.digiquali[t].init&&window.digiquali[t].init(),window.digiquali[t])window.digiquali[t]&&window.digiquali[t][o]&&window.digiquali[t][o].init&&window.digiquali[t][o].init();window.digiquali.scriptsLoaded=!0}},window.digiquali.refresh=function(){var t=void 0,o=void 0;for(t in window.digiquali)for(o in window.digiquali[t].refresh&&window.digiquali[t].refresh(),window.digiquali[t])window.digiquali[t]&&window.digiquali[t][o]&&window.digiquali[t][o].refresh&&window.digiquali[t][o].refresh()},$(document).ready(window.digiquali.init)),window.digiquali.control={},window.digiquali.control.init=function(){window.digiquali.control.event()},window.digiquali.control.event=function(){$(document).on("click",".validateButton",window.digiquali.control.getAnswerCounter),$(document).on("change","#fk_sheet",window.digiquali.control.showSelectObjectLinked),$(document).on("click",".clipboard-copy",window.digiquali.control.copyToClipboard),$(document).on("change","#productId",window.digiquali.control.refreshLotSelector),$(document).on("change",'[name="mass_control"]',window.digiquali.control.showSubControlsModel),$(document).on("click",".switch-public-control-view",window.digiquali.control.switchPublicControlView),$(document).on("click",".show-only-questions-with-no-answer",window.digiquali.control.showOnlyQuestionsWithNoAnswer),$(document).on("click",".photo-sheet-category",window.digiquali.control.getSheetCategoryID),$(document).on("click",".photo-sheet-sub-category",window.digiquali.control.getSheetSubCategoryID),$(document).on("click",".photo-sheet",window.digiquali.control.getSheetID),$(document).on("click",".saveSubControlAnswers",window.digiquali.control.saveSubControlAnswers),$(document).on("click",".saveSubControl",window.digiquali.control.saveSubControl),$(document).on("click",".lockSubControl",window.digiquali.control.lockSubControl)},window.digiquali.control.getAnswerCounter=function(t){let o=0;jQuery("#tablelines").children().each(function(){0<$(this).find(".answer.active").length&&(o+=1)}),document.cookie="answerCounter="+o},window.digiquali.control.showSelectObjectLinked=function(){var t=$(this).val(),o=window.saturne.toolbox.getToken(),e=window.saturne.toolbox.getQuerySeparator(document.URL),e=document.URL+e+"fk_sheet="+t+"&token="+o;window.saturne.loader.display($(".linked-objects")),$.ajax({url:e,type:"POST",processData:!1,contentType:!1,success:function(t){$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.copyToClipboard=function(t){var o=$(".copy-to-clipboard").attr("value");navigator.clipboard.writeText(o).then(()=>{$(".clipboard-copy").animate({backgroundColor:"#59ed9c"},200,()=>{$(".clipboard-copy").attr("class","fas fa-check clipboard-copy"),$(this).tooltip({items:".clipboard-copy",content:$("#copyToClipboardTooltip").val()}),$(this).tooltip("open"),$(".clipboard-copy").attr("style","")})})},window.digiquali.control.refreshLotSelector=function(t){var o=document.getElementById("add_control_equipment"),o=new FormData(o),e=window.saturne.toolbox.getToken(),o=o.get("productId"),e=document.URL+"&token="+e;e+="&fk_product="+o,window.saturne.loader.display($(".product-lot")),$.ajax({url:e,type:"POST",processData:!1,contentType:!1,success:function(t){$(".product-lot").replaceWith($(t).find(".product-lot"))},error:function(){}})},window.digiquali.control.switchPublicControlView=function(t){var o=$(this).find(".public-control-view").val(),e=window.saturne.toolbox.getToken();let i=document.URL+"&token="+e;i+=0==o?"&show_control_list=1":"&show_last_control=1",window.saturne.loader.display($(".signature-container")),$.ajax({url:i,type:"POST",processData:!1,contentType:!1,success:function(t){$("#publicControlHistory").replaceWith($(t).find("#publicControlHistory"))},error:function(){}})},window.digiquali.control.showOnlyQuestionsWithNoAnswer=function(){var t=window.saturne.toolbox.getQuerySeparator(document.URL),o=window.saturne.toolbox.getToken();let e;e=$(this).hasClass("fa-toggle-off")?1:0,window.saturne.loader.display($(this)),$.ajax({url:document.URL+t+"action=show_only_questions_with_no_answer&token="+o,type:"POST",processData:!1,data:JSON.stringify({showOnlyQuestionsWithNoAnswer:e}),contentType:!1,success:function(t){$(".progress-info").replaceWith($(t).find(".progress-info")),$(".question-answer-container").replaceWith($(t).find(".question-answer-container"))},error:function(){}})},window.digiquali.control.getSheetCategoryID=function(){let o=$(this).attr("value");var t=window.saturne.toolbox.getToken(),e=window.saturne.toolbox.getQuerySeparator(document.URL);window.saturne.loader.display($(".sheet-images-container")),$.ajax({url:document.URL+e+"sheetCategoryID="+o+"&token="+t,type:"POST",processData:!1,contentType:!1,success:function(t){$(".sheet-images-container").replaceWith($(t).find(".sheet-images-container")),$(".photo-sheet-category[value="+o+"]").css("border","3px solid #0d8aff"),$(".photo-sheet-category[value="+o+"]").addClass("photo-sheet-category-active"),$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.getSheetSubCategoryID=function(){let o=$(".photo-sheet-category-active").attr("value"),e=$(this).attr("value");var t=window.saturne.toolbox.getToken(),i=window.saturne.toolbox.getQuerySeparator(document.URL);window.saturne.loader.display($(".sheet-images-container")),$.ajax({url:document.URL+i+"sheetCategoryID="+o+"&sheetSubCategoryID="+e+"&token="+t,type:"POST",processData:!1,contentType:!1,success:function(t){$(".sheet-images-container").replaceWith($(t).find(".sheet-images-container")),$(".photo-sheet-category[value="+o+"]").css("border","3px solid #0d8aff"),$(".photo-sheet-category[value="+o+"]").addClass("photo-sheet-category-active"),$(".photo-sheet-sub-category[value="+e+"]").css("border","3px solid #0d8aff"),$(".photo-sheet-sub-category[value="+e+"]").addClass("photo-sheet-sub-category-active"),$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.getSheetID=function(){let o=$(this).attr("data-object-id");var t=$(".photo-sheet-category-active").attr("value"),e=$(".photo-sheet-sub-category-active").attr("value"),i=window.saturne.toolbox.getToken(),n=window.saturne.toolbox.getQuerySeparator(document.URL);window.saturne.loader.display($(".sheet-elements")),window.saturne.loader.display($(".linked-objects")),$.ajax({url:document.URL+n+"fk_sheet="+o+"&sheetCategoryID="+t+"&sheetSubCategoryID="+e+"&token="+i,type:"POST",processData:!1,contentType:!1,success:function(t){$(".sheet-elements").replaceWith($(t).find(".sheet-elements")),$(".photo-sheet[data-object-id="+o+"]").css("border","3px solid #0d8aff"),$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.saveSubControl=function(){let a=$(this).attr("data-control-id"),s=$(this).attr("data-mass-control-id");var t=$(this).closest(".table-row").find(".note-public").val();let d=[];$(this).closest(".table-row").find(".select-answer").each(function(){var t=$(this).attr("data-questionid"),o=$(this).find(".question-answer").val(),e=$(this).closest(".wpeo-table").find(".question-comment").val();d[t]={answer:o,comment:e}});var o=$(this).closest(".table-row").find('.verdict-option input[type="radio"]:checked').val();let l=window.saturne.toolbox.getToken();window.saturne.loader.display($(this).closest(".table-row"));var e=document.URL.replace(/id=\d+/,"id="+a);$.ajax({url:e+"&token="+l+"&action=confirm_setVerdict&verdict="+o+"¬eControl="+t,type:"POST",processData:!1,contentType:!1,data:[],success:async function(t){for(var[o,e]of Object.entries(d)){var i=document.URL.replace(/id=\d+/,"id="+a);await window.digiquali.object.saveAnswer(o,e.answer,e.comment,i+"&action=save&token="+l)}var n=document.URL.replace(/id=\d+/,"id="+s);$.ajax({url:n,type:"GET",processData:!1,contentType:!1,data:[],success:function(t){$(".sub-control-"+a).replaceWith($(t).find(".sub-control-"+a))}})},error:function(){}})},window.digiquali.control.lockSubControl=function(){let e=$(this).attr("data-control-id"),i=$(this).attr("data-mass-control-id");var t=window.saturne.toolbox.getToken(),o=(window.saturne.loader.display($(this).closest(".table-row")),document.URL.replace(/id=\d+/,"id="+e));$.ajax({url:o+"&token="+t+"&action=confirm_lock",type:"POST",processData:!1,contentType:!1,data:[],success:function(t){var o=document.URL.replace(/id=\d+/,"id="+i);$.ajax({url:o,type:"GET",processData:!1,contentType:!1,data:[],success:function(t){$(".sub-control-"+e).replaceWith($(t).find(".sub-control-"+e))}})},error:function(){}})},window.digiquali.control.saveSubControlAnswers=async function(){let o=$(this).attr("data-control-id");var t=$(this).attr("data-mass-control-id");window.saturne.loader.display($(this));let i=[];$(this).closest(".table-row").find(".select-answer").each(function(){var t=$(this).attr("data-questionid"),o=$(this).find(".question-answer").val(),e=$(this).closest(".wpeo-table").find(".question-comment").val();i[t]={answer:o,comment:e}});var e,n,a=window.saturne.toolbox.getToken();let s=document.URL.replace(/id=\d+/,"id="+o);for([e,n]of Object.entries(i))await window.digiquali.object.saveAnswer(e,n.answer,n.comment,s+"&action=save&token="+a);s=document.URL.replace(/id=\d+/,"id="+t),$.ajax({url:s,type:"GET",processData:!1,contentType:!1,data:[],success:function(t){$(".sub-control-"+o).replaceWith($(t).find(".sub-control-"+o)),$(".wpeo-loader").removeClass("wpeo-loader")}})},window.digiquali.control.showSubControlsModel=function(){$(".sub-controls-model").attr("style",""),$(".sub-controls-model").find(".select2-container").css("width","500px")},window.digiquali.object={},window.digiquali.object.init=function(){window.digiquali.object.event()},window.digiquali.object.event=function(){$(document).on("change",".object-table.linked-objects select",window.digiquali.object.disableOtherSelectors),$(document).on("click",".answer:not(.disable)",window.digiquali.object.selectAnswer),$(document).on("input",".input-answer:not(.disable)",window.digiquali.object.selectAnswer),$(document).on("keyup",".question-comment",window.digiquali.object.showCommentUnsaved)},window.digiquali.object.disableOtherSelectors=function(){var t=document.getElementById("createObjectForm"),t=new FormData(t),o=$(this).attr("id");0<=t.get(o)?$(".object-table.linked-objects").find("select").not("#"+o).attr("disabled",1):$(".object-table.linked-objects").find("select").not("#"+o).removeAttr("disabled")},window.digiquali.object.selectAnswer=function(){var o=$(this).closest(".select-answer.answer-cell"),t=o.attr("data-questionId"),e=$(this).closest(".table-id-"+t).attr("data-publicInterface"),i=$(this).closest(".table-id-"+t).attr("data-autoSave");let n="";var a=$(this).hasClass("answer")?$(this).attr("value"):$(this).val(),s=$(this).closest(".table-id-"+t).find("#comment"+t).val();if($(this).closest(".table-cell").hasClass("select-answer")){if($(this).hasClass("multiple-answers")){$(this).closest("span").toggleClass("active");let t=[];o.find(".multiple-answers.active").each(function(){t.push($(this).attr("value"))}),n=t}else $(this).closest(".table-cell").find(".answer.active").css("background-color","#fff"),$(this).closest(".table-cell").find("span").removeClass("active"),$(this).closest("span").addClass("active"),n=a;$(this).hasClass("active")?(o=$(this).closest(".answer-cell").find(".answer-color-"+$(this).attr("value")).val(),$(this).attr("style",$(this).attr("style")+" background:"+o+";")):$(this).attr("style",$(this).attr("style")+" background:#fff;"),$(this).closest(".answer-cell").find(".question-answer").val(n)}e||1!=i||$(this).hasClass("multiple-answers")?window.digiquali.object.updateButtonsStatus():window.digiquali.object.saveAnswer(t,n,s)},window.digiquali.object.showCommentUnsaved=function(){$(this).hasClass("show-comment-unsaved-message")||($(this).after('

Commentaire non enregistré

'),$(this).addClass("show-comment-unsaved-message")),window.digiquali.object.updateButtonsStatus()},window.digiquali.object.updateButtonsStatus=function(){$("#saveButton").removeClass("butActionRefused"),$("#saveButton").addClass("butAction"),$("#saveButton").css("background","#0d8aff"),$(".fa-circle").css("display","inline"),$("#saveButton").attr("onclick",'$("#saveObject").submit()'),$(".validateButton").removeClass("butAction"),$("#dialog-confirm-actionButtonValidate").removeAttr("id"),$(".validateButton").addClass("butActionRefused")},window.digiquali.object.saveAnswer=function(t,o,e,i=""){var n=window.saturne.toolbox.getToken(),a=window.saturne.toolbox.getQuerySeparator(document.URL),a=i||document.URL+a+"action=save&token="+n;window.saturne.loader.display($(".table-id-"+t)),$.ajax({url:a,type:"POST",data:JSON.stringify({autoSave:!0,questionId:t,answer:o,comment:e}),processData:!1,contentType:!1,success:function(t){i.length<1&&$(".fiche").replaceWith($(t).find(".fiche"))},error:function(){}})},window.digiquali.question={},window.digiquali.question.init=function(){window.digiquali.question.event()},window.digiquali.question.event=function(){$(document).on("click",".clicked-photo-preview",window.digiquali.question.previewPhoto),$(document).on("click",".ui-dialog-titlebar-close",window.digiquali.question.closePreviewPhoto),$(document).on("click","#show_photo",window.digiquali.question.showPhoto),$(document).on("click",".answer-picto .item, .wpeo-table .item",window.digiquali.question.selectAnswerPicto)},window.digiquali.question.previewPhoto=function(t){$(this).hasClass("photo-ok")?$("#dialogforpopup").attr("style","border: 10px solid #47e58e"):$(this).hasClass("photo-ko")&&$("#dialogforpopup").attr("style","border: 10px solid #e05353")},window.digiquali.question.closePreviewPhoto=function(t){$("#dialogforpopup").attr("style","border:")},window.digiquali.question.showPhoto=function(){var t=$(this).closest(".question-table").find(".linked-medias");t.hasClass("hidden")?(t.attr("style",""),t.removeClass("hidden")):(t.attr("style","display:none"),t.addClass("hidden"))},window.digiquali.question.selectAnswerPicto=function(t){var o=$(this).closest(".wpeo-dropdown");$(this).closest(".content").removeClass("active"),o.find(".dropdown-toggle span").hide(),o.find(".dropdown-toggle.button-picto").html($(this).closest(".wpeo-tooltip-event").html()),o.find(".input-hidden-picto").val($(this).data("label"))},window.digiquali.sheet={},window.digiquali.sheet.init=function(){window.digiquali.sheet.event()},window.digiquali.sheet.event=function(){}; \ No newline at end of file +window.digiquali||(window.digiquali={},window.digiquali.scriptsLoaded=!1),window.digiquali.scriptsLoaded||(window.digiquali.init=function(){window.digiquali.load_list_script()},window.digiquali.load_list_script=function(){if(!window.digiquali.scriptsLoaded){var t=void 0,o=void 0;for(t in window.digiquali)for(o in window.digiquali[t].init&&window.digiquali[t].init(),window.digiquali[t])window.digiquali[t]&&window.digiquali[t][o]&&window.digiquali[t][o].init&&window.digiquali[t][o].init();window.digiquali.scriptsLoaded=!0}},window.digiquali.refresh=function(){var t=void 0,o=void 0;for(t in window.digiquali)for(o in window.digiquali[t].refresh&&window.digiquali[t].refresh(),window.digiquali[t])window.digiquali[t]&&window.digiquali[t][o]&&window.digiquali[t][o].refresh&&window.digiquali[t][o].refresh()},$(document).ready(window.digiquali.init)),window.digiquali.control={},window.digiquali.control.init=function(){window.digiquali.control.event()},window.digiquali.control.event=function(){$(document).on("click",".validateButton",window.digiquali.control.getAnswerCounter),$(document).on("change","#fk_sheet",window.digiquali.control.showSelectObjectLinked),$(document).on("click",".clipboard-copy",window.digiquali.control.copyToClipboard),$(document).on("change","#productId",window.digiquali.control.refreshLotSelector),$(document).on("change",'[name="mass_control"]',window.digiquali.control.showSubControlsModel),$(document).on("click",".switch-public-control-view",window.digiquali.control.switchPublicControlView),$(document).on("click",".show-only-questions-with-no-answer",window.digiquali.control.showOnlyQuestionsWithNoAnswer),$(document).on("click",".photo-sheet-category",window.digiquali.control.getSheetCategoryID),$(document).on("click",".photo-sheet-sub-category",window.digiquali.control.getSheetSubCategoryID),$(document).on("click",".photo-sheet",window.digiquali.control.getSheetID),$(document).on("click",".saveSubControlAnswers",window.digiquali.control.saveSubControlAnswers),$(document).on("click",".saveSubControl",window.digiquali.control.saveSubControl),$(document).on("click",".lockSubControl",window.digiquali.control.lockSubControl)},window.digiquali.control.getAnswerCounter=function(t){let o=0;jQuery("#tablelines").children().each(function(){0<$(this).find(".answer.active").length&&(o+=1)}),document.cookie="answerCounter="+o},window.digiquali.control.showSelectObjectLinked=function(){var t=$(this).val(),o=window.saturne.toolbox.getToken(),e=window.saturne.toolbox.getQuerySeparator(document.URL),e=document.URL+e+"fk_sheet="+t+"&token="+o;window.saturne.loader.display($(".linked-objects")),$.ajax({url:e,type:"POST",processData:!1,contentType:!1,success:function(t){$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.copyToClipboard=function(t){var o=$(".copy-to-clipboard").attr("value");navigator.clipboard.writeText(o).then(()=>{$(".clipboard-copy").animate({backgroundColor:"#59ed9c"},200,()=>{$(".clipboard-copy").attr("class","fas fa-check clipboard-copy"),$(this).tooltip({items:".clipboard-copy",content:$("#copyToClipboardTooltip").val()}),$(this).tooltip("open"),$(".clipboard-copy").attr("style","")})})},window.digiquali.control.refreshLotSelector=function(t){var o=document.getElementById("add_control_equipment"),o=new FormData(o),e=window.saturne.toolbox.getToken(),o=o.get("productId"),e=document.URL+"&token="+e;e+="&fk_product="+o,window.saturne.loader.display($(".product-lot")),$.ajax({url:e,type:"POST",processData:!1,contentType:!1,success:function(t){$(".product-lot").replaceWith($(t).find(".product-lot"))},error:function(){}})},window.digiquali.control.switchPublicControlView=function(t){var o=$(this).find(".public-control-view").val(),e=window.saturne.toolbox.getToken();let i=document.URL+"&token="+e;i+=0==o?"&show_control_list=1":"&show_last_control=1",window.saturne.loader.display($(".signature-container")),$.ajax({url:i,type:"POST",processData:!1,contentType:!1,success:function(t){$("#publicControlHistory").replaceWith($(t).find("#publicControlHistory"))},error:function(){}})},window.digiquali.control.showOnlyQuestionsWithNoAnswer=function(){var t=window.saturne.toolbox.getQuerySeparator(document.URL),o=window.saturne.toolbox.getToken();let e;e=$(this).hasClass("fa-toggle-off")?1:0,window.saturne.loader.display($(this)),$.ajax({url:document.URL+t+"action=show_only_questions_with_no_answer&token="+o,type:"POST",processData:!1,data:JSON.stringify({showOnlyQuestionsWithNoAnswer:e}),contentType:!1,success:function(t){$(".progress-info").replaceWith($(t).find(".progress-info")),$(".question-answer-container").replaceWith($(t).find(".question-answer-container"))},error:function(){}})},window.digiquali.control.getSheetCategoryID=function(){let o=$(this).attr("value");var t=window.saturne.toolbox.getToken(),e=window.saturne.toolbox.getQuerySeparator(document.URL);window.saturne.loader.display($(".sheet-images-container")),$.ajax({url:document.URL+e+"sheetCategoryID="+o+"&token="+t,type:"POST",processData:!1,contentType:!1,success:function(t){$(".sheet-images-container").replaceWith($(t).find(".sheet-images-container")),$(".photo-sheet-category[value="+o+"]").css("border","3px solid #0d8aff"),$(".photo-sheet-category[value="+o+"]").addClass("photo-sheet-category-active"),$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.getSheetSubCategoryID=function(){let o=$(".photo-sheet-category-active").attr("value"),e=$(this).attr("value");var t=window.saturne.toolbox.getToken(),i=window.saturne.toolbox.getQuerySeparator(document.URL);window.saturne.loader.display($(".sheet-images-container")),$.ajax({url:document.URL+i+"sheetCategoryID="+o+"&sheetSubCategoryID="+e+"&token="+t,type:"POST",processData:!1,contentType:!1,success:function(t){$(".sheet-images-container").replaceWith($(t).find(".sheet-images-container")),$(".photo-sheet-category[value="+o+"]").css("border","3px solid #0d8aff"),$(".photo-sheet-category[value="+o+"]").addClass("photo-sheet-category-active"),$(".photo-sheet-sub-category[value="+e+"]").css("border","3px solid #0d8aff"),$(".photo-sheet-sub-category[value="+e+"]").addClass("photo-sheet-sub-category-active"),$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.getSheetID=function(){let o=$(this).attr("data-object-id");var t=$(".photo-sheet-category-active").attr("value"),e=$(".photo-sheet-sub-category-active").attr("value"),i=window.saturne.toolbox.getToken(),n=window.saturne.toolbox.getQuerySeparator(document.URL);window.saturne.loader.display($(".sheet-elements")),window.saturne.loader.display($(".linked-objects")),$.ajax({url:document.URL+n+"fk_sheet="+o+"&sheetCategoryID="+t+"&sheetSubCategoryID="+e+"&token="+i,type:"POST",processData:!1,contentType:!1,success:function(t){$(".sheet-elements").replaceWith($(t).find(".sheet-elements")),$(".photo-sheet[data-object-id="+o+"]").css("border","3px solid #0d8aff"),$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.saveSubControl=function(){let a=$(this).attr("data-control-id"),s=$(this).attr("data-mass-control-id");var t=$(this).closest(".table-row").find(".note-public").val();let d=[];$(this).closest(".table-row").find(".select-answer").each(function(){var t=$(this).attr("data-questionid"),o=$(this).find(".question-answer").val(),e=$(this).closest(".wpeo-table").find(".question-comment").val();d[t]={answer:o,comment:e}});var o=$(this).closest(".table-row").find('.verdict-option input[type="radio"]:checked').val();let l=window.saturne.toolbox.getToken();window.saturne.loader.display($(this).closest(".table-row"));var e=document.URL.replace(/id=\d+/,"id="+a);$.ajax({url:e+"&token="+l+"&action=confirm_setVerdict&verdict="+o+"¬eControl="+t,type:"POST",processData:!1,contentType:!1,data:[],success:async function(t){for(var[o,e]of Object.entries(d)){var i=document.URL.replace(/id=\d+/,"id="+a);await window.digiquali.object.saveAnswer(o,e.answer,e.comment,i+"&action=save&token="+l)}var n=document.URL.replace(/id=\d+/,"id="+s);$.ajax({url:n,type:"GET",processData:!1,contentType:!1,data:[],success:function(t){$(".wpeo-loader").removeClass("wpeo-loader"),$(".sub-control-"+a).replaceWith($(t).find(".sub-control-"+a))}})},error:function(){}})},window.digiquali.control.lockSubControl=function(){let e=$(this).attr("data-control-id"),i=$(this).attr("data-mass-control-id");var t=window.saturne.toolbox.getToken(),o=(window.saturne.loader.display($(this).closest(".table-row")),document.URL.replace(/id=\d+/,"id="+e));$.ajax({url:o+"&token="+t+"&action=confirm_lock",type:"POST",processData:!1,contentType:!1,data:[],success:function(t){var o=document.URL.replace(/id=\d+/,"id="+i);$.ajax({url:o,type:"GET",processData:!1,contentType:!1,data:[],success:function(t){$(".sub-control-"+e).replaceWith($(t).find(".sub-control-"+e))}})},error:function(){}})},window.digiquali.control.saveSubControlAnswers=async function(){let o=$(this).attr("data-control-id");var t=$(this).attr("data-mass-control-id");window.saturne.loader.display($(this));let i=[];$(this).closest(".table-row").find(".select-answer").each(function(){var t=$(this).attr("data-questionid"),o=$(this).find(".question-answer").val(),e=$(this).closest(".wpeo-table").find(".question-comment").val();i[t]={answer:o,comment:e}});var e,n,a=window.saturne.toolbox.getToken();let s=document.URL.replace(/id=\d+/,"id="+o);for([e,n]of Object.entries(i))await window.digiquali.object.saveAnswer(e,n.answer,n.comment,s+"&action=save&token="+a);s=document.URL.replace(/id=\d+/,"id="+t),$.ajax({url:s,type:"GET",processData:!1,contentType:!1,data:[],success:function(t){$(".sub-control-"+o).replaceWith($(t).find(".sub-control-"+o)),$(".wpeo-loader").removeClass("wpeo-loader")}})},window.digiquali.control.showSubControlsModel=function(){$(".sub-controls-model").attr("style",""),$(".sub-controls-model").find(".select2-container").css("width","500px")},window.digiquali.object={},window.digiquali.object.init=function(){window.digiquali.object.event()},window.digiquali.object.event=function(){$(document).on("change",".object-table.linked-objects select",window.digiquali.object.disableOtherSelectors),$(document).on("click",".answer:not(.disable)",window.digiquali.object.selectAnswer),$(document).on("input",".input-answer:not(.disable)",window.digiquali.object.selectAnswer),$(document).on("keyup",".question-comment",window.digiquali.object.showCommentUnsaved)},window.digiquali.object.disableOtherSelectors=function(){var t=document.getElementById("createObjectForm"),t=new FormData(t),o=$(this).attr("id");0<=t.get(o)?$(".object-table.linked-objects").find("select").not("#"+o).attr("disabled",1):$(".object-table.linked-objects").find("select").not("#"+o).removeAttr("disabled")},window.digiquali.object.selectAnswer=function(){var o=$(this).closest(".select-answer.answer-cell"),t=o.attr("data-questionId"),e=$(this).closest(".table-id-"+t).attr("data-publicInterface"),i=$(this).closest(".table-id-"+t).attr("data-autoSave");let n="";var a=$(this).hasClass("answer")?$(this).attr("value"):$(this).val(),s=$(this).closest(".table-id-"+t).find("#comment"+t).val();if($(this).closest(".table-cell").hasClass("select-answer")){if($(this).hasClass("multiple-answers")){$(this).closest("span").toggleClass("active");let t=[];o.find(".multiple-answers.active").each(function(){t.push($(this).attr("value"))}),n=t}else $(this).closest(".table-cell").find(".answer.active").css("background-color","#fff"),$(this).closest(".table-cell").find("span").removeClass("active"),$(this).closest("span").addClass("active"),n=a;$(this).hasClass("active")?(o=$(this).closest(".answer-cell").find(".answer-color-"+$(this).attr("value")).val(),$(this).attr("style",$(this).attr("style")+" background:"+o+";")):$(this).attr("style",$(this).attr("style")+" background:#fff;"),$(this).closest(".answer-cell").find(".question-answer").val(n)}e||1!=i||$(this).hasClass("multiple-answers")?window.digiquali.object.updateButtonsStatus():window.digiquali.object.saveAnswer(t,n,s)},window.digiquali.object.showCommentUnsaved=function(){$(this).hasClass("show-comment-unsaved-message")||($(this).after('

Commentaire non enregistré

'),$(this).addClass("show-comment-unsaved-message")),window.digiquali.object.updateButtonsStatus()},window.digiquali.object.updateButtonsStatus=function(){$("#saveButton").removeClass("butActionRefused"),$("#saveButton").addClass("butAction"),$("#saveButton").css("background","#0d8aff"),$(".fa-circle").css("display","inline"),$("#saveButton").attr("onclick",'$("#saveObject").submit()'),$(".validateButton").removeClass("butAction"),$("#dialog-confirm-actionButtonValidate").removeAttr("id"),$(".validateButton").addClass("butActionRefused")},window.digiquali.object.saveAnswer=function(t,o,e,i=""){var n=window.saturne.toolbox.getToken(),a=window.saturne.toolbox.getQuerySeparator(document.URL),a=i||document.URL+a+"action=save&token="+n;window.saturne.loader.display($(".table-id-"+t)),$.ajax({url:a,type:"POST",data:JSON.stringify({autoSave:!0,questionId:t,answer:o,comment:e}),processData:!1,contentType:!1,success:function(t){i.length<1&&$(".fiche").replaceWith($(t).find(".fiche"))},error:function(){}})},window.digiquali.question={},window.digiquali.question.init=function(){window.digiquali.question.event()},window.digiquali.question.event=function(){$(document).on("click",".clicked-photo-preview",window.digiquali.question.previewPhoto),$(document).on("click",".ui-dialog-titlebar-close",window.digiquali.question.closePreviewPhoto),$(document).on("click","#show_photo",window.digiquali.question.showPhoto),$(document).on("click",".answer-picto .item, .wpeo-table .item",window.digiquali.question.selectAnswerPicto)},window.digiquali.question.previewPhoto=function(t){$(this).hasClass("photo-ok")?$("#dialogforpopup").attr("style","border: 10px solid #47e58e"):$(this).hasClass("photo-ko")&&$("#dialogforpopup").attr("style","border: 10px solid #e05353")},window.digiquali.question.closePreviewPhoto=function(t){$("#dialogforpopup").attr("style","border:")},window.digiquali.question.showPhoto=function(){var t=$(this).closest(".question-table").find(".linked-medias");t.hasClass("hidden")?(t.attr("style",""),t.removeClass("hidden")):(t.attr("style","display:none"),t.addClass("hidden"))},window.digiquali.question.selectAnswerPicto=function(t){var o=$(this).closest(".wpeo-dropdown");$(this).closest(".content").removeClass("active"),o.find(".dropdown-toggle span").hide(),o.find(".dropdown-toggle.button-picto").html($(this).closest(".wpeo-tooltip-event").html()),o.find(".input-hidden-picto").val($(this).data("label"))},window.digiquali.sheet={},window.digiquali.sheet.init=function(){window.digiquali.sheet.event()},window.digiquali.sheet.event=function(){}; \ No newline at end of file diff --git a/js/modules/control.js b/js/modules/control.js index 8298d6a0..cf3fe556 100644 --- a/js/modules/control.js +++ b/js/modules/control.js @@ -368,6 +368,7 @@ window.digiquali.control.saveSubControl = function() { contentType: false, data: [], success: function (resp) { + $('.wpeo-loader').removeClass('wpeo-loader') $('.sub-control-' + subControlID).replaceWith($(resp).find('.sub-control-' + subControlID)); } }); From da0ed00294e0f946e61200907c75f286de08c992 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20David?= Date: Fri, 16 Aug 2024 12:08:55 +0200 Subject: [PATCH 13/25] fix: workflow --- core/tpl/digiquali_answers.tpl.php | 2 +- core/tpl/digiquali_mass_control_list.tpl.php | 32 +++++--- js/digiquali.min.js | 2 +- js/modules/control.js | 86 +++++++++++++++++++- js/modules/object.js | 18 ++-- view/control/control_card.php | 6 +- 6 files changed, 118 insertions(+), 28 deletions(-) diff --git a/core/tpl/digiquali_answers.tpl.php b/core/tpl/digiquali_answers.tpl.php index b6b95084..19634e42 100644 --- a/core/tpl/digiquali_answers.tpl.php +++ b/core/tpl/digiquali_answers.tpl.php @@ -41,7 +41,7 @@ } if (!$user->conf->DIGIQUALI_SHOW_ONLY_QUESTIONS_WITH_NO_ANSWER or empty($questionAnswer)) { ?> -
+
diff --git a/core/tpl/digiquali_mass_control_list.tpl.php b/core/tpl/digiquali_mass_control_list.tpl.php index 20103fce..740c76a9 100644 --- a/core/tpl/digiquali_mass_control_list.tpl.php +++ b/core/tpl/digiquali_mass_control_list.tpl.php @@ -20,12 +20,12 @@ // Define table headers with appropriate translations $tableHeaders = [ - $langs->trans('Nom'), + $langs->trans('Name'), + $langs->trans('Status'), $langs->trans('ControlledObject'), $langs->trans('Verdict'), $langs->trans('NoteControl'), $langs->trans('Answers'), - $langs->trans('QRCode'), $langs->trans('Document'), $langs->trans('Action'), ]; @@ -52,6 +52,7 @@ print '
'; print '
' . $massControl->getNomUrl(1) . '
'; + print '
' . $massControl->getLibStatut(5) . '
'; print '
'; foreach ($linkableElements as $linkableElementType => $linkableElement) { if ($linkableElement['conf'] > 0 && (!empty($object->linkedObjectsIds[$linkableElement['link_name']]))) { @@ -81,11 +82,11 @@ print '
'; print ''; print ''; print '
'; print '
'; @@ -115,17 +116,22 @@ print ''; print '
'; - // Additional cells for QRCode, Document, and Action can be filled in as needed - print '
'. saturne_show_medias_linked('digiquali', $conf->digiquali->multidir_output[$conf->entity] . '/control/' . $massControl->ref . '/qrcode/', 'small', 1, 0, 0, 0, 80, 80, 0, 0, 0, 'control/' . $massControl->ref . '/qrcode/', $massControl, '', 0, 0) . '
'; print '
'; print '
'; print '
'; - if (dol_strlen($massControl->verdict) && $answerCounter == $questionCounter) { - $displayButton = $onPhone ? '' : '' . ' ' . $langs->trans('Lock'); - print '' . $displayButton . ''; - } else { - $displayButton = $onPhone ? '' : '' . ' ' . $langs->trans('Save'); - print '' . $displayButton . ''; + if ($massControl->status != $massControl::STATUS_LOCKED) { + if ($massControl->status == $massControl::STATUS_VALIDATED) { + $displayButton = $onPhone ? '' : '' . ' ' . $langs->trans('Lock'); + print '' . $displayButton . ''; + $displayButton = $onPhone ? '' : '' . ' ' . $langs->trans('ReOpenDoli'); + print '' . $displayButton . ''; + } else { + $validateButtonDisabled = !(dol_strlen($massControl->verdict) && $answerCounter == $questionCounter); + $displayButton = $onPhone ? '' : '' . ' ' . $langs->trans('Validate'); + print '' . $displayButton . ''; + $displayButton = $onPhone ? '' : '' . ' ' . $langs->trans('Save'); + print '' . $displayButton . ''; + } } print '
'; diff --git a/js/digiquali.min.js b/js/digiquali.min.js index ea303a26..4397d175 100644 --- a/js/digiquali.min.js +++ b/js/digiquali.min.js @@ -1 +1 @@ -window.digiquali||(window.digiquali={},window.digiquali.scriptsLoaded=!1),window.digiquali.scriptsLoaded||(window.digiquali.init=function(){window.digiquali.load_list_script()},window.digiquali.load_list_script=function(){if(!window.digiquali.scriptsLoaded){var t=void 0,o=void 0;for(t in window.digiquali)for(o in window.digiquali[t].init&&window.digiquali[t].init(),window.digiquali[t])window.digiquali[t]&&window.digiquali[t][o]&&window.digiquali[t][o].init&&window.digiquali[t][o].init();window.digiquali.scriptsLoaded=!0}},window.digiquali.refresh=function(){var t=void 0,o=void 0;for(t in window.digiquali)for(o in window.digiquali[t].refresh&&window.digiquali[t].refresh(),window.digiquali[t])window.digiquali[t]&&window.digiquali[t][o]&&window.digiquali[t][o].refresh&&window.digiquali[t][o].refresh()},$(document).ready(window.digiquali.init)),window.digiquali.control={},window.digiquali.control.init=function(){window.digiquali.control.event()},window.digiquali.control.event=function(){$(document).on("click",".validateButton",window.digiquali.control.getAnswerCounter),$(document).on("change","#fk_sheet",window.digiquali.control.showSelectObjectLinked),$(document).on("click",".clipboard-copy",window.digiquali.control.copyToClipboard),$(document).on("change","#productId",window.digiquali.control.refreshLotSelector),$(document).on("change",'[name="mass_control"]',window.digiquali.control.showSubControlsModel),$(document).on("click",".switch-public-control-view",window.digiquali.control.switchPublicControlView),$(document).on("click",".show-only-questions-with-no-answer",window.digiquali.control.showOnlyQuestionsWithNoAnswer),$(document).on("click",".photo-sheet-category",window.digiquali.control.getSheetCategoryID),$(document).on("click",".photo-sheet-sub-category",window.digiquali.control.getSheetSubCategoryID),$(document).on("click",".photo-sheet",window.digiquali.control.getSheetID),$(document).on("click",".saveSubControlAnswers",window.digiquali.control.saveSubControlAnswers),$(document).on("click",".saveSubControl",window.digiquali.control.saveSubControl),$(document).on("click",".lockSubControl",window.digiquali.control.lockSubControl)},window.digiquali.control.getAnswerCounter=function(t){let o=0;jQuery("#tablelines").children().each(function(){0<$(this).find(".answer.active").length&&(o+=1)}),document.cookie="answerCounter="+o},window.digiquali.control.showSelectObjectLinked=function(){var t=$(this).val(),o=window.saturne.toolbox.getToken(),e=window.saturne.toolbox.getQuerySeparator(document.URL),e=document.URL+e+"fk_sheet="+t+"&token="+o;window.saturne.loader.display($(".linked-objects")),$.ajax({url:e,type:"POST",processData:!1,contentType:!1,success:function(t){$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.copyToClipboard=function(t){var o=$(".copy-to-clipboard").attr("value");navigator.clipboard.writeText(o).then(()=>{$(".clipboard-copy").animate({backgroundColor:"#59ed9c"},200,()=>{$(".clipboard-copy").attr("class","fas fa-check clipboard-copy"),$(this).tooltip({items:".clipboard-copy",content:$("#copyToClipboardTooltip").val()}),$(this).tooltip("open"),$(".clipboard-copy").attr("style","")})})},window.digiquali.control.refreshLotSelector=function(t){var o=document.getElementById("add_control_equipment"),o=new FormData(o),e=window.saturne.toolbox.getToken(),o=o.get("productId"),e=document.URL+"&token="+e;e+="&fk_product="+o,window.saturne.loader.display($(".product-lot")),$.ajax({url:e,type:"POST",processData:!1,contentType:!1,success:function(t){$(".product-lot").replaceWith($(t).find(".product-lot"))},error:function(){}})},window.digiquali.control.switchPublicControlView=function(t){var o=$(this).find(".public-control-view").val(),e=window.saturne.toolbox.getToken();let i=document.URL+"&token="+e;i+=0==o?"&show_control_list=1":"&show_last_control=1",window.saturne.loader.display($(".signature-container")),$.ajax({url:i,type:"POST",processData:!1,contentType:!1,success:function(t){$("#publicControlHistory").replaceWith($(t).find("#publicControlHistory"))},error:function(){}})},window.digiquali.control.showOnlyQuestionsWithNoAnswer=function(){var t=window.saturne.toolbox.getQuerySeparator(document.URL),o=window.saturne.toolbox.getToken();let e;e=$(this).hasClass("fa-toggle-off")?1:0,window.saturne.loader.display($(this)),$.ajax({url:document.URL+t+"action=show_only_questions_with_no_answer&token="+o,type:"POST",processData:!1,data:JSON.stringify({showOnlyQuestionsWithNoAnswer:e}),contentType:!1,success:function(t){$(".progress-info").replaceWith($(t).find(".progress-info")),$(".question-answer-container").replaceWith($(t).find(".question-answer-container"))},error:function(){}})},window.digiquali.control.getSheetCategoryID=function(){let o=$(this).attr("value");var t=window.saturne.toolbox.getToken(),e=window.saturne.toolbox.getQuerySeparator(document.URL);window.saturne.loader.display($(".sheet-images-container")),$.ajax({url:document.URL+e+"sheetCategoryID="+o+"&token="+t,type:"POST",processData:!1,contentType:!1,success:function(t){$(".sheet-images-container").replaceWith($(t).find(".sheet-images-container")),$(".photo-sheet-category[value="+o+"]").css("border","3px solid #0d8aff"),$(".photo-sheet-category[value="+o+"]").addClass("photo-sheet-category-active"),$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.getSheetSubCategoryID=function(){let o=$(".photo-sheet-category-active").attr("value"),e=$(this).attr("value");var t=window.saturne.toolbox.getToken(),i=window.saturne.toolbox.getQuerySeparator(document.URL);window.saturne.loader.display($(".sheet-images-container")),$.ajax({url:document.URL+i+"sheetCategoryID="+o+"&sheetSubCategoryID="+e+"&token="+t,type:"POST",processData:!1,contentType:!1,success:function(t){$(".sheet-images-container").replaceWith($(t).find(".sheet-images-container")),$(".photo-sheet-category[value="+o+"]").css("border","3px solid #0d8aff"),$(".photo-sheet-category[value="+o+"]").addClass("photo-sheet-category-active"),$(".photo-sheet-sub-category[value="+e+"]").css("border","3px solid #0d8aff"),$(".photo-sheet-sub-category[value="+e+"]").addClass("photo-sheet-sub-category-active"),$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.getSheetID=function(){let o=$(this).attr("data-object-id");var t=$(".photo-sheet-category-active").attr("value"),e=$(".photo-sheet-sub-category-active").attr("value"),i=window.saturne.toolbox.getToken(),n=window.saturne.toolbox.getQuerySeparator(document.URL);window.saturne.loader.display($(".sheet-elements")),window.saturne.loader.display($(".linked-objects")),$.ajax({url:document.URL+n+"fk_sheet="+o+"&sheetCategoryID="+t+"&sheetSubCategoryID="+e+"&token="+i,type:"POST",processData:!1,contentType:!1,success:function(t){$(".sheet-elements").replaceWith($(t).find(".sheet-elements")),$(".photo-sheet[data-object-id="+o+"]").css("border","3px solid #0d8aff"),$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.saveSubControl=function(){let a=$(this).attr("data-control-id"),s=$(this).attr("data-mass-control-id");var t=$(this).closest(".table-row").find(".note-public").val();let d=[];$(this).closest(".table-row").find(".select-answer").each(function(){var t=$(this).attr("data-questionid"),o=$(this).find(".question-answer").val(),e=$(this).closest(".wpeo-table").find(".question-comment").val();d[t]={answer:o,comment:e}});var o=$(this).closest(".table-row").find('.verdict-option input[type="radio"]:checked').val();let l=window.saturne.toolbox.getToken();window.saturne.loader.display($(this).closest(".table-row"));var e=document.URL.replace(/id=\d+/,"id="+a);$.ajax({url:e+"&token="+l+"&action=confirm_setVerdict&verdict="+o+"¬eControl="+t,type:"POST",processData:!1,contentType:!1,data:[],success:async function(t){for(var[o,e]of Object.entries(d)){var i=document.URL.replace(/id=\d+/,"id="+a);await window.digiquali.object.saveAnswer(o,e.answer,e.comment,i+"&action=save&token="+l)}var n=document.URL.replace(/id=\d+/,"id="+s);$.ajax({url:n,type:"GET",processData:!1,contentType:!1,data:[],success:function(t){$(".wpeo-loader").removeClass("wpeo-loader"),$(".sub-control-"+a).replaceWith($(t).find(".sub-control-"+a))}})},error:function(){}})},window.digiquali.control.lockSubControl=function(){let e=$(this).attr("data-control-id"),i=$(this).attr("data-mass-control-id");var t=window.saturne.toolbox.getToken(),o=(window.saturne.loader.display($(this).closest(".table-row")),document.URL.replace(/id=\d+/,"id="+e));$.ajax({url:o+"&token="+t+"&action=confirm_lock",type:"POST",processData:!1,contentType:!1,data:[],success:function(t){var o=document.URL.replace(/id=\d+/,"id="+i);$.ajax({url:o,type:"GET",processData:!1,contentType:!1,data:[],success:function(t){$(".sub-control-"+e).replaceWith($(t).find(".sub-control-"+e))}})},error:function(){}})},window.digiquali.control.saveSubControlAnswers=async function(){let o=$(this).attr("data-control-id");var t=$(this).attr("data-mass-control-id");window.saturne.loader.display($(this));let i=[];$(this).closest(".table-row").find(".select-answer").each(function(){var t=$(this).attr("data-questionid"),o=$(this).find(".question-answer").val(),e=$(this).closest(".wpeo-table").find(".question-comment").val();i[t]={answer:o,comment:e}});var e,n,a=window.saturne.toolbox.getToken();let s=document.URL.replace(/id=\d+/,"id="+o);for([e,n]of Object.entries(i))await window.digiquali.object.saveAnswer(e,n.answer,n.comment,s+"&action=save&token="+a);s=document.URL.replace(/id=\d+/,"id="+t),$.ajax({url:s,type:"GET",processData:!1,contentType:!1,data:[],success:function(t){$(".sub-control-"+o).replaceWith($(t).find(".sub-control-"+o)),$(".wpeo-loader").removeClass("wpeo-loader")}})},window.digiquali.control.showSubControlsModel=function(){$(".sub-controls-model").attr("style",""),$(".sub-controls-model").find(".select2-container").css("width","500px")},window.digiquali.object={},window.digiquali.object.init=function(){window.digiquali.object.event()},window.digiquali.object.event=function(){$(document).on("change",".object-table.linked-objects select",window.digiquali.object.disableOtherSelectors),$(document).on("click",".answer:not(.disable)",window.digiquali.object.selectAnswer),$(document).on("input",".input-answer:not(.disable)",window.digiquali.object.selectAnswer),$(document).on("keyup",".question-comment",window.digiquali.object.showCommentUnsaved)},window.digiquali.object.disableOtherSelectors=function(){var t=document.getElementById("createObjectForm"),t=new FormData(t),o=$(this).attr("id");0<=t.get(o)?$(".object-table.linked-objects").find("select").not("#"+o).attr("disabled",1):$(".object-table.linked-objects").find("select").not("#"+o).removeAttr("disabled")},window.digiquali.object.selectAnswer=function(){var o=$(this).closest(".select-answer.answer-cell"),t=o.attr("data-questionId"),e=$(this).closest(".table-id-"+t).attr("data-publicInterface"),i=$(this).closest(".table-id-"+t).attr("data-autoSave");let n="";var a=$(this).hasClass("answer")?$(this).attr("value"):$(this).val(),s=$(this).closest(".table-id-"+t).find("#comment"+t).val();if($(this).closest(".table-cell").hasClass("select-answer")){if($(this).hasClass("multiple-answers")){$(this).closest("span").toggleClass("active");let t=[];o.find(".multiple-answers.active").each(function(){t.push($(this).attr("value"))}),n=t}else $(this).closest(".table-cell").find(".answer.active").css("background-color","#fff"),$(this).closest(".table-cell").find("span").removeClass("active"),$(this).closest("span").addClass("active"),n=a;$(this).hasClass("active")?(o=$(this).closest(".answer-cell").find(".answer-color-"+$(this).attr("value")).val(),$(this).attr("style",$(this).attr("style")+" background:"+o+";")):$(this).attr("style",$(this).attr("style")+" background:#fff;"),$(this).closest(".answer-cell").find(".question-answer").val(n)}e||1!=i||$(this).hasClass("multiple-answers")?window.digiquali.object.updateButtonsStatus():window.digiquali.object.saveAnswer(t,n,s)},window.digiquali.object.showCommentUnsaved=function(){$(this).hasClass("show-comment-unsaved-message")||($(this).after('

Commentaire non enregistré

'),$(this).addClass("show-comment-unsaved-message")),window.digiquali.object.updateButtonsStatus()},window.digiquali.object.updateButtonsStatus=function(){$("#saveButton").removeClass("butActionRefused"),$("#saveButton").addClass("butAction"),$("#saveButton").css("background","#0d8aff"),$(".fa-circle").css("display","inline"),$("#saveButton").attr("onclick",'$("#saveObject").submit()'),$(".validateButton").removeClass("butAction"),$("#dialog-confirm-actionButtonValidate").removeAttr("id"),$(".validateButton").addClass("butActionRefused")},window.digiquali.object.saveAnswer=function(t,o,e,i=""){var n=window.saturne.toolbox.getToken(),a=window.saturne.toolbox.getQuerySeparator(document.URL),a=i||document.URL+a+"action=save&token="+n;window.saturne.loader.display($(".table-id-"+t)),$.ajax({url:a,type:"POST",data:JSON.stringify({autoSave:!0,questionId:t,answer:o,comment:e}),processData:!1,contentType:!1,success:function(t){i.length<1&&$(".fiche").replaceWith($(t).find(".fiche"))},error:function(){}})},window.digiquali.question={},window.digiquali.question.init=function(){window.digiquali.question.event()},window.digiquali.question.event=function(){$(document).on("click",".clicked-photo-preview",window.digiquali.question.previewPhoto),$(document).on("click",".ui-dialog-titlebar-close",window.digiquali.question.closePreviewPhoto),$(document).on("click","#show_photo",window.digiquali.question.showPhoto),$(document).on("click",".answer-picto .item, .wpeo-table .item",window.digiquali.question.selectAnswerPicto)},window.digiquali.question.previewPhoto=function(t){$(this).hasClass("photo-ok")?$("#dialogforpopup").attr("style","border: 10px solid #47e58e"):$(this).hasClass("photo-ko")&&$("#dialogforpopup").attr("style","border: 10px solid #e05353")},window.digiquali.question.closePreviewPhoto=function(t){$("#dialogforpopup").attr("style","border:")},window.digiquali.question.showPhoto=function(){var t=$(this).closest(".question-table").find(".linked-medias");t.hasClass("hidden")?(t.attr("style",""),t.removeClass("hidden")):(t.attr("style","display:none"),t.addClass("hidden"))},window.digiquali.question.selectAnswerPicto=function(t){var o=$(this).closest(".wpeo-dropdown");$(this).closest(".content").removeClass("active"),o.find(".dropdown-toggle span").hide(),o.find(".dropdown-toggle.button-picto").html($(this).closest(".wpeo-tooltip-event").html()),o.find(".input-hidden-picto").val($(this).data("label"))},window.digiquali.sheet={},window.digiquali.sheet.init=function(){window.digiquali.sheet.event()},window.digiquali.sheet.event=function(){}; \ No newline at end of file +window.digiquali||(window.digiquali={},window.digiquali.scriptsLoaded=!1),window.digiquali.scriptsLoaded||(window.digiquali.init=function(){window.digiquali.load_list_script()},window.digiquali.load_list_script=function(){if(!window.digiquali.scriptsLoaded){var t=void 0,o=void 0;for(t in window.digiquali)for(o in window.digiquali[t].init&&window.digiquali[t].init(),window.digiquali[t])window.digiquali[t]&&window.digiquali[t][o]&&window.digiquali[t][o].init&&window.digiquali[t][o].init();window.digiquali.scriptsLoaded=!0}},window.digiquali.refresh=function(){var t=void 0,o=void 0;for(t in window.digiquali)for(o in window.digiquali[t].refresh&&window.digiquali[t].refresh(),window.digiquali[t])window.digiquali[t]&&window.digiquali[t][o]&&window.digiquali[t][o].refresh&&window.digiquali[t][o].refresh()},$(document).ready(window.digiquali.init)),window.digiquali.control={},window.digiquali.control.init=function(){window.digiquali.control.event()},window.digiquali.control.event=function(){$(document).on("click",".validateButton",window.digiquali.control.getAnswerCounter),$(document).on("change","#fk_sheet",window.digiquali.control.showSelectObjectLinked),$(document).on("click",".clipboard-copy",window.digiquali.control.copyToClipboard),$(document).on("change","#productId",window.digiquali.control.refreshLotSelector),$(document).on("change",'[name="mass_control"]',window.digiquali.control.showSubControlsModel),$(document).on("click",".switch-public-control-view",window.digiquali.control.switchPublicControlView),$(document).on("click",".show-only-questions-with-no-answer",window.digiquali.control.showOnlyQuestionsWithNoAnswer),$(document).on("click",".photo-sheet-category",window.digiquali.control.getSheetCategoryID),$(document).on("click",".photo-sheet-sub-category",window.digiquali.control.getSheetSubCategoryID),$(document).on("click",".photo-sheet",window.digiquali.control.getSheetID),$(document).on("click",".saveSubControl:not(.butActionRefused)",window.digiquali.control.saveSubControl),$(document).on("click",".validateSubControl:not(.butActionRefused)",window.digiquali.control.validateSubControl),$(document).on("click",".reopenSubControl:not(.butActionRefused)",window.digiquali.control.reopenSubControl),$(document).on("click",".lockSubControl:not(.butActionRefused)",window.digiquali.control.lockSubControl),$(document).on("click",".saveSubControlAnswers",window.digiquali.control.saveSubControlAnswers)},window.digiquali.control.getAnswerCounter=function(t){let o=0;jQuery("#tablelines").children().each(function(){0<$(this).find(".answer.active").length&&(o+=1)}),document.cookie="answerCounter="+o},window.digiquali.control.showSelectObjectLinked=function(){var t=$(this).val(),o=window.saturne.toolbox.getToken(),e=window.saturne.toolbox.getQuerySeparator(document.URL),e=document.URL+e+"fk_sheet="+t+"&token="+o;window.saturne.loader.display($(".linked-objects")),$.ajax({url:e,type:"POST",processData:!1,contentType:!1,success:function(t){$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.copyToClipboard=function(t){var o=$(".copy-to-clipboard").attr("value");navigator.clipboard.writeText(o).then(()=>{$(".clipboard-copy").animate({backgroundColor:"#59ed9c"},200,()=>{$(".clipboard-copy").attr("class","fas fa-check clipboard-copy"),$(this).tooltip({items:".clipboard-copy",content:$("#copyToClipboardTooltip").val()}),$(this).tooltip("open"),$(".clipboard-copy").attr("style","")})})},window.digiquali.control.refreshLotSelector=function(t){var o=document.getElementById("add_control_equipment"),o=new FormData(o),e=window.saturne.toolbox.getToken(),o=o.get("productId"),e=document.URL+"&token="+e;e+="&fk_product="+o,window.saturne.loader.display($(".product-lot")),$.ajax({url:e,type:"POST",processData:!1,contentType:!1,success:function(t){$(".product-lot").replaceWith($(t).find(".product-lot"))},error:function(){}})},window.digiquali.control.switchPublicControlView=function(t){var o=$(this).find(".public-control-view").val(),e=window.saturne.toolbox.getToken();let i=document.URL+"&token="+e;i+=0==o?"&show_control_list=1":"&show_last_control=1",window.saturne.loader.display($(".signature-container")),$.ajax({url:i,type:"POST",processData:!1,contentType:!1,success:function(t){$("#publicControlHistory").replaceWith($(t).find("#publicControlHistory"))},error:function(){}})},window.digiquali.control.showOnlyQuestionsWithNoAnswer=function(){var t=window.saturne.toolbox.getQuerySeparator(document.URL),o=window.saturne.toolbox.getToken();let e;e=$(this).hasClass("fa-toggle-off")?1:0,window.saturne.loader.display($(this)),$.ajax({url:document.URL+t+"action=show_only_questions_with_no_answer&token="+o,type:"POST",processData:!1,data:JSON.stringify({showOnlyQuestionsWithNoAnswer:e}),contentType:!1,success:function(t){$(".progress-info").replaceWith($(t).find(".progress-info")),$(".question-answer-container").replaceWith($(t).find(".question-answer-container"))},error:function(){}})},window.digiquali.control.getSheetCategoryID=function(){let o=$(this).attr("value");var t=window.saturne.toolbox.getToken(),e=window.saturne.toolbox.getQuerySeparator(document.URL);window.saturne.loader.display($(".sheet-images-container")),$.ajax({url:document.URL+e+"sheetCategoryID="+o+"&token="+t,type:"POST",processData:!1,contentType:!1,success:function(t){$(".sheet-images-container").replaceWith($(t).find(".sheet-images-container")),$(".photo-sheet-category[value="+o+"]").css("border","3px solid #0d8aff"),$(".photo-sheet-category[value="+o+"]").addClass("photo-sheet-category-active"),$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.getSheetSubCategoryID=function(){let o=$(".photo-sheet-category-active").attr("value"),e=$(this).attr("value");var t=window.saturne.toolbox.getToken(),i=window.saturne.toolbox.getQuerySeparator(document.URL);window.saturne.loader.display($(".sheet-images-container")),$.ajax({url:document.URL+i+"sheetCategoryID="+o+"&sheetSubCategoryID="+e+"&token="+t,type:"POST",processData:!1,contentType:!1,success:function(t){$(".sheet-images-container").replaceWith($(t).find(".sheet-images-container")),$(".photo-sheet-category[value="+o+"]").css("border","3px solid #0d8aff"),$(".photo-sheet-category[value="+o+"]").addClass("photo-sheet-category-active"),$(".photo-sheet-sub-category[value="+e+"]").css("border","3px solid #0d8aff"),$(".photo-sheet-sub-category[value="+e+"]").addClass("photo-sheet-sub-category-active"),$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.getSheetID=function(){let o=$(this).attr("data-object-id");var t=$(".photo-sheet-category-active").attr("value"),e=$(".photo-sheet-sub-category-active").attr("value"),i=window.saturne.toolbox.getToken(),n=window.saturne.toolbox.getQuerySeparator(document.URL);window.saturne.loader.display($(".sheet-elements")),window.saturne.loader.display($(".linked-objects")),$.ajax({url:document.URL+n+"fk_sheet="+o+"&sheetCategoryID="+t+"&sheetSubCategoryID="+e+"&token="+i,type:"POST",processData:!1,contentType:!1,success:function(t){$(".sheet-elements").replaceWith($(t).find(".sheet-elements")),$(".photo-sheet[data-object-id="+o+"]").css("border","3px solid #0d8aff"),$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.saveSubControl=function(){let a=$(this).attr("data-control-id"),s=$(this).attr("data-mass-control-id");var t=$(this).closest(".table-row").find(".note-public").val();let d=[];$(this).closest(".table-row").find(".select-answer").each(function(){var t=$(this).attr("data-questionid"),o=$(this).find(".question-answer").val(),e=$(this).closest(".wpeo-table").find(".question-comment").val();d[t]={answer:o,comment:e}});var o=$(this).closest(".table-row").find('.verdict-option input[type="radio"]:checked').val();let c=window.saturne.toolbox.getToken();window.saturne.loader.display($(this).closest(".table-row"));var e=document.URL.replace(/id=\d+/,"id="+a);$.ajax({url:e+"&token="+c+"&action=confirm_setVerdict&verdict="+o+"¬eControl="+t,type:"POST",processData:!1,contentType:!1,data:[],success:async function(t){for(var[o,e]of Object.entries(d)){var i=document.URL.replace(/id=\d+/,"id="+a);await window.digiquali.object.saveAnswer(o,e.answer,e.comment,i+"&action=save&token="+c)}var n=document.URL.replace(/id=\d+/,"id="+s);$.ajax({url:n,type:"GET",processData:!1,contentType:!1,data:[],success:function(t){$(".wpeo-loader").removeClass("wpeo-loader"),$(".sub-control-"+a).replaceWith($(t).find(".sub-control-"+a))}})},error:function(){}})},window.digiquali.control.lockSubControl=function(){let e=$(this).attr("data-control-id"),i=$(this).attr("data-mass-control-id");var t=window.saturne.toolbox.getToken(),o=(window.saturne.loader.display($(this).closest(".table-row")),document.URL.replace(/id=\d+/,"id="+e));$.ajax({url:o+"&token="+t+"&action=confirm_lock",type:"POST",processData:!1,contentType:!1,data:[],success:function(t){var o=document.URL.replace(/id=\d+/,"id="+i);$.ajax({url:o,type:"GET",processData:!1,contentType:!1,data:[],success:function(t){$(".sub-control-"+e).replaceWith($(t).find(".sub-control-"+e))}})},error:function(){}})},window.digiquali.control.validateSubControl=function(){let e=$(this).attr("data-control-id"),i=$(this).attr("data-mass-control-id");var t=window.saturne.toolbox.getToken(),o=(window.saturne.loader.display($(this).closest(".table-row")),document.URL.replace(/id=\d+/,"id="+e));$.ajax({url:o+"&token="+t+"&action=confirm_validate&confirm=yes",type:"POST",processData:!1,contentType:!1,data:[],success:function(t){var o=document.URL.replace(/id=\d+/,"id="+i);$.ajax({url:o,type:"GET",processData:!1,contentType:!1,data:[],success:function(t){$(".sub-control-"+e).replaceWith($(t).find(".sub-control-"+e))}})},error:function(){}})},window.digiquali.control.reopenSubControl=function(){let e=$(this).attr("data-control-id"),i=$(this).attr("data-mass-control-id");var t=window.saturne.toolbox.getToken(),o=(window.saturne.loader.display($(this).closest(".table-row")),document.URL.replace(/id=\d+/,"id="+e));$.ajax({url:o+"&token="+t+"&action=confirm_set_reopen&confirm=yes",type:"POST",processData:!1,contentType:!1,data:[],success:function(t){var o=document.URL.replace(/id=\d+/,"id="+i);$.ajax({url:o,type:"GET",processData:!1,contentType:!1,data:[],success:function(t){$(".sub-control-"+e).replaceWith($(t).find(".sub-control-"+e))}})},error:function(){}})},window.digiquali.control.saveSubControlAnswers=async function(){let o=$(this).attr("data-control-id");var t=$(this).attr("data-mass-control-id");window.saturne.loader.display($(this));let i=[];$(this).closest(".table-row").find(".select-answer").each(function(){var t=$(this).attr("data-questionid"),o=$(this).find(".question-answer").val(),e=$(this).closest(".wpeo-table").find(".question-comment").val();i[t]={answer:o,comment:e}});var e,n,a=window.saturne.toolbox.getToken();let s=document.URL.replace(/id=\d+/,"id="+o);for([e,n]of Object.entries(i))await window.digiquali.object.saveAnswer(e,n.answer,n.comment,s+"&action=save&token="+a);s=document.URL.replace(/id=\d+/,"id="+t),$.ajax({url:s,type:"GET",processData:!1,contentType:!1,data:[],success:function(t){$(".sub-control-"+o).replaceWith($(t).find(".sub-control-"+o)),$(".wpeo-loader").removeClass("wpeo-loader")}})},window.digiquali.control.showSubControlsModel=function(){$(".sub-controls-model").attr("style",""),$(".sub-controls-model").find(".select2-container").css("width","500px")},window.digiquali.object={},window.digiquali.object.init=function(){window.digiquali.object.event()},window.digiquali.object.event=function(){$(document).on("change",".object-table.linked-objects select",window.digiquali.object.disableOtherSelectors),$(document).on("click",".answer:not(.disable)",window.digiquali.object.selectAnswer),$(document).on("input",".input-answer:not(.disable)",window.digiquali.object.selectAnswer),$(document).on("keyup",".question-comment",window.digiquali.object.showCommentUnsaved),$(document).on("click",".verdict-box",window.digiquali.object.updateButtonsStatus)},window.digiquali.object.disableOtherSelectors=function(){var t=document.getElementById("createObjectForm"),t=new FormData(t),o=$(this).attr("id");0<=t.get(o)?$(".object-table.linked-objects").find("select").not("#"+o).attr("disabled",1):$(".object-table.linked-objects").find("select").not("#"+o).removeAttr("disabled")},window.digiquali.object.selectAnswer=function(){var o=$(this).closest(".select-answer.answer-cell"),t=o.attr("data-questionId"),e=$(this).closest(".table-id-"+t).attr("data-publicInterface"),i=$(this).closest(".table-id-"+t).attr("data-autoSave");let n="";var a=$(this).hasClass("answer")?$(this).attr("value"):$(this).val(),s=$(this).closest(".table-id-"+t).find("#comment"+t).val(),d=$(this).closest(".table-id-"+t).attr("data-control-id");if($(this).closest(".table-cell").hasClass("select-answer")){if($(this).hasClass("multiple-answers")){$(this).closest("span").toggleClass("active");let t=[];o.find(".multiple-answers.active").each(function(){t.push($(this).attr("value"))}),n=t}else $(this).closest(".table-cell").find(".answer.active").css("background-color","#fff"),$(this).closest(".table-cell").find("span").removeClass("active"),$(this).closest("span").addClass("active"),n=a;$(this).hasClass("active")?(o=$(this).closest(".answer-cell").find(".answer-color-"+$(this).attr("value")).val(),$(this).attr("style",$(this).attr("style")+" background:"+o+";")):$(this).attr("style",$(this).attr("style")+" background:#fff;"),$(this).closest(".answer-cell").find(".question-answer").val(n)}e||1!=i||$(this).hasClass("multiple-answers")?window.digiquali.object.updateButtonsStatus(d):window.digiquali.object.saveAnswer(t,n,s)},window.digiquali.object.showCommentUnsaved=function(){$(this).hasClass("show-comment-unsaved-message")||($(this).after('

Commentaire non enregistré

'),$(this).addClass("show-comment-unsaved-message")),window.digiquali.object.updateButtonsStatus()},window.digiquali.object.updateButtonsStatus=function(t){t=stringIsInteger(t)?t:$(this).attr("data-control-id"),$("#saveButton"+t).removeClass("butActionRefused"),$("#saveButton"+t).addClass("butAction"),$(".fa-circle").css("display","inline"),$("#saveButton"+t).attr("onclick",'$("#saveObject'+t+'").submit()'),$(".validateButton"+t).removeClass("butAction"),$("#dialog-confirm-actionButtonValidate").removeAttr("id"),$(".validateButton"+t).addClass("butActionRefused")},window.digiquali.object.saveAnswer=function(t,o,e,i=""){var n=window.saturne.toolbox.getToken(),a=window.saturne.toolbox.getQuerySeparator(document.URL),a=i||document.URL+a+"action=save&token="+n;window.saturne.loader.display($(".table-id-"+t)),$.ajax({url:a,type:"POST",data:JSON.stringify({autoSave:!0,questionId:t,answer:o,comment:e}),processData:!1,contentType:!1,success:function(t){i.length<1&&$(".fiche").replaceWith($(t).find(".fiche"))},error:function(){}})},window.digiquali.question={},window.digiquali.question.init=function(){window.digiquali.question.event()},window.digiquali.question.event=function(){$(document).on("click",".clicked-photo-preview",window.digiquali.question.previewPhoto),$(document).on("click",".ui-dialog-titlebar-close",window.digiquali.question.closePreviewPhoto),$(document).on("click","#show_photo",window.digiquali.question.showPhoto),$(document).on("click",".answer-picto .item, .wpeo-table .item",window.digiquali.question.selectAnswerPicto)},window.digiquali.question.previewPhoto=function(t){$(this).hasClass("photo-ok")?$("#dialogforpopup").attr("style","border: 10px solid #47e58e"):$(this).hasClass("photo-ko")&&$("#dialogforpopup").attr("style","border: 10px solid #e05353")},window.digiquali.question.closePreviewPhoto=function(t){$("#dialogforpopup").attr("style","border:")},window.digiquali.question.showPhoto=function(){var t=$(this).closest(".question-table").find(".linked-medias");t.hasClass("hidden")?(t.attr("style",""),t.removeClass("hidden")):(t.attr("style","display:none"),t.addClass("hidden"))},window.digiquali.question.selectAnswerPicto=function(t){var o=$(this).closest(".wpeo-dropdown");$(this).closest(".content").removeClass("active"),o.find(".dropdown-toggle span").hide(),o.find(".dropdown-toggle.button-picto").html($(this).closest(".wpeo-tooltip-event").html()),o.find(".input-hidden-picto").val($(this).data("label"))},window.digiquali.sheet={},window.digiquali.sheet.init=function(){window.digiquali.sheet.event()},window.digiquali.sheet.event=function(){}; \ No newline at end of file diff --git a/js/modules/control.js b/js/modules/control.js index cf3fe556..8e21ace5 100644 --- a/js/modules/control.js +++ b/js/modules/control.js @@ -38,9 +38,11 @@ window.digiquali.control.event = function() { $(document).on('click', '.photo-sheet-category', window.digiquali.control.getSheetCategoryID); $(document).on('click', '.photo-sheet-sub-category', window.digiquali.control.getSheetSubCategoryID); $(document).on('click', '.photo-sheet', window.digiquali.control.getSheetID); + $(document).on('click', '.saveSubControl:not(.butActionRefused)', window.digiquali.control.saveSubControl); + $(document).on('click', '.validateSubControl:not(.butActionRefused)', window.digiquali.control.validateSubControl); + $(document).on('click', '.reopenSubControl:not(.butActionRefused)', window.digiquali.control.reopenSubControl); + $(document).on('click', '.lockSubControl:not(.butActionRefused)', window.digiquali.control.lockSubControl); $(document).on('click', '.saveSubControlAnswers', window.digiquali.control.saveSubControlAnswers); - $(document).on('click', '.saveSubControl', window.digiquali.control.saveSubControl); - $(document).on('click', '.lockSubControl', window.digiquali.control.lockSubControl); }; @@ -417,6 +419,86 @@ window.digiquali.control.lockSubControl = function() { }); } +/** + * Validate sub control + * + * @since 1.10.0 + * @version 1.10.0 + * + * @return {void} + */ +window.digiquali.control.validateSubControl = function() { + let subControlID = $(this).attr('data-control-id'); + let massControlId = $(this).attr('data-mass-control-id'); + let token = window.saturne.toolbox.getToken(); + + window.saturne.loader.display($(this).closest('.table-row')); + + let url = document.URL.replace(/id=\d+/, 'id=' + subControlID); + $.ajax({ + url: url + '&token=' + token + '&action=confirm_validate&confirm=yes', + type: 'POST', + processData: false, + contentType: false, + data: [], + success: function (resp) { + let url = document.URL.replace(/id=\d+/, 'id=' + massControlId); + $.ajax({ + url: url, + type: 'GET', + processData: false, + contentType: false, + data: [], + success: function (resp) { + $('.sub-control-' + subControlID).replaceWith($(resp).find('.sub-control-' + subControlID)); + } + }); + }, + error: function () { + } + }); +} + +/** + * Reopen sub control + * + * @since 1.10.0 + * @version 1.10.0 + * + * @return {void} + */ +window.digiquali.control.reopenSubControl = function() { + let subControlID = $(this).attr('data-control-id'); + let massControlId = $(this).attr('data-mass-control-id'); + let token = window.saturne.toolbox.getToken(); + + window.saturne.loader.display($(this).closest('.table-row')); + + let url = document.URL.replace(/id=\d+/, 'id=' + subControlID); + $.ajax({ + url: url + '&token=' + token + '&action=confirm_set_reopen&confirm=yes', + type: 'POST', + processData: false, + contentType: false, + data: [], + success: function (resp) { + let url = document.URL.replace(/id=\d+/, 'id=' + massControlId); + $.ajax({ + url: url, + type: 'GET', + processData: false, + contentType: false, + data: [], + success: function (resp) { + $('.sub-control-' + subControlID).replaceWith($(resp).find('.sub-control-' + subControlID)); + } + }); + }, + error: function () { + } + }); +} + /** * Save sub control answers * diff --git a/js/modules/object.js b/js/modules/object.js index e2cf64bb..49812942 100644 --- a/js/modules/object.js +++ b/js/modules/object.js @@ -63,6 +63,7 @@ window.digiquali.object.event = function() { $(document).on( 'click', '.answer:not(.disable)', window.digiquali.object.selectAnswer); $(document).on( 'input', '.input-answer:not(.disable)', window.digiquali.object.selectAnswer); $(document).on( 'keyup', '.question-comment', window.digiquali.object.showCommentUnsaved); + $(document).on( 'click', '.verdict-box', window.digiquali.object.updateButtonsStatus); }; /** @@ -103,6 +104,7 @@ window.digiquali.object.selectAnswer = function() { let answer = ''; let answerValue = $(this).hasClass('answer') ? $(this).attr('value') : $(this).val(); let comment = $(this).closest('.table-id-' + questionId).find('#comment' + questionId).val(); + let controlId = $(this).closest('.table-id-' + questionId).attr('data-control-id'); if ($(this).closest('.table-cell').hasClass('select-answer')) { if ($(this).hasClass('multiple-answers')) { $(this).closest('span').toggleClass('active'); @@ -130,7 +132,7 @@ window.digiquali.object.selectAnswer = function() { if (!publicInterface && autoSave == 1 && !$(this).hasClass('multiple-answers')) { window.digiquali.object.saveAnswer(questionId, answer, comment); } else { - window.digiquali.object.updateButtonsStatus(); + window.digiquali.object.updateButtonsStatus(controlId); } }; @@ -158,16 +160,16 @@ window.digiquali.object.showCommentUnsaved = function() { * * @return {void} */ -window.digiquali.object.updateButtonsStatus = function() { - $('#saveButton').removeClass('butActionRefused'); - $('#saveButton').addClass('butAction'); - $('#saveButton').css('background', '#0d8aff'); +window.digiquali.object.updateButtonsStatus = function(controlId) { + controlId = stringIsInteger(controlId) ? controlId : $(this).attr('data-control-id'); + $('#saveButton' + controlId).removeClass('butActionRefused'); + $('#saveButton' + controlId).addClass('butAction'); $('.fa-circle').css('display', 'inline'); - $('#saveButton').attr('onclick','$("#saveObject").submit()'); + $('#saveButton' + controlId).attr('onclick','$("#saveObject'+controlId+'").submit()'); - $('.validateButton').removeClass('butAction'); + $('.validateButton' + controlId).removeClass('butAction'); $('#dialog-confirm-actionButtonValidate').removeAttr('id'); - $('.validateButton').addClass('butActionRefused'); + $('.validateButton' + controlId).addClass('butActionRefused'); }; /** diff --git a/view/control/control_card.php b/view/control/control_card.php index d20ffa49..8caf6373 100644 --- a/view/control/control_card.php +++ b/view/control/control_card.php @@ -830,7 +830,7 @@
id . '" id="saveObject" enctype="multipart/form-data">'; + print '
'; print ''; print ''; @@ -847,7 +847,7 @@ // Save question answer $displayButton = $onPhone ? '' : '' . ' ' . $langs->trans('Save'); if ($object->status == Control::STATUS_DRAFT) { - print '' . $displayButton . ' '; + print '' . $displayButton . ' '; } else { print '' . $displayButton . ''; } @@ -855,7 +855,7 @@ // Validate $displayButton = $onPhone ? '' : '' . ' ' . $langs->trans('Validate'); if ($object->status == $object::STATUS_DRAFT && empty($cantValidateControl) && !$equipmentOutdated) { - print '' . $displayButton . ''; + print '' . $displayButton . ''; } else if ($cantValidateControl > 0) { print '' . $displayButton . ''; } else if ($equipmentOutdated) { From 26b1fdee24ceed815a2c492976ae516f97fe4efd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20David?= Date: Fri, 16 Aug 2024 16:35:47 +0200 Subject: [PATCH 14/25] add: document on list --- core/tpl/digiquali_mass_control_list.tpl.php | 11 ++++++++++- langs/fr_FR/digiquali.lang | 1 + 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/core/tpl/digiquali_mass_control_list.tpl.php b/core/tpl/digiquali_mass_control_list.tpl.php index 740c76a9..7b1cd814 100644 --- a/core/tpl/digiquali_mass_control_list.tpl.php +++ b/core/tpl/digiquali_mass_control_list.tpl.php @@ -115,8 +115,17 @@ print ''; print ''; print '
'; - + $documenturl = DOL_URL_ROOT . '/document.php'; + //retrieve last document of the control + $documentList = dol_dir_list($conf->digiquali->multidir_output[$massControl->entity ?: 1] . '/controldocument/' . $massControl->ref . '/'); + if (!empty($documentList)) { + $lastDocument = $documentList[count($documentList) - 1]; + $lastDocumentPath = $lastDocument['relativename']; + } print '
'; + print ''; + print ''; + print ''; print '
'; print '
'; if ($massControl->status != $massControl::STATUS_LOCKED) { diff --git a/langs/fr_FR/digiquali.lang b/langs/fr_FR/digiquali.lang index 016d7d7a..61c20c60 100644 --- a/langs/fr_FR/digiquali.lang +++ b/langs/fr_FR/digiquali.lang @@ -451,3 +451,4 @@ Remain = reste InProgressAndLocked = -- (En cours + verrouillé) -- NoObservations = Pas d'observations BasedOnModel = Basé sur le modèle +ShowDocument = Afficher le document From 4f5ad2aec7102e141c9d4bd9a01eadc4ec6a3d01 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20David?= Date: Fri, 16 Aug 2024 16:42:28 +0200 Subject: [PATCH 15/25] fix: prevent user from clicking if control is locked --- core/tpl/digiquali_mass_control_list.tpl.php | 8 ++++---- css/digiquali.min.css | 2 +- css/scss/page/_control.scss | 11 ++++++++++- js/digiquali.min.js | 2 +- js/modules/control.js | 9 +++++++++ 5 files changed, 25 insertions(+), 7 deletions(-) diff --git a/core/tpl/digiquali_mass_control_list.tpl.php b/core/tpl/digiquali_mass_control_list.tpl.php index 7b1cd814..ffb7b26a 100644 --- a/core/tpl/digiquali_mass_control_list.tpl.php +++ b/core/tpl/digiquali_mass_control_list.tpl.php @@ -82,17 +82,17 @@ print '
'; print ''; print ''; print '
'; print '
'; // Note Control section displaying the public note - print '
'; + print '
'; print '
'; $questionCounter = 0; @@ -110,7 +110,7 @@ } //affiche le nombre de questions répondues print '' . $answerCounter . '/' . $questionCounter . ''; - print ''; diff --git a/css/digiquali.min.css b/css/digiquali.min.css index 3529b078..a47924da 100644 --- a/css/digiquali.min.css +++ b/css/digiquali.min.css @@ -1 +1 @@ -.question-answer-container *{box-sizing:border-box}.question-answer-container.multiselect{margin-top:-60px}.question-answer-container.multiselect>.wpeo-table{background:none !important}.question-answer-container.multiselect .table-cell{padding-top:0}.question-answer-container .wpeo-table.table-flex .table-row:not(.table-header):nth-of-type(odd){background:none}.question-answer-container .table-cell{margin-top:0 !important}.question-answer-container>.wpeo-table{border-bottom:1px solid rgba(0,0,0,.2)}.question-answer-container>.wpeo-table:nth-of-type(odd){background:rgba(38,60,92,.15)}.question-answer-container>.wpeo-table .cell-photo-check{text-align:right}@media(max-width: 600px){.question-answer-container>.wpeo-table .cell-photo-check{text-align:center}}.question-answer-container>.wpeo-table .question-photo-check{margin:0 4px;display:inline-block;position:relative}.question-answer-container>.wpeo-table .question-photo-check img{display:block;margin:0;width:200px;height:200px;background-size:cover}.question-answer-container>.wpeo-table .question-photo-check i{position:absolute;bottom:10px;right:10px;font-size:35px}.question-answer-container>.wpeo-table .question-photo-check.ko i{color:#e05353}.question-answer-container>.wpeo-table .question-photo-check.ok i{color:#47e58e}.question-answer-container>.wpeo-table .photo{margin:0 4px}.question-answer-container>.wpeo-table .photo.photo-ok{border:5px solid #47e58e}.question-answer-container>.wpeo-table .photo.photo-ko{border:5px solid #e05353}.question-answer-container>.wpeo-table .linked-medias{display:flex;gap:0 10px;flex-wrap:wrap}.question-answer-container>.wpeo-table .answer{display:inline-block;width:50px;height:50px;line-height:50px;font-size:18px;margin:0 4px;text-align:center;border-radius:50%;background:#fff;border:1px solid rgba(0,0,0,.4);transition:all .2s ease-out}@media(max-width: 600px){.question-answer-container>.wpeo-table .answer{width:60px;height:60px;line-height:60px;font-size:25px}}.question-answer-container>.wpeo-table .answer.square{border-radius:10%}.question-answer-container>.wpeo-table .answer:hover{cursor:pointer}.question-answer-container>.wpeo-table .answer.active{color:#fff !important}.question-answer-container>.wpeo-table .question-comment-container{margin-top:10px}.question-answer-container>.wpeo-table .question-comment-container .question-ref{font-size:13px;font-weight:700}.question-answer-container>.wpeo-table .question-comment-container .question-textarea{width:100%;background:#fff;border:1px solid rgba(0,0,0,.2);padding:1em 1.4em}.confirmquestions .answer{display:inline-block;width:30px;height:30px;line-height:30px;margin:0 4px;text-align:center;border-radius:50%;background:#fff;border:1px solid rgba(0,0,0,.4);-webkit-transition:all .2s ease-out;transition:all .2s ease-out}.confirmquestions .answer:hover{cursor:pointer}.confirmquestions .answer[value="1"]{color:#47e58e}.confirmquestions .answer[value="2"]{color:#e05353}.confirmquestions .answer[value="3"]{color:#e9ad4f}.confirmquestions .answer[value="4"]{color:rgba(0,0,0,.7);font-weight:700}.confirmquestions input[readonly]{border:0;width:100%;pointer-events:none}.confirmquestions input[readonly]:hover{cursor:default}.verdict-container{display:flex;gap:10px;justify-content:center}.verdict-option input[type=radio]{display:none}.verdict-box{width:60px;height:60px;display:flex;align-items:center;justify-content:center;border:2px solid rgba(0,0,0,0);border-radius:5px;font-weight:bold;cursor:pointer;transition:background-color .3s,border-color .3s}.verdict-ok{background-color:#e0f7e9;color:#27ae60}.verdict-ko{background-color:#fdecea;color:#c0392b}.verdict-option input[type=radio]:checked+.verdict-box{border-color:#000}.element-list-medias .question-section{display:block;margin-bottom:20px}.element-list-medias .question-section::after{display:block;content:"";clear:both}.element-list-medias .question-ref{font-weight:800;display:block;clear:both}.element-list-medias .media-container{display:block;float:left;margin-right:10px;margin-bottom:10px}.element-list-medias .media-container a{transition:all .2s ease-out}.element-list-medias .media-container a:hover{opacity:.8}.element-list-medias .media-container .photo{width:100%;height:100%;object-fit:cover}.question-table .linked-medias-list{display:flex;gap:10px;height:auto !important}@media(max-width: 500px){.question-table .linked-medias-list{flex-wrap:wrap}}@media(max-width: 500px){div.tabBar table.border.question-table tr.linked-medias,div.tabBar table.border.question-table tr.linked-medias .linked-medias-list{height:auto !important}}div.mainmenu.digiquali{background-image:none}div.mainmenu.digiquali::before{content:""}@media(max-width: 600px){div.tabsAction>span.butAction,div.tabsAction>span.butActionRefused,div.tabsAction>a.butAction,div.tabsAction>a.butActionDelete{padding:14px}}.dashboard-control{width:40px;height:40px;border-radius:6px;text-align:center;color:#fff;font-weight:900;font-size:14px;line-height:.9;padding:7px 2px;pointer-events:none}.progress-info{display:flex;align-items:center}.progress-info .progress-bar{width:100%;height:20px;background-color:#ddd;border-radius:5px}.progress-info .progress{width:50%;height:100%;border-radius:5px;transition:width .3s}.sheet-images-container .sheet-grid-images{display:flex;flex-wrap:wrap;gap:.8em}.sheet-images-container .sheet-grid-images img{object-fit:cover;border:3px solid #fff;transition:all .2s ease-out}.sheet-images-container .sheet-grid-images img:hover{cursor:pointer;opacity:.6}.preview-photo{z-index:2100 !important}.dropdown-toggle::after{display:none}.favorite-photo{border:5px solid #0d8aff} \ No newline at end of file +.question-answer-container *{box-sizing:border-box}.question-answer-container.multiselect{margin-top:-60px}.question-answer-container.multiselect>.wpeo-table{background:none !important}.question-answer-container.multiselect .table-cell{padding-top:0}.question-answer-container .wpeo-table.table-flex .table-row:not(.table-header):nth-of-type(odd){background:none}.question-answer-container .table-cell{margin-top:0 !important}.question-answer-container>.wpeo-table{border-bottom:1px solid rgba(0,0,0,.2)}.question-answer-container>.wpeo-table:nth-of-type(odd){background:rgba(38,60,92,.15)}.question-answer-container>.wpeo-table .cell-photo-check{text-align:right}@media(max-width: 600px){.question-answer-container>.wpeo-table .cell-photo-check{text-align:center}}.question-answer-container>.wpeo-table .question-photo-check{margin:0 4px;display:inline-block;position:relative}.question-answer-container>.wpeo-table .question-photo-check img{display:block;margin:0;width:200px;height:200px;background-size:cover}.question-answer-container>.wpeo-table .question-photo-check i{position:absolute;bottom:10px;right:10px;font-size:35px}.question-answer-container>.wpeo-table .question-photo-check.ko i{color:#e05353}.question-answer-container>.wpeo-table .question-photo-check.ok i{color:#47e58e}.question-answer-container>.wpeo-table .photo{margin:0 4px}.question-answer-container>.wpeo-table .photo.photo-ok{border:5px solid #47e58e}.question-answer-container>.wpeo-table .photo.photo-ko{border:5px solid #e05353}.question-answer-container>.wpeo-table .linked-medias{display:flex;gap:0 10px;flex-wrap:wrap}.question-answer-container>.wpeo-table .answer{display:inline-block;width:50px;height:50px;line-height:50px;font-size:18px;margin:0 4px;text-align:center;border-radius:50%;background:#fff;border:1px solid rgba(0,0,0,.4);transition:all .2s ease-out}@media(max-width: 600px){.question-answer-container>.wpeo-table .answer{width:60px;height:60px;line-height:60px;font-size:25px}}.question-answer-container>.wpeo-table .answer.square{border-radius:10%}.question-answer-container>.wpeo-table .answer:hover{cursor:pointer}.question-answer-container>.wpeo-table .answer.active{color:#fff !important}.question-answer-container>.wpeo-table .question-comment-container{margin-top:10px}.question-answer-container>.wpeo-table .question-comment-container .question-ref{font-size:13px;font-weight:700}.question-answer-container>.wpeo-table .question-comment-container .question-textarea{width:100%;background:#fff;border:1px solid rgba(0,0,0,.2);padding:1em 1.4em}.confirmquestions .answer{display:inline-block;width:30px;height:30px;line-height:30px;margin:0 4px;text-align:center;border-radius:50%;background:#fff;border:1px solid rgba(0,0,0,.4);-webkit-transition:all .2s ease-out;transition:all .2s ease-out}.confirmquestions .answer:hover{cursor:pointer}.confirmquestions .answer[value="1"]{color:#47e58e}.confirmquestions .answer[value="2"]{color:#e05353}.confirmquestions .answer[value="3"]{color:#e9ad4f}.confirmquestions .answer[value="4"]{color:rgba(0,0,0,.7);font-weight:700}.confirmquestions input[readonly]{border:0;width:100%;pointer-events:none}.confirmquestions input[readonly]:hover{cursor:default}.verdict-container{display:flex;gap:10px;justify-content:center}.verdict-option input[type=radio]{display:none}.verdict-box{width:60px;height:60px;display:flex;align-items:center;justify-content:center;border:2px solid rgba(0,0,0,0);border-radius:5px;font-weight:bold;cursor:pointer;transition:background-color .3s,border-color .3s}.verdict-ok{background-color:#e0f7e9;color:#27ae60}.verdict-ko{background-color:#fdecea;color:#c0392b}.verdict-option input[type=radio]:checked+.verdict-box{border-color:#000}.verdict-box.disabled{cursor:not-allowed;opacity:.5}.element-list-medias .question-section{display:block;margin-bottom:20px}.element-list-medias .question-section::after{display:block;content:"";clear:both}.element-list-medias .question-ref{font-weight:800;display:block;clear:both}.element-list-medias .media-container{display:block;float:left;margin-right:10px;margin-bottom:10px}.element-list-medias .media-container a{transition:all .2s ease-out}.element-list-medias .media-container a:hover{opacity:.8}.element-list-medias .media-container .photo{width:100%;height:100%;object-fit:cover}.question-table .linked-medias-list{display:flex;gap:10px;height:auto !important}@media(max-width: 500px){.question-table .linked-medias-list{flex-wrap:wrap}}@media(max-width: 500px){div.tabBar table.border.question-table tr.linked-medias,div.tabBar table.border.question-table tr.linked-medias .linked-medias-list{height:auto !important}}div.mainmenu.digiquali{background-image:none}div.mainmenu.digiquali::before{content:""}@media(max-width: 600px){div.tabsAction>span.butAction,div.tabsAction>span.butActionRefused,div.tabsAction>a.butAction,div.tabsAction>a.butActionDelete{padding:14px}}.dashboard-control{width:40px;height:40px;border-radius:6px;text-align:center;color:#fff;font-weight:900;font-size:14px;line-height:.9;padding:7px 2px;pointer-events:none}.progress-info{display:flex;align-items:center}.progress-info .progress-bar{width:100%;height:20px;background-color:#ddd;border-radius:5px}.progress-info .progress{width:50%;height:100%;border-radius:5px;transition:width .3s}.sheet-images-container .sheet-grid-images{display:flex;flex-wrap:wrap;gap:.8em}.sheet-images-container .sheet-grid-images img{object-fit:cover;border:3px solid #fff;transition:all .2s ease-out}.sheet-images-container .sheet-grid-images img:hover{cursor:pointer;opacity:.6}.preview-photo{z-index:2100 !important}.dropdown-toggle::after{display:none}.favorite-photo{border:5px solid #0d8aff} \ No newline at end of file diff --git a/css/scss/page/_control.scss b/css/scss/page/_control.scss index 79cf1890..86792edf 100644 --- a/css/scss/page/_control.scss +++ b/css/scss/page/_control.scss @@ -178,15 +178,16 @@ .confirmquestions input[readonly]:hover { cursor: default; } - .verdict-container { display: flex; gap: 10px; justify-content: center; } + .verdict-option input[type="radio"] { display: none; } + .verdict-box { width: 60px; height: 60px; @@ -199,14 +200,22 @@ cursor: pointer; transition: background-color 0.3s, border-color 0.3s; } + .verdict-ok { background-color: #e0f7e9; color: #27ae60; } + .verdict-ko { background-color: #fdecea; color: #c0392b; } + .verdict-option input[type="radio"]:checked + .verdict-box { border-color: #000; } + +.verdict-box.disabled { + cursor: not-allowed; /* Change le curseur pour montrer que l'élément est désactivé */ + opacity: 0.5; /* Rendre l'élément visuellement désactivé */ +} diff --git a/js/digiquali.min.js b/js/digiquali.min.js index 4397d175..dda1f32d 100644 --- a/js/digiquali.min.js +++ b/js/digiquali.min.js @@ -1 +1 @@ -window.digiquali||(window.digiquali={},window.digiquali.scriptsLoaded=!1),window.digiquali.scriptsLoaded||(window.digiquali.init=function(){window.digiquali.load_list_script()},window.digiquali.load_list_script=function(){if(!window.digiquali.scriptsLoaded){var t=void 0,o=void 0;for(t in window.digiquali)for(o in window.digiquali[t].init&&window.digiquali[t].init(),window.digiquali[t])window.digiquali[t]&&window.digiquali[t][o]&&window.digiquali[t][o].init&&window.digiquali[t][o].init();window.digiquali.scriptsLoaded=!0}},window.digiquali.refresh=function(){var t=void 0,o=void 0;for(t in window.digiquali)for(o in window.digiquali[t].refresh&&window.digiquali[t].refresh(),window.digiquali[t])window.digiquali[t]&&window.digiquali[t][o]&&window.digiquali[t][o].refresh&&window.digiquali[t][o].refresh()},$(document).ready(window.digiquali.init)),window.digiquali.control={},window.digiquali.control.init=function(){window.digiquali.control.event()},window.digiquali.control.event=function(){$(document).on("click",".validateButton",window.digiquali.control.getAnswerCounter),$(document).on("change","#fk_sheet",window.digiquali.control.showSelectObjectLinked),$(document).on("click",".clipboard-copy",window.digiquali.control.copyToClipboard),$(document).on("change","#productId",window.digiquali.control.refreshLotSelector),$(document).on("change",'[name="mass_control"]',window.digiquali.control.showSubControlsModel),$(document).on("click",".switch-public-control-view",window.digiquali.control.switchPublicControlView),$(document).on("click",".show-only-questions-with-no-answer",window.digiquali.control.showOnlyQuestionsWithNoAnswer),$(document).on("click",".photo-sheet-category",window.digiquali.control.getSheetCategoryID),$(document).on("click",".photo-sheet-sub-category",window.digiquali.control.getSheetSubCategoryID),$(document).on("click",".photo-sheet",window.digiquali.control.getSheetID),$(document).on("click",".saveSubControl:not(.butActionRefused)",window.digiquali.control.saveSubControl),$(document).on("click",".validateSubControl:not(.butActionRefused)",window.digiquali.control.validateSubControl),$(document).on("click",".reopenSubControl:not(.butActionRefused)",window.digiquali.control.reopenSubControl),$(document).on("click",".lockSubControl:not(.butActionRefused)",window.digiquali.control.lockSubControl),$(document).on("click",".saveSubControlAnswers",window.digiquali.control.saveSubControlAnswers)},window.digiquali.control.getAnswerCounter=function(t){let o=0;jQuery("#tablelines").children().each(function(){0<$(this).find(".answer.active").length&&(o+=1)}),document.cookie="answerCounter="+o},window.digiquali.control.showSelectObjectLinked=function(){var t=$(this).val(),o=window.saturne.toolbox.getToken(),e=window.saturne.toolbox.getQuerySeparator(document.URL),e=document.URL+e+"fk_sheet="+t+"&token="+o;window.saturne.loader.display($(".linked-objects")),$.ajax({url:e,type:"POST",processData:!1,contentType:!1,success:function(t){$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.copyToClipboard=function(t){var o=$(".copy-to-clipboard").attr("value");navigator.clipboard.writeText(o).then(()=>{$(".clipboard-copy").animate({backgroundColor:"#59ed9c"},200,()=>{$(".clipboard-copy").attr("class","fas fa-check clipboard-copy"),$(this).tooltip({items:".clipboard-copy",content:$("#copyToClipboardTooltip").val()}),$(this).tooltip("open"),$(".clipboard-copy").attr("style","")})})},window.digiquali.control.refreshLotSelector=function(t){var o=document.getElementById("add_control_equipment"),o=new FormData(o),e=window.saturne.toolbox.getToken(),o=o.get("productId"),e=document.URL+"&token="+e;e+="&fk_product="+o,window.saturne.loader.display($(".product-lot")),$.ajax({url:e,type:"POST",processData:!1,contentType:!1,success:function(t){$(".product-lot").replaceWith($(t).find(".product-lot"))},error:function(){}})},window.digiquali.control.switchPublicControlView=function(t){var o=$(this).find(".public-control-view").val(),e=window.saturne.toolbox.getToken();let i=document.URL+"&token="+e;i+=0==o?"&show_control_list=1":"&show_last_control=1",window.saturne.loader.display($(".signature-container")),$.ajax({url:i,type:"POST",processData:!1,contentType:!1,success:function(t){$("#publicControlHistory").replaceWith($(t).find("#publicControlHistory"))},error:function(){}})},window.digiquali.control.showOnlyQuestionsWithNoAnswer=function(){var t=window.saturne.toolbox.getQuerySeparator(document.URL),o=window.saturne.toolbox.getToken();let e;e=$(this).hasClass("fa-toggle-off")?1:0,window.saturne.loader.display($(this)),$.ajax({url:document.URL+t+"action=show_only_questions_with_no_answer&token="+o,type:"POST",processData:!1,data:JSON.stringify({showOnlyQuestionsWithNoAnswer:e}),contentType:!1,success:function(t){$(".progress-info").replaceWith($(t).find(".progress-info")),$(".question-answer-container").replaceWith($(t).find(".question-answer-container"))},error:function(){}})},window.digiquali.control.getSheetCategoryID=function(){let o=$(this).attr("value");var t=window.saturne.toolbox.getToken(),e=window.saturne.toolbox.getQuerySeparator(document.URL);window.saturne.loader.display($(".sheet-images-container")),$.ajax({url:document.URL+e+"sheetCategoryID="+o+"&token="+t,type:"POST",processData:!1,contentType:!1,success:function(t){$(".sheet-images-container").replaceWith($(t).find(".sheet-images-container")),$(".photo-sheet-category[value="+o+"]").css("border","3px solid #0d8aff"),$(".photo-sheet-category[value="+o+"]").addClass("photo-sheet-category-active"),$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.getSheetSubCategoryID=function(){let o=$(".photo-sheet-category-active").attr("value"),e=$(this).attr("value");var t=window.saturne.toolbox.getToken(),i=window.saturne.toolbox.getQuerySeparator(document.URL);window.saturne.loader.display($(".sheet-images-container")),$.ajax({url:document.URL+i+"sheetCategoryID="+o+"&sheetSubCategoryID="+e+"&token="+t,type:"POST",processData:!1,contentType:!1,success:function(t){$(".sheet-images-container").replaceWith($(t).find(".sheet-images-container")),$(".photo-sheet-category[value="+o+"]").css("border","3px solid #0d8aff"),$(".photo-sheet-category[value="+o+"]").addClass("photo-sheet-category-active"),$(".photo-sheet-sub-category[value="+e+"]").css("border","3px solid #0d8aff"),$(".photo-sheet-sub-category[value="+e+"]").addClass("photo-sheet-sub-category-active"),$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.getSheetID=function(){let o=$(this).attr("data-object-id");var t=$(".photo-sheet-category-active").attr("value"),e=$(".photo-sheet-sub-category-active").attr("value"),i=window.saturne.toolbox.getToken(),n=window.saturne.toolbox.getQuerySeparator(document.URL);window.saturne.loader.display($(".sheet-elements")),window.saturne.loader.display($(".linked-objects")),$.ajax({url:document.URL+n+"fk_sheet="+o+"&sheetCategoryID="+t+"&sheetSubCategoryID="+e+"&token="+i,type:"POST",processData:!1,contentType:!1,success:function(t){$(".sheet-elements").replaceWith($(t).find(".sheet-elements")),$(".photo-sheet[data-object-id="+o+"]").css("border","3px solid #0d8aff"),$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.saveSubControl=function(){let a=$(this).attr("data-control-id"),s=$(this).attr("data-mass-control-id");var t=$(this).closest(".table-row").find(".note-public").val();let d=[];$(this).closest(".table-row").find(".select-answer").each(function(){var t=$(this).attr("data-questionid"),o=$(this).find(".question-answer").val(),e=$(this).closest(".wpeo-table").find(".question-comment").val();d[t]={answer:o,comment:e}});var o=$(this).closest(".table-row").find('.verdict-option input[type="radio"]:checked').val();let c=window.saturne.toolbox.getToken();window.saturne.loader.display($(this).closest(".table-row"));var e=document.URL.replace(/id=\d+/,"id="+a);$.ajax({url:e+"&token="+c+"&action=confirm_setVerdict&verdict="+o+"¬eControl="+t,type:"POST",processData:!1,contentType:!1,data:[],success:async function(t){for(var[o,e]of Object.entries(d)){var i=document.URL.replace(/id=\d+/,"id="+a);await window.digiquali.object.saveAnswer(o,e.answer,e.comment,i+"&action=save&token="+c)}var n=document.URL.replace(/id=\d+/,"id="+s);$.ajax({url:n,type:"GET",processData:!1,contentType:!1,data:[],success:function(t){$(".wpeo-loader").removeClass("wpeo-loader"),$(".sub-control-"+a).replaceWith($(t).find(".sub-control-"+a))}})},error:function(){}})},window.digiquali.control.lockSubControl=function(){let e=$(this).attr("data-control-id"),i=$(this).attr("data-mass-control-id");var t=window.saturne.toolbox.getToken(),o=(window.saturne.loader.display($(this).closest(".table-row")),document.URL.replace(/id=\d+/,"id="+e));$.ajax({url:o+"&token="+t+"&action=confirm_lock",type:"POST",processData:!1,contentType:!1,data:[],success:function(t){var o=document.URL.replace(/id=\d+/,"id="+i);$.ajax({url:o,type:"GET",processData:!1,contentType:!1,data:[],success:function(t){$(".sub-control-"+e).replaceWith($(t).find(".sub-control-"+e))}})},error:function(){}})},window.digiquali.control.validateSubControl=function(){let e=$(this).attr("data-control-id"),i=$(this).attr("data-mass-control-id");var t=window.saturne.toolbox.getToken(),o=(window.saturne.loader.display($(this).closest(".table-row")),document.URL.replace(/id=\d+/,"id="+e));$.ajax({url:o+"&token="+t+"&action=confirm_validate&confirm=yes",type:"POST",processData:!1,contentType:!1,data:[],success:function(t){var o=document.URL.replace(/id=\d+/,"id="+i);$.ajax({url:o,type:"GET",processData:!1,contentType:!1,data:[],success:function(t){$(".sub-control-"+e).replaceWith($(t).find(".sub-control-"+e))}})},error:function(){}})},window.digiquali.control.reopenSubControl=function(){let e=$(this).attr("data-control-id"),i=$(this).attr("data-mass-control-id");var t=window.saturne.toolbox.getToken(),o=(window.saturne.loader.display($(this).closest(".table-row")),document.URL.replace(/id=\d+/,"id="+e));$.ajax({url:o+"&token="+t+"&action=confirm_set_reopen&confirm=yes",type:"POST",processData:!1,contentType:!1,data:[],success:function(t){var o=document.URL.replace(/id=\d+/,"id="+i);$.ajax({url:o,type:"GET",processData:!1,contentType:!1,data:[],success:function(t){$(".sub-control-"+e).replaceWith($(t).find(".sub-control-"+e))}})},error:function(){}})},window.digiquali.control.saveSubControlAnswers=async function(){let o=$(this).attr("data-control-id");var t=$(this).attr("data-mass-control-id");window.saturne.loader.display($(this));let i=[];$(this).closest(".table-row").find(".select-answer").each(function(){var t=$(this).attr("data-questionid"),o=$(this).find(".question-answer").val(),e=$(this).closest(".wpeo-table").find(".question-comment").val();i[t]={answer:o,comment:e}});var e,n,a=window.saturne.toolbox.getToken();let s=document.URL.replace(/id=\d+/,"id="+o);for([e,n]of Object.entries(i))await window.digiquali.object.saveAnswer(e,n.answer,n.comment,s+"&action=save&token="+a);s=document.URL.replace(/id=\d+/,"id="+t),$.ajax({url:s,type:"GET",processData:!1,contentType:!1,data:[],success:function(t){$(".sub-control-"+o).replaceWith($(t).find(".sub-control-"+o)),$(".wpeo-loader").removeClass("wpeo-loader")}})},window.digiquali.control.showSubControlsModel=function(){$(".sub-controls-model").attr("style",""),$(".sub-controls-model").find(".select2-container").css("width","500px")},window.digiquali.object={},window.digiquali.object.init=function(){window.digiquali.object.event()},window.digiquali.object.event=function(){$(document).on("change",".object-table.linked-objects select",window.digiquali.object.disableOtherSelectors),$(document).on("click",".answer:not(.disable)",window.digiquali.object.selectAnswer),$(document).on("input",".input-answer:not(.disable)",window.digiquali.object.selectAnswer),$(document).on("keyup",".question-comment",window.digiquali.object.showCommentUnsaved),$(document).on("click",".verdict-box",window.digiquali.object.updateButtonsStatus)},window.digiquali.object.disableOtherSelectors=function(){var t=document.getElementById("createObjectForm"),t=new FormData(t),o=$(this).attr("id");0<=t.get(o)?$(".object-table.linked-objects").find("select").not("#"+o).attr("disabled",1):$(".object-table.linked-objects").find("select").not("#"+o).removeAttr("disabled")},window.digiquali.object.selectAnswer=function(){var o=$(this).closest(".select-answer.answer-cell"),t=o.attr("data-questionId"),e=$(this).closest(".table-id-"+t).attr("data-publicInterface"),i=$(this).closest(".table-id-"+t).attr("data-autoSave");let n="";var a=$(this).hasClass("answer")?$(this).attr("value"):$(this).val(),s=$(this).closest(".table-id-"+t).find("#comment"+t).val(),d=$(this).closest(".table-id-"+t).attr("data-control-id");if($(this).closest(".table-cell").hasClass("select-answer")){if($(this).hasClass("multiple-answers")){$(this).closest("span").toggleClass("active");let t=[];o.find(".multiple-answers.active").each(function(){t.push($(this).attr("value"))}),n=t}else $(this).closest(".table-cell").find(".answer.active").css("background-color","#fff"),$(this).closest(".table-cell").find("span").removeClass("active"),$(this).closest("span").addClass("active"),n=a;$(this).hasClass("active")?(o=$(this).closest(".answer-cell").find(".answer-color-"+$(this).attr("value")).val(),$(this).attr("style",$(this).attr("style")+" background:"+o+";")):$(this).attr("style",$(this).attr("style")+" background:#fff;"),$(this).closest(".answer-cell").find(".question-answer").val(n)}e||1!=i||$(this).hasClass("multiple-answers")?window.digiquali.object.updateButtonsStatus(d):window.digiquali.object.saveAnswer(t,n,s)},window.digiquali.object.showCommentUnsaved=function(){$(this).hasClass("show-comment-unsaved-message")||($(this).after('

Commentaire non enregistré

'),$(this).addClass("show-comment-unsaved-message")),window.digiquali.object.updateButtonsStatus()},window.digiquali.object.updateButtonsStatus=function(t){t=stringIsInteger(t)?t:$(this).attr("data-control-id"),$("#saveButton"+t).removeClass("butActionRefused"),$("#saveButton"+t).addClass("butAction"),$(".fa-circle").css("display","inline"),$("#saveButton"+t).attr("onclick",'$("#saveObject'+t+'").submit()'),$(".validateButton"+t).removeClass("butAction"),$("#dialog-confirm-actionButtonValidate").removeAttr("id"),$(".validateButton"+t).addClass("butActionRefused")},window.digiquali.object.saveAnswer=function(t,o,e,i=""){var n=window.saturne.toolbox.getToken(),a=window.saturne.toolbox.getQuerySeparator(document.URL),a=i||document.URL+a+"action=save&token="+n;window.saturne.loader.display($(".table-id-"+t)),$.ajax({url:a,type:"POST",data:JSON.stringify({autoSave:!0,questionId:t,answer:o,comment:e}),processData:!1,contentType:!1,success:function(t){i.length<1&&$(".fiche").replaceWith($(t).find(".fiche"))},error:function(){}})},window.digiquali.question={},window.digiquali.question.init=function(){window.digiquali.question.event()},window.digiquali.question.event=function(){$(document).on("click",".clicked-photo-preview",window.digiquali.question.previewPhoto),$(document).on("click",".ui-dialog-titlebar-close",window.digiquali.question.closePreviewPhoto),$(document).on("click","#show_photo",window.digiquali.question.showPhoto),$(document).on("click",".answer-picto .item, .wpeo-table .item",window.digiquali.question.selectAnswerPicto)},window.digiquali.question.previewPhoto=function(t){$(this).hasClass("photo-ok")?$("#dialogforpopup").attr("style","border: 10px solid #47e58e"):$(this).hasClass("photo-ko")&&$("#dialogforpopup").attr("style","border: 10px solid #e05353")},window.digiquali.question.closePreviewPhoto=function(t){$("#dialogforpopup").attr("style","border:")},window.digiquali.question.showPhoto=function(){var t=$(this).closest(".question-table").find(".linked-medias");t.hasClass("hidden")?(t.attr("style",""),t.removeClass("hidden")):(t.attr("style","display:none"),t.addClass("hidden"))},window.digiquali.question.selectAnswerPicto=function(t){var o=$(this).closest(".wpeo-dropdown");$(this).closest(".content").removeClass("active"),o.find(".dropdown-toggle span").hide(),o.find(".dropdown-toggle.button-picto").html($(this).closest(".wpeo-tooltip-event").html()),o.find(".input-hidden-picto").val($(this).data("label"))},window.digiquali.sheet={},window.digiquali.sheet.init=function(){window.digiquali.sheet.event()},window.digiquali.sheet.event=function(){}; \ No newline at end of file +window.digiquali||(window.digiquali={},window.digiquali.scriptsLoaded=!1),window.digiquali.scriptsLoaded||(window.digiquali.init=function(){window.digiquali.load_list_script()},window.digiquali.load_list_script=function(){if(!window.digiquali.scriptsLoaded){var t=void 0,o=void 0;for(t in window.digiquali)for(o in window.digiquali[t].init&&window.digiquali[t].init(),window.digiquali[t])window.digiquali[t]&&window.digiquali[t][o]&&window.digiquali[t][o].init&&window.digiquali[t][o].init();window.digiquali.scriptsLoaded=!0}},window.digiquali.refresh=function(){var t=void 0,o=void 0;for(t in window.digiquali)for(o in window.digiquali[t].refresh&&window.digiquali[t].refresh(),window.digiquali[t])window.digiquali[t]&&window.digiquali[t][o]&&window.digiquali[t][o].refresh&&window.digiquali[t][o].refresh()},$(document).ready(window.digiquali.init)),window.digiquali.control={},window.digiquali.control.init=function(){window.digiquali.control.event()},window.digiquali.control.event=function(){$(document).on("click",".validateButton",window.digiquali.control.getAnswerCounter),$(document).on("change","#fk_sheet",window.digiquali.control.showSelectObjectLinked),$(document).on("click",".clipboard-copy",window.digiquali.control.copyToClipboard),$(document).on("change","#productId",window.digiquali.control.refreshLotSelector),$(document).on("change",'[name="mass_control"]',window.digiquali.control.showSubControlsModel),$(document).on("click",".switch-public-control-view",window.digiquali.control.switchPublicControlView),$(document).on("click",".show-only-questions-with-no-answer",window.digiquali.control.showOnlyQuestionsWithNoAnswer),$(document).on("click",".photo-sheet-category",window.digiquali.control.getSheetCategoryID),$(document).on("click",".photo-sheet-sub-category",window.digiquali.control.getSheetSubCategoryID),$(document).on("click",".photo-sheet",window.digiquali.control.getSheetID),$(document).on("click",".saveSubControl:not(.butActionRefused)",window.digiquali.control.saveSubControl),$(document).on("click",".validateSubControl:not(.butActionRefused)",window.digiquali.control.validateSubControl),$(document).on("click",".reopenSubControl:not(.butActionRefused)",window.digiquali.control.reopenSubControl),$(document).on("click",".lockSubControl:not(.butActionRefused)",window.digiquali.control.lockSubControl),$(document).on("click",".saveSubControlAnswers",window.digiquali.control.saveSubControlAnswers),$(document).ready(function(){$(".verdict-box").on("click",function(t){$(this).hasClass("disabled")&&(t.stopPropagation(),t.preventDefault())})})},window.digiquali.control.getAnswerCounter=function(t){let o=0;jQuery("#tablelines").children().each(function(){0<$(this).find(".answer.active").length&&(o+=1)}),document.cookie="answerCounter="+o},window.digiquali.control.showSelectObjectLinked=function(){var t=$(this).val(),o=window.saturne.toolbox.getToken(),e=window.saturne.toolbox.getQuerySeparator(document.URL),e=document.URL+e+"fk_sheet="+t+"&token="+o;window.saturne.loader.display($(".linked-objects")),$.ajax({url:e,type:"POST",processData:!1,contentType:!1,success:function(t){$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.copyToClipboard=function(t){var o=$(".copy-to-clipboard").attr("value");navigator.clipboard.writeText(o).then(()=>{$(".clipboard-copy").animate({backgroundColor:"#59ed9c"},200,()=>{$(".clipboard-copy").attr("class","fas fa-check clipboard-copy"),$(this).tooltip({items:".clipboard-copy",content:$("#copyToClipboardTooltip").val()}),$(this).tooltip("open"),$(".clipboard-copy").attr("style","")})})},window.digiquali.control.refreshLotSelector=function(t){var o=document.getElementById("add_control_equipment"),o=new FormData(o),e=window.saturne.toolbox.getToken(),o=o.get("productId"),e=document.URL+"&token="+e;e+="&fk_product="+o,window.saturne.loader.display($(".product-lot")),$.ajax({url:e,type:"POST",processData:!1,contentType:!1,success:function(t){$(".product-lot").replaceWith($(t).find(".product-lot"))},error:function(){}})},window.digiquali.control.switchPublicControlView=function(t){var o=$(this).find(".public-control-view").val(),e=window.saturne.toolbox.getToken();let i=document.URL+"&token="+e;i+=0==o?"&show_control_list=1":"&show_last_control=1",window.saturne.loader.display($(".signature-container")),$.ajax({url:i,type:"POST",processData:!1,contentType:!1,success:function(t){$("#publicControlHistory").replaceWith($(t).find("#publicControlHistory"))},error:function(){}})},window.digiquali.control.showOnlyQuestionsWithNoAnswer=function(){var t=window.saturne.toolbox.getQuerySeparator(document.URL),o=window.saturne.toolbox.getToken();let e;e=$(this).hasClass("fa-toggle-off")?1:0,window.saturne.loader.display($(this)),$.ajax({url:document.URL+t+"action=show_only_questions_with_no_answer&token="+o,type:"POST",processData:!1,data:JSON.stringify({showOnlyQuestionsWithNoAnswer:e}),contentType:!1,success:function(t){$(".progress-info").replaceWith($(t).find(".progress-info")),$(".question-answer-container").replaceWith($(t).find(".question-answer-container"))},error:function(){}})},window.digiquali.control.getSheetCategoryID=function(){let o=$(this).attr("value");var t=window.saturne.toolbox.getToken(),e=window.saturne.toolbox.getQuerySeparator(document.URL);window.saturne.loader.display($(".sheet-images-container")),$.ajax({url:document.URL+e+"sheetCategoryID="+o+"&token="+t,type:"POST",processData:!1,contentType:!1,success:function(t){$(".sheet-images-container").replaceWith($(t).find(".sheet-images-container")),$(".photo-sheet-category[value="+o+"]").css("border","3px solid #0d8aff"),$(".photo-sheet-category[value="+o+"]").addClass("photo-sheet-category-active"),$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.getSheetSubCategoryID=function(){let o=$(".photo-sheet-category-active").attr("value"),e=$(this).attr("value");var t=window.saturne.toolbox.getToken(),i=window.saturne.toolbox.getQuerySeparator(document.URL);window.saturne.loader.display($(".sheet-images-container")),$.ajax({url:document.URL+i+"sheetCategoryID="+o+"&sheetSubCategoryID="+e+"&token="+t,type:"POST",processData:!1,contentType:!1,success:function(t){$(".sheet-images-container").replaceWith($(t).find(".sheet-images-container")),$(".photo-sheet-category[value="+o+"]").css("border","3px solid #0d8aff"),$(".photo-sheet-category[value="+o+"]").addClass("photo-sheet-category-active"),$(".photo-sheet-sub-category[value="+e+"]").css("border","3px solid #0d8aff"),$(".photo-sheet-sub-category[value="+e+"]").addClass("photo-sheet-sub-category-active"),$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.getSheetID=function(){let o=$(this).attr("data-object-id");var t=$(".photo-sheet-category-active").attr("value"),e=$(".photo-sheet-sub-category-active").attr("value"),i=window.saturne.toolbox.getToken(),n=window.saturne.toolbox.getQuerySeparator(document.URL);window.saturne.loader.display($(".sheet-elements")),window.saturne.loader.display($(".linked-objects")),$.ajax({url:document.URL+n+"fk_sheet="+o+"&sheetCategoryID="+t+"&sheetSubCategoryID="+e+"&token="+i,type:"POST",processData:!1,contentType:!1,success:function(t){$(".sheet-elements").replaceWith($(t).find(".sheet-elements")),$(".photo-sheet[data-object-id="+o+"]").css("border","3px solid #0d8aff"),$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.saveSubControl=function(){let a=$(this).attr("data-control-id"),s=$(this).attr("data-mass-control-id");var t=$(this).closest(".table-row").find(".note-public").val();let d=[];$(this).closest(".table-row").find(".select-answer").each(function(){var t=$(this).attr("data-questionid"),o=$(this).find(".question-answer").val(),e=$(this).closest(".wpeo-table").find(".question-comment").val();d[t]={answer:o,comment:e}});var o=$(this).closest(".table-row").find('.verdict-option input[type="radio"]:checked').val();let c=window.saturne.toolbox.getToken();window.saturne.loader.display($(this).closest(".table-row"));var e=document.URL.replace(/id=\d+/,"id="+a);$.ajax({url:e+"&token="+c+"&action=confirm_setVerdict&verdict="+o+"¬eControl="+t,type:"POST",processData:!1,contentType:!1,data:[],success:async function(t){for(var[o,e]of Object.entries(d)){var i=document.URL.replace(/id=\d+/,"id="+a);await window.digiquali.object.saveAnswer(o,e.answer,e.comment,i+"&action=save&token="+c)}var n=document.URL.replace(/id=\d+/,"id="+s);$.ajax({url:n,type:"GET",processData:!1,contentType:!1,data:[],success:function(t){$(".wpeo-loader").removeClass("wpeo-loader"),$(".sub-control-"+a).replaceWith($(t).find(".sub-control-"+a))}})},error:function(){}})},window.digiquali.control.lockSubControl=function(){let e=$(this).attr("data-control-id"),i=$(this).attr("data-mass-control-id");var t=window.saturne.toolbox.getToken(),o=(window.saturne.loader.display($(this).closest(".table-row")),document.URL.replace(/id=\d+/,"id="+e));$.ajax({url:o+"&token="+t+"&action=confirm_lock",type:"POST",processData:!1,contentType:!1,data:[],success:function(t){var o=document.URL.replace(/id=\d+/,"id="+i);$.ajax({url:o,type:"GET",processData:!1,contentType:!1,data:[],success:function(t){$(".sub-control-"+e).replaceWith($(t).find(".sub-control-"+e))}})},error:function(){}})},window.digiquali.control.validateSubControl=function(){let e=$(this).attr("data-control-id"),i=$(this).attr("data-mass-control-id");var t=window.saturne.toolbox.getToken(),o=(window.saturne.loader.display($(this).closest(".table-row")),document.URL.replace(/id=\d+/,"id="+e));$.ajax({url:o+"&token="+t+"&action=confirm_validate&confirm=yes",type:"POST",processData:!1,contentType:!1,data:[],success:function(t){var o=document.URL.replace(/id=\d+/,"id="+i);$.ajax({url:o,type:"GET",processData:!1,contentType:!1,data:[],success:function(t){$(".sub-control-"+e).replaceWith($(t).find(".sub-control-"+e))}})},error:function(){}})},window.digiquali.control.reopenSubControl=function(){let e=$(this).attr("data-control-id"),i=$(this).attr("data-mass-control-id");var t=window.saturne.toolbox.getToken(),o=(window.saturne.loader.display($(this).closest(".table-row")),document.URL.replace(/id=\d+/,"id="+e));$.ajax({url:o+"&token="+t+"&action=confirm_set_reopen&confirm=yes",type:"POST",processData:!1,contentType:!1,data:[],success:function(t){var o=document.URL.replace(/id=\d+/,"id="+i);$.ajax({url:o,type:"GET",processData:!1,contentType:!1,data:[],success:function(t){$(".sub-control-"+e).replaceWith($(t).find(".sub-control-"+e))}})},error:function(){}})},window.digiquali.control.saveSubControlAnswers=async function(){let o=$(this).attr("data-control-id");var t=$(this).attr("data-mass-control-id");window.saturne.loader.display($(this));let i=[];$(this).closest(".table-row").find(".select-answer").each(function(){var t=$(this).attr("data-questionid"),o=$(this).find(".question-answer").val(),e=$(this).closest(".wpeo-table").find(".question-comment").val();i[t]={answer:o,comment:e}});var e,n,a=window.saturne.toolbox.getToken();let s=document.URL.replace(/id=\d+/,"id="+o);for([e,n]of Object.entries(i))await window.digiquali.object.saveAnswer(e,n.answer,n.comment,s+"&action=save&token="+a);s=document.URL.replace(/id=\d+/,"id="+t),$.ajax({url:s,type:"GET",processData:!1,contentType:!1,data:[],success:function(t){$(".sub-control-"+o).replaceWith($(t).find(".sub-control-"+o)),$(".wpeo-loader").removeClass("wpeo-loader")}})},window.digiquali.control.showSubControlsModel=function(){$(".sub-controls-model").attr("style",""),$(".sub-controls-model").find(".select2-container").css("width","500px")},window.digiquali.object={},window.digiquali.object.init=function(){window.digiquali.object.event()},window.digiquali.object.event=function(){$(document).on("change",".object-table.linked-objects select",window.digiquali.object.disableOtherSelectors),$(document).on("click",".answer:not(.disable)",window.digiquali.object.selectAnswer),$(document).on("input",".input-answer:not(.disable)",window.digiquali.object.selectAnswer),$(document).on("keyup",".question-comment",window.digiquali.object.showCommentUnsaved),$(document).on("click",".verdict-box",window.digiquali.object.updateButtonsStatus)},window.digiquali.object.disableOtherSelectors=function(){var t=document.getElementById("createObjectForm"),t=new FormData(t),o=$(this).attr("id");0<=t.get(o)?$(".object-table.linked-objects").find("select").not("#"+o).attr("disabled",1):$(".object-table.linked-objects").find("select").not("#"+o).removeAttr("disabled")},window.digiquali.object.selectAnswer=function(){var o=$(this).closest(".select-answer.answer-cell"),t=o.attr("data-questionId"),e=$(this).closest(".table-id-"+t).attr("data-publicInterface"),i=$(this).closest(".table-id-"+t).attr("data-autoSave");let n="";var a=$(this).hasClass("answer")?$(this).attr("value"):$(this).val(),s=$(this).closest(".table-id-"+t).find("#comment"+t).val(),d=$(this).closest(".table-id-"+t).attr("data-control-id");if($(this).closest(".table-cell").hasClass("select-answer")){if($(this).hasClass("multiple-answers")){$(this).closest("span").toggleClass("active");let t=[];o.find(".multiple-answers.active").each(function(){t.push($(this).attr("value"))}),n=t}else $(this).closest(".table-cell").find(".answer.active").css("background-color","#fff"),$(this).closest(".table-cell").find("span").removeClass("active"),$(this).closest("span").addClass("active"),n=a;$(this).hasClass("active")?(o=$(this).closest(".answer-cell").find(".answer-color-"+$(this).attr("value")).val(),$(this).attr("style",$(this).attr("style")+" background:"+o+";")):$(this).attr("style",$(this).attr("style")+" background:#fff;"),$(this).closest(".answer-cell").find(".question-answer").val(n)}e||1!=i||$(this).hasClass("multiple-answers")?window.digiquali.object.updateButtonsStatus(d):window.digiquali.object.saveAnswer(t,n,s)},window.digiquali.object.showCommentUnsaved=function(){$(this).hasClass("show-comment-unsaved-message")||($(this).after('

Commentaire non enregistré

'),$(this).addClass("show-comment-unsaved-message")),window.digiquali.object.updateButtonsStatus()},window.digiquali.object.updateButtonsStatus=function(t){t=stringIsInteger(t)?t:$(this).attr("data-control-id"),$("#saveButton"+t).removeClass("butActionRefused"),$("#saveButton"+t).addClass("butAction"),$(".fa-circle").css("display","inline"),$("#saveButton"+t).attr("onclick",'$("#saveObject'+t+'").submit()'),$(".validateButton"+t).removeClass("butAction"),$("#dialog-confirm-actionButtonValidate").removeAttr("id"),$(".validateButton"+t).addClass("butActionRefused")},window.digiquali.object.saveAnswer=function(t,o,e,i=""){var n=window.saturne.toolbox.getToken(),a=window.saturne.toolbox.getQuerySeparator(document.URL),a=i||document.URL+a+"action=save&token="+n;window.saturne.loader.display($(".table-id-"+t)),$.ajax({url:a,type:"POST",data:JSON.stringify({autoSave:!0,questionId:t,answer:o,comment:e}),processData:!1,contentType:!1,success:function(t){i.length<1&&$(".fiche").replaceWith($(t).find(".fiche"))},error:function(){}})},window.digiquali.question={},window.digiquali.question.init=function(){window.digiquali.question.event()},window.digiquali.question.event=function(){$(document).on("click",".clicked-photo-preview",window.digiquali.question.previewPhoto),$(document).on("click",".ui-dialog-titlebar-close",window.digiquali.question.closePreviewPhoto),$(document).on("click","#show_photo",window.digiquali.question.showPhoto),$(document).on("click",".answer-picto .item, .wpeo-table .item",window.digiquali.question.selectAnswerPicto)},window.digiquali.question.previewPhoto=function(t){$(this).hasClass("photo-ok")?$("#dialogforpopup").attr("style","border: 10px solid #47e58e"):$(this).hasClass("photo-ko")&&$("#dialogforpopup").attr("style","border: 10px solid #e05353")},window.digiquali.question.closePreviewPhoto=function(t){$("#dialogforpopup").attr("style","border:")},window.digiquali.question.showPhoto=function(){var t=$(this).closest(".question-table").find(".linked-medias");t.hasClass("hidden")?(t.attr("style",""),t.removeClass("hidden")):(t.attr("style","display:none"),t.addClass("hidden"))},window.digiquali.question.selectAnswerPicto=function(t){var o=$(this).closest(".wpeo-dropdown");$(this).closest(".content").removeClass("active"),o.find(".dropdown-toggle span").hide(),o.find(".dropdown-toggle.button-picto").html($(this).closest(".wpeo-tooltip-event").html()),o.find(".input-hidden-picto").val($(this).data("label"))},window.digiquali.sheet={},window.digiquali.sheet.init=function(){window.digiquali.sheet.event()},window.digiquali.sheet.event=function(){}; \ No newline at end of file diff --git a/js/modules/control.js b/js/modules/control.js index 8e21ace5..8c2f14dc 100644 --- a/js/modules/control.js +++ b/js/modules/control.js @@ -43,6 +43,15 @@ window.digiquali.control.event = function() { $(document).on('click', '.reopenSubControl:not(.butActionRefused)', window.digiquali.control.reopenSubControl); $(document).on('click', '.lockSubControl:not(.butActionRefused)', window.digiquali.control.lockSubControl); $(document).on('click', '.saveSubControlAnswers', window.digiquali.control.saveSubControlAnswers); + $(document).ready(function() { + $('.verdict-box').on('click', function(event) { + if ($(this).hasClass('disabled')) { + event.stopPropagation(); + event.preventDefault(); + } + }); + }); + }; From 805b7ec10e0124abc275b604de5f78b4a9f0003c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20David?= Date: Tue, 27 Aug 2024 14:57:52 +0200 Subject: [PATCH 16/25] fix: questions answering --- core/tpl/digiquali_answers.tpl.php | 2 ++ core/tpl/digiquali_mass_control_list.tpl.php | 21 +++++++++++++------- view/control/control_card.php | 2 +- 3 files changed, 17 insertions(+), 8 deletions(-) diff --git a/core/tpl/digiquali_answers.tpl.php b/core/tpl/digiquali_answers.tpl.php index 19634e42..1e237b0f 100644 --- a/core/tpl/digiquali_answers.tpl.php +++ b/core/tpl/digiquali_answers.tpl.php @@ -29,8 +29,10 @@ * Variable : $publicInterface */ + if (is_array($sheet->linkedObjects['digiquali_question']) && !empty($sheet->linkedObjects['digiquali_question'])) { foreach ($sheet->linkedObjects['digiquali_question'] as $question) { + $questionAnswer = ''; $comment = ''; $result = $objectLine->fetchFromParentWithQuestion($object->id, $question->id); diff --git a/core/tpl/digiquali_mass_control_list.tpl.php b/core/tpl/digiquali_mass_control_list.tpl.php index ffb7b26a..7bf395d6 100644 --- a/core/tpl/digiquali_mass_control_list.tpl.php +++ b/core/tpl/digiquali_mass_control_list.tpl.php @@ -40,10 +40,16 @@ print '
'; $mainControlId = $object->id; +$sheet = new Sheet($db); + // Check if there are any mass controls and print them if (is_array($massControlList) && !empty($massControlList)) { foreach ($massControlList as $massControl) { $object = $massControl; + $sheet->fetch($massControl->fk_sheet); + $sheet->fetch_optionals(); + + $sheet->fetchObjectLinked($object->fk_sheet, 'digiquali_' . $sheet->element); $massControl->fetch_optionals(); $massControl->fetchLines(); $massControl->fetchObjectLinked('', '', $massControl->id, 'digiquali_control', 'OR', 1, 'sourcetype', 0); @@ -96,8 +102,8 @@ print '
'; $questionCounter = 0; - if (!empty($questionIds)) { - $questionCounter = count($questionIds); + if (!empty($sheet->linkedObjects['digiquali_question'])) { + $questionCounter = count($sheet->linkedObjects['digiquali_question']); } $answerCounter = 0; @@ -110,22 +116,23 @@ } //affiche le nombre de questions répondues print '' . $answerCounter . '/' . $questionCounter . ''; - print ''; print '
'; $documenturl = DOL_URL_ROOT . '/document.php'; //retrieve last document of the control + print '
'; $documentList = dol_dir_list($conf->digiquali->multidir_output[$massControl->entity ?: 1] . '/controldocument/' . $massControl->ref . '/'); if (!empty($documentList)) { $lastDocument = $documentList[count($documentList) - 1]; $lastDocumentPath = $lastDocument['relativename']; + print ''; + print ''; + print ''; } - print '
'; - print ''; - print ''; - print ''; + print '
'; print '
'; if ($massControl->status != $massControl::STATUS_LOCKED) { diff --git a/view/control/control_card.php b/view/control/control_card.php index 8caf6373..b42f71d9 100644 --- a/view/control/control_card.php +++ b/view/control/control_card.php @@ -442,7 +442,7 @@ print ''; //FK SHEET - print '' . ($source != 'pwa' ? $langs->trans('SubControlSheet') : img_picto('', $sheet->picto . '_2em', 'class="pictofixedwidth"')) . ''; + print '' . ($source != 'pwa' ? $langs->trans('SubControlSheet') : img_picto('', $sheet->picto . '_2em', 'class="pictofixedwidth"')) . ''; print ($source != 'pwa' ? img_picto('', $sheet->picto, 'class="pictofixedwidth"') : '') . $sheet->selectSheetList(GETPOST('fk_sub_controls_sheet'), 'fk_sub_controls_sheet', 's.type = ' . '"' . $object->element . '" AND s.status = ' . Sheet::STATUS_LOCKED); if ($source != 'pwa') { print ''; From d624f8619c59df36f9e0b4fba22d1c87fa5c04a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20David?= Date: Tue, 27 Aug 2024 15:02:05 +0200 Subject: [PATCH 17/25] fix: avoid sub controls edition if main control is validated --- core/tpl/digiquali_mass_control_list.tpl.php | 14 +++++++++----- langs/fr_FR/digiquali.lang | 2 +- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/core/tpl/digiquali_mass_control_list.tpl.php b/core/tpl/digiquali_mass_control_list.tpl.php index 7bf395d6..1acd6cab 100644 --- a/core/tpl/digiquali_mass_control_list.tpl.php +++ b/core/tpl/digiquali_mass_control_list.tpl.php @@ -41,10 +41,12 @@ $mainControlId = $object->id; $sheet = new Sheet($db); +$mainControl = $object; // Check if there are any mass controls and print them if (is_array($massControlList) && !empty($massControlList)) { foreach ($massControlList as $massControl) { + $answersDisabled = $massControl->status == $massControl::STATUS_LOCKED || $mainControl->status >= $mainControl::STATUS_VALIDATED; $object = $massControl; $sheet->fetch($massControl->fk_sheet); $sheet->fetch_optionals(); @@ -88,17 +90,17 @@ print '
'; print ''; print ''; print '
'; print '
'; // Note Control section displaying the public note - print '
'; + print '
'; print '
'; $questionCounter = 0; @@ -116,7 +118,7 @@ } //affiche le nombre de questions répondues print '' . $answerCounter . '/' . $questionCounter . ''; - print ''; @@ -135,7 +137,7 @@ print '
'; print '
'; - if ($massControl->status != $massControl::STATUS_LOCKED) { + if (!$answersDisabled) { if ($massControl->status == $massControl::STATUS_VALIDATED) { $displayButton = $onPhone ? '' : '' . ' ' . $langs->trans('Lock'); print '' . $displayButton . ''; @@ -148,6 +150,8 @@ $displayButton = $onPhone ? '' : '' . ' ' . $langs->trans('Save'); print '' . $displayButton . ''; } + } else { + print $langs->trans('MainControlMustBeDraftToEditSubControls'); } print '
'; diff --git a/langs/fr_FR/digiquali.lang b/langs/fr_FR/digiquali.lang index 61c20c60..6a41fbb4 100644 --- a/langs/fr_FR/digiquali.lang +++ b/langs/fr_FR/digiquali.lang @@ -356,7 +356,7 @@ ControlledObject = Objet contrôlé SubControlSheet = Modèle des sous-contrôles AddAnObjectToControl = Ajouter un objet à contrôler SubControlsMustBeLockedToSetVerdict = Les sous-contrôles doivent être verrouillés pour définir le verdict - +MainControlMustBeDraftToEditSubControls = Le contrôle principal doit être brouillon pour éditer les sous-contrôles # From 26fe14b6fccdb30707847e025e3dc00496d571a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20David?= Date: Tue, 27 Aug 2024 15:06:35 +0200 Subject: [PATCH 18/25] fix: show parent control --- langs/fr_FR/digiquali.lang | 2 ++ lib/digiquali_control.lib.php | 2 +- view/control/control_card.php | 10 ++++++++++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/langs/fr_FR/digiquali.lang b/langs/fr_FR/digiquali.lang index 6a41fbb4..a97c01dc 100644 --- a/langs/fr_FR/digiquali.lang +++ b/langs/fr_FR/digiquali.lang @@ -357,6 +357,8 @@ SubControlSheet = Modèle des sous-contrôles AddAnObjectToControl = Ajouter un objet à contrôler SubControlsMustBeLockedToSetVerdict = Les sous-contrôles doivent être verrouillés pour définir le verdict MainControlMustBeDraftToEditSubControls = Le contrôle principal doit être brouillon pour éditer les sous-contrôles +ParentControl = Contrôle parent + # diff --git a/lib/digiquali_control.lib.php b/lib/digiquali_control.lib.php index d1815940..cf083027 100644 --- a/lib/digiquali_control.lib.php +++ b/lib/digiquali_control.lib.php @@ -58,5 +58,5 @@ function control_prepare_head(Control $object): array $moreparam['documentType'] = 'ControlDocument'; $moreparam['attendantTableMode'] = 'simple'; - return saturne_object_prepare_head($object, $head, $moreparam, true); + return saturne_object_prepare_head($object, $head, $moreparam, $object->mass_control == 1); } diff --git a/view/control/control_card.php b/view/control/control_card.php index b42f71d9..74d0ddd7 100644 --- a/view/control/control_card.php +++ b/view/control/control_card.php @@ -90,6 +90,7 @@ $ecmfile = new EcmFiles($db); $ecmdir = new EcmDirectory($db); $category = new Categorie($db); +$parentControl = new Control($db); // View objects $form = new Form($db); @@ -655,6 +656,15 @@ print $form->editfieldval('NextControlDate', 'next_control_date', $object->next_control_date, $object, $permissiontoadd && $object->status < Control::STATUS_LOCKED, 'datepicker', '', null, null, "id=$object->id"); print ''; + if ($object->fk_control > 0) { + print ''; + print $langs->trans('ParentControl'); + print ''; + $parentControl->fetch($object->fk_control); + print $parentControl->getNomUrl(1); + print ''; + } + print ''; print $langs->trans('Verdict'); print ''; From 2521f83ffefd5f506f5199bff0a97ff3d6697591 Mon Sep 17 00:00:00 2001 From: Laurent Magnin Date: Thu, 15 Aug 2024 21:51:15 +0200 Subject: [PATCH 19/25] add: document management --- .../doc_controldocument_odt.modules.php | 206 ++++++++++++++---- core/modules/modDigiQuali.class.php | 3 +- core/tpl/digiquali_mass_control_list.tpl.php | 56 +---- .../template_masscontroldocument.odt | Bin 0 -> 28198 bytes langs/fr_FR/digiquali.lang | 2 + lib/digiquali_control.lib.php | 2 +- view/control/control_card.php | 3 + 7 files changed, 169 insertions(+), 103 deletions(-) create mode 100644 documents/doctemplates/controldocument/template_masscontroldocument.odt diff --git a/core/modules/digiquali/digiqualidocuments/controldocument/doc_controldocument_odt.modules.php b/core/modules/digiquali/digiqualidocuments/controldocument/doc_controldocument_odt.modules.php index aa7da830..5a0b2f8f 100644 --- a/core/modules/digiquali/digiqualidocuments/controldocument/doc_controldocument_odt.modules.php +++ b/core/modules/digiquali/digiqualidocuments/controldocument/doc_controldocument_odt.modules.php @@ -199,6 +199,7 @@ public function fillTagsLines(Odf $odfHandler, Translate $outputLangs, array $mo } $odfHandler->mergeSegment($listLines); } + } } @@ -289,6 +290,75 @@ public function fillTagsLines(Odf $odfHandler, Translate $outputLangs, array $mo } $odfHandler->mergeSegment($listLines); } + + // Get sub control list. + $foundTagForLines = 1; + try { + $listLines = $odfHandler->setSegment('subcontrols'); + + } catch (OdfException|OdfExceptionSegmentNotFound $e) { + // We may arrive here if tags for lines not present into template. + $foundTagForLines = 0; + $listLines = ''; + dol_syslog($e->getMessage()); + } + + // Loop on previous photos array. + if ($foundTagForLines) { + if($object->mass_control > 0) { + $linkableElements = get_sheet_linkable_objects(); + + if (is_array($linkableElements) && !empty($linkableElements)) { + foreach ($linkableElements as $linkableElement) { + $nameField[$linkableElement['link_name']] = $linkableElement['name_field']; + $objectInfo[$linkableElement['link_name']] = [ + 'title' => $linkableElement['langs'], + 'className' => $linkableElement['className'] + ]; + } + } + $subControlList = $object->fetchAll('', '', 0, 0, ['fk_control' => $object->id]); + if (is_array($subControlList) && !empty($subControlList)) { + foreach ($subControlList as $subControl) { + $subControl->fetchObjectLinked($subControl->fk_sheet, 'digiquali_sheet', null, '', 'OR', 1, 'position', 0); + $tmpArray['subcontrol_ref'] = $subControl->ref; + $tmpArray['subcontrol_note'] = $subControl->note_public; + $tmpArray['subcontrol_verdict'] = ($subControl->verdict == 1) ? 'OK' : 'KO'; + //get object linked + $subControl->fetchObjectLinked('', '', $subControl->id, 'digiquali_control', 'OR', 1, 'sourcetype', 0); + if (is_array($subControl->linkedObjectsIds) && !empty($subControl->linkedObjectsIds)) { + foreach($subControl->linkedObjectsIds as $linkedObjectType => $linkedObjectId) { + $className = $objectInfo[$linkedObjectType]['className']; + $linkedObject = new $className($this->db); + $linkedObjectId = array_shift($linkedObjectId); + $result = $linkedObject->fetch($linkedObjectId); + if ($result > 0) { + $objectNameField = $nameField[$linkedObjectType]; + if (strstr($objectNameField, ',')) { + $nameFields = explode(', ', $objectNameField); + if (is_array($nameFields) && !empty($nameFields)) { + foreach ($nameFields as $subnameField) { + $objectName = $linkedObject->$subnameField . chr(0x0A); + } + } + } else { + $objectName = $linkedObject->$objectNameField . chr(0x0A); + } + } + $tmpArray['subcontrol_object_label'] = rtrim($objectName, chr(0x0A)); + $tmpArray['subcontrol_object_ref'] = $linkedObject->ref; + } + + } + $this->setTmpArrayVars($tmpArray, $listLines, $outputLangs); + + } + } + } + $odfHandler->mergeSegment($listLines); + } + + } catch (OdfException $e) { $this->error = $e->getMessage(); dol_syslog($this->error, LOG_WARNING); @@ -317,38 +387,38 @@ public function write_file(SaturneDocuments $objectDocument, Translate $outputLa $object = $moreParam['object']; if (!empty($object->photo)) { - $path = $conf->digiquali->multidir_output[$conf->entity] . '/control/' . $object->ref . '/photos'; + $path = $conf->digiquali->multidir_output[$conf->entity] . '/control/' . $object->ref . '/photos'; $fileSmall = saturne_get_thumb_name($object->photo, getDolGlobalString('DIGIQUALI_DOCUMENT_MEDIA_VIGNETTE_USED')); - $image = $path . '/thumbs/' . $fileSmall; + $image = $path . '/thumbs/' . $fileSmall; $tmpArray['photoDefault'] = $image; } else { - $noPhoto = '/public/theme/common/nophoto.png'; + $noPhoto = '/public/theme/common/nophoto.png'; $tmpArray['photoDefault'] = DOL_DOCUMENT_ROOT . $noPhoto; } $outputLangs->loadLangs(['products', 'bills', 'orders', 'contracts', 'projects', 'companies']); - $sheet = new Sheet($this->db); - $usertmp = new User($this->db); + $sheet = new Sheet($this->db); + $usertmp = new User($this->db); $projecttmp = new Project($this->db); $sheet->fetch($object->fk_sheet); $usertmp->fetch($object->fk_user_controller); $projecttmp->fetch($object->projectid); - $object->fetchObjectLinked('', '', $object->id, 'digiquali_control', 'OR', 1, 'sourcetype', 0); - $linkableElements = get_sheet_linkable_objects(); - - if (is_array($linkableElements) && !empty($linkableElements)) { - foreach ($linkableElements as $linkableElement) { - $nameField[$linkableElement['link_name']] = $linkableElement['name_field']; - $objectInfo[$linkableElement['link_name']] = [ - 'title' => $linkableElement['langs'], - 'className' => $linkableElement['className'] - ]; - } - foreach ($object->linkedObjectsIds as $linkedObjectType => $linkedObjectsIds) { - $className = $objectInfo[$linkedObjectType]['className']; - $linkedObject = new $className($this->db); + $object->fetchObjectLinked('', '', $object->id, 'digiquali_control', 'OR', 1, 'sourcetype', 0); + $linkableElements = get_sheet_linkable_objects(); + + if (is_array($linkableElements) && !empty($linkableElements)) { + foreach ($linkableElements as $linkableElement) { + $nameField[$linkableElement['link_name']] = $linkableElement['name_field']; + $objectInfo[$linkableElement['link_name']] = [ + 'title' => $linkableElement['langs'], + 'className' => $linkableElement['className'] + ]; + } + foreach ($object->linkedObjectsIds as $linkedObjectType => $linkedObjectsIds) { + $className = $objectInfo[$linkedObjectType]['className']; + $linkedObject = new $className($this->db); $objectName = ''; if (is_array($object->linkedObjectsIds[$linkedObjectType]) && !empty($object->linkedObjectsIds[$linkedObjectType])) { foreach ($object->linkedObjectsIds[$linkedObjectType] as $linkedObjectId) { @@ -372,38 +442,78 @@ public function write_file(SaturneDocuments $objectDocument, Translate $outputLa $tmpArray['object_type'] = $outputLangs->transnoentities($objectInfo[$linkedObjectType]['title']) . ' : '; } - } - } - - $tmpArray['control_ref'] = $object->ref; - $tmpArray['object_label_ref'] = rtrim($tmpArray['object_label_ref'], chr(0x0A)); - $tmpArray['control_date'] = dol_print_date($object->date_creation, 'dayhour', 'tzuser'); - $tmpArray['project_label'] = $projecttmp->ref . ' - ' . $projecttmp->title; - $tmpArray['sheet_ref'] = $sheet->ref; - $tmpArray['sheet_label'] = $sheet->label; - - switch ($object->verdict) { - case 1: - $tmpArray['verdict'] = 'OK'; - break; - case 2: - $tmpArray['verdict'] = 'KO'; - break; - default: - $tmpArray['verdict'] = ''; - break; - } + } + if ($object->mass_control > 0) { + $subControlSheet = new Sheet($this->db); + $subControlList = $object->fetchAll('', '', 0, 0, ['fk_control' => $object->id]); + if (is_array($subControlList) && !empty($subControlList)) { + foreach ($subControlList as $subControl) { + $subControlSheet->fetch($subControl->fk_sheet); + $subControl->fetchObjectLinked('', '', $subControl->id, 'digiquali_control', 'OR', 1, 'sourcetype', 0); + if (is_array($subControl->linkedObjectsIds) && !empty($subControl->linkedObjectsIds)) { + foreach ($subControl->linkedObjectsIds as $linkedObjectType => $linkedObjectsIds) { + $className = $objectInfo[$linkedObjectType]['className']; + $linkedObject = new $className($this->db); + $objectName = ''; + if (is_array($subControl->linkedObjectsIds[$linkedObjectType]) && !empty($subControl->linkedObjectsIds[$linkedObjectType])) { + foreach ($subControl->linkedObjectsIds[$linkedObjectType] as $linkedObjectId) { + $result = $linkedObject->fetch($linkedObjectId); + if ($result > 0) { + $objectNameField = $nameField[$linkedObjectType]; + if (strstr($objectNameField, ',')) { + $nameFields = explode(', ', $objectNameField); + if (is_array($nameFields) && !empty($nameFields)) { + foreach ($nameFields as $subnameField) { + $objectName .= $linkedObject->$subnameField . chr(0x0A); + } + } + } else { + $objectName .= $linkedObject->$objectNameField . chr(0x0A); + } + } + } - $tmpArray['public_note'] = $object->note_public; + $tmpArray['object_label_ref'] .= $objectName; + $tmpArray['object_type'] = $outputLangs->transnoentities($objectInfo[$linkedObjectType]['title']) . ' : '; - $tmpArray['mycompany_name'] = $conf->global->MAIN_INFO_SOCIETE_NOM; - $tmpArray['mycompany_address'] = (!empty($conf->global->MAIN_INFO_SOCIETE_ADRESS) ? ' - ' . $conf->global->MAIN_INFO_SOCIETE_ADRESS : ''); - $tmpArray['mycompany_website'] = (!empty($conf->global->MAIN_INFO_SOCIETE_WEBSITE) ? ' - ' . $conf->global->MAIN_INFO_SOCIETE_WEBSITE : ''); - $tmpArray['mycompany_mail'] = (!empty($conf->global->MAIN_INFO_SOCIETE_MAIL) ? ' - ' . $conf->global->MAIN_INFO_SOCIETE_MAIL : ''); - $tmpArray['mycompany_phone'] = (!empty($conf->global->MAIN_INFO_SOCIETE_PHONE) ? ' - ' . $conf->global->MAIN_INFO_SOCIETE_PHONE : ''); + $tmpArray['subcontrol_sheet_ref'] = $subControlSheet->ref; + $tmpArray['subcontrol_sheet_label'] = $subControlSheet->label; + } + } + } + } + } + } + $tmpArray['control_ref'] = $object->ref; + $tmpArray['object_label_ref'] = rtrim($tmpArray['object_label_ref'], chr(0x0A)); + $tmpArray['control_date'] = dol_print_date($object->date_creation, 'dayhour', 'tzuser'); + $tmpArray['project_label'] = $projecttmp->ref . ' - ' . $projecttmp->title; + $tmpArray['sheet_ref'] = $sheet->ref; + $tmpArray['sheet_label'] = $sheet->label; + + switch ($object->verdict) { + case 1: + $tmpArray['verdict'] = 'OK'; + break; + case 2: + $tmpArray['verdict'] = 'KO'; + break; + default: + $tmpArray['verdict'] = ''; + break; + } + + $tmpArray['public_note'] = $object->note_public; - $moreParam['tmparray'] = $tmpArray; + $tmpArray['mycompany_name'] = $conf->global->MAIN_INFO_SOCIETE_NOM; + $tmpArray['mycompany_address'] = (!empty($conf->global->MAIN_INFO_SOCIETE_ADRESS) ? ' - ' . $conf->global->MAIN_INFO_SOCIETE_ADRESS : ''); + $tmpArray['mycompany_website'] = (!empty($conf->global->MAIN_INFO_SOCIETE_WEBSITE) ? ' - ' . $conf->global->MAIN_INFO_SOCIETE_WEBSITE : ''); + $tmpArray['mycompany_mail'] = (!empty($conf->global->MAIN_INFO_SOCIETE_MAIL) ? ' - ' . $conf->global->MAIN_INFO_SOCIETE_MAIL : ''); + $tmpArray['mycompany_phone'] = (!empty($conf->global->MAIN_INFO_SOCIETE_PHONE) ? ' - ' . $conf->global->MAIN_INFO_SOCIETE_PHONE : ''); - return parent::write_file($objectDocument, $outputLangs, $srcTemplatePath, $hideDetails, $hideDesc, $hideRef, $moreParam); + $moreParam['tmparray'] = $tmpArray; + + return parent::write_file($objectDocument, $outputLangs, $srcTemplatePath, $hideDetails, $hideDesc, $hideRef, $moreParam); + } } } diff --git a/core/modules/modDigiQuali.class.php b/core/modules/modDigiQuali.class.php index de812eb7..e3e9eb2b 100644 --- a/core/modules/modDigiQuali.class.php +++ b/core/modules/modDigiQuali.class.php @@ -235,7 +235,8 @@ public function __construct($db) $i++ => ['DIGIQUALI_CONTROLDOCUMENT_ADDON', 'chaine', 'mod_controldocument_standard', '', 0, 'current'], $i++ => ['DIGIQUALI_CONTROLDOCUMENT_ADDON_ODT_PATH', 'chaine', 'DOL_DOCUMENT_ROOT/custom/digiquali/documents/doctemplates/controldocument/', '', 0, 'current'], $i++ => ['DIGIQUALI_CONTROLDOCUMENT_CUSTOM_ADDON_ODT_PATH', 'chaine', 'DOL_DATA_ROOT' . (($conf->entity == 1 ) ? '/' : '/' . $conf->entity . '/') . 'ecm/digiquali/controldocument/', '', 0, 'current'], - $i++ => ['DIGIQUALI_CONTROLDOCUMENT_DEFAULT_MODEL', 'chaine', 'template_controldocument_photo' ,'', 0, 'current'], + $i++ => ['DIGIQUALI_CONTROLDOCUMENT_DEFAULT_MODEL', 'chaine', 'template_controldocument_photo' ,'', 0, 'current'], + $i++ => ['DIGIQUALI_MASSCONTROLDOCUMENT_DEFAULT_MODEL', 'chaine', 'template_masscontroldocument' ,'', 0, 'current'], $i++ => ['DIGIQUALI_DOCUMENT_MEDIA_VIGNETTE_USED', 'chaine', 'small','', 0, 'current'], //CONST SURVEY DOCUMENT diff --git a/core/tpl/digiquali_mass_control_list.tpl.php b/core/tpl/digiquali_mass_control_list.tpl.php index 1acd6cab..d5135f73 100644 --- a/core/tpl/digiquali_mass_control_list.tpl.php +++ b/core/tpl/digiquali_mass_control_list.tpl.php @@ -150,8 +150,10 @@ $displayButton = $onPhone ? '' : '' . ' ' . $langs->trans('Save'); print '' . $displayButton . ''; } - } else { + } else if ($massControl->status != $massControl::STATUS_LOCKED) { print $langs->trans('MainControlMustBeDraftToEditSubControls'); + } else { + print ''; } print '
'; @@ -182,56 +184,4 @@ $object->fetch($mainControlId); -if ($object->status == $object::STATUS_DRAFT) { - $controllableObjectType = array_key_first($object->linkedObjectsIds); - - foreach ($elementArray as $controllableElement) { - if ($controllableElement['link_name'] == $controllableObjectType) { - $controllableObject = $controllableElement; - } - } - $objectList = saturne_fetch_all_object_type($controllableObject['className']); - if (is_array($objectList) && !empty($objectList)) { - foreach ($objectList as $objectSingle) { - $objectName = ''; - $nameField = $controllableObject['name_field']; - if (strstr($nameField, ',')) { - $nameFields = explode(', ', $nameField); - if (is_array($nameFields) && !empty($nameFields)) { - foreach ($nameFields as $subnameField) { - $objectName .= $objectSingle->$subnameField . ' '; - } - } - } else { - $objectName = $objectSingle->$nameField; - } - $objectArray[$objectSingle->id] = $objectName; - } - } - - $objectPostName = $controllableObject['post_name']; - $objectPost = GETPOST($objectPostName) ?: (GETPOST('fromtype') == $controllableObject['link_name'] ? GETPOST('fromid') : ''); - - - print ''; - print ''; - print ''; -//add token - print ''; - print '
'; - print '
'; - print img_picto('', $controllableObject['picto']); - print $form->selectarray($objectPostName, $objectArray, [$objectPost], 1, 0, 0, '', 500, 0, dol_strlen(GETPOST('fromtype')) > 0 && GETPOST('fromtype') != $controllableObject['link_name'], $langs->transnoentities('AddAnObjectToControl')); - print '
'; - - print '
'; - print ($source != 'pwa' ? img_picto('', $sheet->picto, 'class="pictofixedwidth"') : '') . $sheet->selectSheetList(GETPOST('fk_sub_controls_sheet'), 'fk_sub_controls_sheet', 's.type = ' . '"' . $object->element . '" AND s.status = ' . Sheet::STATUS_LOCKED); - print '
'; - print '
'; - print ''; - print '
'; - print '
'; - print ''; -} - ?> diff --git a/documents/doctemplates/controldocument/template_masscontroldocument.odt b/documents/doctemplates/controldocument/template_masscontroldocument.odt new file mode 100644 index 0000000000000000000000000000000000000000..460e27277f34059647fa113b26e0e134a2954ae0 GIT binary patch literal 28198 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 RFoN6H#4T&CsLfsJzX0_3i@pE= literal 0 HcmV?d00001 diff --git a/langs/fr_FR/digiquali.lang b/langs/fr_FR/digiquali.lang index a97c01dc..0db914d2 100644 --- a/langs/fr_FR/digiquali.lang +++ b/langs/fr_FR/digiquali.lang @@ -390,6 +390,8 @@ controldocument = fiche de controle controldocument.odt = Fiche de Contrôle controldocument_photo.odt = Fiche de Contrôle avec photos controldocument_photo = fiche de controle avec photos +masscontroldocument = Fiche de Contrôle en masse +masscontroldocument.odt = Fiche de Contrôle en masse diff --git a/lib/digiquali_control.lib.php b/lib/digiquali_control.lib.php index cf083027..2468cd15 100644 --- a/lib/digiquali_control.lib.php +++ b/lib/digiquali_control.lib.php @@ -58,5 +58,5 @@ function control_prepare_head(Control $object): array $moreparam['documentType'] = 'ControlDocument'; $moreparam['attendantTableMode'] = 'simple'; - return saturne_object_prepare_head($object, $head, $moreparam, $object->mass_control == 1); + return saturne_object_prepare_head($object, $head, $moreparam, !($object->fk_control > 0)); } diff --git a/view/control/control_card.php b/view/control/control_card.php index 74d0ddd7..f825d9e3 100644 --- a/view/control/control_card.php +++ b/view/control/control_card.php @@ -1006,6 +1006,9 @@ $fileDir = $upload_dir . '/' . $dirFiles; $urlSource = $_SERVER['PHP_SELF'] . '?id=' . $object->id; + $conf->global->DIGIQUALI_CONTROLDOCUMENT_DEFAULT_MODEL = $object->mass_control > 0 ? $conf->global->DIGIQUALI_MASSCONTROLDOCUMENT_DEFAULT_MODEL : $conf->global->DIGIQUALI_CONTROLDOCUMENT_DEFAULT_MODEL; + + print saturne_show_documents('digiquali:' . ucfirst($object->element) . 'Document', $dirFiles, $fileDir, $urlSource, $permissiontoadd, $permissiontodelete, $conf->global->DIGIQUALI_CONTROLDOCUMENT_DEFAULT_MODEL, 1, 0, 0, 0, '', '', '', $langs->defaultlang, '', $object, 0, 'remove_file', (($object->status > CONTROL::STATUS_DRAFT) ? 1 : 0), $langs->trans('ObjectMustBeValidatedToGenerate', ucfirst($langs->transnoentities('The' . ucfirst($object->element))))); print '
'; From 6d41b054d0d6f3d6c6d2db34b83b7d07e59e11e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20David?= Date: Tue, 3 Sep 2024 10:33:34 +0200 Subject: [PATCH 20/25] fix: prevent saving sub control from disabling main control validate button --- js/modules/object.js | 2 +- view/control/control_card.php | 11 +++++------ 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/js/modules/object.js b/js/modules/object.js index 49812942..a2336226 100644 --- a/js/modules/object.js +++ b/js/modules/object.js @@ -168,7 +168,7 @@ window.digiquali.object.updateButtonsStatus = function(controlId) { $('#saveButton' + controlId).attr('onclick','$("#saveObject'+controlId+'").submit()'); $('.validateButton' + controlId).removeClass('butAction'); - $('#dialog-confirm-actionButtonValidate').removeAttr('id'); + $('#dialog-confirm-actionButtonValidate' + controlId).removeAttr('id'); $('.validateButton' + controlId).addClass('butActionRefused'); }; diff --git a/view/control/control_card.php b/view/control/control_card.php index f825d9e3..544034ae 100644 --- a/view/control/control_card.php +++ b/view/control/control_card.php @@ -573,7 +573,7 @@ } $questionConfirmInfo .= '

' . $langs->trans('ConfirmValidateControl') . ''; - $formConfirm .= $form->formconfirm($_SERVER['PHP_SELF'] . '?id=' . $object->id, $langs->trans('ValidateControl'), $questionConfirmInfo, 'confirm_validate', '', 'yes', 'actionButtonValidate', 250); + $formConfirm .= $form->formconfirm($_SERVER['PHP_SELF'] . '?id=' . $object->id, $langs->trans('ValidateControl'), $questionConfirmInfo, 'confirm_validate', '', 'yes', 'actionButtonValidate' . $object->id, 250); } // Draft confirmation @@ -865,7 +865,7 @@ // Validate $displayButton = $onPhone ? '' : '' . ' ' . $langs->trans('Validate'); if ($object->status == $object::STATUS_DRAFT && empty($cantValidateControl) && !$equipmentOutdated) { - print '' . $displayButton . ''; + print '' . $displayButton . ''; } else if ($cantValidateControl > 0) { print '' . $displayButton . ''; } else if ($equipmentOutdated) { @@ -988,14 +988,13 @@ print '
'; } + print '
'; + print ''; + if ($object->mass_control) { require_once __DIR__ . '/../../core/tpl/digiquali_mass_control_list.tpl.php'; } - - - print ''; - print ''; print dol_get_fiche_end(); if ($action != 'presend') { From 6691f093b48c96b48307a0a987d2a2f237469565 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20David?= Date: Tue, 3 Sep 2024 10:34:32 +0200 Subject: [PATCH 21/25] #1680 [Control] fix: loader on selected answer only --- core/tpl/digiquali_mass_control_list.tpl.php | 5 ++--- js/digiquali.min.js | 2 +- js/modules/object.js | 5 ++++- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/core/tpl/digiquali_mass_control_list.tpl.php b/core/tpl/digiquali_mass_control_list.tpl.php index d5135f73..db49a829 100644 --- a/core/tpl/digiquali_mass_control_list.tpl.php +++ b/core/tpl/digiquali_mass_control_list.tpl.php @@ -8,7 +8,6 @@ // Fetch the list of mass controls linked to the object $massControlList = $object->fetchAll('', '', 0, 0, ['fk_control' => $object->id]); -print ''; // Start the responsive table container print '
'; @@ -61,7 +60,7 @@ print '
'; print '
' . $massControl->getNomUrl(1) . '
'; print '
' . $massControl->getLibStatut(5) . '
'; - print '
'; + print '
'; foreach ($linkableElements as $linkableElementType => $linkableElement) { if ($linkableElement['conf'] > 0 && (!empty($object->linkedObjectsIds[$linkableElement['link_name']]))) { $className = $linkableElement['className']; @@ -70,7 +69,7 @@ $linkedObject->fetch($linkedObjectId); - print $linkedObject->getNomUrl(1); + print $linkedObject->getNomUrl(1, 0, '', 'maxwidth200'); if ($linkedObject->array_options['options_qc_frequency'] > 0) { print ' '; diff --git a/js/digiquali.min.js b/js/digiquali.min.js index dda1f32d..94f6a1b2 100644 --- a/js/digiquali.min.js +++ b/js/digiquali.min.js @@ -1 +1 @@ -window.digiquali||(window.digiquali={},window.digiquali.scriptsLoaded=!1),window.digiquali.scriptsLoaded||(window.digiquali.init=function(){window.digiquali.load_list_script()},window.digiquali.load_list_script=function(){if(!window.digiquali.scriptsLoaded){var t=void 0,o=void 0;for(t in window.digiquali)for(o in window.digiquali[t].init&&window.digiquali[t].init(),window.digiquali[t])window.digiquali[t]&&window.digiquali[t][o]&&window.digiquali[t][o].init&&window.digiquali[t][o].init();window.digiquali.scriptsLoaded=!0}},window.digiquali.refresh=function(){var t=void 0,o=void 0;for(t in window.digiquali)for(o in window.digiquali[t].refresh&&window.digiquali[t].refresh(),window.digiquali[t])window.digiquali[t]&&window.digiquali[t][o]&&window.digiquali[t][o].refresh&&window.digiquali[t][o].refresh()},$(document).ready(window.digiquali.init)),window.digiquali.control={},window.digiquali.control.init=function(){window.digiquali.control.event()},window.digiquali.control.event=function(){$(document).on("click",".validateButton",window.digiquali.control.getAnswerCounter),$(document).on("change","#fk_sheet",window.digiquali.control.showSelectObjectLinked),$(document).on("click",".clipboard-copy",window.digiquali.control.copyToClipboard),$(document).on("change","#productId",window.digiquali.control.refreshLotSelector),$(document).on("change",'[name="mass_control"]',window.digiquali.control.showSubControlsModel),$(document).on("click",".switch-public-control-view",window.digiquali.control.switchPublicControlView),$(document).on("click",".show-only-questions-with-no-answer",window.digiquali.control.showOnlyQuestionsWithNoAnswer),$(document).on("click",".photo-sheet-category",window.digiquali.control.getSheetCategoryID),$(document).on("click",".photo-sheet-sub-category",window.digiquali.control.getSheetSubCategoryID),$(document).on("click",".photo-sheet",window.digiquali.control.getSheetID),$(document).on("click",".saveSubControl:not(.butActionRefused)",window.digiquali.control.saveSubControl),$(document).on("click",".validateSubControl:not(.butActionRefused)",window.digiquali.control.validateSubControl),$(document).on("click",".reopenSubControl:not(.butActionRefused)",window.digiquali.control.reopenSubControl),$(document).on("click",".lockSubControl:not(.butActionRefused)",window.digiquali.control.lockSubControl),$(document).on("click",".saveSubControlAnswers",window.digiquali.control.saveSubControlAnswers),$(document).ready(function(){$(".verdict-box").on("click",function(t){$(this).hasClass("disabled")&&(t.stopPropagation(),t.preventDefault())})})},window.digiquali.control.getAnswerCounter=function(t){let o=0;jQuery("#tablelines").children().each(function(){0<$(this).find(".answer.active").length&&(o+=1)}),document.cookie="answerCounter="+o},window.digiquali.control.showSelectObjectLinked=function(){var t=$(this).val(),o=window.saturne.toolbox.getToken(),e=window.saturne.toolbox.getQuerySeparator(document.URL),e=document.URL+e+"fk_sheet="+t+"&token="+o;window.saturne.loader.display($(".linked-objects")),$.ajax({url:e,type:"POST",processData:!1,contentType:!1,success:function(t){$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.copyToClipboard=function(t){var o=$(".copy-to-clipboard").attr("value");navigator.clipboard.writeText(o).then(()=>{$(".clipboard-copy").animate({backgroundColor:"#59ed9c"},200,()=>{$(".clipboard-copy").attr("class","fas fa-check clipboard-copy"),$(this).tooltip({items:".clipboard-copy",content:$("#copyToClipboardTooltip").val()}),$(this).tooltip("open"),$(".clipboard-copy").attr("style","")})})},window.digiquali.control.refreshLotSelector=function(t){var o=document.getElementById("add_control_equipment"),o=new FormData(o),e=window.saturne.toolbox.getToken(),o=o.get("productId"),e=document.URL+"&token="+e;e+="&fk_product="+o,window.saturne.loader.display($(".product-lot")),$.ajax({url:e,type:"POST",processData:!1,contentType:!1,success:function(t){$(".product-lot").replaceWith($(t).find(".product-lot"))},error:function(){}})},window.digiquali.control.switchPublicControlView=function(t){var o=$(this).find(".public-control-view").val(),e=window.saturne.toolbox.getToken();let i=document.URL+"&token="+e;i+=0==o?"&show_control_list=1":"&show_last_control=1",window.saturne.loader.display($(".signature-container")),$.ajax({url:i,type:"POST",processData:!1,contentType:!1,success:function(t){$("#publicControlHistory").replaceWith($(t).find("#publicControlHistory"))},error:function(){}})},window.digiquali.control.showOnlyQuestionsWithNoAnswer=function(){var t=window.saturne.toolbox.getQuerySeparator(document.URL),o=window.saturne.toolbox.getToken();let e;e=$(this).hasClass("fa-toggle-off")?1:0,window.saturne.loader.display($(this)),$.ajax({url:document.URL+t+"action=show_only_questions_with_no_answer&token="+o,type:"POST",processData:!1,data:JSON.stringify({showOnlyQuestionsWithNoAnswer:e}),contentType:!1,success:function(t){$(".progress-info").replaceWith($(t).find(".progress-info")),$(".question-answer-container").replaceWith($(t).find(".question-answer-container"))},error:function(){}})},window.digiquali.control.getSheetCategoryID=function(){let o=$(this).attr("value");var t=window.saturne.toolbox.getToken(),e=window.saturne.toolbox.getQuerySeparator(document.URL);window.saturne.loader.display($(".sheet-images-container")),$.ajax({url:document.URL+e+"sheetCategoryID="+o+"&token="+t,type:"POST",processData:!1,contentType:!1,success:function(t){$(".sheet-images-container").replaceWith($(t).find(".sheet-images-container")),$(".photo-sheet-category[value="+o+"]").css("border","3px solid #0d8aff"),$(".photo-sheet-category[value="+o+"]").addClass("photo-sheet-category-active"),$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.getSheetSubCategoryID=function(){let o=$(".photo-sheet-category-active").attr("value"),e=$(this).attr("value");var t=window.saturne.toolbox.getToken(),i=window.saturne.toolbox.getQuerySeparator(document.URL);window.saturne.loader.display($(".sheet-images-container")),$.ajax({url:document.URL+i+"sheetCategoryID="+o+"&sheetSubCategoryID="+e+"&token="+t,type:"POST",processData:!1,contentType:!1,success:function(t){$(".sheet-images-container").replaceWith($(t).find(".sheet-images-container")),$(".photo-sheet-category[value="+o+"]").css("border","3px solid #0d8aff"),$(".photo-sheet-category[value="+o+"]").addClass("photo-sheet-category-active"),$(".photo-sheet-sub-category[value="+e+"]").css("border","3px solid #0d8aff"),$(".photo-sheet-sub-category[value="+e+"]").addClass("photo-sheet-sub-category-active"),$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.getSheetID=function(){let o=$(this).attr("data-object-id");var t=$(".photo-sheet-category-active").attr("value"),e=$(".photo-sheet-sub-category-active").attr("value"),i=window.saturne.toolbox.getToken(),n=window.saturne.toolbox.getQuerySeparator(document.URL);window.saturne.loader.display($(".sheet-elements")),window.saturne.loader.display($(".linked-objects")),$.ajax({url:document.URL+n+"fk_sheet="+o+"&sheetCategoryID="+t+"&sheetSubCategoryID="+e+"&token="+i,type:"POST",processData:!1,contentType:!1,success:function(t){$(".sheet-elements").replaceWith($(t).find(".sheet-elements")),$(".photo-sheet[data-object-id="+o+"]").css("border","3px solid #0d8aff"),$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.saveSubControl=function(){let a=$(this).attr("data-control-id"),s=$(this).attr("data-mass-control-id");var t=$(this).closest(".table-row").find(".note-public").val();let d=[];$(this).closest(".table-row").find(".select-answer").each(function(){var t=$(this).attr("data-questionid"),o=$(this).find(".question-answer").val(),e=$(this).closest(".wpeo-table").find(".question-comment").val();d[t]={answer:o,comment:e}});var o=$(this).closest(".table-row").find('.verdict-option input[type="radio"]:checked').val();let c=window.saturne.toolbox.getToken();window.saturne.loader.display($(this).closest(".table-row"));var e=document.URL.replace(/id=\d+/,"id="+a);$.ajax({url:e+"&token="+c+"&action=confirm_setVerdict&verdict="+o+"¬eControl="+t,type:"POST",processData:!1,contentType:!1,data:[],success:async function(t){for(var[o,e]of Object.entries(d)){var i=document.URL.replace(/id=\d+/,"id="+a);await window.digiquali.object.saveAnswer(o,e.answer,e.comment,i+"&action=save&token="+c)}var n=document.URL.replace(/id=\d+/,"id="+s);$.ajax({url:n,type:"GET",processData:!1,contentType:!1,data:[],success:function(t){$(".wpeo-loader").removeClass("wpeo-loader"),$(".sub-control-"+a).replaceWith($(t).find(".sub-control-"+a))}})},error:function(){}})},window.digiquali.control.lockSubControl=function(){let e=$(this).attr("data-control-id"),i=$(this).attr("data-mass-control-id");var t=window.saturne.toolbox.getToken(),o=(window.saturne.loader.display($(this).closest(".table-row")),document.URL.replace(/id=\d+/,"id="+e));$.ajax({url:o+"&token="+t+"&action=confirm_lock",type:"POST",processData:!1,contentType:!1,data:[],success:function(t){var o=document.URL.replace(/id=\d+/,"id="+i);$.ajax({url:o,type:"GET",processData:!1,contentType:!1,data:[],success:function(t){$(".sub-control-"+e).replaceWith($(t).find(".sub-control-"+e))}})},error:function(){}})},window.digiquali.control.validateSubControl=function(){let e=$(this).attr("data-control-id"),i=$(this).attr("data-mass-control-id");var t=window.saturne.toolbox.getToken(),o=(window.saturne.loader.display($(this).closest(".table-row")),document.URL.replace(/id=\d+/,"id="+e));$.ajax({url:o+"&token="+t+"&action=confirm_validate&confirm=yes",type:"POST",processData:!1,contentType:!1,data:[],success:function(t){var o=document.URL.replace(/id=\d+/,"id="+i);$.ajax({url:o,type:"GET",processData:!1,contentType:!1,data:[],success:function(t){$(".sub-control-"+e).replaceWith($(t).find(".sub-control-"+e))}})},error:function(){}})},window.digiquali.control.reopenSubControl=function(){let e=$(this).attr("data-control-id"),i=$(this).attr("data-mass-control-id");var t=window.saturne.toolbox.getToken(),o=(window.saturne.loader.display($(this).closest(".table-row")),document.URL.replace(/id=\d+/,"id="+e));$.ajax({url:o+"&token="+t+"&action=confirm_set_reopen&confirm=yes",type:"POST",processData:!1,contentType:!1,data:[],success:function(t){var o=document.URL.replace(/id=\d+/,"id="+i);$.ajax({url:o,type:"GET",processData:!1,contentType:!1,data:[],success:function(t){$(".sub-control-"+e).replaceWith($(t).find(".sub-control-"+e))}})},error:function(){}})},window.digiquali.control.saveSubControlAnswers=async function(){let o=$(this).attr("data-control-id");var t=$(this).attr("data-mass-control-id");window.saturne.loader.display($(this));let i=[];$(this).closest(".table-row").find(".select-answer").each(function(){var t=$(this).attr("data-questionid"),o=$(this).find(".question-answer").val(),e=$(this).closest(".wpeo-table").find(".question-comment").val();i[t]={answer:o,comment:e}});var e,n,a=window.saturne.toolbox.getToken();let s=document.URL.replace(/id=\d+/,"id="+o);for([e,n]of Object.entries(i))await window.digiquali.object.saveAnswer(e,n.answer,n.comment,s+"&action=save&token="+a);s=document.URL.replace(/id=\d+/,"id="+t),$.ajax({url:s,type:"GET",processData:!1,contentType:!1,data:[],success:function(t){$(".sub-control-"+o).replaceWith($(t).find(".sub-control-"+o)),$(".wpeo-loader").removeClass("wpeo-loader")}})},window.digiquali.control.showSubControlsModel=function(){$(".sub-controls-model").attr("style",""),$(".sub-controls-model").find(".select2-container").css("width","500px")},window.digiquali.object={},window.digiquali.object.init=function(){window.digiquali.object.event()},window.digiquali.object.event=function(){$(document).on("change",".object-table.linked-objects select",window.digiquali.object.disableOtherSelectors),$(document).on("click",".answer:not(.disable)",window.digiquali.object.selectAnswer),$(document).on("input",".input-answer:not(.disable)",window.digiquali.object.selectAnswer),$(document).on("keyup",".question-comment",window.digiquali.object.showCommentUnsaved),$(document).on("click",".verdict-box",window.digiquali.object.updateButtonsStatus)},window.digiquali.object.disableOtherSelectors=function(){var t=document.getElementById("createObjectForm"),t=new FormData(t),o=$(this).attr("id");0<=t.get(o)?$(".object-table.linked-objects").find("select").not("#"+o).attr("disabled",1):$(".object-table.linked-objects").find("select").not("#"+o).removeAttr("disabled")},window.digiquali.object.selectAnswer=function(){var o=$(this).closest(".select-answer.answer-cell"),t=o.attr("data-questionId"),e=$(this).closest(".table-id-"+t).attr("data-publicInterface"),i=$(this).closest(".table-id-"+t).attr("data-autoSave");let n="";var a=$(this).hasClass("answer")?$(this).attr("value"):$(this).val(),s=$(this).closest(".table-id-"+t).find("#comment"+t).val(),d=$(this).closest(".table-id-"+t).attr("data-control-id");if($(this).closest(".table-cell").hasClass("select-answer")){if($(this).hasClass("multiple-answers")){$(this).closest("span").toggleClass("active");let t=[];o.find(".multiple-answers.active").each(function(){t.push($(this).attr("value"))}),n=t}else $(this).closest(".table-cell").find(".answer.active").css("background-color","#fff"),$(this).closest(".table-cell").find("span").removeClass("active"),$(this).closest("span").addClass("active"),n=a;$(this).hasClass("active")?(o=$(this).closest(".answer-cell").find(".answer-color-"+$(this).attr("value")).val(),$(this).attr("style",$(this).attr("style")+" background:"+o+";")):$(this).attr("style",$(this).attr("style")+" background:#fff;"),$(this).closest(".answer-cell").find(".question-answer").val(n)}e||1!=i||$(this).hasClass("multiple-answers")?window.digiquali.object.updateButtonsStatus(d):window.digiquali.object.saveAnswer(t,n,s)},window.digiquali.object.showCommentUnsaved=function(){$(this).hasClass("show-comment-unsaved-message")||($(this).after('

Commentaire non enregistré

'),$(this).addClass("show-comment-unsaved-message")),window.digiquali.object.updateButtonsStatus()},window.digiquali.object.updateButtonsStatus=function(t){t=stringIsInteger(t)?t:$(this).attr("data-control-id"),$("#saveButton"+t).removeClass("butActionRefused"),$("#saveButton"+t).addClass("butAction"),$(".fa-circle").css("display","inline"),$("#saveButton"+t).attr("onclick",'$("#saveObject'+t+'").submit()'),$(".validateButton"+t).removeClass("butAction"),$("#dialog-confirm-actionButtonValidate").removeAttr("id"),$(".validateButton"+t).addClass("butActionRefused")},window.digiquali.object.saveAnswer=function(t,o,e,i=""){var n=window.saturne.toolbox.getToken(),a=window.saturne.toolbox.getQuerySeparator(document.URL),a=i||document.URL+a+"action=save&token="+n;window.saturne.loader.display($(".table-id-"+t)),$.ajax({url:a,type:"POST",data:JSON.stringify({autoSave:!0,questionId:t,answer:o,comment:e}),processData:!1,contentType:!1,success:function(t){i.length<1&&$(".fiche").replaceWith($(t).find(".fiche"))},error:function(){}})},window.digiquali.question={},window.digiquali.question.init=function(){window.digiquali.question.event()},window.digiquali.question.event=function(){$(document).on("click",".clicked-photo-preview",window.digiquali.question.previewPhoto),$(document).on("click",".ui-dialog-titlebar-close",window.digiquali.question.closePreviewPhoto),$(document).on("click","#show_photo",window.digiquali.question.showPhoto),$(document).on("click",".answer-picto .item, .wpeo-table .item",window.digiquali.question.selectAnswerPicto)},window.digiquali.question.previewPhoto=function(t){$(this).hasClass("photo-ok")?$("#dialogforpopup").attr("style","border: 10px solid #47e58e"):$(this).hasClass("photo-ko")&&$("#dialogforpopup").attr("style","border: 10px solid #e05353")},window.digiquali.question.closePreviewPhoto=function(t){$("#dialogforpopup").attr("style","border:")},window.digiquali.question.showPhoto=function(){var t=$(this).closest(".question-table").find(".linked-medias");t.hasClass("hidden")?(t.attr("style",""),t.removeClass("hidden")):(t.attr("style","display:none"),t.addClass("hidden"))},window.digiquali.question.selectAnswerPicto=function(t){var o=$(this).closest(".wpeo-dropdown");$(this).closest(".content").removeClass("active"),o.find(".dropdown-toggle span").hide(),o.find(".dropdown-toggle.button-picto").html($(this).closest(".wpeo-tooltip-event").html()),o.find(".input-hidden-picto").val($(this).data("label"))},window.digiquali.sheet={},window.digiquali.sheet.init=function(){window.digiquali.sheet.event()},window.digiquali.sheet.event=function(){}; \ No newline at end of file +window.digiquali||(window.digiquali={},window.digiquali.scriptsLoaded=!1),window.digiquali.scriptsLoaded||(window.digiquali.init=function(){window.digiquali.load_list_script()},window.digiquali.load_list_script=function(){if(!window.digiquali.scriptsLoaded){var t=void 0,o=void 0;for(t in window.digiquali)for(o in window.digiquali[t].init&&window.digiquali[t].init(),window.digiquali[t])window.digiquali[t]&&window.digiquali[t][o]&&window.digiquali[t][o].init&&window.digiquali[t][o].init();window.digiquali.scriptsLoaded=!0}},window.digiquali.refresh=function(){var t=void 0,o=void 0;for(t in window.digiquali)for(o in window.digiquali[t].refresh&&window.digiquali[t].refresh(),window.digiquali[t])window.digiquali[t]&&window.digiquali[t][o]&&window.digiquali[t][o].refresh&&window.digiquali[t][o].refresh()},$(document).ready(window.digiquali.init)),window.digiquali.control={},window.digiquali.control.init=function(){window.digiquali.control.event()},window.digiquali.control.event=function(){$(document).on("click",".validateButton",window.digiquali.control.getAnswerCounter),$(document).on("change","#fk_sheet",window.digiquali.control.showSelectObjectLinked),$(document).on("click",".clipboard-copy",window.digiquali.control.copyToClipboard),$(document).on("change","#productId",window.digiquali.control.refreshLotSelector),$(document).on("change",'[name="mass_control"]',window.digiquali.control.showSubControlsModel),$(document).on("click",".switch-public-control-view",window.digiquali.control.switchPublicControlView),$(document).on("click",".show-only-questions-with-no-answer",window.digiquali.control.showOnlyQuestionsWithNoAnswer),$(document).on("click",".photo-sheet-category",window.digiquali.control.getSheetCategoryID),$(document).on("click",".photo-sheet-sub-category",window.digiquali.control.getSheetSubCategoryID),$(document).on("click",".photo-sheet",window.digiquali.control.getSheetID),$(document).on("click",".saveSubControl:not(.butActionRefused)",window.digiquali.control.saveSubControl),$(document).on("click",".validateSubControl:not(.butActionRefused)",window.digiquali.control.validateSubControl),$(document).on("click",".reopenSubControl:not(.butActionRefused)",window.digiquali.control.reopenSubControl),$(document).on("click",".lockSubControl:not(.butActionRefused)",window.digiquali.control.lockSubControl),$(document).on("click",".saveSubControlAnswers",window.digiquali.control.saveSubControlAnswers),$(document).ready(function(){$(".verdict-box").on("click",function(t){$(this).hasClass("disabled")&&(t.stopPropagation(),t.preventDefault())})})},window.digiquali.control.getAnswerCounter=function(t){let o=0;jQuery("#tablelines").children().each(function(){0<$(this).find(".answer.active").length&&(o+=1)}),document.cookie="answerCounter="+o},window.digiquali.control.showSelectObjectLinked=function(){var t=$(this).val(),o=window.saturne.toolbox.getToken(),e=window.saturne.toolbox.getQuerySeparator(document.URL),e=document.URL+e+"fk_sheet="+t+"&token="+o;window.saturne.loader.display($(".linked-objects")),$.ajax({url:e,type:"POST",processData:!1,contentType:!1,success:function(t){$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.copyToClipboard=function(t){var o=$(".copy-to-clipboard").attr("value");navigator.clipboard.writeText(o).then(()=>{$(".clipboard-copy").animate({backgroundColor:"#59ed9c"},200,()=>{$(".clipboard-copy").attr("class","fas fa-check clipboard-copy"),$(this).tooltip({items:".clipboard-copy",content:$("#copyToClipboardTooltip").val()}),$(this).tooltip("open"),$(".clipboard-copy").attr("style","")})})},window.digiquali.control.refreshLotSelector=function(t){var o=document.getElementById("add_control_equipment"),o=new FormData(o),e=window.saturne.toolbox.getToken(),o=o.get("productId"),e=document.URL+"&token="+e;e+="&fk_product="+o,window.saturne.loader.display($(".product-lot")),$.ajax({url:e,type:"POST",processData:!1,contentType:!1,success:function(t){$(".product-lot").replaceWith($(t).find(".product-lot"))},error:function(){}})},window.digiquali.control.switchPublicControlView=function(t){var o=$(this).find(".public-control-view").val(),e=window.saturne.toolbox.getToken();let i=document.URL+"&token="+e;i+=0==o?"&show_control_list=1":"&show_last_control=1",window.saturne.loader.display($(".signature-container")),$.ajax({url:i,type:"POST",processData:!1,contentType:!1,success:function(t){$("#publicControlHistory").replaceWith($(t).find("#publicControlHistory"))},error:function(){}})},window.digiquali.control.showOnlyQuestionsWithNoAnswer=function(){var t=window.saturne.toolbox.getQuerySeparator(document.URL),o=window.saturne.toolbox.getToken();let e;e=$(this).hasClass("fa-toggle-off")?1:0,window.saturne.loader.display($(this)),$.ajax({url:document.URL+t+"action=show_only_questions_with_no_answer&token="+o,type:"POST",processData:!1,data:JSON.stringify({showOnlyQuestionsWithNoAnswer:e}),contentType:!1,success:function(t){$(".progress-info").replaceWith($(t).find(".progress-info")),$(".question-answer-container").replaceWith($(t).find(".question-answer-container"))},error:function(){}})},window.digiquali.control.getSheetCategoryID=function(){let o=$(this).attr("value");var t=window.saturne.toolbox.getToken(),e=window.saturne.toolbox.getQuerySeparator(document.URL);window.saturne.loader.display($(".sheet-images-container")),$.ajax({url:document.URL+e+"sheetCategoryID="+o+"&token="+t,type:"POST",processData:!1,contentType:!1,success:function(t){$(".sheet-images-container").replaceWith($(t).find(".sheet-images-container")),$(".photo-sheet-category[value="+o+"]").css("border","3px solid #0d8aff"),$(".photo-sheet-category[value="+o+"]").addClass("photo-sheet-category-active"),$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.getSheetSubCategoryID=function(){let o=$(".photo-sheet-category-active").attr("value"),e=$(this).attr("value");var t=window.saturne.toolbox.getToken(),i=window.saturne.toolbox.getQuerySeparator(document.URL);window.saturne.loader.display($(".sheet-images-container")),$.ajax({url:document.URL+i+"sheetCategoryID="+o+"&sheetSubCategoryID="+e+"&token="+t,type:"POST",processData:!1,contentType:!1,success:function(t){$(".sheet-images-container").replaceWith($(t).find(".sheet-images-container")),$(".photo-sheet-category[value="+o+"]").css("border","3px solid #0d8aff"),$(".photo-sheet-category[value="+o+"]").addClass("photo-sheet-category-active"),$(".photo-sheet-sub-category[value="+e+"]").css("border","3px solid #0d8aff"),$(".photo-sheet-sub-category[value="+e+"]").addClass("photo-sheet-sub-category-active"),$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.getSheetID=function(){let o=$(this).attr("data-object-id");var t=$(".photo-sheet-category-active").attr("value"),e=$(".photo-sheet-sub-category-active").attr("value"),i=window.saturne.toolbox.getToken(),n=window.saturne.toolbox.getQuerySeparator(document.URL);window.saturne.loader.display($(".sheet-elements")),window.saturne.loader.display($(".linked-objects")),$.ajax({url:document.URL+n+"fk_sheet="+o+"&sheetCategoryID="+t+"&sheetSubCategoryID="+e+"&token="+i,type:"POST",processData:!1,contentType:!1,success:function(t){$(".sheet-elements").replaceWith($(t).find(".sheet-elements")),$(".photo-sheet[data-object-id="+o+"]").css("border","3px solid #0d8aff"),$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.saveSubControl=function(){let a=$(this).attr("data-control-id"),s=$(this).attr("data-mass-control-id");var t=$(this).closest(".table-row").find(".note-public").val();let d=[];$(this).closest(".table-row").find(".select-answer").each(function(){var t=$(this).attr("data-questionid"),o=$(this).find(".question-answer").val(),e=$(this).closest(".wpeo-table").find(".question-comment").val();d[t]={answer:o,comment:e}});var o=$(this).closest(".table-row").find('.verdict-option input[type="radio"]:checked').val();let c=window.saturne.toolbox.getToken();window.saturne.loader.display($(this).closest(".table-row"));var e=document.URL.replace(/id=\d+/,"id="+a);$.ajax({url:e+"&token="+c+"&action=confirm_setVerdict&verdict="+o+"¬eControl="+t,type:"POST",processData:!1,contentType:!1,data:[],success:async function(t){for(var[o,e]of Object.entries(d)){var i=document.URL.replace(/id=\d+/,"id="+a);await window.digiquali.object.saveAnswer(o,e.answer,e.comment,i+"&action=save&token="+c)}var n=document.URL.replace(/id=\d+/,"id="+s);$.ajax({url:n,type:"GET",processData:!1,contentType:!1,data:[],success:function(t){$(".wpeo-loader").removeClass("wpeo-loader"),$(".sub-control-"+a).replaceWith($(t).find(".sub-control-"+a))}})},error:function(){}})},window.digiquali.control.lockSubControl=function(){let e=$(this).attr("data-control-id"),i=$(this).attr("data-mass-control-id");var t=window.saturne.toolbox.getToken(),o=(window.saturne.loader.display($(this).closest(".table-row")),document.URL.replace(/id=\d+/,"id="+e));$.ajax({url:o+"&token="+t+"&action=confirm_lock",type:"POST",processData:!1,contentType:!1,data:[],success:function(t){var o=document.URL.replace(/id=\d+/,"id="+i);$.ajax({url:o,type:"GET",processData:!1,contentType:!1,data:[],success:function(t){$(".sub-control-"+e).replaceWith($(t).find(".sub-control-"+e))}})},error:function(){}})},window.digiquali.control.validateSubControl=function(){let e=$(this).attr("data-control-id"),i=$(this).attr("data-mass-control-id");var t=window.saturne.toolbox.getToken(),o=(window.saturne.loader.display($(this).closest(".table-row")),document.URL.replace(/id=\d+/,"id="+e));$.ajax({url:o+"&token="+t+"&action=confirm_validate&confirm=yes",type:"POST",processData:!1,contentType:!1,data:[],success:function(t){var o=document.URL.replace(/id=\d+/,"id="+i);$.ajax({url:o,type:"GET",processData:!1,contentType:!1,data:[],success:function(t){$(".sub-control-"+e).replaceWith($(t).find(".sub-control-"+e))}})},error:function(){}})},window.digiquali.control.reopenSubControl=function(){let e=$(this).attr("data-control-id"),i=$(this).attr("data-mass-control-id");var t=window.saturne.toolbox.getToken(),o=(window.saturne.loader.display($(this).closest(".table-row")),document.URL.replace(/id=\d+/,"id="+e));$.ajax({url:o+"&token="+t+"&action=confirm_set_reopen&confirm=yes",type:"POST",processData:!1,contentType:!1,data:[],success:function(t){var o=document.URL.replace(/id=\d+/,"id="+i);$.ajax({url:o,type:"GET",processData:!1,contentType:!1,data:[],success:function(t){$(".sub-control-"+e).replaceWith($(t).find(".sub-control-"+e))}})},error:function(){}})},window.digiquali.control.saveSubControlAnswers=async function(){let o=$(this).attr("data-control-id");var t=$(this).attr("data-mass-control-id");window.saturne.loader.display($(this));let i=[];$(this).closest(".table-row").find(".select-answer").each(function(){var t=$(this).attr("data-questionid"),o=$(this).find(".question-answer").val(),e=$(this).closest(".wpeo-table").find(".question-comment").val();i[t]={answer:o,comment:e}});var e,n,a=window.saturne.toolbox.getToken();let s=document.URL.replace(/id=\d+/,"id="+o);for([e,n]of Object.entries(i))await window.digiquali.object.saveAnswer(e,n.answer,n.comment,s+"&action=save&token="+a);s=document.URL.replace(/id=\d+/,"id="+t),$.ajax({url:s,type:"GET",processData:!1,contentType:!1,data:[],success:function(t){$(".sub-control-"+o).replaceWith($(t).find(".sub-control-"+o)),$(".wpeo-loader").removeClass("wpeo-loader")}})},window.digiquali.control.showSubControlsModel=function(){$(".sub-controls-model").attr("style",""),$(".sub-controls-model").find(".select2-container").css("width","500px")},window.digiquali.object={},window.digiquali.object.init=function(){window.digiquali.object.event()},window.digiquali.object.event=function(){$(document).on("change",".object-table.linked-objects select",window.digiquali.object.disableOtherSelectors),$(document).on("click",".answer:not(.disable)",window.digiquali.object.selectAnswer),$(document).on("input",".input-answer:not(.disable)",window.digiquali.object.selectAnswer),$(document).on("keyup",".question-comment",window.digiquali.object.showCommentUnsaved),$(document).on("click",".verdict-box",window.digiquali.object.updateButtonsStatus)},window.digiquali.object.disableOtherSelectors=function(){var t=document.getElementById("createObjectForm"),t=new FormData(t),o=$(this).attr("id");0<=t.get(o)?$(".object-table.linked-objects").find("select").not("#"+o).attr("disabled",1):$(".object-table.linked-objects").find("select").not("#"+o).removeAttr("disabled")},window.digiquali.object.selectAnswer=function(){var o=$(this).closest(".select-answer.answer-cell"),t=o.attr("data-questionId"),e=$(this).closest(".table-id-"+t).attr("data-publicInterface"),i=$(this).closest(".table-id-"+t).attr("data-autoSave");let n="";var a=$(this).hasClass("answer")?$(this).attr("value"):$(this).val(),s=$(this).closest(".table-id-"+t).find("#comment"+t).val(),d=$(this).closest(".table-id-"+t).attr("data-control-id");if($(this).closest(".table-cell").hasClass("select-answer")){if($(this).hasClass("multiple-answers")){$(this).closest("span").toggleClass("active");let t=[];o.find(".multiple-answers.active").each(function(){t.push($(this).attr("value"))}),n=t}else $(this).closest(".table-cell").find(".answer.active").css("background-color","#fff"),$(this).closest(".table-cell").find("span").removeClass("active"),$(this).closest("span").addClass("active"),n=a;$(this).hasClass("active")?(o=$(this).closest(".answer-cell").find(".answer-color-"+$(this).attr("value")).val(),$(this).attr("style",$(this).attr("style")+" background:"+o+";")):$(this).attr("style",$(this).attr("style")+" background:#fff;"),$(this).closest(".answer-cell").find(".question-answer").val(n)}e||1!=i||$(this).hasClass("multiple-answers")?window.digiquali.object.updateButtonsStatus(d):window.digiquali.object.saveAnswer(t,n,s)},window.digiquali.object.showCommentUnsaved=function(){$(this).hasClass("show-comment-unsaved-message")||($(this).after('

Commentaire non enregistré

'),$(this).addClass("show-comment-unsaved-message")),window.digiquali.object.updateButtonsStatus()},window.digiquali.object.updateButtonsStatus=function(t){t=stringIsInteger(t)?t:$(this).attr("data-control-id"),$("#saveButton"+t).removeClass("butActionRefused"),$("#saveButton"+t).addClass("butAction"),$(".fa-circle").css("display","inline"),$("#saveButton"+t).attr("onclick",'$("#saveObject'+t+'").submit()'),$(".validateButton"+t).removeClass("butAction"),$("#dialog-confirm-actionButtonValidate"+t).removeAttr("id"),$(".validateButton"+t).addClass("butActionRefused")},window.digiquali.object.saveAnswer=function(t,o,e,i=""){var n=window.saturne.toolbox.getToken(),a=window.saturne.toolbox.getQuerySeparator(document.URL),a=i||document.URL+a+"action=save&token="+n;i.length<1&&window.saturne.loader.display($(".table-id-"+t)),$.ajax({url:a,type:"POST",data:JSON.stringify({autoSave:!0,questionId:t,answer:o,comment:e}),processData:!1,contentType:!1,success:function(t){i.length<1&&$(".fiche").replaceWith($(t).find(".fiche"))},error:function(){}})},window.digiquali.question={},window.digiquali.question.init=function(){window.digiquali.question.event()},window.digiquali.question.event=function(){$(document).on("click",".clicked-photo-preview",window.digiquali.question.previewPhoto),$(document).on("click",".ui-dialog-titlebar-close",window.digiquali.question.closePreviewPhoto),$(document).on("click","#show_photo",window.digiquali.question.showPhoto),$(document).on("click",".answer-picto .item, .wpeo-table .item",window.digiquali.question.selectAnswerPicto)},window.digiquali.question.previewPhoto=function(t){$(this).hasClass("photo-ok")?$("#dialogforpopup").attr("style","border: 10px solid #47e58e"):$(this).hasClass("photo-ko")&&$("#dialogforpopup").attr("style","border: 10px solid #e05353")},window.digiquali.question.closePreviewPhoto=function(t){$("#dialogforpopup").attr("style","border:")},window.digiquali.question.showPhoto=function(){var t=$(this).closest(".question-table").find(".linked-medias");t.hasClass("hidden")?(t.attr("style",""),t.removeClass("hidden")):(t.attr("style","display:none"),t.addClass("hidden"))},window.digiquali.question.selectAnswerPicto=function(t){var o=$(this).closest(".wpeo-dropdown");$(this).closest(".content").removeClass("active"),o.find(".dropdown-toggle span").hide(),o.find(".dropdown-toggle.button-picto").html($(this).closest(".wpeo-tooltip-event").html()),o.find(".input-hidden-picto").val($(this).data("label"))},window.digiquali.sheet={},window.digiquali.sheet.init=function(){window.digiquali.sheet.event()},window.digiquali.sheet.event=function(){}; \ No newline at end of file diff --git a/js/modules/object.js b/js/modules/object.js index a2336226..843fa36b 100644 --- a/js/modules/object.js +++ b/js/modules/object.js @@ -188,8 +188,11 @@ window.digiquali.object.saveAnswer = function(questionId, answer, comment, custo let token = window.saturne.toolbox.getToken(); let querySeparator = window.saturne.toolbox.getQuerySeparator(document.URL); let url = customUrl ? customUrl : document.URL + querySeparator + 'action=save&token=' + token - window.saturne.loader.display($('.table-id-' + questionId)); + if (customUrl.length < 1) { + window.saturne.loader.display($('.table-id-' + questionId)); + } + $.ajax({ url: url, type: 'POST', From 5bdd7f63333cf4816ff1d35bb9a7b85d0bc12863 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20David?= Date: Tue, 3 Sep 2024 11:03:32 +0200 Subject: [PATCH 22/25] #1680 [Control] fix: change variables from masscontrol to maincontrol & subcontrol --- core/tpl/digiquali_mass_control_list.tpl.php | 70 ++++++++++---------- js/digiquali.min.js | 2 +- js/modules/control.js | 20 +++--- js/modules/object.js | 2 +- langs/fr_FR/digiquali.lang | 2 +- 5 files changed, 48 insertions(+), 48 deletions(-) diff --git a/core/tpl/digiquali_mass_control_list.tpl.php b/core/tpl/digiquali_mass_control_list.tpl.php index db49a829..442e1b2e 100644 --- a/core/tpl/digiquali_mass_control_list.tpl.php +++ b/core/tpl/digiquali_mass_control_list.tpl.php @@ -7,7 +7,7 @@ */ // Fetch the list of mass controls linked to the object -$massControlList = $object->fetchAll('', '', 0, 0, ['fk_control' => $object->id]); +$subControlList = $object->fetchAll('', '', 0, 0, ['fk_control' => $object->id]); // Start the responsive table container print '
'; @@ -43,23 +43,23 @@ $mainControl = $object; // Check if there are any mass controls and print them -if (is_array($massControlList) && !empty($massControlList)) { - foreach ($massControlList as $massControl) { - $answersDisabled = $massControl->status == $massControl::STATUS_LOCKED || $mainControl->status >= $mainControl::STATUS_VALIDATED; - $object = $massControl; - $sheet->fetch($massControl->fk_sheet); +if (is_array($subControlList) && !empty($subControlList)) { + foreach ($subControlList as $subControl) { + $answersDisabled = $subControl->status == $subControl::STATUS_LOCKED || $mainControl->status >= $mainControl::STATUS_VALIDATED; + $object = $subControl; + $sheet->fetch($subControl->fk_sheet); $sheet->fetch_optionals(); $sheet->fetchObjectLinked($object->fk_sheet, 'digiquali_' . $sheet->element); - $massControl->fetch_optionals(); - $massControl->fetchLines(); - $massControl->fetchObjectLinked('', '', $massControl->id, 'digiquali_control', 'OR', 1, 'sourcetype', 0); + $subControl->fetch_optionals(); + $subControl->fetchLines(); + $subControl->fetchObjectLinked('', '', $subControl->id, 'digiquali_control', 'OR', 1, 'sourcetype', 0); //get object controlled $linkableElements = get_sheet_linkable_objects(); - print '
'; - print '
' . $massControl->getNomUrl(1) . '
'; - print '
' . $massControl->getLibStatut(5) . '
'; + print '
'; + print '
' . $subControl->getNomUrl(1) . '
'; + print '
' . $subControl->getLibStatut(5) . '
'; print '
'; foreach ($linkableElements as $linkableElementType => $linkableElement) { if ($linkableElement['conf'] > 0 && (!empty($object->linkedObjectsIds[$linkableElement['link_name']]))) { @@ -88,18 +88,18 @@ print '
'; print '
'; print ''; print ''; print '
'; print '
'; // Note Control section displaying the public note - print '
'; + print '
'; print '
'; $questionCounter = 0; @@ -108,28 +108,28 @@ } $answerCounter = 0; - if (is_array($massControl->lines) && !empty($massControl->lines)) { - foreach ($massControl->lines as $massControlLine) { - if (dol_strlen($massControlLine->answer) > 0) { + if (is_array($subControl->lines) && !empty($subControl->lines)) { + foreach ($subControl->lines as $subControlLine) { + if (dol_strlen($subControlLine->answer) > 0) { $answerCounter++; } } } //affiche le nombre de questions répondues print '' . $answerCounter . '/' . $questionCounter . ''; - print ''; print '
'; $documenturl = DOL_URL_ROOT . '/document.php'; //retrieve last document of the control print '
'; - $documentList = dol_dir_list($conf->digiquali->multidir_output[$massControl->entity ?: 1] . '/controldocument/' . $massControl->ref . '/'); + $documentList = dol_dir_list($conf->digiquali->multidir_output[$subControl->entity ?: 1] . '/controldocument/' . $subControl->ref . '/'); if (!empty($documentList)) { $lastDocument = $documentList[count($documentList) - 1]; $lastDocumentPath = $lastDocument['relativename']; - print ''; + print ''; print ''; print ''; } @@ -137,19 +137,19 @@ print '
'; print '
'; if (!$answersDisabled) { - if ($massControl->status == $massControl::STATUS_VALIDATED) { + if ($subControl->status == $subControl::STATUS_VALIDATED) { $displayButton = $onPhone ? '' : '' . ' ' . $langs->trans('Lock'); - print '' . $displayButton . ''; + print '' . $displayButton . ''; $displayButton = $onPhone ? '' : '' . ' ' . $langs->trans('ReOpenDoli'); - print '' . $displayButton . ''; + print '' . $displayButton . ''; } else { - $validateButtonDisabled = !(dol_strlen($massControl->verdict) && $answerCounter == $questionCounter); + $validateButtonDisabled = !(dol_strlen($subControl->verdict) && $answerCounter == $questionCounter); $displayButton = $onPhone ? '' : '' . ' ' . $langs->trans('Validate'); - print '' . $displayButton . ''; + print '' . $displayButton . ''; $displayButton = $onPhone ? '' : '' . ' ' . $langs->trans('Save'); - print '' . $displayButton . ''; + print '' . $displayButton . ''; } - } else if ($massControl->status != $massControl::STATUS_LOCKED) { + } else if ($subControl->status != $subControl::STATUS_LOCKED) { print $langs->trans('MainControlMustBeDraftToEditSubControls'); } else { print ''; @@ -157,10 +157,10 @@ print '
'; - print '
'; + print '
'; print ''; @@ -177,7 +177,7 @@ } else { // If no mass controls are found, display a message print '
'; - print '
' . $langs->trans('NoMassControlFound') . '
'; + print '
' . $langs->trans('NoSubControlFound') . '
'; print '
'; } diff --git a/js/digiquali.min.js b/js/digiquali.min.js index 94f6a1b2..6ed68048 100644 --- a/js/digiquali.min.js +++ b/js/digiquali.min.js @@ -1 +1 @@ -window.digiquali||(window.digiquali={},window.digiquali.scriptsLoaded=!1),window.digiquali.scriptsLoaded||(window.digiquali.init=function(){window.digiquali.load_list_script()},window.digiquali.load_list_script=function(){if(!window.digiquali.scriptsLoaded){var t=void 0,o=void 0;for(t in window.digiquali)for(o in window.digiquali[t].init&&window.digiquali[t].init(),window.digiquali[t])window.digiquali[t]&&window.digiquali[t][o]&&window.digiquali[t][o].init&&window.digiquali[t][o].init();window.digiquali.scriptsLoaded=!0}},window.digiquali.refresh=function(){var t=void 0,o=void 0;for(t in window.digiquali)for(o in window.digiquali[t].refresh&&window.digiquali[t].refresh(),window.digiquali[t])window.digiquali[t]&&window.digiquali[t][o]&&window.digiquali[t][o].refresh&&window.digiquali[t][o].refresh()},$(document).ready(window.digiquali.init)),window.digiquali.control={},window.digiquali.control.init=function(){window.digiquali.control.event()},window.digiquali.control.event=function(){$(document).on("click",".validateButton",window.digiquali.control.getAnswerCounter),$(document).on("change","#fk_sheet",window.digiquali.control.showSelectObjectLinked),$(document).on("click",".clipboard-copy",window.digiquali.control.copyToClipboard),$(document).on("change","#productId",window.digiquali.control.refreshLotSelector),$(document).on("change",'[name="mass_control"]',window.digiquali.control.showSubControlsModel),$(document).on("click",".switch-public-control-view",window.digiquali.control.switchPublicControlView),$(document).on("click",".show-only-questions-with-no-answer",window.digiquali.control.showOnlyQuestionsWithNoAnswer),$(document).on("click",".photo-sheet-category",window.digiquali.control.getSheetCategoryID),$(document).on("click",".photo-sheet-sub-category",window.digiquali.control.getSheetSubCategoryID),$(document).on("click",".photo-sheet",window.digiquali.control.getSheetID),$(document).on("click",".saveSubControl:not(.butActionRefused)",window.digiquali.control.saveSubControl),$(document).on("click",".validateSubControl:not(.butActionRefused)",window.digiquali.control.validateSubControl),$(document).on("click",".reopenSubControl:not(.butActionRefused)",window.digiquali.control.reopenSubControl),$(document).on("click",".lockSubControl:not(.butActionRefused)",window.digiquali.control.lockSubControl),$(document).on("click",".saveSubControlAnswers",window.digiquali.control.saveSubControlAnswers),$(document).ready(function(){$(".verdict-box").on("click",function(t){$(this).hasClass("disabled")&&(t.stopPropagation(),t.preventDefault())})})},window.digiquali.control.getAnswerCounter=function(t){let o=0;jQuery("#tablelines").children().each(function(){0<$(this).find(".answer.active").length&&(o+=1)}),document.cookie="answerCounter="+o},window.digiquali.control.showSelectObjectLinked=function(){var t=$(this).val(),o=window.saturne.toolbox.getToken(),e=window.saturne.toolbox.getQuerySeparator(document.URL),e=document.URL+e+"fk_sheet="+t+"&token="+o;window.saturne.loader.display($(".linked-objects")),$.ajax({url:e,type:"POST",processData:!1,contentType:!1,success:function(t){$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.copyToClipboard=function(t){var o=$(".copy-to-clipboard").attr("value");navigator.clipboard.writeText(o).then(()=>{$(".clipboard-copy").animate({backgroundColor:"#59ed9c"},200,()=>{$(".clipboard-copy").attr("class","fas fa-check clipboard-copy"),$(this).tooltip({items:".clipboard-copy",content:$("#copyToClipboardTooltip").val()}),$(this).tooltip("open"),$(".clipboard-copy").attr("style","")})})},window.digiquali.control.refreshLotSelector=function(t){var o=document.getElementById("add_control_equipment"),o=new FormData(o),e=window.saturne.toolbox.getToken(),o=o.get("productId"),e=document.URL+"&token="+e;e+="&fk_product="+o,window.saturne.loader.display($(".product-lot")),$.ajax({url:e,type:"POST",processData:!1,contentType:!1,success:function(t){$(".product-lot").replaceWith($(t).find(".product-lot"))},error:function(){}})},window.digiquali.control.switchPublicControlView=function(t){var o=$(this).find(".public-control-view").val(),e=window.saturne.toolbox.getToken();let i=document.URL+"&token="+e;i+=0==o?"&show_control_list=1":"&show_last_control=1",window.saturne.loader.display($(".signature-container")),$.ajax({url:i,type:"POST",processData:!1,contentType:!1,success:function(t){$("#publicControlHistory").replaceWith($(t).find("#publicControlHistory"))},error:function(){}})},window.digiquali.control.showOnlyQuestionsWithNoAnswer=function(){var t=window.saturne.toolbox.getQuerySeparator(document.URL),o=window.saturne.toolbox.getToken();let e;e=$(this).hasClass("fa-toggle-off")?1:0,window.saturne.loader.display($(this)),$.ajax({url:document.URL+t+"action=show_only_questions_with_no_answer&token="+o,type:"POST",processData:!1,data:JSON.stringify({showOnlyQuestionsWithNoAnswer:e}),contentType:!1,success:function(t){$(".progress-info").replaceWith($(t).find(".progress-info")),$(".question-answer-container").replaceWith($(t).find(".question-answer-container"))},error:function(){}})},window.digiquali.control.getSheetCategoryID=function(){let o=$(this).attr("value");var t=window.saturne.toolbox.getToken(),e=window.saturne.toolbox.getQuerySeparator(document.URL);window.saturne.loader.display($(".sheet-images-container")),$.ajax({url:document.URL+e+"sheetCategoryID="+o+"&token="+t,type:"POST",processData:!1,contentType:!1,success:function(t){$(".sheet-images-container").replaceWith($(t).find(".sheet-images-container")),$(".photo-sheet-category[value="+o+"]").css("border","3px solid #0d8aff"),$(".photo-sheet-category[value="+o+"]").addClass("photo-sheet-category-active"),$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.getSheetSubCategoryID=function(){let o=$(".photo-sheet-category-active").attr("value"),e=$(this).attr("value");var t=window.saturne.toolbox.getToken(),i=window.saturne.toolbox.getQuerySeparator(document.URL);window.saturne.loader.display($(".sheet-images-container")),$.ajax({url:document.URL+i+"sheetCategoryID="+o+"&sheetSubCategoryID="+e+"&token="+t,type:"POST",processData:!1,contentType:!1,success:function(t){$(".sheet-images-container").replaceWith($(t).find(".sheet-images-container")),$(".photo-sheet-category[value="+o+"]").css("border","3px solid #0d8aff"),$(".photo-sheet-category[value="+o+"]").addClass("photo-sheet-category-active"),$(".photo-sheet-sub-category[value="+e+"]").css("border","3px solid #0d8aff"),$(".photo-sheet-sub-category[value="+e+"]").addClass("photo-sheet-sub-category-active"),$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.getSheetID=function(){let o=$(this).attr("data-object-id");var t=$(".photo-sheet-category-active").attr("value"),e=$(".photo-sheet-sub-category-active").attr("value"),i=window.saturne.toolbox.getToken(),n=window.saturne.toolbox.getQuerySeparator(document.URL);window.saturne.loader.display($(".sheet-elements")),window.saturne.loader.display($(".linked-objects")),$.ajax({url:document.URL+n+"fk_sheet="+o+"&sheetCategoryID="+t+"&sheetSubCategoryID="+e+"&token="+i,type:"POST",processData:!1,contentType:!1,success:function(t){$(".sheet-elements").replaceWith($(t).find(".sheet-elements")),$(".photo-sheet[data-object-id="+o+"]").css("border","3px solid #0d8aff"),$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.saveSubControl=function(){let a=$(this).attr("data-control-id"),s=$(this).attr("data-mass-control-id");var t=$(this).closest(".table-row").find(".note-public").val();let d=[];$(this).closest(".table-row").find(".select-answer").each(function(){var t=$(this).attr("data-questionid"),o=$(this).find(".question-answer").val(),e=$(this).closest(".wpeo-table").find(".question-comment").val();d[t]={answer:o,comment:e}});var o=$(this).closest(".table-row").find('.verdict-option input[type="radio"]:checked').val();let c=window.saturne.toolbox.getToken();window.saturne.loader.display($(this).closest(".table-row"));var e=document.URL.replace(/id=\d+/,"id="+a);$.ajax({url:e+"&token="+c+"&action=confirm_setVerdict&verdict="+o+"¬eControl="+t,type:"POST",processData:!1,contentType:!1,data:[],success:async function(t){for(var[o,e]of Object.entries(d)){var i=document.URL.replace(/id=\d+/,"id="+a);await window.digiquali.object.saveAnswer(o,e.answer,e.comment,i+"&action=save&token="+c)}var n=document.URL.replace(/id=\d+/,"id="+s);$.ajax({url:n,type:"GET",processData:!1,contentType:!1,data:[],success:function(t){$(".wpeo-loader").removeClass("wpeo-loader"),$(".sub-control-"+a).replaceWith($(t).find(".sub-control-"+a))}})},error:function(){}})},window.digiquali.control.lockSubControl=function(){let e=$(this).attr("data-control-id"),i=$(this).attr("data-mass-control-id");var t=window.saturne.toolbox.getToken(),o=(window.saturne.loader.display($(this).closest(".table-row")),document.URL.replace(/id=\d+/,"id="+e));$.ajax({url:o+"&token="+t+"&action=confirm_lock",type:"POST",processData:!1,contentType:!1,data:[],success:function(t){var o=document.URL.replace(/id=\d+/,"id="+i);$.ajax({url:o,type:"GET",processData:!1,contentType:!1,data:[],success:function(t){$(".sub-control-"+e).replaceWith($(t).find(".sub-control-"+e))}})},error:function(){}})},window.digiquali.control.validateSubControl=function(){let e=$(this).attr("data-control-id"),i=$(this).attr("data-mass-control-id");var t=window.saturne.toolbox.getToken(),o=(window.saturne.loader.display($(this).closest(".table-row")),document.URL.replace(/id=\d+/,"id="+e));$.ajax({url:o+"&token="+t+"&action=confirm_validate&confirm=yes",type:"POST",processData:!1,contentType:!1,data:[],success:function(t){var o=document.URL.replace(/id=\d+/,"id="+i);$.ajax({url:o,type:"GET",processData:!1,contentType:!1,data:[],success:function(t){$(".sub-control-"+e).replaceWith($(t).find(".sub-control-"+e))}})},error:function(){}})},window.digiquali.control.reopenSubControl=function(){let e=$(this).attr("data-control-id"),i=$(this).attr("data-mass-control-id");var t=window.saturne.toolbox.getToken(),o=(window.saturne.loader.display($(this).closest(".table-row")),document.URL.replace(/id=\d+/,"id="+e));$.ajax({url:o+"&token="+t+"&action=confirm_set_reopen&confirm=yes",type:"POST",processData:!1,contentType:!1,data:[],success:function(t){var o=document.URL.replace(/id=\d+/,"id="+i);$.ajax({url:o,type:"GET",processData:!1,contentType:!1,data:[],success:function(t){$(".sub-control-"+e).replaceWith($(t).find(".sub-control-"+e))}})},error:function(){}})},window.digiquali.control.saveSubControlAnswers=async function(){let o=$(this).attr("data-control-id");var t=$(this).attr("data-mass-control-id");window.saturne.loader.display($(this));let i=[];$(this).closest(".table-row").find(".select-answer").each(function(){var t=$(this).attr("data-questionid"),o=$(this).find(".question-answer").val(),e=$(this).closest(".wpeo-table").find(".question-comment").val();i[t]={answer:o,comment:e}});var e,n,a=window.saturne.toolbox.getToken();let s=document.URL.replace(/id=\d+/,"id="+o);for([e,n]of Object.entries(i))await window.digiquali.object.saveAnswer(e,n.answer,n.comment,s+"&action=save&token="+a);s=document.URL.replace(/id=\d+/,"id="+t),$.ajax({url:s,type:"GET",processData:!1,contentType:!1,data:[],success:function(t){$(".sub-control-"+o).replaceWith($(t).find(".sub-control-"+o)),$(".wpeo-loader").removeClass("wpeo-loader")}})},window.digiquali.control.showSubControlsModel=function(){$(".sub-controls-model").attr("style",""),$(".sub-controls-model").find(".select2-container").css("width","500px")},window.digiquali.object={},window.digiquali.object.init=function(){window.digiquali.object.event()},window.digiquali.object.event=function(){$(document).on("change",".object-table.linked-objects select",window.digiquali.object.disableOtherSelectors),$(document).on("click",".answer:not(.disable)",window.digiquali.object.selectAnswer),$(document).on("input",".input-answer:not(.disable)",window.digiquali.object.selectAnswer),$(document).on("keyup",".question-comment",window.digiquali.object.showCommentUnsaved),$(document).on("click",".verdict-box",window.digiquali.object.updateButtonsStatus)},window.digiquali.object.disableOtherSelectors=function(){var t=document.getElementById("createObjectForm"),t=new FormData(t),o=$(this).attr("id");0<=t.get(o)?$(".object-table.linked-objects").find("select").not("#"+o).attr("disabled",1):$(".object-table.linked-objects").find("select").not("#"+o).removeAttr("disabled")},window.digiquali.object.selectAnswer=function(){var o=$(this).closest(".select-answer.answer-cell"),t=o.attr("data-questionId"),e=$(this).closest(".table-id-"+t).attr("data-publicInterface"),i=$(this).closest(".table-id-"+t).attr("data-autoSave");let n="";var a=$(this).hasClass("answer")?$(this).attr("value"):$(this).val(),s=$(this).closest(".table-id-"+t).find("#comment"+t).val(),d=$(this).closest(".table-id-"+t).attr("data-control-id");if($(this).closest(".table-cell").hasClass("select-answer")){if($(this).hasClass("multiple-answers")){$(this).closest("span").toggleClass("active");let t=[];o.find(".multiple-answers.active").each(function(){t.push($(this).attr("value"))}),n=t}else $(this).closest(".table-cell").find(".answer.active").css("background-color","#fff"),$(this).closest(".table-cell").find("span").removeClass("active"),$(this).closest("span").addClass("active"),n=a;$(this).hasClass("active")?(o=$(this).closest(".answer-cell").find(".answer-color-"+$(this).attr("value")).val(),$(this).attr("style",$(this).attr("style")+" background:"+o+";")):$(this).attr("style",$(this).attr("style")+" background:#fff;"),$(this).closest(".answer-cell").find(".question-answer").val(n)}e||1!=i||$(this).hasClass("multiple-answers")?window.digiquali.object.updateButtonsStatus(d):window.digiquali.object.saveAnswer(t,n,s)},window.digiquali.object.showCommentUnsaved=function(){$(this).hasClass("show-comment-unsaved-message")||($(this).after('

Commentaire non enregistré

'),$(this).addClass("show-comment-unsaved-message")),window.digiquali.object.updateButtonsStatus()},window.digiquali.object.updateButtonsStatus=function(t){t=stringIsInteger(t)?t:$(this).attr("data-control-id"),$("#saveButton"+t).removeClass("butActionRefused"),$("#saveButton"+t).addClass("butAction"),$(".fa-circle").css("display","inline"),$("#saveButton"+t).attr("onclick",'$("#saveObject'+t+'").submit()'),$(".validateButton"+t).removeClass("butAction"),$("#dialog-confirm-actionButtonValidate"+t).removeAttr("id"),$(".validateButton"+t).addClass("butActionRefused")},window.digiquali.object.saveAnswer=function(t,o,e,i=""){var n=window.saturne.toolbox.getToken(),a=window.saturne.toolbox.getQuerySeparator(document.URL),a=i||document.URL+a+"action=save&token="+n;i.length<1&&window.saturne.loader.display($(".table-id-"+t)),$.ajax({url:a,type:"POST",data:JSON.stringify({autoSave:!0,questionId:t,answer:o,comment:e}),processData:!1,contentType:!1,success:function(t){i.length<1&&$(".fiche").replaceWith($(t).find(".fiche"))},error:function(){}})},window.digiquali.question={},window.digiquali.question.init=function(){window.digiquali.question.event()},window.digiquali.question.event=function(){$(document).on("click",".clicked-photo-preview",window.digiquali.question.previewPhoto),$(document).on("click",".ui-dialog-titlebar-close",window.digiquali.question.closePreviewPhoto),$(document).on("click","#show_photo",window.digiquali.question.showPhoto),$(document).on("click",".answer-picto .item, .wpeo-table .item",window.digiquali.question.selectAnswerPicto)},window.digiquali.question.previewPhoto=function(t){$(this).hasClass("photo-ok")?$("#dialogforpopup").attr("style","border: 10px solid #47e58e"):$(this).hasClass("photo-ko")&&$("#dialogforpopup").attr("style","border: 10px solid #e05353")},window.digiquali.question.closePreviewPhoto=function(t){$("#dialogforpopup").attr("style","border:")},window.digiquali.question.showPhoto=function(){var t=$(this).closest(".question-table").find(".linked-medias");t.hasClass("hidden")?(t.attr("style",""),t.removeClass("hidden")):(t.attr("style","display:none"),t.addClass("hidden"))},window.digiquali.question.selectAnswerPicto=function(t){var o=$(this).closest(".wpeo-dropdown");$(this).closest(".content").removeClass("active"),o.find(".dropdown-toggle span").hide(),o.find(".dropdown-toggle.button-picto").html($(this).closest(".wpeo-tooltip-event").html()),o.find(".input-hidden-picto").val($(this).data("label"))},window.digiquali.sheet={},window.digiquali.sheet.init=function(){window.digiquali.sheet.event()},window.digiquali.sheet.event=function(){}; \ No newline at end of file +window.digiquali||(window.digiquali={},window.digiquali.scriptsLoaded=!1),window.digiquali.scriptsLoaded||(window.digiquali.init=function(){window.digiquali.load_list_script()},window.digiquali.load_list_script=function(){if(!window.digiquali.scriptsLoaded){var t=void 0,o=void 0;for(t in window.digiquali)for(o in window.digiquali[t].init&&window.digiquali[t].init(),window.digiquali[t])window.digiquali[t]&&window.digiquali[t][o]&&window.digiquali[t][o].init&&window.digiquali[t][o].init();window.digiquali.scriptsLoaded=!0}},window.digiquali.refresh=function(){var t=void 0,o=void 0;for(t in window.digiquali)for(o in window.digiquali[t].refresh&&window.digiquali[t].refresh(),window.digiquali[t])window.digiquali[t]&&window.digiquali[t][o]&&window.digiquali[t][o].refresh&&window.digiquali[t][o].refresh()},$(document).ready(window.digiquali.init)),window.digiquali.control={},window.digiquali.control.init=function(){window.digiquali.control.event()},window.digiquali.control.event=function(){$(document).on("click",".validateButton",window.digiquali.control.getAnswerCounter),$(document).on("change","#fk_sheet",window.digiquali.control.showSelectObjectLinked),$(document).on("click",".clipboard-copy",window.digiquali.control.copyToClipboard),$(document).on("change","#productId",window.digiquali.control.refreshLotSelector),$(document).on("change",'[name="mass_control"]',window.digiquali.control.showSubControlsModel),$(document).on("click",".switch-public-control-view",window.digiquali.control.switchPublicControlView),$(document).on("click",".show-only-questions-with-no-answer",window.digiquali.control.showOnlyQuestionsWithNoAnswer),$(document).on("click",".photo-sheet-category",window.digiquali.control.getSheetCategoryID),$(document).on("click",".photo-sheet-sub-category",window.digiquali.control.getSheetSubCategoryID),$(document).on("click",".photo-sheet",window.digiquali.control.getSheetID),$(document).on("click",".saveSubControl:not(.butActionRefused)",window.digiquali.control.saveSubControl),$(document).on("click",".validateSubControl:not(.butActionRefused)",window.digiquali.control.validateSubControl),$(document).on("click",".reopenSubControl:not(.butActionRefused)",window.digiquali.control.reopenSubControl),$(document).on("click",".lockSubControl:not(.butActionRefused)",window.digiquali.control.lockSubControl),$(document).on("click",".saveSubControlAnswers",window.digiquali.control.saveSubControlAnswers),$(document).ready(function(){$(".verdict-box").on("click",function(t){$(this).hasClass("disabled")&&(t.stopPropagation(),t.preventDefault())})})},window.digiquali.control.getAnswerCounter=function(t){let o=0;jQuery("#tablelines").children().each(function(){0<$(this).find(".answer.active").length&&(o+=1)}),document.cookie="answerCounter="+o},window.digiquali.control.showSelectObjectLinked=function(){var t=$(this).val(),o=window.saturne.toolbox.getToken(),e=window.saturne.toolbox.getQuerySeparator(document.URL),e=document.URL+e+"fk_sheet="+t+"&token="+o;window.saturne.loader.display($(".linked-objects")),$.ajax({url:e,type:"POST",processData:!1,contentType:!1,success:function(t){$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.copyToClipboard=function(t){var o=$(".copy-to-clipboard").attr("value");navigator.clipboard.writeText(o).then(()=>{$(".clipboard-copy").animate({backgroundColor:"#59ed9c"},200,()=>{$(".clipboard-copy").attr("class","fas fa-check clipboard-copy"),$(this).tooltip({items:".clipboard-copy",content:$("#copyToClipboardTooltip").val()}),$(this).tooltip("open"),$(".clipboard-copy").attr("style","")})})},window.digiquali.control.refreshLotSelector=function(t){var o=document.getElementById("add_control_equipment"),o=new FormData(o),e=window.saturne.toolbox.getToken(),o=o.get("productId"),e=document.URL+"&token="+e;e+="&fk_product="+o,window.saturne.loader.display($(".product-lot")),$.ajax({url:e,type:"POST",processData:!1,contentType:!1,success:function(t){$(".product-lot").replaceWith($(t).find(".product-lot"))},error:function(){}})},window.digiquali.control.switchPublicControlView=function(t){var o=$(this).find(".public-control-view").val(),e=window.saturne.toolbox.getToken();let i=document.URL+"&token="+e;i+=0==o?"&show_control_list=1":"&show_last_control=1",window.saturne.loader.display($(".signature-container")),$.ajax({url:i,type:"POST",processData:!1,contentType:!1,success:function(t){$("#publicControlHistory").replaceWith($(t).find("#publicControlHistory"))},error:function(){}})},window.digiquali.control.showOnlyQuestionsWithNoAnswer=function(){var t=window.saturne.toolbox.getQuerySeparator(document.URL),o=window.saturne.toolbox.getToken();let e;e=$(this).hasClass("fa-toggle-off")?1:0,window.saturne.loader.display($(this)),$.ajax({url:document.URL+t+"action=show_only_questions_with_no_answer&token="+o,type:"POST",processData:!1,data:JSON.stringify({showOnlyQuestionsWithNoAnswer:e}),contentType:!1,success:function(t){$(".progress-info").replaceWith($(t).find(".progress-info")),$(".question-answer-container").replaceWith($(t).find(".question-answer-container"))},error:function(){}})},window.digiquali.control.getSheetCategoryID=function(){let o=$(this).attr("value");var t=window.saturne.toolbox.getToken(),e=window.saturne.toolbox.getQuerySeparator(document.URL);window.saturne.loader.display($(".sheet-images-container")),$.ajax({url:document.URL+e+"sheetCategoryID="+o+"&token="+t,type:"POST",processData:!1,contentType:!1,success:function(t){$(".sheet-images-container").replaceWith($(t).find(".sheet-images-container")),$(".photo-sheet-category[value="+o+"]").css("border","3px solid #0d8aff"),$(".photo-sheet-category[value="+o+"]").addClass("photo-sheet-category-active"),$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.getSheetSubCategoryID=function(){let o=$(".photo-sheet-category-active").attr("value"),e=$(this).attr("value");var t=window.saturne.toolbox.getToken(),i=window.saturne.toolbox.getQuerySeparator(document.URL);window.saturne.loader.display($(".sheet-images-container")),$.ajax({url:document.URL+i+"sheetCategoryID="+o+"&sheetSubCategoryID="+e+"&token="+t,type:"POST",processData:!1,contentType:!1,success:function(t){$(".sheet-images-container").replaceWith($(t).find(".sheet-images-container")),$(".photo-sheet-category[value="+o+"]").css("border","3px solid #0d8aff"),$(".photo-sheet-category[value="+o+"]").addClass("photo-sheet-category-active"),$(".photo-sheet-sub-category[value="+e+"]").css("border","3px solid #0d8aff"),$(".photo-sheet-sub-category[value="+e+"]").addClass("photo-sheet-sub-category-active"),$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.getSheetID=function(){let o=$(this).attr("data-object-id");var t=$(".photo-sheet-category-active").attr("value"),e=$(".photo-sheet-sub-category-active").attr("value"),i=window.saturne.toolbox.getToken(),n=window.saturne.toolbox.getQuerySeparator(document.URL);window.saturne.loader.display($(".sheet-elements")),window.saturne.loader.display($(".linked-objects")),$.ajax({url:document.URL+n+"fk_sheet="+o+"&sheetCategoryID="+t+"&sheetSubCategoryID="+e+"&token="+i,type:"POST",processData:!1,contentType:!1,success:function(t){$(".sheet-elements").replaceWith($(t).find(".sheet-elements")),$(".photo-sheet[data-object-id="+o+"]").css("border","3px solid #0d8aff"),$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.saveSubControl=function(){let a=$(this).attr("data-control-id"),s=$(this).attr("data-main-control-id");var t=$(this).closest(".table-row").find(".note-public").val();let d=[];$(this).closest(".table-row").find(".select-answer").each(function(){var t=$(this).attr("data-questionid"),o=$(this).find(".question-answer").val(),e=$(this).closest(".wpeo-table").find(".question-comment").val();d[t]={answer:o,comment:e}});var o=$(this).closest(".table-row").find('.verdict-option input[type="radio"]:checked').val();let c=window.saturne.toolbox.getToken();window.saturne.loader.display($(this).closest(".table-row"));var e=document.URL.replace(/id=\d+/,"id="+a);$.ajax({url:e+"&token="+c+"&action=confirm_setVerdict&verdict="+o+"¬eControl="+t,type:"POST",processData:!1,contentType:!1,data:[],success:async function(t){for(var[o,e]of Object.entries(d)){var i=document.URL.replace(/id=\d+/,"id="+a);await window.digiquali.object.saveAnswer(o,e.answer,e.comment,i+"&action=save&token="+c)}var n=document.URL.replace(/id=\d+/,"id="+s);$.ajax({url:n,type:"GET",processData:!1,contentType:!1,data:[],success:function(t){$(".wpeo-loader").removeClass("wpeo-loader"),$(".sub-control-"+a).replaceWith($(t).find(".sub-control-"+a))}})},error:function(){}})},window.digiquali.control.lockSubControl=function(){let e=$(this).attr("data-control-id"),i=$(this).attr("data-main-control-id");var t=window.saturne.toolbox.getToken(),o=(window.saturne.loader.display($(this).closest(".table-row")),document.URL.replace(/id=\d+/,"id="+e));$.ajax({url:o+"&token="+t+"&action=confirm_lock",type:"POST",processData:!1,contentType:!1,data:[],success:function(t){var o=document.URL.replace(/id=\d+/,"id="+i);$.ajax({url:o,type:"GET",processData:!1,contentType:!1,data:[],success:function(t){$(".sub-control-"+e).replaceWith($(t).find(".sub-control-"+e))}})},error:function(){}})},window.digiquali.control.validateSubControl=function(){let e=$(this).attr("data-control-id"),i=$(this).attr("data-main-control-id");var t=window.saturne.toolbox.getToken(),o=(window.saturne.loader.display($(this).closest(".table-row")),document.URL.replace(/id=\d+/,"id="+e));$.ajax({url:o+"&token="+t+"&action=confirm_validate&confirm=yes",type:"POST",processData:!1,contentType:!1,data:[],success:function(t){var o=document.URL.replace(/id=\d+/,"id="+i);$.ajax({url:o,type:"GET",processData:!1,contentType:!1,data:[],success:function(t){$(".sub-control-"+e).replaceWith($(t).find(".sub-control-"+e))}})},error:function(){}})},window.digiquali.control.reopenSubControl=function(){let e=$(this).attr("data-control-id"),i=$(this).attr("data-main-control-id");var t=window.saturne.toolbox.getToken(),o=(window.saturne.loader.display($(this).closest(".table-row")),document.URL.replace(/id=\d+/,"id="+e));$.ajax({url:o+"&token="+t+"&action=confirm_set_reopen&confirm=yes",type:"POST",processData:!1,contentType:!1,data:[],success:function(t){var o=document.URL.replace(/id=\d+/,"id="+i);$.ajax({url:o,type:"GET",processData:!1,contentType:!1,data:[],success:function(t){$(".sub-control-"+e).replaceWith($(t).find(".sub-control-"+e))}})},error:function(){}})},window.digiquali.control.saveSubControlAnswers=async function(){let o=$(this).attr("data-control-id");var t=$(this).attr("data-main-control-id");window.saturne.loader.display($(this));let i=[];$(this).closest(".table-row").find(".select-answer").each(function(){var t=$(this).attr("data-questionid"),o=$(this).find(".question-answer").val(),e=$(this).closest(".wpeo-table").find(".question-comment").val();i[t]={answer:o,comment:e}});var e,n,a=window.saturne.toolbox.getToken();let s=document.URL.replace(/id=\d+/,"id="+o);for([e,n]of Object.entries(i))await window.digiquali.object.saveAnswer(e,n.answer,n.comment,s+"&action=save&token="+a);s=document.URL.replace(/id=\d+/,"id="+t),$.ajax({url:s,type:"GET",processData:!1,contentType:!1,data:[],success:function(t){$(".sub-control-"+o).replaceWith($(t).find(".sub-control-"+o)),$(".wpeo-loader").removeClass("wpeo-loader")}})},window.digiquali.control.showSubControlsModel=function(){$(".sub-controls-model").attr("style",""),$(".sub-controls-model").find(".select2-container").css("width","500px")},window.digiquali.object={},window.digiquali.object.init=function(){window.digiquali.object.event()},window.digiquali.object.event=function(){$(document).on("change",".object-table.linked-objects select",window.digiquali.object.disableOtherSelectors),$(document).on("click",".answer:not(.disable)",window.digiquali.object.selectAnswer),$(document).on("input",".input-answer:not(.disable)",window.digiquali.object.selectAnswer),$(document).on("keyup",".question-comment",window.digiquali.object.showCommentUnsaved),$(document).on("click",".verdict-box",window.digiquali.object.updateButtonsStatus)},window.digiquali.object.disableOtherSelectors=function(){var t=document.getElementById("createObjectForm"),t=new FormData(t),o=$(this).attr("id");0<=t.get(o)?$(".object-table.linked-objects").find("select").not("#"+o).attr("disabled",1):$(".object-table.linked-objects").find("select").not("#"+o).removeAttr("disabled")},window.digiquali.object.selectAnswer=function(){var o=$(this).closest(".select-answer.answer-cell"),t=o.attr("data-questionId"),e=$(this).closest(".table-id-"+t).attr("data-publicInterface"),i=$(this).closest(".table-id-"+t).attr("data-autoSave");let n="";var a=$(this).hasClass("answer")?$(this).attr("value"):$(this).val(),s=$(this).closest(".table-id-"+t).find("#comment"+t).val(),d=$(this).closest(".table-id-"+t).attr("data-control-id");if($(this).closest(".table-cell").hasClass("select-answer")){if($(this).hasClass("multiple-answers")){$(this).closest("span").toggleClass("active");let t=[];o.find(".multiple-answers.active").each(function(){t.push($(this).attr("value"))}),n=t}else $(this).closest(".table-cell").find(".answer.active").css("background-color","#fff"),$(this).closest(".table-cell").find("span").removeClass("active"),$(this).closest("span").addClass("active"),n=a;$(this).hasClass("active")?(o=$(this).closest(".answer-cell").find(".answer-color-"+$(this).attr("value")).val(),$(this).attr("style",$(this).attr("style")+" background:"+o+";")):$(this).attr("style",$(this).attr("style")+" background:#fff;"),$(this).closest(".answer-cell").find(".question-answer").val(n)}e||1!=i||$(this).hasClass("multiple-answers")?window.digiquali.object.updateButtonsStatus(d):window.digiquali.object.saveAnswer(t,n,s)},window.digiquali.object.showCommentUnsaved=function(){$(this).hasClass("show-comment-unsaved-message")||($(this).after('

Commentaire non enregistré

'),$(this).addClass("show-comment-unsaved-message")),window.digiquali.object.updateButtonsStatus()},window.digiquali.object.updateButtonsStatus=function(t){t=stringIsInteger(t)?t:$(this).attr("data-control-id"),$("#saveButton"+t).removeClass("butActionRefused"),$("#saveButton"+t).addClass("butAction"),$(".fa-circle").css("display","inline"),$("#saveButton"+t).attr("onclick",'$("#saveObject'+t+'").submit()'),$(".validateButton"+t).removeClass("butAction"),$("#dialog-confirm-actionButtonValidate"+t).removeAttr("id"),$(".validateButton"+t).addClass("butActionRefused")},window.digiquali.object.saveAnswer=function(t,o,e,i=""){var n=window.saturne.toolbox.getToken(),a=window.saturne.toolbox.getQuerySeparator(document.URL),a=i||document.URL+a+"action=save&token="+n;i.length<1&&window.saturne.loader.display($(".table-id-"+t)),$.ajax({url:a,type:"POST",data:JSON.stringify({autoSave:!0,questionId:t,answer:o,comment:e}),processData:!1,contentType:!1,success:function(t){i.length<1&&$(".fiche").replaceWith($(t).find(".fiche"))},error:function(){}})},window.digiquali.question={},window.digiquali.question.init=function(){window.digiquali.question.event()},window.digiquali.question.event=function(){$(document).on("click",".clicked-photo-preview",window.digiquali.question.previewPhoto),$(document).on("click",".ui-dialog-titlebar-close",window.digiquali.question.closePreviewPhoto),$(document).on("click","#show_photo",window.digiquali.question.showPhoto),$(document).on("click",".answer-picto .item, .wpeo-table .item",window.digiquali.question.selectAnswerPicto)},window.digiquali.question.previewPhoto=function(t){$(this).hasClass("photo-ok")?$("#dialogforpopup").attr("style","border: 10px solid #47e58e"):$(this).hasClass("photo-ko")&&$("#dialogforpopup").attr("style","border: 10px solid #e05353")},window.digiquali.question.closePreviewPhoto=function(t){$("#dialogforpopup").attr("style","border:")},window.digiquali.question.showPhoto=function(){var t=$(this).closest(".question-table").find(".linked-medias");t.hasClass("hidden")?(t.attr("style",""),t.removeClass("hidden")):(t.attr("style","display:none"),t.addClass("hidden"))},window.digiquali.question.selectAnswerPicto=function(t){var o=$(this).closest(".wpeo-dropdown");$(this).closest(".content").removeClass("active"),o.find(".dropdown-toggle span").hide(),o.find(".dropdown-toggle.button-picto").html($(this).closest(".wpeo-tooltip-event").html()),o.find(".input-hidden-picto").val($(this).data("label"))},window.digiquali.sheet={},window.digiquali.sheet.init=function(){window.digiquali.sheet.event()},window.digiquali.sheet.event=function(){}; \ No newline at end of file diff --git a/js/modules/control.js b/js/modules/control.js index 8c2f14dc..5e9e67e2 100644 --- a/js/modules/control.js +++ b/js/modules/control.js @@ -338,7 +338,7 @@ window.digiquali.control.getSheetID = function() { */ window.digiquali.control.saveSubControl = function() { let subControlID = $(this).attr('data-control-id'); - let massControlId = $(this).attr('data-mass-control-id'); + let mainControlId = $(this).attr('data-main-control-id'); let notePublic = $(this).closest('.table-row').find('.note-public').val(); // get input checked let questionIds = []; @@ -371,7 +371,7 @@ window.digiquali.control.saveSubControl = function() { await window.digiquali.object.saveAnswer(questionId, answer.answer, answer.comment, url + '&action=save&token=' + token); } - let url = document.URL.replace(/id=\d+/, 'id=' + massControlId); + let url = document.URL.replace(/id=\d+/, 'id=' + mainControlId); $.ajax({ url: url, type: 'GET', @@ -398,7 +398,7 @@ window.digiquali.control.saveSubControl = function() { */ window.digiquali.control.lockSubControl = function() { let subControlID = $(this).attr('data-control-id'); - let massControlId = $(this).attr('data-mass-control-id'); + let mainControlId = $(this).attr('data-main-control-id'); let token = window.saturne.toolbox.getToken(); window.saturne.loader.display($(this).closest('.table-row')); @@ -411,7 +411,7 @@ window.digiquali.control.lockSubControl = function() { contentType: false, data: [], success: function (resp) { - let url = document.URL.replace(/id=\d+/, 'id=' + massControlId); + let url = document.URL.replace(/id=\d+/, 'id=' + mainControlId); $.ajax({ url: url, type: 'GET', @@ -438,7 +438,7 @@ window.digiquali.control.lockSubControl = function() { */ window.digiquali.control.validateSubControl = function() { let subControlID = $(this).attr('data-control-id'); - let massControlId = $(this).attr('data-mass-control-id'); + let mainControlId = $(this).attr('data-main-control-id'); let token = window.saturne.toolbox.getToken(); window.saturne.loader.display($(this).closest('.table-row')); @@ -451,7 +451,7 @@ window.digiquali.control.validateSubControl = function() { contentType: false, data: [], success: function (resp) { - let url = document.URL.replace(/id=\d+/, 'id=' + massControlId); + let url = document.URL.replace(/id=\d+/, 'id=' + mainControlId); $.ajax({ url: url, type: 'GET', @@ -478,7 +478,7 @@ window.digiquali.control.validateSubControl = function() { */ window.digiquali.control.reopenSubControl = function() { let subControlID = $(this).attr('data-control-id'); - let massControlId = $(this).attr('data-mass-control-id'); + let mainControlId = $(this).attr('data-main-control-id'); let token = window.saturne.toolbox.getToken(); window.saturne.loader.display($(this).closest('.table-row')); @@ -491,7 +491,7 @@ window.digiquali.control.reopenSubControl = function() { contentType: false, data: [], success: function (resp) { - let url = document.URL.replace(/id=\d+/, 'id=' + massControlId); + let url = document.URL.replace(/id=\d+/, 'id=' + mainControlId); $.ajax({ url: url, type: 'GET', @@ -518,7 +518,7 @@ window.digiquali.control.reopenSubControl = function() { */ window.digiquali.control.saveSubControlAnswers = async function() { let subControlID = $(this).attr('data-control-id'); - let massControlId = $(this).attr('data-mass-control-id'); + let mainControlId = $(this).attr('data-main-control-id'); window.saturne.loader.display($(this)); let questionIds = []; @@ -542,7 +542,7 @@ window.digiquali.control.saveSubControlAnswers = async function() { await window.digiquali.object.saveAnswer(questionId, answer.answer, answer.comment, url + '&action=save&token=' + token); } - url = document.URL.replace(/id=\d+/, 'id=' + massControlId); + url = document.URL.replace(/id=\d+/, 'id=' + mainControlId); $.ajax({ url: url, type: 'GET', diff --git a/js/modules/object.js b/js/modules/object.js index 843fa36b..7069aebf 100644 --- a/js/modules/object.js +++ b/js/modules/object.js @@ -192,7 +192,7 @@ window.digiquali.object.saveAnswer = function(questionId, answer, comment, custo if (customUrl.length < 1) { window.saturne.loader.display($('.table-id-' + questionId)); } - + $.ajax({ url: url, type: 'POST', diff --git a/langs/fr_FR/digiquali.lang b/langs/fr_FR/digiquali.lang index 0db914d2..faaf5a93 100644 --- a/langs/fr_FR/digiquali.lang +++ b/langs/fr_FR/digiquali.lang @@ -358,7 +358,7 @@ AddAnObjectToControl = Ajouter un objet à contrôler SubControlsMustBeLockedToSetVerdict = Les sous-contrôles doivent être verrouillés pour définir le verdict MainControlMustBeDraftToEditSubControls = Le contrôle principal doit être brouillon pour éditer les sous-contrôles ParentControl = Contrôle parent - +NoSubControlFound = Aucun sous-contrôle trouvé # From 1b62bc328dae0d213b88e9d2907a2702413b10fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20David?= Date: Tue, 3 Sep 2024 16:40:58 +0200 Subject: [PATCH 23/25] #1680 [Control] fix: verdict update if null --- view/control/control_card.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/view/control/control_card.php b/view/control/control_card.php index 544034ae..c44ea0cd 100644 --- a/view/control/control_card.php +++ b/view/control/control_card.php @@ -232,7 +232,7 @@ if ($action == 'confirm_setVerdict' && $permissiontosetverdict && !GETPOST('cancel', 'alpha')) { $object->fetch($id); if (!$error) { - $object->verdict = GETPOST('verdict', 'int'); + $object->verdict = GETPOST('verdict', 'int') ?: null; $object->note_public .= (!empty($object->note_public) ? chr(0x0A) : '') . GETPOST('noteControl'); $result = $object->update($user); if ($result > 0) { From 53cb95ebf3e9513c88a3a1ad428298636678898a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20David?= Date: Tue, 3 Sep 2024 16:49:23 +0200 Subject: [PATCH 24/25] Auto stash before rebase of "add_multi_objects_controls" --- view/control/control_card.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/view/control/control_card.php b/view/control/control_card.php index c44ea0cd..2bd890b9 100644 --- a/view/control/control_card.php +++ b/view/control/control_card.php @@ -235,7 +235,7 @@ $object->verdict = GETPOST('verdict', 'int') ?: null; $object->note_public .= (!empty($object->note_public) ? chr(0x0A) : '') . GETPOST('noteControl'); $result = $object->update($user); - if ($result > 0) { + if ($result > 0) { // Set verdict Control $object->call_trigger('CONTROL_VERDICT', $user); $urltogo = str_replace('__ID__', $result, $backtopage); From 64d3b3b647d36be19485f73f7f27ff9de7a3de19 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20David?= Date: Tue, 3 Sep 2024 17:03:27 +0200 Subject: [PATCH 25/25] #1680 [Control] fix: minor typo & syntax changes --- core/tpl/digiquali_answers.tpl.php | 3 +- core/tpl/digiquali_mass_control_list.tpl.php | 21 +++-------- ...9_modDigiQuali_DigiQualiTriggers.class.php | 15 ++++---- css/scss/page/_control.scss | 4 +-- js/digiquali.min.js | 2 +- js/modules/control.js | 35 ++++++++++--------- sql/update.sql | 2 +- view/control/control_card.php | 12 ++++--- 8 files changed, 42 insertions(+), 52 deletions(-) diff --git a/core/tpl/digiquali_answers.tpl.php b/core/tpl/digiquali_answers.tpl.php index 1e237b0f..a1a80fff 100644 --- a/core/tpl/digiquali_answers.tpl.php +++ b/core/tpl/digiquali_answers.tpl.php @@ -29,18 +29,19 @@ * Variable : $publicInterface */ - if (is_array($sheet->linkedObjects['digiquali_question']) && !empty($sheet->linkedObjects['digiquali_question'])) { foreach ($sheet->linkedObjects['digiquali_question'] as $question) { $questionAnswer = ''; $comment = ''; $result = $objectLine->fetchFromParentWithQuestion($object->id, $question->id); + if (is_array($result) && !empty($result)) { $objectLine = array_shift($result); $questionAnswer = $objectLine->answer; $comment = $objectLine->comment; } + if (!$user->conf->DIGIQUALI_SHOW_ONLY_QUESTIONS_WITH_NO_ANSWER or empty($questionAnswer)) { ?>
diff --git a/core/tpl/digiquali_mass_control_list.tpl.php b/core/tpl/digiquali_mass_control_list.tpl.php index 442e1b2e..21165f92 100644 --- a/core/tpl/digiquali_mass_control_list.tpl.php +++ b/core/tpl/digiquali_mass_control_list.tpl.php @@ -6,18 +6,14 @@ * \brief Template for displaying the list of mass controls linked to an object */ -// Fetch the list of mass controls linked to the object $subControlList = $object->fetchAll('', '', 0, 0, ['fk_control' => $object->id]); -// Start the responsive table container + print '
'; -// Load and print the title for the control list section print load_fiche_titre($langs->trans('LinkedControlList'), '', ''); -// Start the table print '
'; -// Define table headers with appropriate translations $tableHeaders = [ $langs->trans('Name'), $langs->trans('Status'), @@ -29,7 +25,6 @@ $langs->trans('Action'), ]; -// Create header row using divs print '
'; $i = 0; foreach ($tableHeaders as $header) { @@ -39,8 +34,8 @@ print '
'; $mainControlId = $object->id; -$sheet = new Sheet($db); -$mainControl = $object; +$sheet = new Sheet($db); +$mainControl = $object; // Check if there are any mass controls and print them if (is_array($subControlList) && !empty($subControlList)) { @@ -54,7 +49,6 @@ $subControl->fetch_optionals(); $subControl->fetchLines(); $subControl->fetchObjectLinked('', '', $subControl->id, 'digiquali_control', 'OR', 1, 'sourcetype', 0); - //get object controlled $linkableElements = get_sheet_linkable_objects(); print '
'; @@ -68,7 +62,6 @@ foreach($object->linkedObjectsIds[$linkableElement['link_name']] as $linkedObjectId) { $linkedObject->fetch($linkedObjectId); - print $linkedObject->getNomUrl(1, 0, '', 'maxwidth200'); if ($linkedObject->array_options['options_qc_frequency'] > 0) { @@ -77,14 +70,12 @@ print $langs->transnoentities('QcFrequency') . ' : ' . $linkedObject->array_options['options_qc_frequency']; print ''; } - print '
'; } } } print '
'; - // Verdict section with interactive OK/KO buttons print '
'; print '
'; print '
'; print '
'; - // Note Control section displaying the public note print '
'; print '
'; @@ -115,15 +105,15 @@ } } } - //affiche le nombre de questions répondues + print '' . $answerCounter . '/' . $questionCounter . ''; print ''; print '
'; + $documenturl = DOL_URL_ROOT . '/document.php'; - //retrieve last document of the control print '
'; $documentList = dol_dir_list($conf->digiquali->multidir_output[$subControl->entity ?: 1] . '/controldocument/' . $subControl->ref . '/'); if (!empty($documentList)) { @@ -175,7 +165,6 @@ print '
'; } } else { - // If no mass controls are found, display a message print '
'; print '
' . $langs->trans('NoSubControlFound') . '
'; print '
'; diff --git a/core/triggers/interface_99_modDigiQuali_DigiQualiTriggers.class.php b/core/triggers/interface_99_modDigiQuali_DigiQualiTriggers.class.php index 90d52b58..a83b8552 100644 --- a/core/triggers/interface_99_modDigiQuali_DigiQualiTriggers.class.php +++ b/core/triggers/interface_99_modDigiQuali_DigiQualiTriggers.class.php @@ -147,13 +147,11 @@ public function runTrigger($action, $object, User $user, Translate $langs, Conf $isMassControl = $object->mass_control; - $elementArray = []; - if ($object->context != 'createfromclone') { $elementArray = get_sheet_linkable_objects(); if (!empty($elementArray)) { - foreach ($elementArray as $linkableElementType => $linkableElement) { + foreach ($elementArray as $linkableElement) { $post = GETPOST('multi_' . $linkableElement['post_name'], 'array'); if (!empty($post) && $post > 0) { @@ -161,11 +159,12 @@ public function runTrigger($action, $object, User $user, Translate $langs, Conf if ($isMassControl) { $control = new Control($this->db); - $control->status = $control::STATUS_DRAFT; - $control->label = $object->label; - $control->fk_sheet = GETPOST('fk_sub_controls_sheet'); + $control->status = $control::STATUS_DRAFT; + $control->label = $object->label; + $control->fk_sheet = GETPOST('fk_sub_controls_sheet'); $control->fk_user_controller = $object->fk_user_controller; - $control->fk_control = $object->id; + $control->fk_control = $object->id; + $controlId = $control->create($user, true); $control->fetch($controlId); @@ -185,8 +184,6 @@ public function runTrigger($action, $object, User $user, Translate $langs, Conf $signatory->setSignatory($object->id, $object->element, 'user', [$object->fk_user_controller], 'Controller', 1); } - - $actioncomm->code = 'AC_' . strtoupper($object->element) . '_CREATE'; $actioncomm->label = $langs->transnoentities('ObjectCreateTrigger', $langs->transnoentities(ucfirst($object->element)), $object->ref); $actioncomm->create($user); diff --git a/css/scss/page/_control.scss b/css/scss/page/_control.scss index 86792edf..30f81545 100644 --- a/css/scss/page/_control.scss +++ b/css/scss/page/_control.scss @@ -216,6 +216,6 @@ } .verdict-box.disabled { - cursor: not-allowed; /* Change le curseur pour montrer que l'élément est désactivé */ - opacity: 0.5; /* Rendre l'élément visuellement désactivé */ + cursor: not-allowed; + opacity: 0.5; } diff --git a/js/digiquali.min.js b/js/digiquali.min.js index 6ed68048..96668a2e 100644 --- a/js/digiquali.min.js +++ b/js/digiquali.min.js @@ -1 +1 @@ -window.digiquali||(window.digiquali={},window.digiquali.scriptsLoaded=!1),window.digiquali.scriptsLoaded||(window.digiquali.init=function(){window.digiquali.load_list_script()},window.digiquali.load_list_script=function(){if(!window.digiquali.scriptsLoaded){var t=void 0,o=void 0;for(t in window.digiquali)for(o in window.digiquali[t].init&&window.digiquali[t].init(),window.digiquali[t])window.digiquali[t]&&window.digiquali[t][o]&&window.digiquali[t][o].init&&window.digiquali[t][o].init();window.digiquali.scriptsLoaded=!0}},window.digiquali.refresh=function(){var t=void 0,o=void 0;for(t in window.digiquali)for(o in window.digiquali[t].refresh&&window.digiquali[t].refresh(),window.digiquali[t])window.digiquali[t]&&window.digiquali[t][o]&&window.digiquali[t][o].refresh&&window.digiquali[t][o].refresh()},$(document).ready(window.digiquali.init)),window.digiquali.control={},window.digiquali.control.init=function(){window.digiquali.control.event()},window.digiquali.control.event=function(){$(document).on("click",".validateButton",window.digiquali.control.getAnswerCounter),$(document).on("change","#fk_sheet",window.digiquali.control.showSelectObjectLinked),$(document).on("click",".clipboard-copy",window.digiquali.control.copyToClipboard),$(document).on("change","#productId",window.digiquali.control.refreshLotSelector),$(document).on("change",'[name="mass_control"]',window.digiquali.control.showSubControlsModel),$(document).on("click",".switch-public-control-view",window.digiquali.control.switchPublicControlView),$(document).on("click",".show-only-questions-with-no-answer",window.digiquali.control.showOnlyQuestionsWithNoAnswer),$(document).on("click",".photo-sheet-category",window.digiquali.control.getSheetCategoryID),$(document).on("click",".photo-sheet-sub-category",window.digiquali.control.getSheetSubCategoryID),$(document).on("click",".photo-sheet",window.digiquali.control.getSheetID),$(document).on("click",".saveSubControl:not(.butActionRefused)",window.digiquali.control.saveSubControl),$(document).on("click",".validateSubControl:not(.butActionRefused)",window.digiquali.control.validateSubControl),$(document).on("click",".reopenSubControl:not(.butActionRefused)",window.digiquali.control.reopenSubControl),$(document).on("click",".lockSubControl:not(.butActionRefused)",window.digiquali.control.lockSubControl),$(document).on("click",".saveSubControlAnswers",window.digiquali.control.saveSubControlAnswers),$(document).ready(function(){$(".verdict-box").on("click",function(t){$(this).hasClass("disabled")&&(t.stopPropagation(),t.preventDefault())})})},window.digiquali.control.getAnswerCounter=function(t){let o=0;jQuery("#tablelines").children().each(function(){0<$(this).find(".answer.active").length&&(o+=1)}),document.cookie="answerCounter="+o},window.digiquali.control.showSelectObjectLinked=function(){var t=$(this).val(),o=window.saturne.toolbox.getToken(),e=window.saturne.toolbox.getQuerySeparator(document.URL),e=document.URL+e+"fk_sheet="+t+"&token="+o;window.saturne.loader.display($(".linked-objects")),$.ajax({url:e,type:"POST",processData:!1,contentType:!1,success:function(t){$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.copyToClipboard=function(t){var o=$(".copy-to-clipboard").attr("value");navigator.clipboard.writeText(o).then(()=>{$(".clipboard-copy").animate({backgroundColor:"#59ed9c"},200,()=>{$(".clipboard-copy").attr("class","fas fa-check clipboard-copy"),$(this).tooltip({items:".clipboard-copy",content:$("#copyToClipboardTooltip").val()}),$(this).tooltip("open"),$(".clipboard-copy").attr("style","")})})},window.digiquali.control.refreshLotSelector=function(t){var o=document.getElementById("add_control_equipment"),o=new FormData(o),e=window.saturne.toolbox.getToken(),o=o.get("productId"),e=document.URL+"&token="+e;e+="&fk_product="+o,window.saturne.loader.display($(".product-lot")),$.ajax({url:e,type:"POST",processData:!1,contentType:!1,success:function(t){$(".product-lot").replaceWith($(t).find(".product-lot"))},error:function(){}})},window.digiquali.control.switchPublicControlView=function(t){var o=$(this).find(".public-control-view").val(),e=window.saturne.toolbox.getToken();let i=document.URL+"&token="+e;i+=0==o?"&show_control_list=1":"&show_last_control=1",window.saturne.loader.display($(".signature-container")),$.ajax({url:i,type:"POST",processData:!1,contentType:!1,success:function(t){$("#publicControlHistory").replaceWith($(t).find("#publicControlHistory"))},error:function(){}})},window.digiquali.control.showOnlyQuestionsWithNoAnswer=function(){var t=window.saturne.toolbox.getQuerySeparator(document.URL),o=window.saturne.toolbox.getToken();let e;e=$(this).hasClass("fa-toggle-off")?1:0,window.saturne.loader.display($(this)),$.ajax({url:document.URL+t+"action=show_only_questions_with_no_answer&token="+o,type:"POST",processData:!1,data:JSON.stringify({showOnlyQuestionsWithNoAnswer:e}),contentType:!1,success:function(t){$(".progress-info").replaceWith($(t).find(".progress-info")),$(".question-answer-container").replaceWith($(t).find(".question-answer-container"))},error:function(){}})},window.digiquali.control.getSheetCategoryID=function(){let o=$(this).attr("value");var t=window.saturne.toolbox.getToken(),e=window.saturne.toolbox.getQuerySeparator(document.URL);window.saturne.loader.display($(".sheet-images-container")),$.ajax({url:document.URL+e+"sheetCategoryID="+o+"&token="+t,type:"POST",processData:!1,contentType:!1,success:function(t){$(".sheet-images-container").replaceWith($(t).find(".sheet-images-container")),$(".photo-sheet-category[value="+o+"]").css("border","3px solid #0d8aff"),$(".photo-sheet-category[value="+o+"]").addClass("photo-sheet-category-active"),$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.getSheetSubCategoryID=function(){let o=$(".photo-sheet-category-active").attr("value"),e=$(this).attr("value");var t=window.saturne.toolbox.getToken(),i=window.saturne.toolbox.getQuerySeparator(document.URL);window.saturne.loader.display($(".sheet-images-container")),$.ajax({url:document.URL+i+"sheetCategoryID="+o+"&sheetSubCategoryID="+e+"&token="+t,type:"POST",processData:!1,contentType:!1,success:function(t){$(".sheet-images-container").replaceWith($(t).find(".sheet-images-container")),$(".photo-sheet-category[value="+o+"]").css("border","3px solid #0d8aff"),$(".photo-sheet-category[value="+o+"]").addClass("photo-sheet-category-active"),$(".photo-sheet-sub-category[value="+e+"]").css("border","3px solid #0d8aff"),$(".photo-sheet-sub-category[value="+e+"]").addClass("photo-sheet-sub-category-active"),$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.getSheetID=function(){let o=$(this).attr("data-object-id");var t=$(".photo-sheet-category-active").attr("value"),e=$(".photo-sheet-sub-category-active").attr("value"),i=window.saturne.toolbox.getToken(),n=window.saturne.toolbox.getQuerySeparator(document.URL);window.saturne.loader.display($(".sheet-elements")),window.saturne.loader.display($(".linked-objects")),$.ajax({url:document.URL+n+"fk_sheet="+o+"&sheetCategoryID="+t+"&sheetSubCategoryID="+e+"&token="+i,type:"POST",processData:!1,contentType:!1,success:function(t){$(".sheet-elements").replaceWith($(t).find(".sheet-elements")),$(".photo-sheet[data-object-id="+o+"]").css("border","3px solid #0d8aff"),$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.saveSubControl=function(){let a=$(this).attr("data-control-id"),s=$(this).attr("data-main-control-id");var t=$(this).closest(".table-row").find(".note-public").val();let d=[];$(this).closest(".table-row").find(".select-answer").each(function(){var t=$(this).attr("data-questionid"),o=$(this).find(".question-answer").val(),e=$(this).closest(".wpeo-table").find(".question-comment").val();d[t]={answer:o,comment:e}});var o=$(this).closest(".table-row").find('.verdict-option input[type="radio"]:checked').val();let c=window.saturne.toolbox.getToken();window.saturne.loader.display($(this).closest(".table-row"));var e=document.URL.replace(/id=\d+/,"id="+a);$.ajax({url:e+"&token="+c+"&action=confirm_setVerdict&verdict="+o+"¬eControl="+t,type:"POST",processData:!1,contentType:!1,data:[],success:async function(t){for(var[o,e]of Object.entries(d)){var i=document.URL.replace(/id=\d+/,"id="+a);await window.digiquali.object.saveAnswer(o,e.answer,e.comment,i+"&action=save&token="+c)}var n=document.URL.replace(/id=\d+/,"id="+s);$.ajax({url:n,type:"GET",processData:!1,contentType:!1,data:[],success:function(t){$(".wpeo-loader").removeClass("wpeo-loader"),$(".sub-control-"+a).replaceWith($(t).find(".sub-control-"+a))}})},error:function(){}})},window.digiquali.control.lockSubControl=function(){let e=$(this).attr("data-control-id"),i=$(this).attr("data-main-control-id");var t=window.saturne.toolbox.getToken(),o=(window.saturne.loader.display($(this).closest(".table-row")),document.URL.replace(/id=\d+/,"id="+e));$.ajax({url:o+"&token="+t+"&action=confirm_lock",type:"POST",processData:!1,contentType:!1,data:[],success:function(t){var o=document.URL.replace(/id=\d+/,"id="+i);$.ajax({url:o,type:"GET",processData:!1,contentType:!1,data:[],success:function(t){$(".sub-control-"+e).replaceWith($(t).find(".sub-control-"+e))}})},error:function(){}})},window.digiquali.control.validateSubControl=function(){let e=$(this).attr("data-control-id"),i=$(this).attr("data-main-control-id");var t=window.saturne.toolbox.getToken(),o=(window.saturne.loader.display($(this).closest(".table-row")),document.URL.replace(/id=\d+/,"id="+e));$.ajax({url:o+"&token="+t+"&action=confirm_validate&confirm=yes",type:"POST",processData:!1,contentType:!1,data:[],success:function(t){var o=document.URL.replace(/id=\d+/,"id="+i);$.ajax({url:o,type:"GET",processData:!1,contentType:!1,data:[],success:function(t){$(".sub-control-"+e).replaceWith($(t).find(".sub-control-"+e))}})},error:function(){}})},window.digiquali.control.reopenSubControl=function(){let e=$(this).attr("data-control-id"),i=$(this).attr("data-main-control-id");var t=window.saturne.toolbox.getToken(),o=(window.saturne.loader.display($(this).closest(".table-row")),document.URL.replace(/id=\d+/,"id="+e));$.ajax({url:o+"&token="+t+"&action=confirm_set_reopen&confirm=yes",type:"POST",processData:!1,contentType:!1,data:[],success:function(t){var o=document.URL.replace(/id=\d+/,"id="+i);$.ajax({url:o,type:"GET",processData:!1,contentType:!1,data:[],success:function(t){$(".sub-control-"+e).replaceWith($(t).find(".sub-control-"+e))}})},error:function(){}})},window.digiquali.control.saveSubControlAnswers=async function(){let o=$(this).attr("data-control-id");var t=$(this).attr("data-main-control-id");window.saturne.loader.display($(this));let i=[];$(this).closest(".table-row").find(".select-answer").each(function(){var t=$(this).attr("data-questionid"),o=$(this).find(".question-answer").val(),e=$(this).closest(".wpeo-table").find(".question-comment").val();i[t]={answer:o,comment:e}});var e,n,a=window.saturne.toolbox.getToken();let s=document.URL.replace(/id=\d+/,"id="+o);for([e,n]of Object.entries(i))await window.digiquali.object.saveAnswer(e,n.answer,n.comment,s+"&action=save&token="+a);s=document.URL.replace(/id=\d+/,"id="+t),$.ajax({url:s,type:"GET",processData:!1,contentType:!1,data:[],success:function(t){$(".sub-control-"+o).replaceWith($(t).find(".sub-control-"+o)),$(".wpeo-loader").removeClass("wpeo-loader")}})},window.digiquali.control.showSubControlsModel=function(){$(".sub-controls-model").attr("style",""),$(".sub-controls-model").find(".select2-container").css("width","500px")},window.digiquali.object={},window.digiquali.object.init=function(){window.digiquali.object.event()},window.digiquali.object.event=function(){$(document).on("change",".object-table.linked-objects select",window.digiquali.object.disableOtherSelectors),$(document).on("click",".answer:not(.disable)",window.digiquali.object.selectAnswer),$(document).on("input",".input-answer:not(.disable)",window.digiquali.object.selectAnswer),$(document).on("keyup",".question-comment",window.digiquali.object.showCommentUnsaved),$(document).on("click",".verdict-box",window.digiquali.object.updateButtonsStatus)},window.digiquali.object.disableOtherSelectors=function(){var t=document.getElementById("createObjectForm"),t=new FormData(t),o=$(this).attr("id");0<=t.get(o)?$(".object-table.linked-objects").find("select").not("#"+o).attr("disabled",1):$(".object-table.linked-objects").find("select").not("#"+o).removeAttr("disabled")},window.digiquali.object.selectAnswer=function(){var o=$(this).closest(".select-answer.answer-cell"),t=o.attr("data-questionId"),e=$(this).closest(".table-id-"+t).attr("data-publicInterface"),i=$(this).closest(".table-id-"+t).attr("data-autoSave");let n="";var a=$(this).hasClass("answer")?$(this).attr("value"):$(this).val(),s=$(this).closest(".table-id-"+t).find("#comment"+t).val(),d=$(this).closest(".table-id-"+t).attr("data-control-id");if($(this).closest(".table-cell").hasClass("select-answer")){if($(this).hasClass("multiple-answers")){$(this).closest("span").toggleClass("active");let t=[];o.find(".multiple-answers.active").each(function(){t.push($(this).attr("value"))}),n=t}else $(this).closest(".table-cell").find(".answer.active").css("background-color","#fff"),$(this).closest(".table-cell").find("span").removeClass("active"),$(this).closest("span").addClass("active"),n=a;$(this).hasClass("active")?(o=$(this).closest(".answer-cell").find(".answer-color-"+$(this).attr("value")).val(),$(this).attr("style",$(this).attr("style")+" background:"+o+";")):$(this).attr("style",$(this).attr("style")+" background:#fff;"),$(this).closest(".answer-cell").find(".question-answer").val(n)}e||1!=i||$(this).hasClass("multiple-answers")?window.digiquali.object.updateButtonsStatus(d):window.digiquali.object.saveAnswer(t,n,s)},window.digiquali.object.showCommentUnsaved=function(){$(this).hasClass("show-comment-unsaved-message")||($(this).after('

Commentaire non enregistré

'),$(this).addClass("show-comment-unsaved-message")),window.digiquali.object.updateButtonsStatus()},window.digiquali.object.updateButtonsStatus=function(t){t=stringIsInteger(t)?t:$(this).attr("data-control-id"),$("#saveButton"+t).removeClass("butActionRefused"),$("#saveButton"+t).addClass("butAction"),$(".fa-circle").css("display","inline"),$("#saveButton"+t).attr("onclick",'$("#saveObject'+t+'").submit()'),$(".validateButton"+t).removeClass("butAction"),$("#dialog-confirm-actionButtonValidate"+t).removeAttr("id"),$(".validateButton"+t).addClass("butActionRefused")},window.digiquali.object.saveAnswer=function(t,o,e,i=""){var n=window.saturne.toolbox.getToken(),a=window.saturne.toolbox.getQuerySeparator(document.URL),a=i||document.URL+a+"action=save&token="+n;i.length<1&&window.saturne.loader.display($(".table-id-"+t)),$.ajax({url:a,type:"POST",data:JSON.stringify({autoSave:!0,questionId:t,answer:o,comment:e}),processData:!1,contentType:!1,success:function(t){i.length<1&&$(".fiche").replaceWith($(t).find(".fiche"))},error:function(){}})},window.digiquali.question={},window.digiquali.question.init=function(){window.digiquali.question.event()},window.digiquali.question.event=function(){$(document).on("click",".clicked-photo-preview",window.digiquali.question.previewPhoto),$(document).on("click",".ui-dialog-titlebar-close",window.digiquali.question.closePreviewPhoto),$(document).on("click","#show_photo",window.digiquali.question.showPhoto),$(document).on("click",".answer-picto .item, .wpeo-table .item",window.digiquali.question.selectAnswerPicto)},window.digiquali.question.previewPhoto=function(t){$(this).hasClass("photo-ok")?$("#dialogforpopup").attr("style","border: 10px solid #47e58e"):$(this).hasClass("photo-ko")&&$("#dialogforpopup").attr("style","border: 10px solid #e05353")},window.digiquali.question.closePreviewPhoto=function(t){$("#dialogforpopup").attr("style","border:")},window.digiquali.question.showPhoto=function(){var t=$(this).closest(".question-table").find(".linked-medias");t.hasClass("hidden")?(t.attr("style",""),t.removeClass("hidden")):(t.attr("style","display:none"),t.addClass("hidden"))},window.digiquali.question.selectAnswerPicto=function(t){var o=$(this).closest(".wpeo-dropdown");$(this).closest(".content").removeClass("active"),o.find(".dropdown-toggle span").hide(),o.find(".dropdown-toggle.button-picto").html($(this).closest(".wpeo-tooltip-event").html()),o.find(".input-hidden-picto").val($(this).data("label"))},window.digiquali.sheet={},window.digiquali.sheet.init=function(){window.digiquali.sheet.event()},window.digiquali.sheet.event=function(){}; \ No newline at end of file +window.digiquali||(window.digiquali={},window.digiquali.scriptsLoaded=!1),window.digiquali.scriptsLoaded||(window.digiquali.init=function(){window.digiquali.load_list_script()},window.digiquali.load_list_script=function(){if(!window.digiquali.scriptsLoaded){var t=void 0,o=void 0;for(t in window.digiquali)for(o in window.digiquali[t].init&&window.digiquali[t].init(),window.digiquali[t])window.digiquali[t]&&window.digiquali[t][o]&&window.digiquali[t][o].init&&window.digiquali[t][o].init();window.digiquali.scriptsLoaded=!0}},window.digiquali.refresh=function(){var t=void 0,o=void 0;for(t in window.digiquali)for(o in window.digiquali[t].refresh&&window.digiquali[t].refresh(),window.digiquali[t])window.digiquali[t]&&window.digiquali[t][o]&&window.digiquali[t][o].refresh&&window.digiquali[t][o].refresh()},$(document).ready(window.digiquali.init)),window.digiquali.control={},window.digiquali.control.init=function(){window.digiquali.control.event()},window.digiquali.control.event=function(){$(document).on("click",".validateButton",window.digiquali.control.getAnswerCounter),$(document).on("change","#fk_sheet",window.digiquali.control.showSelectObjectLinked),$(document).on("click",".clipboard-copy",window.digiquali.control.copyToClipboard),$(document).on("change","#productId",window.digiquali.control.refreshLotSelector),$(document).on("change",'[name="mass_control"]',window.digiquali.control.showSubControlsModel),$(document).on("click",".switch-public-control-view",window.digiquali.control.switchPublicControlView),$(document).on("click",".show-only-questions-with-no-answer",window.digiquali.control.showOnlyQuestionsWithNoAnswer),$(document).on("click",".photo-sheet-category",window.digiquali.control.getSheetCategoryID),$(document).on("click",".photo-sheet-sub-category",window.digiquali.control.getSheetSubCategoryID),$(document).on("click",".photo-sheet",window.digiquali.control.getSheetID),$(document).on("click",".saveSubControl:not(.butActionRefused)",window.digiquali.control.saveSubControl),$(document).on("click",".validateSubControl:not(.butActionRefused)",window.digiquali.control.validateSubControl),$(document).on("click",".reopenSubControl:not(.butActionRefused)",window.digiquali.control.reopenSubControl),$(document).on("click",".lockSubControl:not(.butActionRefused)",window.digiquali.control.lockSubControl),$(document).on("click",".saveSubControlAnswers",window.digiquali.control.saveSubControlAnswers),$(document).ready(function(){$(".verdict-box").on("click",function(t){$(this).hasClass("disabled")&&(t.stopPropagation(),t.preventDefault())})})},window.digiquali.control.getAnswerCounter=function(t){let o=0;jQuery("#tablelines").children().each(function(){0<$(this).find(".answer.active").length&&(o+=1)}),document.cookie="answerCounter="+o},window.digiquali.control.showSelectObjectLinked=function(){var t=$(this).val(),o=window.saturne.toolbox.getToken(),e=window.saturne.toolbox.getQuerySeparator(document.URL),e=document.URL+e+"fk_sheet="+t+"&token="+o;window.saturne.loader.display($(".linked-objects")),$.ajax({url:e,type:"POST",processData:!1,contentType:!1,success:function(t){$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.copyToClipboard=function(t){var o=$(".copy-to-clipboard").attr("value");navigator.clipboard.writeText(o).then(()=>{$(".clipboard-copy").animate({backgroundColor:"#59ed9c"},200,()=>{$(".clipboard-copy").attr("class","fas fa-check clipboard-copy"),$(this).tooltip({items:".clipboard-copy",content:$("#copyToClipboardTooltip").val()}),$(this).tooltip("open"),$(".clipboard-copy").attr("style","")})})},window.digiquali.control.refreshLotSelector=function(t){var o=document.getElementById("add_control_equipment"),o=new FormData(o),e=window.saturne.toolbox.getToken(),o=o.get("productId"),e=document.URL+"&token="+e;e+="&fk_product="+o,window.saturne.loader.display($(".product-lot")),$.ajax({url:e,type:"POST",processData:!1,contentType:!1,success:function(t){$(".product-lot").replaceWith($(t).find(".product-lot"))},error:function(){}})},window.digiquali.control.switchPublicControlView=function(t){var o=$(this).find(".public-control-view").val(),e=window.saturne.toolbox.getToken();let i=document.URL+"&token="+e;i+=0==o?"&show_control_list=1":"&show_last_control=1",window.saturne.loader.display($(".signature-container")),$.ajax({url:i,type:"POST",processData:!1,contentType:!1,success:function(t){$("#publicControlHistory").replaceWith($(t).find("#publicControlHistory"))},error:function(){}})},window.digiquali.control.showOnlyQuestionsWithNoAnswer=function(){var t=window.saturne.toolbox.getQuerySeparator(document.URL),o=window.saturne.toolbox.getToken();let e;e=$(this).hasClass("fa-toggle-off")?1:0,window.saturne.loader.display($(this)),$.ajax({url:document.URL+t+"action=show_only_questions_with_no_answer&token="+o,type:"POST",processData:!1,data:JSON.stringify({showOnlyQuestionsWithNoAnswer:e}),contentType:!1,success:function(t){$(".progress-info").replaceWith($(t).find(".progress-info")),$(".question-answer-container").replaceWith($(t).find(".question-answer-container"))},error:function(){}})},window.digiquali.control.getSheetCategoryID=function(){let o=$(this).attr("value");var t=window.saturne.toolbox.getToken(),e=window.saturne.toolbox.getQuerySeparator(document.URL);window.saturne.loader.display($(".sheet-images-container")),$.ajax({url:document.URL+e+"sheetCategoryID="+o+"&token="+t,type:"POST",processData:!1,contentType:!1,success:function(t){$(".sheet-images-container").replaceWith($(t).find(".sheet-images-container")),$(".photo-sheet-category[value="+o+"]").css("border","3px solid #0d8aff"),$(".photo-sheet-category[value="+o+"]").addClass("photo-sheet-category-active"),$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.getSheetSubCategoryID=function(){let o=$(".photo-sheet-category-active").attr("value"),e=$(this).attr("value");var t=window.saturne.toolbox.getToken(),i=window.saturne.toolbox.getQuerySeparator(document.URL);window.saturne.loader.display($(".sheet-images-container")),$.ajax({url:document.URL+i+"sheetCategoryID="+o+"&sheetSubCategoryID="+e+"&token="+t,type:"POST",processData:!1,contentType:!1,success:function(t){$(".sheet-images-container").replaceWith($(t).find(".sheet-images-container")),$(".photo-sheet-category[value="+o+"]").css("border","3px solid #0d8aff"),$(".photo-sheet-category[value="+o+"]").addClass("photo-sheet-category-active"),$(".photo-sheet-sub-category[value="+e+"]").css("border","3px solid #0d8aff"),$(".photo-sheet-sub-category[value="+e+"]").addClass("photo-sheet-sub-category-active"),$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.getSheetID=function(){let o=$(this).attr("data-object-id");var t=$(".photo-sheet-category-active").attr("value"),e=$(".photo-sheet-sub-category-active").attr("value"),i=window.saturne.toolbox.getToken(),n=window.saturne.toolbox.getQuerySeparator(document.URL);window.saturne.loader.display($(".sheet-elements")),window.saturne.loader.display($(".linked-objects")),$.ajax({url:document.URL+n+"fk_sheet="+o+"&sheetCategoryID="+t+"&sheetSubCategoryID="+e+"&token="+i,type:"POST",processData:!1,contentType:!1,success:function(t){$(".sheet-elements").replaceWith($(t).find(".sheet-elements")),$(".photo-sheet[data-object-id="+o+"]").css("border","3px solid #0d8aff"),$(".linked-objects").replaceWith($(t).find(".linked-objects"))},error:function(){}})},window.digiquali.control.saveSubControl=function(){let a=$(this).attr("data-control-id"),s=$(this).attr("data-main-control-id");var t=$(this).closest(".table-row").find(".note-public").val();let d=[];$(this).closest(".table-row").find(".select-answer").each(function(){var t=$(this).attr("data-questionid"),o=$(this).find(".question-answer").val(),e=$(this).closest(".wpeo-table").find(".question-comment").val();d[t]={answer:o,comment:e}});var o=$(this).closest(".table-row").find('.verdict-option input[type="radio"]:checked').val();let c=window.saturne.toolbox.getToken();window.saturne.loader.display($(this).closest(".table-row"));var e=document.URL.replace(/id=\d+/,"id="+a);$.ajax({url:e+"&token="+c+"&action=confirm_setVerdict&verdict="+o+"¬eControl="+t,type:"POST",processData:!1,contentType:!1,data:[],success:async function(t){for(var[o,e]of Object.entries(d)){var i=document.URL.replace(/id=\d+/,"id="+a);await window.digiquali.object.saveAnswer(o,e.answer,e.comment,i+"&action=save&token="+c)}var n=document.URL.replace(/id=\d+/,"id="+s);$.ajax({url:n,type:"GET",processData:!1,contentType:!1,data:[],success:function(t){$(".wpeo-loader").removeClass("wpeo-loader"),$(".sub-control-"+a).replaceWith($(t).find(".sub-control-"+a))}})},error:function(){}})},window.digiquali.control.lockSubControl=function(){let o=$(this).attr("data-control-id"),e=$(this).attr("data-main-control-id");var t=window.saturne.toolbox.getToken(),i=(window.saturne.loader.display($(this).closest(".table-row")),document.URL.replace(/id=\d+/,"id="+o));$.ajax({url:i+"&token="+t+"&action=confirm_lock",type:"POST",processData:!1,contentType:!1,data:[],success:function(){var t=document.URL.replace(/id=\d+/,"id="+e);$.ajax({url:t,type:"GET",processData:!1,contentType:!1,data:[],success:function(t){$(".sub-control-"+o).replaceWith($(t).find(".sub-control-"+o))}})},error:function(){}})},window.digiquali.control.validateSubControl=function(){let o=$(this).attr("data-control-id"),e=$(this).attr("data-main-control-id");var t=window.saturne.toolbox.getToken(),i=(window.saturne.loader.display($(this).closest(".table-row")),document.URL.replace(/id=\d+/,"id="+o));$.ajax({url:i+"&token="+t+"&action=confirm_validate&confirm=yes",type:"POST",processData:!1,contentType:!1,data:[],success:function(){var t=document.URL.replace(/id=\d+/,"id="+e);$.ajax({url:t,type:"GET",processData:!1,contentType:!1,data:[],success:function(t){$(".sub-control-"+o).replaceWith($(t).find(".sub-control-"+o))}})},error:function(){}})},window.digiquali.control.reopenSubControl=function(){let o=$(this).attr("data-control-id"),e=$(this).attr("data-main-control-id");var t=window.saturne.toolbox.getToken(),i=(window.saturne.loader.display($(this).closest(".table-row")),document.URL.replace(/id=\d+/,"id="+o));$.ajax({url:i+"&token="+t+"&action=confirm_set_reopen&confirm=yes",type:"POST",processData:!1,contentType:!1,data:[],success:function(){var t=document.URL.replace(/id=\d+/,"id="+e);$.ajax({url:t,type:"GET",processData:!1,contentType:!1,data:[],success:function(t){$(".sub-control-"+o).replaceWith($(t).find(".sub-control-"+o))}})},error:function(){}})},window.digiquali.control.saveSubControlAnswers=async function(){let o=$(this).attr("data-control-id");var t=$(this).attr("data-main-control-id");window.saturne.loader.display($(this));let i=[];$(this).closest(".table-row").find(".select-answer").each(function(){var t=$(this).attr("data-questionid"),o=$(this).find(".question-answer").val(),e=$(this).closest(".wpeo-table").find(".question-comment").val();i[t]={answer:o,comment:e}});var e,n,a=window.saturne.toolbox.getToken();let s=document.URL.replace(/id=\d+/,"id="+o);for([e,n]of Object.entries(i))await window.digiquali.object.saveAnswer(e,n.answer,n.comment,s+"&action=save&token="+a);s=document.URL.replace(/id=\d+/,"id="+t),$.ajax({url:s,type:"GET",processData:!1,contentType:!1,data:[],success:function(t){$(".sub-control-"+o).replaceWith($(t).find(".sub-control-"+o)),$(".wpeo-loader").removeClass("wpeo-loader")}})},window.digiquali.control.showSubControlsModel=function(){$(".sub-controls-model").attr("style",""),$(".sub-controls-model").find(".select2-container").css("width","500px")},window.digiquali.object={},window.digiquali.object.init=function(){window.digiquali.object.event()},window.digiquali.object.event=function(){$(document).on("change",".object-table.linked-objects select",window.digiquali.object.disableOtherSelectors),$(document).on("click",".answer:not(.disable)",window.digiquali.object.selectAnswer),$(document).on("input",".input-answer:not(.disable)",window.digiquali.object.selectAnswer),$(document).on("keyup",".question-comment",window.digiquali.object.showCommentUnsaved),$(document).on("click",".verdict-box",window.digiquali.object.updateButtonsStatus)},window.digiquali.object.disableOtherSelectors=function(){var t=document.getElementById("createObjectForm"),t=new FormData(t),o=$(this).attr("id");0<=t.get(o)?$(".object-table.linked-objects").find("select").not("#"+o).attr("disabled",1):$(".object-table.linked-objects").find("select").not("#"+o).removeAttr("disabled")},window.digiquali.object.selectAnswer=function(){var o=$(this).closest(".select-answer.answer-cell"),t=o.attr("data-questionId"),e=$(this).closest(".table-id-"+t).attr("data-publicInterface"),i=$(this).closest(".table-id-"+t).attr("data-autoSave");let n="";var a=$(this).hasClass("answer")?$(this).attr("value"):$(this).val(),s=$(this).closest(".table-id-"+t).find("#comment"+t).val(),d=$(this).closest(".table-id-"+t).attr("data-control-id");if($(this).closest(".table-cell").hasClass("select-answer")){if($(this).hasClass("multiple-answers")){$(this).closest("span").toggleClass("active");let t=[];o.find(".multiple-answers.active").each(function(){t.push($(this).attr("value"))}),n=t}else $(this).closest(".table-cell").find(".answer.active").css("background-color","#fff"),$(this).closest(".table-cell").find("span").removeClass("active"),$(this).closest("span").addClass("active"),n=a;$(this).hasClass("active")?(o=$(this).closest(".answer-cell").find(".answer-color-"+$(this).attr("value")).val(),$(this).attr("style",$(this).attr("style")+" background:"+o+";")):$(this).attr("style",$(this).attr("style")+" background:#fff;"),$(this).closest(".answer-cell").find(".question-answer").val(n)}e||1!=i||$(this).hasClass("multiple-answers")?window.digiquali.object.updateButtonsStatus(d):window.digiquali.object.saveAnswer(t,n,s)},window.digiquali.object.showCommentUnsaved=function(){$(this).hasClass("show-comment-unsaved-message")||($(this).after('

Commentaire non enregistré

'),$(this).addClass("show-comment-unsaved-message")),window.digiquali.object.updateButtonsStatus()},window.digiquali.object.updateButtonsStatus=function(t){t=stringIsInteger(t)?t:$(this).attr("data-control-id"),$("#saveButton"+t).removeClass("butActionRefused"),$("#saveButton"+t).addClass("butAction"),$(".fa-circle").css("display","inline"),$("#saveButton"+t).attr("onclick",'$("#saveObject'+t+'").submit()'),$(".validateButton"+t).removeClass("butAction"),$("#dialog-confirm-actionButtonValidate"+t).removeAttr("id"),$(".validateButton"+t).addClass("butActionRefused")},window.digiquali.object.saveAnswer=function(t,o,e,i=""){var n=window.saturne.toolbox.getToken(),a=window.saturne.toolbox.getQuerySeparator(document.URL),a=i||document.URL+a+"action=save&token="+n;i.length<1&&window.saturne.loader.display($(".table-id-"+t)),$.ajax({url:a,type:"POST",data:JSON.stringify({autoSave:!0,questionId:t,answer:o,comment:e}),processData:!1,contentType:!1,success:function(t){i.length<1&&$(".fiche").replaceWith($(t).find(".fiche"))},error:function(){}})},window.digiquali.question={},window.digiquali.question.init=function(){window.digiquali.question.event()},window.digiquali.question.event=function(){$(document).on("click",".clicked-photo-preview",window.digiquali.question.previewPhoto),$(document).on("click",".ui-dialog-titlebar-close",window.digiquali.question.closePreviewPhoto),$(document).on("click","#show_photo",window.digiquali.question.showPhoto),$(document).on("click",".answer-picto .item, .wpeo-table .item",window.digiquali.question.selectAnswerPicto)},window.digiquali.question.previewPhoto=function(t){$(this).hasClass("photo-ok")?$("#dialogforpopup").attr("style","border: 10px solid #47e58e"):$(this).hasClass("photo-ko")&&$("#dialogforpopup").attr("style","border: 10px solid #e05353")},window.digiquali.question.closePreviewPhoto=function(t){$("#dialogforpopup").attr("style","border:")},window.digiquali.question.showPhoto=function(){var t=$(this).closest(".question-table").find(".linked-medias");t.hasClass("hidden")?(t.attr("style",""),t.removeClass("hidden")):(t.attr("style","display:none"),t.addClass("hidden"))},window.digiquali.question.selectAnswerPicto=function(t){var o=$(this).closest(".wpeo-dropdown");$(this).closest(".content").removeClass("active"),o.find(".dropdown-toggle span").hide(),o.find(".dropdown-toggle.button-picto").html($(this).closest(".wpeo-tooltip-event").html()),o.find(".input-hidden-picto").val($(this).data("label"))},window.digiquali.sheet={},window.digiquali.sheet.init=function(){window.digiquali.sheet.event()},window.digiquali.sheet.event=function(){}; \ No newline at end of file diff --git a/js/modules/control.js b/js/modules/control.js index 5e9e67e2..a46f61a8 100644 --- a/js/modules/control.js +++ b/js/modules/control.js @@ -47,7 +47,7 @@ window.digiquali.control.event = function() { $('.verdict-box').on('click', function(event) { if ($(this).hasClass('disabled')) { event.stopPropagation(); - event.preventDefault(); + event.preventDefault(); } }); }); @@ -331,8 +331,8 @@ window.digiquali.control.getSheetID = function() { /** * Save sub control * - * @since 1.10.0 - * @version 1.10.0 + * @since 1.15.0 + * @version 1.15.0 * * @return {void} */ @@ -340,7 +340,7 @@ window.digiquali.control.saveSubControl = function() { let subControlID = $(this).attr('data-control-id'); let mainControlId = $(this).attr('data-main-control-id'); let notePublic = $(this).closest('.table-row').find('.note-public').val(); - // get input checked + let questionIds = []; $(this).closest('.table-row').find('.select-answer').each(function() { let questionId = $(this).attr('data-questionid'); @@ -391,8 +391,8 @@ window.digiquali.control.saveSubControl = function() { /** * Lock sub control * - * @since 1.10.0 - * @version 1.10.0 + * @since 1.15.0 + * @version 1.15.0 * * @return {void} */ @@ -410,7 +410,7 @@ window.digiquali.control.lockSubControl = function() { processData: false, contentType: false, data: [], - success: function (resp) { + success: function () { let url = document.URL.replace(/id=\d+/, 'id=' + mainControlId); $.ajax({ url: url, @@ -431,8 +431,8 @@ window.digiquali.control.lockSubControl = function() { /** * Validate sub control * - * @since 1.10.0 - * @version 1.10.0 + * @since 1.15.0 + * @version 1.15.0 * * @return {void} */ @@ -450,7 +450,7 @@ window.digiquali.control.validateSubControl = function() { processData: false, contentType: false, data: [], - success: function (resp) { + success: function () { let url = document.URL.replace(/id=\d+/, 'id=' + mainControlId); $.ajax({ url: url, @@ -471,8 +471,8 @@ window.digiquali.control.validateSubControl = function() { /** * Reopen sub control * - * @since 1.10.0 - * @version 1.10.0 + * @since 1.15.0 + * @version 1.15.0 * * @return {void} */ @@ -490,7 +490,7 @@ window.digiquali.control.reopenSubControl = function() { processData: false, contentType: false, data: [], - success: function (resp) { + success: function () { let url = document.URL.replace(/id=\d+/, 'id=' + mainControlId); $.ajax({ url: url, @@ -511,8 +511,8 @@ window.digiquali.control.reopenSubControl = function() { /** * Save sub control answers * - * @since 1.10.0 - * @version 1.10.0 + * @since 1.15.0 + * @version 1.15.0 * * @return {void} */ @@ -521,6 +521,7 @@ window.digiquali.control.saveSubControlAnswers = async function() { let mainControlId = $(this).attr('data-main-control-id'); window.saturne.loader.display($(this)); + let questionIds = []; $(this).closest('.table-row').find('.select-answer').each(function () { let questionId = $(this).attr('data-questionid'); @@ -559,8 +560,8 @@ window.digiquali.control.saveSubControlAnswers = async function() { /** * Show sub controls model * - * @since 1.10.0 - * @version 1.10.0 + * @since 1.15.0 + * @version 1.15.0 * * @return {void} */ diff --git a/sql/update.sql b/sql/update.sql index 89f19ec9..b9e16e34 100644 --- a/sql/update.sql +++ b/sql/update.sql @@ -128,7 +128,7 @@ ALTER TABLE `llx_digiquali_survey` ADD `success_rate` DOUBLE(24,8) NULL AFTER `p -- 1.13.0 ALTER TABLE `llx_digiquali_control` ADD `label` VARCHAR(255) NULL AFTER `status`; --- 1.14.0 +-- 1.15.0 ALTER TABLE `llx_digiquali_control` ADD `mass_control` BOOLEAN NULL AFTER `success_rate`; ALTER TABLE `llx_digiquali_control` ADD `fk_control` INTEGER NULL AFTER `mass_control`; ALTER TABLE llx_digiquali_control ADD CONSTRAINT llx_digiquali_control_fk_control FOREIGN KEY (fk_control) REFERENCES llx_digiquali_control(rowid); diff --git a/view/control/control_card.php b/view/control/control_card.php index 2bd890b9..55ff4d65 100644 --- a/view/control/control_card.php +++ b/view/control/control_card.php @@ -235,7 +235,7 @@ $object->verdict = GETPOST('verdict', 'int') ?: null; $object->note_public .= (!empty($object->note_public) ? chr(0x0A) : '') . GETPOST('noteControl'); $result = $object->update($user); - if ($result > 0) { + if ($result > 0) { // Set verdict Control $object->call_trigger('CONTROL_VERDICT', $user); $urltogo = str_replace('__ID__', $result, $backtopage); @@ -285,11 +285,13 @@ $objectId = $post; $controlToCreate = new Control($db); - $controlToCreate->fk_sheet = GETPOST('fk_sub_controls_sheet'); - $controlToCreate->label = $object->label; - $controlToCreate->status = $object::STATUS_DRAFT; + + $controlToCreate->fk_sheet = GETPOST('fk_sub_controls_sheet'); + $controlToCreate->label = $object->label; + $controlToCreate->status = $object::STATUS_DRAFT; $controlToCreate->fk_user_controller = $object->fk_user_controller; - $controlToCreate->fk_control = $object->id; + $controlToCreate->fk_control = $object->id; + $controlId = $controlToCreate->create($user, true); $controlToCreate->add_object_linked($linkableElement['link_name'], $objectId);