#7663 setWeight #2817
|
@ -9,7 +9,7 @@
|
|||
},
|
||||
"vn": {
|
||||
"view": {
|
||||
"expeditionPallet_Print": "ced2b84a114fcb99fce05f0c34f4fc03f3fa387bef92621be1bc306608a84345"
|
||||
"expeditionPallet_Print": "99f75145ac2e7b612a6d71e74b6e55f194a465780fd9875a15eb01e6596b447e"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -21,6 +21,7 @@ BEGIN
|
|||
t.clientFk,
|
||||
t.warehouseFk,
|
||||
ts.alertLevel,
|
||||
sub2.alertLevel futureAlertLevel,
|
||||
t.shipped,
|
||||
t.totalWithVat,
|
||||
sub2.shipped futureShipped,
|
||||
|
@ -47,6 +48,7 @@ BEGIN
|
|||
t.addressFk,
|
||||
t.id,
|
||||
t.shipped,
|
||||
ts.alertLevel,
|
||||
st.name state,
|
||||
st.code,
|
||||
st.classColor,
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
-- Calculamos todos los volumenes de todos los tickets una sola vez
|
||||
/* Se ejecutará el dia de test - master manualmente para no hacer lenta la subida
|
||||
CREATE OR REPLACE TEMPORARY TABLE tmp.tTicketVolume
|
||||
(PRIMARY KEY (id))
|
||||
ENGINE = MEMORY
|
||||
|
@ -14,3 +15,4 @@ UPDATE vn.ticket t
|
|||
SET t.volume = tv.volume;
|
||||
|
||||
DROP TEMPORARY TABLE tmp.tTicketVolume;
|
||||
*/
|
||||
|
|
|
@ -0,0 +1,12 @@
|
|||
-- Place your SQL code here
|
||||
DELETE FROM salix.ACL WHERE model = 'Province' LIMIT 1;
|
||||
DELETE FROM salix.ACL WHERE model = 'Town' LIMIT 1;
|
||||
|
||||
UPDATE salix.ACL SET accessType = 'READ' WHERE model = 'BankEntity';
|
||||
INSERT INTO salix.ACL
|
||||
SET model = 'BankEntity',
|
||||
property = '*',
|
||||
accessType = 'WRITE',
|
||||
permission = 'ALLOW',
|
||||
principalType = 'ROLE',
|
||||
principalId = 'financial';
|
|
@ -687,8 +687,8 @@ export default {
|
|||
ticketFuture: {
|
||||
searchResult: 'vn-ticket-future tbody tr',
|
||||
openAdvancedSearchButton: 'vn-searchbar .append vn-icon[icon="arrow_drop_down"]',
|
||||
originDated: 'vn-date-picker[label="Origin date"]',
|
||||
futureDated: 'vn-date-picker[label="Destination date"]',
|
||||
originScopeDays: 'vn-date-picker[label="Origin date"]',
|
||||
futureScopeDays: 'vn-date-picker[label="Destination date"]',
|
||||
linesMax: 'vn-textfield[label="Max Lines"]',
|
||||
litersMax: 'vn-textfield[label="Max Liters"]',
|
||||
ipt: 'vn-autocomplete[label="Origin IPT"]',
|
||||
|
|
|
@ -35,6 +35,14 @@ describe('Client Edit billing data path', () => {
|
|||
|
||||
it(`should attempt to edit the billing data without an IBAN but fail`, async() => {
|
||||
await page.autocompleteSearch($.payMethod, 'PayMethod with IBAN');
|
||||
await page.waitToClick($.saveButton);
|
||||
const message = await page.waitForSnackbar();
|
||||
|
||||
expect(message.text).toContain('That payment method requires an IBAN');
|
||||
});
|
||||
|
||||
it(`should edit the billing data and save the form`, async() => {
|
||||
await page.autocompleteSearch($.payMethod, 'PayMethod five');
|
||||
await page.autocompleteSearch($.swiftBic, 'BBKKESMMMMM');
|
||||
await page.clearInput($.dueDay);
|
||||
await page.write($.dueDay, '60');
|
||||
|
@ -45,10 +53,13 @@ describe('Client Edit billing data path', () => {
|
|||
await page.waitToClick($.saveButton);
|
||||
const message = await page.waitForSnackbar();
|
||||
|
||||
expect(message.text).toContain('That payment method requires an IBAN');
|
||||
expect(message.text).toContain('Notification sent!');
|
||||
});
|
||||
|
||||
it(`should create a new BIC code`, async() => {
|
||||
await page.loginAndModule('financial', 'client');
|
||||
await page.accessToSearchResult('Bruce Banner');
|
||||
await page.accessToSection('client.card.billingData');
|
||||
await page.waitToClick($.newBankEntityButton);
|
||||
await page.write($.newBankEntityName, 'Gotham City Bank');
|
||||
await page.write($.newBankEntityBIC, 'GTHMCT');
|
||||
|
@ -66,7 +77,7 @@ describe('Client Edit billing data path', () => {
|
|||
it(`should confirm the IBAN pay method was sucessfully saved`, async() => {
|
||||
const payMethod = await page.waitToGetProperty($.payMethod, 'value');
|
||||
|
||||
expect(payMethod).toEqual('PayMethod with IBAN');
|
||||
expect(payMethod).toEqual('PayMethod five');
|
||||
});
|
||||
|
||||
it(`should clear the BIC code field, update the IBAN to see how he BIC code autocompletes`, async() => {
|
||||
|
@ -79,14 +90,6 @@ describe('Client Edit billing data path', () => {
|
|||
expect(automaticCode).toEqual('CAIXESBB');
|
||||
});
|
||||
|
||||
it(`should save the form with all its new data`, async() => {
|
||||
await page.waitForWatcherData($.watcher);
|
||||
await page.waitToClick($.saveButton);
|
||||
const message = await page.waitForSnackbar();
|
||||
|
||||
expect(message.text).toContain('Notification sent!');
|
||||
});
|
||||
|
||||
it('should confirm the billing data have been edited', async() => {
|
||||
const dueDate = await page.waitToGetProperty($.dueDay, 'value');
|
||||
const IBAN = await page.waitToGetProperty($.IBAN, 'value');
|
||||
|
@ -94,7 +97,9 @@ describe('Client Edit billing data path', () => {
|
|||
const receivedCoreLCR = await page.checkboxState($.receivedCoreLCRCheckbox);
|
||||
const receivedCoreVNL = await page.checkboxState($.receivedCoreVNLCheckbox);
|
||||
const receivedB2BVNL = await page.checkboxState($.receivedB2BVNLCheckbox);
|
||||
const payMethod = await page.waitToGetProperty($.payMethod, 'value');
|
||||
|
||||
expect(payMethod).toEqual('PayMethod five');
|
||||
expect(dueDate).toEqual('60');
|
||||
expect(IBAN).toEqual('ES9121000418450200051332');
|
||||
expect(swiftBic).toEqual('CAIXESBB');
|
||||
|
|
|
@ -30,18 +30,18 @@ describe('Ticket Future path', () => {
|
|||
expect(message.text).toContain('warehouseFk is a required argument');
|
||||
|
||||
await page.waitToClick(selectors.ticketFuture.openAdvancedSearchButton);
|
||||
await page.clearInput(selectors.ticketFuture.futureDated);
|
||||
await page.clearInput(selectors.ticketFuture.futureScopeDays);
|
||||
await page.waitToClick(selectors.ticketFuture.submit);
|
||||
message = await page.waitForSnackbar();
|
||||
|
||||
expect(message.text).toContain('futureDated is a required argument');
|
||||
expect(message.text).toContain('futureScopeDays is a required argument');
|
||||
|
||||
await page.waitToClick(selectors.ticketFuture.openAdvancedSearchButton);
|
||||
await page.clearInput(selectors.ticketFuture.originDated);
|
||||
await page.clearInput(selectors.ticketFuture.originScopeDays);
|
||||
await page.waitToClick(selectors.ticketFuture.submit);
|
||||
message = await page.waitForSnackbar();
|
||||
|
||||
expect(message.text).toContain('originDated is a required argument');
|
||||
expect(message.text).toContain('originScopeDays is a required argument');
|
||||
|
||||
await page.waitToClick(selectors.ticketFuture.openAdvancedSearchButton);
|
||||
await page.waitToClick(selectors.ticketFuture.submit);
|
||||
|
@ -71,7 +71,7 @@ describe('Ticket Future path', () => {
|
|||
await page.autocompleteSearch(selectors.ticketFuture.state, 'Free');
|
||||
await page.waitToClick(selectors.ticketFuture.submit);
|
||||
|
||||
expect(httpRequest).toContain('state=FREE');
|
||||
expect(httpRequest).toContain('state=0');
|
||||
|
||||
await page.waitToClick(selectors.ticketFuture.openAdvancedSearchButton);
|
||||
|
||||
|
@ -80,7 +80,7 @@ describe('Ticket Future path', () => {
|
|||
await page.autocompleteSearch(selectors.ticketFuture.futureState, 'Free');
|
||||
await page.waitToClick(selectors.ticketFuture.submit);
|
||||
|
||||
expect(httpRequest).toContain('futureState=FREE');
|
||||
expect(httpRequest).toContain('futureState=0');
|
||||
|
||||
await page.waitToClick(selectors.ticketFuture.openAdvancedSearchButton);
|
||||
await page.clearInput(selectors.ticketFuture.state);
|
||||
|
|
|
@ -9,13 +9,13 @@ module.exports = Self => {
|
|||
accessType: 'READ',
|
||||
accepts: [
|
||||
{
|
||||
arg: 'originDated',
|
||||
arg: 'originScopeDays',
|
||||
type: 'date',
|
||||
description: 'The date in question',
|
||||
required: true
|
||||
},
|
||||
{
|
||||
arg: 'futureDated',
|
||||
arg: 'futureScopeDays',
|
||||
type: 'date',
|
||||
description: 'The date to probe',
|
||||
required: true
|
||||
|
@ -129,9 +129,9 @@ module.exports = Self => {
|
|||
]
|
||||
};
|
||||
case 'state':
|
||||
return {'f.stateCode': {like: `%${value}%`}};
|
||||
return {'f.alertLevel': value};
|
||||
case 'futureState':
|
||||
return {'f.futureStateCode': {like: `%${value}%`}};
|
||||
return {'f.futureAlertLevel': value};
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -141,7 +141,7 @@ module.exports = Self => {
|
|||
|
||||
stmt = new ParameterizedSQL(
|
||||
`CALL vn.ticket_canbePostponed(?,?,?)`,
|
||||
[args.originDated, args.futureDated, args.warehouseFk]);
|
||||
[args.originScopeDays, args.futureScopeDays, args.warehouseFk]);
|
||||
|
||||
stmts.push(stmt);
|
||||
|
||||
|
@ -170,7 +170,7 @@ module.exports = Self => {
|
|||
LEFT JOIN tmp.ticket_problems tp ON tp.ticketFk = f.id
|
||||
`);
|
||||
|
||||
if (args.problems != undefined && (!args.originDated && !args.futureDated))
|
||||
if (args.problems != undefined && (!args.originScopeDays && !args.futureScopeDays))
|
||||
throw new UserError('Choose a date range or days forward');
|
||||
|
||||
let condition;
|
||||
|
|
|
@ -12,8 +12,8 @@ describe('ticket getTicketsFuture()', () => {
|
|||
const options = {transaction: tx};
|
||||
|
||||
const args = {
|
||||
originDated: today,
|
||||
futureDated: today,
|
||||
originScopeDays: today,
|
||||
futureScopeDays: today,
|
||||
warehouseFk: 1,
|
||||
};
|
||||
|
||||
|
@ -35,8 +35,8 @@ describe('ticket getTicketsFuture()', () => {
|
|||
const options = {transaction: tx};
|
||||
|
||||
const args = {
|
||||
originDated: today,
|
||||
futureDated: today,
|
||||
originScopeDays: today,
|
||||
futureScopeDays: today,
|
||||
warehouseFk: 1,
|
||||
problems: true
|
||||
};
|
||||
|
@ -60,8 +60,8 @@ describe('ticket getTicketsFuture()', () => {
|
|||
const options = {transaction: tx};
|
||||
|
||||
const args = {
|
||||
originDated: today,
|
||||
futureDated: today,
|
||||
originScopeDays: today,
|
||||
futureScopeDays: today,
|
||||
warehouseFk: 1,
|
||||
problems: false
|
||||
};
|
||||
|
@ -85,8 +85,8 @@ describe('ticket getTicketsFuture()', () => {
|
|||
const options = {transaction: tx};
|
||||
|
||||
const args = {
|
||||
originDated: today,
|
||||
futureDated: today,
|
||||
originScopeDays: today,
|
||||
futureScopeDays: today,
|
||||
warehouseFk: 1,
|
||||
problems: null
|
||||
};
|
||||
|
@ -110,8 +110,8 @@ describe('ticket getTicketsFuture()', () => {
|
|||
const options = {transaction: tx};
|
||||
|
||||
const args = {
|
||||
originDated: today,
|
||||
futureDated: today,
|
||||
originScopeDays: today,
|
||||
futureScopeDays: today,
|
||||
warehouseFk: 1,
|
||||
state: 'OK'
|
||||
};
|
||||
|
@ -135,8 +135,8 @@ describe('ticket getTicketsFuture()', () => {
|
|||
const options = {transaction: tx};
|
||||
|
||||
const args = {
|
||||
originDated: today,
|
||||
futureDated: today,
|
||||
originScopeDays: today,
|
||||
futureScopeDays: today,
|
||||
warehouseFk: 1,
|
||||
futureState: 'OK'
|
||||
};
|
||||
|
@ -160,8 +160,8 @@ describe('ticket getTicketsFuture()', () => {
|
|||
const options = {transaction: tx};
|
||||
|
||||
const args = {
|
||||
originDated: today,
|
||||
futureDated: today,
|
||||
originScopeDays: today,
|
||||
futureScopeDays: today,
|
||||
warehouseFk: 1,
|
||||
ipt: null
|
||||
};
|
||||
|
@ -185,8 +185,8 @@ describe('ticket getTicketsFuture()', () => {
|
|||
const options = {transaction: tx};
|
||||
|
||||
const args = {
|
||||
originDated: today,
|
||||
futureDated: today,
|
||||
originScopeDays: today,
|
||||
futureScopeDays: today,
|
||||
warehouseFk: 1,
|
||||
ipt: 'H'
|
||||
};
|
||||
|
@ -210,8 +210,8 @@ describe('ticket getTicketsFuture()', () => {
|
|||
const options = {transaction: tx};
|
||||
|
||||
const args = {
|
||||
originDated: today,
|
||||
futureDated: today,
|
||||
originScopeDays: today,
|
||||
futureScopeDays: today,
|
||||
warehouseFk: 1,
|
||||
futureIpt: null
|
||||
};
|
||||
|
@ -235,8 +235,8 @@ describe('ticket getTicketsFuture()', () => {
|
|||
const options = {transaction: tx};
|
||||
|
||||
const args = {
|
||||
originDated: today,
|
||||
futureDated: today,
|
||||
originScopeDays: today,
|
||||
futureScopeDays: today,
|
||||
warehouseFk: 1,
|
||||
futureIpt: 'H'
|
||||
};
|
||||
|
@ -260,8 +260,8 @@ describe('ticket getTicketsFuture()', () => {
|
|||
const options = {transaction: tx};
|
||||
|
||||
const args = {
|
||||
originDated: today,
|
||||
futureDated: today,
|
||||
originScopeDays: today,
|
||||
futureScopeDays: today,
|
||||
warehouseFk: 1,
|
||||
id: 13
|
||||
};
|
||||
|
@ -285,8 +285,8 @@ describe('ticket getTicketsFuture()', () => {
|
|||
const options = {transaction: tx};
|
||||
|
||||
const args = {
|
||||
originDated: today,
|
||||
futureDated: today,
|
||||
originScopeDays: today,
|
||||
futureScopeDays: today,
|
||||
warehouseFk: 1,
|
||||
futureId: 12
|
||||
};
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<div class="search-panel">
|
||||
<vn-crud-model
|
||||
auto-load="true"
|
||||
url="Warehouses"
|
||||
auto-load="true"
|
||||
url="Warehouses"
|
||||
data="warehouses">
|
||||
</vn-crud-model>
|
||||
<form id="manifold-form" ng-submit="$ctrl.onSearch()">
|
||||
|
@ -9,13 +9,13 @@
|
|||
<vn-date-picker
|
||||
vn-one
|
||||
label="Origin date"
|
||||
ng-model="filter.originDated"
|
||||
ng-model="filter.originScopeDays"
|
||||
required="true">
|
||||
</vn-date-picker>
|
||||
<vn-date-picker
|
||||
vn-one
|
||||
label="Destination date"
|
||||
ng-model="filter.futureDated"
|
||||
ng-model="filter.futureScopeDays"
|
||||
required="true">
|
||||
</vn-date-picker>
|
||||
</vn-horizontal>
|
||||
|
@ -59,7 +59,7 @@
|
|||
<vn-autocomplete vn-one
|
||||
data="$ctrl.groupedStates"
|
||||
label="Origin Grouped State"
|
||||
value-field="code"
|
||||
value-field="id"
|
||||
show-field="name"
|
||||
ng-model="filter.state">
|
||||
<tpl-item>
|
||||
|
@ -69,7 +69,7 @@
|
|||
<vn-autocomplete vn-one
|
||||
data="$ctrl.groupedStates"
|
||||
label="Destination Grouped State"
|
||||
value-field="code"
|
||||
value-field="id"
|
||||
show-field="name"
|
||||
ng-model="filter.futureState">
|
||||
<tpl-item>
|
||||
|
|
|
@ -65,8 +65,8 @@ export default class Controller extends Section {
|
|||
this.$http.get(`UserConfigs/getUserConfig`)
|
||||
.then(res => {
|
||||
this.filterParams = {
|
||||
originDated: today,
|
||||
futureDated: today,
|
||||
originScopeDays: today,
|
||||
futureScopeDays: today,
|
||||
warehouseFk: res.data.warehouseFk
|
||||
};
|
||||
this.$.model.applyFilter(null, this.filterParams);
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "salix-back",
|
||||
"version": "24.36.0",
|
||||
"version": "24.40.0",
|
||||
"author": "Verdnatura Levante SL",
|
||||
"description": "Salix backend",
|
||||
"license": "GPL-3.0",
|
||||
|
|
Loading…
Reference in New Issue