Skip to content

Commit

Permalink
Generate all for Owner
Browse files Browse the repository at this point in the history
  • Loading branch information
rainboyan committed Feb 7, 2024
1 parent a972062 commit c6e5a75
Show file tree
Hide file tree
Showing 8 changed files with 641 additions and 62 deletions.
156 changes: 94 additions & 62 deletions app/controllers/org/graceframework/samples/OwnerController.groovy
Original file line number Diff line number Diff line change
@@ -1,67 +1,99 @@
package org.graceframework.samples

import grails.validation.ValidationException
import static org.springframework.http.HttpStatus.*

class OwnerController {

def petclinicService

def add() {
if (request.method == 'GET') {
return [ownerBean: new Owner()]
}

def owner = petclinicService.createOwner(params.owner_firstName, params.owner_lastName,
params.owner_address, params.owner_city, params.owner_telephone)

if (owner.hasErrors()) {
return [ownerBean: owner]
}

redirect action: 'show', id: owner.id
}

def show() {
def owner = Owner.get(params.id)
if (!owner) {
response.sendError 404
return
}

[ownerBean: owner]
}

def edit() {
def owner = Owner.get(params.id)
if (request.method == 'GET') {
render view: 'add', model: [ownerBean: owner]
return
}

petclinicService.updateOwner(Owner.get(params.id), params.owner?.firstName, params.owner?.lastName,
params.owner?.address, params.owner?.city, params.owner?.telephone)

if (owner.hasErrors()) {
render view: 'add', model: [ownerBean: owner]
return
}

redirect action: 'show', id: owner.id
}

def find() {
if (!request.post) {
return
}

def owners = Owner.findAllByLastName(params.lastName)
if (!owners) {
return [message: 'owners.not.found']
}

if (owners.size() > 1) {
render view: 'selection', model: [owners: owners]
}
else {
redirect action: 'show', id: owners[0].id
}
}
OwnerService ownerService

static allowedMethods = [save: "POST", update: "PUT", delete: "DELETE"]

def index(Integer max) {
params.max = Math.min(max ?: 10, 100)
respond ownerService.list(params), model:[ownerCount: ownerService.count()]
}

def show(Long id) {
respond ownerService.get(id)
}

def create() {
respond new Owner(params)
}

def save(Owner owner) {
if (owner == null) {
notFound()
return
}

try {
ownerService.save(owner)
} catch (ValidationException e) {
respond owner.errors, view:'create'
return
}

request.withFormat {
form multipartForm {
flash.message = message(code: 'default.created.message', args: [message(code: 'owner.label', default: 'Owner'), owner.id])
redirect owner
}
'*' { respond owner, [status: CREATED] }
}
}

def edit(Long id) {
respond ownerService.get(id)
}

def update(Owner owner) {
if (owner == null) {
notFound()
return
}

try {
ownerService.save(owner)
} catch (ValidationException e) {
respond owner.errors, view:'edit'
return
}

request.withFormat {
form multipartForm {
flash.message = message(code: 'default.updated.message', args: [message(code: 'owner.label', default: 'Owner'), owner.id])
redirect owner
}
'*'{ respond owner, [status: OK] }
}
}

def delete(Long id) {
if (id == null) {
notFound()
return
}

ownerService.delete(id)

request.withFormat {
form multipartForm {
flash.message = message(code: 'default.deleted.message', args: [message(code: 'owner.label', default: 'Owner'), id])
redirect action:"index", method:"GET"
}
'*'{ render status: NO_CONTENT }
}
}

protected void notFound() {
request.withFormat {
form multipartForm {
flash.message = message(code: 'default.not.found.message', args: [message(code: 'owner.label', default: 'Owner'), params.id])
redirect action: "index", method: "GET"
}
'*'{ render status: NOT_FOUND }
}
}
}
18 changes: 18 additions & 0 deletions app/services/org/graceframework/samples/OwnerService.groovy
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package org.graceframework.samples

import grails.gorm.services.Service

@Service(Owner)
interface OwnerService {

Owner get(Serializable id)

List<Owner> list(Map args)

Long count()

void delete(Serializable id)

Owner save(Owner owner)

}
61 changes: 61 additions & 0 deletions app/views/owner/create.gsp
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
<!DOCTYPE html>
<html>
<head>
<meta name="layout" content="main" />
<g:set var="entityName" value="${message(code: 'owner.label', default: 'Owner')}" />
<title><g:message code="default.create.label" args="[entityName]" /></title>
</head>
<body>
<div id="content" role="main">
<div class="container">
<section class="row">
<a href="#create-owner" class="skip" tabindex="-1"><g:message code="default.link.skip.label" default="Skip to content&hellip;"/></a>
<div class="col-12" role="navigation">
<ul class="nav nav-pills">
<li class="nav-item">
<a class="nav-link" href="${createLink(uri: '/')}">
<i class="bi bi-house-fill"></i><g:message code="default.home.label"/>
</a>
</li>
<li class="nav-item">
<g:link class="nav-link" action="index">
<i class="bi bi-journals"></i><g:message code="default.list.label" args="[entityName]" />
</g:link>
</li>
</ul>
</div>
</section>
<section class="row">
<div id="create-owner" class="col-12 scaffold scaffold-create" role="main">
<h1><g:message code="default.create.label" args="[entityName]" /></h1>
<g:if test="${flash.message}">
<div class="alert alert-success" role="status"><i class="bi bi-info-circle">${flash.message}</div>
</g:if>
<g:hasErrors bean="${this.owner}">
<div class="alert alert-danger" role="alert">
<ul class="errors">
<g:eachError bean="${this.owner}" var="error">
<li <g:if test="${error in org.springframework.validation.FieldError}">data-field-id="${error.field}"</g:if>>
<i class="bi bi-exclamation-circle"></i><g:message error="${error}"/>
</li>
</g:eachError>
</ul>
</div>
</g:hasErrors>
<g:form resource="${this.owner}" method="POST">
<fieldset class="form">
<f:all bean="owner" except="pets"/>
</fieldset>
<fieldset class="buttons offset-3">
<button name="create" class="btn btn-primary">
<i class="bi bi-journal-plus"></i>
<g:message code="default.button.create.label" default="Create" />
</button>
</fieldset>
</g:form>
</div>
</section>
</div>
</div>
</body>
</html>
66 changes: 66 additions & 0 deletions app/views/owner/edit.gsp
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
<!DOCTYPE html>
<html>
<head>
<meta name="layout" content="main" />
<g:set var="entityName" value="${message(code: 'owner.label', default: 'Owner')}" />
<title><g:message code="default.edit.label" args="[entityName]" /></title>
</head>
<body>
<div id="content" role="main">
<div class="container">
<section class="row">
<a href="#edit-owner" class="skip" tabindex="-1"><g:message code="default.link.skip.label" default="Skip to content&hellip;"/></a>
<div class="col-12" role="navigation">
<ul class="nav nav-pills">
<li class="nav-item">
<a class="nav-link" href="${createLink(uri: '/')}">
<i class="bi bi-house-fill"></i><g:message code="default.home.label"/>
</a>
</li>
<li class="nav-item">
<g:link class="nav-link" action="index">
<i class="bi bi-journals"></i><g:message code="default.list.label" args="[entityName]" />
</g:link>
</li>
<li class="nav-item">
<g:link class="nav-link" action="create">
<i class="bi bi-journal-plus"></i><g:message code="default.new.label" args="[entityName]" />
</g:link>
</li>
</ul>
</div>
</section>
<section class="row">
<div id="edit-owner" class="col-12 scaffold scaffold-edit" role="main">
<h1><g:message code="default.edit.label" args="[entityName]" /></h1>
<g:if test="${flash.message}">
<div class="alert alert-success" role="status"><i class="bi bi-info-circle"></i>${flash.message}</div>
</g:if>
<g:hasErrors bean="${this.owner}">
<div class="alert alert-danger" role="alert">
<ul class="errors">
<g:eachError bean="${this.owner}" var="error">
<li <g:if test="${error in org.springframework.validation.FieldError}">data-field-id="${error.field}"</g:if>>
<i class="bi bi-exclamation-circle"></i><g:message error="${error}"/>
</li>
</g:eachError>
</ul>
</div>
</g:hasErrors>
<g:form resource="${this.owner}" method="PUT">
<g:hiddenField name="version" value="${this.owner?.version}" />
<fieldset class="form">
<f:all bean="owner" except="pets" />
</fieldset>
<fieldset class="buttons offset-3">
<button class="btn btn-primary">
<i class="bi bi-journal-check"></i><g:message code="default.button.update.label" default="Update" />
</button>
</fieldset>
</g:form>
</div>
</section>
</div>
</div>
</body>
</html>
46 changes: 46 additions & 0 deletions app/views/owner/index.gsp
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
<!DOCTYPE html>
<html>
<head>
<meta name="layout" content="main" />
<g:set var="entityName" value="${message(code: 'owner.label', default: 'Owner')}" />
<title><g:message code="default.list.label" args="[entityName]" /></title>
</head>
<body>
<div id="content" role="main">
<div class="container">
<section class="row">
<a href="#list-owner" class="skip" tabindex="-1"><g:message code="default.link.skip.label" default="Skip to content&hellip;"/></a>
<div class="col-12" role="navigation">
<ul class="nav nav-pills">
<li class="nav-item">
<a class="nav-link" href="${createLink(uri: '/')}">
<i class="bi bi-house-fill"></i><g:message code="default.home.label"/>
</a>
</li>
<li class="nav-item">
<g:link class="nav-link" action="create">
<i class="bi bi-journal-plus"></i><g:message code="default.new.label" args="[entityName]" />
</g:link>
</li>
</ul>
</div>
</section>
<section class="row">
<div id="list-owner" class="col-12 scaffold scaffold-list" role="main">
<h1><g:message code="default.list.label" args="[entityName]" /></h1>
<g:if test="${flash.message}">
<div class="alert alert-success" role="status"><i class="bi bi-info-circle"></i>${flash.message}</div>
</g:if>
<f:table collection="${ownerList}" except="pets" />

<g:if test="${ownerCount > params.int('max')}">
<nav aria-label="Page navigation">
<g:paginate total="${ownerCount ?: 0}" useIcons="true" align="center" />
</nav>
</g:if>
</div>
</section>
</div>
</div>
</body>
</html>
Loading

0 comments on commit c6e5a75

Please sign in to comment.