[ Index ] |
PHP Cross Reference of vtigercrm-6.1.0 |
[Summary view] [Print] [Text view]
1 <?php 2 3 /*+********************************************************************************** 4 * The contents of this file are subject to the vtiger CRM Public License Version 1.1 5 * ("License"); You may not use this file except in compliance with the License 6 * The Original Code is: vtiger CRM Open Source 7 * The Initial Developer of the Original Code is vtiger. 8 * Portions created by vtiger are Copyright (C) vtiger. 9 * All Rights Reserved. 10 ************************************************************************************/ 11 12 class Settings_LayoutEditor_Field_Action extends Settings_Vtiger_Index_Action { 13 14 function __construct() { 15 $this->exposeMethod('add'); 16 $this->exposeMethod('save'); 17 $this->exposeMethod('delete'); 18 $this->exposeMethod('move'); 19 $this->exposeMethod('unHide'); 20 } 21 22 public function add(Vtiger_Request $request) { 23 $type = $request->get('fieldType'); 24 $moduleName = $request->get('sourceModule'); 25 $blockId = $request->get('blockid'); 26 $moduleModel = Settings_LayoutEditor_Module_Model::getInstanceByName($moduleName); 27 $response = new Vtiger_Response(); 28 try{ 29 30 $fieldModel = $moduleModel->addField($type,$blockId,$request->getAll()); 31 $fieldInfo = $fieldModel->getFieldInfo(); 32 $responseData = array_merge(array('id'=>$fieldModel->getId(), 'blockid'=>$blockId, 'customField'=>$fieldModel->isCustomField()),$fieldInfo); 33 $response->setResult($responseData); 34 }catch(Exception $e) { 35 $response->setError($e->getCode(), $e->getMessage()); 36 } 37 $response->emit(); 38 } 39 40 public function save(Vtiger_Request $request) { 41 $fieldId = $request->get('fieldid'); 42 $fieldInstance = Vtiger_Field_Model::getInstance($fieldId); 43 $fieldInstance->updateTypeofDataFromMandatory($request->get('mandatory')) 44 ->set('presence', $request->get('presence')) 45 ->set('quickcreate', $request->get('quickcreate')) 46 ->set('summaryfield', $request->get('summaryfield')) 47 ->set('masseditable', $request->get('masseditable')); 48 $defaultValue = $request->get('fieldDefaultValue'); 49 if($fieldInstance->getFieldDataType() == 'date') { 50 $dateInstance = new Vtiger_Date_UIType(); 51 $defaultValue = $dateInstance->getDBInsertedValue($defaultValue); 52 } 53 54 if(is_array($defaultValue)) { 55 $defaultValue = implode(' |##| ',$defaultValue); 56 } 57 $fieldInstance->set('defaultvalue', $defaultValue); 58 $response = new Vtiger_Response(); 59 try{ 60 $fieldInstance->save(); 61 $response->setResult(array('success'=>true, 'presence'=>$request->get('presence'), 'mandatory'=>$fieldInstance->isMandatory(), 62 'label'=>vtranslate($fieldInstance->get('label'), $request->get('sourceModule')))); 63 }catch(Exception $e) { 64 $response->setError($e->getCode(), $e->getMessage()); 65 } 66 $response->emit(); 67 } 68 69 public function delete(Vtiger_Request $request) { 70 $fieldId = $request->get('fieldid'); 71 $fieldInstance = Settings_LayoutEditor_Field_Model::getInstance($fieldId); 72 $response = new Vtiger_Response(); 73 74 if(!$fieldInstance->isCustomField()) { 75 $response->setError('122', 'Cannot delete Non custom field'); 76 $response->emit(); 77 return; 78 } 79 80 try{ 81 $fieldInstance->delete(); 82 $response->setResult(array('success'=>true)); 83 }catch(Exception $e) { 84 $response->setError($e->getCode(), $e->getMessage()); 85 } 86 $response->emit(); 87 } 88 89 public function move(Vtiger_Request $request) { 90 $updatedFieldsList = $request->get('updatedFields'); 91 92 //This will update the fields sequence for the updated blocks 93 Settings_LayoutEditor_Block_Model::updateFieldSequenceNumber($updatedFieldsList); 94 95 $response = new Vtiger_Response(); 96 $response->setResult(array('success'=>true)); 97 $response->emit(); 98 } 99 100 public function unHide(Vtiger_Request $request) { 101 $response = new Vtiger_Response(); 102 try{ 103 $fieldIds = $request->get('fieldIdList'); 104 Settings_LayoutEditor_Field_Model::makeFieldActive($fieldIds, $request->get('blockId')); 105 $responseData = array(); 106 foreach($fieldIds as $fieldId) { 107 $fieldModel = Settings_LayoutEditor_Field_Model::getInstance($fieldId); 108 $fieldInfo = $fieldModel->getFieldInfo(); 109 $responseData[] = array_merge(array('id'=>$fieldModel->getId(), 'blockid'=>$fieldModel->get('block')->id, 'customField'=>$fieldModel->isCustomField()),$fieldInfo); 110 } 111 $response->setResult($responseData); 112 }catch(Exception $e) { 113 $response->setError($e->getCode(), $e->getMessage()); 114 } 115 $response->emit(); 116 117 } 118 119 public function validateRequest(Vtiger_Request $request) { 120 $request->validateWriteAccess(); 121 } 122 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Fri Nov 28 20:08:37 2014 | Cross-referenced by PHPXref 0.7.1 |