4658-createWorker #1236
|
@ -227,7 +227,12 @@ module.exports = Self => {
|
||||||
throw e;
|
throw e;
|
||||||
}
|
}
|
||||||
|
|
||||||
await models.Worker.workerWelcomeEmail(client.id);
|
await models.user.resetPassword({
|
||||||
|
email: args.email,
|
||||||
|
emailTemplate: 'worker-welcome',
|
||||||
|
id: client.id
|
||||||
|
});
|
||||||
|
|
||||||
return client.id;
|
return client.id;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,78 +0,0 @@
|
||||||
const {Email} = require('vn-print');
|
|
||||||
|
|
||||||
module.exports = Self => {
|
|
||||||
Self.remoteMethodCtx('workerWelcomeEmail', {
|
|
||||||
description:
|
|
||||||
'Sends the welcome email to the new worker',
|
|
||||||
accessType: 'WRITE',
|
|
||||||
accepts: [
|
|
||||||
{
|
|
||||||
arg: 'id',
|
|
||||||
type: 'number',
|
|
||||||
required: true,
|
|
||||||
description: 'The worker id',
|
|
||||||
http: {source: 'path'},
|
|
||||||
}
|
|
||||||
],
|
|
||||||
returns: {
|
|
||||||
type: ['object'],
|
|
||||||
root: true,
|
|
||||||
},
|
|
||||||
http: {
|
|
||||||
path: '/:id/worker-welcome-email',
|
|
||||||
verb: 'POST',
|
|
||||||
},
|
|
||||||
});
|
|
||||||
|
|
||||||
Self.workerWelcomeEmail = async ctx => {
|
|
||||||
const models = Self.app.models;
|
|
||||||
const userId = ctx.req.accessToken.userId;
|
|
||||||
const $t = ctx.req.__; // $translate
|
|
||||||
const origin = ctx.req.headers.origin;
|
|
||||||
|
|
||||||
const args = Object.assign({}, ctx.args);
|
|
||||||
const params = {
|
|
||||||
recipient: args.recipient,
|
|
||||||
lang: ctx.req.getLocale(),
|
|
||||||
};
|
|
||||||
|
|
||||||
delete args.ctx;
|
|
||||||
for (const param in args) params[param] = args[param];
|
|
||||||
|
|
||||||
const claim = await models.Claim.findById(args.id, {
|
|
||||||
fields: ['id', 'clientFk'],
|
|
||||||
include: {
|
|
||||||
relation: 'client',
|
|
||||||
scope: {
|
|
||||||
fields: ['name', 'salesPersonFk'],
|
|
||||||
},
|
|
||||||
},
|
|
||||||
});
|
|
||||||
|
|
||||||
const message = $t('Claim pickup order sent', {
|
|
||||||
claimId: args.id,
|
|
||||||
clientName: claim.client().name,
|
|
||||||
claimUrl: `${origin}/#!/claim/${args.id}/summary`,
|
|
||||||
});
|
|
||||||
|
|
||||||
const salesPersonId = claim.client().salesPersonFk;
|
|
||||||
if (salesPersonId)
|
|
||||||
await models.Chat.sendCheckingPresence(ctx, salesPersonId, message);
|
|
||||||
|
|
||||||
await models.ClaimLog.create({
|
|
||||||
originFk: args.id,
|
|
||||||
userFk: userId,
|
|
||||||
action: 'insert',
|
|
||||||
description: 'Claim-pickup-order sent',
|
|
||||||
changedModel: 'Mail',
|
|
||||||
});
|
|
||||||
|
|
||||||
const email = new Email('worker-welcome', {
|
|
||||||
recipient: args.email,
|
|
||||||
lang: ctx.req.getLocale(),
|
|
||||||
});
|
|
||||||
|
|
||||||
await email.send();
|
|
||||||
// TODO: or use same funcionality back/methods/account/recover-password.js
|
|
||||||
};
|
|
||||||
};
|
|
Loading…
Reference in New Issue