[RESOLVIDO]Listar Itens de determinado Usuário
20/09/2010 00:00
0
Boa noite, sou iniciante em Grails e estou fazendo um trabalho aqui que e algo como um boletim escolar. Tenho a tabela dos professores, a dos alunos e uma de avaliação onde os alunos recebem as notas. A relação entre Aluno e Avaliação é 1 para N visto que cada aluno tem Várias avaliações, uma por disciplina e cada avaliação pertence a 1 aluno específico. A lógica é a mesma para os professores, um professor tem N avaliações, uma para cada aluno porem cada avaliação pertence a um professor e a um aluno.
Bem, preciso que apos o professor logar no sistema, a action list me list as avaliações somente do professor logado.

def list = {
params.max = Math.min(params.max ? params.int('max') : 10, 100)
[avaliacaoInstanceList: Avaliacao.findAllByProfessor("${session.login}"), avaliacaoInstanceTotal: Avaliacao.findAllByProfessor("${session.login}")]

Para leitores mais experientes isso deve parecer a maior gambiarra, mais sou iniciante, entao desculpas rsrs, mais aqui, tentei fazer isso, fiz um teste com uma tabela simples, onde eu troco findAllByProfessor por um findAllByNome por exemplo e "${session.login}" por uma string qualquer e funcionou, mais aqui, professor e um objeto da classe Professor e não uma String. Gostaria de uma luz, eu pensei uma possibilidade: Uma forma de transformar o atributo Professor dentro de avaliação em string e pegar o usuário logado pela session. Não sei se isso e possível. Estou aberto a sugestoes e ajuda

Ah. PS. eu faço o login no braço, não usei nenhum plugin especifico ( por exemplo o Acegi) para controlar isso nao.

Muito obrigado a todos e que Deus abençoe a todos vocês!

Henrique
<!-- e --><a href="mailto:henriquec3_3@hotmail.com">henriquec3_3@hotmail.com</a><!-- e -->
<!-- e --><a href="mailto:henrique.tecinfo@gmail.com">henrique.tecinfo@gmail.com</a><!-- e -->
Obrigado a todos
Tags: Grails


0
Segundo sua lógica, Um professor terá várias avaliações.

Então, se você mapeou as classes e seus relacionamentos corretamente, em professor terá uma lista de avaliações.

Seria apenas carregar o professor logado e dar um .getAvaliacoes();
ex.:

profLogado = Professor.findByLogin(&quot;${session.login}&quot;);
listaAvaliacoes = profLogado.getAvaliacoes();
[avaliacaoInstanceList&#58; listaAvaliacoes , avaliacaoInstanceTotal&#58; listaAvaliacoes.size()];
21/09/2010 00:00


0
[quote=&quot;igorhara&quot;]Segundo sua lógica, Um professor terá várias avaliações.

Então, se você mapeou as classes e seus relacionamentos corretamente, em professor terá uma lista de avaliações.

Seria apenas carregar o professor logado e dar um .getAvaliacoes();
ex.:

profLogado = Professor.findByLogin(&quot;${session.login}&quot;);
listaAvaliacoes = profLogado.getAvaliacoes();
[avaliacaoInstanceList&#58; listaAvaliacoes , avaliacaoInstanceTotal&#58; listaAvaliacoes.size()];
[/quote]


Cara Obrigado, Funcionou corretamente... Vou deixar o Código que usei aqui embaixo para caso alguém precise

def profLogado = Professor.findByLogin(&quot;${session.professor.login}&quot;);
def listaAvaliacao = profLogado.getAvaliacao();
[avaliacaoInstanceList&#58; listaAvaliacao , avaliacaoInstanceTotal&#58; listaAvaliacao.size()];


Obrigado Mesmo.
21/09/2010 00:00



Ainda não faz parte da comunidade???

Para se registrar, clique aqui.


Aprenda Groovy e Grails com a Formação itexto!

Newsletter Semana Groovy

Assinar

Envie seu link!


Livro de Grails


/dev/All

Os melhores blogs de TI (e em português) em um único lugar!

 
Creative Commons
RSS Grails Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.
Ver: 4.14.0
itexto