TimeTrex/interface/html5/views/employees/remittance_destination_account/RemittanceDestinationAccountViewController.js

859 lines
30 KiB
JavaScript

export class RemittanceDestinationAccountViewController extends BaseViewController {
constructor( options = {} ) {
_.defaults( options, {
el: '#remittance_destination_account_view_container',
status_array: null,
type_array: null,
priority_array: [],
amount_type_array: null,
ach_transaction_type_array: null,
ach_transaction_type_data: null,
remittance_source_account_array: null,
company_api: null,
user_default_api: null,
user_api: null,
legal_entity_id: false,
remittance_source_account_api: null,
sub_document_view_controller: null,
document_object_type_id: null,
is_first_load: true,
is_subview: false
} );
super( options );
}
init( options ) {
this.type_array = [];
//this._super('initialize', options );
this.edit_view_tpl = 'RemittanceDestinationAccountEditView.html';
this.permission_id = 'remittance_destination_account';
this.viewId = 'RemittanceDestinationAccount';
this.script_name = 'RemittanceDestinationAccountView';
this.table_name_key = 'remittance_destination_account';
this.context_menu_name = $.i18n._( 'Pay Methods' );
this.navigation_label = $.i18n._( 'Pay Methods' );
this.document_object_type_id = 320;
this.api = TTAPI.APIRemittanceDestinationAccount;
this.company_api = TTAPI.APICompany;
this.user_api = TTAPI.APIUser;
this.user_default_api = TTAPI.APIUserDefault;
this.remittance_source_account_api = TTAPI.APIRemittanceSourceAccount;
this.render();
if ( this.sub_view_mode ) {
this.buildContextMenu( true );
} else {
this.buildContextMenu();
}
//call init data in parent view
if ( !this.sub_view_mode ) {
this.initData();
}
}
initOptions() {
var $this = this;
this.initDropDownOption( 'status' );
this.initDropDownOption( 'amount_type' );
this.api.getOptions( 'priority', {
onResult: function( res ) {
$this.priority_array = res.getResult();
}
} );
this.api.getOptions( 'ach_transaction_type', {
onResult: function( res ) {
var result = res.getResult();
$this.ach_transaction_type_data = result;
$this.ach_transaction_type_array = Global.buildRecordArray( result );
}
} );
this.remittance_source_account_api.getOptions( 'type', {
onResult: function( result ) {
result = result.getResult();
//Prevent exception when in subgrid mode: "TypeError: $this.basic_search_field_ui_dic.type_id is undefined"
if ( $this.basic_search_field_ui_dic && $this.basic_search_field_ui_dic['type_id'] ) {
$this.basic_search_field_ui_dic['type_id'].setSourceData( Global.buildRecordArray( result ) );
}
if ( $this.adv_search_field_ui_dic && $this.adv_search_field_ui_dic['type_id'] ) {
$this.adv_search_field_ui_dic['type_id'].setSourceData( Global.buildRecordArray( result ) );
}
}
} );
}
getDefaultDisplayColumns( callBack ) {
var $this = this;
this.api.getOptions( 'default_display_columns', {
onResult: function( columns_result ) {
var columns_result_data = columns_result.getResult();
$this.default_display_columns = [];
for ( var n in columns_result_data ) {
if ( $this.is_subview == true && ( columns_result_data[n] == 'user_first_name' || columns_result_data[n] == 'user_last_name' ) ) {
continue;
} else {
$this.default_display_columns.push( columns_result_data[n] );
}
}
if ( callBack ) {
callBack();
}
}
} );
}
attachElement( key ) {
//Error: Uncaught TypeError: Cannot read property 'insertBefore' of undefined in interface/html5/views/BaseViewController.js?v=9.0.0-20150822-210544 line 6439
if ( !this.edit_view_form_item_dic || !this.edit_view_form_item_dic[key] ) {
return;
}
var place_holder = $( '.place_holder_' + key );
this.edit_view_form_item_dic[key].insertBefore( place_holder );
place_holder.remove();
return $( this.edit_view_form_item_dic[key].find( '.edit-view-form-item-label' ) );
}
setCurrentEditRecordData() {
var $this = this;
//Set current edit record data to all widgets
// First to get legal_entity_id
for ( var key in this.current_edit_record ) {
if ( !this.current_edit_record.hasOwnProperty( key ) ) {
continue;
}
var widget = this.edit_view_ui_dic[key];
if ( key === 'value1' && this.current_edit_record[key] && !this.is_mass_editing ) {
if ( Global.isSet( this.ach_transaction_type_data[this.current_edit_record[key]] ) ) {
this.edit_view_ui_dic['value1_2'].setValue( this.current_edit_record[key] );
} else {
this.edit_view_ui_dic['value1_1'].setValue( this.current_edit_record[key] );
}
}
if ( Global.isSet( widget ) ) {
switch ( key ) {
case 'amount_type_id': //popular case
this.onAmountTypeChange( this.current_edit_record[key] );
widget.setValue( this.current_edit_record[key] );
break;
case 'value1_1':
case 'value1_2':
case 'type_id':
break;
case 'currency_id':
case 'remittance_source_account_id':
widget.setValue( this.current_edit_record[key] );
this.detachElement( key );
break;
default:
widget.setValue( this.current_edit_record[key] );
break;
}
}
}
//Only allow changing employee if they have permissions to do so.
if ( !( PermissionManager.validate( this.permission_id, 'edit' ) || PermissionManager.validate( this.permission_id, 'edit_child' ) ) ) {
$this.current_edit_record['user_id'] = LocalCacheData.getLoginUser().id;
$this.edit_view_ui_dic.user_id.setValue( LocalCacheData.getLoginUser().id );
this.edit_view_ui_dic.user_id.setEnabled( false );
}
this.getLegalEntity();
this.setEditViewDataDone();
}
setEditViewDataDone() {
super.setEditViewDataDone();
this.getTypeOptions();
this.getRemittanceSourceAccount();
this.onTypeChange();
this.getRemittanceSourceAccount();
this.edit_view_ui_dic.legal_entity_id.setEnabled( false );
}
getTypeOptions() {
var $this = this;
var params = {};
if ( this.is_mass_editing ) {
params.company_id = LocalCacheData.getLoginUser().company_id;
} else {
params.legal_entity_id = this.current_edit_record['legal_entity_id'];
}
this.api.getOptions( 'type', params, {
async: false,
onResult: function( res ) {
var result = res.getResult();
if ( !result ) {
result = [];
}
$this.type_array = Global.buildRecordArray( result );
$this.edit_view_ui_dic['type_id'].setSourceData( $this.type_array );
if ( $this.current_edit_record['type_id'] && result[$this.current_edit_record['type_id']] ) {
$this.edit_view_ui_dic['type_id'].setValue( $this.current_edit_record['type_id'] );
} else {
$this.current_edit_record['type_id'] = $this.edit_view_ui_dic['type_id'].getValue();
}
$this.onTypeChange( $this.current_edit_record['type_id'] );
}
} );
}
getLegalEntity() {
var $this = this;
if ( this.edit_view_ui_dic && this.edit_view_ui_dic['user_id'] && this.edit_view_ui_dic['user_id'].getValue() != TTUUID.zero_id ) {
var user_id = this.edit_view_ui_dic['user_id'].getValue();
if ( !Global.isSet( user_id ) || Global.isFalseOrNull( user_id ) ) {
user_id = this.current_edit_record['user_id'];
}
var user_args = {};
user_args.filter_data = {};
user_args.filter_columns = {
id: true,
legal_entity_id: true,
currency_id: true
};
user_args.filter_data.id = user_id;
this.user_api.getUser( user_args, {
async: false, onResult: function( res ) {
if ( res.isValid() ) {
var result = res.getResult()[0];
if ( Global.isSet( result.legal_entity_id ) && result.legal_entity_id !== 0 ) {
$this.current_edit_record['legal_entity_id'] = result.legal_entity_id;
$this.edit_view_ui_dic.legal_entity_id.setValue( result.legal_entity_id );
}
if ( Global.isSet( result.currency_id ) && !Global.isSet( $this.current_edit_record['currency_id'] ) ) {
$this.current_edit_record['currency_id'] = result.currency_id;
$this.edit_view_ui_dic.currency_id.setValue( result.currency_id );
}
}
}
} );
if ( !Global.isSet( this.current_edit_record['legal_entity_id'] ) || Global.isFalseOrNull( this.current_edit_record['legal_entity_id'] ) ) {
this.user_default_api['get' + this.user_default_api.key_name]( {
async: false, onResult: function( res ) {
var result = res.getResult();
$this.current_edit_record['legal_entity_id'] = result[0]['legal_entity_id'];
$this.edit_view_ui_dic.legal_entity_id.setValue( result[0]['legal_entity_id'] );
}
} );
}
} else {
$this.current_edit_record['legal_entity_id'] = TTUUID.zero_id;
$this.edit_view_ui_dic.legal_entity_id.setValue( TTUUID.zero_id );
}
}
getRemittanceSourceAccount() {
var $this = this;
var type_id = this.edit_view_ui_dic['type_id'].getValue();
var legal_entity_id = this.edit_view_ui_dic['legal_entity_id'].getValue();
if ( !Global.isSet( type_id ) || Global.isFalseOrNull( type_id ) ) {
type_id = this.current_edit_record['type_id'];
}
var source_account_args = {};
source_account_args.filter_data = {};
source_account_args.filter_data.type_id = type_id;
if ( this.is_mass_editing ) {
source_account_args.filter_data.company_id = [LocalCacheData.getLoginUser().company_id, TTUUID.not_exist_id];
} else {
source_account_args.filter_data.legal_entity_id = [legal_entity_id, TTUUID.not_exist_id];
}
$this.edit_view_ui_dic['remittance_source_account_id'].setValue( 0 );
$this.edit_view_ui_dic['remittance_source_account_id'].setSourceData( null );
$this.edit_view_ui_dic['remittance_source_account_id'].setDefaultArgs( source_account_args );
this.remittance_source_account_api.getRemittanceSourceAccount( source_account_args, {
async: false, onResult: function( res ) {
var result = res.getResult();
if ( !result ) {
result = [];
}
$this.remittance_source_account_array = result;
$this.edit_view_ui_dic['remittance_source_account_id'].setSourceData( $this.remittance_source_account_array );
var key = false;
for ( var index in result ) {
if ( !result.hasOwnProperty( index ) ) {
continue;
}
if ( result[index].id != TTUUID.zero_id && result[index].id != TTUUID.not_exist_id && !key ) {
key = index;
}
if ( $this.current_edit_record['remittance_source_account_id'] ) {
if ( $this.current_edit_record['remittance_source_account_id'] == result[index].id ) {
$this.edit_view_ui_dic['remittance_source_account_id'].setValue( $this.current_edit_record['remittance_source_account_id'] );
}
}
}
if ( typeof result == 'object' && !$this.current_edit_record.id ) {
if ( $this.is_first_load || $this.current_edit_record.type_id == 0 ) {
$this.is_first_load = false;
if ( $this.edit_view_ui_dic['remittance_source_account_id'].getValue() !== 0 && Global.isFalseOrNull( $this.edit_view_ui_dic['remittance_source_account_id'].getValue() ) ) {
$this.edit_view_ui_dic['remittance_source_account_id'].setValue( result[key].id );
}
} else {
if ( Global.isFalseOrNull( $this.edit_view_ui_dic['remittance_source_account_id'].getValue() ) ) {
$this.edit_view_ui_dic['remittance_source_account_id'].setValue( result[key].id );
}
}
}
$this.onTypeChange();
}
} );
$this.current_edit_record['remittance_source_account_id'] = $this.edit_view_ui_dic['remittance_source_account_id'].getValue();
}
uniformVariable( record ) {
//ensure that the variable variable fields are set to false if they aren't showing.
if ( this.edit_view_ui_dic && this.current_edit_record.remittance_source_account_id != TTUUID.zero_id ) { //Keep accountd data if UUID == zero_id
for ( var i = 1; i <= 10; i++ ) {
if ( i == 1 ) {
if ( this.edit_view_ui_dic['value1_1'] && this.edit_view_ui_dic['value1_1'].is( ':visible' ) ) {
record['value1'] = record['value1_1'] ? record['value1_1'] : this.edit_view_ui_dic['value1_1'].getValue();
} else if ( this.edit_view_ui_dic['value1_2'] && this.edit_view_ui_dic['value1_2'].is( ':visible' ) ) {
record['value1'] = record['value1_2'] ? record['value1_2'] : this.edit_view_ui_dic['value1_2'].getValue();
} else {
if ( !this.is_mass_editing ) {
record['value1'] = false;
}
}
} else {
if ( !this.is_mass_editing && record['value' + i] && ( typeof this.edit_view_ui_dic['value' + i] == 'undefined' || ( this.edit_view_ui_dic['value' + i] && this.edit_view_ui_dic['value' + i].is( ':visible' ) == false ) ) ) {
record['value' + i] = false;
}
}
}
}
if ( !this.is_mass_editing ) {
record.legal_entity_id = this.current_edit_record['legal_entity_id'];
}
return record;
}
getCustomContextMenuModel() {
var context_menu_model = {
exclude: [],
include: [{
label: $.i18n._( 'Import' ),
id: 'import_icon',
menu_align: 'right',
action_group: 'import_export',
group: 'other',
vue_icon: 'tticon tticon-file_download_black_24dp',
permission_result: PermissionManager.checkTopLevelPermission( 'ImportCSVEmployeeBankAccount' ),
permission: null,
sort_order: 9010
}]
};
return context_menu_model;
}
onCustomContextClick( id ) {
switch ( id ) {
case 'import_icon':
this.onImportClick();
break;
}
}
onImportClick() {
var $this = this;
IndexViewController.openWizard( 'ImportCSVWizard', 'RemittanceDestinationAccount', function() {
$this.search();
} );
}
onFormItemChange( target, doNotValidate ) {
this.setIsChanged( target );
this.setMassEditingFieldsWhenFormChange( target );
var key = target.getField();
var c_value = target.getValue();
switch ( key ) {
case 'value1_1':
case 'value1_2':
this.current_edit_record['value1'] = c_value;
break;
case 'remittance_source_account_id':
case 'country':
case 'type_id':
this.onTypeChange( c_value );
break;
case 'user_id':
this.getLegalEntity();
this.getTypeOptions();
this.edit_view_ui_dic['currency_id'].setValue( this.current_edit_record['currency_id'] );
break;
case 'amount_type_id':
this.onAmountTypeChange( c_value );
break;
}
//below the switch to ensure that fields are populated first.
if ( key === 'type_id' || key === 'user_id' ) {
this.getRemittanceSourceAccount();
}
this.current_edit_record[key] = c_value;
if ( !doNotValidate ) {
this.validate();
}
}
onTypeChange( arg ) {
var $this = this;
if ( !Global.isSet( arg ) || Global.isFalseOrNull( arg ) ) {
if ( !Global.isSet( this.current_edit_record['type_id'] ) || Global.isFalseOrNull( this.current_edit_record['type_id'] ) ) {
this.current_edit_record['type_id'] = 2000;
}
arg = this.current_edit_record['type_id'];
}
this.detachElement( 'value1_1' );
this.detachElement( 'value1_2' );
this.detachElement( 'value2' );
this.detachElement( 'value3' ); //ALWAYS STORE ACCOUNT HERE. We encrypt this field.
this.detachElement( 'value4' );
this.detachElement( 'value5' );
this.detachElement( 'value6' );
this.detachElement( 'value7' );
this.detachElement( 'value8' );
this.detachElement( 'value9' );
this.detachElement( 'value10' );
var country = null;
if ( this.edit_view_ui_dic.type_id.getValue() == 3000 && this.edit_view_ui_dic.remittance_source_account_id.getValue() != TTUUID.zero_id ) {
if ( this.edit_view_ui_dic.remittance_source_account_id.getValue() ) {
var rsa = this.remittance_source_account_api.getRemittanceSourceAccount( { filter_data: { id: this.edit_view_ui_dic.remittance_source_account_id.getValue() } }, { async: false } ).getResult();
country = rsa[0].country;
}
if ( this.is_mass_editing == true ) {
this.attachElement( 'value2' ).text( $.i18n._( 'Transit/Routing' ) );
} else if ( !this.is_mass_editing && country != null ) {
if ( country == 'US' ) {
this.attachElement( 'value1_2' ).text( $.i18n._( 'Account Type' ) );
this.attachElement( 'value2' ).text( $.i18n._( 'Routing' ) );
this.attachElement( 'value3' ).text( $.i18n._( 'Account' ) );
if ( Global.isFalseOrNull( this.current_edit_record['value1'] ) ) {
this.current_edit_record['value1'] = this.edit_view_ui_dic['value1_2'].getValue();
this.current_edit_record['value1_2'] = this.edit_view_ui_dic['value1_2'].getValue();
}
} else if ( country == 'CA' ) {
this.attachElement( 'value1_1' ).text( $.i18n._( 'Institution' ) );
this.attachElement( 'value2' ).text( $.i18n._( 'Bank Transit' ) );
this.attachElement( 'value3' ).text( $.i18n._( 'Account' ) );
this.current_edit_record['value1'] = this.edit_view_ui_dic['value1_1'].getValue();
this.current_edit_record['value1_1'] = this.edit_view_ui_dic['value1_1'].getValue();
} else if ( $.inArray( country, ['AG', 'BS', 'BB', 'BZ', 'DO', 'GY', 'HT', 'JM', 'DM', 'GD', 'KN', 'LC', 'VC', 'SR', 'TT'] ) != -1 ) { //Carribbean countries.
this.attachElement( 'value1_1' ).text( $.i18n._( 'Institution' ) );
this.attachElement( 'value2' ).text( $.i18n._( 'Bank Transit' ) );
this.attachElement( 'value3' ).text( $.i18n._( 'Account' ) );
this.current_edit_record['value1'] = this.edit_view_ui_dic['value1_1'].getValue();
this.current_edit_record['value1_1'] = this.edit_view_ui_dic['value1_1'].getValue();
} else {
this.attachElement( 'value1_2' ).text( $.i18n._( 'Account Type' ) );
this.attachElement( 'value2' ).text( $.i18n._( 'Routing' ) );
this.attachElement( 'value3' ).text( $.i18n._( 'Account' ) );
if ( Global.isFalseOrNull( this.current_edit_record['value1'] ) ) {
this.current_edit_record['value1'] = this.edit_view_ui_dic['value1_2'].getValue();
this.current_edit_record['value1_2'] = this.edit_view_ui_dic['value1_2'].getValue();
}
}
}
}
this.editFieldResize();
}
onAmountTypeChange( arg ) {
var $this = this;
if ( !Global.isSet( arg ) || Global.isFalseOrNull( arg ) ) {
if ( !Global.isSet( this.current_edit_record['amount_type_id'] ) || Global.isFalseOrNull( this.current_edit_record['amount_type_id'] ) ) {
this.current_edit_record['amount_type_id'] = 10;
}
arg = this.current_edit_record['amount_type_id'];
}
this.detachElement( 'amount' );
this.detachElement( 'percent_amount' );
if ( arg == 10 ) {
this.attachElement( 'percent_amount' );
} else if ( arg == 20 ) {
this.attachElement( 'amount' );
}
this.editFieldResize();
}
buildEditViewUI() {
super.buildEditViewUI();
var $this = this;
var tab_model = {
'tab_remittance_destination_account': { 'label': $.i18n._( 'Pay Methods' ) },
'tab_attachment': true,
'tab_audit': true,
};
this.setTabModel( tab_model );
this.navigation.AComboBox( {
api_class: TTAPI.APIRemittanceDestinationAccount,
id: this.script_name + '_navigation',
allow_multiple_selection: false,
layout_name: 'global_remittance_destination_account',
navigation_mode: true,
show_search_inputs: true
} );
this.setNavigation();
//Tab 0 start
var tab_remittance_destination_account = this.edit_view_tab.find( '#tab_remittance_destination_account' );
var tab_remittance_destination_account_column1 = tab_remittance_destination_account.find( '.first-column' );
this.edit_view_tabs[0] = [];
this.edit_view_tabs[0].push( tab_remittance_destination_account_column1 );
// Legal entity
form_item_input = Global.loadWidgetByName( FormItemType.AWESOME_BOX );
form_item_input.AComboBox( {
api_class: TTAPI.APILegalEntity,
allow_multiple_selection: false,
layout_name: 'global_legal_entity',
field: 'legal_entity_id',
set_empty: true,
show_search_inputs: true
} );
this.addEditFieldToColumn( $.i18n._( 'Legal Entity' ), form_item_input, tab_remittance_destination_account_column1, '' );
// Employee
form_item_input = Global.loadWidgetByName( FormItemType.AWESOME_BOX );
form_item_input.AComboBox( {
api_class: TTAPI.APIUser,
allow_multiple_selection: false,
layout_name: 'global_user',
field: 'user_id',
set_empty: true, //Must be true for when administrators add payment methods under Employee -> Payment Methods.
show_search_inputs: true
} );
var default_args = {};
default_args.permission_section = 'remittance_destination_account';
form_item_input.setDefaultArgs( default_args );
this.addEditFieldToColumn( $.i18n._( 'Employee' ), form_item_input, tab_remittance_destination_account_column1, '', null, true );
//Status
form_item_input = Global.loadWidgetByName( FormItemType.COMBO_BOX );
form_item_input.TComboBox( { field: 'status_id' } );
form_item_input.setSourceData( $this.status_array );
this.addEditFieldToColumn( $.i18n._( 'Status' ), form_item_input, tab_remittance_destination_account_column1, '' );
// 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_remittance_destination_account_column1 );
form_item_input.parent().width( '45%' );
// Description
form_item_input = Global.loadWidgetByName( FormItemType.TEXT_AREA );
form_item_input.TTextArea( { field: 'description', width: '100%' } );
this.addEditFieldToColumn( $.i18n._( 'Description' ), form_item_input, tab_remittance_destination_account_column1 );
form_item_input.parent().width( '45%' );
//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_remittance_destination_account_column1, '' );
// Remittance Source Account
var form_item_input = Global.loadWidgetByName( FormItemType.AWESOME_BOX );
form_item_input.AComboBox( {
api_class: TTAPI.APIRemittanceSourceAccount,
allow_multiple_selection: false,
layout_name: 'global_remittance_source_account',
field: 'remittance_source_account_id',
set_empty: true,
show_search_inputs: true
} );
this.addEditFieldToColumn( $.i18n._( 'Remittance Source Account' ), form_item_input, tab_remittance_destination_account_column1, '' );
// Currency
form_item_input = Global.loadWidgetByName( FormItemType.AWESOME_BOX );
form_item_input.AComboBox( {
api_class: TTAPI.APICurrency,
allow_multiple_selection: false,
layout_name: 'global_currency',
field: 'currency_id',
set_empty: true,
show_search_inputs: true
} );
this.addEditFieldToColumn( $.i18n._( 'Currency' ), form_item_input, tab_remittance_destination_account_column1, '', null, true );
// Priority
form_item_input = Global.loadWidgetByName( FormItemType.COMBO_BOX );
form_item_input.TComboBox( { field: 'priority' } );
form_item_input.setSourceData( $this.priority_array );
this.addEditFieldToColumn( $.i18n._( 'Priority' ), form_item_input, tab_remittance_destination_account_column1, '' );
// Amount TYPE
form_item_input = Global.loadWidgetByName( FormItemType.COMBO_BOX );
form_item_input.TComboBox( { field: 'amount_type_id' } );
form_item_input.setSourceData( $this.amount_type_array );
this.addEditFieldToColumn( $.i18n._( 'Amount Type' ), form_item_input, tab_remittance_destination_account_column1, '' );
//Amount
form_item_input = Global.loadWidgetByName( FormItemType.TEXT_INPUT );
form_item_input.TTextInput( { field: 'amount', width: 50 } );
this.addEditFieldToColumn( $.i18n._( 'Amount' ), form_item_input, tab_remittance_destination_account_column1, '', null, true );
//Percent
form_item_input = Global.loadWidgetByName( FormItemType.TEXT_INPUT );
form_item_input.TTextInput( { field: 'percent_amount', width: 79 } );
this.addEditFieldToColumn( $.i18n._( 'Percent' ), form_item_input, tab_remittance_destination_account_column1, '', null, true );
if ( this.is_mass_editing ) {
// Value2
form_item_input = Global.loadWidgetByName( FormItemType.TEXT_INPUT );
form_item_input.TTextInput( { field: 'value2', width: 149 } );
this.addEditFieldToColumn( $.i18n._( 'Value2' ), form_item_input, tab_remittance_destination_account_column1, '', null, true );
} else { //Never show these fields for mass edit as they should never be mass editable.
// Value1
form_item_input = Global.loadWidgetByName( FormItemType.TEXT_INPUT );
form_item_input.TTextInput( { field: 'value1_1', validation_field: 'value1', width: 149 } );
this.addEditFieldToColumn( $.i18n._( 'Value1' ), form_item_input, tab_remittance_destination_account_column1, '', null, true );
form_item_input = Global.loadWidgetByName( FormItemType.COMBO_BOX );
form_item_input.TComboBox( { field: 'value1_2', validation_field: 'value1' } );
form_item_input.setSourceData( $this.ach_transaction_type_array );
this.addEditFieldToColumn( $.i18n._( 'Account Type' ), form_item_input, tab_remittance_destination_account_column1, '', null, true );
// Value2
form_item_input = Global.loadWidgetByName( FormItemType.TEXT_INPUT );
form_item_input.TTextInput( { field: 'value2', width: 149 } );
this.addEditFieldToColumn( $.i18n._( 'Value2' ), form_item_input, tab_remittance_destination_account_column1, '', null, true );
// Value3
form_item_input = Global.loadWidgetByName( FormItemType.TEXT_INPUT );
form_item_input.TTextInput( { field: 'value3', width: 149 } );
this.addEditFieldToColumn( $.i18n._( 'Value3' ), form_item_input, tab_remittance_destination_account_column1, '', null, true );
// Value4
form_item_input = Global.loadWidgetByName( FormItemType.TEXT_INPUT );
form_item_input.TTextInput( { field: 'value4', width: 149 } );
this.addEditFieldToColumn( $.i18n._( 'Value4' ), form_item_input, tab_remittance_destination_account_column1, '', null, true );
// Value5
form_item_input = Global.loadWidgetByName( FormItemType.TEXT_INPUT );
form_item_input.TTextInput( { field: 'value5', width: 149 } );
this.addEditFieldToColumn( $.i18n._( 'Value5' ), form_item_input, tab_remittance_destination_account_column1, '', null, true );
// the below are all non-display
// Value6
form_item_input = Global.loadWidgetByName( FormItemType.TEXT_INPUT );
form_item_input.TTextInput( { field: 'value6', width: 149 } );
this.addEditFieldToColumn( $.i18n._( 'Value6' ), form_item_input, tab_remittance_destination_account_column1, '', null, true );
// Value7
form_item_input = Global.loadWidgetByName( FormItemType.TEXT_INPUT );
form_item_input.TTextInput( { field: 'value7', width: 149 } );
this.addEditFieldToColumn( $.i18n._( 'Value7' ), form_item_input, tab_remittance_destination_account_column1, '', null, true );
// Value8
form_item_input = Global.loadWidgetByName( FormItemType.TEXT_INPUT );
form_item_input.TTextInput( { field: 'value8', width: 149 } );
this.addEditFieldToColumn( $.i18n._( 'Value8' ), form_item_input, tab_remittance_destination_account_column1, '', null, true );
// Value9
form_item_input = Global.loadWidgetByName( FormItemType.TEXT_INPUT );
form_item_input.TTextInput( { field: 'value9', width: 149 } );
this.addEditFieldToColumn( $.i18n._( 'Value9' ), form_item_input, tab_remittance_destination_account_column1, '', null, true );
// Value10
form_item_input = Global.loadWidgetByName( FormItemType.TEXT_INPUT );
form_item_input.TTextInput( { field: 'value10', width: 149 } );
this.addEditFieldToColumn( $.i18n._( 'Value10' ), form_item_input, tab_remittance_destination_account_column1, '', null, true );
}
}
buildSearchFields() {
super.buildSearchFields();
this.search_fields = [
new SearchField( {
label: $.i18n._( 'Legal Entity' ),
in_column: 1,
field: 'legal_entity_id',
api_class: TTAPI.APILegalEntity,
multiple: true,
basic_search: true,
adv_search: true,
layout_name: 'global_legal_entity',
form_item_type: FormItemType.AWESOME_BOX
} ),
new SearchField( {
label: $.i18n._( 'Employee' ),
in_column: 1,
field: 'user_id',
api_class: TTAPI.APIUser,
multiple: true,
basic_search: true,
adv_search: true,
layout_name: 'global_user',
form_item_type: FormItemType.AWESOME_BOX
} ),
new SearchField( {
label: $.i18n._( 'Source Account' ),
in_column: 1,
field: 'remittance_source_account_id',
api_class: TTAPI.APIRemittanceSourceAccount,
multiple: true,
basic_search: true,
adv_search: true,
layout_name: 'global_remittance_source_account',
form_item_type: FormItemType.AWESOME_BOX
} ),
new SearchField( {
label: $.i18n._( 'Status' ),
in_column: 2,
field: 'status_id',
multiple: true,
basic_search: true,
adv_search: true,
layout_name: 'global_option_column',
form_item_type: FormItemType.AWESOME_BOX
} ),
new SearchField( {
label: $.i18n._( 'Type' ),
in_column: 2,
field: 'type_id',
multiple: true,
basic_search: true,
adv_search: true,
layout_name: 'global_option_column',
form_item_type: FormItemType.AWESOME_BOX
} ),
new SearchField( {
label: $.i18n._( 'Currency' ),
in_column: 2,
field: 'currency_id',
api_class: TTAPI.APICurrency,
multiple: true,
basic_search: true,
adv_search: true,
layout_name: 'global_currency',
form_item_type: FormItemType.AWESOME_BOX
} ),
new SearchField( {
label: $.i18n._( 'Transit/Routing' ),
in_column: 3,
field: 'value2',
basic_search: false,
adv_search: true,
form_item_type: FormItemType.TEXT_INPUT
} ),
new SearchField( {
label: $.i18n._( 'Created By' ),
in_column: 3,
field: 'created_by',
layout_name: 'global_user',
api_class: TTAPI.APIUser,
multiple: true,
basic_search: false,
adv_search: true,
script_name: 'EmployeeView',
form_item_type: FormItemType.AWESOME_BOX
} ),
new SearchField( {
label: $.i18n._( 'Updated By' ),
in_column: 3,
field: 'updated_by',
layout_name: 'global_user',
api_class: TTAPI.APIUser,
multiple: true,
basic_search: false,
adv_search: true,
script_name: 'EmployeeView',
form_item_type: FormItemType.AWESOME_BOX
} )
];
}
searchDone() {
super.searchDone();
TTPromise.resolve( 'PaymentMethodsView', 'init' );
}
}
RemittanceDestinationAccountViewController.loadSubView = function( container, beforeViewLoadedFun, afterViewLoadedFun ) {
Global.loadViewSource( 'RemittanceDestinationAccount', 'SubRemittanceDestinationAccountView.html', function( result ) {
var args = {};
var template = _.template( result, args );
if ( Global.isSet( beforeViewLoadedFun ) ) {
beforeViewLoadedFun();
}
if ( Global.isSet( container ) ) {
container.html( template );
if ( Global.isSet( afterViewLoadedFun ) ) {
afterViewLoadedFun( sub_remittance_destination_account_view_controller );
}
}
} );
};