Merge branch 'dev' of https://gitea.verdnatura.es/verdnatura/salix into 3430-ticket_step-two

This commit is contained in:
Alex Moreno 2022-01-27 15:15:08 +01:00
commit 38100eeda4
4 changed files with 46 additions and 16 deletions

View File

@ -10,64 +10,68 @@ module.exports = Self => {
accepts: [ accepts: [
{ {
arg: 'filter', arg: 'filter',
type: 'Object', type: 'object',
description: 'Filter defining where, order, offset, and limit - must be a JSON-encoded string', description: 'Filter defining where, order, offset, and limit - must be a JSON-encoded string',
http: {source: 'query'} http: {source: 'query'}
}, { }, {
arg: 'search', arg: 'search',
type: 'String', type: 'string',
description: 'Searchs the travel by id', description: 'Searchs the travel by id',
http: {source: 'query'} http: {source: 'query'}
}, { }, {
arg: 'id', arg: 'id',
type: 'Integer', type: 'integer',
description: 'The travel id', description: 'The travel id',
http: {source: 'query'} http: {source: 'query'}
}, { }, {
arg: 'shippedFrom', arg: 'shippedFrom',
type: 'Date', type: 'date',
description: 'The shipped from date filter', description: 'The shipped from date filter',
http: {source: 'query'} http: {source: 'query'}
}, { }, {
arg: 'shippedTo', arg: 'shippedTo',
type: 'Date', type: 'date',
description: 'The shipped to date filter', description: 'The shipped to date filter',
http: {source: 'query'} http: {source: 'query'}
}, { }, {
arg: 'landedFrom', arg: 'landedFrom',
type: 'Date', type: 'date',
description: 'The landed from date filter', description: 'The landed from date filter',
http: {source: 'query'} http: {source: 'query'}
}, { }, {
arg: 'landedTo', arg: 'landedTo',
type: 'Date', type: 'date',
description: 'The landed to date filter', description: 'The landed to date filter',
http: {source: 'query'} http: {source: 'query'}
}, { }, {
arg: 'agencyFk', arg: 'agencyFk',
type: 'Number', type: 'number',
description: 'The agencyModeFk id', description: 'The agencyModeFk id',
http: {source: 'query'} http: {source: 'query'}
}, { }, {
arg: 'warehouseOutFk', arg: 'warehouseOutFk',
type: 'Number', type: 'number',
description: 'The warehouseOutFk filter', description: 'The warehouseOutFk filter',
http: {source: 'query'} http: {source: 'query'}
}, { }, {
arg: 'warehouseInFk', arg: 'warehouseInFk',
type: 'Number', type: 'number',
description: 'The warehouseInFk filter', description: 'The warehouseInFk filter',
http: {source: 'query'} http: {source: 'query'}
}, { }, {
arg: 'totalEntries', arg: 'totalEntries',
type: 'Number', type: 'number',
description: 'The totalEntries filter', description: 'The totalEntries filter',
http: {source: 'query'} http: {source: 'query'}
}, { }, {
arg: 'ref', arg: 'ref',
type: 'string', type: 'string',
description: 'The reference' description: 'The reference'
} }, {
arg: 'continent',
type: 'string',
description: 'The continent code'
},
], ],
returns: { returns: {
type: ['Object'], type: ['Object'],
@ -102,6 +106,7 @@ module.exports = Self => {
case 'warehouseOutFk': case 'warehouseOutFk':
case 'warehouseInFk': case 'warehouseInFk':
case 'totalEntries': case 'totalEntries':
case 'continent':
param = `t.${param}`; param = `t.${param}`;
return {[param]: value}; return {[param]: value};
} }
@ -129,11 +134,15 @@ module.exports = Self => {
t.totalEntries, t.totalEntries,
am.name agencyModeName, am.name agencyModeName,
win.name warehouseInName, win.name warehouseInName,
wout.name warehouseOutName wout.name warehouseOutName,
cnt.code continent
FROM vn.travel t FROM vn.travel t
JOIN vn.agencyMode am ON am.id = t.agencyFk JOIN vn.agencyMode am ON am.id = t.agencyFk
JOIN vn.warehouse win ON win.id = t.warehouseInFk JOIN vn.warehouse win ON win.id = t.warehouseInFk
JOIN vn.warehouse wout ON wout.id = t.warehouseOutFk) AS t` JOIN vn.warehouse wout ON wout.id = t.warehouseOutFk
JOIN warehouse wo ON wo.id = t.warehouseOutFk
JOIN country c ON c.id = wo.countryFk
LEFT JOIN continent cnt ON cnt.id = c.continentFk) AS t`
); );
stmt.merge(conn.makeSuffix(filter)); stmt.merge(conn.makeSuffix(filter));

View File

@ -70,4 +70,16 @@ describe('Travel filter()', () => {
expect(result.length).toEqual(1); expect(result.length).toEqual(1);
}); });
it('should return the travel matching "continent"', async() => {
const ctx = {
args: {
continent: 'EU',
}
};
const result = await app.models.Travel.filter(ctx);
expect(result.length).toEqual(5);
});
}); });

View File

@ -93,6 +93,15 @@
value-field="id"> value-field="id">
</vn-autocomplete> </vn-autocomplete>
</vn-horizontal> </vn-horizontal>
<vn-horizontal class="vn-px-lg">
<vn-autocomplete vn-one
label="Continent Out"
ng-model="filter.continent"
url="Continents"
show-field="name"
value-field="code">
</vn-autocomplete>
</vn-horizontal>
<vn-horizontal class="vn-px-lg vn-pb-lg vn-mt-lg"> <vn-horizontal class="vn-px-lg vn-pb-lg vn-mt-lg">
<vn-submit label="Search"></vn-submit> <vn-submit label="Search"></vn-submit>
</vn-horizontal> </vn-horizontal>

View File

@ -22,7 +22,7 @@
</vn-label-value> </vn-label-value>
<vn-check <vn-check
label="Delivered" label="Delivered"
value="{{$ctrl.travelData.isDelivered}}" ng-model="$ctrl.travelData.isDelivered"
disabled="true"> disabled="true">
</vn-check> </vn-check>
</vn-one> </vn-one>
@ -37,7 +37,7 @@
</vn-label-value> </vn-label-value>
<vn-check <vn-check
label="Received" label="Received"
value="{{$ctrl.travelData.isReceived}}" ng-model="$ctrl.travelData.isReceived"
disabled="true"> disabled="true">
</vn-check> </vn-check>
</vn-one> </vn-one>