Commit 05c767b0 authored by Rafael S Castilho's avatar Rafael S Castilho
Browse files

Merge branch 'fix_user' into 'development'

fix 'secretario departamento' user

See merge request !60
parents dcc43866 4d58615c
......@@ -9,11 +9,10 @@ module.exports = function(Bloco) {
user.getRole((err, role) => {
if(role === "secretario_dpto"){
acl_custom.aclSecretarioDpto(["Bloco","bloco"],ctx,next)}
})
else {
acl_custom.aclSecretarioSetor(["bloco","Bloco"],ctx,next)}
})
}
else
acl_custom.aclSecretarioSetor(["bloco","Bloco"],ctx,next)
})
})
}
})
};
\ No newline at end of file
......@@ -72,6 +72,12 @@
"permission": "ALLOW",
"property": "*"
},
{
"principalType": "ROLE",
"principalId": "secretario_dpto",
"permission": "ALLOW",
"property": "*"
},
{
"principalType": "ROLE",
"principalId": "admin",
......
......@@ -101,8 +101,13 @@ async function aclSecretarioDpto(_model,ctx,next) {
},
function(user,instance,secretario,modelo,callback) { // pega o departamento da instancia
app.models.Departamento.findById(modelo.departamentoCod,(err,obj)=>{
if(!obj)
return callback(true,{"code":3,"msg":"Departamento não existe"})
if(!obj){
app.models.Setor.findById(modelo.setorCod,(err,obj)=>{
if(!obj)
return callback(true,{"code":3,"msg":"Não pode acessar o setor ou departamento não existe"})
})
// return callback(true,{"code":3,"msg":"Departamento não existe"})
}
return callback(err,user,instance,secretario,obj)
})
},
......@@ -110,7 +115,11 @@ async function aclSecretarioDpto(_model,ctx,next) {
if (departamento.codigo == secretario.valor_vinculo)
return callback(true,{"code":2}) // pode salvar
else
return callback(true,{"code":3,"msg":"O secretário não possui permissao para alterar este modelo"}) // não salva, departamento diferentes
if(secretario.vinculo == "setor" )
if (setor.codigo == secretario.valor_vinculo)
return callback(true,{"code":2}) // pode salvar
else
return callback(true,{"code":3,"msg":"O secretário não possui permissao para alterar este modelo"}) // não salva, setor diferentes
}
], function(err,result){
......@@ -170,7 +179,7 @@ function aclSecretarioSetor(_model,ctx,next) {
})
},
function(user,instance,secretario,setor,callback) { // verifica se o setor da instancia é igual a do secretario
if(secretario.vinculo == "setor" )
if(secretario.vinculo == "setor" )
if (setor.codigo == secretario.valor_vinculo)
return callback(true,{"code":2}) // pode salvar
else
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment