|
|
@ -1,5 +1,4 @@
|
|
|
|
module.exports = Self => {
|
|
|
|
module.exports = Self => {
|
|
|
|
const validateTin = require('vn-loopback/util/validateTin');
|
|
|
|
|
|
|
|
require('../methods/worker/filter')(Self);
|
|
|
|
require('../methods/worker/filter')(Self);
|
|
|
|
require('../methods/worker/mySubordinates')(Self);
|
|
|
|
require('../methods/worker/mySubordinates')(Self);
|
|
|
|
require('../methods/worker/isSubordinate')(Self);
|
|
|
|
require('../methods/worker/isSubordinate')(Self);
|
|
|
@ -23,26 +22,10 @@ module.exports = Self => {
|
|
|
|
require('../methods/worker/getAvailablePda')(Self);
|
|
|
|
require('../methods/worker/getAvailablePda')(Self);
|
|
|
|
require('../methods/worker/myTeam')(Self);
|
|
|
|
require('../methods/worker/myTeam')(Self);
|
|
|
|
|
|
|
|
|
|
|
|
Self.validateAsync('fi', tinIsValid, {
|
|
|
|
|
|
|
|
message: 'Invalid TIN'
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Self.canModifyAbsenceInPast = async(ctx, time) => {
|
|
|
|
Self.canModifyAbsenceInPast = async(ctx, time) => {
|
|
|
|
const hasPrivs = await Self.app.models.ACL.checkAccessAcl(ctx, 'Worker', 'canModifyAbsenceInPast', 'WRITE');
|
|
|
|
const hasPrivs = await Self.app.models.ACL.checkAccessAcl(ctx, 'Worker', 'canModifyAbsenceInPast', 'WRITE');
|
|
|
|
const today = Date.vnNew();
|
|
|
|
const today = Date.vnNew();
|
|
|
|
today.setHours(0, 0, 0, 0);
|
|
|
|
today.setHours(0, 0, 0, 0);
|
|
|
|
return hasPrivs || today.getTime() < time;
|
|
|
|
return hasPrivs || today.getTime() < time;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
async function tinIsValid(err, done) {
|
|
|
|
|
|
|
|
const country = await Self.app.models.Country.findOne({
|
|
|
|
|
|
|
|
fields: ['code'],
|
|
|
|
|
|
|
|
where: {id: this.originCountryFk}
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
const code = country ? country.code.toLowerCase() : null;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (!this.fi || !validateTin(this.fi, code))
|
|
|
|
|
|
|
|
err();
|
|
|
|
|
|
|
|
done();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
};
|
|
|
|
};
|
|
|
|