public function getListDocuments(Vtiger_Request $request) { require_once 'modules/OSSDocumentControl/helpers/Conditions.php'; $relatedModuleName = $request->get('rel_module'); $moduleName = $request->getModule(); $record = $request->get('record'); $conditions = new Conditions(); $documentList = $conditions->getListDocForModule($relatedModuleName); for ($i = 0; $i < count($documentList); $i++) { if (mb_strlen($documentList[$i]['doc_name']) > 20) { $documentList[$i]['doc_short_name'] = substr($documentList[$i]['doc_name'], 0, 15) . '...'; } else { $documentList[$i]['doc_short_name'] = $documentList[$i]['doc_name']; } } for ($i = 0; $i < count($documentList); $i++) { $documentList[$i]['is_attach'] = $conditions->docIsAttachet($record, $documentList[$i]['doc_folder'], $documentList[$i]['doc_name']); $documentList[$i]['status'] = $conditions->docStatus($record, $documentList[$i]['doc_folder'], $documentList[$i]['doc_name']); } $viewer = $this->getViewer($request); $viewer->assign('MODULE', $moduleName); $viewer->assign('DOC_LIST', $documentList); return $viewer->view('GetListDocuments.tpl', $moduleName, 'true'); }
public function process(Vtiger_Request $request) { require_once 'modules/OSSDocumentControl/helpers/Conditions.php'; $moduleName = $request->getModule(); $relModuleName = $request->get('rel_module'); $record = $request->get('record'); $form = $request->get('form'); $conditions = new Conditions(); $listDoc = $conditions->getListDocForModule($relModuleName, true); $notAttachDoc = array(); $conditionCheckTab = array(); for ($i = 0; $i < count($listDoc); $i++) { $conditionCheckTab[] = $conditions->checkConditionsForDoc($listDoc[$i]['doc_id'], $form); } $passCondition = true; for ($i = 0; $i < count($conditionCheckTab); $i++) { if (false == $conditionCheckTab[$i]['test']) { $passCondition = false; } } $passAttach = true; for ($i = 0; $i < count($conditionCheckTab); $i++) { if ($conditionCheckTab[$i]['test'] && '1' == $conditionCheckTab[$i]['doc_request']) { $isAttach = $conditions->docIsAttachet($record, $conditionCheckTab[$i]['folderid'], $conditionCheckTab[$i]['name']); if (!$isAttach) { $passAttach = false; $notAttachDoc[] = $conditionCheckTab[$i]['name']; } } } //var_dump($notAttachDoc, $pasCondition); $output = array('condition_allow' => $passAttach && $passCondition, 'not_attach_doc_list' => $notAttachDoc, 'tr' => array(vtranslate('NOT_ALLOW_TO_SAVE', $moduleName), vtranslate('LIST_REQ_DOC', $moduleName)), 'passAttach' => $passAttach, 'passCondition' => $passCondition); $response = new Vtiger_Response(); $response->setResult($output); $response->emit(); }