_get_where_clause(); $formBase = new ContactFormBase(); if(isset($_REQUEST['doAction']) && $_REQUEST['doAction'] == 'save') { $formBase->handleSave('', false, true); } $first_name = empty($_REQUEST['first_name']) ? '' : $_REQUEST['first_name']; $last_name = empty($_REQUEST['last_name']) ? '' : $_REQUEST['last_name']; $account_name = empty($_REQUEST['account_name']) ? '' : $_REQUEST['account_name']; $request_data = empty($_REQUEST['request_data']) ? '' : $_REQUEST['request_data']; $hide_clear_button = empty($_REQUEST['hide_clear_button']) ? false : true; $lbl_save_button_title = $app_strings['LBL_SAVE_BUTTON_TITLE']; $lbl_save_button_key = $app_strings['LBL_SAVE_BUTTON_KEY']; $lbl_save_button_label = $app_strings['LBL_SAVE_BUTTON_LABEL']; // TODO: cleanup the construction of $addform $formbody = $formBase->getFormBody('','','EmailEditView'); $addform = '
' .str_replace('
', '
 ', $formbody) . '
' . ''; $formSave = << EOQ; $createContact = << EOQ; $addformheader = get_form_header($mod_strings['LNK_NEW_CONTACT'], $formSave, false); $button = "
\n"; if(!$hide_clear_button) { $button .= "\n"; } $button .= "\n"; $button .= "
\n"; $form = new XTemplate('modules/Contacts/Address_picker.html'); $form->assign('MOD', $mod_strings); $form->assign('APP', $app_strings); $form->assign('ADDFORMHEADER', $addformheader); $form->assign('ADDFORM', $addform); $form->assign('THEME', $theme); $form->assign('MODULE_NAME', $currentModule); $form->assign('FIRST_NAME', $first_name); $form->assign('LAST_NAME', $last_name); $form->assign('ACCOUNT_NAME', $account_name); $form->assign('request_data', $request_data); // fill in for mass update $button = "". "". "". "". "". ""; if(isset($_REQUEST['mass']) && is_array($_REQUEST['mass'])) { foreach(array_unique($_REQUEST['mass']) as $record) { $button .= "\n"; } } $button .= ""; $button .= ""; $button .= ""; $button .= ""; $button .= ""; // Added ID attribute to each element to use getElementById. To give ID attribute to an element is a good practice. $button .= ""; $button .= ""; $button .= ""; $button .= ""; $button .= ""; // Adding an onclick event to remove address for alternate address, as user has selected copy address to primary address $button .= "\n"; // Adding a new block of code copy the address to alternate address for contacts $button .= ""; $button .= ""; $button .= ""; $button .= ""; $button .= ""; // Adding an onclick event to remove address for primary address, as user has selected copy address to alternate address // NOTE => You need to change the label as as per SugarCRM way.. $button .= "\n"; $button .= "\n"; ob_start(); insert_popup_header($theme); $output_html .= ob_get_contents(); ob_end_clean(); // Reset the sections that are already in the page so that they do not print again later. $form->reset('main.SearchHeader'); // create the listview $seed_bean = new Contact(); $ListView = new ListView(); $ListView->show_export_button = false; $ListView->process_for_popups = true; $ListView->show_delete_button = false; $ListView->show_select_menu = false; $ListView->setXTemplate($form); $ListView->setHeaderTitle($mod_strings['LBL_LIST_FORM_TITLE']); $ListView->setHeaderText($button); $ListView->setQuery($where, '', '', 'CONTACT'); $ListView->setModStrings($mod_strings); ob_start(); $ListView->processListViewMulti($seed_bean, 'main', 'CONTACT'); $output_html .= ob_get_contents(); ob_end_clean(); // Regular Expression to override sListView $exp = '/sListView.save_checks/si'; $change = 'save_checks'; $output_html = preg_replace(array($exp), array($change), $output_html); $output_html .= << EOJS; $output_html .= insert_popup_footer(); return $output_html; } function process_page_for_merge() { global $theme; global $mod_strings; global $app_strings; global $currentModule; global $sugar_version, $sugar_config; $output_html = ''; $where = ''; $where = $this->_get_where_clause(); $first_name = empty($_REQUEST['first_name']) ? '' : $_REQUEST['first_name']; $last_name = empty($_REQUEST['last_name']) ? '' : $_REQUEST['last_name']; $account_name = empty($_REQUEST['account_name']) ? '' : $_REQUEST['account_name']; $hide_clear_button = empty($_REQUEST['hide_clear_button']) ? false : true; $button = "
\n"; //START:FOR MULTI-SELECT $multi_select=false; if (!empty($_REQUEST['mode']) && strtoupper($_REQUEST['mode']) == 'MULTISELECT') { $multi_select=true; $button .= "\n"; } //END:FOR MULTI-SELECT if(!$hide_clear_button) { $button .= "\n"; } $button .= "\n"; $button .= "
\n"; $form = new XTemplate('modules/Contacts/MailMergePicker.html'); $form->assign('MOD', $mod_strings); $form->assign('APP', $app_strings); $form->assign('THEME', $theme); $form->assign('MODULE_NAME', $currentModule); $form->assign('FIRST_NAME', $first_name); $form->assign('LAST_NAME', $last_name); $form->assign('ACCOUNT_NAME', $account_name); $request_data = empty($_REQUEST['request_data']) ? '' : $_REQUEST['request_data']; $form->assign('request_data', $request_data); ob_start(); insert_popup_header($theme); $output_html .= ob_get_contents(); ob_end_clean(); $output_html .= get_form_header($mod_strings['LBL_SEARCH_FORM_TITLE'], '', false); $form->parse('main.SearchHeader'); $output_html .= $form->text('main.SearchHeader'); // Reset the sections that are already in the page so that they do not print again later. $form->reset('main.SearchHeader'); // create the listview $seed_bean = new Contact(); $ListView = new ListView(); $ListView->display_header_and_footer=false; $ListView->show_export_button = false; $ListView->process_for_popups = true; $ListView->setXTemplate($form); $ListView->multi_select_popup=$multi_select; if ($multi_select) $ListView->xTemplate->assign("TAG_TYPE","SPAN"); else $ListView->xTemplate->assign("TAG_TYPE","A"); $ListView->setHeaderTitle($mod_strings['LBL_LIST_FORM_TITLE']); $ListView->setQuery($where, '', 'contacts.last_name, contacts.first_name', 'CONTACT'); $ListView->setModStrings($mod_strings); ob_start(); $output_html .= get_form_header($mod_strings['LBL_LIST_FORM_TITLE'], $button, false); //BEGIN ATHENA CUSTOMIZATION - rsmith $query = $_REQUEST['select'].' WHERE '.$_REQUEST['where']."'".$_REQUEST['id']."'"; //$response = $seed_bean->process_list_query($_REQUEST['select'], 0, -1, -1, $_REQUEST['where']."'".$_REQUEST['id']."'"); $result = $seed_bean->db->query($query,true,"Error retrieving $seed_bean->object_name list: "); $list = Array(); if(empty($rows_found)) { $rows_found = $seed_bean->db->getRowCount($result); } $row_offset = 0; global $sugar_config; $max_per_page = $sugar_config['list_max_entries_per_page']; while(($row = $seed_bean->db->fetchByAssoc($result)) != null) { $seed_bean = new Contact(); foreach($seed_bean->field_defs as $field=>$value) { if (isset($row[$field])) { $seed_bean->$field = $row[$field]; } else if (isset($row[$seed_bean->table_name .'.'.$field])) { $seed_bean->$field = $row[$seed_bean->table_name .'.'.$field]; } else { $seed_bean->$field = ""; } } $seed_bean->fill_in_additional_list_fields(); $list[] = $seed_bean; } $ListView->processListViewTwo($list, 'main', 'CONTACT'); //END ATHENA CUSTOMIZATION - rsmith $output_html .= ob_get_contents(); ob_end_clean(); $output_html .= insert_popup_footer(); return $output_html; } } ?>