272 lines
8.6 KiB
JavaScript
272 lines
8.6 KiB
JavaScript
export class RemittanceSummaryReportViewController extends ReportBaseViewController {
|
|
constructor( options = {} ) {
|
|
_.defaults( options, {
|
|
|
|
} );
|
|
|
|
super( options );
|
|
}
|
|
|
|
initReport( options ) {
|
|
this.script_name = 'RemittanceSummaryReport';
|
|
this.viewId = 'RemittanceSummaryReport';
|
|
this.context_menu_name = $.i18n._( 'Remittance Summary' );
|
|
this.navigation_label = $.i18n._( 'Saved Report' );
|
|
this.view_file = 'RemittanceSummaryReportView.html';
|
|
this.api = TTAPI.APIRemittanceSummaryReport;
|
|
this.api_paystub = TTAPI.APIPayStubEntryAccount;
|
|
this.include_form_setup = true;
|
|
}
|
|
|
|
getCustomContextMenuModel() {
|
|
var context_menu_model = {
|
|
groups: {
|
|
form: {
|
|
label: $.i18n._( 'Form' ),
|
|
id: this.viewId + 'Form'
|
|
}
|
|
},
|
|
exclude: [],
|
|
include: [
|
|
{
|
|
label: $.i18n._( 'Form' ),
|
|
id: 'view_print',
|
|
action_group_header: true,
|
|
action_group: 'view_form',
|
|
group: 'form',
|
|
menu_align: 'right',
|
|
icon: 'view-35x35.png',
|
|
type: 2
|
|
},
|
|
{
|
|
label: $.i18n._( 'Save Setup' ),
|
|
id: 'save_setup',
|
|
action_group: 'view_form',
|
|
|
|
group: 'form',
|
|
menu_align: 'right',
|
|
}
|
|
]
|
|
};
|
|
|
|
return context_menu_model;
|
|
}
|
|
|
|
buildFormSetupUI() {
|
|
|
|
var $this = this;
|
|
|
|
var tab3 = this.edit_view_tab.find( '#tab_form_setup' );
|
|
|
|
var tab3_column1 = tab3.find( '.first-column' );
|
|
|
|
this.edit_view_tabs[3] = [];
|
|
|
|
this.edit_view_tabs[3].push( tab3_column1 );
|
|
|
|
var form_item_input;
|
|
var widgetContainer;
|
|
var label;
|
|
|
|
//This Payment (Override)
|
|
form_item_input = Global.loadWidgetByName( FormItemType.TEXT_INPUT );
|
|
form_item_input.TTextInput( { field: 'this_payment' } );
|
|
widgetContainer = $( '<div class=\'widget-h-box\'></div>' );
|
|
label = $( '<span class=\'widget-right-label\'>' + $.i18n._( '(Leave blank to not override)' ) + '</span>' );
|
|
widgetContainer.append( form_item_input );
|
|
widgetContainer.append( label );
|
|
this.addEditFieldToColumn( $.i18n._( 'This Payment (Override)' ), form_item_input, tab3_column1, '', widgetContainer );
|
|
|
|
//Gross Payroll
|
|
var v_box = $( '<div class=\'v-box\'></div>' );
|
|
|
|
//Selection Type
|
|
var form_item_input = Global.loadWidgetByName( FormItemType.AWESOME_BOX );
|
|
form_item_input.AComboBox( {
|
|
api_class: TTAPI.APIPayStubEntryAccount,
|
|
allow_multiple_selection: true,
|
|
layout_name: 'global_PayStubAccount',
|
|
show_search_inputs: true,
|
|
set_empty: true,
|
|
field: 'gross_payroll_include_pay_stub_entry_account'
|
|
} );
|
|
|
|
var form_item = this.putInputToInsideFormItem( form_item_input, $.i18n._( 'Include' ) );
|
|
|
|
v_box.append( form_item );
|
|
v_box.append( '<div class=\'clear-both-div\'></div>' );
|
|
|
|
//Selection
|
|
var form_item_input_1 = Global.loadWidgetByName( FormItemType.AWESOME_BOX );
|
|
|
|
form_item_input_1.AComboBox( {
|
|
api_class: TTAPI.APIPayStubEntryAccount,
|
|
allow_multiple_selection: true,
|
|
layout_name: 'global_PayStubAccount',
|
|
show_search_inputs: true,
|
|
set_empty: true,
|
|
field: 'gross_payroll_exclude_pay_stub_entry_account'
|
|
} );
|
|
|
|
form_item = this.putInputToInsideFormItem( form_item_input_1, $.i18n._( 'Exclude' ) );
|
|
|
|
v_box.append( form_item );
|
|
|
|
this.addEditFieldToColumn( $.i18n._( 'Gross Payroll' ) + '\n*' + $.i18n._( 'Must Match T4 Box 14' ), [form_item_input, form_item_input_1], tab3_column1, '', v_box, false, true );
|
|
|
|
//Employee/Employer EI Accounts
|
|
v_box = $( '<div class=\'v-box\'></div>' );
|
|
|
|
//Selection Type
|
|
form_item_input = Global.loadWidgetByName( FormItemType.AWESOME_BOX );
|
|
form_item_input.AComboBox( {
|
|
api_class: TTAPI.APIPayStubEntryAccount,
|
|
allow_multiple_selection: true,
|
|
layout_name: 'global_PayStubAccount',
|
|
show_search_inputs: true,
|
|
set_empty: true,
|
|
field: 'ei_include_pay_stub_entry_account'
|
|
} );
|
|
|
|
form_item = this.putInputToInsideFormItem( form_item_input, $.i18n._( 'Include' ) );
|
|
|
|
v_box.append( form_item );
|
|
v_box.append( '<div class=\'clear-both-div\'></div>' );
|
|
|
|
//Selection
|
|
form_item_input_1 = Global.loadWidgetByName( FormItemType.AWESOME_BOX );
|
|
|
|
form_item_input_1.AComboBox( {
|
|
api_class: TTAPI.APIPayStubEntryAccount,
|
|
allow_multiple_selection: true,
|
|
layout_name: 'global_PayStubAccount',
|
|
show_search_inputs: true,
|
|
set_empty: true,
|
|
field: 'ei_exclude_pay_stub_entry_account'
|
|
} );
|
|
|
|
form_item = this.putInputToInsideFormItem( form_item_input_1, $.i18n._( 'Exclude' ) );
|
|
|
|
v_box.append( form_item );
|
|
|
|
this.addEditFieldToColumn( $.i18n._( 'Employee/Employer EI' ), [form_item_input, form_item_input_1], tab3_column1, '', v_box, false, true );
|
|
|
|
//Employee/Employer CPP Accounts
|
|
v_box = $( '<div class=\'v-box\'></div>' );
|
|
|
|
//Selection Type
|
|
form_item_input = Global.loadWidgetByName( FormItemType.AWESOME_BOX );
|
|
form_item_input.AComboBox( {
|
|
api_class: TTAPI.APIPayStubEntryAccount,
|
|
allow_multiple_selection: true,
|
|
layout_name: 'global_PayStubAccount',
|
|
show_search_inputs: true,
|
|
set_empty: true,
|
|
field: 'cpp_include_pay_stub_entry_account'
|
|
} );
|
|
|
|
form_item = this.putInputToInsideFormItem( form_item_input, $.i18n._( 'Include' ) );
|
|
|
|
v_box.append( form_item );
|
|
v_box.append( '<div class=\'clear-both-div\'></div>' );
|
|
|
|
//Selection
|
|
form_item_input_1 = Global.loadWidgetByName( FormItemType.AWESOME_BOX );
|
|
|
|
form_item_input_1.AComboBox( {
|
|
api_class: TTAPI.APIPayStubEntryAccount,
|
|
allow_multiple_selection: true,
|
|
layout_name: 'global_PayStubAccount',
|
|
show_search_inputs: true,
|
|
set_empty: true,
|
|
field: 'cpp_exclude_pay_stub_entry_account'
|
|
} );
|
|
|
|
form_item = this.putInputToInsideFormItem( form_item_input_1, $.i18n._( 'Exclude' ) );
|
|
|
|
v_box.append( form_item );
|
|
|
|
this.addEditFieldToColumn( $.i18n._( 'Employee/Employer CPP' ), [form_item_input, form_item_input_1], tab3_column1, '', v_box, false, true );
|
|
|
|
//Income Tax Accounts
|
|
v_box = $( '<div class=\'v-box\'></div>' );
|
|
|
|
//Selection Type
|
|
form_item_input = Global.loadWidgetByName( FormItemType.AWESOME_BOX );
|
|
form_item_input.AComboBox( {
|
|
api_class: TTAPI.APIPayStubEntryAccount,
|
|
allow_multiple_selection: true,
|
|
layout_name: 'global_PayStubAccount',
|
|
show_search_inputs: true,
|
|
set_empty: true,
|
|
field: 'tax_include_pay_stub_entry_account'
|
|
} );
|
|
|
|
form_item = this.putInputToInsideFormItem( form_item_input, $.i18n._( 'Include' ) );
|
|
|
|
v_box.append( form_item );
|
|
v_box.append( '<div class=\'clear-both-div\'></div>' );
|
|
|
|
//Selection
|
|
form_item_input_1 = Global.loadWidgetByName( FormItemType.AWESOME_BOX );
|
|
|
|
form_item_input_1.AComboBox( {
|
|
api_class: TTAPI.APIPayStubEntryAccount,
|
|
allow_multiple_selection: true,
|
|
layout_name: 'global_PayStubAccount',
|
|
show_search_inputs: true,
|
|
set_empty: true,
|
|
field: 'tax_exclude_pay_stub_entry_account'
|
|
} );
|
|
|
|
form_item = this.putInputToInsideFormItem( form_item_input_1, $.i18n._( 'Exclude' ) );
|
|
|
|
v_box.append( form_item );
|
|
|
|
this.addEditFieldToColumn( $.i18n._( 'Federal/Provincial Income Tax' ), [form_item_input, form_item_input_1], tab3_column1, '', v_box, false, true );
|
|
}
|
|
|
|
getFormSetupData() {
|
|
var other = {};
|
|
|
|
other.this_payment = this.current_edit_record.this_payment;
|
|
|
|
other.gross_payroll = {
|
|
include_pay_stub_entry_account: this.current_edit_record.gross_payroll_include_pay_stub_entry_account,
|
|
exclude_pay_stub_entry_account: this.current_edit_record.gross_payroll_exclude_pay_stub_entry_account
|
|
};
|
|
other.cpp = {
|
|
include_pay_stub_entry_account: this.current_edit_record.cpp_include_pay_stub_entry_account,
|
|
exclude_pay_stub_entry_account: this.current_edit_record.cpp_exclude_pay_stub_entry_account
|
|
};
|
|
other.ei = {
|
|
include_pay_stub_entry_account: this.current_edit_record.ei_include_pay_stub_entry_account,
|
|
exclude_pay_stub_entry_account: this.current_edit_record.ei_exclude_pay_stub_entry_account
|
|
};
|
|
other.tax = {
|
|
include_pay_stub_entry_account: this.current_edit_record.tax_include_pay_stub_entry_account,
|
|
exclude_pay_stub_entry_account: this.current_edit_record.tax_exclude_pay_stub_entry_account
|
|
};
|
|
|
|
return other;
|
|
}
|
|
|
|
setFormSetupData( res_data ) {
|
|
|
|
if ( !res_data ) {
|
|
this.show_empty_message = true;
|
|
} else {
|
|
let batch_get_real_data = this.processFormSetupDataAndAddToBatch( res_data, [
|
|
{ data: _.get(res_data, 'this_payment'), field_key: 'this_payment', api: null },
|
|
{ data: _.get(res_data, 'gross_payroll'), field_key: 'gross_payroll', api: this.api_paystub, api_method: 'getPayStubEntryAccount' },
|
|
{ data: _.get(res_data, 'cpp'), field_key: 'cpp', api: this.api_paystub, api_method: 'getPayStubEntryAccount' },
|
|
{ data: _.get(res_data, 'ei'), field_key: 'ei', api: this.api_paystub, api_method: 'getPayStubEntryAccount' },
|
|
{ data: _.get(res_data, 'tax'), field_key: 'tax', api: this.api_paystub, api_method: 'getPayStubEntryAccount' },
|
|
] );
|
|
|
|
this.getBatchedRealFormDataFromAPI( batch_get_real_data );
|
|
}
|
|
}
|
|
|
|
}
|