]> CyberLeo.Net >> Repos - Github/sugarcrm.git/blob - modules/Employees/views/view.list.php
Release 6.4.0
[Github/sugarcrm.git] / modules / Employees / views / view.list.php
1 <?php
2 if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
3 /*********************************************************************************
4  * SugarCRM Community Edition is a customer relationship management program developed by
5  * SugarCRM, Inc. Copyright (C) 2004-2011 SugarCRM Inc.
6  * 
7  * This program is free software; you can redistribute it and/or modify it under
8  * the terms of the GNU Affero General Public License version 3 as published by the
9  * Free Software Foundation with the addition of the following permission added
10  * to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
11  * IN WHICH THE COPYRIGHT IS OWNED BY SUGARCRM, SUGARCRM DISCLAIMS THE WARRANTY
12  * OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
13  * 
14  * This program is distributed in the hope that it will be useful, but WITHOUT
15  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
16  * FOR A PARTICULAR PURPOSE.  See the GNU Affero General Public License for more
17  * details.
18  * 
19  * You should have received a copy of the GNU Affero General Public License along with
20  * this program; if not, see http://www.gnu.org/licenses or write to the Free
21  * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
22  * 02110-1301 USA.
23  * 
24  * You can contact SugarCRM, Inc. headquarters at 10050 North Wolfe Road,
25  * SW2-130, Cupertino, CA 95014, USA. or at email address contact@sugarcrm.com.
26  * 
27  * The interactive user interfaces in modified source and object code versions
28  * of this program must display Appropriate Legal Notices, as required under
29  * Section 5 of the GNU Affero General Public License version 3.
30  * 
31  * In accordance with Section 7(b) of the GNU Affero General Public License version 3,
32  * these Appropriate Legal Notices must retain the display of the "Powered by
33  * SugarCRM" logo. If the display of the logo is not reasonably feasible for
34  * technical reasons, the Appropriate Legal Notices must display the words
35  * "Powered by SugarCRM".
36  ********************************************************************************/
37
38
39 require_once('include/MVC/View/views/view.list.php');
40
41 class EmployeesViewList extends ViewList
42 {
43         public function preDisplay()
44         {
45                 $this->lv = new ListViewSmarty();
46                 $this->lv->delete = false;
47                 $this->lv->email = false;
48                 if (!$GLOBALS['current_user']->isAdminForModule('Users')){
49             $this->lv->multiSelect = false;
50         }
51         }
52
53     /**
54      * Overridden from ViewList prepareSearchForm so we can tack on some additional where clauses
55      *
56      */
57     function prepareSearchForm() {
58         parent::prepareSearchForm();
59         require_once('modules/Employees/EmployeesSearchForm.php');
60         $newForm = new EmployeesSearchForm($this->searchForm);
61         $this->searchForm = $newForm;
62     }
63
64    /**
65     * Return the "breadcrumbs" to display at the top of the page
66     *
67     * @param  bool $show_help optional, true if we show the help links
68     * @return HTML string containing breadcrumb title
69     */
70     public function getModuleTitle($show_help = true)
71     {
72         global $sugar_version, $sugar_flavor, $server_unique_key, $current_language, $action, $current_user;
73
74         $theTitle = "<div class='moduleTitle'>\n<h2>";
75
76         $module = preg_replace("/ /","",$this->module);
77
78         $params = $this->_getModuleTitleParams();
79         $count = count($params);
80         $index = 0;
81
82                 if(SugarThemeRegistry::current()->directionality == "rtl") {
83                         $params = array_reverse($params);
84                 }
85
86            $paramString = '';
87            foreach($params as $parm){
88                $index++;
89                $paramString .= $parm;
90                if($index < $count){
91                    $paramString .= $this->getBreadCrumbSymbol();
92                }
93            }
94
95            if(!empty($paramString)){
96                $theTitle .= "<h2> $paramString </h2>\n";
97            }
98
99
100         if ($show_help) {
101             $theTitle .= "<span class='utils'>";
102             if(is_admin($current_user) || is_admin_for_module($current_user, $this->module))
103             {
104             $createImageURL = SugarThemeRegistry::current()->getImageURL('create-record.gif');
105             $theTitle .= <<<EOHTML
106 &nbsp;
107 <a href="index.php?module={$module}&action=EditView&return_module={$module}&return_action=DetailView" class="utilsLink">
108 <img src='{$createImageURL}' alt='{$GLOBALS['app_strings']['LNK_CREATE']}'></a>
109 <a href="index.php?module={$module}&action=EditView&return_module={$module}&return_action=DetailView" class="utilsLink">
110 {$GLOBALS['app_strings']['LNK_CREATE']}
111 </a>
112 EOHTML;
113             }
114         }
115
116         $theTitle .= "</span></div>\n";
117         return $theTitle;
118     }
119
120         public function listViewProcess()
121         {
122                 $this->processSearchForm();
123                 $this->lv->searchColumns = $this->searchForm->searchColumns;
124
125                 if(!$this->headers)
126                         return;
127                 if(empty($_REQUEST['search_form_only']) || $_REQUEST['search_form_only'] == false){
128                         $this->lv->ss->assign("SEARCH",true);
129
130                         $tplFile = 'include/ListView/ListViewGeneric.tpl';
131                         if (!$GLOBALS['current_user']->isAdminForModule('Users')){
132                                 $tplFile = 'include/ListView/ListViewNoMassUpdate.tpl';
133                         }
134                         if(!empty($this->where)){
135                             $this->where .= " AND ";
136                         }
137             $this->where .= "(users.status <> 'Reserved' or users.status is null) ";
138                         $this->lv->setup($this->seed, $tplFile, $this->where, $this->params);
139                         $savedSearchName = empty($_REQUEST['saved_search_select_name']) ? '' : (' - ' . $_REQUEST['saved_search_select_name']);
140                         echo $this->lv->display();
141                 }
142         }
143 }