/**
  * 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();
     }
 }
예제 #2
0
 /**
  * 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();
     }
 }
예제 #3
0
 /**
  * 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();
예제 #5
0
    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);
}
예제 #6
0
파일: EmailUI.php 프로젝트: NALSS/SuiteCRM
 /**
  * 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;
 }
예제 #7
0
 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();
 }
예제 #8
0
 /**
  * @see SugarView::_displaySubPanels()
  */
 protected function _displaySubPanels()
 {
     require_once 'include/SubPanel/SubPanelTiles.php';
     $subpanel = new SubPanelTiles($this->bean, 'ProjectTemplates');
     echo $subpanel->display(true, true);
 }
예제 #9
0
/*
 * 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);
예제 #10
0
 /**
  * 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();
     }
 }
예제 #11
0
 /**
  * @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);
 }