function getSearchViewSmarty($parentFieldArray, $vardef, $displayParams, $tabindex) { $form_name = 'search_form'; if (isset($displayParams['formName'])) { $form_name = $displayParams['formName']; } if (preg_match('/(_basic|_advanced)$/', $vardef['name'], $match)) { $vardef['type_name'] = $vardef['type_name'] . $match[1]; } $this->ss->assign('form_name', $form_name); $popup_request_data = array('call_back_function' => 'set_return', 'form_name' => $form_name, 'field_to_name_array' => array('id' => $vardef['id_name'], 'name' => $vardef['name'])); global $app_list_strings; $parent_types = $app_list_strings['record_type_display']; $disabled_parent_types = SugarACL::disabledModuleList($parent_types); foreach ($disabled_parent_types as $disabled_parent_type) { if ($disabled_parent_type != $focus->parent_type) { unset($parent_types[$disabled_parent_type]); } } $json = getJSONobj(); $displayParams['popupData'] = '{literal}' . $json->encode($popup_request_data) . '{/literal}'; $displayParams['disabled_parent_types'] = '<script>var disabledModules=' . $json->encode($disabled_parent_types) . ';</script>'; $this->setup($parentFieldArray, $vardef, $displayParams, $tabindex); return $this->fetch($this->findTemplate('SearchView')); }
$xtpl->assign('FROM_ADDR_NAME', $from['name']); $xtpl->assign('FROM_ADDR_EMAIL', $from['email']); $xtpl->assign('NAME', from_html($name)); //$xtpl->assign('DESCRIPTION_HTML', from_html($focus->description_html)); $xtpl->assign('DESCRIPTION', $focus->description); $xtpl->assign('TYPE', $email_type); // Unimplemented until jscalendar language files are fixed // $xtpl->assign('CALENDAR_LANG',((empty($cal_codes[$current_language])) ? $cal_codes[$default_language] : $cal_codes[$current_language])); $xtpl->assign('CALENDAR_LANG', 'en'); $xtpl->assign('CALENDAR_DATEFORMAT', $timedate->get_cal_date_format()); $xtpl->assign('DATE_START', $focus->date_start); $xtpl->assign('TIME_FORMAT', '(' . $timedate->get_user_time_format() . ')'); $xtpl->assign('TIME_START', substr($focus->time_start, 0, 5)); $xtpl->assign('TIME_MERIDIEM', $timedate->AMPMMenu('', $focus->time_start)); $parent_types = $app_list_strings['record_type_display']; $disabled_parent_types = SugarACL::disabledModuleList($parent_types); foreach ($disabled_parent_types as $disabled_parent_type) { if ($disabled_parent_type != $focus->parent_type) { unset($parent_types[$disabled_parent_type]); } } $xtpl->assign('TYPE_OPTIONS', get_select_options_with_id($parent_types, $focus->parent_type)); $xtpl->assign('USER_DATEFORMAT', '(' . $timedate->get_user_date_format() . ')'); $xtpl->assign('PARENT_NAME', $focus->parent_name); $xtpl->assign('PARENT_ID', $focus->parent_id); if (empty($focus->parent_type)) { $xtpl->assign('PARENT_RECORD_TYPE', ''); } else { $xtpl->assign('PARENT_RECORD_TYPE', $focus->parent_type); } if (is_admin($current_user) && $_REQUEST['module'] != 'DynamicLayout' && !empty($_SESSION['editinplace'])) {
/** * Add a parent selection popup window * @param displayname Name to display in the popup window * @param field_name name of the field */ function addParent($displayname, $field) { global $app_strings, $app_list_strings; /////////////////////////////////////// /// /// SETUP POPUP $popup_request_data = array('call_back_function' => 'set_return', 'form_name' => 'MassUpdate', 'field_to_name_array' => array('id' => "parent_id", 'name' => "parent_name")); $json = getJSONobj(); $encoded_popup_request_data = $json->encode($popup_request_data); $qsName = array('form' => 'MassUpdate', 'method' => 'query', 'modules' => array("Accounts"), 'group' => 'or', 'field_list' => array('name', 'id'), 'populate_list' => array("mass_parent_name", "mass_parent_id"), 'conditions' => array(array('name' => 'name', 'op' => 'like_custom', 'end' => '%', 'value' => '')), 'limit' => '30', 'no_match_text' => $app_strings['ERR_SQS_NO_MATCH']); $qsName = $json->encode($qsName); // /////////////////////////////////////// $change_parent_button = "<span class='id-ff'><button title='" . $app_strings['LBL_SELECT_BUTTON_TITLE'] . "' type='button' class='button' value='" . $app_strings['LBL_SELECT_BUTTON_LABEL'] . "' name='button_parent_name' onclick='open_popup(document.MassUpdate.{$field['type_name']}.value, 600, 400, \"\", true, false, {$encoded_popup_request_data});'>\n\t\t\t" . SugarThemeRegistry::current()->getImage("id-ff-select", '', null, null, ".png", $app_strings['LBL_ID_FF_SELECT']) . "\n\t\t\t</button></span>"; $parent_type = $field['parent_type']; $parent_types = $app_list_strings[$parent_type]; $disabled_parent_types = SugarACL::disabledModuleList($parent_types); foreach ($disabled_parent_types as $disabled_parent_type) { unset($parent_types[$disabled_parent_type]); } $types = get_select_options_with_id($parent_types, ''); //BS Fix Bug 17110 $pattern = "#\n<OPTION.*" . $app_strings['LBL_NONE'] . '</OPTION>#'; $types = preg_replace($pattern, "", $types); // End Fix $json = getJSONobj(); $disabled_parent_types = $json->encode($disabled_parent_types); return <<<EOHTML <td width="15%" scope="row">{$displayname} </td> <td> <table width='100%' border='0' cellspacing='0' cellpadding='0'> <tr> <td valign='top'> <select name='{$field['type_name']}' id='mass_{$field['type_name']}'> {$types} </select> </td> <td valign='top'> \t\t\t<input name='{$field['id_name']}' id='mass_{$field['id_name']}' type='hidden' value=''> \t\t\t<input name='parent_name' id='mass_parent_name' class='sqsEnabled' autocomplete='off' type='text' value=''> {$change_parent_button} </td> </tr> </table> </td> <script type="text/javascript"> <!-- var disabledModules='{$disabled_parent_types}'; if(typeof sqs_objects == 'undefined'){ var sqs_objects = new Array; } sqs_objects['MassUpdate_parent_name'] = {$qsName}; registerSingleSmartInputListener(document.getElementById('mass_parent_name')); addToValidateBinaryDependency('MassUpdate', 'parent_name', 'alpha', false, '{$app_strings['ERR_SQS_NO_MATCH_FIELD']} {$app_strings['LBL_ASSIGNED_TO']}','parent_id'); document.getElementById('mass_{$field['type_name']}').onchange = function() { document.MassUpdate.parent_name.value=""; document.MassUpdate.parent_id.value=""; \tnew_module = document.forms["MassUpdate"].elements["parent_type"].value; \tif(typeof(disabledModules[new_module]) != 'undefined') { \t\tsqs_objects["MassUpdate_parent_name"]["disable"] = true; \t\tdocument.forms["MassUpdate"].elements["parent_name"].readOnly = true; \t} else { \t\tsqs_objects["MassUpdate_parent_name"]["disable"] = false; \t\tdocument.forms["MassUpdate"].elements["parent_name"].readOnly = false; \t} \tsqs_objects["MassUpdate_parent_name"]["modules"] = new Array(new_module); enableQS(false); checkParentType(document.MassUpdate.parent_type.value, document.MassUpdate.button_parent_name); } --> </script> EOHTML; }