Example #1
0
 /**
  * Function that saves SMS records
  * @param Vtiger_Request $request
  */
 public function process(Vtiger_Request $request)
 {
     $moduleName = $request->getModule();
     $currentUserModel = Users_Record_Model::getCurrentUserModel();
     $recordIds = $this->getRecordsListFromRequest($request);
     $phoneFieldList = $request->get('fields');
     $message = $request->get('message');
     foreach ($recordIds as $recordId) {
         $recordModel = Vtiger_Record_Model::getInstanceById($recordId);
         $numberSelected = false;
         foreach ($phoneFieldList as $fieldname) {
             $fieldValue = $recordModel->get($fieldname);
             if (!empty($fieldValue)) {
                 $toNumbers[] = $fieldValue;
                 $numberSelected = true;
             }
         }
         if ($numberSelected) {
             $recordIds[] = $recordId;
         }
     }
     $response = new Vtiger_Response();
     if (!empty($toNumbers)) {
         SMSNotifier_Record_Model::SendSMS($message, $toNumbers, $currentUserModel->getId(), $recordIds, $moduleName);
         $response->setResult(true);
     } else {
         $response->setResult(false);
     }
     return $response;
 }
Example #2
0
 /**
  * Process the request for displaying UI
  * @global String $moduleName
  * @param Vtiger_Request $request
  * @return MailManager_Response
  */
 public function process(Vtiger_Request $request)
 {
     $moduleName = $request->getModule();
     $response = new Vtiger_Response();
     $viewer = $this->getViewer($request);
     if ($this->getOperationArg($request) == "_quicklinks") {
         $content = $viewer->view('MainuiQuickLinks.tpl', $moduleName, true);
         $response->setResult(array('ui' => $content));
         return $response;
     } else {
         if ($this->hasMailboxModel()) {
             $connector = $this->getConnector();
             if ($connector->hasError()) {
                 $viewer->assign('ERROR', $connector->lastError());
             } else {
                 $folders = $connector->folders();
                 $connector->updateFolders();
                 $viewer->assign('FOLDERS', $folders);
             }
             $this->closeConnector();
         }
         $viewer->assign('MODULE', $moduleName);
         $content = $viewer->view('Mainui.tpl', $moduleName, true);
         $response->setResult(array('mailbox' => $this->hasMailboxModel(), 'ui' => $content));
         return $response;
     }
 }
Example #3
0
 /**
  * Save date
  * @param <Object> $request
  * @return true if saved, false otherwise
  */
 public function save(Vtiger_Request $request)
 {
     $response = new Vtiger_Response();
     $moduleName = 'Settings:' . $request->getModule();
     try {
         $id = $request->get('holidayId');
         $date = DateTimeField::convertToDBFormat($request->get('holidayDate'));
         $name = $request->get('holidayName');
         $type = $request->get('holidayType');
         if (empty($name) || empty($date)) {
             $response->setResult(array('success' => false, 'message' => vtranslate('LBL_FILL_FORM_ERROR', $moduleName)));
         } else {
             if (!empty($id)) {
                 if (Settings_PublicHoliday_Module_Model::edit($id, $date, $name, $type)) {
                     $response->setResult(array('success' => true, 'message' => vtranslate('LBL_EDIT_DATE_OK', $moduleName)));
                 } else {
                     $response->setResult(array('success' => false, 'message' => vtranslate('LBL_EDIT_DATE_ERROR', $moduleName)));
                 }
             } else {
                 if (Settings_PublicHoliday_Module_Model::save($date, $name, $type)) {
                     $response->setResult(array('success' => true, 'message' => vtranslate('LBL_NEW_DATE_OK', $moduleName)));
                 } else {
                     $response->setResult(array('success' => false, 'message' => vtranslate('LBL_NEW_DATE_ERROR', $moduleName)));
                 }
             }
         }
     } catch (Exception $e) {
         $response->setError($e->getCode(), $e->getMessage());
     }
     $response->emit();
 }
 /**
  * Process the request for Folder opertions
  * @global <type> $list_max_entries_per_page
  * @param MailManager_Request $request
  * @return MailManager_Response
  */
 function process(MailManager_Request $request)
 {
     global $list_max_entries_per_page, $current_user;
     $response = new Vtiger_Response();
     if ('open' == $request->getOperationArg()) {
         $q = $request->get('q');
         $foldername = $request->get('_folder');
         $type = $request->get('type');
         $connector = $this->getConnector($foldername);
         $folder = $connector->folderInstance($foldername);
         if (empty($q)) {
             $connector->folderMails($folder, intval($request->get('_page', 0)), $list_max_entries_per_page);
         } else {
             if (empty($type)) {
                 $type = 'ALL';
             }
             if ($type == 'ON') {
                 $dateFormat = $current_user->date_format;
                 if ($dateFormat == 'mm-dd-yyyy') {
                     $dateArray = explode('-', $q);
                     $temp = $dateArray[0];
                     $dateArray[0] = $dateArray[1];
                     $dateArray[1] = $temp;
                     $q = implode('-', $dateArray);
                 }
                 $query = date('d M Y', strtotime($q));
                 $q = '' . $type . ' "' . vtlib_purify($query) . '"';
             } else {
                 $q = '' . $type . ' "' . vtlib_purify($q) . '"';
             }
             $connector->searchMails($q, $folder, intval($request->get('_page', 0)), $list_max_entries_per_page);
         }
         $folderList = $connector->getFolderList();
         $viewer = $this->getViewer();
         $viewer->assign('TYPE', $type);
         $viewer->assign('QUERY', $request->get('q'));
         $viewer->assign('FOLDER', $folder);
         $viewer->assign('FOLDERLIST', $folderList);
         $viewer->assign('SEARCHOPTIONS', self::getSearchOptions());
         $viewer->assign("JS_DATEFORMAT", parse_calendardate(getTranslatedString('NTC_DATE_FORMAT')));
         $response->setResult($viewer->fetch($this->getModuleTpl('FolderOpen.tpl')));
     } elseif ('drafts' == $request->getOperationArg()) {
         $q = $request->get('q');
         $type = $request->get('type');
         $page = intval($request->get('_page', 0));
         $connector = $this->getConnector('__vt_drafts');
         $folder = $connector->folderInstance();
         if (empty($q)) {
             $draftMails = $connector->getDrafts($page, $list_max_entries_per_page, $folder);
         } else {
             $draftMails = $connector->searchDraftMails($q, $type, $page, $list_max_entries_per_page, $folder);
         }
         $viewer = $this->getViewer();
         $viewer->assign('MAILS', $draftMails);
         $viewer->assign('FOLDER', $folder);
         $viewer->assign('SEARCHOPTIONS', MailManager_DraftController::getSearchOptions());
         $response->setResult($viewer->fetch($this->getModuleTpl('FolderDrafts.tpl')));
     }
     return $response;
 }
Example #5
0
 function process(Vtiger_Request $request)
 {
     $db = PearDatabase::getInstance();
     $response = new Vtiger_Response();
     $result = $db->pquery('SELECT 1 FROM vtiger_smsnotifier_servers WHERE isactive = 1', array());
     if ($db->num_rows($result)) {
         $response->setResult(true);
     } else {
         $response->setResult(false);
     }
     return $response;
 }
 function process(Vtiger_Request $request)
 {
     $db = PearDatabase::getInstance();
     $response = new Vtiger_Response();
     $result = $db->pquery('SELECT 1 FROM vtiger_systems WHERE server_type = ?', array('email'));
     if ($db->num_rows($result)) {
         $response->setResult(true);
     } else {
         $response->setResult(false);
     }
     return $response;
 }
Example #7
0
 public function process(Vtiger_Request $request)
 {
     $recordId = $request->get('record');
     $response = new Vtiger_Response();
     $recordModel = Vtiger_PDF_Model::getInstanceById($recordId);
     if (Settings_PDF_Record_Model::delete($recordModel)) {
         $response->setResult(array('success' => 'true'));
     } else {
         $response->setResult(array('success' => 'false'));
     }
     $response->emit();
 }
Example #8
0
 public function process(Vtiger_Request $request)
 {
     $recordId = $request->get('record');
     $response = new Vtiger_Response();
     $moduleInstance = Settings_MappedFields_Module_Model::getInstanceById($recordId);
     if ($moduleInstance->delete()) {
         $response->setResult(array('success' => 'true'));
     } else {
         $response->setResult(array('success' => 'false'));
     }
     $response->emit();
 }
Example #9
0
 public function checkDuplicate(Vtiger_Request $request)
 {
     $profileName = $request->get('profilename');
     $recordId = $request->get('record');
     $recordModel = Settings_Profiles_Record_Model::getInstanceByName($profileName, false, array($recordId));
     $response = new Vtiger_Response();
     if (!empty($recordModel)) {
         $response->setResult(array('success' => true, 'message' => vtranslate('LBL_DUPLICATES_EXIST', $request->getModule(false))));
     } else {
         $response->setResult(array('success' => false));
     }
     $response->emit();
 }
Example #10
0
 public function changeActiveStatus(Vtiger_Request $request)
 {
     $id = $request->get('id');
     $status = $request->get('status');
     $moduleModel = new Settings_ModTracker_Module_Model();
     $moduleModel->changeActiveStatus($id, $status == 'true' ? 1 : 0);
     $response = new Vtiger_Response();
     if ($status == 'true') {
         $response->setResult(array('success' => true, 'message' => vtranslate('LBL_TRACK_CHANGES_ENABLED', $request->getModule(false))));
     } else {
         $response->setResult(array('success' => true, 'message' => vtranslate('LBL_TRACK_CHANGES_DISABLE', $request->getModule(false))));
     }
     $response->emit();
 }
Example #11
0
 public function process(Vtiger_Request $request)
 {
     $record = $request->get('record');
     $sourceModule = $request->get('source_module');
     $response = new Vtiger_Response();
     $permitted = Users_Privileges_Model::isPermitted($sourceModule, 'DetailView', $record);
     if ($permitted) {
         $recordModel = Vtiger_Record_Model::getInstanceById($record, $sourceModule);
         $data = $recordModel->getData();
         $response->setResult(array('success' => true, 'data' => array_map('decode_html', $data)));
     } else {
         $response->setResult(array('success' => false, 'message' => vtranslate('LBL_PERMISSION_DENIED')));
     }
     $response->emit();
 }
Example #12
0
 public function getSecretKey(Vtiger_Request $request)
 {
     $serverModel = PBXManager_Server_Model::getInstance();
     $response = new Vtiger_Response();
     $vtigersecretkey = $serverModel->get('vtigersecretkey');
     if ($vtigersecretkey) {
         $connector = $serverModel->getConnector();
         $vtigersecretkey = $connector->getVtigerSecretKey();
         $response->setResult($vtigersecretkey);
     } else {
         $vtigersecretkey = PBXManager_Server_Model::generateVtigerSecretKey();
         $response->setResult($vtigersecretkey);
     }
     $response->emit();
 }
 public function process(Vtiger_Request $request)
 {
     $mode = $request->get('mode');
     $name = 'Settings_CurrencyUpdate_models_' . $request->get('name') . '_BankModel';
     $moduleModel = Settings_CurrencyUpdate_Module_Model::getCleanInstance();
     $response = new Vtiger_Response();
     if ($mode == 'supported') {
         $supported = $moduleModel->getSupportedCurrencies($name);
         $response->setResult($supported);
     } else {
         $unsupported = $moduleModel->getUnSupportedCurrencies($name);
         $response->setResult($unsupported);
     }
     $response->emit();
 }
Example #14
0
 public function process(Vtiger_Request $request)
 {
     $response = new Vtiger_Response();
     $moduleName = $request->getModule();
     $url = $request->get('feedurl');
     $recordModel = Rss_Record_Model::getCleanInstance($moduleName);
     $result = $recordModel->validateRssUrl($url);
     if ($result) {
         $recordModel->save($url);
         $response->setResult(array('success' => true, 'message' => vtranslate('JS_RSS_SUCCESSFULLY_SAVED', $moduleName), 'id' => $recordModel->getId()));
     } else {
         $response->setResult(array('success' => false, 'message' => vtranslate('JS_INVALID_RSS_URL', $moduleName)));
     }
     $response->emit();
 }
Example #15
0
 function process(Vtiger_Request $request)
 {
     $recordId = $request->get('record');
     $idList = $request->get('idlist');
     $currencyId = $request->get('currency_id');
     $currencies = Inventory_Module_Model::getAllCurrencies();
     $conversionRate = 1;
     $response = new Vtiger_Response();
     if (empty($idList)) {
         $recordModel = Vtiger_Record_Model::getInstanceById($recordId);
         $taxes = $recordModel->getTaxes();
         $listPriceValues = $recordModel->getListPriceValues($recordModel->getId());
         $priceDetails = $recordModel->getPriceDetails();
         foreach ($priceDetails as $currencyDetails) {
             if ($currencyId == $currencyDetails['curid']) {
                 $conversionRate = $currencyDetails['conversionrate'];
             }
         }
         $listPrice = (double) $recordModel->get('unit_price') * (double) $conversionRate;
         if ($recordModel->has('usageunit')) {
             $usageUnit = vtranslate($recordModel->get('usageunit'), 'Products');
         } else {
             $usageUnit = vtranslate($recordModel->get('service_usageunit'), 'Services');
         }
         $response->setResult(array($recordId => array('id' => $recordId, 'name' => decode_html($recordModel->getName()), 'taxes' => $taxes, 'listprice' => $listPrice, 'listpricevalues' => $listPriceValues, 'description' => decode_html($recordModel->get('description')), 'quantityInStock' => $recordModel->get('qtyinstock'), 'usageunit' => $usageUnit)));
     } else {
         foreach ($idList as $id) {
             $recordModel = Vtiger_Record_Model::getInstanceById($id);
             $taxes = $recordModel->getTaxes();
             $listPriceValues = $recordModel->getListPriceValues($recordModel->getId());
             $priceDetails = $recordModel->getPriceDetails();
             foreach ($priceDetails as $currencyDetails) {
                 if ($currencyId == $currencyDetails['curid']) {
                     $conversionRate = $currencyDetails['conversionrate'];
                 }
             }
             $listPrice = (double) $recordModel->get('unit_price') * (double) $conversionRate;
             if ($recordModel->has('usageunit')) {
                 $usageUnit = vtranslate($recordModel->get('usageunit'), 'Products');
             } else {
                 $usageUnit = vtranslate($recordModel->get('service_usageunit'), 'Services');
             }
             $info[] = array($id => array('id' => $id, 'name' => decode_html($recordModel->getName()), 'taxes' => $taxes, 'listprice' => $listPrice, 'listpricevalues' => $listPriceValues, 'description' => decode_html($recordModel->get('description')), 'quantityInStock' => $recordModel->get('qtyinstock'), 'usageunit' => $usageUnit));
         }
         $response->setResult($info);
     }
     $response->emit();
 }
 public function process(Vtiger_Request $request)
 {
     $recordId = $request->get('record');
     $qualifiedModuleName = $request->getModule(false);
     if ($recordId) {
         $recordModel = Settings_MailConverter_Record_Model::getInstanceById($recordId);
     } else {
         $recordModel = Settings_MailConverter_Record_Model::getCleanInstance();
     }
     $recordModel->set('scannerOldName', $request->get('scannerOldName'));
     $fieldsList = $recordModel->getModule()->getFields();
     foreach ($fieldsList as $fieldName => $fieldModel) {
         $recordModel->set($fieldName, $request->get($fieldName));
     }
     $status = $recordModel->save();
     $response = new Vtiger_Response();
     if ($status) {
         $result = array('message' => vtranslate('LBL_SAVED_SUCCESSFULLY', $qualifiedModuleName));
         $result['id'] = $recordModel->getId();
         $response->setResult($result);
     } else {
         $response->setError(vtranslate('LBL_CONNECTION_TO_MAILBOX_FAILED', $qualifiedModuleName));
     }
     $response->emit();
 }
Example #17
0
 public function process(Vtiger_Request $request)
 {
     $moduleName = $request->getModule();
     $moduleModel = Vtiger_Module_Model::getInstance($moduleName);
     if ($request->get('selected_ids') == 'all' && $request->get('mode') == 'FindDuplicates') {
         $recordIds = Vtiger_FindDuplicate_Model::getMassDeleteRecords($request);
     } else {
         $recordIds = $this->getRecordsListFromRequest($request);
     }
     foreach ($recordIds as $recordId) {
         if (Users_Privileges_Model::isPermitted($moduleName, 'Delete', $recordId)) {
             $recordModel = Vtiger_Record_Model::getInstanceById($recordId, $moduleModel);
             $recordModel->delete();
         } else {
             $permission = 'No';
         }
     }
     if ($permission === 'No') {
         throw new AppException(vtranslate('LBL_PERMISSION_DENIED'));
     }
     $cvId = $request->get('viewname');
     $response = new Vtiger_Response();
     $response->setResult(array('viewname' => $cvId, 'module' => $moduleName));
     $response->emit();
 }
Example #18
0
 public function process(Vtiger_Request $request)
 {
     //Make temp directory if it does not exist
     $this->makeTempDirectory();
     //Get base directory name
     $dirname = $this->getDirectoryName($request);
     //Get module object
     $o_module = $this->getModule($request);
     //Make directories
     $this->makeDirectories($dirname, $o_module->name);
     //Get module directory
     $module_dir = $this->getModuleDirectory($dirname, $o_module);
     //Save JSON module structure
     $this->saveJsonStructure($dirname, $module_dir, $o_module);
     //Save XML Manifest
     $this->saveXmlManifest($dirname, $request->getModule(), $module_dir, $o_module);
     //Make module directory
     $this->makeModuleDirectory($dirname, $request->getModule(), $module_dir, $o_module);
     //Plugins handle
     $this->executePlugins($dirname, $module_dir, $request->getModule(), $o_module);
     //Create module zip package
     $zipfilename = $this->createZipPackage($dirname, $o_module);
     //Make JSON response
     $response = new Vtiger_Response();
     if (!empty($zipfilename)) {
         $response->setResult(array('zipFileName' => $zipfilename));
     }
     $response->emit();
 }
Example #19
0
 function NoteBookCreate(Vtiger_Request $request)
 {
     $adb = PearDatabase::getInstance();
     $userModel = Users_Record_Model::getCurrentUserModel();
     $linkId = $request->get('linkId');
     $noteBookName = $request->get('notePadName');
     $noteBookContent = $request->get('notePadContent');
     $blockid = $request->get('blockid');
     $isdefault = $request->get('isdefault');
     $width = $request->get('width');
     $height = $request->get('height');
     $date_var = date("Y-m-d H:i:s");
     $date = $adb->formatDate($date_var, true);
     $dataValue = array();
     $dataValue['contents'] = $noteBookContent;
     $dataValue['lastSavedOn'] = $date;
     $data = Zend_Json::encode((object) $dataValue);
     $size = Zend_Json::encode(array('width' => $width, 'height' => $height));
     $query = "INSERT INTO vtiger_module_dashboard(`linkid`, `blockid`, `filterid`, `title`, `data`, `isdefault`, `size`) VALUES(?,?,?,?,?,?,?)";
     $params = array($linkId, $blockid, 0, $noteBookName, $data, $isdefault, $size);
     $adb->pquery($query, $params);
     $id = $adb->getLastInsertID();
     $result = array();
     $result['success'] = TRUE;
     $result['widgetId'] = $id;
     $response = new Vtiger_Response();
     $response->setResult($result);
     $response->emit();
 }
Example #20
0
 public function process(Vtiger_Request $request)
 {
     $recordModel = $this->saveRecord($request);
     $fieldModelList = $recordModel->getModule()->getFields();
     $result = array();
     foreach ($fieldModelList as $fieldName => $fieldModel) {
         $recordFieldValue = $recordModel->get($fieldName);
         if (is_array($recordFieldValue) && $fieldModel->getFieldDataType() == 'multipicklist') {
             $recordFieldValue = implode(' |##| ', $recordFieldValue);
         }
         if (is_array($recordFieldValue) && $fieldModel->getFieldDataType() == 'sharedOwner') {
             $recordFieldValue = implode(',', $recordFieldValue);
         }
         $fieldValue = $displayValue = Vtiger_Util_Helper::toSafeHTML($recordFieldValue);
         if ($fieldModel->getFieldDataType() !== 'currency' && $fieldModel->getFieldDataType() !== 'datetime' && $fieldModel->getFieldDataType() !== 'date') {
             $displayValue = $fieldModel->getDisplayValue($fieldValue, $recordModel->getId());
         }
         $result[$fieldName] = array('value' => $fieldValue, 'display_value' => $displayValue);
     }
     //Handling salutation type
     if ($request->get('field') === 'firstname' && in_array($request->getModule(), array('Contacts'))) {
         $salutationType = $recordModel->getDisplayValue('salutationtype');
         $firstNameDetails = $result['firstname'];
         $firstNameDetails['display_value'] = $salutationType . " " . $firstNameDetails['display_value'];
         if ($salutationType != '--None--') {
             $result['firstname'] = $firstNameDetails;
         }
     }
     $result['_recordLabel'] = $recordModel->getName();
     $result['_recordId'] = $recordModel->getId();
     $response = new Vtiger_Response();
     $response->setEmitType(Vtiger_Response::$EMIT_JSON);
     $response->setResult($result);
     $response->emit();
 }
Example #21
0
 public function process(Vtiger_Request $request)
 {
     $recordModel = Vtiger_Record_Model::getCleanInstance('OSSMailScanner');
     $response = new Vtiger_Response();
     $response->setResult($recordModel->executeCron(Users_Record_Model::getCurrentUserModel()->user_name));
     $response->emit();
 }
 function process(Vtiger_Request $request)
 {
     $moduleName = $request->getModule();
     $records = $request->get('records');
     $template = $request->get('template');
     $targetModuleName = $request->get('target');
     $method = $request->get('method');
     $success = [];
     if (!empty($template)) {
         $templateRecord = Vtiger_MappedFields_Model::getInstanceById($template);
         foreach ($records as $recordId) {
             if ($templateRecord->checkFiltersForRecord(intval($recordId))) {
                 if ($method == 0) {
                     $recordModel = Vtiger_Record_Model::getCleanInstance($targetModuleName);
                     $parentRecordModel = Vtiger_Record_Model::getInstanceById($recordId);
                     $recordModel->setRecordFieldValues($parentRecordModel);
                     if ($this->checkMandatoryFields($recordModel)) {
                         continue;
                     }
                     // TODO Add saving fields that exist in  advanced module
                     $recordModel->save();
                     if (isRecordExists($recordModel->getId())) {
                         $success[] = $recordId;
                     }
                 } else {
                     $success[] = $recordId;
                 }
             }
         }
     }
     $output = ['all' => count($records), 'ok' => $success, 'fail' => array_diff($records, $success)];
     $response = new Vtiger_Response();
     $response->setResult($output);
     $response->emit();
 }
Example #23
0
 public function process(Vtiger_Request $request)
 {
     $moduleName = $request->getModule();
     vimport('~~modules/' . $moduleName . '/' . $moduleName . '.php');
     $bag = false;
     $paymentsIn = $request->get('paymentsIn');
     foreach ($paymentsIn as $fields) {
         $ossPaymentsIn = new $moduleName();
         $ossPaymentsIn->column_fields['paymentsname'] = 'Name';
         $ossPaymentsIn->column_fields['paymentsvalue'] = $fields['amount'];
         $ossPaymentsIn->column_fields['paymentscurrency'] = $fields['third_letter_currency_code'];
         $ossPaymentsIn->column_fields['paymentstitle'] = $fields['details']['title'];
         $ossPaymentsIn->column_fields['bank_account'] = $fields['details']['contAccount'];
         $saved = $ossPaymentsIn->save('PaymentsIn');
         if ($saved == false) {
             $bag = true;
         }
     }
     if ($bag) {
         $result = array('success' => true, 'return' => vtranslate('MSG_SAVE_OK', $moduleName));
     } else {
         $result = array('success' => false, 'return' => vtranslate('MSG_SAVE_ERROR', $moduleName));
     }
     $response = new Vtiger_Response();
     $response->setResult($result);
     $response->emit();
 }
Example #24
0
 public function process(Vtiger_Request $request)
 {
     $moduleName = $request->getModule();
     $documentIdsList = $this->getRecordsListFromRequest($request);
     $folderId = $request->get('folderid');
     if (!empty($documentIdsList)) {
         foreach ($documentIdsList as $documentId) {
             $documentModel = Vtiger_Record_Model::getInstanceById($documentId, $moduleName);
             if (Users_Privileges_Model::isPermitted($moduleName, 'EditView', $documentId)) {
                 $documentModel->set('folderid', $folderId);
                 $documentModel->set('mode', 'edit');
                 $documentModel->save();
             } else {
                 $documentsMoveDenied[] = $documentModel->getName();
             }
         }
     }
     if (empty($documentsMoveDenied)) {
         $result = array('success' => true, 'message' => vtranslate('LBL_DOCUMENTS_MOVED_SUCCESSFULLY', $moduleName));
     } else {
         $result = array('success' => false, 'message' => vtranslate('LBL_DENIED_DOCUMENTS', $moduleName), 'LBL_RECORDS_LIST' => $documentsMoveDenied);
     }
     $response = new Vtiger_Response();
     $response->setResult($result);
     $response->emit();
 }
Example #25
0
 /**
  * Save date
  * @param <array> $ticketStatus
  * @return true if saved, false otherwise
  */
 public function save(Vtiger_Request $request)
 {
     $response = new Vtiger_Response();
     $ticketStatus = $request->get('status');
     $moduleName = 'Settings:SupportProcesses';
     try {
         if (Settings_SupportProcesses_Module_Model::updateTicketStatusNotModify($ticketStatus)) {
             $response->setResult(array('success' => true, 'message' => vtranslate('LBL_SAVE_CONFIG_OK', $moduleName)));
         } else {
             $response->setResult(array('success' => false, 'message' => vtranslate('LBL_SAVE_CONFIG_ERROR', $moduleName)));
         }
     } catch (Exception $e) {
         $response->setError($e->getCode(), $e->getMessage());
     }
     $response->emit();
 }
Example #26
0
 public function process(Vtiger_Request $request)
 {
     $recordId = $request->get('record');
     $scannerId = $request->get('scannerId');
     $action = $request->get('action1');
     $request->set('action', $action);
     $qualifiedModuleName = $request->getModule(false);
     if ($recordId) {
         $recordModel = Settings_MailConverter_RuleRecord_Model::getInstanceById($recordId);
     } else {
         $recordModel = Settings_MailConverter_RuleRecord_Model::getCleanInstance($scannerId);
     }
     $recordModel->assignedTo = $request->get('assignedTo');
     $recordModel->cc = $request->get('cc');
     $recordModel->bcc = $request->get('bcc');
     $fieldsList = $recordModel->getFields();
     foreach ($fieldsList as $fieldName) {
         $recordModel->set($fieldName, $request->get($fieldName));
     }
     $recordModel->set('newAction', $request->get('action'));
     $ruleId = $recordModel->save();
     $response = new Vtiger_Response();
     $response->setResult(array('message' => vtranslate('LBL_SAVED_SUCCESSFULLY', $qualifiedModuleName), 'id' => $ruleId, 'scannerId' => $scannerId));
     $response->emit();
 }
Example #27
0
 function process(Vtiger_Request $request)
 {
     $currentUser = Users_Record_Model::getCurrentUserModel();
     $moduleName = $request->getModule();
     $componentName = $request->get('name');
     $linkId = $request->get('linkid');
     if (!empty($componentName)) {
         $className = Vtiger_Loader::getComponentClassName('Dashboard', $componentName, $moduleName);
         if (!empty($className)) {
             $widget = NULL;
             if (!empty($linkId)) {
                 $widget = new Vtiger_Widget_Model();
                 $widget->set('linkid', $linkId);
                 $widget->set('userid', $currentUser->getId());
                 $widget->set('filterid', $request->get('filterid', NULL));
                 if ($request->has('data')) {
                     $widget->set('data', $request->get('data'));
                 }
                 $widget->add();
             }
             $classInstance = new $className();
             $classInstance->process($request, $widget);
             return;
         }
     }
     $response = new Vtiger_Response();
     $response->setResult(array('success' => false, 'message' => vtranslate('NO_DATA')));
     $response->emit();
 }
Example #28
0
 public function process(Vtiger_Request $request)
 {
     $name_fields = array();
     $response = new Vtiger_Response();
     $response->setResult($cvIds);
     $response->emit();
 }
Example #29
0
 function addRelation($request)
 {
     $sourceModule = $request->getModule();
     $sourceRecordId = $request->get('src_record');
     $relatedModule = $request->get('related_module');
     if (is_numeric($relatedModule)) {
         $relatedModule = Vtiger_Functions::getModuleName($relatedModule);
     }
     $relatedRecordIdList = $request->get('related_record_list');
     $sourceModuleModel = Vtiger_Module_Model::getInstance($sourceModule);
     $relatedModuleModel = Vtiger_Module_Model::getInstance($relatedModule);
     $relationModel = Vtiger_Relation_Model::getInstance($sourceModuleModel, $relatedModuleModel);
     foreach ($relatedRecordIdList as $relatedRecordId) {
         $relationModel->addRelation($sourceRecordId, $relatedRecordId, $listPrice);
         if ($relatedModule == 'PriceBooks') {
             $recordModel = Vtiger_Record_Model::getInstanceById($relatedRecordId);
             if ($sourceRecordId && ($sourceModule === 'Products' || $sourceModule === 'Services')) {
                 $parentRecordModel = Vtiger_Record_Model::getInstanceById($sourceRecordId, $sourceModule);
                 $recordModel->updateListPrice($sourceRecordId, $parentRecordModel->get('unit_price'));
             }
         }
     }
     $response = new Vtiger_Response();
     $response->setResult(true);
     $response->emit();
 }
 function process(Vtiger_Request $request)
 {
     $moduleName = $request->getModule();
     $moduleModel = Vtiger_Module_Model::getInstance($moduleName);
     $records = $request->get('records');
     $primaryRecord = $request->get('primaryRecord');
     $primaryRecordModel = Vtiger_Record_Model::getInstanceById($primaryRecord, $moduleName);
     $fields = $moduleModel->getFields();
     foreach ($fields as $field) {
         $fieldValue = $request->get($field->getName());
         if ($field->isEditable()) {
             $primaryRecordModel->set($field->getName(), $fieldValue);
         }
     }
     $primaryRecordModel->set('mode', 'edit');
     $primaryRecordModel->save();
     $deleteRecords = array_diff($records, array($primaryRecord));
     foreach ($deleteRecords as $deleteRecord) {
         $recordPermission = Users_Privileges_Model::isPermitted($moduleName, 'Delete', $deleteRecord);
         if ($recordPermission) {
             $primaryRecordModel->transferRelationInfoOfRecords(array($deleteRecord));
             $record = Vtiger_Record_Model::getInstanceById($deleteRecord);
             $record->delete();
         }
     }
     $response = new Vtiger_Response();
     $response->setResult(true);
     $response->emit();
 }