ufjf-dcc / tcc-web

4 stars 12 forks source link

Acesso de aluno #26

Closed jairofsouza closed 9 years ago

jairofsouza commented 9 years ago

Se acabou o semestre, o aluno deixa de ser ativo e perde o acesso ao sistema. Os dados dele continuam no sistema, mas ele não tem mais acesso.

Quando começar o semestre, o coordenador marca quem são os alunos ativos daquele semestre. A partir dai, os alunos vão cadastrar o seu projeto de tcc.

lucaslarcher commented 9 years ago

Para os usuários alunos não estejam mais ativos, basta mudar o submit do CadastroPrazosController mudando o message.box de mensagem de sucesso para o seguinte:

(linha 153) Messagebox.show("Calendário cadastrado com sucesso.", "Concluído", Messagebox.OK, Messagebox.INFORMATION, new EventListener() { public void onEvent(Event evt) throws InterruptedException { UsuarioBusiness ub = new UsuarioBusiness(); List usuariosCurso = ub.getAllByCurso(getUsuario().getCurso()); for(int i=0;i<usuariosCurso.size();i++) if(usuariosCurso.get(i).getTipoUsuario().getIdTipoUsuario() == Usuario.ALUNO) { usuariosCurso.get(i).setAtivo(false); ub.editar(usuariosCurso.get(i)); } Executions.sendRedirect("/pages/home-professor.zul"); } });

para o usuário aluno não visualizar mais é so mudar o myTCC do MenuController para:

@Command
public void myTcc() {
    if (getUsuario() != null
            && getUsuario().getTipoUsuario().getIdTipoUsuario() == Usuario.ALUNO) {
        if (getCurrentCalendar() != null) {
            TCC tccUsuario = (new TCCBusiness()).getCurrentTCCByAuthor(getUsuario(), getCurrentCalendar(getUsuario().getCurso()));
            if(tccUsuario==null)
                tccUsuario = new TCC();
            if (getUsuario().isAtivo() && tccUsuario.getArquivoTCCFinal()==null && tccUsuario.getDataEnvioFinal()==null)
                Executions.sendRedirect("/pages/editor.zul");
            else
                Messagebox
                        .show("Você não pode iniciar ou modificar um projeto.\n Entre em contato com o coordenador do curso.",
                                "Erro", Messagebox.OK, Messagebox.ERROR);
        } else {
            Messagebox.show(
                    "Não há nenhum Calendário cadastrado no Sistema!",
                    "Erro", Messagebox.OK, Messagebox.ERROR);
        }
    }
}

Para ativar os usuários, clicar no checkbox do editar-usuario.zul, depois das seguintes mudanças:

editar o edit-usuario.zul (linha 145) <checkbox checked="@load(each.ativo)" disabled="false" onClick="@command('mudarAtivo',check=self,usuario=each)"/>

e em GerenciamentoUsuarioController adicionar a função:

@Command
public void mudarAtivo(@BindingParam("check") final Checkbox check,@BindingParam("usuario") final Usuario usuario)
{
    String mensagem;
    if(usuario.isAtivo())
        mensagem = "Tem certeza que deseja destivar o usuário?";
    else
        mensagem = "Tem certeza que deseja ativar o usuário?";

    Messagebox.show(mensagem, "Confirmação", Messagebox.YES | Messagebox.NO, Messagebox.QUESTION, new org.zkoss.zk.ui.event.EventListener() {
        public void onEvent(Event evt) throws InterruptedException {
            if (evt.getName().equals("onYes")) {
                usuario.setAtivo(check.isChecked());
                usuarioBusiness.editar(usuario);
            } 
            else
                check.setChecked(usuario.isAtivo());
        }
    });
}