Merge branch 'dev' of https://gitea.verdnatura.es/verdnatura/salix into 3430-ticket_step-two
This commit is contained in:
commit
38100eeda4
|
@ -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));
|
||||||
|
|
|
@ -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);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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>
|
||||||
|
|
Loading…
Reference in New Issue