#6403 - mrwIntegration #2005
|
@ -22,7 +22,7 @@ module.exports = Self => {
|
|||
const {url} = await Self.app.models.Url.findOne({
|
||||
where: {
|
||||
appName,
|
||||
enviroment: process.env.NODE_ENV || 'development'
|
||||
environment: process.env.NODE_ENV || 'development'
|
||||
}
|
||||
});
|
||||
return url;
|
||||
|
|
|
@ -1,11 +1,7 @@
|
|||
const models = require('vn-loopback/server/server').models;
|
||||
|
||||
describe('sale usesMana()', () => {
|
||||
const ctx = {
|
||||
req: {
|
||||
accessToken: {userId: 18}
|
||||
}
|
||||
};
|
||||
const ctx = {req: { accessToken: {userId: 18}}};
|
||||
|
||||
it('should return that the worker uses mana', async() => {
|
||||
const tx = await models.Sale.beginTransaction({});
|
||||
|
@ -45,4 +41,27 @@ describe('sale usesMana()', () => {
|
|||
throw e;
|
||||
}
|
||||
});
|
||||
|
||||
it('should return that the worker does not use mana because it is excluded', async() => {
|
||||
const tx = await models.Sale.beginTransaction({});
|
||||
const buyerId = 35;
|
||||
const franceDepartmentId = 133;
|
||||
const buyerCtx = {req: {accessToken: {userId: buyerId}}};
|
||||
|
||||
try {
|
||||
const options = {transaction: tx}
|
||||
|
||||
await models.WorkerManaExcluded.create({workerFk: buyerId}, options);
|
||||
await models.Business.updateAll({workerFk: buyerId}, {departmentFk: franceDepartmentId}, options);
|
||||
|
||||
const usesMana = await models.Sale.usesMana(buyerCtx, options);
|
||||
|
||||
expect(usesMana).toBe(false);
|
||||
|
||||
await tx.rollback();
|
||||
} catch (e) {
|
||||
await tx.rollback();
|
||||
throw e;
|
||||
}
|
||||
});
|
||||
});
|
||||
|
|
|
@ -21,6 +21,9 @@ module.exports = Self => {
|
|||
if (typeof options == 'object')
|
||||
Object.assign(myOptions, options);
|
||||
|
||||
const isManaExcluded = await models.WorkerManaExcluded.findById(userId, null, myOptions);
|
||||
if (isManaExcluded) return false;
|
||||
|
||||
const salesDepartment = await models.Department.findOne({where: {code: 'VT'}, fields: 'id'}, myOptions);
|
||||
const departments = await models.Department.getLeaves(ctx, salesDepartment.id, null, myOptions);
|
||||
const workerDepartment = await models.WorkerDepartment.findById(userId, null, myOptions);
|
||||
|
|
|
@ -137,7 +137,8 @@ module.exports = Self => {
|
|||
tb.type,
|
||||
tb.businessFk,
|
||||
tb.permissionRate,
|
||||
d.isTeleworking
|
||||
d.isTeleworking,
|
||||
d.hasToRefill
|
||||
FROM tmp.timeBusinessCalculate tb
|
||||
JOIN account.user u ON u.id = tb.userFk
|
||||
JOIN department d ON d.id = tb.departmentFk
|
||||
|
@ -174,7 +175,7 @@ module.exports = Self => {
|
|||
myOptions.transaction = tx;
|
||||
try {
|
||||
workerFk = day.workerFk;
|
||||
if (day.timeWorkDecimal > 0 && day.timeWorkedDecimal == null
|
||||
if (day.hasToRefill && day.timeWorkDecimal > 0 && day.timeWorkedDecimal == null
|
||||
&& (day.permissionRate == null ? true : day.permissionRate)) {
|
||||
if (day.timeTable == null) {
|
||||
const timed = new Date(day.dated);
|
||||
|
|
|
@ -86,6 +86,9 @@
|
|||
"WorkerMana": {
|
||||
"dataSource": "vn"
|
||||
},
|
||||
"WorkerManaExcluded": {
|
||||
"dataSource": "vn"
|
||||
},
|
||||
"WorkerMistake": {
|
||||
"dataSource": "vn"
|
||||
},
|
||||
|
|
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
"name": "WorkerManaExcluded",
|
||||
"base": "VnModel",
|
||||
"options": {
|
||||
"mysql": {
|
||||
"table": "workerManaExcluded"
|
||||
}
|
||||
},
|
||||
"properties": {
|
||||
"workerFk": {
|
||||
"id": true,
|
||||
"type": "number"
|
||||
}
|
||||
},
|
||||
"relations": {
|
||||
"worker": {
|
||||
"type": "belongsTo",
|
||||
"model": "Worker",
|
||||
"foreignKey": "workerFk"
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue