Merge branch 'dev' of https://gitea.verdnatura.es/verdnatura/salix into 2175-ticket_send_sms
This commit is contained in:
commit
668c337fb1
|
@ -366,7 +366,7 @@ export default {
|
|||
ticketsIndex: {
|
||||
openAdvancedSearchButton: 'vn-searchbar .append vn-icon[icon="arrow_drop_down"]',
|
||||
advancedSearchInvoiceOut: 'vn-ticket-search-panel vn-textfield[ng-model="filter.refFk"]',
|
||||
newTicketButton: 'vn-ticket-index > a',
|
||||
newTicketButton: 'vn-ticket-index a',
|
||||
searchResult: 'vn-ticket-index vn-card > vn-table > div > vn-tbody > a.vn-tr',
|
||||
searchWeeklyResult: 'vn-ticket-weekly-index vn-table vn-tbody > vn-tr',
|
||||
searchResultDate: 'vn-ticket-index vn-table vn-tbody > a:nth-child(1) > vn-td:nth-child(5)',
|
||||
|
@ -525,6 +525,7 @@ export default {
|
|||
|
||||
},
|
||||
ticketLog: {
|
||||
firstTD: 'vn-ticket-log vn-table vn-td:nth-child(1)',
|
||||
logButton: 'vn-left-menu a[ui-sref="ticket.card.log"]',
|
||||
changedBy: 'vn-ticket-log > vn-log vn-tr:nth-child(1) > vn-td:nth-child(2) > span',
|
||||
actionTaken: 'vn-ticket-log > vn-log vn-td:nth-child(1) > div > div:nth-child(3) > span.value',
|
||||
|
|
|
@ -35,7 +35,7 @@ describe('Client balance path', () => {
|
|||
await page.clearInput(selectors.globalItems.userConfigThirdAutocomplete);
|
||||
let result = await page.waitForLastSnackbar();
|
||||
|
||||
expect(result).toEqual('Data saved!');
|
||||
expect(result).toContain('Data saved!');
|
||||
});
|
||||
|
||||
it('should click the new payment button', async() => {
|
||||
|
@ -63,7 +63,6 @@ describe('Client balance path', () => {
|
|||
let firstBalanceLine = await page
|
||||
.waitToGetProperty(selectors.clientBalance.firstBalanceLine, 'innerText');
|
||||
|
||||
|
||||
expect(company).toEqual('VNL');
|
||||
expect(firstBalanceLine).toContain('0.00');
|
||||
});
|
||||
|
|
|
@ -0,0 +1,65 @@
|
|||
import selectors from '../../helpers/selectors.js';
|
||||
import getBrowser from '../../helpers/puppeteer';
|
||||
|
||||
describe('Ticket log path', () => {
|
||||
let browser;
|
||||
let page;
|
||||
const ticketId = '5';
|
||||
|
||||
beforeAll(async() => {
|
||||
browser = await getBrowser();
|
||||
page = browser.page;
|
||||
});
|
||||
|
||||
afterAll(async() => {
|
||||
await browser.close();
|
||||
});
|
||||
|
||||
it('should navigate to the target ticket notes section', async() => {
|
||||
await page.loginAndModule('employee', 'ticket');
|
||||
await page.accessToSearchResult(ticketId);
|
||||
await page.accessToSection('ticket.card.observation');
|
||||
let url = await page.expectURL('/observation');
|
||||
|
||||
expect(url).toBe(true);
|
||||
});
|
||||
|
||||
it('should create a new note for the test', async() => {
|
||||
await page.waitToClick(selectors.ticketNotes.addNoteButton);
|
||||
await page.autocompleteSearch(selectors.ticketNotes.firstNoteType, 'observation one');
|
||||
await page.write(selectors.ticketNotes.firstDescription, 'description');
|
||||
await page.waitToClick(selectors.ticketNotes.submitNotesButton);
|
||||
const result = await page.waitForLastSnackbar();
|
||||
|
||||
expect(result).toEqual('Data saved!');
|
||||
});
|
||||
|
||||
it('should navigate to the log section', async() => {
|
||||
await page.accessToSection('ticket.card.log');
|
||||
let url = await page.expectURL('/log');
|
||||
|
||||
expect(url).toBe(true);
|
||||
});
|
||||
|
||||
it('should set the viewport width to 1920 to see the table full width', async() => {
|
||||
await page.setViewport({
|
||||
width: 1920,
|
||||
height: 0,
|
||||
});
|
||||
|
||||
const result = await page.waitToGetProperty(selectors.ticketLog.firstTD, 'innerText');
|
||||
|
||||
expect(result.length).not.toBeGreaterThan('20');
|
||||
});
|
||||
|
||||
it('should set the viewport width to 800 to see the table shrink and move data to the 1st column', async() => {
|
||||
await page.setViewport({
|
||||
width: 800,
|
||||
height: 0,
|
||||
});
|
||||
|
||||
const result = await page.waitToGetProperty(selectors.ticketLog.firstTD, 'innerText');
|
||||
|
||||
expect(result.length).toBeGreaterThan('20');
|
||||
});
|
||||
});
|
|
@ -3,7 +3,8 @@
|
|||
ng-model="$ctrl.search"
|
||||
class="dense search"
|
||||
ng-blur="$ctrl.onFocusOut()"
|
||||
placeholder="{{::'Search' | translate}}">
|
||||
placeholder="{{::'Search' | translate}}"
|
||||
autocomplete="off">
|
||||
</vn-textfield>
|
||||
</div>
|
||||
<div class="list" tabindex="-1">
|
||||
|
|
|
@ -132,6 +132,17 @@ export default class Field extends FormInput {
|
|||
return this.error || this.inputError || null;
|
||||
}
|
||||
|
||||
get autocomplete() {
|
||||
return this._autocomplete;
|
||||
}
|
||||
|
||||
set autocomplete(value) {
|
||||
this._autocomplete = value;
|
||||
|
||||
if (value === 'off')
|
||||
this.input.setAttribute('autocomplete', 'off');
|
||||
}
|
||||
|
||||
refreshHint() {
|
||||
let error = this.shownError;
|
||||
let hint = error || this.hint;
|
||||
|
@ -206,6 +217,7 @@ ngModule.vnComponent('vnField', {
|
|||
controller: Field,
|
||||
bindings: {
|
||||
type: '@?',
|
||||
autocomplete: '@?',
|
||||
placeholder: '@?',
|
||||
value: '=?',
|
||||
info: '@?',
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
ng-click="$ctrl.onClear($event)">
|
||||
</vn-icon>
|
||||
<vn-icon
|
||||
icon="attach_file"
|
||||
icon="icon-attach"
|
||||
vn-tooltip="Select a file"
|
||||
ng-click="$ctrl.openFileSelector()">
|
||||
</vn-icon>
|
||||
|
|
|
@ -23,6 +23,21 @@
|
|||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
|
||||
.icon-zone:before {
|
||||
content: "\e95d";
|
||||
}
|
||||
.icon-inventory:before {
|
||||
content: "\e95e";
|
||||
}
|
||||
.icon-wiki:before {
|
||||
content: "\e968";
|
||||
}
|
||||
.icon-attach:before {
|
||||
content: "\e96c";
|
||||
}
|
||||
.icon-zone2:before {
|
||||
content: "\e96d";
|
||||
}
|
||||
.icon-net:before {
|
||||
content: "\e95b";
|
||||
}
|
||||
|
@ -301,4 +316,4 @@
|
|||
}
|
||||
.icon-worker:before {
|
||||
content: "\e943";
|
||||
}
|
||||
}
|
File diff suppressed because one or more lines are too long
Before Width: | Height: | Size: 96 KiB After Width: | Height: | Size: 108 KiB |
Binary file not shown.
Binary file not shown.
|
@ -10,24 +10,17 @@
|
|||
</vn-textfield>
|
||||
</vn-horizontal>
|
||||
<vn-horizontal>
|
||||
<vn-textfield
|
||||
vn-one
|
||||
label="Client Id"]
|
||||
ng-model="filter.clientFk">
|
||||
</vn-textfield>
|
||||
<vn-textfield
|
||||
vn-one
|
||||
label="Client"
|
||||
ng-model="filter.client">
|
||||
</vn-textfield>
|
||||
</vn-horizontal>
|
||||
<vn-horizontal>
|
||||
<vn-textfield
|
||||
vn-one
|
||||
label="Claim Id"
|
||||
ng-model="filter.id">
|
||||
</vn-textfield>
|
||||
<vn-textfield
|
||||
vn-one
|
||||
label="Client Id"
|
||||
ng-model="filter.clientFk">
|
||||
</vn-textfield>
|
||||
</vn-horizontal>
|
||||
<vn-horizontal>
|
||||
<vn-autocomplete
|
||||
vn-one
|
||||
|
|
|
@ -9,18 +9,6 @@
|
|||
vn-focus>
|
||||
</vn-textfield>
|
||||
</vn-horizontal>
|
||||
<vn-horizontal>
|
||||
<vn-textfield
|
||||
vn-one
|
||||
label="Client id"
|
||||
ng-model="filter.id">
|
||||
</vn-textfield>
|
||||
<vn-textfield
|
||||
vn-one
|
||||
label="Tax number"
|
||||
ng-model="filter.fi">
|
||||
</vn-textfield>
|
||||
</vn-horizontal>
|
||||
<vn-horizontal>
|
||||
<vn-textfield
|
||||
vn-one label="Name"
|
||||
|
@ -39,6 +27,11 @@
|
|||
</vn-autocomplete>
|
||||
</vn-horizontal>
|
||||
<vn-horizontal>
|
||||
<vn-textfield
|
||||
vn-one
|
||||
label="Tax number"
|
||||
ng-model="filter.fi">
|
||||
</vn-textfield>
|
||||
<vn-textfield
|
||||
vn-one
|
||||
label="Social name"
|
||||
|
|
|
@ -150,7 +150,6 @@ module.exports = Self => {
|
|||
JOIN vn.currency cu ON cu.id = e.currencyFk`
|
||||
);
|
||||
|
||||
|
||||
stmt.merge(conn.makeSuffix(filter));
|
||||
let itemsIndex = stmts.push(stmt) - 1;
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
},
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "Number",
|
||||
"type": "number",
|
||||
"id": true,
|
||||
"description": "Identifier"
|
||||
},
|
||||
|
@ -19,46 +19,49 @@
|
|||
"type": "date"
|
||||
},
|
||||
"ref": {
|
||||
"type": "String"
|
||||
"type": "string"
|
||||
},
|
||||
"isBooked": {
|
||||
"type": "Boolean"
|
||||
"type": "boolean"
|
||||
},
|
||||
"isInventory": {
|
||||
"type": "Boolean"
|
||||
"type": "boolean"
|
||||
},
|
||||
"notes": {
|
||||
"type": "Number"
|
||||
"type": "number"
|
||||
},
|
||||
"isConfirmed": {
|
||||
"type": "Boolean"
|
||||
"type": "boolean"
|
||||
},
|
||||
"isVirtual": {
|
||||
"type": "Boolean",
|
||||
"type": "boolean",
|
||||
"mysql": {
|
||||
"columnName": "isRaid"
|
||||
}
|
||||
},
|
||||
"isRaid": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"commission": {
|
||||
"type": "Number"
|
||||
"type": "number"
|
||||
},
|
||||
"isOrdered": {
|
||||
"type": "Boolean"
|
||||
"type": "boolean"
|
||||
},
|
||||
"created": {
|
||||
"type": "date"
|
||||
},
|
||||
"observation": {
|
||||
"type": "String",
|
||||
"type": "string",
|
||||
"mysql": {
|
||||
"columnName": "evaNotes"
|
||||
}
|
||||
},
|
||||
"isBlocked": {
|
||||
"type": "Boolean"
|
||||
"type": "boolean"
|
||||
},
|
||||
"loadPriority": {
|
||||
"type": "Number"
|
||||
"type": "number"
|
||||
}
|
||||
},
|
||||
"relations": {
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
|
|
@ -0,0 +1,18 @@
|
|||
import ngModule from '../module';
|
||||
import Component from 'core/lib/component';
|
||||
|
||||
class Controller extends Component {
|
||||
constructor($element, $) {
|
||||
super($element, $);
|
||||
}
|
||||
}
|
||||
|
||||
Controller.$inject = ['$element', '$scope'];
|
||||
|
||||
ngModule.component('vnEntryBuy', {
|
||||
template: require('./index.html'),
|
||||
controller: Controller,
|
||||
bindings: {
|
||||
entry: '<'
|
||||
}
|
||||
});
|
|
@ -0,0 +1 @@
|
|||
Buy: Lineas de entrada
|
|
@ -35,6 +35,18 @@
|
|||
value="{{$ctrl.entry.travel.warehouseOut.name}}">
|
||||
</vn-label-value>
|
||||
</div>
|
||||
<div class="icons">
|
||||
<vn-icon
|
||||
vn-tooltip="Is inventory entry"
|
||||
icon="icon-inventory"
|
||||
ng-class="{bright: $ctrl.entry.isInventory}">
|
||||
</vn-icon>
|
||||
<vn-icon
|
||||
vn-tooltip="Is virtual entry"
|
||||
icon="icon-net"
|
||||
ng-class="{bright: $ctrl.entry.isRaid}">
|
||||
</vn-icon>
|
||||
</div>
|
||||
<vn-quick-links
|
||||
links="$ctrl.quicklinks">
|
||||
</vn-quick-links>
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
Reference: Referencia
|
||||
All travels with current agency: Todos los envios con la agencia actual
|
||||
All entries with current supplier: Todas las entradas con el proveedor actual
|
||||
Show entry report: Ver informe del pedido
|
||||
Show entry report: Ver informe del pedido
|
||||
Is inventory entry: Es una entrada de inventario
|
||||
Is virtual entry: Es una redada
|
|
@ -7,3 +7,4 @@ import './descriptor';
|
|||
import './card';
|
||||
import './summary';
|
||||
import './log';
|
||||
import './buy';
|
||||
|
|
|
@ -38,7 +38,7 @@
|
|||
ng-show="entry.isInventory"
|
||||
class="bright"
|
||||
vn-tooltip="Inventory entry"
|
||||
icon="icon-anonymous">
|
||||
icon="icon-inventory">
|
||||
</vn-icon>
|
||||
<vn-icon
|
||||
ng-show="entry.isRaid"
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
{"state": "entry.index", "icon": "icon-entry"}
|
||||
],
|
||||
"card": [
|
||||
{"state": "entry.card.buy", "icon": "icon-lines"},
|
||||
{"state": "entry.card.log", "icon": "history"}
|
||||
]
|
||||
},
|
||||
|
@ -42,6 +43,14 @@
|
|||
"state": "entry.card.log",
|
||||
"component": "vn-entry-log",
|
||||
"description": "Log"
|
||||
}, {
|
||||
"url" : "/buy",
|
||||
"state": "entry.card.buy",
|
||||
"component": "vn-entry-buy",
|
||||
"description": "Buy",
|
||||
"params": {
|
||||
"entry": "$ctrl.entry"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -10,11 +10,6 @@
|
|||
</vn-textfield>
|
||||
</vn-horizontal>
|
||||
<vn-horizontal>
|
||||
<vn-textfield
|
||||
vn-one
|
||||
label="Order id"
|
||||
ng-model="filter.id">
|
||||
</vn-textfield>
|
||||
<vn-textfield
|
||||
vn-one
|
||||
label="Client id"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
Order id: Id pedido
|
||||
Order id: Id cesta
|
||||
Client id: Id cliente
|
||||
From landed: Desde f. entrega
|
||||
To landed: Hasta f. entrega
|
||||
|
|
|
@ -6,7 +6,7 @@ module.exports = Self => {
|
|||
accessType: 'WRITE',
|
||||
accepts: [{
|
||||
arg: 'clientId',
|
||||
type: 'Number',
|
||||
type: 'number',
|
||||
description: `The client id filter`,
|
||||
required: true
|
||||
},
|
||||
|
@ -22,29 +22,29 @@ module.exports = Self => {
|
|||
},
|
||||
{
|
||||
arg: 'warehouseId',
|
||||
type: 'Number',
|
||||
type: 'number',
|
||||
description: `The warehouse id filter`,
|
||||
required: true
|
||||
},
|
||||
{
|
||||
arg: 'companyId',
|
||||
type: 'Number',
|
||||
type: 'number',
|
||||
description: `The company id filter`
|
||||
},
|
||||
{
|
||||
arg: 'addressId',
|
||||
type: 'Number',
|
||||
type: 'number',
|
||||
description: `The address id filter`,
|
||||
required: true
|
||||
},
|
||||
{
|
||||
arg: 'agencyModeId',
|
||||
type: 'Number',
|
||||
type: 'any',
|
||||
description: `The agencyMode id filter`
|
||||
},
|
||||
{
|
||||
arg: 'routeId',
|
||||
type: 'Number',
|
||||
type: 'number',
|
||||
description: `The route id filter`
|
||||
}],
|
||||
returns: {
|
||||
|
|
|
@ -129,7 +129,7 @@
|
|||
|
||||
<div fixed-bottom-right>
|
||||
<vn-vertical style="align-items: center;">
|
||||
<vn-button class="round message xs vn-mb-sm"
|
||||
<vn-button class="round sm vn-mb-sm"
|
||||
icon="icon-recovery"
|
||||
ng-show="$ctrl.totalChecked > 0"
|
||||
ng-click="$ctrl.openBalanceDialog()"
|
||||
|
|
|
@ -15,11 +15,6 @@
|
|||
label="Client id"
|
||||
ng-model="filter.clientFk">
|
||||
</vn-textfield>
|
||||
<vn-textfield
|
||||
vn-one
|
||||
label="Ticket id"
|
||||
ng-model="filter.id">
|
||||
</vn-textfield>
|
||||
<vn-textfield
|
||||
vn-one
|
||||
label="Order id"
|
||||
|
|
|
@ -8,7 +8,7 @@ Warehouse: Almacén
|
|||
Sales person: Comercial
|
||||
Province: Provincia
|
||||
My team: Mi equipo
|
||||
Order id: Id pedido
|
||||
Order id: Id cesta
|
||||
Grouped States: Estado agrupado
|
||||
Days onward: Días adelante
|
||||
With problems: Con problemas
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
{
|
||||
"module": "zone",
|
||||
"name": "Zones",
|
||||
"icon" : "location_on",
|
||||
"icon" : "icon-zone",
|
||||
"validations" : true,
|
||||
"dependencies": ["worker"],
|
||||
"menus": {
|
||||
"main": [
|
||||
{"state": "zone.index", "icon": "location_on"},
|
||||
{"state": "zone.index", "icon": "icon-zone"},
|
||||
{"state": "zone.deliveryDays", "icon": "today"}
|
||||
],
|
||||
"card": [
|
||||
|
|
Loading…
Reference in New Issue