diff --git a/e2e/helpers/selectors.js b/e2e/helpers/selectors.js
index 284945241..2f1c5d893 100644
--- a/e2e/helpers/selectors.js
+++ b/e2e/helpers/selectors.js
@@ -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',
diff --git a/e2e/paths/02-client/14_balance.spec.js b/e2e/paths/02-client/14_balance.spec.js
index f45937deb..0d020831e 100644
--- a/e2e/paths/02-client/14_balance.spec.js
+++ b/e2e/paths/02-client/14_balance.spec.js
@@ -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');
});
diff --git a/e2e/paths/05-ticket/17_log.spec.js b/e2e/paths/05-ticket/17_log.spec.js
new file mode 100644
index 000000000..2008d022e
--- /dev/null
+++ b/e2e/paths/05-ticket/17_log.spec.js
@@ -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');
+ });
+});
diff --git a/front/core/components/drop-down/index.html b/front/core/components/drop-down/index.html
index 5366d9d90..52ceeeaae 100644
--- a/front/core/components/drop-down/index.html
+++ b/front/core/components/drop-down/index.html
@@ -3,7 +3,8 @@
ng-model="$ctrl.search"
class="dense search"
ng-blur="$ctrl.onFocusOut()"
- placeholder="{{::'Search' | translate}}">
+ placeholder="{{::'Search' | translate}}"
+ autocomplete="off">
diff --git a/front/core/components/field/index.js b/front/core/components/field/index.js
index 481ccce91..62adf3233 100644
--- a/front/core/components/field/index.js
+++ b/front/core/components/field/index.js
@@ -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: '@?',
diff --git a/front/core/components/input-file/index.html b/front/core/components/input-file/index.html
index be4c15248..ad71b744d 100644
--- a/front/core/components/input-file/index.html
+++ b/front/core/components/input-file/index.html
@@ -30,7 +30,7 @@
ng-click="$ctrl.onClear($event)">
diff --git a/front/core/styles/icons/salixfont.css b/front/core/styles/icons/salixfont.css
index 505fb8520..8805815e8 100644
--- a/front/core/styles/icons/salixfont.css
+++ b/front/core/styles/icons/salixfont.css
@@ -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";
-}
+}
\ No newline at end of file
diff --git a/front/core/styles/icons/salixfont.svg b/front/core/styles/icons/salixfont.svg
index 7cd1af528..9ca57000d 100644
--- a/front/core/styles/icons/salixfont.svg
+++ b/front/core/styles/icons/salixfont.svg
@@ -100,4 +100,9 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/front/core/styles/icons/salixfont.ttf b/front/core/styles/icons/salixfont.ttf
index 08a36a48b..ab5de35ff 100644
Binary files a/front/core/styles/icons/salixfont.ttf and b/front/core/styles/icons/salixfont.ttf differ
diff --git a/front/core/styles/icons/salixfont.woff b/front/core/styles/icons/salixfont.woff
index 325a1bc2d..d9ade1e31 100644
Binary files a/front/core/styles/icons/salixfont.woff and b/front/core/styles/icons/salixfont.woff differ
diff --git a/modules/claim/front/search-panel/index.html b/modules/claim/front/search-panel/index.html
index 93d3db455..f50af1e5a 100644
--- a/modules/claim/front/search-panel/index.html
+++ b/modules/claim/front/search-panel/index.html
@@ -10,24 +10,17 @@
+
+
-
-
-
-
-
-
-
-
-
-
-
-
+
+
{
JOIN vn.currency cu ON cu.id = e.currencyFk`
);
-
stmt.merge(conn.makeSuffix(filter));
let itemsIndex = stmts.push(stmt) - 1;
diff --git a/modules/entry/back/models/entry.json b/modules/entry/back/models/entry.json
index 6d38dbba1..d3f149680 100644
--- a/modules/entry/back/models/entry.json
+++ b/modules/entry/back/models/entry.json
@@ -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": {
diff --git a/modules/entry/front/buy/index.html b/modules/entry/front/buy/index.html
new file mode 100644
index 000000000..8b1378917
--- /dev/null
+++ b/modules/entry/front/buy/index.html
@@ -0,0 +1 @@
+
diff --git a/modules/entry/front/buy/index.js b/modules/entry/front/buy/index.js
new file mode 100644
index 000000000..bc8788239
--- /dev/null
+++ b/modules/entry/front/buy/index.js
@@ -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: '<'
+ }
+});
diff --git a/modules/entry/front/buy/locale/es.yml b/modules/entry/front/buy/locale/es.yml
new file mode 100644
index 000000000..8f2be1e44
--- /dev/null
+++ b/modules/entry/front/buy/locale/es.yml
@@ -0,0 +1 @@
+Buy: Lineas de entrada
\ No newline at end of file
diff --git a/modules/entry/front/descriptor/index.html b/modules/entry/front/descriptor/index.html
index cd4057c43..917c5d721 100644
--- a/modules/entry/front/descriptor/index.html
+++ b/modules/entry/front/descriptor/index.html
@@ -35,6 +35,18 @@
value="{{$ctrl.entry.travel.warehouseOut.name}}">
+
+
+
+
+
+
diff --git a/modules/entry/front/descriptor/locale/es.yml b/modules/entry/front/descriptor/locale/es.yml
index 5e1eb25c2..47fabb8f0 100644
--- a/modules/entry/front/descriptor/locale/es.yml
+++ b/modules/entry/front/descriptor/locale/es.yml
@@ -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
\ No newline at end of file
+Show entry report: Ver informe del pedido
+Is inventory entry: Es una entrada de inventario
+Is virtual entry: Es una redada
\ No newline at end of file
diff --git a/modules/entry/front/index.js b/modules/entry/front/index.js
index 0679b946b..f0c845b14 100644
--- a/modules/entry/front/index.js
+++ b/modules/entry/front/index.js
@@ -7,3 +7,4 @@ import './descriptor';
import './card';
import './summary';
import './log';
+import './buy';
diff --git a/modules/entry/front/index/index.html b/modules/entry/front/index/index.html
index 60bbe46d5..cb44aa630 100644
--- a/modules/entry/front/index/index.html
+++ b/modules/entry/front/index/index.html
@@ -38,7 +38,7 @@
ng-show="entry.isInventory"
class="bright"
vn-tooltip="Inventory entry"
- icon="icon-anonymous">
+ icon="icon-inventory">
-
-
{
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: {
diff --git a/modules/ticket/front/index/index.html b/modules/ticket/front/index/index.html
index ee218df56..6a0b051ec 100644
--- a/modules/ticket/front/index/index.html
+++ b/modules/ticket/front/index/index.html
@@ -129,7 +129,7 @@
-
-
-