getModuleTitleIconPath($this->module); $returnArray = array(); if (!empty($iconPath) && !$browserTitle) { $returnArray[] = "{$app_list_strings["; } else { $returnArray[] = $app_list_strings['moduleList'][$_REQUEST['import_module']]; } $returnArray[] = "".$mod_strings['LBL_MODULE_NAME'].""; $returnArray[] = $mod_strings['LBL_RESULTS']; return $returnArray; } /** * @see SugarView::display() */ public function display() { global $mod_strings, $app_strings, $current_user, $sugar_config, $current_language; $this->ss->assign("IMPORT_MODULE", $_REQUEST['import_module']); $this->ss->assign("TYPE", $_REQUEST['type']); $this->ss->assign("HEADER", $app_strings['LBL_IMPORT']." ". $mod_strings['LBL_MODULE_NAME']); $this->ss->assign("MODULE_TITLE", $this->getModuleTitle()); // lookup this module's $mod_strings to get the correct module name $module_mod_strings = return_module_language($current_language, $_REQUEST['import_module']); $this->ss->assign("MODULENAME",$module_mod_strings['LBL_MODULE_NAME']); $this->ss->assign("JAVASCRIPT", $this->_getJS()); // read status file to get totals for records imported, errors, and duplicates $count = 0; $errorCount = 0; $dupeCount = 0; $createdCount = 0; $updatedCount = 0; $fp = sugar_fopen(ImportCacheFiles::getStatusFileName(),'r'); while (( $row = fgetcsv($fp, 8192) ) !== FALSE) { $count += (int) $row[0]; $errorCount += (int) $row[1]; $dupeCount += (int) $row[2]; $createdCount += (int) $row[3]; $updatedCount += (int) $row[4]; } fclose($fp); $this->ss->assign("noSuccess",FALSE); if(($count == $errorCount) || ($dupeCount == $count)){ $this->ss->assign("noSuccess",TRUE); } $this->ss->assign("errorCount",$errorCount); $this->ss->assign("dupeCount",$dupeCount); $this->ss->assign("createdCount",$createdCount); $this->ss->assign("updatedCount",$updatedCount); $this->ss->assign("errorFile",ImportCacheFiles::getErrorFileName()); $this->ss->assign("errorrecordsFile",ImportCacheFiles::getErrorRecordsFileName()); $this->ss->assign("dupeFile",ImportCacheFiles::getDuplicateFileName()); if ( $this->bean->object_name == "Prospect" ) { $this->ss->assign("PROSPECTLISTBUTTON", $this->_addToProspectListButton()); } else { $this->ss->assign("PROSPECTLISTBUTTON",""); } $this->ss->display('modules/Import/tpls/last.tpl'); foreach ( UsersLastImport::getBeansByImport($_REQUEST['import_module']) as $beanname ) { // load bean if ( !( $this->bean instanceof $beanname ) ) { $this->bean = new $beanname; } // build listview to show imported records require_once('include/ListView/ListViewFacade.php'); $lvf = new ListViewFacade($this->bean, $this->bean->module_dir, 0); $params = array(); if(!empty($_REQUEST['orderBy'])) { $params['orderBy'] = $_REQUEST['orderBy']; $params['overrideOrder'] = true; if(!empty($_REQUEST['sortOrder'])) $params['sortOrder'] = $_REQUEST['sortOrder']; } $beanname = ($this->bean->object_name == 'Case' ? 'aCase' : $this->bean->object_name); // add users_last_import joins so we only show records done in this import $params['custom_from'] = ', users_last_import'; $params['custom_where'] = " AND users_last_import.assigned_user_id = '{$GLOBALS['current_user']->id}' AND users_last_import.bean_type = '{$beanname}' AND users_last_import.bean_id = {$this->bean->table_name}.id AND users_last_import.deleted = 0 AND {$this->bean->table_name}.deleted = 0"; $where = " {$this->bean->table_name}.id IN ( SELECT users_last_import.bean_id FROM users_last_import WHERE users_last_import.assigned_user_id = '{$GLOBALS['current_user']->id}' AND users_last_import.bean_type = '{$beanname}' AND users_last_import.deleted = 0 )"; $lbl_last_imported = $mod_strings['LBL_LAST_IMPORTED']; $lvf->lv->mergeduplicates = false; $lvf->lv->showMassupdateFields = false; if ( $lvf->type == 2 ) { $lvf->template = 'include/ListView/ListViewNoMassUpdate.tpl'; } $module_mod_strings = return_module_language($current_language, $this->bean->module_dir); $lvf->setup('', $where, $params, $module_mod_strings, 0, -1, '', strtoupper($beanname), array(), 'id'); $lvf->display($lbl_last_imported.": ".$module_mod_strings['LBL_MODULE_NAME']); } } /** * Returns JS used in this view */ private function _getJS() { return << EOJAVASCRIPT; } /** * Returns a button to add this list of prospects to a Target List * * @return string html code to display button */ private function _addToProspectListButton() { global $app_strings, $sugar_version, $sugar_config, $current_user; $query = "SELECT distinct prospects.id, prospects.assigned_user_id, prospects.first_name, prospects.last_name, prospects.phone_work, prospects.title, email_addresses.email_address email1, users.user_name as assigned_user_name FROM users_last_import,prospects LEFT JOIN users ON prospects.assigned_user_id=users.id LEFT JOIN email_addr_bean_rel on prospects.id = email_addr_bean_rel.bean_id and email_addr_bean_rel.bean_module='Prospect' and email_addr_bean_rel.primary_address=1 and email_addr_bean_rel.deleted=0 LEFT JOIN email_addresses on email_addresses.id = email_addr_bean_rel.email_address_id WHERE users_last_import.assigned_user_id= '{$current_user->id}' AND users_last_import.bean_type='Prospect' AND users_last_import.bean_id=prospects.id AND users_last_import.deleted=0 AND prospects.deleted=0 "; $popup_request_data = array( 'call_back_function' => 'set_return_and_save_background', 'form_name' => 'DetailView', 'field_to_name_array' => array( 'id' => 'subpanel_id', ), 'passthru_data' => array( 'child_field' => 'notused', 'return_url' => 'notused', 'link_field_name' => 'notused', 'module_name' => 'notused', 'refresh_page'=>'1', 'return_type'=>'addtoprospectlist', 'parent_module'=>'ProspectLists', 'parent_type'=>'ProspectList', 'child_id'=>'id', 'link_attribute'=>'prospects', 'link_type'=>'default', //polymorphic or default ) ); $popup_request_data['passthru_data']['query'] = urlencode($query); $json = getJSONobj(); $encoded_popup_request_data = $json->encode($popup_request_data); return << EOHTML; } } ?>