blob: 9bf85904a3562f0d36f9187600c2b75eac356802 [file]
package ${packageName}
import grails.plugin.springsecurity.SpringSecurityUtils
import grails.validation.ValidationException
class ${saClassName}Controller extends grails.plugin.springsecurity.ui.AbstractS2UiDomainController {
${saClassName}Service ${camelCaseSaName}Service
static allowedMethods = [save: "POST", update: "POST", delete: "POST"]
static defaultAction = 'index'
def search() { redirect action: "index", method: "GET" }
protected Class<?> getClazz() { ${saClassName} }
protected String getClassLabelCode() { '${camelCaseSaName}.label' }
protected Map model(${camelCaseSaName}, String action) {
[ ${camelCaseSaName}: ${camelCaseSaName}]
}
def index(Integer max) {
params.max = Math.min(max ?: 10, 100)
params.offset = Math.max(params.offset ? params.int('offset') : 0, 0)
def model = [:]
model.results = ${camelCaseSaName}Service.list(params)
model.totalCount = ${camelCaseSaName}Service.count()
addQueryParamsToModelForPaging(model,
<% for(int i=1; i <= numberOfQuestions.toInteger(); i++) { %>'myQuestion${i}','myAnswer${i}',<% } %>
'id', '${userPropName}.id'
)
render view: 'index', model: model
}
def show(Long id) {
redirect action: 'edit', id: id
}
def create() {
respond new ${saClassName}(params), model : ['users': ${userPropName.capitalize()}.list(),'lookupProp':SpringSecurityUtils.securityConfig.userLookup.usernamePropertyName]
}
def save(${saClassName} ${camelCaseSaName}) {
withForm {
if (${camelCaseSaName} == null) {
notFound()
return
}
try {
${camelCaseSaName}Service.save(${camelCaseSaName})
} catch (ValidationException e) {
respond ${camelCaseSaName}.errors, view:'create', model : ['users': ${userPropName.capitalize()}.list(),'lookupProp':SpringSecurityUtils.securityConfig.userLookup.usernamePropertyName]
return
}
request.withFormat {
form multipartForm {
flashCreated(${camelCaseSaName}.id)
redirect action:"index", method:"GET"
}
'*' { respond ${camelCaseSaName}, [status: CREATED] }
}
}.invalidToken {
doSaveWithInvalidToken()
}
}
def edit(Long id) {
respond ${camelCaseSaName}Service.get(id), model : ['users': ${userPropName.capitalize()}.list(),'lookupProp':SpringSecurityUtils.securityConfig.userLookup.usernamePropertyName]
}
def update(${saClassName} ${camelCaseSaName}) {
withForm {
if (${camelCaseSaName} == null) {
notFound()
return
}
try {
${camelCaseSaName}Service.save(${camelCaseSaName})
} catch (ValidationException e) {
respond ${camelCaseSaName}.errors, view:'edit'
return
}
request.withFormat {
form multipartForm {
flashUpdated()
redirect action:"index", method:"GET"
}
'*'{ respond ${camelCaseSaName}, [status: OK] }
}
}.invalidToken {
doUpdateWithInvalidToken()
}
}
def delete(Long id) {
withForm {
if (id == null) {
notFound()
return
}
${camelCaseSaName}Service.delete(id)
request.withFormat {
form multipartForm {
flashDeleted()
redirect action:"index", method:"GET"
}
'*'{ render status: NO_CONTENT }
}
}.invalidToken {
doDeleteWithInvalidToken()
}
}
protected void notFound() {
request.withFormat {
form multipartForm {
flashNotFound()
redirect action: "index", method: "GET"
}
'*'{ render status: NOT_FOUND }
}
}
}