102 lines
2.9 KiB
JavaScript
102 lines
2.9 KiB
JavaScript
/*
|
|
Copyright (c) 2018 [Glacies UG, Berlin, Germany] (http://glacies.de)
|
|
Developer: Thilina Hasantha (http://lk.linkedin.com/in/thilinah | https://github.com/thilinah)
|
|
*/
|
|
import AdapterBase from '../../../api/AdapterBase';
|
|
|
|
/**
|
|
* CompanyLoanAdapter
|
|
*/
|
|
|
|
class CompanyLoanAdapter extends AdapterBase {
|
|
getDataMapping() {
|
|
return [
|
|
'id',
|
|
'name',
|
|
'details',
|
|
];
|
|
}
|
|
|
|
getHeaders() {
|
|
return [
|
|
{ sTitle: 'ID', bVisible: false },
|
|
{ sTitle: 'Name' },
|
|
{ sTitle: 'Details' },
|
|
];
|
|
}
|
|
|
|
getFormFields() {
|
|
return [
|
|
['id', { label: 'ID', type: 'hidden' }],
|
|
['name', { label: 'Name', type: 'text', validation: '' }],
|
|
['details', { label: 'Details', type: 'textarea', validation: 'none' }],
|
|
];
|
|
}
|
|
}
|
|
|
|
|
|
/*
|
|
* EmployeeCompanyLoanAdapter
|
|
*/
|
|
|
|
class EmployeeCompanyLoanAdapter extends AdapterBase {
|
|
getDataMapping() {
|
|
return [
|
|
'id',
|
|
'employee',
|
|
'loan',
|
|
'start_date',
|
|
'period_months',
|
|
'currency',
|
|
'amount',
|
|
'status',
|
|
];
|
|
}
|
|
|
|
getHeaders() {
|
|
return [
|
|
{ sTitle: 'ID', bVisible: false },
|
|
{ sTitle: 'Employee' },
|
|
{ sTitle: 'Loan Type' },
|
|
{ sTitle: 'Loan Start Date' },
|
|
{ sTitle: 'Loan Period (Months)' },
|
|
{ sTitle: 'Currency' },
|
|
{ sTitle: 'Amount' },
|
|
{ sTitle: 'Status' },
|
|
];
|
|
}
|
|
|
|
getFormFields() {
|
|
return [
|
|
['id', { label: 'ID', type: 'hidden' }],
|
|
['employee', { label: 'Employee', type: 'select2', 'remote-source': ['Employee', 'id', 'first_name+last_name'] }],
|
|
['loan', { label: 'Loan Type', type: 'select', 'remote-source': ['CompanyLoan', 'id', 'name'] }],
|
|
['start_date', { label: 'Loan Start Date', type: 'date', validation: '' }],
|
|
['last_installment_date', { label: 'Last Installment Date', type: 'date', validation: 'none' }],
|
|
['period_months', { label: 'Loan Period (Months)', type: 'text', validation: 'number' }],
|
|
['currency', { label: 'Currency', type: 'select2', 'remote-source': ['CurrencyType', 'id', 'name'] }],
|
|
['amount', { label: 'Loan Amount', type: 'text', validation: 'float' }],
|
|
['monthly_installment', { label: 'Monthly Installment', type: 'text', validation: 'float' }],
|
|
['status', { label: 'Status', type: 'select', source: [['Approved', 'Approved'], ['Paid', 'Paid'], ['Suspended', 'Suspended']] }],
|
|
['details', { label: 'Details', type: 'textarea', validation: 'none' }],
|
|
];
|
|
}
|
|
|
|
getFilters() {
|
|
return [
|
|
['employee', {
|
|
label: 'Employee', type: 'select2', 'allow-null': true, 'null-label': 'All Employees', 'remote-source': ['Employee', 'id', 'first_name+last_name'],
|
|
}],
|
|
['loan', {
|
|
label: 'Loan Type', type: 'select', 'allow-null': true, 'null-label': 'All Loan Types', 'remote-source': ['CompanyLoan', 'id', 'name'],
|
|
}],
|
|
|
|
];
|
|
}
|
|
}
|
|
|
|
module.exports = {
|
|
CompanyLoanAdapter,
|
|
EmployeeCompanyLoanAdapter,
|
|
};
|