TimeTrex Community Edition v16.2.0
This commit is contained in:
@@ -0,0 +1,638 @@
|
||||
export class PayPeriodScheduleViewController extends BaseViewController {
|
||||
constructor( options = {} ) {
|
||||
_.defaults( options, {
|
||||
el: '#pay_period_schedule_view_container', //Must set el here and can only set string, so events can work
|
||||
|
||||
user_preference_api: null,
|
||||
type_array: null,
|
||||
pay_period_starts_on_array: null,
|
||||
start_week_day_array: null,
|
||||
transaction_date_array: null,
|
||||
transaction_date_business_day_array: null,
|
||||
time_zone_array: null,
|
||||
shift_assigned_day_array: null,
|
||||
timesheet_verify_type_array: null,
|
||||
sub_pay_periods_view_controller: null
|
||||
} );
|
||||
|
||||
super( options );
|
||||
}
|
||||
|
||||
init( options ) {
|
||||
|
||||
//this._super('initialize', options );
|
||||
this.edit_view_tpl = 'PayPeriodScheduleEditView.html';
|
||||
this.permission_id = 'pay_period_schedule';
|
||||
this.viewId = 'PayPeriodSchedule';
|
||||
this.script_name = 'PayPeriodScheduleView';
|
||||
this.table_name_key = 'pay_period_schedule';
|
||||
this.context_menu_name = $.i18n._( 'Pay Period Schedule' );
|
||||
this.navigation_label = $.i18n._( 'Pay Period Schedule' );
|
||||
this.api = TTAPI.APIPayPeriodSchedule;
|
||||
this.user_preference_api = TTAPI.APIUserPreference;
|
||||
|
||||
this.render();
|
||||
this.buildContextMenu();
|
||||
this.initData();
|
||||
}
|
||||
|
||||
getCustomContextMenuModel() {
|
||||
var context_menu_model = {
|
||||
exclude: ['copy', 'mass_edit'],
|
||||
include: []
|
||||
};
|
||||
|
||||
return context_menu_model;
|
||||
}
|
||||
|
||||
openEditView( id ) {
|
||||
Global.setUINotready();
|
||||
TTPromise.add( 'init', 'init' );
|
||||
TTPromise.wait();
|
||||
|
||||
var $this = this;
|
||||
|
||||
if ( $this.edit_only_mode ) {
|
||||
|
||||
$this.initOptions( function( result ) {
|
||||
|
||||
if ( !$this.edit_view ) {
|
||||
$this.initEditViewUI( $this.viewId, $this.edit_view_tpl );
|
||||
}
|
||||
|
||||
$this.getPayPeriodScheduleData( id, function( result ) {
|
||||
// Waiting for the TTAPI.API returns data to set the current edit record.
|
||||
$this.current_edit_record = result;
|
||||
|
||||
$this.initEditView();
|
||||
|
||||
} );
|
||||
|
||||
} );
|
||||
|
||||
} else {
|
||||
if ( !this.edit_view ) {
|
||||
this.initEditViewUI( $this.viewId, $this.edit_view_tpl );
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
getPayPeriodScheduleData( id, callBack ) {
|
||||
var filter = {};
|
||||
filter.filter_data = {};
|
||||
filter.filter_data.id = [id];
|
||||
|
||||
this.api['get' + this.api.key_name]( filter, {
|
||||
onResult: function( result ) {
|
||||
var result_data = result.getResult();
|
||||
|
||||
if ( !result_data ) {
|
||||
result_data = [];
|
||||
}
|
||||
result_data = result_data[0];
|
||||
|
||||
callBack( result_data );
|
||||
|
||||
}
|
||||
} );
|
||||
}
|
||||
|
||||
initOptions( callBack ) {
|
||||
var $this = this;
|
||||
|
||||
var options = [
|
||||
{ option_name: 'type' },
|
||||
{ option_name: 'transaction_date' },
|
||||
{ option_name: 'transaction_date_business_day' },
|
||||
{ option_name: 'shift_assigned_day' },
|
||||
{ option_name: 'time_zone', field_name: '', api: this.user_preference_api },
|
||||
{ option_name: 'timesheet_verify_type' },
|
||||
{ option_name: 'start_week_day' }
|
||||
|
||||
];
|
||||
|
||||
this.initDropDownOptions( options, function( result ) {
|
||||
$this.transaction_date_array = Global.addLastItemToArray( $this.transaction_date_array, -1, $.i18n._( '- Last Day Of Month -' ) );
|
||||
|
||||
$this.user_preference_api.getOptions( 'start_week_day', {
|
||||
onResult: function( res ) {
|
||||
var result = res.getResult();
|
||||
$this.pay_period_starts_on_array = Global.buildRecordArray( result );
|
||||
|
||||
if ( callBack ) {
|
||||
callBack( result ); // First to initialize drop down options, and then to initialize edit view UI.
|
||||
}
|
||||
}
|
||||
} );
|
||||
|
||||
} );
|
||||
}
|
||||
|
||||
initSubPayPeriodsView() {
|
||||
var $this = this;
|
||||
|
||||
if ( !this.current_edit_record.id ) {
|
||||
TTPromise.resolve( 'BaseViewController', 'onTabShow' ); //Since search() isn't called in this case, and we just display the "Please Save This Record ..." message, resolve the promise.
|
||||
return;
|
||||
}
|
||||
|
||||
if ( this.sub_pay_periods_view_controller ) {
|
||||
this.sub_pay_periods_view_controller.buildContextMenu( true );
|
||||
this.sub_pay_periods_view_controller.setDefaultMenu();
|
||||
$this.sub_pay_periods_view_controller.parent_value = $this.current_edit_record.id;
|
||||
$this.sub_pay_periods_view_controller.parent_edit_record = $this.current_edit_record;
|
||||
$this.sub_pay_periods_view_controller.initData(); //Init data in this parent view
|
||||
return;
|
||||
}
|
||||
|
||||
Global.loadScript( 'views/payroll/pay_periods/PayPeriodsViewController.js', function() {
|
||||
|
||||
var tab_pay_period_schedule = $this.edit_view_tab.find( '#tab_pay_period' );
|
||||
|
||||
var firstColumn = tab_pay_period_schedule.find( '.first-column-sub-view' );
|
||||
|
||||
Global.trackView( 'Sub' + 'PayPeriods' + 'View' );
|
||||
PayPeriodsViewController.loadSubView( firstColumn, beforeLoadView, afterLoadView );
|
||||
|
||||
} );
|
||||
|
||||
function beforeLoadView() {
|
||||
|
||||
}
|
||||
|
||||
function afterLoadView( subViewController ) {
|
||||
|
||||
$this.sub_pay_periods_view_controller = subViewController;
|
||||
$this.sub_pay_periods_view_controller.parent_key = 'pay_period_schedule_id';
|
||||
$this.sub_pay_periods_view_controller.parent_value = $this.current_edit_record.id;
|
||||
$this.sub_pay_periods_view_controller.parent_edit_record = $this.current_edit_record;
|
||||
$this.sub_pay_periods_view_controller.parent_view_controller = $this;
|
||||
$this.sub_pay_periods_view_controller.initData(); //Init data in this parent view
|
||||
}
|
||||
}
|
||||
|
||||
onFormItemChange( target, doNotValidate ) {
|
||||
|
||||
this.setIsChanged( target );
|
||||
this.setMassEditingFieldsWhenFormChange( target );
|
||||
var key = target.getField();
|
||||
var c_value = target.getValue();
|
||||
|
||||
this.current_edit_record[key] = c_value;
|
||||
|
||||
if ( key == 'type_id' ) {
|
||||
this.onTypeChange();
|
||||
} else if ( key == 'start_day_of_week' && ( !this.current_edit_record || !this.current_edit_record.id ) ) {
|
||||
this.edit_view_ui_dic.start_week_day_id.setValue( this.edit_view_ui_dic.start_day_of_week.getValue() );
|
||||
this.current_edit_record.start_week_day_id = this.edit_view_ui_dic.start_day_of_week.getValue();
|
||||
} else if ( key == 'timesheet_verify_type_id' ) {
|
||||
this.onVerifyTypeChange();
|
||||
}
|
||||
|
||||
if ( !doNotValidate ) {
|
||||
this.validate();
|
||||
}
|
||||
}
|
||||
|
||||
removeEditView() {
|
||||
|
||||
super.removeEditView();
|
||||
this.sub_pay_periods_view_controller = null;
|
||||
}
|
||||
|
||||
onVerifyTypeChange() {
|
||||
if ( this.current_edit_record.timesheet_verify_type_id == 10 ) {
|
||||
this.detachElement( 'timesheet_verify_before_end_date' );
|
||||
this.detachElement( 'timesheet_verify_before_transaction_date' );
|
||||
} else {
|
||||
this.attachElement( 'timesheet_verify_before_end_date' );
|
||||
this.attachElement( 'timesheet_verify_before_transaction_date' );
|
||||
}
|
||||
|
||||
this.editFieldResize();
|
||||
}
|
||||
|
||||
onTypeChange() {
|
||||
|
||||
if ( this.current_edit_record.type_id == 5 ) {
|
||||
this.detachElement( 'anchor_date' );
|
||||
} else {
|
||||
|
||||
if ( this.current_edit_record.id ) {
|
||||
this.detachElement( 'anchor_date' );
|
||||
} else {
|
||||
this.attachElement( 'anchor_date' );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if ( this.current_edit_record.type_id == 5 ) {
|
||||
this.detachElement( 'primary' );
|
||||
this.detachElement( 'primary_day_of_month' );
|
||||
this.detachElement( 'primary_transaction_day_of_month' );
|
||||
this.detachElement( 'secondary' );
|
||||
this.detachElement( 'secondary_day_of_month' );
|
||||
this.detachElement( 'secondary_transaction_day_of_month' );
|
||||
this.attachElement( 'annual_pay_periods' );
|
||||
this.detachElement( 'start_day_of_week' );
|
||||
this.detachElement( 'transaction_date' );
|
||||
this.detachElement( 'transaction_date_bd' );
|
||||
|
||||
} else if ( this.current_edit_record.type_id == 10 || this.current_edit_record.type_id == 20 || this.current_edit_record.type_id == 100 || this.current_edit_record.type_id == 200 ) {
|
||||
this.detachElement( 'primary' );
|
||||
this.detachElement( 'primary_day_of_month' );
|
||||
this.detachElement( 'primary_transaction_day_of_month' );
|
||||
this.detachElement( 'secondary' );
|
||||
this.detachElement( 'secondary_day_of_month' );
|
||||
this.detachElement( 'secondary_transaction_day_of_month' );
|
||||
this.detachElement( 'annual_pay_periods' );
|
||||
this.attachElement( 'start_day_of_week' );
|
||||
this.attachElement( 'transaction_date' );
|
||||
this.attachElement( 'transaction_date_bd' );
|
||||
|
||||
} else if ( this.current_edit_record.type_id == 30 ) {
|
||||
this.attachElement( 'primary' );
|
||||
this.attachElement( 'primary_day_of_month' );
|
||||
this.attachElement( 'primary_transaction_day_of_month' );
|
||||
this.attachElement( 'secondary' );
|
||||
this.attachElement( 'secondary_day_of_month' );
|
||||
this.attachElement( 'secondary_transaction_day_of_month' );
|
||||
this.detachElement( 'annual_pay_periods' );
|
||||
this.detachElement( 'start_day_of_week' );
|
||||
this.detachElement( 'transaction_date' );
|
||||
this.attachElement( 'transaction_date_bd' );
|
||||
} else if ( this.current_edit_record.type_id == 50 ) {
|
||||
this.attachElement( 'primary' );
|
||||
this.attachElement( 'primary_day_of_month' );
|
||||
this.attachElement( 'primary_transaction_day_of_month' );
|
||||
this.detachElement( 'secondary' );
|
||||
this.detachElement( 'secondary_day_of_month' );
|
||||
this.detachElement( 'secondary_transaction_day_of_month' );
|
||||
this.detachElement( 'annual_pay_periods' );
|
||||
this.detachElement( 'start_day_of_week' );
|
||||
this.detachElement( 'transaction_date' );
|
||||
this.attachElement( 'transaction_date_bd' );
|
||||
}
|
||||
|
||||
this.editFieldResize();
|
||||
}
|
||||
|
||||
setCurrentEditRecordData() {
|
||||
//Set current edit record data to all widgets
|
||||
for ( var key in this.current_edit_record ) {
|
||||
var widget = this.edit_view_ui_dic[key];
|
||||
if ( Global.isSet( widget ) ) {
|
||||
switch ( key ) {
|
||||
default:
|
||||
widget.setValue( this.current_edit_record[key] );
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
this.onTypeChange();
|
||||
this.onVerifyTypeChange();
|
||||
this.collectUIDataToCurrentEditRecord();
|
||||
this.setEditViewDataDone();
|
||||
}
|
||||
|
||||
buildEditViewUI() {
|
||||
|
||||
super.buildEditViewUI();
|
||||
|
||||
var $this = this;
|
||||
|
||||
var tab_model = {
|
||||
'tab_pay_period_schedule': {
|
||||
'label': $.i18n._( 'Pay Period Schedule' )
|
||||
},
|
||||
'tab_advanced': {
|
||||
'label': $.i18n._( 'Advanced' )
|
||||
},
|
||||
'tab_pay_period': {
|
||||
'label': $.i18n._( 'Pay Periods' ),
|
||||
'init_callback': 'initSubPayPeriodsView',
|
||||
'display_on_mass_edit': false
|
||||
},
|
||||
'tab_audit': true,
|
||||
};
|
||||
this.setTabModel( tab_model );
|
||||
|
||||
if ( !this.edit_only_mode ) {
|
||||
this.navigation.AComboBox( {
|
||||
id: this.script_name + '_navigation',
|
||||
api_class: TTAPI.APIPayPeriodSchedule,
|
||||
allow_multiple_selection: false,
|
||||
layout_name: 'global_pay_period_schedule',
|
||||
navigation_mode: true,
|
||||
show_search_inputs: true
|
||||
} );
|
||||
|
||||
this.setNavigation();
|
||||
}
|
||||
|
||||
//Tab 0 start
|
||||
|
||||
var tab_pay_period_schedule = this.edit_view_tab.find( '#tab_pay_period_schedule' );
|
||||
|
||||
var tab_pay_period_schedule_column1 = tab_pay_period_schedule.find( '.first-column' );
|
||||
this.edit_view_tabs[0] = [];
|
||||
|
||||
this.edit_view_tabs[0].push( tab_pay_period_schedule_column1 );
|
||||
|
||||
var form_item_input;
|
||||
var widgetContainer;
|
||||
var label;
|
||||
|
||||
//Name
|
||||
form_item_input = Global.loadWidgetByName( FormItemType.TEXT_INPUT );
|
||||
form_item_input.TTextInput( { field: 'name', width: '100%' } );
|
||||
this.addEditFieldToColumn( $.i18n._( 'Name' ), form_item_input, tab_pay_period_schedule_column1, '' );
|
||||
|
||||
form_item_input.parent().width( '45%' );
|
||||
|
||||
// Description
|
||||
form_item_input = Global.loadWidgetByName( FormItemType.TEXT_INPUT );
|
||||
form_item_input.TTextInput( { field: 'description', width: '100%' } );
|
||||
this.addEditFieldToColumn( $.i18n._( 'Description' ), form_item_input, tab_pay_period_schedule_column1 );
|
||||
|
||||
form_item_input.parent().width( '45%' );
|
||||
|
||||
// Pay Period Dates
|
||||
form_item_input = Global.loadWidgetByName( FormItemType.SEPARATED_BOX );
|
||||
form_item_input.SeparatedBox( { label: $.i18n._( 'Pay Period Dates' ) } );
|
||||
this.addEditFieldToColumn( null, form_item_input, tab_pay_period_schedule_column1 );
|
||||
|
||||
// Type
|
||||
form_item_input = Global.loadWidgetByName( FormItemType.COMBO_BOX );
|
||||
|
||||
form_item_input.TComboBox( { field: 'type_id' } );
|
||||
form_item_input.setSourceData( $this.type_array );
|
||||
this.addEditFieldToColumn( $.i18n._( 'Type' ), form_item_input, tab_pay_period_schedule_column1 );
|
||||
|
||||
// Primary
|
||||
|
||||
form_item_input = Global.loadWidgetByName( FormItemType.SEPARATED_BOX );
|
||||
form_item_input.SeparatedBox( { label: $.i18n._( 'Primary' ) } );
|
||||
this.addEditFieldToColumn( null, form_item_input, tab_pay_period_schedule_column1, '', null, true, false, 'primary' );
|
||||
|
||||
// Pay Period Start Day of Month
|
||||
form_item_input = Global.loadWidgetByName( FormItemType.COMBO_BOX );
|
||||
|
||||
form_item_input.TComboBox( { field: 'primary_day_of_month' } );
|
||||
widgetContainer = $( '<div class=\'widget-h-box\'></div>' );
|
||||
label = $( '<span class=\'widget-right-label\'> ' + $.i18n._( 'at 00:00' ) + '</span>' );
|
||||
|
||||
widgetContainer.append( form_item_input );
|
||||
widgetContainer.append( label );
|
||||
form_item_input.setSourceData( $this.transaction_date_array );
|
||||
this.addEditFieldToColumn( $.i18n._( 'Pay Period Start Day of Month' ), form_item_input, tab_pay_period_schedule_column1, '', widgetContainer, true );
|
||||
|
||||
// Transaction Day Of Month
|
||||
form_item_input = Global.loadWidgetByName( FormItemType.COMBO_BOX );
|
||||
|
||||
form_item_input.TComboBox( { field: 'primary_transaction_day_of_month' } );
|
||||
form_item_input.setSourceData( $this.transaction_date_array );
|
||||
this.addEditFieldToColumn( $.i18n._( 'Transaction Day Of Month' ), form_item_input, tab_pay_period_schedule_column1, '', null, true );
|
||||
|
||||
// Secondary
|
||||
form_item_input = Global.loadWidgetByName( FormItemType.SEPARATED_BOX );
|
||||
form_item_input.SeparatedBox( { label: $.i18n._( 'Secondary' ) } );
|
||||
this.addEditFieldToColumn( null, form_item_input, tab_pay_period_schedule_column1, '', null, true, false, 'secondary' );
|
||||
|
||||
// Pay Period Start Day Of Month
|
||||
form_item_input = Global.loadWidgetByName( FormItemType.COMBO_BOX );
|
||||
|
||||
form_item_input.TComboBox( { field: 'secondary_day_of_month' } );
|
||||
widgetContainer = $( '<div class=\'widget-h-box\'></div>' );
|
||||
label = $( '<span class=\'widget-right-label\'> ' + $.i18n._( 'at 00:00' ) + '</span>' );
|
||||
|
||||
widgetContainer.append( form_item_input );
|
||||
widgetContainer.append( label );
|
||||
form_item_input.setSourceData( $this.transaction_date_array );
|
||||
this.addEditFieldToColumn( $.i18n._( 'Pay Period Start Day of Month' ), form_item_input, tab_pay_period_schedule_column1, '', widgetContainer, true );
|
||||
|
||||
// Transaction Day Of Month
|
||||
form_item_input = Global.loadWidgetByName( FormItemType.COMBO_BOX );
|
||||
|
||||
form_item_input.TComboBox( { field: 'secondary_transaction_day_of_month' } );
|
||||
form_item_input.setSourceData( $this.transaction_date_array );
|
||||
this.addEditFieldToColumn( $.i18n._( 'Transaction Day Of Month' ), form_item_input, tab_pay_period_schedule_column1, '', null, true );
|
||||
|
||||
// Annual Pay Periods
|
||||
form_item_input = Global.loadWidgetByName( FormItemType.TEXT_INPUT );
|
||||
|
||||
form_item_input.TTextInput( { field: 'annual_pay_periods' } );
|
||||
this.addEditFieldToColumn( $.i18n._( 'Annual Pay Periods' ), form_item_input, tab_pay_period_schedule_column1, '', null, true );
|
||||
|
||||
// Pay Period Starts On
|
||||
form_item_input = Global.loadWidgetByName( FormItemType.COMBO_BOX );
|
||||
|
||||
form_item_input.TComboBox( { field: 'start_day_of_week' } );
|
||||
widgetContainer = $( '<div class=\'widget-h-box\'></div>' );
|
||||
label = $( '<span class=\'widget-right-label\'> ' + $.i18n._( 'at 00:00' ) + '</span>' );
|
||||
|
||||
widgetContainer.append( form_item_input );
|
||||
widgetContainer.append( label );
|
||||
form_item_input.setSourceData( $this.pay_period_starts_on_array );
|
||||
this.addEditFieldToColumn( $.i18n._( 'Pay Period Starts On' ), form_item_input, tab_pay_period_schedule_column1, '', widgetContainer, true );
|
||||
|
||||
// Transaction Date
|
||||
form_item_input = Global.loadWidgetByName( FormItemType.COMBO_BOX );
|
||||
|
||||
form_item_input.TComboBox( { field: 'transaction_date' } );
|
||||
widgetContainer = $( '<div class=\'widget-h-box\'></div>' );
|
||||
label = $( '<span class=\'widget-right-label\'> ( ' + $.i18n._( 'days after end of pay period' ) + ' )</span>' );
|
||||
|
||||
widgetContainer.append( form_item_input );
|
||||
widgetContainer.append( label );
|
||||
form_item_input.setSourceData( $this.transaction_date_array );
|
||||
this.addEditFieldToColumn( $.i18n._( 'Transaction Date' ), form_item_input, tab_pay_period_schedule_column1, '', widgetContainer, true );
|
||||
|
||||
// Transaction Always on Business Day
|
||||
form_item_input = Global.loadWidgetByName( FormItemType.COMBO_BOX );
|
||||
|
||||
form_item_input.TComboBox( { field: 'transaction_date_bd' } );
|
||||
|
||||
form_item_input.setSourceData( $this.transaction_date_business_day_array );
|
||||
this.addEditFieldToColumn( $.i18n._( 'Transaction Always on Business Day' ), form_item_input, tab_pay_period_schedule_column1, '', null, true );
|
||||
|
||||
//Create Initial Pay Periods From
|
||||
form_item_input = Global.loadWidgetByName( FormItemType.DATE_PICKER );
|
||||
|
||||
form_item_input.TDatePicker( { field: 'anchor_date' } );
|
||||
this.addEditFieldToColumn( $.i18n._( 'Create Initial Pay Periods From' ), form_item_input, tab_pay_period_schedule_column1, '', null, true );
|
||||
|
||||
// employees
|
||||
form_item_input = Global.loadWidgetByName( FormItemType.AWESOME_BOX );
|
||||
form_item_input.AComboBox( {
|
||||
api_class: TTAPI.APIUser,
|
||||
allow_multiple_selection: true,
|
||||
layout_name: 'global_user',
|
||||
show_search_inputs: true,
|
||||
set_empty: true,
|
||||
field: 'user'
|
||||
} );
|
||||
this.addEditFieldToColumn( $.i18n._( 'Employees' ), form_item_input, tab_pay_period_schedule_column1 );
|
||||
|
||||
//Tab 0 start
|
||||
|
||||
var tab_advanced = this.edit_view_tab.find( '#tab_advanced' );
|
||||
|
||||
var tab_advanced_column1 = tab_advanced.find( '.first-column' );
|
||||
this.edit_view_tabs[1] = [];
|
||||
|
||||
this.edit_view_tabs[1].push( tab_advanced_column1 );
|
||||
|
||||
// Overtime Week
|
||||
form_item_input = Global.loadWidgetByName( FormItemType.COMBO_BOX );
|
||||
|
||||
form_item_input.TComboBox( { field: 'start_week_day_id' } );
|
||||
form_item_input.setSourceData( $this.start_week_day_array );
|
||||
this.addEditFieldToColumn( $.i18n._( 'Overtime Week' ), form_item_input, tab_advanced_column1, '' );
|
||||
|
||||
// Time Zone
|
||||
form_item_input = Global.loadWidgetByName( FormItemType.COMBO_BOX );
|
||||
|
||||
form_item_input.TComboBox( { field: 'time_zone', set_empty: true } );
|
||||
form_item_input.setSourceData( $this.time_zone_array );
|
||||
this.addEditFieldToColumn( $.i18n._( 'Time Zone' ), form_item_input, tab_advanced_column1 );
|
||||
|
||||
// Minimum Time-Off Between Shifts
|
||||
form_item_input = Global.loadWidgetByName( FormItemType.TEXT_INPUT );
|
||||
form_item_input.TTextInput( { field: 'new_day_trigger_time', mode: 'time_unit', need_parser_sec: true } );
|
||||
|
||||
widgetContainer = $( '<div class=\'widget-h-box\'></div>' );
|
||||
label = $( '<span class=\'widget-right-label\'>( ' + $.i18n._( 'only for shifts that span midnight' ) + ' )</span>' );
|
||||
widgetContainer.append( form_item_input );
|
||||
widgetContainer.append( label );
|
||||
this.addEditFieldToColumn( $.i18n._( 'Minimum Time-Off Between Shifts' ), form_item_input, tab_advanced_column1, '', widgetContainer );
|
||||
|
||||
// Maximum Shift Time
|
||||
form_item_input = Global.loadWidgetByName( FormItemType.TEXT_INPUT );
|
||||
form_item_input.TTextInput( { field: 'maximum_shift_time', mode: 'time_unit', need_parser_sec: true } );
|
||||
|
||||
this.addEditFieldToColumn( $.i18n._( 'Maximum Shift Time' ), form_item_input, tab_advanced_column1, '', null );
|
||||
|
||||
// Assign Shifts To
|
||||
form_item_input = Global.loadWidgetByName( FormItemType.COMBO_BOX );
|
||||
|
||||
form_item_input.TComboBox( { field: 'shift_assigned_day_id' } );
|
||||
form_item_input.setSourceData( $this.shift_assigned_day_array );
|
||||
this.addEditFieldToColumn( $.i18n._( 'Assign Shifts To' ), form_item_input, tab_advanced_column1 );
|
||||
|
||||
// Populate Days in Advance
|
||||
form_item_input = Global.loadWidgetByName( FormItemType.TEXT_INPUT );
|
||||
form_item_input.TTextInput( { field: 'create_days_in_advance', width: 50 } );
|
||||
|
||||
widgetContainer = $( '<div class=\'widget-h-box\'></div>' );
|
||||
label = $( '<span class=\'widget-right-label\'> ' + $.i18n._( '( days in advance )' ) + '</span>' );
|
||||
|
||||
widgetContainer.append( form_item_input );
|
||||
widgetContainer.append( label );
|
||||
|
||||
this.addEditFieldToColumn( $.i18n._( 'Create Pay Periods' ), form_item_input, tab_advanced_column1, '', widgetContainer );
|
||||
|
||||
// Auto close pay period
|
||||
form_item_input = Global.loadWidgetByName( FormItemType.TEXT_INPUT );
|
||||
form_item_input.TTextInput( { field: 'auto_close_after_days', width: 50 } );
|
||||
|
||||
widgetContainer = $( '<div class=\'widget-h-box\'></div>' );
|
||||
label = $( '<span class=\'widget-right-label\'> ' + $.i18n._( '( days after transaction date )' ) + '</span>' );
|
||||
|
||||
widgetContainer.append( form_item_input );
|
||||
widgetContainer.append( label );
|
||||
|
||||
this.addEditFieldToColumn( $.i18n._( 'Auto Close' ), form_item_input, tab_advanced_column1, '', widgetContainer );
|
||||
|
||||
// TimeSheet Verification
|
||||
form_item_input = Global.loadWidgetByName( FormItemType.SEPARATED_BOX );
|
||||
form_item_input.SeparatedBox( { label: $.i18n._( 'TimeSheet Verification' ) } );
|
||||
this.addEditFieldToColumn( null, form_item_input, tab_advanced_column1 );
|
||||
|
||||
// Timesheet Verification
|
||||
form_item_input = Global.loadWidgetByName( FormItemType.COMBO_BOX );
|
||||
|
||||
form_item_input.TComboBox( { field: 'timesheet_verify_type_id' } );
|
||||
form_item_input.setSourceData( $this.timesheet_verify_type_array );
|
||||
this.addEditFieldToColumn( $.i18n._( 'TimeSheet Verification' ), form_item_input, tab_advanced_column1 );
|
||||
|
||||
// Verification Window Starts
|
||||
form_item_input = Global.loadWidgetByName( FormItemType.TEXT_INPUT );
|
||||
form_item_input.TTextInput( { field: 'timesheet_verify_before_end_date', width: 30 } );
|
||||
|
||||
widgetContainer = $( '<div class=\'widget-h-box\'></div>' );
|
||||
label = $( '<span class=\'widget-right-label\'>' + $.i18n._( 'Day(s)' ) + ' (' + $.i18n._( 'Before Pay Period End Date' ) + ' )' + '</span>' );
|
||||
widgetContainer.append( form_item_input );
|
||||
widgetContainer.append( label );
|
||||
this.addEditFieldToColumn( $.i18n._( 'Verification Window Starts' ), form_item_input, tab_advanced_column1, '', widgetContainer, true );
|
||||
|
||||
// Verification Windows Ends
|
||||
form_item_input = Global.loadWidgetByName( FormItemType.TEXT_INPUT );
|
||||
form_item_input.TTextInput( { field: 'timesheet_verify_before_transaction_date', width: 30 } );
|
||||
|
||||
widgetContainer = $( '<div class=\'widget-h-box\'></div>' );
|
||||
label = $( '<span class=\'widget-right-label\'>' + $.i18n._( 'Day(s)' ) + ' (' + $.i18n._( 'Before Pay Period Transaction Date' ) + ' )' + '</span>' );
|
||||
widgetContainer.append( form_item_input );
|
||||
widgetContainer.append( label );
|
||||
this.addEditFieldToColumn( $.i18n._( 'Verification Window Ends' ), form_item_input, tab_advanced_column1, '', widgetContainer, true );
|
||||
}
|
||||
|
||||
buildSearchFields() {
|
||||
|
||||
super.buildSearchFields();
|
||||
|
||||
this.search_fields = [
|
||||
|
||||
new SearchField( {
|
||||
label: $.i18n._( 'Name' ),
|
||||
in_column: 1,
|
||||
field: 'name',
|
||||
basic_search: true,
|
||||
form_item_type: FormItemType.TEXT_INPUT
|
||||
} ),
|
||||
new SearchField( {
|
||||
label: $.i18n._( 'Type' ),
|
||||
in_column: 1,
|
||||
field: 'type_id',
|
||||
multiple: true,
|
||||
basic_search: true,
|
||||
layout_name: 'global_option_column',
|
||||
form_item_type: FormItemType.AWESOME_BOX
|
||||
} ),
|
||||
new SearchField( {
|
||||
label: $.i18n._( 'Description' ),
|
||||
in_column: 1,
|
||||
field: 'description',
|
||||
basic_search: true,
|
||||
form_item_type: FormItemType.TEXT_INPUT
|
||||
} ),
|
||||
new SearchField( {
|
||||
label: $.i18n._( 'Created By' ),
|
||||
in_column: 2,
|
||||
field: 'created_by',
|
||||
layout_name: 'global_user',
|
||||
api_class: TTAPI.APIUser,
|
||||
multiple: true,
|
||||
basic_search: true,
|
||||
script_name: 'EmployeeView',
|
||||
form_item_type: FormItemType.AWESOME_BOX
|
||||
} ),
|
||||
new SearchField( {
|
||||
label: $.i18n._( 'Updated By' ),
|
||||
in_column: 2,
|
||||
field: 'updated_by',
|
||||
layout_name: 'global_user',
|
||||
api_class: TTAPI.APIUser,
|
||||
multiple: true,
|
||||
basic_search: true,
|
||||
script_name: 'EmployeeView',
|
||||
form_item_type: FormItemType.AWESOME_BOX
|
||||
} )
|
||||
|
||||
];
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user