Exemplo n.º 1
0
 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');
 }
Exemplo n.º 2
0
 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();
 }