Interceptar delete action do scaffold
25/08/2010 00:00
if (actionName == "delete")..., pois quando se clica no botão delete gerado o action name passado é o index. Como fazer isso pelo filtro?
import org.grails.plugins.springsecurity.service.AuthenticateService
class CrewController {
def authenticateService
...
def delete = {
def crewInstance = Crew.get(params.id)
// Busca o usuário logado no sistema pelo authenticateService provido pelo plugin
def company = User.get(authenticateService.userDomain().id)?.company
if (crewInstance && (crewInstance.groupLine.company == company || company == null)) {
try {
crewInstance.delete(flush: true)
flash.message = "${message(code: 'default.deleted.message', args: [message(code: 'crew.label', default: 'Crew'), params.id])}"
redirect(action: "list")
}
catch (org.springframework.dao.DataIntegrityViolationException e) {
flash.message = "${message(code: 'default.not.deleted.message', args: [message(code: 'crew.label', default: 'Crew'), params.id])}"
redirect(action: "show", id: params.id)
}
}
else {
flash.message = "${message(code: 'default.not.found.message', args: [message(code: 'crew.label', default: 'Crew'), params.id])}"
redirect(action: "list")
}
}
import org.grails.plugins.springsecurity.service.AuthenticateService
class CrewController {
def authenticateService
...
def delete = {
def crewInstance = Crew.get(params.id)
// Busca o usuário logado no sistema pelo authenticateService provido pelo plugin
def company = User.get(authenticateService.userDomain().id)?.company
if (crewInstance && (crewInstance.groupLine.company == company || company == null)) {
try {
crewInstance.delete(flush: true)
flash.message = "${message(code: 'default.deleted.message', args: [message(code: 'crew.label', default: 'Crew'), params.id])}"
redirect(action: "list")
}
catch (org.springframework.dao.DataIntegrityViolationException e) {
flash.message = "${message(code: 'default.not.deleted.message', args: [message(code: 'crew.label', default: 'Crew'), params.id])}"
redirect(action: "show", id: params.id)
}
}
else {
flash.message = "${message(code: 'default.not.found.message', args: [message(code: 'crew.label', default: 'Crew'), params.id])}"
redirect(action: "list")
}
}
Para se registrar, clique aqui.