]> CyberLeo.Net >> Repos - Github/sugarcrm.git/blob - jssource/src_files/modules/Users/DetailView.js
Release 6.4.0
[Github/sugarcrm.git] / jssource / src_files / modules / Users / DetailView.js
1 /*********************************************************************************
2  * SugarCRM Community Edition is a customer relationship management program developed by
3  * SugarCRM, Inc. Copyright (C) 2004-2011 SugarCRM Inc.
4  * 
5  * This program is free software; you can redistribute it and/or modify it under
6  * the terms of the GNU Affero General Public License version 3 as published by the
7  * Free Software Foundation with the addition of the following permission added
8  * to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
9  * IN WHICH THE COPYRIGHT IS OWNED BY SUGARCRM, SUGARCRM DISCLAIMS THE WARRANTY
10  * OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
11  * 
12  * This program is distributed in the hope that it will be useful, but WITHOUT
13  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
14  * FOR A PARTICULAR PURPOSE.  See the GNU Affero General Public License for more
15  * details.
16  * 
17  * You should have received a copy of the GNU Affero General Public License along with
18  * this program; if not, see http://www.gnu.org/licenses or write to the Free
19  * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
20  * 02110-1301 USA.
21  * 
22  * You can contact SugarCRM, Inc. headquarters at 10050 North Wolfe Road,
23  * SW2-130, Cupertino, CA 95014, USA. or at email address contact@sugarcrm.com.
24  * 
25  * The interactive user interfaces in modified source and object code versions
26  * of this program must display Appropriate Legal Notices, as required under
27  * Section 5 of the GNU Affero General Public License version 3.
28  * 
29  * In accordance with Section 7(b) of the GNU Affero General Public License version 3,
30  * these Appropriate Legal Notices must retain the display of the "Powered by
31  * SugarCRM" logo. If the display of the logo is not reasonably feasible for
32  * technical reasons, the Appropriate Legal Notices must display the words
33  * "Powered by SugarCRM".
34  ********************************************************************************/
35
36
37
38
39 function generatepwd(id)
40 {
41     callback = {
42         success: function(o)
43         {
44             checkok=o.responseText;
45             if (checkok.charAt(0) != '1')
46                 YAHOO.SUGAR.MessageBox.show({title: SUGAR.language.get("Users", "LBL_CANNOT_SEND_PASSWORD"), msg: checkok});
47             else
48                 YAHOO.SUGAR.MessageBox.show({title: SUGAR.language.get("Users", "LBL_PASSWORD_SENT"), msg: SUGAR.language.get("Users", "LBL_NEW_USER_PASSWORD_2")} );
49         },
50         failure: function(o)
51         {
52             YAHOO.SUGAR.MessageBox.show({title: SUGAR.language.get("Users", "LBL_CANNOT_SEND_PASSWORD"), msg: SUGAR.language.get("app_strings", "LBL_AJAX_FAILURE")});
53         }
54     }
55         PostData = '&to_pdf=1&module=Users&action=GeneratePassword&userId='+id;
56         YAHOO.util.Connect.asyncRequest('POST', 'index.php', callback, PostData);       
57 }
58
59 function set_return_user_and_save(popup_reply_data)
60 {
61         var form_name = popup_reply_data.form_name;
62         var name_to_value_array;
63         if(popup_reply_data.selection_list)
64         {
65                 name_to_value_array = popup_reply_data.selection_list;
66         }else if(popup_reply_data.teams){
67                 name_to_value_array = new Array();
68                 for (var the_key in popup_reply_data.teams){
69                         name_to_value_array.push(popup_reply_data.teams[the_key].team_id);
70                 }
71         }else
72         {
73                 name_to_value_array = popup_reply_data.name_to_value_array;
74         }
75         
76         var query_array =  new Array();
77         for (var the_key in name_to_value_array)
78         {
79                 if(the_key == 'toJSON')
80                 {
81                         /* just ignore */
82                 }
83                 else
84                 {
85                         query_array.push("record[]="+name_to_value_array[the_key]);
86                 }
87         }
88         query_array.push('user_id='+get_user_id(form_name));
89         query_array.push('action=AddUserToTeam');
90         query_array.push('module=Teams');
91         var query_string = query_array.join('&');
92         
93         var returnstuff = http_fetch_sync('index.php',query_string);
94         
95         document.location.reload(true);
96 }
97
98 function get_user_id(form_name)
99 {
100         return window.document.forms[form_name].elements['user_id'].value;
101 }
102
103 function user_status_display(field){
104         switch (field){
105         
106                 case 'RegularUser':
107                     document.getElementById("calendar_options").style.display="";
108                         document.getElementById("edit_tabs").style.display="";
109                     document.getElementById("locale").style.display="";
110                         document.getElementById("settings").style.display="";
111                         document.getElementById("information").style.display="";
112                         break;
113                         
114                 case 'GroupUser':
115                     document.getElementById("calendar_options").style.display="none";
116                         document.getElementById("edit_tabs").style.display="none";
117                     document.getElementById("locale").style.display="none";
118                         document.getElementById("settings").style.display="none";
119                         document.getElementById("information").style.display="none";
120             document.getElementById("email_options_link_type").style.display="none";
121             break;
122
123                 case 'PortalUser':
124                     document.getElementById("calendar_options").style.display="none";
125                         document.getElementById("edit_tabs").style.display="none";
126                     document.getElementById("locale").style.display="none";
127                         document.getElementById("settings").style.display="none";
128                         document.getElementById("information").style.display="none";
129             document.getElementById("email_options_link_type").style.display="none";
130             break;
131         }
132 }
133
134 function confirmDelete() {
135     var handleYes = function() {
136         SUGAR.util.hrefURL("?module=Users&action=delete&record="+document.forms.DetailView.record.value);
137     };
138
139     var handleNo = function() {
140         confirmDeletePopup.hide();
141         return false;
142      };
143     var user_portal_group = '{$usertype}';
144     var confirm_text = SUGAR.language.get('Users', 'LBL_DELETE_USER_CONFIRM');
145     if(user_portal_group == 'GroupUser'){
146         confirm_text = SUGAR.language.get('Users', 'LBL_DELETE_GROUP_CONFIRM');
147     }
148
149     var confirmDeletePopup = new YAHOO.widget.SimpleDialog("Confirm ", {
150                 width: "400px",
151                 draggable: true,
152                 constraintoviewport: true,
153                 modal: true,
154                 fixedcenter: true,
155                 text: confirm_text,
156                 bodyStyle: "padding:5px",
157                 buttons: [{
158                         text: SUGAR.language.get('Users', 'LBL_OK'),
159                         handler: handleYes,
160                         isDefault:true
161                 }, {
162                         text: SUGAR.language.get('Users', 'LBL_CANCEL'),
163                         handler: handleNo
164                 }]
165      });
166     confirmDeletePopup.setHeader(SUGAR.language.get('Users', 'LBL_DELETE_USER'));
167     confirmDeletePopup.render(document.body);
168 }