diff --git a/Jenkinsfile b/Jenkinsfile
index 97f61891f..a2185455d 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -151,7 +151,7 @@ pipeline {
if (!env.COMMITTER_EMAIL) return
try {
mail(
- to: env.GIT_COMMITTER_EMAIL,
+ to: env.COMMITTER_EMAIL,
subject: "Pipeline: ${env.JOB_NAME} (${env.BUILD_NUMBER}): ${currentBuild.currentResult}",
body: "Check status at ${env.BUILD_URL}"
)
diff --git a/e2e/helpers/selectors.js b/e2e/helpers/selectors.js
index d84dc3f05..b4a85cc35 100644
--- a/e2e/helpers/selectors.js
+++ b/e2e/helpers/selectors.js
@@ -273,7 +273,7 @@ export default {
sale: 'vn-ticket-summary [name="sales"] vn-table > div > vn-tbody > vn-tr',
firstSaleItemId: 'vn-ticket-summary [name="sales"] vn-table > div > vn-tbody > vn-tr > vn-td:nth-child(2) > span',
popoverDiaryButton: 'vn-ticket-summary vn-item-descriptor-popover vn-item-descriptor vn-icon[icon="icon-transaction"]',
- firstSaleQuantity: 'vn-ticket-summary [name="sales"] vn-table > div > vn-tbody > vn-tr > vn-td:nth-child(4)',
+ firstSaleQuantity: 'vn-ticket-summary [name="sales"] vn-table > div > vn-tbody > vn-tr > vn-td:nth-child(3)',
firstSaleDiscount: 'vn-ticket-summary [name="sales"] vn-table > div > vn-tbody > vn-tr > vn-td:nth-child(6)'
},
ticketsIndex: {
@@ -341,18 +341,18 @@ export default {
firstSaleQuantity: `vn-textfield[model="sale.quantity"]:nth-child(1) input`,
firstSaleQuantityClearInput: `vn-textfield[model="sale.quantity"] div.suffix > i`,
firstSaleID: 'vn-ticket-sale:nth-child(1) vn-td:nth-child(4) > span',
- firstSalePrice: 'vn-ticket-sale:nth-child(1) vn-td:nth-child(7)',
+ firstSalePrice: 'vn-ticket-sale:nth-child(1) vn-tr:nth-child(1) > vn-td:nth-child(7) > span',
firstSalePriceInput: 'vn-ticket-sale:nth-child(1) > vn-vertical > vn-popover.edit.dialog-summary.ng-isolate-scope.vn-popover.shown > div > div.content > div > vn-textfield',
- firstSaleDiscount: 'vn-ticket-sale:nth-child(1) vn-td:nth-child(8)',
+ firstSaleDiscount: 'vn-ticket-sale:nth-child(1) vn-td:nth-child(8) > span',
firstSaleDiscountInput: 'vn-ticket-sale:nth-child(1) vn-ticket-sale-edit-discount > div > vn-textfield > div > div > div.infix > input.ng-not-empty',
firstSaleImport: 'vn-ticket-sale:nth-child(1) vn-td:nth-child(9)',
firstSaleReservedIcon: 'vn-ticket-sale vn-tr:nth-child(1) > vn-td:nth-child(2) > vn-icon:nth-child(3)',
- firstSaleColour: `vn-ticket-sale vn-tr:nth-child(1) vn-td:nth-child(5) section:nth-child(1)`,
- firstSaleLength: `vn-ticket-sale vn-tr:nth-child(1) vn-td:nth-child(5) section:nth-child(3)`,
+ firstSaleColour: `vn-ticket-sale vn-tr:nth-child(1) vn-td:nth-child(6) section:nth-child(1)`,
+ firstSaleLength: `vn-ticket-sale vn-tr:nth-child(1) vn-td:nth-child(6) section:nth-child(3)`,
firstSaleCheckbox: `vn-ticket-sale vn-tr:nth-child(1) vn-check[field="sale.checked"] md-checkbox`,
secondSaleClaimIcon: 'vn-ticket-sale > vn-vertical > vn-card > div > vn-vertical > vn-table > div > vn-tbody > vn-tr:nth-child(2) > vn-td:nth-child(2) > a > vn-icon',
- secondSaleColour: `vn-ticket-sale vn-tr:nth-child(2) vn-td:nth-child(5) section:nth-child(5)`,
- secondSalePrice: `vn-ticket-sale vn-tr:nth-child(2) vn-td:nth-child(7)`,
+ secondSaleColour: `vn-ticket-sale vn-tr:nth-child(2) vn-td:nth-child(6) section:nth-child(5)`,
+ secondSalePrice: `vn-ticket-sale vn-tr:nth-child(2) vn-td:nth-child(7) > span`,
secondSaleDiscount: `vn-ticket-sale vn-tr:nth-child(2) vn-td:nth-child(8)`,
secondSaleImport: `vn-ticket-sale vn-tr:nth-child(2) vn-td:nth-child(9)`,
secondSaleText: `vn-table div > vn-tbody > vn-tr:nth-child(2)`,
diff --git a/e2e/paths/ticket-module/07_edit_sale.spec.js b/e2e/paths/ticket-module/07_edit_sale.spec.js
index 655f25cb3..9a0a3f35d 100644
--- a/e2e/paths/ticket-module/07_edit_sale.spec.js
+++ b/e2e/paths/ticket-module/07_edit_sale.spec.js
@@ -538,16 +538,16 @@ xdescribe('Ticket Edit sale path', () => {
describe('when state is preparation and loged as Production', () => {
it(`should not be able to edit the sale price`, async() => {
const result = await nightmare
- .waitToClick(selectors.ticketSales.firstSalePrice)
- .exists(selectors.ticketSales.firstSalePriceInput);
+ .wait(selectors.ticketSales.firstSaleID)
+ .exists(selectors.ticketSales.firstSalePrice);
expect(result).toBeFalsy();
});
it(`should not be able to edit the sale discount`, async() => {
const result = await nightmare
- .waitToClick(selectors.ticketSales.firstSaleDiscount)
- .exists(selectors.ticketSales.firstSaleDiscountInput);
+ .waitToClick(selectors.ticketSales.firstSaleID)
+ .exists(selectors.ticketSales.firstSaleDiscount);
expect(result).toBeFalsy();
});
diff --git a/front/core/components/button/style.scss b/front/core/components/button/style.scss
index 47df4f7ef..84bd8659a 100644
--- a/front/core/components/button/style.scss
+++ b/front/core/components/button/style.scss
@@ -1,5 +1,5 @@
vn-button {
- & i[class="material-icons"] {
- margin-top: 6px;
+ & > button > vn-icon {
+ vertical-align: middle;
}
}
\ No newline at end of file
diff --git a/front/core/components/fetched-tags/style.scss b/front/core/components/fetched-tags/style.scss
deleted file mode 100644
index 775df2ca3..000000000
--- a/front/core/components/fetched-tags/style.scss
+++ /dev/null
@@ -1,38 +0,0 @@
-@import "variables";
-
-vn-fetched-tags {
- &.noTitle vn-one {
- display: none !important;
- }
- & > vn-horizontal {
- align-items: center;
-
- @media screen and (max-width: 1600px) {
- flex-direction: column;
- text-align: center;
-
- & > vn-one {
- padding-bottom: .2em;
- }
- }
- & > vn-one {
- min-width: 12em;
- }
- & > vn-auto > .inline-tag {
- display: inline-block;
- color: $color-font-secondary;
- margin-right: .4em;
- text-align: center;
- font-size: .8em;
- height: 1.25em;
- padding: .1em;
- border-radius: .1em;
- width: 4em;
- border: 1px solid $color-font-secondary;
-
- &.empty {
- border: 1px solid $color-bg;
- }
- }
- }
-}
\ No newline at end of file
diff --git a/front/core/components/index.js b/front/core/components/index.js
index d967bbb9a..411048985 100644
--- a/front/core/components/index.js
+++ b/front/core/components/index.js
@@ -40,7 +40,6 @@ import './input-range';
import './chip';
import './input-number';
import './input-time';
-import './fetched-tags';
import './log';
import './treeview';
import './treeview/child';
diff --git a/front/core/components/table/style.scss b/front/core/components/table/style.scss
index 793170e75..54b40db6d 100644
--- a/front/core/components/table/style.scss
+++ b/front/core/components/table/style.scss
@@ -72,10 +72,11 @@ vn-table {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
- max-width: 6em;
+ max-width: 5em;
&[number] {
text-align: right;
+ width: 6em;
}
&[center] {
text-align: center;
@@ -85,7 +86,7 @@ vn-table {
text-align: center;
}
&[expand] {
- max-width: 40em;
+ max-width: 10em;
min-width: 0;
}
vn-icon.bright, i.bright {
diff --git a/front/core/styles/index.js b/front/core/styles/index.js
index 0912fcd20..c3503f3d5 100644
--- a/front/core/styles/index.js
+++ b/front/core/styles/index.js
@@ -1,3 +1,4 @@
+import './md-override.scss';
import './mdl-override.scss';
import './mdi-override.css';
import './zoom-image.scss';
diff --git a/front/core/styles/md-override.scss b/front/core/styles/md-override.scss
new file mode 100644
index 000000000..ba71a9a77
--- /dev/null
+++ b/front/core/styles/md-override.scss
@@ -0,0 +1,11 @@
+
+html {
+ background-color: initial;
+}
+
+// Disable ng-repeat effects
+
+.ng-enter,
+.ng-leave {
+ transition: none !important;
+}
diff --git a/front/core/styles/mdl-override.scss b/front/core/styles/mdl-override.scss
index bc8f46b9f..4c7b295b8 100644
--- a/front/core/styles/mdl-override.scss
+++ b/front/core/styles/mdl-override.scss
@@ -20,7 +20,7 @@ body {
.mdl-textfield--floating-label.has-placeholder .mdl-textfield__label {
color: $color-main !important;
}
-.mdl-checkbox.is-checked .mdl-checkbox__box-outline, {
+.mdl-checkbox.is-checked .mdl-checkbox__box-outline {
border: 2px solid $color-main;
}
fieldset[disabled] .mdl-checkbox .mdl-checkbox__box-outline, .mdl-checkbox.is-disabled .mdl-checkbox__box-outline {
diff --git a/front/salix/styles/effects.scss b/front/salix/styles/effects.scss
index 948b94dba..a337acce1 100644
--- a/front/salix/styles/effects.scss
+++ b/front/salix/styles/effects.scss
@@ -23,9 +23,3 @@
background-color: $color-active;
color: $color-active-font;
}
-
-// Disable ng-repeat effects
-.ng-enter, .ng-leave {
- -webkit-transition: none !important;
- transition: none !important
-}
\ No newline at end of file
diff --git a/front/salix/styles/layout.scss b/front/salix/styles/layout.scss
index 75a7d603c..7cf468725 100644
--- a/front/salix/styles/layout.scss
+++ b/front/salix/styles/layout.scss
@@ -1,17 +1,4 @@
-html, body {
- height: 100%;
- margin: 0px;
- padding: 0px;
-}
-
-html [full-height], .full-height {
- height: 100%;
-}
-html [self-scroll], .self-scroll {
- overflow: auto;
-}
-
/* Horizontal & vertical */
html [vn-horizontal], vn-horizontal, .vn-horizontal,
diff --git a/front/salix/styles/misc.scss b/front/salix/styles/misc.scss
index 3668f28aa..14a64cc2c 100644
--- a/front/salix/styles/misc.scss
+++ b/front/salix/styles/misc.scss
@@ -1,6 +1,11 @@
@import "./variables";
@import "./effects";
+html, body {
+ margin: 0;
+ padding: 0;
+}
+
a:focus,
input:focus,
button:focus {
diff --git a/loopback/common/models/loggable.js b/loopback/common/models/loggable.js
index 6cc7298c6..8df5762fc 100644
--- a/loopback/common/models/loggable.js
+++ b/loopback/common/models/loggable.js
@@ -22,12 +22,12 @@ module.exports = function(Self) {
oldInstance = await fkToValue(oldInstanceFk, ctx);
if (ctx.where && !ctx.currentInstance) {
let fields = Object.keys(ctx.data);
- ctx.oldInstances = await Self.modelBuilder.models[ctx.Model.definition.name].find({where: ctx.where, fields: fields});
+ ctx.oldInstances = await ctx.Model.app.models[ctx.Model.definition.name].find({where: ctx.where, fields: fields});
}
}
- if (ctx.isNewInstance) {
+ if (ctx.isNewInstance)
newInstance = await fkToValue(ctx.instance.__data, ctx);
- }
+
ctx.hookState.oldInstance = oldInstance;
ctx.hookState.newInstance = newInstance;
});
@@ -36,7 +36,7 @@ module.exports = function(Self) {
if (ctx.where) {
let affectedModel = ctx.Model.definition.name;
let definition = ctx.Model.definition;
- let deletedInstances = await Self.modelBuilder.models[affectedModel].find({where: ctx.where});
+ let deletedInstances = await ctx.Model.app.models[affectedModel].find({where: ctx.where});
let relation = definition.settings.log.relation;
if (relation) {
@@ -81,12 +81,11 @@ module.exports = function(Self) {
};
let transaction = {};
- if (ctx.options && ctx.options.transaction) {
+ if (ctx.options && ctx.options.transaction)
transaction = ctx.options.transaction;
- }
let logModel = definition.settings.log.model;
- await Self.modelBuilder.models[logModel].create(logRecord, transaction);
+ await ctx.Model.app.models[logModel].create(logRecord, transaction);
});
}
@@ -147,25 +146,23 @@ module.exports = function(Self) {
if (changedModelValue && (!ctx.instance || !ctx.instance[changedModelValue])) {
var where = [];
changedModelId = [];
- let changedInstances = await Self.modelBuilder.models[definition.name].find({where: ctx.where, fields: ['id', changedModelValue]});
+ let changedInstances = await ctx.Model.app.models[definition.name].find({where: ctx.where, fields: ['id', changedModelValue]});
changedInstances.forEach(element => {
where.push(element[changedModelValue]);
changedModelId.push(element.id);
});
- } else if (ctx.hookState.oldInstance) {
+ } else if (ctx.hookState.oldInstance)
where = ctx.instance[changedModelValue];
- }
+
// Set oldInstance, newInstance, userFk and action
let oldInstance = {};
- if (ctx.hookState.oldInstance) {
+ if (ctx.hookState.oldInstance)
Object.assign(oldInstance, ctx.hookState.oldInstance);
- }
let newInstance = {};
- if (ctx.hookState.newInstance) {
+ if (ctx.hookState.newInstance)
Object.assign(newInstance, ctx.hookState.newInstance);
- }
let userFk;
if (loopBackContext)
@@ -189,17 +186,16 @@ module.exports = function(Self) {
let logModel = definition.settings.log.model;
let transaction = {};
- if (ctx.options && ctx.options.transaction) {
+ if (ctx.options && ctx.options.transaction)
transaction = ctx.options.transaction;
- }
- await Self.modelBuilder.models[logModel].create(logsToSave, transaction);
+ await ctx.Model.app.models[logModel].create(logsToSave, transaction);
}
// this function retuns all the instances changed in case this is an updateAll
function setLogsToSave(changedInstances, changedInstancesIds, logRecord, ctx) {
let promises = [];
- if (changedInstances && typeof changedInstances == "object") {
+ if (changedInstances && typeof changedInstances == 'object') {
for (let i = 0; i < changedInstances.length; i++) {
logRecord.changedModelId = changedInstancesIds[i];
logRecord.changedModelValue = changedInstances[i];
@@ -207,9 +203,9 @@ module.exports = function(Self) {
logRecord.oldInstance = ctx.oldInstances[i];
promises.push(JSON.parse(JSON.stringify(logRecord)));
}
- } else {
+ } else
return logRecord;
- }
+
return promises;
}
@@ -217,11 +213,11 @@ module.exports = function(Self) {
let oldInstance = ctx.hookState.oldInstance;
let newInstance = ctx.hookState.newInstance;
- if (oldInstance && newInstance) {
+ if (oldInstance && newInstance)
return 'update';
- } else if (!oldInstance && newInstance) {
+ else if (!oldInstance && newInstance)
return 'insert';
- }
+
return 'delete';
}
};
diff --git a/modules/item/front/fetched-tags/index.html b/modules/item/front/fetched-tags/index.html
new file mode 100644
index 000000000..546e5d67d
--- /dev/null
+++ b/modules/item/front/fetched-tags/index.html
@@ -0,0 +1,12 @@
+
+ {{::$ctrl.title}}
+
+
+ {{::fetchedTag.value}}
+
+
+
\ No newline at end of file
diff --git a/front/core/components/fetched-tags/index.js b/modules/item/front/fetched-tags/index.js
similarity index 97%
rename from front/core/components/fetched-tags/index.js
rename to modules/item/front/fetched-tags/index.js
index 3cccb97c3..508764c9e 100644
--- a/front/core/components/fetched-tags/index.js
+++ b/modules/item/front/fetched-tags/index.js
@@ -1,4 +1,4 @@
-import ngModule from '../../module';
+import ngModule from '../module';
import './style.scss';
export default class FetchedTags {
diff --git a/modules/item/front/fetched-tags/style.scss b/modules/item/front/fetched-tags/style.scss
new file mode 100644
index 000000000..baada9075
--- /dev/null
+++ b/modules/item/front/fetched-tags/style.scss
@@ -0,0 +1,56 @@
+@import "variables";
+
+vn-fetched-tags {
+ &.noTitle vn-one {
+ display: none !important;
+ }
+ & > vn-horizontal {
+ align-items: center;
+
+ & > vn-one {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ min-width: 5em;
+ }
+ & > vn-auto {
+ display: flex;
+ padding-left: .4em;
+ min-width: 12em;
+
+ & > .inline-tag {
+ display: inline-block;
+ color: $color-font-secondary;
+ margin-left: .4em;
+ text-align: center;
+ font-size: .8em;
+ height: 1.25em;
+ padding: .1em;
+ border-radius: .1em;
+ width: 4em;
+ min-width: 4em;
+ border: 1px solid $color-spacer;
+
+ &.empty {
+ border: 1px solid $color-spacer-light;
+ }
+ }
+ }
+ @media screen and (max-width: 1600px) {
+ flex-direction: column;
+
+ & > vn-one {
+ padding-bottom: .2em;
+ }
+ & > vn-auto {
+ white-space: initial;
+ padding-left: 0;
+ flex-wrap: wrap;
+ justify-content: center;
+
+ & > .inline-tag {
+ margin: .1em;
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/modules/item/front/index.js b/modules/item/front/index.js
index 3bb2942a8..aacaffe85 100644
--- a/modules/item/front/index.js
+++ b/modules/item/front/index.js
@@ -8,6 +8,7 @@ import './card';
import './descriptor';
import './descriptor-popover';
import './data';
+import './fetched-tags';
import './tags';
import './tax';
// import './history';
diff --git a/modules/item/front/index/index.html b/modules/item/front/index/index.html
index 8a8b920eb..3b1cc6d22 100644
--- a/modules/item/front/index/index.html
+++ b/modules/item/front/index/index.html
@@ -23,15 +23,15 @@
Id
Description
- Stems
+ Stems
Type
Category
Intrastat
Origin
Sales person
- Density
+ Density
Tax class
- Active
+ Active
@@ -46,7 +46,7 @@
ng-click="$ctrl.stopEvent($event)"
on-error-src/>
-
+
@@ -74,7 +74,7 @@
{{::item.density}}
{{::item.taxClass}}
-
+
@@ -97,7 +97,7 @@
-
+
diff --git a/modules/ticket/back/methods/ticket/specs/deleted.spec.js b/modules/ticket/back/methods/ticket/specs/deleted.spec.js
index 84cf5d57d..e5a0906a2 100644
--- a/modules/ticket/back/methods/ticket/specs/deleted.spec.js
+++ b/modules/ticket/back/methods/ticket/specs/deleted.spec.js
@@ -3,21 +3,21 @@ const app = require('vn-loopback/server/server');
describe('ticket deleted()', () => {
let ticket;
- beforeAll(async () => {
+ beforeAll(async() => {
let originalTicket = await app.models.Ticket.findOne({where: {id: 16}});
originalTicket.id = null;
ticket = await app.models.Ticket.create(originalTicket);
});
- afterAll(async () => {
+ afterAll(async() => {
await app.models.Ticket.destroyById(ticket.id);
});
- it('should make sure the ticket is not deleted yet', async () => {
+ it('should make sure the ticket is not deleted yet', async() => {
expect(ticket.isDeleted).toEqual(false);
});
- it('should set a ticket to deleted and log the change on TicketState table', async () => {
+ it('should set a ticket to deleted and log the change on TicketState table', async() => {
let ctx = {req: {accessToken: {userId: 9}}};
let params = {id: ticket.id};
await app.models.Ticket.deleted(ctx, params);
@@ -29,7 +29,7 @@ describe('ticket deleted()', () => {
expect(changedState.stateFk).toEqual(17);
});
- it('should throw an error if the given ticket has a claim', async () => {
+ it('should throw an error if the given ticket has a claim', async() => {
let ctx = {req: {accessToken: {userId: 9}}};
let params = {id: 16};
let error;
diff --git a/modules/ticket/back/methods/ticket/summary.js b/modules/ticket/back/methods/ticket/summary.js
index 36a5b961e..56e17062c 100644
--- a/modules/ticket/back/methods/ticket/summary.js
+++ b/modules/ticket/back/methods/ticket/summary.js
@@ -135,14 +135,15 @@ module.exports = Self => {
relation: 'user'
}
}
- },
- {
+ }, {
relation: 'atender',
scope: {
include: {
relation: 'user'
}
}
+ }, {
+ relation: 'sale'
}
]
};
diff --git a/modules/ticket/back/models/ticket.json b/modules/ticket/back/models/ticket.json
index bd8917f8d..95073fec7 100644
--- a/modules/ticket/back/models/ticket.json
+++ b/modules/ticket/back/models/ticket.json
@@ -1,6 +1,9 @@
{
"name": "Ticket",
- "base": "VnModel",
+ "base": "Loggable",
+ "log": {
+ "model":"TicketLog"
+ },
"options": {
"mysql": {
"table": "ticket"
diff --git a/modules/ticket/front/descriptor/index.js b/modules/ticket/front/descriptor/index.js
index a236b0d5a..d18063ef7 100644
--- a/modules/ticket/front/descriptor/index.js
+++ b/modules/ticket/front/descriptor/index.js
@@ -11,7 +11,7 @@ class Controller {
{callback: this.showAddTurnDialog, name: 'Add turn', show: true},
{callback: this.showAddStowaway, name: 'Add stowaway', show: () => this.isTicketModule()},
{callback: this.showRemoveStowaway, name: 'Remove stowaway', show: () => this.shouldShowRemoveStowaway()},
- {callback: this.showDeliveryNote, name: 'Show Delivery Note', show: true},
+ /* {callback: this.showDeliveryNote, name: 'Show Delivery Note', show: true}, */
{callback: this.showDeleteTicketDialog, name: 'Delete ticket', show: true},
/* callback: this.showChangeShipped, name: 'Change shipped hour', show: true} */
];
diff --git a/modules/ticket/front/request/index/index.html b/modules/ticket/front/request/index/index.html
index e868486af..2a1937052 100644
--- a/modules/ticket/front/request/index/index.html
+++ b/modules/ticket/front/request/index/index.html
@@ -54,7 +54,7 @@
{{request.saleFk | zeroFill:6}}
diff --git a/modules/ticket/front/request/index/index.js b/modules/ticket/front/request/index/index.js
index 2ade30013..d60204e6d 100644
--- a/modules/ticket/front/request/index/index.js
+++ b/modules/ticket/front/request/index/index.js
@@ -44,18 +44,18 @@ class Controller {
});
}
- showItemDescriptor(event, sale) {
+ showItemDescriptor(event, itemFk) {
this.quicklinks = {
btnThree: {
icon: 'icon-transaction',
state: `item.card.diary({
- id: ${sale.itemFk},
+ id: ${itemFk},
ticketFk: ${this.$stateParams.id}
})`,
tooltip: 'Item diary'
}
};
- this.$.itemDescriptor.itemFk = sale.itemFk;
+ this.$.itemDescriptor.itemFk = itemFk;
this.$.itemDescriptor.parent = event.target;
this.$.itemDescriptor.show();
}
diff --git a/modules/ticket/front/sale/index.html b/modules/ticket/front/sale/index.html
index 24517d2a6..8e4585a2a 100644
--- a/modules/ticket/front/sale/index.html
+++ b/modules/ticket/front/sale/index.html
@@ -54,16 +54,16 @@
-
+
-
- Item
+
+
Id
- Description
- Quantity
+ Quantity
+ Item
Price
Disc
Amount
@@ -71,12 +71,12 @@
-
+
-
+
-
+
-
-
-
-
{{sale.quantity}}
-
- {{sale.price | currency: 'EUR':2}}
+
+
+
+
+
+
+ {{sale.price | currency: 'EUR':2}}
+
{{sale.price | currency: 'EUR':2}}
-
- {{sale.discount}} %
+
+
+ {{sale.discount}} %
+
@@ -158,7 +158,7 @@