📄 listview.tmpl
字号:
<?php
include('modules/SimpleMod/NewEntryPoint.php');
/*********************************************************************************
* The contents of this file are subject to the SugarCRM Public License Version
* 1.1.3 ("License"); You may not use this file except in compliance with the
* License. You may obtain a copy of the License at http://www.sugarcrm.com/SPL
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* All copies of the Covered Code must include on each user interface screen:
* (i) the "Powered by SugarCRM" logo and
* (ii) the SugarCRM copyright notice
* in the same form as they appear in the distribution. See full license for
* requirements.
*
* The Original Code is: SugarCRM Open Source
* The Initial Developer of the Original Code is SugarCRM, Inc.
* Portions created by SugarCRM are Copyright (C) 2004-2006 SugarCRM, Inc.;
* All Rights Reserved.
* Contributor(s): ______________________________________.
********************************************************************************/
/*********************************************************************************
* $Id: ListView.php,v 1.66.4.2 2006/04/18 21:47:46 wayne Exp $
* Description: TODO: To be written.
* Portions created by SugarCRM are Copyright (C) SugarCRM, Inc.
* All Rights Reserved.
* Contributor(s): ______________________________________..
********************************************************************************/
require_once('XTemplate/xtpl.php');
require_once("data/Tracker.php");
require_once('modules/Cases/Case.php');
require_once('themes/'.$theme.'/layout_utils.php');
require_once('log4php/LoggerManager.php');
require_once('modules/Currencies/Currency.php');
require_once('include/ListView/ListView.php');
global $app_strings;
global $app_list_strings;
global $current_language;
$current_module_strings = return_module_language($current_language, 'Cases');
global $urlPrefix;
global $currentModule;
global $theme;
include('include/QuickSearchDefaults.php');
echo $qsScripts;
if (!isset($where)) $where = "";
$seedCase = new aCase();
require_once('modules/MySettings/StoreQuery.php');
$storeQuery = new StoreQuery();
if(!isset($_REQUEST['query'])){
$storeQuery->loadQuery($currentModule);
$storeQuery->populateRequest();
}else{
$storeQuery->saveFromGet($currentModule);
}
// Process Search Query
if(isset($_REQUEST['query'])){
// we have a query - Advanced Search
if (isset($_REQUEST['name'])) $name = $_REQUEST['name'];
if (isset($_REQUEST['account_name'])) $account_name = $_REQUEST['account_name'];
if (isset($_REQUEST['status'])) $status = $_REQUEST['status'];
if (isset($_REQUEST['priority'])) $priority = $_REQUEST['priority'];
// Process multiple case numbers search
if (isset($_REQUEST['case_number'])) {
$case_number = preg_replace('/ /', '' ,PearDatabase::quote($_REQUEST['case_number']));
$_REQUEST['case_number']=$case_number;
$case_number = implode("','", split(',', $case_number));
$storeQuery->saveFromGet($currentModule);
}
// Process Only My Items
if (isset($_REQUEST['current_user_only'])) $current_user_only = $_REQUEST['current_user_only'];
if (isset($_REQUEST['assigned_user_id'])) $assigned_user_id = $_REQUEST['assigned_user_id'];
// Create where clauses for all advanced search fields
$where_clauses = Array();
if(isset($name) && $name != "") array_push($where_clauses, "cases.name like '%".PearDatabase::quote($name)."%'");
if(isset($account_name) && $account_name != "") array_push($where_clauses, "accounts.name like '".PearDatabase::quote($account_name)."%'");
if(isset($status) && $status != "") array_push($where_clauses, "cases.status = '".PearDatabase::quote($status)."'");
if(isset($priority) && $priority != "") array_push($where_clauses, "cases.priority = '".PearDatabase::quote($priority)."'");
if(isset($case_number) && $case_number != "") array_push($where_clauses, "cases.case_number IN ('".$case_number."')");
if(isset($current_user_only) && $current_user_only != "") array_push($where_clauses, "cases.assigned_user_id='$current_user->id'");
$seedCase->custom_fields->setWhereClauses($where_clauses);
$where = "";
foreach($where_clauses as $clause){
if($where != "")
$where .= " and ";
$where .= $clause;
}
// Process all assigned user ids
if (isset($assigned_user_id) && is_array($assigned_user_id)){
$count = count($assigned_user_id);
if ($count > 0 ) {
if (!empty($where)) {
$where .= " AND ";
}
$where .= "cases.assigned_user_id IN(";
foreach ($assigned_user_id as $key => $val) {
$where .= "'$val'";
$where .= ($key == count($assigned_user_id) - 1) ? ")" : ", ";
}
}
}
$GLOBALS['log']->info("Here is the where clause for the list view: $where");
} // End of Search Query
// Process NOT Search Form
if (!isset($_REQUEST['search_form']) || $_REQUEST['search_form'] != 'false') {
// Stick the form header out there.
$search_form=new XTemplate ('modules/Cases/SearchForm.html');
$search_form->assign("MOD", $current_module_strings);
$search_form->assign("APP", $app_strings);
$search_form->assign("IMAGE_PATH", $image_path);
$search_form->assign("ADVANCED_SEARCH_PNG", get_image($image_path.'advanced_search','alt="'.$app_strings['LNK_ADVANCED_SEARCH'].'" border="0"'));
$search_form->assign("BASIC_SEARCH_PNG", get_image($image_path.'basic_search','alt="'.$app_strings['LNK_BASIC_SEARCH'].'" border="0"'));
if(isset($name)) $search_form->assign("NAME", $name);
if(isset($account_name)) $search_form->assign("ACCOUNT_NAME", $account_name);
if (isset($case_number)) $search_form->assign("CASE_NUMBER", $_REQUEST['case_number']);
$search_form->assign("JAVASCRIPT", get_clear_form_js());
// Only My Items
if(isset($current_user_only)) $search_form->assign("CURRENT_USER_ONLY", "checked");
$header_text = '';
// Dynamic Layout
if(is_admin($current_user) && $_REQUEST['module'] != 'DynamicLayout' && !empty($_SESSION['editinplace'])){
$header_text = " <a href='index.php?action=index&module=DynamicLayout&from_action=SearchForm&from_module=".$_REQUEST['module'] ."'>".get_image($image_path."EditLayout","border='0' alt='Edit Layout' align='bottom'")."</a>";
}
//Print Form Title
echo get_form_header($current_module_strings['LBL_SEARCH_FORM_TITLE']. $header_text, "", false);
// Process Advanced Search Form
if (isset($_REQUEST['advanced']) && $_REQUEST['advanced'] == 'true') {
$case_status_dom = $app_list_strings['case_status_dom'];
array_unshift($case_status_dom, '');
if (isset($status))
$search_form->assign("STATUS_OPTIONS", get_select_options_with_id($case_status_dom, $status));
else $search_form->assign("STATUS_OPTIONS", get_select_options_with_id($case_status_dom, ''));
$case_priority_dom = $app_list_strings['case_priority_dom'];
array_unshift($case_priority_dom, '');
if (isset($status))
$search_form->assign("PRIORITY_OPTIONS", get_select_options_with_id($case_priority_dom, $priority));
else $search_form->assign("PRIORITY_OPTIONS", get_select_options_with_id($case_priority_dom, ''));
if (!empty($assigned_user_id))
$search_form->assign("USER_FILTER", get_select_options_with_id(get_user_array(FALSE), $assigned_user_id));
else $search_form->assign("USER_FILTER", get_select_options_with_id(get_user_array(FALSE), ''));
// adding custom fields:
$seedCase->custom_fields->populateXTPL($search_form, 'search' );
// Parse Advanced Search Form
$search_form->parse("advanced");
$search_form->out("advanced");
}else{
// adding custom fields:
$seedCase->custom_fields->populateXTPL($search_form, 'search' );
// Parse Basic Search Form
$search_form->parse("main");
$search_form->out("main");
}
echo get_form_footer();
echo "\n<BR>\n";
}
$newForm = null;
$ListView = new ListView();
if(is_admin($current_user) && $_REQUEST['module'] != 'DynamicLayout' && !empty($_SESSION['editinplace'])){
$header_text = " <a href='index.php?action=index&module=DynamicLayout&from_action=ListView&from_module=".$_REQUEST['module'] ."'>".get_image($image_path."EditLayout","border='0' alt='Edit Layout' align='bottom'")."</a>";
}
$ListView->initNewXTemplate( 'modules/Cases/ListView.html',$current_module_strings);
$ListView->setHeaderTitle($current_module_strings['LBL_LIST_FORM_TITLE']. $header_text );
$ListView->setQuery($where, "", "name", "CASE");
$ListView->setAdditionalDetails(true);
$ListView->processListView($seedCase, "main", "CASE");
?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -