1
PayCodeViewController = BaseViewController.extend( {
2
el: '#pay_code_view_container',
4
//pay_type_array: null,
5
//wage_source_type_array: null,
6
initialize: function( options ) {
7
this._super( 'initialize', options );
8
this.edit_view_tpl = 'PayCodeEditView.html';
9
this.permission_id = 'pay_code';
10
this.viewId = 'PayCode';
11
this.script_name = 'PayCodeView';
12
this.table_name_key = 'pay_code';
13
this.context_menu_name = $.i18n._( 'Pay Code' );
14
this.navigation_label = $.i18n._( 'Pay Code' ) + ':';
15
this.api = new (APIFactory.getAPIClass( 'APIPayCode' ))();
18
this.buildContextMenu();
21
this.setSelectRibbonMenuIfNecessary( 'PayCode' );
25
initOptions: function() {
27
this.initDropDownOption( 'type' );
28
//this.initDropDownOption( 'pay_type' );
29
//this.initDropDownOption( 'wage_source_type' );
33
buildContextMenuModels: function() {
36
var menu = new RibbonMenu( {
37
label: this.context_menu_name,
38
id: this.viewId + 'ContextMenu',
43
var editor_group = new RibbonSubMenuGroup( {
44
label: $.i18n._( 'Editor' ),
45
id: this.viewId + 'Editor',
50
var other_group = new RibbonSubMenuGroup( {
51
label: $.i18n._( 'Other' ),
52
id: this.viewId + 'other',
57
var add = new RibbonSubMenu( {
58
label: $.i18n._( 'New' ),
59
id: ContextMenuIconName.add,
62
permission_result: true,
66
var view = new RibbonSubMenu( {
67
label: $.i18n._( 'View' ),
68
id: ContextMenuIconName.view,
71
permission_result: true,
75
var edit = new RibbonSubMenu( {
76
label: $.i18n._( 'Edit' ),
77
id: ContextMenuIconName.edit,
80
permission_result: true,
84
var mass_edit = new RibbonSubMenu( {
85
label: $.i18n._( 'Mass<br>Edit' ),
86
id: ContextMenuIconName.mass_edit,
88
icon: Icons.mass_edit,
89
permission_result: true,
93
var del = new RibbonSubMenu( {
94
label: $.i18n._( 'Delete' ),
95
id: ContextMenuIconName.delete_icon,
97
icon: Icons.delete_icon,
98
permission_result: true,
102
var delAndNext = new RibbonSubMenu( {
103
label: $.i18n._( 'Delete<br>& Next' ),
104
id: ContextMenuIconName.delete_and_next,
106
icon: Icons.delete_and_next,
107
permission_result: true,
111
var copy = new RibbonSubMenu( {
112
label: $.i18n._( 'Copy' ),
113
id: ContextMenuIconName.copy,
115
icon: Icons.copy_as_new,
116
permission_result: true,
120
var copy_as_new = new RibbonSubMenu( {
121
label: $.i18n._( 'Copy<br>as New' ),
122
id: ContextMenuIconName.copy_as_new,
125
permission_result: true,
129
var save = new RibbonSubMenu( {
130
label: $.i18n._( 'Save' ),
131
id: ContextMenuIconName.save,
134
permission_result: true,
138
var save_and_continue = new RibbonSubMenu( {
139
label: $.i18n._( 'Save<br>& Continue' ),
140
id: ContextMenuIconName.save_and_continue,
142
icon: Icons.save_and_continue,
143
permission_result: true,
147
var save_and_next = new RibbonSubMenu( {
148
label: $.i18n._( 'Save<br>& Next' ),
149
id: ContextMenuIconName.save_and_next,
151
icon: Icons.save_and_next,
152
permission_result: true,
156
var save_and_copy = new RibbonSubMenu( {
157
label: $.i18n._( 'Save<br>& Copy' ),
158
id: ContextMenuIconName.save_and_copy,
160
icon: Icons.save_and_copy,
161
permission_result: true,
165
var save_and_new = new RibbonSubMenu( {
166
label: $.i18n._( 'Save<br>& New' ),
167
id: ContextMenuIconName.save_and_new,
169
icon: Icons.save_and_new,
170
permission_result: true,
174
var cancel = new RibbonSubMenu( {
175
label: $.i18n._( 'Cancel' ),
176
id: ContextMenuIconName.cancel,
179
permission_result: true,
183
var wizard = new RibbonSubMenu( {
184
label: $.i18n._( 'Migrate<br>Pay Codes' ),
185
id: ContextMenuIconName.migrate_pay_codes,
188
permission_result: true,
192
var export_csv = new RibbonSubMenu( {
193
label: $.i18n._( 'Export' ),
194
id: ContextMenuIconName.export_excel,
196
icon: Icons.export_excel,
197
permission_result: true,
206
buildEditViewUI: function() {
208
this._super( 'buildEditViewUI' );
213
'tab_pay_code': $.i18n._( 'Pay Code' ),
214
'tab_audit': $.i18n._( 'Audit' )
218
this.navigation.AComboBox( {
219
api_class: (APIFactory.getAPIClass( 'APIPayCode' )),
220
id: this.script_name + '_navigation',
221
allow_multiple_selection: false,
222
layout_name: ALayoutIDs.PAY_CODE,
223
navigation_mode: true,
224
show_search_inputs: true} );
226
this.setNavigation();
228
// this.edit_view_tab.css( 'width', '700' );
232
var tab_pay_code = this.edit_view_tab.find( '#tab_pay_code' );
234
var tab_pay_code_column1 = tab_pay_code.find( '.first-column' );
236
this.edit_view_tabs[0] = [];
238
this.edit_view_tabs[0].push( tab_pay_code_column1 );
241
var form_item_input = Global.loadWidgetByName( FormItemType.TEXT_INPUT );
243
form_item_input.TTextInput( {field: 'name', width: '100%'} );
244
this.addEditFieldToColumn( $.i18n._( 'Name' ), form_item_input, tab_pay_code_column1, '' );
246
form_item_input.parent().width( '45%' );
250
form_item_input = Global.loadWidgetByName( FormItemType.TEXT_AREA );
251
form_item_input.TTextArea( { field: 'description', width: '100%' } );
252
this.addEditFieldToColumn( $.i18n._( 'Description' ), form_item_input, tab_pay_code_column1, '', null, null, true );
254
form_item_input.parent().width( '45%' );
257
form_item_input = Global.loadWidgetByName( FormItemType.TEXT_INPUT );
258
form_item_input.TTextInput( {field: 'code', width: 150} );
259
this.addEditFieldToColumn( $.i18n._( 'Code' ), form_item_input, tab_pay_code_column1, '' );
262
form_item_input = Global.loadWidgetByName( FormItemType.COMBO_BOX );
263
form_item_input.TComboBox( {field: 'type_id', set_empty: false} );
264
form_item_input.setSourceData( Global.addFirstItemToArray( $this.type_array ) );
265
this.addEditFieldToColumn( $.i18n._( 'Type' ), form_item_input, tab_pay_code_column1 );
268
form_item_input = Global.loadWidgetByName( FormItemType.COMBO_BOX );
269
form_item_input.TComboBox( {field: 'pay_type_id', set_empty: false} );
270
form_item_input.setSourceData( Global.addFirstItemToArray( $this.pay_type_array ) );
271
this.addEditFieldToColumn( $.i18n._( 'Pay Type' ), form_item_input, tab_pay_code_column1 );
274
form_item_input = Global.loadWidgetByName( FormItemType.COMBO_BOX );
275
form_item_input.TComboBox( {field: 'wage_source_type_id', set_empty: false} );
276
form_item_input.setSourceData( Global.addFirstItemToArray( $this.wage_source_type_array ) );
277
this.addEditFieldToColumn( $.i18n._( 'Wage Source' ), form_item_input, tab_pay_code_column1 );
279
//Wage Source Contributing Shift
280
form_item_input = Global.loadWidgetByName( FormItemType.AWESOME_BOX );
281
form_item_input.AComboBox( {
282
api_class: (APIFactory.getAPIClass( 'APIContributingShiftPolicy' )),
283
allow_multiple_selection: false,
284
layout_name: ALayoutIDs.CONTRIBUTING_SHIFT_POLICY,
285
show_search_inputs: true,
287
field: 'wage_source_contributing_shift_policy_id'} );
288
this.addEditFieldToColumn( $.i18n._( 'Wage Source Contributing Shift Policy' ), form_item_input, tab_pay_code_column1 );
290
//Time Source Contributing Shift
291
form_item_input = Global.loadWidgetByName( FormItemType.AWESOME_BOX );
292
form_item_input.AComboBox( {
293
api_class: (APIFactory.getAPIClass( 'APIContributingShiftPolicy' )),
294
allow_multiple_selection: false,
295
layout_name: ALayoutIDs.CONTRIBUTING_SHIFT_POLICY,
296
show_search_inputs: true,
298
field: 'time_source_contributing_shift_policy_id'} );
299
this.addEditFieldToColumn( $.i18n._( 'Time Source Contributing Shift Policy' ), form_item_input, tab_pay_code_column1 );
302
form_item_input = Global.loadWidgetByName( FormItemType.AWESOME_BOX );
303
form_item_input.AComboBox( {
304
api_class: (APIFactory.getAPIClass( 'APIWageGroup' )),
305
allow_multiple_selection: false,
306
layout_name: ALayoutIDs.WAGE_GROUP,
307
show_search_inputs: true,
309
field: 'wage_group_id'} );
310
this.addEditFieldToColumn( $.i18n._( 'Wage Group' ), form_item_input, tab_pay_code_column1 );
313
form_item_input = Global.loadWidgetByName( FormItemType.TEXT_INPUT );
314
form_item_input.TTextInput( {field: 'rate', width: 100} );
315
this.addEditFieldToColumn( $.i18n._( 'Rate' ), form_item_input, tab_pay_code_column1 );
317
// Deposit Accrual Policy
318
form_item_input = Global.loadWidgetByName( FormItemType.AWESOME_BOX );
319
form_item_input.AComboBox( {
320
api_class: (APIFactory.getAPIClass( 'APIAccrualPolicy' )),
321
allow_multiple_selection: false,
322
layout_name: ALayoutIDs.ACCRUAL_POLICY,
323
show_search_inputs: true,
325
field: 'accrual_policy_id'} );
326
this.addEditFieldToColumn( $.i18n._( 'Deposit Accrual Policy' ), form_item_input, tab_pay_code_column1, '' );
329
form_item_input = Global.loadWidgetByName( FormItemType.AWESOME_BOX );
330
form_item_input.AComboBox( {
331
api_class: (APIFactory.getAPIClass( 'APIPayFormulaPolicy' )),
332
allow_multiple_selection: false,
333
layout_name: ALayoutIDs.PAY_FORMULA_POLICY,
334
show_search_inputs: true,
336
field: 'pay_formula_policy_id',
337
custom_first_label: $.i18n._( '-- Defined By Policy --' ),
339
{value: 0, label: $.i18n._( '-- Defined By Policy --' )}
342
this.addEditFieldToColumn( $.i18n._( 'Pay Formula Policy' ), form_item_input, tab_pay_code_column1 );
345
form_item_input = Global.loadWidgetByName( FormItemType.AWESOME_BOX );
346
form_item_input.AComboBox( {
347
api_class: (APIFactory.getAPIClass( 'APIPayStubEntryAccount' )),
348
allow_multiple_selection: false,
349
layout_name: ALayoutIDs.PAY_STUB_ACCOUNT,
350
show_search_inputs: true,
352
field: 'pay_stub_entry_account_id'} );
353
this.addEditFieldToColumn( $.i18n._( 'Pay Stub Account' ), form_item_input, tab_pay_code_column1 );
357
buildSearchFields: function() {
359
this._super( 'buildSearchFields' );
360
this.search_fields = [
362
new SearchField( {label: $.i18n._( 'Name' ),
368
form_item_type: FormItemType.TEXT_INPUT} ),
370
new SearchField( {label: $.i18n._( 'Type' ),
376
layout_name: ALayoutIDs.OPTION_COLUMN,
377
form_item_type: FormItemType.AWESOME_BOX} ),
379
new SearchField( {label: $.i18n._( 'Pay Formula Policy' ),
381
field: 'pay_formula_policy_id',
382
layout_name: ALayoutIDs.PAY_FORMULA_POLICY,
383
api_class: (APIFactory.getAPIClass( 'APIPayFormulaPolicy' )),
387
form_item_type: FormItemType.AWESOME_BOX} ),
389
new SearchField( {label: $.i18n._( 'Pay Stub Account' ),
391
field: 'pay_stub_entry_account_id',
392
layout_name: ALayoutIDs.PAY_STUB_ACCOUNT,
393
api_class: (APIFactory.getAPIClass( 'APIPayStubEntryAccount' )),
397
form_item_type: FormItemType.AWESOME_BOX} ),
399
new SearchField( {label: $.i18n._( 'Created By' ),
402
layout_name: ALayoutIDs.USER,
403
api_class: (APIFactory.getAPIClass( 'APIUser' )),
407
form_item_type: FormItemType.AWESOME_BOX} ),
409
new SearchField( {label: $.i18n._( 'Updated By' ),
412
layout_name: ALayoutIDs.USER,
413
api_class: (APIFactory.getAPIClass( 'APIUser' )),
417
form_item_type: FormItemType.AWESOME_BOX} )];
421
onCustomContextClick: function( id ) {
423
case ContextMenuIconName.migrate_pay_codes:
424
ProgressBar.showOverlay();
425
this.onWizardClick();
431
onWizardClick: function() {
433
IndexViewController.openWizard( 'PayCodeWizard', null, function(){