'module', 'action' => 'DetailView'); return $permissions; } public function process(Vtiger_Request $request) { $sourceModule = $request->get('source_module'); $selecltedFields = $request->get('selectedFields'); $response = new Vtiger_Response(); $prefs = array(); if ($selecltedFields) { foreach ($selecltedFields as $fieldInfoJson) { if (is_array($fieldInfoJson)) { $fieldInfo = $fieldInfoJson; } else { $fieldInfo = Zend_Json::decode($fieldInfoJson); } $prefs[$fieldInfo['module_id']][] = $fieldInfo['field_id']; } } /* For eliminating duplicate field entires. This will happen * when user selects same field for more than 1 record, and enable * Remember my preference option in Select Email Preference pop-up */ foreach ($prefs as $moduleId => $fieldInfo) { if (is_array($fieldInfo)) { $prefs[$moduleId] = array_unique($fieldInfo); } } $recipientPrefModel = Vtiger_RecipientPreference_Model::getInstance($sourceModule); if (!$recipientPrefModel) { $recipientPrefModel = new Vtiger_RecipientPreference_Model(); $recipientPrefModel->setSourceModule($sourceModule); } if (empty($prefs)) { $recipientPrefModel->delete(); $response->setResult(vtranslate('LBL_PREF_RESET_MESSAGE', $request->getModule())); } else { $recipientPrefModel->set('prefs', $prefs); if ($recipientPrefModel->save()) { $response->setResult(vtranslate('LBL_RECIPIENT_SAVE_MESSAGE', $request->getModule())); } else { $response->setError(vtranslate('LBL_ERROR_SAVING_PREF', $request->getModule())); } } $response->emit(); } }