/** * Override - Called from process(). This method will display subpanels. * include/MVC/View/SugarView.php */ protected function _displaySubPanels() { if (isset($this->bean) && !empty($this->bean->id) && (file_exists("modules/" . $this->module . "/metadata/subpaneldefs.php") || file_exists("custom/modules/" . $this->module . "/Ext/Layoutdefs/layoutdefs.ext.php"))) { $GLOBALS["focus"] = $this->bean; require_once 'include/SubPanel/SubPanelTiles.php'; $subpanel = new SubPanelTiles($this->bean, $this->module); //Dependent Logic global $current_user; require_once 'modules/ACLRoles/ACLRole.php'; $role = new ACLRole(); $user_id = $current_user->id; $roles = $role->getUserRoleNames($user_id); if (in_array("Technical support", $roles)) { //Subpanels to hide $hide_subpanels = array("bugs"); if (isset($subpanel->subpanel_definitions->layout_defs['subpanel_setup']["bugs"])) { unset($subpanel->subpanel_definitions->layout_defs['subpanel_setup']["bugs"]); } } echo $subpanel->display(); } }
/** * Override - Called from process(). This method will display subpanels. */ protected function _displaySubPanels() { if (isset($this->bean) && !empty($this->bean->id) && (file_exists('modules/' . $this->module . '/metadata/subpaneldefs.php') || file_exists('custom/modules/' . $this->module . '/metadata/subpaneldefs.php') || file_exists('custom/modules/' . $this->module . '/Ext/Layoutdefs/layoutdefs.ext.php'))) { $GLOBALS['focus'] = $this->bean; require_once 'include/SubPanel/SubPanelTiles.php'; $subpanel = new SubPanelTiles($this->bean, $this->module); //Subpanels to hide $hideSubpanels = array('projecttask', 'tasks'); foreach ($hideSubpanels as $subpanelKey) { //Remove subpanel if set if (isset($subpanel->subpanel_definitions->layout_defs['subpanel_setup'][$subpanelKey])) { unset($subpanel->subpanel_definitions->layout_defs['subpanel_setup'][$subpanelKey]); } } echo $subpanel->display(); } }
/** * Called from process(). This method will display subpanels. */ protected function _displaySubPanels() { if (isset($this->bean) && !empty($this->bean->id) && (file_exists('modules/' . $this->module . '/metadata/subpaneldefs.php') || file_exists('custom/modules/' . $this->module . '/metadata/subpaneldefs.php') || file_exists('custom/modules/' . $this->module . '/Ext/Layoutdefs/layoutdefs.ext.php'))) { $GLOBALS['focus'] = $this->bean; require_once 'include/SubPanel/SubPanelTiles.php'; $subpanel = new SubPanelTiles($this->bean, $this->module); echo $subpanel->display(); } }
} } if (!empty($names)) { $tdwidth = 100 / sizeof($names); } $sugar_smarty->assign('ROLE', $role->toArray()); //xye customization begin $sugar_smarty->assign("CHECKED", $role->enablesoftphone ? "checked" : ""); //xye customization end $sugar_smarty->assign('CATEGORIES', $categories); $sugar_smarty->assign('CATEGORIES2', $categories2); $sugar_smarty->assign('TDWIDTH', $tdwidth); $sugar_smarty->assign('ACTION_NAMES', $names); $return = array('module' => 'ACLRoles', 'action' => 'DetailView', 'record' => $role->id); $sugar_smarty->assign('RETURN', $return); $params = array(); $params[] = "<a href='index.php?module=ACLRoles&action=index'>{$mod_strings['LBL_MODULE_NAME']}</a>"; $params[] = $role->get_summary_text(); echo getClassicModuleTitle("ACLRoles", $params, true); //$sugar_smarty->assign('TITLE', $title); $hide_hide_supanels = true; //xye customization begin echo $sugar_smarty->fetch('custom/modules/ACLRoles/DetailView.tpl'); //xye customization end //for subpanels the variable must be named focus; $focus =& $role; $_REQUEST['module'] = 'ACLRoles'; require_once 'include/SubPanel/SubPanelTiles.php'; $subpanel = new SubPanelTiles($role, 'ACLRoles'); echo $subpanel->display();
if (!$GLOBALS['current_user']->isAdminForModule('Users')) { $tabs = $focus->getPreference('display_tabs'); global $modInvisList; if (!empty($tabs)) { foreach ($categories as $key => $value) { if (!in_array($key, $tabs) && !in_array($key, $modInvisList)) { unset($categories[$key]); } } } } $names = array(); $names = ACLAction::setupCategoriesMatrix($categories); if (!empty($names)) { $tdwidth = 100 / sizeof($names); } $sugar_smarty->assign('APP', $app_list_strings); $sugar_smarty->assign('CATEGORIES', $categories); $sugar_smarty->assign('TDWIDTH', $tdwidth); $sugar_smarty->assign('ACTION_NAMES', $names); $title = getClassicModuleTitle('', array($mod_strings['LBL_MODULE_NAME'], $mod_strings['LBL_ROLES_SUBPANEL_TITLE']), ''); $sugar_smarty->assign('TITLE', $title); $sugar_smarty->assign('USER_ID', $focus->id); $sugar_smarty->assign('LAYOUT_DEF_KEY', 'UserRoles'); echo $sugar_smarty->fetch('modules/ACLRoles/DetailViewUser.tpl'); //this gets its layout_defs.php file from the user not from ACLRoles so look in modules/Users for the layout defs require_once 'include/SubPanel/SubPanelTiles.php'; $modules_exempt_from_availability_check = array('Users' => 'Users', 'ACLRoles' => 'ACLRoles'); $subpanel = new SubPanelTiles($focus, 'UserRoles'); echo $subpanel->display(true, true); }
/** * This function returns the detail view for email in new 2.0 interface * */ function getDetailViewForEmail2($emailId) { require_once 'include/DetailView/DetailView.php'; global $app_strings, $app_list_strings; global $mod_strings; $smarty = new Sugar_Smarty(); // SETTING DEFAULTS $focus = new Email(); $focus->retrieve($emailId); $detailView->ss = new Sugar_Smarty(); $detailView = new DetailView(); $title = ""; $offset = 0; if ($focus->type == 'out') { $title = getClassicModuleTitle('Emails', array($mod_strings['LBL_SENT_MODULE_NAME'], $focus->name), true); } elseif ($focus->type == 'draft') { $title = getClassicModuleTitle('Emails', array($mod_strings['LBL_LIST_FORM_DRAFTS_TITLE'], $focus->name), true); } elseif ($focus->type == 'inbound') { $title = getClassicModuleTitle('Emails', array($mod_strings['LBL_INBOUND_TITLE'], $focus->name), true); } $smarty->assign("emailTitle", $title); // DEFAULT TO TEXT IF NO HTML CONTENT: $html = trim(from_html($focus->description_html)); if (empty($html)) { $smarty->assign('SHOW_PLAINTEXT', 'true'); } else { $smarty->assign('SHOW_PLAINTEXT', 'false'); } //if not empty or set to test (from test campaigns) if (!empty($focus->parent_type) && $focus->parent_type != 'test') { $smarty->assign('PARENT_MODULE', $focus->parent_type); $smarty->assign('PARENT_TYPE', $app_list_strings['record_type_display'][$focus->parent_type] . ":"); } global $gridline; $smarty->assign('MOD', $mod_strings); $smarty->assign('APP', $app_strings); $smarty->assign('GRIDLINE', $gridline); $smarty->assign('PRINT_URL', 'index.php?' . $GLOBALS['request_string']); $smarty->assign('ID', $focus->id); $smarty->assign('TYPE', $focus->type); $smarty->assign('PARENT_NAME', $focus->parent_name); $smarty->assign('PARENT_ID', $focus->parent_id); $smarty->assign('NAME', $focus->name); $smarty->assign('ASSIGNED_TO', $focus->assigned_user_name); $smarty->assign('DATE_MODIFIED', $focus->date_modified); $smarty->assign('DATE_ENTERED', $focus->date_entered); $smarty->assign('DATE_START', $focus->date_start); $smarty->assign('TIME_START', $focus->time_start); $smarty->assign('FROM', $focus->from_addr); $smarty->assign('TO', nl2br($focus->to_addrs)); $smarty->assign('CC', nl2br($focus->cc_addrs)); $smarty->assign('BCC', nl2br($focus->bcc_addrs)); $smarty->assign('CREATED_BY', $focus->created_by_name); $smarty->assign('MODIFIED_BY', $focus->modified_by_name); $smarty->assign('DATE_SENT', $focus->date_entered); $smarty->assign('EMAIL_NAME', 'RE: ' . $focus->name); $smarty->assign("TAG", $focus->listviewACLHelper()); $smarty->assign("SUGAR_VERSION", $GLOBALS['sugar_version']); $smarty->assign("JS_CUSTOM_VERSION", $GLOBALS['sugar_config']['js_custom_version']); if (!empty($focus->reply_to_email)) { $replyTo = "\n\t\t\t\t<tr>\n\t\t <td class=\"tabDetailViewDL\"><slot>" . $mod_strings['LBL_REPLY_TO_NAME'] . "</slot></td>\n\t\t <td colspan=3 class=\"tabDetailViewDF\"><slot>" . $focus->reply_to_addr . "</slot></td>\n\t\t </tr>"; $smarty->assign("REPLY_TO", $replyTo); } /////////////////////////////////////////////////////////////////////////////// //// JAVASCRIPT VARS $jsVars = ''; $jsVars .= "var showRaw = '{$mod_strings['LBL_BUTTON_RAW_LABEL']}';"; $jsVars .= "var hideRaw = '{$mod_strings['LBL_BUTTON_RAW_LABEL_HIDE']}';"; $smarty->assign("JS_VARS", $jsVars); /////////////////////////////////////////////////////////////////////////////// //// NOTES (attachements, etc.) /////////////////////////////////////////////////////////////////////////////// $note = new Note(); $where = "notes.parent_id='{$focus->id}'"; //take in account if this is from campaign and the template id is stored in the macros. if (isset($macro_values) && isset($macro_values['email_template_id'])) { $where = "notes.parent_id='{$macro_values['email_template_id']}'"; } $notes_list = $note->get_full_list("notes.name", $where, true); if (!isset($notes_list)) { $notes_list = array(); } $attachments = ''; for ($i = 0; $i < count($notes_list); $i++) { $the_note = $notes_list[$i]; $attachments .= "<a href=\"index.php?entryPoint=download&id={$the_note->id}&type=Notes\">" . $the_note->name . "</a><br />"; $focus->cid2Link($the_note->id, $the_note->file_mime_type); } $smarty->assign('DESCRIPTION', nl2br($focus->description)); $smarty->assign('DESCRIPTION_HTML', from_html($focus->description_html)); $smarty->assign("ATTACHMENTS", $attachments); /////////////////////////////////////////////////////////////////////////////// //// SUBPANELS /////////////////////////////////////////////////////////////////////////////// $show_subpanels = true; if ($show_subpanels) { require_once 'include/SubPanel/SubPanelTiles.php'; $subpanel = new SubPanelTiles($focus, 'Emails'); $smarty->assign("SUBPANEL", $subpanel->display()); } $meta['html'] = $smarty->fetch("modules/Emails/templates/emailDetailView.tpl"); return $meta; }
function display() { if (isset($_REQUEST['mode']) && $_REQUEST['mode'] == 'set_target') { require_once 'modules/Campaigns/utils.php'; //call function to create campaign logs $mess = track_campaign_prospects($this->bean); $confirm_msg = "var ajax_C_LOG_Status = new SUGAR.ajaxStatusClass(); \n window.setTimeout(\"ajax_C_LOG_Status.showStatus('" . $mess . "')\",1000); \n window.setTimeout('ajax_C_LOG_Status.hideStatus()', 1500); \n window.setTimeout(\"ajax_C_LOG_Status.showStatus('" . $mess . "')\",2000); \n window.setTimeout('ajax_C_LOG_Status.hideStatus()', 5000); "; $this->ss->assign("MSG_SCRIPT", $confirm_msg); } if ($this->bean->campaign_type == 'Email' || $this->bean->campaign_type == 'NewsLetter') { $this->ss->assign("ADD_BUTTON_STATE", "submit"); $this->ss->assign("TARGET_BUTTON_STATE", "hidden"); } else { $this->ss->assign("ADD_BUTTON_STATE", "hidden"); $this->ss->assign("DISABLE_LINK", "display:none"); $this->ss->assign("TARGET_BUTTON_STATE", "submit"); } $currency = new Currency(); if (isset($this->bean->currency_id) && !empty($this->bean->currency_id)) { $currency->retrieve($this->bean->currency_id); if ($currency->deleted != 1) { $this->ss->assign('CURRENCY', $currency->iso4217 . ' ' . $currency->symbol); } else { $this->ss->assign('CURRENCY', $currency->getDefaultISO4217() . ' ' . $currency->getDefaultCurrencySymbol()); } } else { $this->ss->assign('CURRENCY', $currency->getDefaultISO4217() . ' ' . $currency->getDefaultCurrencySymbol()); } parent::display(); //We want to display subset of available, panels, so we will call subpanel //object directly instead of using sugarview. $GLOBALS['focus'] = $this->bean; require_once 'include/SubPanel/SubPanelTiles.php'; $subpanel = new SubPanelTiles($this->bean, $this->module); //get available list of subpanels $alltabs = $subpanel->subpanel_definitions->get_available_tabs(); if (!empty($alltabs)) { //iterate through list, and filter out all but 3 subpanels foreach ($alltabs as $key => $name) { if ($name != 'prospectlists' && $name != 'emailmarketing' && $name != 'tracked_urls') { //exclude subpanels that are not prospectlists, emailmarketing, or tracked urls $subpanel->subpanel_definitions->exclude_tab($name); } } //only show email marketing subpanel for email/newsletter campaigns if ($this->bean->campaign_type != 'Email' && $this->bean->campaign_type != 'NewsLetter') { //exclude subpanels that are not prospectlists, emailmarketing, or tracked urls $subpanel->subpanel_definitions->exclude_tab('emailmarketing'); } } //show filtered subpanel list echo $subpanel->display(); }
/** * @see SugarView::_displaySubPanels() */ protected function _displaySubPanels() { require_once 'include/SubPanel/SubPanelTiles.php'; $subpanel = new SubPanelTiles($this->bean, 'ProjectTemplates'); echo $subpanel->display(true, true); }
/* * Your installation or use of this SugarCRM file is subject to the applicable * terms available at * http://support.sugarcrm.com/06_Customer_Center/10_Master_Subscription_Agreements/. * If you do not agree to all of the applicable terms or do not have the * authority to bind the entity as an authorized representative, then do not * install or use this SugarCRM file. * * Copyright (C) SugarCRM Inc. All rights reserved. */ /** * Created on Jul 17, 2006 * Ajax Procedure for loading all subpanels for a certain subpanel tab. */ require_once 'include/DetailView/DetailView.php'; $detailView = new DetailView(); $focus = BeanFactory::getBean($_REQUEST['loadModule']); $focus->id = $_REQUEST['record']; require_once 'include/SubPanel/SubPanelTiles.php'; $subpanel = new SubPanelTiles($focus, $_REQUEST['loadModule']); if (!function_exists('get_form_header')) { global $theme; } // set up data for subpanels global $currentModule; $currentModule = $_REQUEST['loadModule']; $_REQUEST['action'] = 'DetailView'; //This line of code is critical. We need to ensure that the global controller bean is set to the $currentModule global variable $GLOBALS['app']->controller->bean = $focus; echo $subpanel->display(false);
/** * Called from process(). This method will display subpanels. */ protected function _displaySubPanels() { if (!empty($this->bean->id) && (SugarAutoLoader::existingCustom('modules/' . $this->module . '/metadata/subpaneldefs.php') || SugarAutoLoader::loadExtension("layoutdefs", $this->module))) { $GLOBALS['focus'] = $this->bean; require_once 'include/SubPanel/SubPanelTiles.php'; $subpanel = new SubPanelTiles($this->bean, $this->module); echo $subpanel->display(); } }
/** * @group 41523 */ public function testDeletedLeadsOnCapmaingStatusPage() { // Create 2 leads $lead1 = $this->createLeadFromWebForm('User1'); $lead2 = $this->createLeadFromWebForm('User2'); // Delete one lead $lead1->mark_deleted($lead1->id); $this->assertEquals($this->campaign->getDeletedCampaignLogLeadsCount(), 1); // Test SubPanel output $subpanel = new SubPanelTiles($this->campaign, 'Campaigns'); $html = $subpanel->display(); preg_match('|<div id="list_subpanel_lead">.*?<table.*?</table>.*?</table>.*?</tr>(.*?)</table>|s', $html, $match); preg_match_all('|<tr|', $match[1], $match); $this->assertEquals(count($match[0]), 2); }