201 lines
8.9 KiB
PHP
Executable File
201 lines
8.9 KiB
PHP
Executable File
<?php
|
|
/*****************************************************************************
|
|
* The contents of this file are subject to the RECIPROCAL PUBLIC LICENSE
|
|
* Version 1.1 ("License"); You may not use this file except in compliance
|
|
* with the License. You may obtain a copy of the License at
|
|
* http://opensource.org/licenses/rpl.php. Software distributed under the
|
|
* License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND,
|
|
* either express or implied.
|
|
*
|
|
* You may:
|
|
* a) Use and distribute this code exactly as you received without payment or
|
|
* a royalty or other fee.
|
|
* b) Create extensions for this code, provided that you make the extensions
|
|
* publicly available and document your modifications clearly.
|
|
* c) Charge for a fee for warranty or support or for accepting liability
|
|
* obligations for your customers.
|
|
*
|
|
* You may NOT:
|
|
* a) Charge for the use of the original code or extensions, including in
|
|
* electronic distribution models, such as ASP (Application Service
|
|
* Provider).
|
|
* b) Charge for the original source code or your extensions other than a
|
|
* nominal fee to cover distribution costs where such distribution
|
|
* involves PHYSICAL media.
|
|
* c) Modify or delete any pre-existing copyright notices, change notices,
|
|
* or License text in the Licensed Software
|
|
* d) Assert any patent claims against the Licensor or Contributors, or
|
|
* which would in any way restrict the ability of any third party to use the
|
|
* Licensed Software.
|
|
*
|
|
* You must:
|
|
* a) Document any modifications you make to this code including the nature of
|
|
* the change, the authors of the change, and the date of the change.
|
|
* b) Make the source code for any extensions you deploy available via an
|
|
* Electronic Distribution Mechanism such as FTP or HTTP download.
|
|
* c) Notify the licensor of the availability of source code to your extensions
|
|
* and include instructions on how to acquire the source code and updates.
|
|
* d) Grant Licensor a world-wide, non-exclusive, royalty-free license to use,
|
|
* reproduce, perform, modify, sublicense, and distribute your extensions.
|
|
*
|
|
* The Original Code is: CommuniCore
|
|
* Olavo Farias
|
|
* 2006-04-7 olavo.farias@gmail.com
|
|
*
|
|
* The Initial Developer of the Original Code is CommuniCore.
|
|
* Portions created by CommuniCore are Copyright (C) 2005 CommuniCore Ltda
|
|
* All Rights Reserved.
|
|
********************************************************************************/
|
|
if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
|
|
include("modules/EcmProductB2Bs/moduleMenu.php");
|
|
echo "\n<p>\n";
|
|
echo get_module_title($mod_strings['LBL_MODULE_ID'], $mod_strings['LBL_MODULE_TITLE'], true);
|
|
echo "\n</p>\n";
|
|
require_once ('XTemplate/xtpl.php');
|
|
require_once ("data/Tracker.php");
|
|
require_once ('modules/EcmProductB2Bs/EcmProductB2B.php');
|
|
require_once ('themes/'.$theme.'/layout_utils.php');
|
|
require_once ('log4php/LoggerManager.php');
|
|
require_once('include/ListView/ListViewSmarty.php');
|
|
require_once('include/ListView/ListView.php');
|
|
|
|
require_once('modules/Currencies/Currency.php');
|
|
|
|
if(file_exists('custom/modules/EcmProductB2Bs/metadata/listviewdefs.php')){
|
|
require_once('custom/modules/EcmProductB2Bs/metadata/listviewdefs.php');
|
|
}else{
|
|
require_once('modules/EcmProductB2Bs/metadata/listviewdefs.php');
|
|
}
|
|
require_once('modules/SavedSearch/SavedSearch.php');
|
|
require_once('include/SearchForm/SearchForm.php');
|
|
|
|
$header_text = '';
|
|
|
|
global $app_strings;
|
|
global $mod_strings;
|
|
global $app_list_strings;
|
|
global $current_language;
|
|
$current_module_strings = return_module_language($current_language, 'EcmProductB2Bs');
|
|
|
|
global $urlPrefix;
|
|
global $currentModule;
|
|
|
|
global $theme;
|
|
global $current_user;
|
|
// FOCUS_LIST IS THE MEANS OF PASSING DATA TO A LISTVIEW.
|
|
global $focus_list;
|
|
|
|
// SETUP QUICKSEARCH
|
|
require_once('include/QuickSearchDefaults.php');
|
|
$qsd = new QuickSearchDefaults();
|
|
|
|
// CLEAR THE DISPLAY COLUMNS BACK TO DEFAULT WHEN CLEAR QUERY IS CALLED
|
|
if(!empty($_REQUEST['clear_query']) && $_REQUEST['clear_query'] == 'true')
|
|
$current_user->setPreference('ListViewDisplayColumns', array(), 0, $currentModule);
|
|
|
|
$savedDisplayColumns = $current_user->getPreference('ListViewDisplayColumns', $currentModule); // GET USER DEFINED DISPLAY COLUMNS
|
|
|
|
$json = getJSONobj();
|
|
|
|
$seedEcmProductB2B = new EcmProductB2B(); // SEED BEAN
|
|
$searchForm = new SearchForm('EcmProductB2Bs', $seedEcmProductB2B); // NEW SEARCHFORM INSTANCE
|
|
// SETUP LISTVIEW SMARTY
|
|
$lv = new ListViewSmarty();
|
|
|
|
$displayColumns = array();
|
|
// CHECK $_REQUEST IF NEW DISPLAY COLUMNS FROM POST
|
|
if (!empty($_REQUEST['displayColumns'])) {
|
|
foreach (explode('|', $_REQUEST['displayColumns']) as $num => $col) {
|
|
if (!empty($listViewDefs['EcmProductB2Bs'][$col]))
|
|
$displayColumns[$col] = $listViewDefs['EcmProductB2Bs'][$col];
|
|
}
|
|
}elseif(!empty($savedDisplayColumns)) { // USE USER DEFINED DISPLAY COLUMNS FROM PREFERENCES
|
|
$displayColumns = $savedDisplayColumns;
|
|
}else { // USE COLUMNS DEFINED IN LISTVIEWDEFS FOR DEFAULT DISPLAY COLUMNS
|
|
foreach($listViewDefs['EcmProductB2Bs'] as $col => $params) {
|
|
if(!empty($params['default']) && $params['default'])
|
|
$displayColumns[$col] = $params;
|
|
}
|
|
}
|
|
$params = array('massupdate' => true); // SETUP LISTVIEWSMARTY PARAMS
|
|
if(!empty($_REQUEST['orderBy'])) { // ORDER BY COMING FROM $_REQUEST
|
|
$params['orderBy'] = $_REQUEST['orderBy'];
|
|
$params['overrideOrder'] = true;
|
|
if(!empty($_REQUEST['sortOrder'])) $params['sortOrder'] = $_REQUEST['sortOrder'];
|
|
}
|
|
$lv->displayColumns = $displayColumns;
|
|
if(!empty($_REQUEST['search_form_only']) && $_REQUEST['search_form_only']) { // HANDLE AJAX REQUESTS FOR SEARCH FORMS ONLY
|
|
switch($_REQUEST['search_form_view']) {
|
|
case 'basic_search':
|
|
$searchForm->setup();
|
|
$searchForm->displayBasic(false);
|
|
break;
|
|
case 'advanced_search':
|
|
$searchForm->setup();
|
|
$searchForm->displayAdvanced(false);
|
|
break;
|
|
case 'saved_views':
|
|
echo $searchForm->displaySavedViews($listViewDefs, $lv, false);
|
|
break;
|
|
}
|
|
return;
|
|
}
|
|
|
|
// USE THE STORED QUERY IF THERE IS ONE
|
|
if (!isset($where)) $where = "";
|
|
require_once('modules/MySettings/StoreQuery.php');
|
|
$storeQuery = new StoreQuery();
|
|
|
|
if(!isset($_REQUEST['query'])){
|
|
$storeQuery->loadQuery($currentModule);
|
|
$storeQuery->populateRequest();
|
|
}else{
|
|
$storeQuery->saveFromGet($currentModule);
|
|
}
|
|
if(isset($_REQUEST['query'])){
|
|
// WE HAVE A QUERY
|
|
// FIRST SAVE COLUMNS
|
|
$current_user->setPreference('ListViewDisplayColumns', $displayColumns, 0, $currentModule);
|
|
$searchForm->populateFromRequest(); // GATHERS SEARCH FIELD INPUTS FROM $_REQUEST
|
|
$where_clauses = $searchForm->generateSearchWhere(true, "EcmProductB2B"); // BUILDS THE WHERE CLAUSE FROM SEARCH FIELD INPUTS
|
|
if (count($where_clauses) > 0 )$where = implode(' and ', $where_clauses);
|
|
$GLOBALS['log']->info("Here is the where clause for the list view: $where");
|
|
}
|
|
|
|
// START DISPLAY
|
|
// WHICH TAB OF SEARCH FORM TO DISPLAY
|
|
if(!isset($_REQUEST['search_form']) || $_REQUEST['search_form'] != 'false') {
|
|
$searchForm->setup();
|
|
if(isset($_REQUEST['searchFormTab']) && $_REQUEST['searchFormTab'] == 'advanced_search') {
|
|
$searchForm->displayAdvanced();
|
|
}elseif(isset($_REQUEST['searchFormTab']) && $_REQUEST['searchFormTab'] == 'saved_views'){
|
|
$searchForm->displaySavedViews($listViewDefs, $lv);
|
|
}else {
|
|
$searchForm->displayBasic();
|
|
}
|
|
}
|
|
echo $qsd->GetQSScripts();
|
|
/*
|
|
$lv->setup($seedEcmProductB2B, 'include/ListView/ListViewGeneric.tpl', $where, $params);
|
|
$savedSearchName = empty($_REQUEST['saved_search_select_name']) ? '' : (' - ' . $_REQUEST['saved_search_select_name']);
|
|
echo get_form_header($current_module_strings['LBL_LIST_FORM_TITLE'] . $savedSearchName, '', false);
|
|
echo $lv->display();
|
|
*/
|
|
|
|
$ListView = new ListView();
|
|
$ListView->initNewXTemplate('modules/EcmProductB2Bs/ListViewForPriceBooks.html',$current_module_strings);
|
|
$ListView->setHeaderTitle($current_module_strings['LBL_LIST_FORM_TITLE']);
|
|
$ListView->setQuery($where, "", "name asc", "ECMPRODUCT");
|
|
$ListView->processListView($seedEcmProductB2B, "main", "ECMPRODUCT");
|
|
$_SESSION['pricebook_id']=$_REQUEST['pricebook_id'];
|
|
|
|
$savedSearch = new SavedSearch();
|
|
$json = getJSONobj();
|
|
// FILLS IN SAVED VIEWS SELECT BOX ON SHORTCUT MENU
|
|
$savedSearchSelects = $json->encode(array($GLOBALS['app_strings']['LBL_SAVED_SEARCH_SHORTCUT'] . '<br>' . $savedSearch->getSelect('EcmProductB2Bs')));
|
|
$str = "<script>
|
|
YAHOO.util.Event.addListener(window, 'load', SUGAR.util.fillShortcuts, $savedSearchSelects);
|
|
</script>";
|
|
echo $str;
|
|
?>
|