getModule()); $currentUserPrivilegesModel = Users_Privileges_Model::getCurrentUserPrivilegesModel(); if(!$currentUserPrivilegesModel->hasModulePermission($moduleModel->getId())) { throw new AppException('LBL_PERMISSION_DENIED'); } } public function process(Vtiger_Request $request) { $recordId = $request->get('record'); $qualifiedModuleName = $request->getModule(false); if ($recordId) { $recordModel = Settings_Webforms_Record_Model::getInstanceById($recordId, $qualifiedModuleName); $recordModel->set('mode', 'edit'); } else { $recordModel = Settings_Webforms_Record_Model::getCleanInstance($qualifiedModuleName); $recordModel->set('mode', ''); } $fieldsList = $recordModel->getModule()->getFields(); foreach ($fieldsList as $fieldName => $fieldModel) { $fieldValue = $request->get($fieldName); if (!$fieldValue) { $fieldValue = $fieldModel->get('defaultvalue'); } $recordModel->set($fieldName, $fieldValue); } $returnUrl = $recordModel->getModule()->getListViewUrl(); $recordModel->set('selectedFieldsData', $request->get('selectedFieldsData')); if (!$recordModel->checkDuplicate()) { $recordModel->save(); $returnUrl = $recordModel->getDetailViewUrl(); } header("Location: $returnUrl"); } public function validateRequest(Vtiger_Request $request) { $request->validateWriteAccess(); } }