Manter parametros on submit
25/11/2016 09:20
def save() {
try {
flash.params = params
personService.savePerson(params)
flash.message = message(code: "zeta.person.save.success")
render(view: "create")
}catch (Exception e){
flash.error = message(code: e.message)
render(view: "create",var: params)
}
}
@Secured(['ROLE_ADMIN']) @Transactional def save() { def personInstance = new Person(params) try { flash.params = params personInstance = personService.savePerson(params) flash.message = message(code: "zeta.person.save.success") redirect(action: "show", id: personInstance.id) }catch (Exception e){ flash.error = message(code: e.message) render(view: 'create',model:[personInstance: personInstance]) } }Então quando cai nas exceptions o mesmo não mantém os dados.
def Person savePerson(params){ try { validadePerson(params) Person person = new Person() SecUser user = new SecUser() Role role = Role.findByAuthority(params.role) user.username = params.login user.password = params.password user.save() person.name = params.name person.surname = params.surname person.birth = new Date().parse("dd/MM/yyyy", params.birth) person.email = params.email person.secUser = user person.save() SecUserRole.create(user,role) return person }catch (Exception e){ throw e } } /** * * @param params */ def validadePerson(params){ if(params?.name == null || params?.name.toString().trim().isEmpty()){ throw new Exception("zeta.person.name.validate") } if(params?.surname == null || params?.surname.toString().trim().isEmpty()){ throw new Exception("zeta.person.surname.validate") } if(params?.birth == null || params?.birth.toString().trim().isEmpty()){ throw new Exception("zeta.person.birth.validate") } if(params?.email == null || params?.email.toString().trim().isEmpty()){ throw new Exception("zeta.person.email.validate") } if(params?.login == null || params?.login.toString().trim().isEmpty()){ throw new Exception("zeta.person.login.validate") } if(params?.password == null || params?.password.toString().trim().isEmpty()){ throw new Exception("zeta.person.password.validate") } if(params?.role == null || params?.role.toString().trim().isEmpty()){ throw new Exception("zeta.person.role.validate") } }
@Secured(['ROLE_ADMIN'])
@Transactional
def save() {
def personInstance = new Person(params)
try {
flash.params = params
personInstance = personService.savePerson(params)
flash.message = message(code: "zeta.person.save.success")
redirect(action: "show", id: personInstance.id)
}catch (Exception e){
flash.error = message(code: e.message)
render(view: 'create',model:[personInstance: personInstance])
}
}
/**
*
* @param params
* @return
*/
def Person savePerson(params){
try {
validadePerson(params)
Person person = new Person()
SecUser user = new SecUser()
Role role = Role.findByAuthority(params.role)
user.username = params.login
user.password = params.password
user.save()
person.name = params.name
person.surname = params.surname
person.birth = new Date().parse("dd/MM/yyyy", params.birth)
person.email = params.email
person.secUser = user
person.save()
SecUserRole.create(user,role)
return person
}catch (Exception e){
throw e
}
}
/**
*
* @param params
*/
def validadePerson(params){
if(params?.name == null || params?.name.toString().trim().isEmpty()){
throw new Exception("zeta.person.name.validate")
}
if(params?.surname == null || params?.surname.toString().trim().isEmpty()){
throw new Exception("zeta.person.surname.validate")
}
if(params?.birth == null || params?.birth.toString().trim().isEmpty()){
throw new Exception("zeta.person.birth.validate")
}
if(params?.email == null || params?.email.toString().trim().isEmpty()){
throw new Exception("zeta.person.email.validate")
}
if(params?.login == null || params?.login.toString().trim().isEmpty()){
throw new Exception("zeta.person.login.validate")
}
if(params?.password == null || params?.password.toString().trim().isEmpty()){
throw new Exception("zeta.person.password.validate")
}
if(params?.role == null || params?.role.toString().trim().isEmpty()){
throw new Exception("zeta.person.role.validate")
}
}
Para se registrar, clique aqui.