Example #1
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();
 }
 public function process(Vtiger_Request $request)
 {
     $error_code = '';
     $error_message = '';
     $success = true;
     if (!$request->get('mod') && !$request->get('path')) {
         $error_code = 'error-param';
         $error_message = getTranslatedString("LBL_ERROR_PARAM", $moduleName);
         $success = false;
     }
     //Get module's structure from manifest file
     if ($request->get("mod")) {
         $o_module = $this->getStructureFromExistantModule($request->get("mod"));
     } elseif ($request->get("path")) {
         $o_module = $this->getStructureFromZipPackage($request->get("path"));
     }
     //Make JSON response
     $response = new Vtiger_Response();
     if (!$success) {
         $response->setError($error_code, $error_message);
     } else {
         $response->setResult(array('module' => $o_module, 'basedir' => $this->moduleBaseDir));
     }
     $response->emit();
 }
Example #3
0
	public function process(Vtiger_Request $request) {
		$mode = $request->getMode();
		if (!empty($mode)) {
			echo $this->invokeExposedMethod($mode, $request);
			return;
		}

		$taxId = $request->get('taxid');
		$type = $request->get('type');
		if (empty($taxId)) {
			$taxRecordModel = new Settings_Vtiger_TaxRecord_Model();
		} else {
			$taxRecordModel = Settings_Vtiger_TaxRecord_Model::getInstanceById($taxId, $type);
		}
		
		$fields = array('taxlabel','percentage','deleted');
		foreach($fields as $fieldName) {
			if($request->has($fieldName)) {
				$taxRecordModel->set($fieldName,$request->get($fieldName));
			}
		}
		
		$taxRecordModel->setType($type);

		$response = new Vtiger_Response();
		try {
			$taxId = $taxRecordModel->save();
			$recordModel = Settings_Vtiger_TaxRecord_Model::getInstanceById($taxId, $type);
			$response->setResult(array_merge(array('_editurl' => $recordModel->getEditTaxUrl(), 'type' => $recordModel->getType()),$recordModel->getData()));
		} catch (Exception $e) {
			$response->setError($e->getCode(), $e->getMessage());
		}
		$response->emit();
	}
Example #4
0
 public function process(Vtiger_Request $request)
 {
     $mode = $request->getMode();
     $currentUser = Users_Record_Model::getCurrentUserModel();
     if (!empty($mode)) {
         echo $this->invokeExposedMethod($mode, $request);
         return;
     }
     $id = $request->get('id');
     $type = $request->get('view');
     if (empty($id)) {
         $recordModel = new Settings_Inventory_Record_Model();
     } else {
         $recordModel = Settings_Inventory_Record_Model::getInstanceById($id, $type);
     }
     $fields = $request->getAll();
     foreach ($fields as $fieldName => $fieldValue) {
         if ($request->has($fieldName) && !in_array($fieldName, ['module', 'parent', 'view', '__vtrftk', 'action'])) {
             $recordModel->set($fieldName, $fieldValue);
         }
     }
     $recordModel->setType($type);
     $response = new Vtiger_Response();
     try {
         $id = $recordModel->save();
         $recordModel = Settings_Inventory_Record_Model::getInstanceById($id, $type);
         $response->setResult(array_merge(['_editurl' => $recordModel->getEditUrl(), 'row_type' => $currentUser->get('rowheight')], $recordModel->getData()));
     } catch (Exception $e) {
         $response->setError($e->getCode(), $e->getMessage());
     }
     $response->emit();
 }
Example #5
0
 public function process(Vtiger_Request $request)
 {
     $parentModule = 'ITS4YouReports';
     $recordIds = ITS4YouReports_Record_Model::getRecordsListFromRequest($request);
     $reportsDeleteDenied = array();
     foreach ($recordIds as $recordId) {
         $recordModel = ITS4YouReports_Record_Model::getInstanceById($recordId);
         $recordModel->setId($recordId);
         if (!$recordModel->isDefault() && $recordModel->isEditable()) {
             $success = $recordModel->delete();
             if (!$success) {
                 $reportsDeleteDenied[] = vtranslate($recordModel->getName(), $parentModule);
             }
         } else {
             $reportsDeleteDenied[] = vtranslate($recordModel->getName(), $parentModule);
         }
     }
     $response = new Vtiger_Response();
     if (empty($reportsDeleteDenied)) {
         $response->setResult(array(vtranslate('LBL_REPORTS_DELETED_SUCCESSFULLY', $parentModule)));
     } else {
         $response->setError($reportsDeleteDenied, vtranslate('LBL_DENIED_REPORTS', $parentModule));
     }
     $response->emit();
 }
Example #6
0
 public function process(Vtiger_Request $request)
 {
     $error_code = '';
     $error_message = '';
     $success = true;
     $uploaded_file = null;
     if (isset($_FILES["myfile"])) {
         //Filter the file types , if you want.
         if ($_FILES["myfile"]["error"] > 0) {
             $success = false;
             $error_code = "upload-error";
             $error_message = $_FILES["file"]["error"];
         } else {
             //move the uploaded file to uploads folder;
             move_uploaded_file($_FILES["myfile"]["tmp_name"], DIR_TEMP . $_FILES["myfile"]["name"]);
             $uploaded_file = DIR_TEMP . $_FILES["myfile"]["name"];
         }
     } else {
         $success = false;
         $error_code = "file-empty";
         $error_message = getTranslatedString("LBL_UPLOADED_FILE_NOT_DEFINED");
     }
     //Make JSON response
     $response = new Vtiger_Response();
     if (!$success) {
         $response->setError($error_code, $error_message);
     } else {
         $response->setResult(array('file' => $uploaded_file));
     }
     $response->emit();
 }
Example #7
0
	public function process(Vtiger_Request $request) {
		$recordId = $request->get('record');
		$qualifiedModuleName = $request->getModule(false);

		if ($recordId) {
			$recordModel = Settings_SysVars_Record_Model::getInstanceById($recordId, $qualifiedModuleName);
		} else {
			$recordModel = Settings_SysVars_Record_Model::getCleanInstance($qualifiedModuleName);
		}

		$editableFields = $recordModel->getEditableFields();
		foreach ($editableFields as $fieldName => $fieldModel) {
			$recordModel->set($fieldName, $request->get($fieldName));
		}


		$response = new Vtiger_Response();
		try {
			$recordModel->save();
			$response->setResult(array(vtranslate('LBL_SAVED_SUCCESSFULLY', $qualifiedModuleName)));
		} catch (Exception $e) {
			$response->setError($e->getMessage());
		}
		$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();
 }
 public function process(Vtiger_Request $request)
 {
     // SalesPlatform.ru begin
     require_once 'includes/SalesPlatform/NetIDNA/idna_convert.class.php';
     // SalesPlatform.ru end
     $outgoingServerSettingsModel = Settings_Vtiger_Systems_Model::getInstanceFromServerType('email', 'OutgoingServer');
     $loadDefaultSettings = $request->get('default');
     if ($loadDefaultSettings == "true") {
         $outgoingServerSettingsModel->loadDefaultValues();
     } else {
         $outgoingServerSettingsModel->setData($request->getAll());
     }
     $response = new Vtiger_Response();
     // SalesPlatform.ru begin
     $idn = new idna_convert();
     $server_username = $idn->encode(vtlib_purify($request->get('server')));
     $from_email_field = $idn->encode(vtlib_purify($request->get('from_email_field')));
     $request->set('server_username', $server_username);
     $request->set('from_email_field', $from_email_field);
     // SalesPlatform.ru end
     try {
         $id = $outgoingServerSettingsModel->save($request);
         $data = $outgoingServerSettingsModel->getData();
         $response->setResult($data);
     } catch (Exception $e) {
         $response->setError($e->getCode(), $e->getMessage());
     }
     $response->emit();
 }
Example #10
0
 public function process(Vtiger_Request $request)
 {
     $viewer = $this->getViewer($request);
     $moduleName = $request->getModule();
     $qualifiedModuleName = $request->getModule(false);
     if (!$request->get("label") && !$request->get("block") || !$request->get("languages")) {
         //Make JSON response
         $response = new Vtiger_Response();
         $response->setError('error-param', getTranslatedString("LBL_ERROR_PARAM", $moduleName));
         $response->emit();
         exit;
     }
     $languages = trim($request->get("languages"));
     $a_languages = explode(",", $languages);
     $a_block = $request->get("block");
     //Repair bug with utf8 characters
     if (!is_array($a_block)) {
         $oldValue = Zend_Json::$useBuiltinEncoderDecoder;
         Zend_Json::$useBuiltinEncoderDecoder = true;
         $a_block = Zend_Json::decode($a_block);
         Zend_Json::$useBuiltinEncoderDecoder = $oldValue;
         foreach ($a_block as &$val) {
             $val = utf8_encode($val);
         }
     }
     $viewer->assign('MODULE', $moduleName);
     $viewer->assign('QUALIFIED_MODULE', $qualifiedModuleName);
     $viewer->assign('LIST_PARENT_TABS', $a_parent_tabs);
     $viewer->assign('LIST_MODULES', $a_modules);
     $viewer->assign('LIST_MANIFEST_TEMPLATES', $a_manifest_templates);
     $viewer->assign('LIST_DIR_TEMPLATES', $a_dir_templates);
     $viewer->assign('a_block', $a_block);
     $viewer->assign('a_languages', $a_languages);
     echo $viewer->view('EditBlockPopup.tpl', $qualifiedModuleName, true);
 }
Example #11
0
 public function process(Vtiger_Request $request)
 {
     $recordId = $request->get('record');
     $qualifiedModuleName = $request->getModule(false);
     $response = new Vtiger_Response();
     if ($recordId) {
         $status = Settings_SMSNotifier_Module_Model::deleteRecords(array($recordId));
         if ($status) {
             $response->setResult(array(vtranslate('LBL_DELETED_SUCCESSFULLY'), $qualifiedModuleName));
         } else {
             $response->setError(vtranslate('LBL_DELETE_FAILED', $qualifiedModuleName));
         }
     } else {
         $response->setError(vtranslate('LBL_INVALID_RECORD', $qualifiedModuleName));
     }
     $response->emit();
 }
 public function process(Vtiger_Request $request)
 {
     $response = new Vtiger_Response();
     $qualifiedModuleName = $request->getModule(false);
     $updatedFields = $request->get('updatedFields');
     $moduleModel = Settings_Vtiger_ConfigModule_Model::getInstance();
     if ($updatedFields) {
         $moduleModel->set('updatedFields', $updatedFields);
         $status = $moduleModel->save();
         if ($status === true) {
             $response->setResult(array($status));
         } else {
             $response->setError(vtranslate($status, $qualifiedModuleName));
         }
     } else {
         $response->setError(vtranslate('LBL_FIELDS_INFO_IS_EMPTY', $qualifiedModuleName));
     }
     $response->emit();
 }
Example #13
0
 public function process(Vtiger_Request $request)
 {
     $recordId = $request->get('record');
     $qualifiedModuleName = $request->getModule(false);
     $recordModel = Settings_MailConverter_Record_Model::getInstanceById($recordId);
     $status = $recordModel->scanNow();
     $response = new Vtiger_Response();
     if (is_bool($status) && $status) {
         $result = array('message' => vtranslate('LBL_SCANNED_SUCCESSFULLY', $qualifiedModuleName));
         $result['id'] = $recordModel->getId();
         $response->setResult($result);
     } else {
         if ($status) {
             $response->setError($status);
         } else {
             $response->setError(vtranslate($request->getModule(), $qualifiedModuleName) . ' ' . vtranslate('LBL_IS_IN_RUNNING_STATE', $qualifiedModuleName));
         }
     }
     $response->emit();
 }
Example #14
0
 protected function maxCreatedOn(Vtiger_Request $request)
 {
     $modelInstance = Settings_ExtensionStore_Extension_Model::getInstance();
     $promotions = $modelInstance->getMaxCreatedOn('Promotion', 'max', 'createdon');
     $response = new Vtiger_Response();
     if ($promotions['success'] != 'true') {
         $response->setError('', $promotions['error']);
     } else {
         $response->setResult($promotions['response']);
     }
     $response->emit();
 }
Example #15
0
 public function process(Vtiger_Request $request)
 {
     $response = new Vtiger_Response();
     $recordId = $request->get('record');
     if (!empty($recordId)) {
         $record = Settings_SPCMLConnector_Record_Model::getInstance($recordId);
         $record->delete();
     } else {
         $response->setError(NULL, 'not record id');
     }
     $response->emit();
 }
Example #16
0
 public function removeRelation(Vtiger_Request $request)
 {
     $relationId = $request->get('relationId');
     $response = new Vtiger_Response();
     try {
         Vtiger_Relation_Model::removeRelationById($relationId);
         $response->setResult(['success' => true]);
     } catch (Exception $e) {
         $response->setError($e->getCode(), $e->getMessage());
     }
     $response->emit();
 }
Example #17
0
 public function process(Vtiger_Request $request)
 {
     $module = $request->get('module');
     $qualifiedModuleName = $request->getModule(false);
     $response = new Vtiger_Response();
     try {
         $result = Settings_GravityForm_Module_Model::save($request);
         $response->setResult(array('success' => $result));
     } catch (Exception $e) {
         $response->setError($e->getCode(), $e->getMessage());
     }
     $response->emit();
 }
Example #18
0
 public function process(Vtiger_Request $request)
 {
     $recordId = $request->get('mappingId');
     $qualifiedModuleName = $request->getModule(false);
     $response = new Vtiger_Response();
     if ($recordId) {
         Settings_Leads_Mapping_Model::deleteMapping(array($recordId));
         $response->setResult(array(vtranslate('LBL_DELETED_SUCCESSFULLY', $qualifiedModuleName)));
     } else {
         $response->setError(vtranslate('LBL_INVALID_MAPPING', $qualifiedModuleName));
     }
     $response->emit();
 }
 public function process(Vtiger_Request $request)
 {
     $recordsCount = Settings_MailConverter_Record_Model::getCount();
     $qualifiedModuleName = $request->getModule(false);
     $response = new Vtiger_Response();
     if ($recordsCount < 2) {
         $result = array(true);
         $response->setResult($result);
     } else {
         $response->setError(vtranslate('LBL_MAX_LIMIT_ONLY_TWO', $qualifiedModuleName));
     }
     $response->emit();
 }
Example #20
0
 public function updateSelectedFields(Vtiger_Request $request)
 {
     $fields = $request->get('fields');
     $relationId = $request->get('relationId');
     $response = new Vtiger_Response();
     try {
         Vtiger_Relation_Model::updateModuleRelatedFields($relationId, $fields);
         $response->setResult(array('success' => true));
     } catch (Exception $e) {
         $response->setError($e->getCode(), $e->getMessage());
     }
     $response->emit();
 }
 public function process(Vtiger_Request $request)
 {
     $qualifiedModuleName = $request->getModule(false);
     $mapping = $request->get('mapping');
     $mappingModel = Settings_Leads_Mapping_Model::getCleanInstance();
     $response = new Vtiger_Response();
     if ($mapping) {
         $mappingModel->save($mapping);
         $response->setResult(array(vtranslate('LBL_SAVED_SUCCESSFULLY', $qualifiedModuleName)));
     } else {
         $response->setError(vtranslate('LBL_INVALID_MAPPING', $qualifiedModuleName));
     }
     $response->emit();
 }
Example #22
0
 public function process(Vtiger_Request $request)
 {
     $moduleName = $request->getModule();
     $recordId = $request->get('record');
     $response = new Vtiger_Response();
     $recordModel = Reports_Record_Model::getInstanceById($recordId, $moduleName);
     if (!$recordModel->isDefault() && $recordModel->isEditable()) {
         $recordModel->delete();
         $response->setResult(array(vtranslate('LBL_REPORTS_DELETED_SUCCESSFULLY', $parentModule)));
     } else {
         $response->setError(vtranslate('LBL_REPORT_DELETE_DENIED', $moduleName));
     }
     $response->emit();
 }
Example #23
0
 public function process(Vtiger_Request $request)
 {
     $qualifiedModuleName = $request->getModule(false);
     $sequencesList = $request->get('sequencesList');
     $moduleModel = Settings_CronTasks_Module_Model::getInstance($qualifiedModuleName);
     $response = new Vtiger_Response();
     if ($sequencesList) {
         $moduleModel->updateSequence($sequencesList);
         $response->setResult(array(true));
     } else {
         $response->setError();
     }
     $response->emit();
 }
Example #24
0
 public function process(Vtiger_Request $request)
 {
     $moduleModel = Vtiger_Module_Model::getInstance($request->get('source_module'));
     $customViewModel = $this->getCVModelFromRequest($request);
     $response = new Vtiger_Response();
     if (!$customViewModel->checkDuplicate()) {
         $customViewModel->save();
         $cvId = $customViewModel->getId();
         $response->setResult(array('id' => $cvId, 'listviewurl' => $moduleModel->getListViewUrl() . '&viewname=' . $cvId));
     } else {
         $response->setError(vtranslate('LBL_CUSTOM_VIEW_NAME_DUPLICATES_EXIST', $moduleName));
     }
     $response->emit();
 }
Example #25
0
 function process($request)
 {
     $pbxmanagerController = new PBXManager_PBXManager_Controller();
     $connector = $pbxmanagerController->getConnector();
     $response = new Vtiger_Response();
     $response->setEmitType(Vtiger_Response::$EMIT_JSON);
     if ($this->validateRequest($connector->getVtigerSecretKey(), $request)) {
         $crmUserExtension = $this->getCrmUserExtension($request->get('callerNumber'));
         $response->setResult(array('crmUserExtension' => $crmUserExtension));
     } else {
         $response->setError(400, 'Invalid request params');
     }
     $response->emit();
 }
Example #26
0
 public function process(Vtiger_Request $request)
 {
     $qualifiedModule = $request->getModule(false);
     $recordId = $request->get('record');
     $response = new Vtiger_Response();
     $recordModel = Settings_Workflows_Record_Model::getInstance($recordId);
     if ($recordModel->isDefault()) {
         $response->setError('LBL_DEFAULT_WORKFLOW', vtranslate('LBL_CANNOT_DELETE_DEFAULT_WORKFLOW', $qualifiedModule));
     } else {
         $recordModel->delete();
         $response->setResult(array('success' => 'ok'));
     }
     $response->emit();
 }
Example #27
0
 public function process(Vtiger_Request $request)
 {
     $moduleName = $request->getModule();
     $qualifiedModuleName = $request->getModule(false);
     $error_code = '';
     $error_message = '';
     $success_message = '';
     $success = true;
     if (!$request->get("name") && !$request->get("version") && !$request->get("zip")) {
         $error_code = 'error-param';
         $error_message = getTranslatedString("LBL_ERROR_PARAM", $qualifiedModuleName);
         $success = false;
     } else {
         require_once "vtlib/Vtiger/Module.php";
         $module = Vtiger_Module::getInstance($request->get("name"));
         if (empty($module)) {
             require_once "vtlib/Vtiger/PackageImport.php";
             $packageImport = new Vtiger_PackageImport();
             $packageImport->import($request->get("zip"));
             $module = Vtiger_Module::getInstance($request->get("name"));
             if (!empty($module)) {
                 $success_message = getTranslatedString("LBL_INSTALL_SUCCESS", $qualifiedModuleName);
             } else {
                 $error_code = 'error-install';
                 $error_message = getTranslatedString("LBL_INSTALL_ERROR", $qualifiedModuleName);
                 $success = false;
             }
         } else {
             if ($request->get("version") != $module->version) {
                 require_once "vtlib/Vtiger/PackageUpdate.php";
                 $packageUpdate = new Vtiger_PackageUpdate();
                 $packageUpdate->update($module, $request->get("zip"));
                 $success_message = getTranslatedString("LBL_UPDATE_SUCCESS", $qualifiedModuleName);
             } else {
                 $error_code = 'error-version';
                 $error_message = getTranslatedString("LBL_UPDATE_ERROR_VERSION", $qualifiedModuleName);
                 $success = false;
             }
         }
         //Make JSON response
         $response = new Vtiger_Response();
         if (!$success) {
             $response->setError($error_code, $error_message);
         } else {
             $response->setResult(array('message' => $success_message));
         }
         $response->emit();
     }
 }
Example #28
0
 public function process(Vtiger_Request $request)
 {
     $recordId = $request->get('record');
     $qualifiedModuleName = $request->getModule(false);
     $recordModel = Settings_MailConverter_RuleRecord_Model::getInstanceById($recordId);
     $scannerId = $recordModel->getScannerId();
     $response = new Vtiger_Response();
     if ($scannerId === $request->get('scannerId')) {
         $recordModel->delete();
         $response->setResult(vtranslate('LBL_DELETED_SUCCESSFULLY', $qualifiedModuleName));
     } else {
         $response->setError(vtranslate('LBL_RULE_DELETION_FAILED', $qualifiedModuleName));
     }
     $response->emit();
 }
Example #29
0
 public function toggleLeftPanel(Vtiger_Request $request)
 {
     $currentUser = Users_Record_Model::getCurrentUserModel();
     $currentUser->set('leftpanelhide', $request->get('showPanel'));
     $currentUser->leftpanelhide = $request->get('showPanel');
     $currentUser->set('mode', 'edit');
     $response = new Vtiger_Response();
     try {
         $currentUser->save();
         $response->setResult(array('success' => true));
     } catch (Exception $e) {
         $response->setError($e->getCode(), $e->getMessage());
     }
     $response->emit();
 }
Example #30
0
 public function deleteRule(Vtiger_Request $request)
 {
     $forModule = $request->get('for_module');
     $ruleId = $request->get('record');
     $moduleModel = Settings_SharingAccess_Module_Model::getInstance($forModule);
     $ruleModel = Settings_SharingAccess_Rule_Model::getInstance($moduleModel, $ruleId);
     $response = new Vtiger_Response();
     $response->setEmitType(Vtiger_Response::$EMIT_JSON);
     try {
         $ruleModel->delete();
     } catch (AppException $e) {
         $response->setError('Deleting Sharing Access Rule failed');
     }
     $response->emit();
 }