]> CyberLeo.Net >> Repos - Github/sugarcrm.git/blob - modules/EAPM/views/view.edit.php
Release 6.4.0
[Github/sugarcrm.git] / modules / EAPM / views / view.edit.php
1 <?php
2 if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
3
4 /*********************************************************************************
5  * SugarCRM Community Edition is a customer relationship management program developed by
6  * SugarCRM, Inc. Copyright (C) 2004-2011 SugarCRM Inc.
7  * 
8  * This program is free software; you can redistribute it and/or modify it under
9  * the terms of the GNU Affero General Public License version 3 as published by the
10  * Free Software Foundation with the addition of the following permission added
11  * to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
12  * IN WHICH THE COPYRIGHT IS OWNED BY SUGARCRM, SUGARCRM DISCLAIMS THE WARRANTY
13  * OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
14  * 
15  * This program is distributed in the hope that it will be useful, but WITHOUT
16  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
17  * FOR A PARTICULAR PURPOSE.  See the GNU Affero General Public License for more
18  * details.
19  * 
20  * You should have received a copy of the GNU Affero General Public License along with
21  * this program; if not, see http://www.gnu.org/licenses or write to the Free
22  * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
23  * 02110-1301 USA.
24  * 
25  * You can contact SugarCRM, Inc. headquarters at 10050 North Wolfe Road,
26  * SW2-130, Cupertino, CA 95014, USA. or at email address contact@sugarcrm.com.
27  * 
28  * The interactive user interfaces in modified source and object code versions
29  * of this program must display Appropriate Legal Notices, as required under
30  * Section 5 of the GNU Affero General Public License version 3.
31  * 
32  * In accordance with Section 7(b) of the GNU Affero General Public License version 3,
33  * these Appropriate Legal Notices must retain the display of the "Powered by
34  * SugarCRM" logo. If the display of the logo is not reasonably feasible for
35  * technical reasons, the Appropriate Legal Notices must display the words
36  * "Powered by SugarCRM".
37  ********************************************************************************/
38
39
40 class EAPMViewEdit extends ViewEdit {
41
42     private $_returnId;
43
44     public function __construct()
45     {
46         $this->setReturnId();
47         parent::__construct();
48     }
49
50     protected function setReturnId()
51     {
52         $returnId = $GLOBALS['current_user']->id;
53         if(!empty($_REQUEST['user_id']) && !empty($_REQUEST['return_module']) && 'Users' == $_REQUEST['return_module']){
54             $returnId = $_REQUEST['user_id'];
55         }
56         $this->_returnId = $returnId;
57     }
58
59     protected function _getModuleTab()
60     {
61         return 'Users';
62     }
63
64     /**
65          * @see SugarView::_getModuleTitleParams()
66          */
67         protected function _getModuleTitleParams($browserTitle = false)
68         {
69             global $mod_strings;
70
71         $returnAction = 'DetailView';
72         $returnModule = 'Users';
73         $returnId = $GLOBALS['current_user']->id;
74         $returnName = $GLOBALS['current_user']->full_name;
75         if(!empty($_REQUEST['return_action']) && !empty($_REQUEST['return_module'])){
76             if('Users' == $_REQUEST['return_module']){
77                 if('EditView' == $_REQUEST['return_action']){
78                     $returnAction = 'EditView';
79                 }
80                 if(!empty($_REQUEST['return_name'])){
81                     $returnName = $_REQUEST['return_name'];
82                 }
83                 if(!empty($_REQUEST['user_id'])){
84                     $returnId = $_REQUEST['user_id'];
85                 }
86             }
87         }
88         $this->_returnId = $returnId;
89
90         $iconPath = $this->getModuleTitleIconPath($this->module);
91         $params = array();
92         if (!empty($iconPath) && !$browserTitle) {
93             $params[] = "<a href='index.php?module=Users&action=index'><!--not_in_theme!--><img src='{$iconPath}' alt='".translate('LBL_MODULE_NAME','Users')."' title='".translate('LBL_MODULE_NAME','Users')."' align='absmiddle'></a>";
94
95         }
96         else {
97             $params[] = translate('LBL_MODULE_NAME','Users');
98         }
99         $params[] = "<a href='index.php?module={$returnModule}&action=EditView&record={$returnId}'>".$returnName."</a>";
100         $params[] = $GLOBALS['app_strings']['LBL_EDIT_BUTTON_LABEL'];
101
102         return $params;
103     }
104
105     /**
106          * @see SugarView::getModuleTitleIconPath()
107          */
108         protected function getModuleTitleIconPath($module) 
109     {
110         return parent::getModuleTitleIconPath('Users');
111     }
112
113         function display() {
114         $this->ss->assign('return_id', $this->_returnId);
115
116         $cancelUrl = "index.php?action=EditView&module=Users&record={$this->_returnId}#tab5";
117
118         if(isset($_REQUEST['return_module']) && $_REQUEST['return_module'] == 'Import') {
119             $cancelUrl = "index.php?module=Import&action=Step1&import_module=". $_REQUEST['return_action'] . "&application=" . $_REQUEST['application'];
120         }
121          $this->ss->assign('cancelUrl', $cancelUrl);
122
123         if($GLOBALS['current_user']->is_admin || empty($this->bean) || empty($this->bean->id) || $this->bean->isOwner($GLOBALS['current_user']->id)){
124             if(!empty($this->bean) && empty($this->bean->id) && $this->_returnId != $GLOBALS['current_user']->id){
125                 $this->bean->assigned_user_id = $this->_returnId;
126             }
127             
128             parent::display();
129         } else {
130                 ACLController::displayNoAccess();
131         }
132         }
133 }
134
135 ?>