source: trunk/src/templates/scaffolding/edit.gsp @ 70

Last change on this file since 70 was 70, checked in by robert@…, 8 years ago
  • Installed templates (in order to extend session lifetime to 2 hours)
  • Implemented background worker to do work outside the HTTP request
File size: 3.9 KB
Line 
1<% import grails.persistence.Event %>
2<% import org.codehaus.groovy.grails.plugins.PluginManagerHolder %>
3<%=packageName%>
4<html>
5    <head>
6        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
7        <meta name="layout" content="main" />
8        <g:set var="entityName" value="\${message(code: '${domainClass.propertyName}.label', default: '${className}')}" />
9        <title><g:message code="default.edit.label" args="[entityName]" /></title>
10    </head>
11    <body>
12        <div class="nav">
13            <span class="menuButton"><a class="home" href="\${createLink(uri: '/')}"><g:message code="default.home.label"/></a></span>
14            <span class="menuButton"><g:link class="list" action="list"><g:message code="default.list.label" args="[entityName]" /></g:link></span>
15            <span class="menuButton"><g:link class="create" action="create"><g:message code="default.new.label" args="[entityName]" /></g:link></span>
16        </div>
17        <div class="body">
18            <h1><g:message code="default.edit.label" args="[entityName]" /></h1>
19            <g:if test="\${flash.message}">
20            <div class="message">\${flash.message}</div>
21            </g:if>
22            <g:hasErrors bean="\${${propertyName}}">
23            <div class="errors">
24                <g:renderErrors bean="\${${propertyName}}" as="list" />
25            </div>
26            </g:hasErrors>
27            <g:form method="post" <%= multiPart ? ' enctype="multipart/form-data"' : '' %>>
28                <g:hiddenField name="id" value="\${${propertyName}?.id}" />
29                <g:hiddenField name="version" value="\${${propertyName}?.version}" />
30                <div class="dialog">
31                    <table>
32                        <tbody>
33                        <%  excludedProps = Event.allEvents.toList() << 'version' << 'id' << 'dateCreated' << 'lastUpdated'
34                            persistentPropNames = domainClass.persistentProperties*.name
35                            props = domainClass.properties.findAll { persistentPropNames.contains(it.name) && !excludedProps.contains(it.name) }
36                            Collections.sort(props, comparator.constructors[0].newInstance([domainClass] as Object[]))
37                            display = true
38                            boolean hasHibernate = PluginManagerHolder.pluginManager.hasGrailsPlugin('hibernate')
39                            props.each { p ->
40                                if (hasHibernate) {
41                                    cp = domainClass.constrainedProperties[p.name]
42                                    display = (cp?.display ?: true)
43                                }
44                                if (display) { %>
45                            <tr class="prop">
46                                <td valign="top" class="name">
47                                  <label for="${p.name}"><g:message code="${domainClass.propertyName}.${p.name}.label" default="${p.naturalName}" /></label>
48                                </td>
49                                <td valign="top" class="value \${hasErrors(bean: ${propertyName}, field: '${p.name}', 'errors')}">
50                                    ${renderEditor(p)}
51                                </td>
52                            </tr>
53                        <%  }   } %>
54                        </tbody>
55                    </table>
56                </div>
57                <div class="buttons">
58                    <span class="button"><g:actionSubmit class="save" action="update" value="\${message(code: 'default.button.update.label', default: 'Update')}" /></span>
59                    <span class="button"><g:actionSubmit class="delete" action="delete" value="\${message(code: 'default.button.delete.label', default: 'Delete')}" onclick="return confirm('\${message(code: 'default.button.delete.confirm.message', default: 'Are you sure?')}');" /></span>
60                </div>
61            </g:form>
62        </div>
63    </body>
64</html>
Note: See TracBrowser for help on using the repository browser.