Prezados,
Preciso fazer aprovação de formulário depois de cadastrado , mais de um usuário irá aprovar de acordo com cada grupo e tipo de cadastro.
vamos debater as ideias, alguém ?
Prezados,
Preciso fazer aprovação de formulário depois de cadastrado , mais de um usuário irá aprovar de acordo com cada grupo e tipo de cadastro.
vamos debater as ideias, alguém ?
GIlmar, a forma mais simples é você ter um campo de aprovado ou não no model e ai exibir esse campo para quem pode aprovar, e não exibir para quem não pode. Neste caso, você terá níveis de usuários para controlar isso.
Tem alguma ideia diferente?
Bom estou pensando em fazer da seguinte formar como meus aprovador pode variar e o cadastro não tem um padrão até o momento, vou pegar um usuário que vai ser sempre o aprovador e ele setar para qual usuário deve aprovar, sendo que pode ter mais de um aprovador e somente Jesus sabe quem vai ser o aprovador ....
vou criar uma tabela que vincula os usuários ao formulário tenha campo de aprovação com a data e hora, depois trato na view/model os registros.
o que acha ?
Gilmar, não faz sentido selecionar o usuário que vai aprovar se pode ter mais de uma pessoa que pode fazer isso. Isso só vai tornar as coisas mais complicadas. Digamos então que eu vá submeter um formulário e quero selecionar duas pessoas para aprovar e outro colega quer selecionar 3, como você resolve isso?
Se você tem uma equipe que cadastra e outra que aprova, não importando quem seja, então é melhor não fazer isso.
O que você pode fazer é: Quando houver o cadastro, você registra quem cadastrou e quando houver aprovação, você registra quem aprovou com base na sessão das duas pessoas, isso não precisa estar no formulário (a não ser que queira colocar como campos invisíveis). Por as datas de cadastro e aprovação me parece uma boa ideia sim.
"O que você pode fazer é: Quando houver o cadastro, você registra quem cadastrou e quando houver aprovação, você registra quem aprovou com base na sessão das duas pessoas, isso não precisa estar no formulário (a não ser que queira colocar como campos invisíveis). Por as datas de cadastro e aprovação me parece uma boa ideia sim."
Por ai, espero chegar a uma categoria se tiver mais usuários para enviar form para aprovação vou ter que definir a regra de negocio com categoria.
cada setor tem seu responsável para aprovação, o admin defini quem pode aprovar o que, faço registro no banco com datas e update também terei um um processo para finalizar o cadastro, admin definiu quem vai aprovar, recebem a notificação por email, assim que todos aprovar e nao estiver com mais aprovador, manda um alert para o admin, o mesmo vai lá confere e fecha manual confirmando os dados se estão todos corretos.
todos esses passo para controlar tempo de resposta de cada aprovador lembrando que vou ter uma revisão de cadastro para os aprovadores,
tipo não aprovado, vai ter que justificar.
Então, o problema começou a crescer. Você começou a falar somente de aprovação e reprovação. Por isso chutei a solução mais simples. Conforme você for respondendo adicionando mais elementos, vamos discutindo e evoluindo a solução.
O que você acha de expor o cenário por completo pra que a gente pense também em uma solução completa?
Então, acho que é simples já tenho formulário cadastrado tem campo aprovação como null que quando todos aprovar o admin processa(manualmente, update desse campo) e finaliza(vai para view de cadastros finalizados)
na view dos aprovadores vai buscar os formularios com seu usuario(pega ID do usuario logado) para aprovar codição seja 'Null'(marca box, processa,aprova) atualiza o campo para SIM
lembrando que vamos duplicar o código da tabela aprovadores, vou tratar na View para não repetir, mais no banco fica duplicado
regra(if busca no banco compara se já existe formulário e usuário já adicionado, que seja iguais) para não adicionar o formulário para o mesmo usuário varias vezes
duvida: Tem como adicionar imagem aqui? ficaria mais fácil
duvida: liberar View para um único usuário e demais bloquear
tipo assim usando o Midleware
public function handle($request, Closure $next)
{
if(!$request->is('login') && \Auth::guest()){
return redirect('/login');
}
return $next($request);
porem com um usuário, seria libera essa view para Gilmar e o resto apenas não visualiza no menu e nem acessa direto.
escrevi muito, esta nem na metade, esta entendendo por ai ?