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 = $( '
' ); label = $( ' ' ); 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 = $( '' ); //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( '' ); //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 = $( '' ); //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( '' ); //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 = $( '' ); //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( '' ); //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 = $( '' ); //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( '' ); //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 ); } } }