Esempio n. 1
0
 function vtlib_handler($moduleName, $eventType)
 {
     $registerLink = false;
     $adb = PearDatabase::getInstance();
     if ($eventType == 'module.postinstall') {
         $this->turn_on($moduleName);
         $adb->query("UPDATE vtiger_tab SET customized=0 WHERE name='OSSMailScanner'");
         $adb->pquery("INSERT INTO vtiger_ossmailscanner_config (conf_type,parameter) VALUES (?,?)", array('folders', 'Received'));
         $adb->pquery("INSERT INTO vtiger_ossmailscanner_config (conf_type,parameter) VALUES (?,?)", array('folders', 'Sent'));
         $adb->pquery("INSERT INTO vtiger_ossmailscanner_config (conf_type,parameter) VALUES (?,?)", array('folders', 'Spam'));
         $adb->pquery("INSERT INTO vtiger_ossmailscanner_config (conf_type,parameter) VALUES (?,?)", array('folders', 'Trash'));
         $adb->pquery("INSERT INTO vtiger_ossmailscanner_config (conf_type,parameter) VALUES (?,?)", array('folders', 'All'));
         $adb->pquery("INSERT INTO vtiger_ossmailscanner_config (conf_type,parameter) VALUES (?,?)", array('emailsearch', 'fields'));
         $adb->pquery("INSERT INTO vtiger_ossmailscanner_config (conf_type,parameter,value) VALUES (?,?,?)", array('cron', 'email', ''));
         $adb->pquery("INSERT INTO vtiger_ossmailscanner_config (conf_type,parameter,value) VALUES (?,?,?)", array('cron', 'time', ''));
         $adb->pquery("INSERT INTO vtiger_ossmailscanner_config (conf_type,parameter,value) VALUES (?,?,?)", array('emailsearch', 'change_ticket_status', 'false'));
         $moduleModel = Settings_Picklist_Module_Model::getInstance('HelpDesk');
         $fieldModel = Settings_Picklist_Field_Model::getInstance('ticketstatus', $moduleModel);
         $id = $moduleModel->addPickListValues($fieldModel, 'Answered');
         $Module = Vtiger_Module::getInstance($moduleName);
         $user_id = Users_Record_Model::getCurrentUserModel()->get('user_name');
         $adb->pquery("INSERT INTO vtiger_ossmails_logs (`action`, `info`, `user`) VALUES (?, ?, ?);", array('Action_InstallModule', $moduleName . ' ' . $Module->version, $user_id), false);
     } else {
         if ($eventType == 'module.disabled') {
             $this->turn_off($moduleName);
             $adb->pquery('UPDATE vtiger_cron_task SET status=0 WHERE module=?', array('OSSMailScanner'));
             $user_id = Users_Record_Model::getCurrentUserModel()->get('user_name');
             $adb->pquery("INSERT INTO vtiger_ossmails_logs (`action`, `info`, `user`) VALUES (?, ?, ?);", array('Action_DisabledModule', $moduleName, $user_id), false);
             // TODO Handle actions when this module is disabled.
         } else {
             if ($eventType == 'module.enabled') {
                 $adb->pquery('UPDATE vtiger_cron_task SET status=1 WHERE module=?', array('OSSMailScanner'));
                 $this->turn_on($moduleName);
                 $user_id = Users_Record_Model::getCurrentUserModel()->get('user_name');
                 $adb->pquery("INSERT INTO vtiger_ossmails_logs (`action`, `info`, `user`) VALUES (?, ?, ?);", array('Action_EnabledModule', $moduleName, $user_id), false);
                 // TODO Handle actions when this module is enabled.
             } else {
                 if ($eventType == 'module.preuninstall') {
                     // TODO Handle actions when this module is about to be deleted.
                 } else {
                     if ($eventType == 'module.preupdate') {
                         // TODO Handle actions before this module is updated.
                     } else {
                         if ($eventType == 'module.postupdate') {
                             $adb = PearDatabase::getInstance();
                             $Module = Vtiger_Module::getInstance($moduleName);
                             if (version_compare($Module->version, '1.21', '>')) {
                                 $user_id = Users_Record_Model::getCurrentUserModel()->get('user_name');
                                 $adb->pquery("INSERT INTO vtiger_ossmails_logs (`action`, `info`, `user`) VALUES (?, ?, ?);", array('Action_UpdateModule', $moduleName . ' ' . $Module->version, $user_id), false);
                             }
                         }
                     }
                 }
             }
         }
     }
 }
Esempio n. 2
0
 public function getPickListDetailsForModule(Vtiger_Request $request)
 {
     $sourceModule = $request->get('source_module');
     $moduleModel = Settings_Picklist_Module_Model::getInstance($sourceModule);
     //TODO: see if you needs to optimize this , since its will gets all the fields and filter picklist fields
     $pickListFields = $moduleModel->getFieldsByType(array('picklist', 'multipicklist'));
     $qualifiedName = $request->getModule(false);
     $viewer = $this->getViewer($request);
     $viewer->assign('PICKLIST_FIELDS', $pickListFields);
     $viewer->assign('SELECTED_MODULE_NAME', $sourceModule);
     $viewer->assign('QUALIFIED_MODULE', $qualifiedName);
     $viewer->view('ModulePickListDetail.tpl', $qualifiedName);
 }
Esempio n. 3
0
 public function process(Vtiger_Request $request)
 {
     $sourceModule = $request->get('source_module');
     $pickListSupportedModules = Settings_Picklist_Module_Model::getPicklistSupportedModules();
     if (empty($sourceModule)) {
         //take the first module as the source module
         $sourceModule = $pickListSupportedModules[0]->name;
     }
     $moduleModel = Settings_Picklist_Module_Model::getInstance($sourceModule);
     $viewer = $this->getViewer($request);
     $qualifiedName = $request->getModule(FALSE);
     $viewer->assign('PICKLIST_MODULES', $pickListSupportedModules);
     //TODO: see if you needs to optimize this , since its will gets all the fields and filter picklist fields
     $pickListFields = $moduleModel->getFieldsByType(array('picklist', 'multipicklist'));
     if (count($pickListFields) > 0) {
         $selectedPickListFieldModel = reset($pickListFields);
         $selectedFieldAllPickListValues = Vtiger_Util_Helper::getPickListValues($selectedPickListFieldModel->getName());
         $viewer->assign('PICKLIST_FIELDS', $pickListFields);
         $viewer->assign('SELECTED_PICKLIST_FIELDMODEL', $selectedPickListFieldModel);
         $viewer->assign('SELECTED_PICKLISTFIELD_ALL_VALUES', $selectedFieldAllPickListValues);
         $viewer->assign('ROLES_LIST', Settings_Roles_Record_Model::getAll());
     } else {
         $viewer->assign('NO_PICKLIST_FIELDS', true);
         $createPicklistUrl = '';
         $settingsLinks = $moduleModel->getSettingLinks();
         foreach ($settingsLinks as $linkDetails) {
             if ($linkDetails['linklabel'] == 'LBL_EDIT_FIELDS') {
                 $createPicklistUrl = $linkDetails['linkurl'];
                 break;
             }
         }
         $viewer->assign('CREATE_PICKLIST_URL', $createPicklistUrl);
     }
     $viewer->assign('SELECTED_MODULE_NAME', $sourceModule);
     $viewer->assign('QUALIFIED_NAME', $qualifiedName);
     $viewer->view('Index.tpl', $qualifiedName);
 }
Esempio n. 4
0
 public function picklists()
 {
     global $log, $adb;
     $log->debug("Entering YetiForceUpdate::picklists() method ...");
     $addPicklists = [];
     $addPicklists['ProjectMilestone'][] = array('name' => 'projectmilestonetype', 'uitype' => '15', 'add_values' => array('PLL_INTERNAL', 'PLL_EXTERNAL', 'PLL_SHARED'), 'remove_values' => array('administrative', 'operative', 'other'));
     $addPicklists['LettersOut'][] = array('name' => 'lout_status', 'uitype' => '16', 'add_values' => array('PLL_NEW', 'PLL_SETTLED'), 'remove_values' => array('PLL_A', 'PLL_B'));
     $addPicklists['Assets'][] = array('name' => 'assetstatus', 'uitype' => '15', 'add_values' => array('PLL_DRAFT', 'PLL_WARRANTY_SUPPORT', 'PLL_POST_WARRANTY_SUPPORT', 'PLL_NO_SUPPORT'), 'remove_values' => array('Draft', 'Realization proceeding', 'Warranty proceeding', 'Delivered to Organization'));
     $addPicklists['Calculations'][] = array('name' => 'calculationsstatus', 'uitype' => '15', 'add_values' => array('PLL_DRAFT', 'PLL_IN_REALIZATION', 'PLL_WAITING_FOR_QUOTATION', 'PLL_WAITING_FOR_ACCEPTANCE', 'PLL_ACCEPTED', 'PLL_REQUIRES_AMENDMENTS'), 'remove_values' => array('PLL_WAITING_FOR_VERIFICATION', 'PLL_VERIFICATION_PROCESS', 'PLL_INTERNAL_CONSULTATION_REQUIRED', 'PLL_EXTERNAL_CONSULTATION_REQUIRED', 'PLL_WAITING_FOR_VENDORS_QUOTE', 'PLL_WAITING_FOR_CUSTOMERS_REPLY', 'PLL_IN_PREPARATION', 'LBL_DECLINED', 'LBL_ACCEPTED'));
     $addPicklists['OSSMailView'][] = array('name' => 'ossmailview_sendtype', 'uitype' => '15', 'add_values' => array(), 'remove_values' => array('Sent'));
     $roleRecordList = Settings_Roles_Record_Model::getAll();
     $rolesSelected = array();
     foreach ($roleRecordList as $roleRecord) {
         $rolesSelected[] = $roleRecord->getId();
     }
     foreach ($addPicklists as $moduleName => $piscklists) {
         $moduleModel = Settings_Picklist_Module_Model::getInstance($moduleName);
         if (!$moduleModel) {
             continue;
         }
         foreach ($piscklists as $piscklist) {
             $fieldModel = Settings_Picklist_Field_Model::getInstance($piscklist['name'], $moduleModel);
             if (!$fieldModel) {
                 continue;
             }
             $pickListValues = Vtiger_Util_Helper::getPickListValues($piscklist['name']);
             foreach ($piscklist['add_values'] as $newValue) {
                 if (!in_array($newValue, $pickListValues)) {
                     $moduleModel->addPickListValues($fieldModel, $newValue, $rolesSelected);
                 }
             }
             foreach ($piscklist['remove_values'] as $newValue) {
                 if (!in_array($newValue, $pickListValues)) {
                     continue;
                 }
                 if ($piscklist['uitype'] == '15') {
                     $deletePicklistValueId = self::getPicklistId($piscklist['name'], $newValue);
                     if ($deletePicklistValueId) {
                         $adb->pquery("DELETE FROM `vtiger_role2picklist` WHERE picklistvalueid = ? ", array($deletePicklistValueId));
                     }
                 }
                 $adb->pquery("DELETE FROM `vtiger_" . $piscklist['name'] . "` WHERE " . $piscklist['name'] . " = ? LIMIT 1", array($newValue));
                 if ($piscklist['name'] == 'administrative' && $moduleName == 'ProjectMilestone') {
                     $adb->pquery("UPDATE `vtiger_projectmilestone` SET `projectmilestonetype` = ? WHERE `projectmilestonetype` = ? ;", array($piscklist['name'], 'PLL_INTERNAL'));
                 }
                 if ($piscklist['name'] == 'operative' && $moduleName == 'ProjectMilestone') {
                     $adb->pquery("UPDATE `vtiger_projectmilestone` SET `projectmilestonetype` = ? WHERE `projectmilestonetype` = ? ;", array($piscklist['name'], 'PLL_EXTERNAL'));
                 }
                 if ($piscklist['name'] == 'other' && $moduleName == 'ProjectMilestone') {
                     $adb->pquery("UPDATE `vtiger_projectmilestone` SET `projectmilestonetype` = ? WHERE `projectmilestonetype` = ? ;", array($piscklist['name'], 'PLL_SHARED'));
                 }
                 // replace ?
                 /*if($piscklist['name'] == 'PLL_A' && $moduleName == 'LettersOut'){
                 			$adb->pquery("UPDATE `vtiger_lettersout` SET `lout_status` = ? WHERE `lout_status` = ? ;", array($piscklist['name'], 'PLL_NEW'));
                 		}if($piscklist['name'] == 'PLL_B' && $moduleName == 'LettersOut'){
                 			$adb->pquery("UPDATE `vtiger_lettersout` SET `lout_status` = ? WHERE `lout_status` = ? ;", array($piscklist['name'], 'PLL_SETTLED'));
                 		}*/
                 if ($piscklist['name'] == 'Draft' && $moduleName == 'Assets') {
                     $adb->pquery("UPDATE `vtiger_assets` SET `assetstatus` = ? WHERE `assetstatus` = ? ;", array($piscklist['name'], 'PLL_DRAFT'));
                 }
                 // replace ?
                 /*
                 if($piscklist['name'] == 'Realization proceeding' && $moduleName == 'Assets'){
                 	$adb->pquery("UPDATE `vtiger_assets` SET `assetstatus` = ? WHERE `assetstatus` = ? ;", array($piscklist['name'], 'PLL_WARRANTY_SUPPORT'));
                 }if($piscklist['name'] == 'Warranty proceeding' && $moduleName == 'Assets'){
                 	$adb->pquery("UPDATE `vtiger_assets` SET `assetstatus` = ? WHERE `assetstatus` = ? ;", array($piscklist['name'], 'PLL_POST_WARRANTY_SUPPORT'));
                 }if($piscklist['name'] == 'Delivered to Organization' && $moduleName == 'Assets'){
                 	$adb->pquery("UPDATE `vtiger_assets` SET `assetstatus` = ? WHERE `assetstatus` = ? ;", array($piscklist['name'], 'PLL_NO_SUPPORT'));
                 }
                 */
             }
         }
     }
     $log->debug("Exiting YetiForceUpdate::picklists() method ...");
 }
Esempio n. 5
0
 public function enableOrDisable(Vtiger_Request $request)
 {
     $pickListFieldName = $request->get('picklistName');
     $enabledValues = $request->get('enabled_values', array());
     $disabledValues = $request->get('disabled_values', array());
     $roleSelected = $request->get('rolesSelected');
     $moduleModel = new Settings_Picklist_Module_Model();
     $response = new Vtiger_Response();
     try {
         $moduleModel->enableOrDisableValuesForRole($pickListFieldName, $enabledValues, $disabledValues, array($roleSelected));
         $response->setResult(array('success', true));
     } catch (Exception $e) {
         $response->setError($e->getCode(), $e->getMessage());
     }
     $response->emit();
 }
    Migration_Index_View::ExecuteQuery('INSERT INTO vtiger_profile2utility(profileid,tabid,activityid,permission) VALUES (' . $profileId . ',19,6,0)', array());
    Migration_Index_View::ExecuteQuery('INSERT INTO vtiger_profile2utility(profileid,tabid,activityid,permission) VALUES (' . $profileId . ',19,10,0)', array());
    for ($i = 1; $i < $adb->num_rows($result); $i++) {
        $profileId = $adb->query_result($result, $i, 'profileid');
        Migration_Index_View::ExecuteQuery('INSERT INTO vtiger_profile2utility(profileid,tabid,activityid,permission) VALUES (' . $profileId . ',40,5,1)', array());
        Migration_Index_View::ExecuteQuery('INSERT INTO vtiger_profile2utility(profileid,tabid,activityid,permission) VALUES (' . $profileId . ',40,6,1)', array());
        Migration_Index_View::ExecuteQuery('INSERT INTO vtiger_profile2utility(profileid,tabid,activityid,permission) VALUES (' . $profileId . ',40,10,0)', array());
        Migration_Index_View::ExecuteQuery('INSERT INTO vtiger_profile2utility(profileid,tabid,activityid,permission) VALUES (' . $profileId . ',19,5,1)', array());
        Migration_Index_View::ExecuteQuery('INSERT INTO vtiger_profile2utility(profileid,tabid,activityid,permission) VALUES (' . $profileId . ',19,6,1)', array());
        Migration_Index_View::ExecuteQuery('INSERT INTO vtiger_profile2utility(profileid,tabid,activityid,permission) VALUES (' . $profileId . ',19,10,0)', array());
    }
}
chdir(dirname(__FILE__) . '/../../../');
require_once 'includes/main/WebUI.php';
$pickListFieldName = 'no_of_currency_decimals';
$moduleModel = Settings_Picklist_Module_Model::getInstance('Users');
$fieldModel = Vtiger_Field_Model::getInstance($pickListFieldName, $moduleModel);
if ($fieldModel) {
    $moduleModel->addPickListValues($fieldModel, 0);
    $moduleModel->addPickListValues($fieldModel, 1);
    $pickListValues = Vtiger_Util_Helper::getPickListValues($pickListFieldName);
    $moduleModel->updateSequence($pickListFieldName, $pickListValues);
}
// SalesPlatform.ru begin
global $adb;
//Unlink unwanted resources
$unWanted = array("modules/Project/BURAK_Gantt.class.php", "modules/Settings/EmailTemplates/views/ListUI5.php", "modules/Vtiger/resources/validator/EmailValidator.js");
for ($i = 0; $i <= count($unWanted); $i++) {
    if (file_exists($unWanted[$i])) {
        unlink($unWanted[$i]);
    }
Esempio n. 7
0
 public function picklists()
 {
     global $log, $adb;
     $log->debug("Entering YetiForceUpdate::picklists() method ...");
     $addPicklists = array();
     $addPicklists['SalesOrder'][] = array('name' => 'payment_duration', 'uitype' => '16', 'add_values' => array('payment:+0 day', 'payment:+1 day', 'payment:+7 days', 'payment:+14 days', 'payment:+21 days', 'payment:+30 days', 'payment:+60 days', 'payment:+90 days', 'payment:+180 days', 'payment:+360 days', 'payment:+1 month', 'payment:+3 months', 'payment:+6 months', 'payment:+1 year', 'payment:monday next week', 'payment:friday next week', 'payment:first day of next month', 'payment:last day of next month', 'payment:first day of +3 months', 'payment:last day of +3 months'), 'remove_values' => array('Net 30 days', 'Net 45 days', 'Net 60 days'));
     $addPicklists['SalesOrder'][] = array('name' => 'recurring_frequency', 'uitype' => '16', 'add_values' => array('+1 day', '+7 days', '+14 days', '+21 days', '+30 days', '+60 days', '+90 days', '+180 days', '+360 days', '+1 month', '+3 months', '+6 months', '+1 year', 'monday next week', 'friday next week', 'first day of next month', 'last day of next month', 'first day of +3 months', 'last day of +3 months'), 'remove_values' => array('Daily', 'Weekly', 'Monthly', 'Quarterly', 'Yearly'));
     $addPicklists['Calculations'][] = array('name' => 'calculationsstatus', 'uitype' => '15', 'add_values' => array('PLL_WAITING_FOR_VERIFICATION', 'PLL_VERIFICATION_PROCESS', 'PLL_INTERNAL_CONSULTATION_REQUIRED', 'PLL_EXTERNAL_CONSULTATION_REQUIRED', 'PLL_WAITING_FOR_VENDORS_QUOTE', 'PLL_WAITING_FOR_CUSTOMERS_REPLY', 'PLL_IN_PREPARATION', 'LBL_DECLINED', 'LBL_ACCEPTED'), 'remove_values' => array('LBL_IN_PREPARATION', 'Waiting for valuation', 'Waiting for acceptance', 'Accepted', 'Rejected', 'LBL_OBJECTIONS_ARE_RAISED'));
     $addPicklists['Quotes'][] = array('name' => 'quotestage', 'uitype' => '15', 'add_values' => array('PLL_WAITING_FOR_PREPARATION', 'PLL_INTERNAL_CONSULTATION_REQUIRED', 'PLL_EXTERNAL_CONSULTATION_REQUIRED', 'PLL_WAITING_FOR_CUSTOMERS_REPLY', 'PLL_IN_PREPARATION', 'PLL_DECLINED', 'PLL_ACCEPTED'), 'remove_values' => array('Created', 'Delivered', 'Reviewed', 'Accepted', 'Rejected'));
     $addPicklists['Calendar'][] = array('name' => 'activitytype', 'uitype' => '15', 'add_values' => array(), 'remove_values' => array('Mobile Call'));
     $addPicklists['Calendar'][] = array('name' => 'eventstatus', 'uitype' => '15', 'add_values' => array(), 'remove_values' => array('Planned'));
     $addPicklists['Users'][] = array('name' => 'defaulteventstatus', 'uitype' => '15', 'add_values' => array(), 'remove_values' => array('Planned'));
     $roleRecordList = Settings_Roles_Record_Model::getAll();
     $rolesSelected = array();
     foreach ($roleRecordList as $roleRecord) {
         $rolesSelected[] = $roleRecord->getId();
     }
     foreach ($addPicklists as $moduleName => $piscklists) {
         $moduleModel = Settings_Picklist_Module_Model::getInstance($moduleName);
         if (!$moduleModel) {
             continue;
         }
         foreach ($piscklists as $piscklist) {
             $fieldModel = Settings_Picklist_Field_Model::getInstance($piscklist['name'], $moduleModel);
             if (!$fieldModel) {
                 continue;
             }
             $pickListValues = Vtiger_Util_Helper::getPickListValues($piscklist['name']);
             foreach ($piscklist['add_values'] as $newValue) {
                 if (!in_array($newValue, $pickListValues)) {
                     //$moduleModel->addPickListValues($fieldModel, $newValue);
                     $moduleModel->addPickListValues($fieldModel, $newValue, $rolesSelected);
                 }
             }
             foreach ($piscklist['remove_values'] as $newValue) {
                 if (!in_array($newValue, $pickListValues)) {
                     continue;
                 }
                 if ($piscklist['uitype'] == '15') {
                     $deletePicklistValueId = self::getPicklistId($piscklist['name'], $newValue);
                     if ($deletePicklistValueId) {
                         $adb->pquery("DELETE FROM `vtiger_role2picklist` WHERE picklistvalueid = ? ", array($deletePicklistValueId));
                     }
                 }
                 $adb->pquery("DELETE FROM `vtiger_" . $piscklist['name'] . "` WHERE " . $piscklist['name'] . " = ? ", array($newValue));
                 if ($piscklist['name'] == 'Net 30 days') {
                     $adb->pquery("UPDATE `vtiger_invoice_recurring_info` SET `payment_duration` = ? WHERE `payment_duration` = ? ;", array($piscklist['name'], 'payment:+30 days'));
                 }
                 if ($piscklist['name'] == 'Net 60 days') {
                     $adb->pquery("UPDATE `vtiger_invoice_recurring_info` SET `payment_duration` = ? WHERE `payment_duration` = ? ;", array($piscklist['name'], 'payment:+60 days'));
                 }
                 if ($piscklist['name'] == 'Daily') {
                     $adb->pquery("UPDATE `vtiger_invoice_recurring_info` SET `recurring_frequency` = ? WHERE `recurring_frequency` = ? ;", array($piscklist['name'], '+1 day'));
                 }
                 if ($piscklist['name'] == 'Weekly') {
                     $adb->pquery("UPDATE `vtiger_invoice_recurring_info` SET `recurring_frequency` = ? WHERE `recurring_frequency` = ? ;", array($piscklist['name'], '+7 days'));
                 }
                 if ($piscklist['name'] == 'Monthly') {
                     $adb->pquery("UPDATE `vtiger_invoice_recurring_info` SET `recurring_frequency` = ? WHERE `recurring_frequency` = ? ;", array($piscklist['name'], '+1 month'));
                 }
                 if ($piscklist['name'] == 'Quarterly') {
                     $adb->pquery("UPDATE `vtiger_invoice_recurring_info` SET `recurring_frequency` = ? WHERE `recurring_frequency` = ? ;", array($piscklist['name'], '+3 months'));
                 }
                 if ($piscklist['name'] == 'Yearly') {
                     $adb->pquery("UPDATE `vtiger_invoice_recurring_info` SET `recurring_frequency` = ? WHERE `recurring_frequency` = ? ;", array($piscklist['name'], '+1 year'));
                 }
                 if ($piscklist['name'] == 'Accepted' && $moduleName == 'Calculations') {
                     $adb->pquery("UPDATE `vtiger_calculations` SET `calculationsstatus` = ? WHERE `calculationsstatus` = ? ;", array($piscklist['name'], 'LBL_ACCEPTED'));
                 }
                 if ($piscklist['name'] == 'Rejected' && $moduleName == 'Calculations') {
                     $adb->pquery("UPDATE `vtiger_calculations` SET `calculationsstatus` = ? WHERE `calculationsstatus` = ? ;", array($piscklist['name'], 'LBL_DECLINED'));
                 }
                 if ($piscklist['name'] == 'Accepted' && $moduleName == 'Quotes') {
                     $adb->pquery("UPDATE `vtiger_calculations` SET `calculationsstatus` = ? WHERE `calculationsstatus` = ? ;", array($piscklist['name'], 'PLL_ACCEPTED'));
                 }
                 if ($piscklist['name'] == 'Rejected' && $moduleName == 'Quotes') {
                     $adb->pquery("UPDATE `vtiger_quotes` SET `quotestage` = ? WHERE `quotestage` = ? ;", array($piscklist['name'], 'PLL_DECLINED'));
                 }
                 //$moduleModel->remove($piscklist['name'], $deletePicklistId, '', $moduleName); // remove and replace in records
             }
         }
     }
     $log->debug("Exiting YetiForceUpdate::picklists() method ...");
 }
Esempio n. 8
0
 function picklists()
 {
     global $log, $adb;
     $log->debug("Entering YetiForceUpdate::picklists() method ...");
     $addPicklists = [];
     $addPicklists['OSSMailTemplates'][] = ['name' => 'ossmailtemplates_type', 'uitype' => '16', 'add_values' => ['PLL_MAIL', 'PLL_LIST'], 'remove_values' => []];
     $addPicklists['Calculations'][] = ['name' => 'calculations_cons', 'uitype' => '33', 'add_values' => ['PLL_LONGTERM_REALIZATION'], 'remove_values' => []];
     $addPicklists['Calculations'][] = ['name' => 'calculations_pros', 'uitype' => '33', 'add_values' => [], 'remove_values' => ['PLL_LONGTERM_REALIZATION']];
     $roleRecordList = Settings_Roles_Record_Model::getAll();
     $rolesSelected = array();
     foreach ($roleRecordList as $roleRecord) {
         $rolesSelected[] = $roleRecord->getId();
     }
     foreach ($addPicklists as $moduleName => $piscklists) {
         $moduleModel = Settings_Picklist_Module_Model::getInstance($moduleName);
         if (!$moduleModel) {
             continue;
         }
         foreach ($piscklists as $piscklist) {
             $fieldModel = Settings_Picklist_Field_Model::getInstance($piscklist['name'], $moduleModel);
             if (!$fieldModel) {
                 continue;
             }
             $pickListValues = Vtiger_Util_Helper::getPickListValues($piscklist['name']);
             foreach ($piscklist['add_values'] as $newValue) {
                 if (!in_array($newValue, $pickListValues)) {
                     $moduleModel->addPickListValues($fieldModel, $newValue, $rolesSelected);
                 }
             }
             foreach ($piscklist['remove_values'] as $newValue) {
                 if (!in_array($newValue, $pickListValues)) {
                     continue;
                 }
                 if ($piscklist['uitype'] != '16') {
                     $deletePicklistValueId = self::getPicklistId($piscklist['name'], $newValue);
                     if ($deletePicklistValueId) {
                         $adb->pquery("DELETE FROM `vtiger_role2picklist` WHERE picklistvalueid = ? ", array($deletePicklistValueId));
                     }
                 }
                 $adb->pquery("DELETE FROM `vtiger_" . $piscklist['name'] . "` WHERE " . $piscklist['name'] . " = ? ", array($newValue));
             }
         }
     }
     $log->debug("Exiting YetiForceUpdate::picklists() method ...");
 }
Esempio n. 9
0
 public function picklists()
 {
     global $log, $adb;
     $log->debug("Entering VT620_to_YT::picklists() method ...");
     $addPicklists = array();
     $addPicklists['Assets'][] = array('name' => 'assetstatus', 'uitype' => '15', 'add_values' => array('PLL_DRAFT', 'PLL_WARRANTY_SUPPORT', 'PLL_POST_WARRANTY_SUPPORT', 'PLL_NO_SUPPORT'), 'remove_values' => array('Out-of-service', 'In Service'));
     $addPicklists['HelpDesk'][] = array('name' => 'ticketstatus', 'uitype' => '15', 'add_values' => array('Answered', 'Rejected'), 'remove_values' => array());
     $addPicklists['Users'][] = array('name' => 'date_format', 'uitype' => '16', 'add_values' => array('dd.mm.yyyy', 'mm.dd.yyyy', 'yyyy.mm.dd', 'dd/mm/yyyy', 'mm/dd/yyyy', 'yyyy/mm/dd'), 'remove_values' => array());
     $addPicklists['Users'][] = array('name' => 'end_hour', 'add_values' => array("00:00", "01:00", "02:00", "03:00", "04:00", "05:00", "06:00", "07:00", "08:00", "09:00", "10:00", "11:00", "12:00", "13:00", "14:00", "15:00", "16:00", "17:00", "18:00", "19:00", "20:00", "21:00", "22:00", "23:00"), 'remove_values' => array());
     $addPicklists['Invoice'][] = array('name' => 'invoicestatus', 'uitype' => '15', 'add_values' => array("Derecognized", "Invoice entered"), 'remove_values' => array('Sent', 'Credit Invoice', 'Paid'));
     $addPicklists['Leads'][] = array('name' => 'leadsource', 'uitype' => '15', 'add_values' => array(), 'remove_values' => array('Existing Customer', 'Employee', 'Partner', 'Public Relations', 'Direct Mail'));
     $addPicklists['Leads'][] = array('name' => 'leadstatus', 'uitype' => '15', 'add_values' => array('LBL_TO_REALIZE', 'LBL_REQUIRES_VERIFICATION', 'LBL_PRELIMINARY_ANALYSIS_OF', 'LBL_ADVANCED_ANALYSIS', 'LBL_INITIAL_ACQUISITION', 'LBL_CONTACTS_IN_THE_FUTURE', 'LBL_LEAD_UNTAPPED', 'LBL_LEAD_ACQUIRED'), 'remove_values' => array('Attempted to Contact', 'Cold', 'Contact in Future', 'Contacted', 'Hot', 'Junk Lead', 'Lost Lead', 'Not Contacted', 'Pre Qualified', 'Qualified', 'Warm'));
     $addPicklists['Leads'][] = array('name' => 'salutationtype', 'uitype' => '15', 'add_values' => array(), 'remove_values' => array('--None--'));
     $addPicklists['Leads'][] = array('name' => 'industry', 'uitype' => '15', 'add_values' => array('Administration', 'Construction Industry', 'Power Industry', 'Trade', 'Hotels and Restaurants', 'Health Care', 'Industry / Manufacturing', 'Uniformed Services', 'Transport & Logistics', 'Technologies'), 'remove_values' => array('--None--', 'Apparel', 'Banking', 'Biotechnology', 'Chemicals', 'Communications', 'Construction', 'Consulting', 'Electronics', 'Energy', 'Engineering', 'Entertainment', 'Environmental', 'Food & Beverage', 'Government', 'Healthcare', 'Hospitality', 'Insurance', 'Machinery', 'Manufacturing', 'Media', 'Not For Profit', 'Recreation', 'Retail', 'Shipping', 'Technology', 'Telecommunications', 'Transportation', 'Utilities', 'Other'));
     $addPicklists['Project'][] = array('name' => 'projecttype', 'uitype' => '15', 'add_values' => array('PLL_INTERNAL', 'PLL_EXTERNAL', 'PLL_COMMON'), 'remove_values' => array('administrative', 'operative', 'other'));
     $addPicklists['SalesOrder'][] = array('name' => 'payment_duration', 'uitype' => '16', 'add_values' => array('payment:+0 day', 'payment:+1 day', 'payment:+7 days', 'payment:+14 days', 'payment:+21 days', 'payment:+30 days', 'payment:+60 days', 'payment:+90 days', 'payment:+180 days', 'payment:+360 days', 'payment:+1 month', 'payment:+3 months', 'payment:+6 months', 'payment:+1 year', 'payment:monday next week', 'payment:friday next week', 'payment:first day of next month', 'payment:last day of next month', 'payment:first day of +3 months', 'payment:last day of +3 months'), 'remove_values' => array('Net 30 days', 'Net 45 days', 'Net 60 days'));
     $addPicklists['SalesOrder'][] = array('name' => 'recurring_frequency', 'uitype' => '16', 'add_values' => array('+1 day', '+7 days', '+14 days', '+21 days', '+30 days', '+60 days', '+90 days', '+180 days', '+360 days', '+1 month', '+3 months', '+6 months', '+1 year', 'monday next week', 'friday next week', 'first day of next month', 'last day of next month', 'first day of +3 months', 'last day of +3 months'), 'remove_values' => array('Daily', 'Weekly', 'Monthly', 'Quarterly', 'Yearly'));
     $addPicklists['Quotes'][] = array('name' => 'quotestage', 'uitype' => '15', 'add_values' => array('PLL_WAITING_FOR_PREPARATION', 'PLL_INTERNAL_CONSULTATION_REQUIRED', 'PLL_EXTERNAL_CONSULTATION_REQUIRED', 'PLL_WAITING_FOR_CUSTOMERS_REPLY', 'PLL_IN_PREPARATION', 'PLL_DECLINED', 'PLL_ACCEPTED'), 'remove_values' => array('Created', 'Delivered', 'Reviewed', 'Accepted', 'Rejected'));
     $addPicklists['Calendar'][] = array('name' => 'activitytype', 'uitype' => '15', 'add_values' => array(), 'remove_values' => array('Mobile Call'));
     $addPicklists['Users'][] = array('name' => 'defaulteventstatus', 'uitype' => '15', 'add_values' => array(), 'remove_values' => array('Planned'));
     $addPicklists['Calendar'][] = array('name' => 'eventstatus', 'uitype' => '15', 'add_values' => array(), 'remove_values' => array('Planned'));
     $addPicklists['Potentials'][] = array('name' => 'sales_stage', 'uitype' => '15', 'add_values' => array('Accepted for processing', 'Data verification', 'Customer internal analysis', 'First contact with a customer', 'Advanced business analysis', 'Perception Analysis', 'Preparation of calculations', 'Preparation of offers', 'Awaiting a decision', 'Negotiations', 'Order and contract', 'Documentation verification', 'Closed Lost', 'Closed Waiting for processing', 'Closed Order/contract processing', 'Closed Presale activities', 'Closed Won'), 'remove_values' => array('Prospecting', 'Qualification', 'Needs Analysis', 'Value Proposition', 'Id. Decision Makers', 'Proposal or Price Quote', 'Negotiation or Review'));
     $addPicklists['Calendar'][] = array('name' => 'taskstatus', 'uitype' => '15', 'add_values' => array('Cancelled'), 'remove_values' => array('Planned'));
     $addPicklists['ProjectMilestone'][] = array('name' => 'projectmilestonetype', 'uitype' => '15', 'add_values' => array('PLL_INTERNAL', 'PLL_EXTERNAL', 'PLL_SHARED'), 'remove_values' => array('administrative', 'operative', 'other'));
     $roleRecordList = Settings_Roles_Record_Model::getAll();
     $rolesSelected = array();
     foreach ($roleRecordList as $roleRecord) {
         $rolesSelected[] = $roleRecord->getId();
     }
     foreach ($addPicklists as $moduleName => $piscklists) {
         $moduleModel = Settings_Picklist_Module_Model::getInstance($moduleName);
         if (!$moduleModel) {
             continue;
         }
         foreach ($piscklists as $piscklist) {
             $fieldModel = Settings_Picklist_Field_Model::getInstance($piscklist['name'], $moduleModel);
             if (!$fieldModel) {
                 continue;
             }
             $pickListValues = Vtiger_Util_Helper::getPickListValues($piscklist['name']);
             foreach ($piscklist['add_values'] as $newValue) {
                 if (!in_array($newValue, $pickListValues)) {
                     //$moduleModel->addPickListValues($fieldModel, $newValue);
                     $moduleModel->addPickListValues($fieldModel, $newValue, $rolesSelected);
                 }
             }
             foreach ($piscklist['remove_values'] as $newValue) {
                 if (!in_array($newValue, $pickListValues)) {
                     continue;
                 }
                 if ($piscklist['uitype'] == '15') {
                     $deletePicklistValueId = self::getPicklistId($piscklist['name'], $newValue);
                     if ($deletePicklistValueId) {
                         $adb->pquery("DELETE FROM `vtiger_role2picklist` WHERE picklistvalueid = ? ", array($deletePicklistValueId));
                     }
                 }
                 $adb->pquery("DELETE FROM `vtiger_" . $piscklist['name'] . "` WHERE " . $piscklist['name'] . " = ? ", array($newValue));
                 if ($piscklist['name'] == 'Net 30 days') {
                     $adb->pquery("UPDATE `vtiger_invoice_recurring_info` SET `payment_duration` = ? WHERE `payment_duration` = ? ;", array($piscklist['name'], 'payment:+30 days'));
                 }
                 if ($piscklist['name'] == 'Net 60 days') {
                     $adb->pquery("UPDATE `vtiger_invoice_recurring_info` SET `payment_duration` = ? WHERE `payment_duration` = ? ;", array($piscklist['name'], 'payment:+60 days'));
                 }
                 if ($piscklist['name'] == 'Daily') {
                     $adb->pquery("UPDATE `vtiger_invoice_recurring_info` SET `recurring_frequency` = ? WHERE `recurring_frequency` = ? ;", array($piscklist['name'], '+1 day'));
                 }
                 if ($piscklist['name'] == 'Weekly') {
                     $adb->pquery("UPDATE `vtiger_invoice_recurring_info` SET `recurring_frequency` = ? WHERE `recurring_frequency` = ? ;", array($piscklist['name'], '+7 days'));
                 }
                 if ($piscklist['name'] == 'Monthly') {
                     $adb->pquery("UPDATE `vtiger_invoice_recurring_info` SET `recurring_frequency` = ? WHERE `recurring_frequency` = ? ;", array($piscklist['name'], '+1 month'));
                 }
                 if ($piscklist['name'] == 'Quarterly') {
                     $adb->pquery("UPDATE `vtiger_invoice_recurring_info` SET `recurring_frequency` = ? WHERE `recurring_frequency` = ? ;", array($piscklist['name'], '+3 months'));
                 }
                 if ($piscklist['name'] == 'Yearly') {
                     $adb->pquery("UPDATE `vtiger_invoice_recurring_info` SET `recurring_frequency` = ? WHERE `recurring_frequency` = ? ;", array($piscklist['name'], '+1 year'));
                 }
                 if ($piscklist['name'] == 'defaulteventstatus' && $moduleName == 'Users') {
                     $adb->pquery("UPDATE `vtiger_users` SET `defaulteventstatus` = ? WHERE `defaulteventstatus` = ? ;", array($piscklist['name'], 'Not Held'));
                 }
                 if ($piscklist['name'] == 'administrative' && $moduleName == 'ProjectMilestone') {
                     $adb->pquery("UPDATE `vtiger_projectmilestone` SET `projectmilestonetype` = ? WHERE `projectmilestonetype` = ? ;", array($piscklist['name'], 'PLL_INTERNAL'));
                 }
                 if ($piscklist['name'] == 'operative' && $moduleName == 'ProjectMilestone') {
                     $adb->pquery("UPDATE `vtiger_projectmilestone` SET `projectmilestonetype` = ? WHERE `projectmilestonetype` = ? ;", array($piscklist['name'], 'PLL_EXTERNAL'));
                 }
                 if ($piscklist['name'] == 'other' && $moduleName == 'ProjectMilestone') {
                     $adb->pquery("UPDATE `vtiger_projectmilestone` SET `projectmilestonetype` = ? WHERE `projectmilestonetype` = ? ;", array($piscklist['name'], 'PLL_SHARED'));
                 }
                 //$moduleModel->remove($piscklist['name'], $deletePicklistId, '', $moduleName); // remove and replace in records
             }
         }
         $adb->pquery("UPDATE `vtiger_projecttaskstatus` SET `projecttaskstatus` = ? WHERE `projecttaskstatus` = ? ;", array('Cancelled', 'Canceled'));
     }
     $log->debug("Exiting VT620_to_YT::picklists() method ...");
 }