]> CyberLeo.Net >> Repos - Github/sugarcrm.git/blob - include/Smarty/plugins/function.sugar_button.php
Release 6.1.4
[Github/sugarcrm.git] / include / Smarty / plugins / function.sugar_button.php
1 <?php
2
3 /*
4
5 Modification information for LGPL compliance
6
7 r58076 - 2010-09-03 10:29:58 -0700 (Fri, 03 Sep 2010) - kjing - Author: Rob Aagaard <rob@sugarcrm.com>
8     #39462: Fix the Shortcut bar quick create full form button to cancel the confirm navigation alert for that form.
9
10 r57805 - 2010-08-18 16:11:22 -0700 (Wed, 18 Aug 2010) - kjing - Author: Rob Aagaard <rob@sugarcrm.com>
11     #39053: Make the full form page take away the navigation javascript warning, because the changes you are making will be saved, eventually, probably.
12
13 r57528 - 2010-07-18 18:37:50 -0700 (Sun, 18 Jul 2010) - kjing - Author: Collin Lee <clee@Collin-Lee-MacBook-Pro.local>
14     Bug: 38576
15
16 r57526 - 2010-07-16 18:11:54 -0700 (Fri, 16 Jul 2010) - kjing - Author: Stanislav Malyshev <smalyshev@gmail.com>
17     add associated contacts to the email subpanel
18
19 r57466 - 2010-07-14 17:38:01 -0700 (Wed, 14 Jul 2010) - kjing - Author: dwheeler@sugarcrm.com <dwheeler@dwheeler-laptop>
20     19329: Switched to multiselect for project, product, and quote subpanels.
21
22 r57465 - 2010-07-14 16:03:31 -0700 (Wed, 14 Jul 2010) - kjing - Author: Stanislav Malyshev <smalyshev@gmail.com>
23     fix configurations & statuses
24
25 r57448 - 2010-07-13 14:34:07 -0700 (Tue, 13 Jul 2010) - kjing - Merge: bc3e0ee 7ac4a5f
26 Author: dwheeler@sugarcrm.com <dwheeler@dwheeler-laptop.(none)>
27     Merge branch 'master' of git+ssh://github.com/sugarcrm/Mango
28
29 r57317 - 2010-07-08 07:01:39 -0700 (Thu, 08 Jul 2010) - kjing - Author: Rob Aagaard <rob@sugarcrm.com>
30     Bug 19355: Handle the cancel button correctly when you are editing from a list
31
32 r57069 - 2010-06-23 10:54:44 -0700 (Wed, 23 Jun 2010) - kjing - commit f24f316cc907d70c44e8add4d1b55bb692c177f5
33 Author: dwheeler@sugarcrm.com <dwheeler@dwheeler-laptop.(none)>
34     35744
35
36 r56990 - 2010-06-16 13:05:36 -0700 (Wed, 16 Jun 2010) - kjing - snapshot "Mango" svn branch to a new one for GitHub sync
37
38 r56989 - 2010-06-16 13:01:33 -0700 (Wed, 16 Jun 2010) - kjing - defunt "Mango" svn dev branch before github cutover
39
40 r56510 - 2010-05-17 11:54:49 -0700 (Mon, 17 May 2010) - jenny - Merging with Windex 56356:56506.
41
42 r56459 - 2010-05-13 18:35:31 -0700 (Thu, 13 May 2010) - smalyshev - #37332
43 fix cancel button - do not submit form with all the data
44
45 r55980 - 2010-04-19 13:31:28 -0700 (Mon, 19 Apr 2010) - kjing - create Mango (6.1) based on windex
46
47 r55979 - 2010-04-19 13:15:20 -0700 (Mon, 19 Apr 2010) - jmertic - Bug 36062 - Fixed 'Cancel' button code for DC Menu quick creates.
48
49 r55022 - 2010-03-02 09:14:24 -0800 (Tue, 02 Mar 2010) - clee - Bug:36066
50 We are setting a new target when a form is invoked.  This opens up a new window/tab.  I've changed the full form functionality to not open a new window/tab.
51 Modified:
52 include/Smarty/plugins/function.sugar_button.php
53
54 r54870 - 2010-02-24 07:41:23 -0800 (Wed, 24 Feb 2010) - roger - bug: 35958 - make the quick create save button blue.
55
56 r54023 - 2010-01-25 21:48:12 -0800 (Mon, 25 Jan 2010) - lam - added primary button class
57
58 r53522 - 2010-01-07 10:40:50 -0800 (Thu, 07 Jan 2010) - jmertic - Bug 34868 - Make sure clicking on the 'Edit' button on a DetailView actually goes to the EditView.
59
60 r53119 - 2009-12-09 19:23:33 -0800 (Wed, 09 Dec 2009) - mitani - fixes tags for xtemplate
61
62 r53116 - 2009-12-09 17:24:37 -0800 (Wed, 09 Dec 2009) - mitani - Merge Kobe into Windex Revision 51633 to 53087
63
64 r52448 - 2009-11-13 02:21:35 -0800 (Fri, 13 Nov 2009) - mitani - Fixes issues with quick create buttons, removes buttons from the top of the quick create form for productivity bar, aligns navigation buttons with other buttons on detail and edit views fixes an issue with calls edit view still calling on leads 
65
66 r52277 - 2009-11-06 12:41:42 -0800 (Fri, 06 Nov 2009) - mitani - Updates the Productivity Bar  UI and adds Spot :) 
67
68 r52120 - 2009-11-02 14:45:24 -0800 (Mon, 02 Nov 2009) - clee - Fixed errors with default connector buttons/hover buttons not appearing in default install for sales edition.
69
70 r51719 - 2009-10-22 10:18:00 -0700 (Thu, 22 Oct 2009) - mitani - Converted to Build 3  tags and updated the build system 
71
72 r51634 - 2009-10-19 13:32:22 -0700 (Mon, 19 Oct 2009) - mitani - Windex is the branch for Sugar Sales 1.0 development
73
74 r50375 - 2009-08-24 18:07:43 -0700 (Mon, 24 Aug 2009) - dwong - branch kobe2 from tokyo r50372
75
76 r48227 - 2009-06-08 14:59:16 -0700 (Mon, 08 Jun 2009) - tyoung - 23828: replaced the PHP mechanism to calculate the subpanel name based on the module name, which failed as a result of the switch from module-based subpanel names to relationship-based names, which a javascript mechanism embedded in the two affected methods in SubpanelUtils - inlineSave() and cancelCreate(). 
77 The new mechanism works out from the save or cancel button, respectively, until it encounters a subpanel (marked by a new CSS class 'quickcreate'). It then uses that subpanel name in later operations. This mechanism is now reliable for relationship-based subpanel names. Furthermore, it does not require modifications to the method-chain. To fix this issue by passing the subpanel name along the method-chain would require changing the method signature of the smarty method, sugar_button, which would be very broad-ranging.
78
79 r45148 - 2009-03-16 07:43:29 -0700 (Mon, 16 Mar 2009) - clee - Bug:28522
80 There were several issues with the code to select teams as well as the quicksearch code.  The main issues for the teams selection was that the fields all share the same name and the elements were not being properly selected within the javascript code.
81 include/EditView/EditView2.php
82 include/generic/SugarWidgets/SugarWidgetSubpanelTopButtonQuickCreate.php
83 include/generic/SugarWidgets/SugarWidgetSubpanelTopCreateNoteButton.php
84 include/generic/SugarWidgets/SugarWidgetSubpanelTopCreateTaskButton.php
85 include/generic/SugarWidgets/SugarWidgetSubpanelTopScheduleCallButton.php
86 include/generic/SugarWidgets/SugarWidgetSubpanelTopScheduleMeetingButton.php
87 include/javascript/sugar_3.js
88 include/SearchForm/tpls/header.tpl
89 include/Smarty/plugins/function.sugar_button.php
90 include/Smarty/plugins/function.sugarvar_teamset.php
91 include/SugarFields/Fields/Collection/ViewSugarFieldCollection.php
92 include/SugarFields/Fields/Collection/CollectionEditView.tpl
93 include/SugarFields/Fields/Collection/SugarFieldCollection.js
94 include/SugarFields/Fields/Teamset/SugarFieldTeamset.php
95 include/SugarFields/Fields/Teamset/ViewSugarFieldTeamsetCollection.php
96 include/SugarFields/Fields/Teamset/Teamset.js
97 include/SugarFields/Fields/Teamset/TeamsetCollectionEditView.tpl
98 include/SugarFields/Fields/TeamsetCollectionMassupdateView.tpl
99 include/SugarFields/Fields/Teamset/TeamsetCollectionSearchView.tpl
100 include/TemplateHandler/TemplateHandler.php
101 modules/Teams/TeamSetManager.php
102 themes/default/IE7.js
103 Removed:
104 include/SugarFields/Fields/Teamset/TeamsetCollectionQuickCreateView.tpl
105
106 r42807 - 2008-12-29 11:16:59 -0800 (Mon, 29 Dec 2008) - dwong - Branch from trunk/sugarcrm r42806 to branches/tokyo/sugarcrm
107
108 r42645 - 2008-12-18 13:41:08 -0800 (Thu, 18 Dec 2008) - awu - merging maint_5_2_0 rev41336:HEAD to trunk
109
110 r41336 - 2008-11-04 15:00:45 -0800 (Tue, 04 Nov 2008) - awu - merging Milan code into Tokyo (trunk)
111
112 r39146 - 2008-08-26 17:16:04 -0700 (Tue, 26 Aug 2008) - awu - Merging pre_5_1_0 to trunk
113
114 r38393 - 2008-07-29 12:44:00 -0700 (Tue, 29 Jul 2008) - Collin Lee - Bug:23873
115 Spoke with Ran more about this issue. It turns out the "Select" button was not the only button that needed to have a unique id. All subpanel and subpanel quick create buttons where no unique id exists for the element are candidates for change. Modified sugar widget subpanel classes to use a unique id for "Create" and "Select" buttons. Modified function.sugar_button.php to uniquely identify subpanel buttons as well.   
116
117 r37505 - 2008-07-02 10:12:55 -0700 (Wed, 02 Jul 2008) - roger - bug: 23283 - buttons in EditView were grouped together without spacing.
118
119 r32531 - 2008-03-06 19:04:15 -0800 (Thu, 06 Mar 2008) - jmertic - Bug 19305: Reverted fix in include/formbase.php. Instead check for isDuplicate being set to true and if so, clear the return_id form variable on save.
120 Touched:
121 - modules/Tasks/Save.php
122 - modules/Leads/LeadFormBase.php
123 - modules/Documents/Save.php
124 - modules/Campaigns/Save.php
125 - modules/Emails/Save.php
126 - modules/KBDocuments/Save.php
127 - modules/Accounts/AccountFormBase.php
128 - modules/Meetings/MeetingFormBase.php
129 - modules/DocumentRevisions/Save.php
130 - modules/Prospects/ProspectFormBase.php
131 - modules/Opportunities/OpportunityFormBase.php
132 - modules/Notes/NoteFormBase.php
133 - modules/Calls/CallFormBase.php
134 - modules/Holidays/Save.php
135 - modules/Quotes/Save.php
136 - modules/Quotes/QuoteFormBase.php
137 - modules/Contracts/Save.php
138 - modules/EmailTemplates/EmailTemplateFormBase.php
139 - modules/Project/Save.php
140 - modules/Contacts/ContactFormBase.php
141 - modules/ProspectLists/ProspectListFormBase.php
142 - include/formbase.php
143 - include/Smarty/plugins/function.sugar_button.php
144 - include/EditView/EditView2.php
145
146 r30452 - 2007-12-14 13:28:17 -0800 (Fri, 14 Dec 2007) - clee - Fix for 18019
147 Need to add code to set the return_id value in include/Smarty/plugins/function.sugar_button.php when clicking on the Duplicate button so that this value is passed into the EditView and a cancel operation can return the user to the previous screen correctly.
148 Modified:
149 include/Smarty/plugins/function.sugar_button.php
150
151 r29427 - 2007-11-09 09:24:11 -0800 (Fri, 09 Nov 2007) - clee - Fix for 17450
152 Need extra check for cancel from shortcut menu where action is set, but no return_id or id value exists.
153
154 r29426 - 2007-11-09 08:54:58 -0800 (Fri, 09 Nov 2007) - clee - Fix for 17450
155 The subpanel quick creates full form button generated was not setting a return_action value.  As a result, it defaulted to the previous action ("SubPanelViewer").  Upon cancel, the MVC attempted to run the action for which there was no record.
156 Modified:
157 include/Smarty/plugins/function.sugar_button.php
158 Code Review: Roger
159
160 r28804 - 2007-10-24 09:14:09 -0700 (Wed, 24 Oct 2007) - clee - Fix for 16894
161 Modified function.sugar_button.php to make extra checks to see if the return action is set to DetailView, that a valid id value is set.  Otherwise, there's no way to pull up the DetailView contents.
162 Modified:
163 include/Smarty/plugins/function.sugar_button.php
164 Code Review by Roger.
165
166 r28777 - 2007-10-23 17:33:25 -0700 (Tue, 23 Oct 2007) - bsoufflet - bug 16861
167
168 r28771 - 2007-10-23 17:23:13 -0700 (Tue, 23 Oct 2007) - clee - Fix for 16740
169 Fixed include/Smarty/plugins/function.sugar_button.php file.   The button for Audit log was being created with the $_REQUEST id.  However, this value was built for the first request so subsequent requests to view the Audit log would always go back to the id built in the cached .tpl file.  Modified to use {$fields.id.value} instead.
170 Modified:
171 Fixed include/Smarty/plugins/function.sugar_button.php
172
173 r28643 - 2007-10-22 13:58:23 -0700 (Mon, 22 Oct 2007) - majed - bug #16757
174 fixes duplicate so it returns to the detail view of the new record instead of the index page
175
176 r28573 - 2007-10-21 01:24:14 -0700 (Sun, 21 Oct 2007) - majed - adds support for metadata driven quick creates and adds the ability to create from subpanels for any module 
177 bug # 16541
178
179 r28324 - 2007-10-17 16:24:57 -0700 (Wed, 17 Oct 2007) - majed - bug #13311 fixes delete button showing up when it shouldn't in most scenarios some places the button may be disabled instead of disappearing and in worst case it should display you do not have access if you don't 
180
181 r28178 - 2007-10-15 16:56:47 -0700 (Mon, 15 Oct 2007) - majed - Checkin to add first side quick create for meta data driven ui. 
182
183 r25427 - 2007-08-11 13:52:09 -0700 (Sat, 11 Aug 2007) - clee - Added empty id check so we do not show the audit button when creating a new record.
184
185 r25408 - 2007-08-10 18:12:47 -0700 (Fri, 10 Aug 2007) - clee - Fix for 14268.  Removed the audit link from the VCR Control row and moved to the DetailView/EdtiView header.tpl files.  The link is shown for all modules IF the SugarBean's isAuditEnabled value is set to true.
186 Updated files:
187 include/DetailView/header.tpl
188 include/EditView/EditView2.php
189 include/EditView/header.tpl
190 include/EditView/SugarVCR.php
191 include/Smarty/plugins/function.sugar_button.php
192 include/SugarFields/Parsers/MetaParser.php
193
194 r24941 - 2007-08-01 12:53:34 -0700 (Wed, 01 Aug 2007) - roger - RRS: bug 13806. Set the return_action to DetailView for the Edit button.
195
196 r24531 - 2007-07-23 01:25:31 -0700 (Mon, 23 Jul 2007) - clee - Fix for 13778.  Changed include/Smarty/plugins/function.sugar_button.php so that FIND_DUPLICATE button will set return_action to "DetailView" (used only in Contacts and Accounts DetailView Meta-data files).
197
198 r24352 - 2007-07-16 10:56:01 -0700 (Mon, 16 Jul 2007) - roger - RRS: bug 13627.
199
200 r24254 - 2007-07-12 16:17:11 -0700 (Thu, 12 Jul 2007) - clee - Fixed CANCEL button to return to DetailView always.
201
202 r24108 - 2007-07-08 01:05:03 -0700 (Sun, 08 Jul 2007) - clee - Changed to set check_form parameter to EditView if action is EditView.
203
204 r23512 - 2007-06-08 17:13:38 -0700 (Fri, 08 Jun 2007) - clee - Determine DetailView.php or index.php action based on presence of id.
205
206 r23011 - 2007-05-22 21:51:24 -0700 (Tue, 22 May 2007) - clee - Merging latest changes.
207
208 r22641 - 2007-05-10 01:38:12 -0700 (Thu, 10 May 2007) - clee - Change action to ListView for DELETE button.
209
210 r22640 - 2007-05-10 01:34:59 -0700 (Thu, 10 May 2007) - clee - For EditView's, default back to DetailView for CANCEL and SAVE buttons.
211
212 r22638 - 2007-05-10 01:22:32 -0700 (Thu, 10 May 2007) - clee - Changed FIND_DUPLICATE to FIND_DUPLICATES
213
214 r22618 - 2007-05-09 15:36:06 -0700 (Wed, 09 May 2007) - clee - Added file.
215
216
217 */
218
219
220 /**
221  * Smarty plugin
222  * @package Smarty
223  * @subpackage plugins
224  *
225  * This is a Smarty plugin to handle the creation of HTML form buttons under the
226  * metat-data framework.  The buttons may be defined using either the set of built-in
227  * buttons or custom code.
228  *
229  * For example, to add the 'SAVE' and 'CANCEL' buttons to the editviewdefs.php meta-data file,
230  * you will create a key/value pair where the key is of value 'form' and value is another array
231  * with a 'buttons' key.
232  *
233  * ...
234  * $viewdefs['Accounts']['EditView'] = array(
235  * 'templateMeta' => array(
236  *                           'form' => array('buttons'=>array('SAVE','CANCEL')),
237  * ...
238  *
239  * The supported types are: CANCEL, DELETE, DUPLICATE, EDIT, FIND_DUPLICATES and SAVE.
240  * If you need to create a custom button or the button is very specific to the module and not
241  * provided as a supported type, then you'll need to use custom code.  Instead of providing the
242  * key, you'll have to create an array with a 'customCode' key.
243  *
244  * ...
245  * $viewdefs['Accounts']['EditView'] = array(
246  * 'templateMeta' => array(
247  *      'form' => array('buttons'=>array('SAVE',
248  *                                       array('customCode'=>'<input title="{$APP.LBL_CLOSE_AND_CREATE_BUTTON_TITLE}" ' .
249  *                                                      '                    accessKey="{$APP.LBL_CLOSE_AND_CREATE_BUTTON_KEY}" ' .
250  *                                                      '                    class="button" ' .
251  *                                                      '                                        onclick="alert(\'hello {$id} \')"; ' .
252  *                                                      '                    type="submit" ' .
253  *                                                      '                    name="button" ' .
254  *                                                      '                    value="{$APP.LBL_CLOSE_AND_CREATE_BUTTON_LABEL}">')
255  *                                       )),
256  * ...
257  *
258  * Please note that you should ensure that your customCode is generic in the sense that there are no
259  * instance specific values created because it will cause failures should other instances also use
260  * the button's code.  The key to remember is that we are rendering a generic template for each
261  * module's view and, as such, the meta-data definition should also be generic enough to support
262  * variable instance values for the module.
263  *
264  * In our examples, the resulting metatdata definition is passed to EditView's header.tpl
265  * file and the Smarty plugin (this file) is invoked as follows:
266  * {{sugar_button module='{{$module}}' id='{{$form.buttons[$id]}}' view='EditView'}}
267  *
268  *
269  * @author Collin Lee {clee@sugarcrm.com}
270  */
271
272 /**
273  * smarty_function_sugar_button
274  * This is the constructor for the Smarty plugin.
275  *
276  * @param $params The runtime Smarty key/value arguments
277  * @param $smarty The reference to the Smarty object used in this invocation
278  */
279 function smarty_function_sugar_button($params, &$smarty)
280 {
281    if(empty($params['module'])) {
282           $smarty->trigger_error("sugar_button: missing required param (module)");
283    } else if(empty($params['id'])) {
284           $smarty->trigger_error("sugar_button: missing required param (id)");
285    } else if(empty($params['view'])) {
286           $smarty->trigger_error("sugar_button: missing required param (view)");
287    }
288
289    $type = $params['id'];
290    if(!is_array($type)) {
291           $module = $params['module'];
292           $view = $params['view'];
293           switch(strtoupper($type)) {
294                         case "CANCEL":
295                         $cancelButton  = '{if !empty($smarty.request.return_action) && ($smarty.request.return_action == "DetailView" && !empty($smarty.request.return_id))}';
296                         $cancelButton .= '<input title="{$APP.LBL_CANCEL_BUTTON_TITLE}" accessKey="{$APP.LBL_CANCEL_BUTTON_KEY}" class="button" onclick="window.location.href=\'index.php?action=DetailView&module={$smarty.request.return_module}&record={$smarty.request.return_id}\'; return false;" name="button" value="{$APP.LBL_CANCEL_BUTTON_LABEL}" type="button"> ';
297                         $cancelButton .= '{elseif !empty($smarty.request.return_action) && ($smarty.request.return_action == "DetailView" && !empty($fields.id.value))}';
298                         $cancelButton .= '<input title="{$APP.LBL_CANCEL_BUTTON_TITLE}" accessKey="{$APP.LBL_CANCEL_BUTTON_KEY}" class="button" onclick="window.location.href=\'index.php?action=DetailView&module={$smarty.request.return_module}&record={$fields.id.value}\'; return false;" type="button" name="button" value="{$APP.LBL_CANCEL_BUTTON_LABEL}"> ';
299                         $cancelButton .= '{elseif empty($smarty.request.return_action) || empty($smarty.request.return_id) && !empty($fields.id.value)}';
300                         $cancelButton .= '<input title="{$APP.LBL_CANCEL_BUTTON_TITLE}" accessKey="{$APP.LBL_CANCEL_BUTTON_KEY}" class="button" onclick="window.location.href=\'index.php?action=index&module='.$module.'\'; return false;" type="button" name="button" value="{$APP.LBL_CANCEL_BUTTON_LABEL}"> ';
301                         $cancelButton .= '{else}';
302                         $cancelButton .= '<input title="{$APP.LBL_CANCEL_BUTTON_TITLE}" accessKey="{$APP.LBL_CANCEL_BUTTON_KEY}" class="button" onclick="window.location.href=\'index.php?action=index&module={$smarty.request.return_module}&record={$smarty.request.return_id}\'; return false;" type="button" name="button" value="{$APP.LBL_CANCEL_BUTTON_LABEL}"> ';
303                         $cancelButton .= '{/if}';
304                         return $cancelButton;
305                         break;
306
307                         case "DELETE":
308                         return '{if $bean->aclAccess("delete")}<input title="{$APP.LBL_DELETE_BUTTON_TITLE}" accessKey="{$APP.LBL_DELETE_BUTTON_KEY}" class="button" onclick="this.form.return_module.value=\'' . $module . '\'; this.form.return_action.value=\'ListView\'; this.form.action.value=\'Delete\'; return confirm(\'{$APP.NTC_DELETE_CONFIRMATION}\');" type="submit" name="Delete" value="{$APP.LBL_DELETE_BUTTON_LABEL}">{/if} ';
309                         break;
310
311                         case "DUPLICATE":
312                         return '{if $bean->aclAccess("edit")}<input title="{$APP.LBL_DUPLICATE_BUTTON_TITLE}" accessKey="{$APP.LBL_DUPLICATE_BUTTON_KEY}" class="button" onclick="this.form.return_module.value=\''. $module . '\'; this.form.return_action.value=\'DetailView\'; this.form.isDuplicate.value=true; this.form.action.value=\'' . $view . '\'; this.form.return_id.value=\'{$id}\';" type="submit" name="Duplicate" value="{$APP.LBL_DUPLICATE_BUTTON_LABEL}" id="duplicate_button">{/if} ';
313                         break;
314
315                         case "EDIT";
316                         return '{if $bean->aclAccess("edit")}<input title="{$APP.LBL_EDIT_BUTTON_TITLE}" accessKey="{$APP.LBL_EDIT_BUTTON_KEY}" class="button primary" onclick="this.form.return_module.value=\'' . $module . '\'; this.form.return_action.value=\'DetailView\'; this.form.return_id.value=\'{$id}\'; this.form.action.value=\'EditView\';" type="submit" name="Edit" id="edit_button" value="{$APP.LBL_EDIT_BUTTON_LABEL}">{/if} ';
317                         break;
318
319                         case "FIND_DUPLICATES":
320                         return '{if $bean->aclAccess("edit")}<input title="{$APP.LBL_DUP_MERGE}" accessKey="M" class="button" onclick="this.form.return_module.value=\'' . $module . '\'; this.form.return_action.value=\'DetailView\'; this.form.return_id.value=\'{$id}\'; this.form.action.value=\'Step1\'; this.form.module.value=\'MergeRecords\';" type="submit" name="Merge" value="{$APP.LBL_DUP_MERGE}">{/if} ';
321                         break;
322
323                         case "SAVE":
324                                 $view = ($_REQUEST['action'] == 'EditView') ? 'EditView' : (($view == 'EditView') ? 'EditView' : $view);
325                                 return '{if $bean->aclAccess("save")}<input title="{$APP.LBL_SAVE_BUTTON_TITLE}" accessKey="{$APP.LBL_SAVE_BUTTON_KEY}" class="button primary" onclick="{if $isDuplicate}this.form.return_id.value=\'\'; {/if}this.form.action.value=\'Save\'; return check_form(\'' . $view . '\');" type="submit" name="button" value="{$APP.LBL_SAVE_BUTTON_LABEL}">{/if} ';
326                         break;
327
328                         case "SUBPANELSAVE":
329                                 $view = $view == 'QuickCreate' ? "form_SubpanelQuickCreate_{$module}" : $view;
330                                 return '{if $bean->aclAccess("save")}<input title="{$APP.LBL_SAVE_BUTTON_TITLE}" accessKey="{$APP.LBL_SAVE_BUTTON_KEY}" class="button" onclick="this.form.action.value=\'Save\';if(check_form(\''.$view.'\'))return SUGAR.subpanelUtils.inlineSave(this.form.id, \'' . $params['module'] . '_subpanel_save_button\');return false;" type="submit" name="' . $params['module'] . '_subpanel_save_button" id="' . $params['module'] . '_subpanel_save_button" value="{$APP.LBL_SAVE_BUTTON_LABEL}">{/if} ';
331                         case "SUBPANELCANCEL":
332                                 return '<input title="{$APP.LBL_CANCEL_BUTTON_TITLE}" accessKey="{$APP.LBL_CANCEL_BUTTON_KEY}" class="button" onclick="return SUGAR.subpanelUtils.cancelCreate(\'' . $params['module'] . '_subpanel_cancel_button\');return false;" type="submit" name="' . $params['module'] . '_subpanel_cancel_button" id="' . $params['module'] . '_subpanel_cancel_button" value="{$APP.LBL_CANCEL_BUTTON_LABEL}"> ';
333                     case "SUBPANELFULLFORM":
334                                 $html = '<input title="{$APP.LBL_FULL_FORM_BUTTON_TITLE}" accessKey="{$APP.LBL_FULL_FORM_BUTTON_KEY}" class="button" onclick="disableOnUnloadEditView(this.form); this.form.return_action.value=\'DetailView\'; this.form.action.value=\'EditView\'; if(typeof(this.form.to_pdf)!=\'undefined\') this.form.to_pdf.value=\'0\';" type="submit" name="' . $params['module'] . '_subpanel_full_form_button" id="' . $params['module'] . '_subpanel_full_form_button" value="{$APP.LBL_FULL_FORM_BUTTON_LABEL}"> ';
335                                 $html .= '<input type="hidden" name="full_form" value="full_form">';
336                         return $html;
337                         case "DCMENUCANCEL":
338                                 return '<input title="{$APP.LBL_CANCEL_BUTTON_TITLE}" accessKey="{$APP.LBL_CANCEL_BUTTON_KEY}" class="button" onclick="javascript:lastLoadedMenu=undefined;DCMenu.closeOverlay();return false;" type="submit" name="' . $params['module'] . '_dcmenu_cancel_button" id="' . $params['module'] . '_dcmenu_cancel_button" value="{$APP.LBL_CANCEL_BUTTON_LABEL}"> ';
339                    
340                         case "DCMENUSAVE":
341                                 $view = $view == 'QuickCreate' ? "form_DCQuickCreate_{$module}" : $view;
342                                 return '{if $bean->aclAccess("save")}<input title="{$APP.LBL_SAVE_BUTTON_TITLE}" accessKey="{$APP.LBL_SAVE_BUTTON_KEY}" class="button primary" onclick="this.form.action.value=\'Save\';if(check_form(\''.$view.'\'))return DCMenu.save(this.form.id, \'' . $params['module'] . '_subpanel_save_button\');return false;" type="submit" name="' . $params['module'] . '_dcmenu_save_button" id="' . $params['module'] . '_dcmenu_save_button" value="{$APP.LBL_SAVE_BUTTON_LABEL}">{/if} ';
343                         case "DCMENUFULLFORM":
344                                 $html = '<input title="{$APP.LBL_FULL_FORM_BUTTON_TITLE}" accessKey="{$APP.LBL_FULL_FORM_BUTTON_KEY}" class="button" onclick="disableOnUnloadEditView(this.form); this.form.return_action.value=\'DetailView\'; this.form.action.value=\'EditView\'; if(typeof(this.form.to_pdf)!=\'undefined\') this.form.to_pdf.value=\'0\';" type="submit" name="' . $params['module'] . '_subpanel_full_form_button" id="' . $params['module'] . '_subpanel_full_form_button" value="{$APP.LBL_FULL_FORM_BUTTON_LABEL}"> ';
345                                 $html .= '<input type="hidden" name="full_form" value="full_form">';
346                         return $html;   
347                         case "POPUPSAVE":
348                                 $view = $view == 'QuickCreate' ? "form_QuickCreate_{$module}" : $view;
349                                 return '{if $bean->aclAccess("save")}<input title="{$APP.LBL_SAVE_BUTTON_TITLE}" accessKey="{$APP.LBL_SAVE_BUTTON_KEY}" '
350                                          . 'class="button primary" onclick="this.form.action.value=\'Popup\';' 
351                                          . 'return check_form(\''.$view.'\')" type="submit" name="' . $params['module'] 
352                                          . '_popupcreate_save_button" id="' . $params['module'] 
353                                          . '_popupcreate_save_button" value="{$APP.LBL_SAVE_BUTTON_LABEL}">{/if} ';
354                         case "POPUPCANCEL":
355                                 return '<input title="{$APP.LBL_CANCEL_BUTTON_TITLE}" accessKey="{$APP.LBL_CANCEL_BUTTON_KEY}" ' 
356                                          . 'class="button" onclick="toggleDisplay(\'addform\');return false;" ' 
357                                          . 'name="' . $params['module'] . '_popup_cancel_button" type="submit"' 
358                                          . 'id="' . $params['module'] . '_popup_cancel_button" value="{$APP.LBL_CANCEL_BUTTON_LABEL}"> ';
359                     
360                         case "AUDIT":
361                     $popup_request_data = array(
362                                 'call_back_function' => 'set_return',
363                                 'form_name' => 'EditView',
364                                 'field_to_name_array' => array(),
365                             );
366                     $json = getJSONobj();
367
368                     require_once('include/SugarFields/Parsers/MetaParser.php');
369                     $encoded_popup_request_data = MetaParser::parseDelimiters($json->encode($popup_request_data));
370                                 $audit_link = '<input title="{$APP.LNK_VIEW_CHANGE_LOG}" class="button" onclick=\'open_popup("Audit", "600", "400", "&record={$fields.id.value}&module_name=' . $params['module'] . '", true, false, ' . $encoded_popup_request_data . '); return false;\' type="submit" value="{$APP.LNK_VIEW_CHANGE_LOG}">';
371                                 $view = '{if $bean->aclAccess("detail")}{if !empty($fields.id.value) && $isAuditEnabled}'.$audit_link.'{/if}{/if}';
372                                 return $view;
373
374
375           } //switch
376
377    } else if(is_array($type) && isset($type['customCode'])) {
378           return $type['customCode'];
379    }
380
381 }
382
383 ?>