Problema com método addTo*
15/01/2014 09:28
Class Chamado implements Serializable{
...
hasMany = [atendimentos: Atendimento]
...
}
Class Atendimento implements Serializable{
...
belongsTo = [chamado: Chamado]
...
}
def regAtendimento(Long id){
def chamadoInstance = Chamado.get(id)
if (!chamadoInstance) {
flash.message = message(code: 'default.not.found.message', args: [message(code: 'Chamado.label', default: 'Chamado'), id])
return
}
chamadoInstance.status = StatusChamado.findByCodigo("MOV") // altera o status
if (!chamadoInstance.save(flush: true)) {
render(view: "editAtendimento", model: [chamadoInstance: chamadoInstance])
return
}
def mov = chamadoService.registraAtendimentoSaida("") //retorna uma instância de Atendimento com valores predefinidos de saída.
//mov.chamado = chamadoInstance // tentei persistir direto, mas também não funcionou.
//mov.save(flush:true)
chamadoInstance.addToAtendimentos(mov) // relaciona aqui
Usuario user = usuarioService.usuarioLogado()
user.lotacao.removeFromChamados(chamadoInstance) // aqui ta OK
redirect(action: "showChamado", id: chamadoInstance.id)
}
Para se registrar, clique aqui.