Closed jairofsouza closed 9 years ago
O coordenador pode criar usuários Aluno e Secretaria, então começamos com esse filtro
mudar quais usuários podem ser criados no combobox do gerenciamento-usuario.zul alterando o model e o onchange do combobox
(linha 169) model="@load(vm.tiposUsuarioSelecionado)"
(linha 171) onChange="@command('typeChange', titu=txtTitu, comboc=comboCurso, combod=comboDepartamento, label=login)"
mudar o label para mudar ele depois:
(linha 190) <label id="login" value="Login: " />
em combobox de curso colocar a tag value:
(linha 210) value="@load(vm.usuario.curso.nomeCurso)"
para alimentar isso vamos em GerenciamentoUsuarioController e criamos as funções:
public List
}
}
return tipos;
}
public String getCursoAtivo() { if(getUsuario().getTipoUsuario().getIdTipoUsuario() == Usuario.COORDENADOR) { return getUsuario().getCurso().getNomeCurso(); } return "Nenhum"; }
mudar a função TypeChange para o seguinte:
@Command public void typeChange(@BindingParam("titu") Textbox titulacao, @BindingParam("comboc") Combobox cmbCurso, @BindingParam("combod") Combobox cmbDep, @BindingParam("label") Label labelLogin) {
switch (newUsuario.getTipoUsuario().getIdTipoUsuario()) {
case Usuario.ALUNO:
newUsuario.setTitulacao(null);
titulacao.setReadonly(true);
titulacao.getParent().setVisible(false);
if(!(getUsuario().getTipoUsuario().getIdTipoUsuario() == Usuario.COORDENADOR))
cmbCurso.setDisabled(false);
cmbCurso.getParent().setVisible(true);
newUsuario.setDepartamento(null);
cmbDep.setDisabled(true);
cmbDep.getParent().setVisible(false);
labelLogin.setValue("Matricula: ");
break;
case Usuario.PROFESSOR:
titulacao.setReadonly(false);
titulacao.getParent().setVisible(true);
newUsuario.setCurso(null);
cmbCurso.setDisabled(true);
cmbCurso.getParent().setVisible(false);
cmbDep.setDisabled(false);
cmbDep.getParent().setVisible(true);
labelLogin.setValue("SIAPE: ");
break;
case Usuario.COORDENADOR:
titulacao.setReadonly(false);
titulacao.getParent().setVisible(true);
cmbCurso.setDisabled(false);
cmbCurso.getParent().setVisible(true);
cmbDep.setDisabled(false);
cmbDep.getParent().setVisible(true);
labelLogin.setValue("SIAPE: ");
break;
case Usuario.ADMINISTRADOR:
newUsuario.setTitulacao(null);
titulacao.getParent().setVisible(false);
titulacao.setReadonly(true);
newUsuario.setCurso(null);
cmbCurso.setDisabled(true);
cmbCurso.getParent().setVisible(false);
newUsuario.setDepartamento(null);
cmbDep.setDisabled(true);
cmbDep.getParent().setVisible(false);
labelLogin.setValue("Login: ");
break;
case Usuario.SECRETARIA:
newUsuario.setTitulacao(null);
titulacao.getParent().setVisible(false);
if(!(getUsuario().getTipoUsuario().getIdTipoUsuario() == Usuario.COORDENADOR))
cmbCurso.setDisabled(false);
cmbCurso.getParent().setVisible(true);
newUsuario.setDepartamento(null);
cmbDep.setDisabled(true);
cmbDep.getParent().setVisible(false);
labelLogin.setValue("Login: ");
break;
}
BindUtils.postNotifyChange(null, null, this, "newUsuario");
}
No submitUser logo depois do onEvente adionar o codigo
(linha 331) if(getUsuario().getTipoUsuario().getIdTipoUsuario() == Usuario.COORDENADOR) if(newUsuario!=null) newUsuario.setCurso(getUsuario().getCurso());
Nova restrição: coordenador não pode adicionar professores.
Em GerenciamentoUsuarioController, mudar a função getTiposUsuarioSelecionado mudar o if dentro do for para:
if(tipos.get(i).getIdTipoUsuario() == Usuario.ADMINISTRADOR || tipos.get(i).getIdTipoUsuario() == Usuario.COORDENADOR || tipos.get(i).getIdTipoUsuario() == Usuario.PROFESSOR)
Caso seja um usuário coordenador,
Caso seja um usuário administrador,
Ao cadastrar usuários, fazer com que os campos não editáveis sumam Ao cadastrar usuários, se for um usuário que não é prof ou coord ou aluno, deixar Login no lugar de SIAPE.