From 6b65aa87d8a938a2d5fc5ad9519e445f3ea4f70c Mon Sep 17 00:00:00 2001 From: joan Date: Fri, 4 Jun 2021 11:46:09 +0200 Subject: [PATCH 1/9] HOTFIX: Max width for client name field --- modules/monitor/front/index/tickets/index.html | 10 +++++----- modules/monitor/front/index/tickets/style.scss | 4 ++++ 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/modules/monitor/front/index/tickets/index.html b/modules/monitor/front/index/tickets/index.html index 6a9f15e82f..cb7b4f2352 100644 --- a/modules/monitor/front/index/tickets/index.html +++ b/modules/monitor/front/index/tickets/index.html @@ -34,7 +34,7 @@ - Client + Client Salesperson Date Hour @@ -88,7 +88,7 @@ icon="icon-components"> - + - + {{::ticket.shipped | date: 'dd/MM/yyyy'}} @@ -122,8 +122,8 @@ - {{ticket.state}} + class="chip {{::$ctrl.stateColor(ticket)}}"> + {{::ticket.state}} diff --git a/modules/monitor/front/index/tickets/style.scss b/modules/monitor/front/index/tickets/style.scss index f3931e6ec7..61634f0a71 100644 --- a/modules/monitor/front/index/tickets/style.scss +++ b/modules/monitor/front/index/tickets/style.scss @@ -12,6 +12,10 @@ vn-monitor-sales-tickets { padding: 0 } + vn-th[field="nickname"] { + width: 250px + } + vn-td.icon-field > vn-icon { margin-left: 3px; margin-right: 3px; From b38605442ed787c65067ca4f344afb64b31255ef Mon Sep 17 00:00:00 2001 From: carlosjr Date: Fri, 4 Jun 2021 17:16:02 +0200 Subject: [PATCH 2/9] transactions for entry module endpoints --- modules/entry/back/methods/entry/addBuy.js | 4 +- .../entry/back/methods/entry/deleteBuys.js | 2 +- .../back/methods/entry/editLatestBuys.js | 36 +++++++---- modules/entry/back/methods/entry/filter.js | 61 ++++++++++++------- modules/entry/back/methods/entry/getBuys.js | 13 ++-- modules/entry/back/methods/entry/getEntry.js | 13 ++-- .../entry/back/methods/entry/importBuys.js | 4 +- .../back/methods/entry/importBuysPreview.js | 9 ++- .../back/methods/entry/latestBuysFilter.js | 43 ++++++++----- .../entry/specs/editLatestBuys.spec.js | 37 +++++------ 10 files changed, 141 insertions(+), 81 deletions(-) diff --git a/modules/entry/back/methods/entry/addBuy.js b/modules/entry/back/methods/entry/addBuy.js index a7d2f46461..f21c1650ce 100644 --- a/modules/entry/back/methods/entry/addBuy.js +++ b/modules/entry/back/methods/entry/addBuy.js @@ -89,7 +89,7 @@ module.exports = Self => { const newBuy = await models.Buy.create(ctx.args, myOptions); - let filter = { + const filter = { fields: [ 'id', 'itemFk', @@ -136,7 +136,7 @@ module.exports = Self => { } }; - let stmts = []; + const stmts = []; let stmt; stmts.push('DROP TEMPORARY TABLE IF EXISTS tmp.buyRecalc'); diff --git a/modules/entry/back/methods/entry/deleteBuys.js b/modules/entry/back/methods/entry/deleteBuys.js index de038d66ee..951abfd4cb 100644 --- a/modules/entry/back/methods/entry/deleteBuys.js +++ b/modules/entry/back/methods/entry/deleteBuys.js @@ -32,7 +32,7 @@ module.exports = Self => { } try { - let promises = []; + const promises = []; for (let buy of ctx.args.buys) { const buysToDelete = models.Buy.destroyById(buy.id, myOptions); promises.push(buysToDelete); diff --git a/modules/entry/back/methods/entry/editLatestBuys.js b/modules/entry/back/methods/entry/editLatestBuys.js index bd5358e316..be379b0a35 100644 --- a/modules/entry/back/methods/entry/editLatestBuys.js +++ b/modules/entry/back/methods/entry/editLatestBuys.js @@ -30,7 +30,18 @@ module.exports = Self => { } }); - Self.editLatestBuys = async(field, newValue, lines) => { + Self.editLatestBuys = async(field, newValue, lines, options) => { + let tx; + let myOptions = {}; + + if (typeof options == 'object') + Object.assign(myOptions, options); + + if (!myOptions.transaction) { + tx = await Self.beginTransaction({}); + myOptions.transaction = tx; + } + let modelName; let identifier; @@ -60,28 +71,27 @@ module.exports = Self => { const models = Self.app.models; const model = models[modelName]; - let tx = await model.beginTransaction({}); - try { let promises = []; - let options = {transaction: tx}; - let targets = lines.map(line => { + const targets = lines.map(line => { return line[identifier]; }); - let value = {}; + const value = {}; value[field] = newValue; - // intentarlo con updateAll for (let target of targets) - promises.push(model.upsertWithWhere({id: target}, value, options)); + promises.push(model.upsertWithWhere({id: target}, value, myOptions)); - await Promise.all(promises); - await tx.commit(); - } catch (error) { - await tx.rollback(); - throw error; + const result = await Promise.all(promises, myOptions); + + if (tx) await tx.commit(); + + return result; + } catch (e) { + if (tx) await tx.rollback(); + throw e; } }; }; diff --git a/modules/entry/back/methods/entry/filter.js b/modules/entry/back/methods/entry/filter.js index 0148d866d2..24c518de87 100644 --- a/modules/entry/back/methods/entry/filter.js +++ b/modules/entry/back/methods/entry/filter.js @@ -13,71 +13,85 @@ module.exports = Self => { type: 'object', description: 'Filter defining where, order, offset, and limit - must be a JSON-encoded string', http: {source: 'query'} - }, { + }, + { arg: 'search', type: 'string', description: 'Searchs the entry by id', http: {source: 'query'} - }, { + }, + { arg: 'id', type: 'integer', description: 'The entry id', http: {source: 'query'} - }, { + }, + { arg: 'created', type: 'date', description: 'The created date to filter', http: {source: 'query'} - }, { + }, + { arg: 'travelFk', type: 'number', description: 'The travel id to filter', http: {source: 'query'} - }, { + }, + { arg: 'companyFk', type: 'number', description: 'The company to filter', http: {source: 'query'} - }, { + }, + { arg: 'isBooked', type: 'boolean', description: 'The isBokked filter', http: {source: 'query'} - }, { + }, + { arg: 'isConfirmed', type: 'boolean', description: 'The isConfirmed filter', http: {source: 'query'} - }, { + }, + { arg: 'isOrdered', type: 'boolean', description: 'The isOrdered filter', http: {source: 'query'} - }, { + }, + { arg: 'ref', type: 'string', description: 'The ref filter', http: {source: 'query'} - }, { + }, + { arg: 'supplierFk', type: 'number', description: 'The supplier id to filter', http: {source: 'query'} - }, { + }, + { arg: 'invoiceInFk', type: 'number', description: 'The invoiceIn id to filter', http: {source: 'query'} - }, { + }, + { arg: 'currencyFk', type: 'number', description: 'The currency id to filter', http: {source: 'query'} - }, { + }, + { arg: 'from', type: 'date', description: `The from date filter` - }, { + }, + { arg: 'to', type: 'date', description: `The to date filter` @@ -93,9 +107,14 @@ module.exports = Self => { } }); - Self.filter = async(ctx, filter) => { - let conn = Self.dataSource.connector; - let where = buildFilter(ctx.args, (param, value) => { + Self.filter = async(ctx, filter, options) => { + let myOptions = {}; + + if (typeof options == 'object') + Object.assign(myOptions, options); + + const conn = Self.dataSource.connector; + const where = buildFilter(ctx.args, (param, value) => { switch (param) { case 'search': return /^\d+$/.test(value) @@ -128,7 +147,7 @@ module.exports = Self => { }); filter = mergeFilters(ctx.args.filter, {where}); - let stmts = []; + const stmts = []; let stmt; stmt = new ParameterizedSQL( `SELECT @@ -163,10 +182,10 @@ module.exports = Self => { ); stmt.merge(conn.makeSuffix(filter)); - let itemsIndex = stmts.push(stmt) - 1; + const itemsIndex = stmts.push(stmt) - 1; - let sql = ParameterizedSQL.join(stmts, ';'); - let result = await conn.executeStmt(sql); + const sql = ParameterizedSQL.join(stmts, ';'); + const result = await conn.executeStmt(sql, myOptions); return itemsIndex === 0 ? result : result[itemsIndex]; }; }; diff --git a/modules/entry/back/methods/entry/getBuys.js b/modules/entry/back/methods/entry/getBuys.js index 1b05ec4838..5bd8cd47e8 100644 --- a/modules/entry/back/methods/entry/getBuys.js +++ b/modules/entry/back/methods/entry/getBuys.js @@ -19,8 +19,14 @@ module.exports = Self => { } }); - Self.getBuys = async id => { - let filter = { + Self.getBuys = async(id, options) => { + const models = Self.app.models; + let myOptions = {}; + + if (typeof options == 'object') + Object.assign(myOptions, options); + + const filter = { where: {entryFk: id}, fields: [ 'id', @@ -68,7 +74,6 @@ module.exports = Self => { } }; - let buys = await Self.app.models.Buy.find(filter); - return buys; + return models.Buy.find(filter, myOptions); }; }; diff --git a/modules/entry/back/methods/entry/getEntry.js b/modules/entry/back/methods/entry/getEntry.js index 008ee8148f..c14ca800a5 100644 --- a/modules/entry/back/methods/entry/getEntry.js +++ b/modules/entry/back/methods/entry/getEntry.js @@ -19,8 +19,14 @@ module.exports = Self => { } }); - Self.getEntry = async id => { - let filter = { + Self.getEntry = async(id, options) => { + const models = Self.app.models; + let myOptions = {}; + + if (typeof options == 'object') + Object.assign(myOptions, options); + + const filter = { where: {id: id}, include: [ { @@ -70,7 +76,6 @@ module.exports = Self => { ], }; - let entry = await Self.app.models.Entry.findOne(filter); - return entry; + return models.Entry.findOne(filter, myOptions); }; }; diff --git a/modules/entry/back/methods/entry/importBuys.js b/modules/entry/back/methods/entry/importBuys.js index 10871f4ade..325fe4d22d 100644 --- a/modules/entry/back/methods/entry/importBuys.js +++ b/modules/entry/back/methods/entry/importBuys.js @@ -45,8 +45,8 @@ module.exports = Self => { const conn = Self.dataSource.connector; const args = ctx.args; const models = Self.app.models; - let tx; + if (!options.transaction) { tx = await Self.beginTransaction({}); options.transaction = tx; @@ -76,7 +76,7 @@ module.exports = Self => { const createdBuys = await models.Buy.create(buys, options); const buyIds = createdBuys.map(buy => buy.id); - let stmts = []; + const stmts = []; let stmt; stmts.push('DROP TEMPORARY TABLE IF EXISTS tmp.buyRecalc'); diff --git a/modules/entry/back/methods/entry/importBuysPreview.js b/modules/entry/back/methods/entry/importBuysPreview.js index 9d66623276..9ba2b58ed8 100644 --- a/modules/entry/back/methods/entry/importBuysPreview.js +++ b/modules/entry/back/methods/entry/importBuysPreview.js @@ -24,14 +24,19 @@ module.exports = Self => { } }); - Self.importBuysPreview = async(id, buys) => { + Self.importBuysPreview = async(id, buys, options) => { const models = Self.app.models; + let myOptions = {}; + + if (typeof options == 'object') + Object.assign(myOptions, options); + for (let buy of buys) { const packaging = await models.Packaging.findOne({ fields: ['id'], where: {volume: {gte: buy.volume}}, order: 'volume ASC' - }); + }, myOptions); buy.packageFk = packaging.id; } diff --git a/modules/entry/back/methods/entry/latestBuysFilter.js b/modules/entry/back/methods/entry/latestBuysFilter.js index 4c3536b8dc..68abc9c037 100644 --- a/modules/entry/back/methods/entry/latestBuysFilter.js +++ b/modules/entry/back/methods/entry/latestBuysFilter.js @@ -17,36 +17,44 @@ module.exports = Self => { arg: 'search', type: 'String', description: `If it's and integer searchs by id, otherwise it searchs by name`, - }, { + }, + { arg: 'id', type: 'Integer', description: 'Item id', - }, { + }, + { arg: 'tags', type: ['Object'], description: 'List of tags to filter with', http: {source: 'query'} - }, { + }, + { arg: 'description', type: 'String', description: 'The item description', - }, { + }, + { arg: 'salesPersonFk', type: 'Integer', description: 'The buyer of the item', - }, { + }, + { arg: 'active', type: 'Boolean', description: 'Whether the item is or not active', - }, { + }, + { arg: 'visible', type: 'Boolean', description: 'Whether the item is or not visible', - }, { + }, + { arg: 'typeFk', type: 'Integer', description: 'Type id', - }, { + }, + { arg: 'categoryFk', type: 'Integer', description: 'Category id', @@ -62,9 +70,14 @@ module.exports = Self => { } }); - Self.latestBuysFilter = async(ctx, filter) => { - let conn = Self.dataSource.connector; - let where = buildFilter(ctx.args, (param, value) => { + Self.latestBuysFilter = async(ctx, filter, options) => { + let myOptions = {}; + + if (typeof options == 'object') + Object.assign(myOptions, options); + + const conn = Self.dataSource.connector; + const where = buildFilter(ctx.args, (param, value) => { switch (param) { case 'search': return /^\d+$/.test(value) @@ -93,7 +106,7 @@ module.exports = Self => { }); filter = mergeFilters(ctx.args.filter, {where}); - let stmts = []; + const stmts = []; let stmt; stmts.push('CALL cache.last_buy_refresh(FALSE)'); @@ -179,10 +192,10 @@ module.exports = Self => { } stmt.merge(conn.makeSuffix(filter)); - let buysIndex = stmts.push(stmt) - 1; + const buysIndex = stmts.push(stmt) - 1; - let sql = ParameterizedSQL.join(stmts, ';'); - let result = await conn.executeStmt(sql); + const sql = ParameterizedSQL.join(stmts, ';'); + const result = await conn.executeStmt(sql, myOptions); return buysIndex === 0 ? result : result[buysIndex]; }; }; diff --git a/modules/entry/back/methods/entry/specs/editLatestBuys.spec.js b/modules/entry/back/methods/entry/specs/editLatestBuys.spec.js index 5d1bd5a0da..40be5f70e3 100644 --- a/modules/entry/back/methods/entry/specs/editLatestBuys.spec.js +++ b/modules/entry/back/methods/entry/specs/editLatestBuys.spec.js @@ -3,29 +3,32 @@ const model = app.models.Buy; describe('Buy editLatestsBuys()', () => { it('should change the value of a given column for the selected buys', async() => { - let ctx = { - args: { - search: 'Ranged weapon longbow 2m' - } - }; + const tx = await app.models.Entry.beginTransaction({}); + const options = {transaction: tx}; - let [original] = await model.latestBuysFilter(ctx); + try { + let ctx = { + args: { + search: 'Ranged weapon longbow 2m' + } + }; - const field = 'size'; - let newValue = 99; - const lines = [{itemFk: original.itemFk, id: original.id}]; + const [original] = await model.latestBuysFilter(ctx, null, options); - await model.editLatestBuys(field, newValue, lines); + const field = 'size'; + const newValue = 99; + const lines = [{itemFk: original.itemFk, id: original.id}]; - let [result] = await model.latestBuysFilter(ctx); + await model.editLatestBuys(field, newValue, lines, options); - expect(result.size).toEqual(99); + const [result] = await model.latestBuysFilter(ctx, null, options); - newValue = original.size; - await model.editLatestBuys(field, newValue, lines); + expect(result[field]).toEqual(newValue); - let [restoredFixture] = await model.latestBuysFilter(ctx); - - expect(restoredFixture.size).toEqual(original.size); + await tx.rollback(); + } catch (e) { + await tx.rollback(); + throw e; + } }); }); From f6c4ef815037bb61208b9fbd733f441720e69e62 Mon Sep 17 00:00:00 2001 From: joan Date: Mon, 7 Jun 2021 07:32:07 +0200 Subject: [PATCH 3/9] HOTFIX: Compatible SQL with MySQL --- print/templates/email/osticket-report/sql/dateRange.sql | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/print/templates/email/osticket-report/sql/dateRange.sql b/print/templates/email/osticket-report/sql/dateRange.sql index 5307a7567b..47e9d2f8a7 100644 --- a/print/templates/email/osticket-report/sql/dateRange.sql +++ b/print/templates/email/osticket-report/sql/dateRange.sql @@ -3,6 +3,6 @@ FROM ( SELECT @lastWeek := DATE_ADD(CURDATE(), INTERVAL -1 WEEK), @lastWeekMonday := DATE_ADD(@lastWeek, INTERVAL (-WEEKDAY(@lastWeek)) DAY), @lastWeekFriday := DATE_ADD(@lastWeekMonday, INTERVAL (+6) DAY), - @lastWeekMondayTime := ADDTIME(DATE(@lastWeekMonday), '00:00:00'), - @lastWeekFridayTime := ADDTIME(DATE(@lastWeekFriday), '23:59:59') + @lastWeekMondayTime := CONCAT(@lastWeekMonday, ' 00:00:00'), + @lastWeekFridayTime := CONCAT(@lastWeekFriday, ' 23:59:59') ) t \ No newline at end of file From c90fa41fae7803fb1dfc564c4afe6eda89b9829f Mon Sep 17 00:00:00 2001 From: jgallego Date: Mon, 7 Jun 2021 07:57:46 +0200 Subject: [PATCH 4/9] accountingType.isAutoConciliated == true --- modules/client/back/methods/client/createReceipt.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/client/back/methods/client/createReceipt.js b/modules/client/back/methods/client/createReceipt.js index cb7d7aabaa..7eb47e70a1 100644 --- a/modules/client/back/methods/client/createReceipt.js +++ b/modules/client/back/methods/client/createReceipt.js @@ -93,7 +93,7 @@ module.exports = function(Self) { clientOriginal.accountingAccount ], options); - } else { + } else if (accountingType.isAutoConciliated == true) { const description = `${clientOriginal.id} : ${clientOriginal.socialName} - ${accountingType.receiptDescription}`; const [xdiarioNew] = await Self.rawSql( `SELECT xdiario_new(?, CURDATE(), ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) ledger;`, From a46fef52953acc5c1e8fc7769bf9e8fa021b81ae Mon Sep 17 00:00:00 2001 From: carlosjr Date: Mon, 7 Jun 2021 14:26:34 +0200 Subject: [PATCH 5/9] endpoint minor refactor --- .../back/methods/worker/getWorkedHours.js | 24 +++++++++++++------ 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/modules/worker/back/methods/worker/getWorkedHours.js b/modules/worker/back/methods/worker/getWorkedHours.js index dfb219c72a..9957fca25c 100644 --- a/modules/worker/back/methods/worker/getWorkedHours.js +++ b/modules/worker/back/methods/worker/getWorkedHours.js @@ -34,35 +34,45 @@ module.exports = Self => { }); Self.getWorkedHours = async(id, started, ended) => { + const models = Self.app.models; const conn = Self.dataSource.connector; + + const worker = await models.Worker.findById(id); + const userId = worker.userFk; + const stmts = []; + const startedMinusOne = new Date(started); + startedMinusOne.setDate(started.getDate() - 1); + const endedPlusOne = new Date(ended); - let worker = await Self.app.models.Worker.findById(id); - let userId = worker.userFk; + endedPlusOne.setDate(ended.getDate() + 1); stmts.push(` DROP TEMPORARY TABLE IF EXISTS tmp.timeControlCalculate, tmp.timeBusinessCalculate `); - startedMinusOne.setDate(started.getDate() - 1); - endedPlusOne.setDate(ended.getDate() + 1); + stmts.push(new ParameterizedSQL('CALL vn.timeControl_calculateByUser(?, ?, ?)', [userId, startedMinusOne, endedPlusOne])); + stmts.push(new ParameterizedSQL('CALL vn.timeBusiness_calculateByUser(?, ?, ?)', [userId, startedMinusOne, endedPlusOne])); - let resultIndex = stmts.push(new ParameterizedSQL(` + + const resultIndex = stmts.push(new ParameterizedSQL(` SELECT tbc.dated, tbc.timeWorkSeconds expectedHours, tcc.timeWorkSeconds workedHours FROM tmp.timeBusinessCalculate tbc LEFT JOIN tmp.timeControlCalculate tcc ON tcc.dated = tbc.dated WHERE tbc.dated BETWEEN ? AND ? `, [started, ended])) - 1; + stmts.push(` DROP TEMPORARY TABLE IF EXISTS tmp.timeControlCalculate, tmp.timeBusinessCalculate `); - let sql = ParameterizedSQL.join(stmts, ';'); - let result = await conn.executeStmt(sql); + + const sql = ParameterizedSQL.join(stmts, ';'); + const result = await conn.executeStmt(sql); return result[resultIndex]; }; From c7e2e3c703ade1b61a790d7f42c63831ba79efe1 Mon Sep 17 00:00:00 2001 From: jgallego Date: Mon, 7 Jun 2021 07:57:46 +0200 Subject: [PATCH 6/9] accountingType.isAutoConciliated == true --- modules/client/back/methods/client/createReceipt.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/client/back/methods/client/createReceipt.js b/modules/client/back/methods/client/createReceipt.js index cb7d7aabaa..7eb47e70a1 100644 --- a/modules/client/back/methods/client/createReceipt.js +++ b/modules/client/back/methods/client/createReceipt.js @@ -93,7 +93,7 @@ module.exports = function(Self) { clientOriginal.accountingAccount ], options); - } else { + } else if (accountingType.isAutoConciliated == true) { const description = `${clientOriginal.id} : ${clientOriginal.socialName} - ${accountingType.receiptDescription}`; const [xdiarioNew] = await Self.rawSql( `SELECT xdiario_new(?, CURDATE(), ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) ledger;`, From d164cb1c2c42ac3f89e10b657854b2bba81b57ee Mon Sep 17 00:00:00 2001 From: carlosjr Date: Tue, 8 Jun 2021 09:34:49 +0200 Subject: [PATCH 7/9] added waitForTimeout to e2e for the autocompleted fields --- e2e/paths/10-travel/01_create.spec.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/e2e/paths/10-travel/01_create.spec.js b/e2e/paths/10-travel/01_create.spec.js index 6f5956377c..e5d812ebd0 100644 --- a/e2e/paths/10-travel/01_create.spec.js +++ b/e2e/paths/10-travel/01_create.spec.js @@ -26,7 +26,8 @@ describe('Travel create path', () => { it('should fill the reference, agency and ship date then save the form', async() => { await page.write(selectors.travelIndex.reference, 'Testing reference'); await page.autocompleteSearch(selectors.travelIndex.agency, 'inhouse pickup'); - await page.pickDate(selectors.travelIndex.shipDate, date); + await page.pickDate(selectors.travelIndex.shipDate, date); // this line autocompletes another 3 fields + await page.waitForTimeout(1000); await page.waitToClick(selectors.travelIndex.save); const message = await page.waitForSnackbar(); @@ -35,8 +36,6 @@ describe('Travel create path', () => { }); it('should check the user was redirected to the travel basic data upon creation', async() => { - // backup code for further intermitences still on track. - // await page.screenshot({path: 'e2e/paths/10-travel/error.jpeg', type: 'jpeg'}); await page.waitForState('travel.card.basicData'); }); From f969323a86b0841bab241639b0ea099fd3cc7351 Mon Sep 17 00:00:00 2001 From: carlosjr Date: Tue, 8 Jun 2021 17:30:00 +0200 Subject: [PATCH 8/9] ticket create now takes clientFk from params --- modules/ticket/front/create/card.js | 2 +- modules/ticket/front/index/index.html | 2 +- modules/ticket/front/index/index.js | 8 ++++++++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/modules/ticket/front/create/card.js b/modules/ticket/front/create/card.js index 188d12d4d4..94efe5f126 100644 --- a/modules/ticket/front/create/card.js +++ b/modules/ticket/front/create/card.js @@ -101,7 +101,7 @@ class Controller extends Component { this.$http.get(`Agencies/getAgenciesWithWarehouse`, {params}).then(res => { this.agencies = res.data; - const defaultAgency = this.agencies.find(agency=> { + const defaultAgency = this.agencies.find(agency => { return agency.agencyModeFk == this.defaultAddress.agencyModeFk; }); if (defaultAgency) diff --git a/modules/ticket/front/index/index.html b/modules/ticket/front/index/index.html index 4865c8c62d..acef6cd230 100644 --- a/modules/ticket/front/index/index.html +++ b/modules/ticket/front/index/index.html @@ -166,7 +166,7 @@ vn-tooltip="Payment on account..." tooltip-position="left"> - + Date: Wed, 9 Jun 2021 09:33:33 +0200 Subject: [PATCH 9/9] new ticket index selector updated --- e2e/helpers/selectors.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/e2e/helpers/selectors.js b/e2e/helpers/selectors.js index 5060a8921c..a5da8dddd7 100644 --- a/e2e/helpers/selectors.js +++ b/e2e/helpers/selectors.js @@ -474,7 +474,7 @@ export default { advancedSearchDaysOnward: 'vn-ticket-search-panel vn-input-number[ng-model="filter.scopeDays"]', advancedSearchClient: 'vn-ticket-search-panel vn-textfield[ng-model="filter.clientFk"]', advancedSearchButton: 'vn-ticket-search-panel button[type=submit]', - newTicketButton: 'vn-ticket-index a[ui-sref="ticket.create"]', + newTicketButton: 'vn-ticket-index vn-button[icon="add"]', searchResult: 'vn-ticket-index vn-card > vn-table > div > vn-tbody > a.vn-tr', firstTicketCheckbox: 'vn-ticket-index vn-tbody > a:nth-child(1) > vn-td:nth-child(1) > vn-check', secondTicketCheckbox: 'vn-ticket-index vn-tbody > a:nth-child(2) > vn-td:nth-child(1) > vn-check',