source: trunk/src/templates/scaffolding/create.gsp @ 178

Last change on this file since 178 was 178, checked in by gav, 14 years ago

Resolve ticket #12 again.
Turn query cache on again since this did not resolve the problem.
Implement fix as per http://jira.codehaus.org/browse/GRAILS-5111, add flush:true to save.
Adjust templates to include above and remove home url.
Re-generate all non detailed views and controllers.
Manually add flush:true and remove home url to detailed views and controllers.

File size: 2.8 KB
Line 
1<% import org.codehaus.groovy.grails.orm.hibernate.support.ClosureEventTriggeringInterceptor as Events %>
2<%=packageName%>
3<html>
4    <head>
5        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
6        <meta name="layout" content="main" />
7        <title>Create ${className}</title>
8    </head>
9    <body>
10        <div class="nav">
11            <span class="menuButton"><g:link class="list" action="list">${className} List</g:link></span>
12        </div>
13        <div class="body">
14            <h1>Create ${className}</h1>
15            <g:if test="\${flash.message}">
16            <div class="message">\${flash.message}</div>
17            </g:if>
18            <g:hasErrors bean="\${${propertyName}}">
19            <div class="errors">
20                <g:renderErrors bean="\${${propertyName}}" as="list" />
21            </div>
22            </g:hasErrors>
23            <g:form action="save" method="post" <%= multiPart ? ' enctype="multipart/form-data"' : '' %>>
24                <div class="dialog">
25                    <table>
26                        <tbody>
27                        <%
28
29                            excludedProps = ['version',
30                                             'id',
31                                               Events.ONLOAD_EVENT,
32                                               Events.BEFORE_DELETE_EVENT,
33                                               Events.BEFORE_INSERT_EVENT,
34                                               Events.BEFORE_UPDATE_EVENT]
35                            props = domainClass.properties.findAll { !excludedProps.contains(it.name) }
36
37                            Collections.sort(props, comparator.constructors[0].newInstance([domainClass] as Object[]))
38                            props.each { p ->
39                                if(!Collection.class.isAssignableFrom(p.type)) {
40                                    cp = domainClass.constrainedProperties[p.name]
41                                    display = (cp ? cp.display : true)       
42                                    if(display) { %>
43                            <tr class="prop">
44                                <td valign="top" class="name">
45                                    <label for="${p.name}">${p.naturalName}:</label>
46                                </td>
47                                <td valign="top" class="value \${hasErrors(bean:${propertyName},field:'${p.name}','errors')}">
48                                    ${renderEditor(p)}
49                                </td>
50                            </tr>
51                        <%  }   }   } %>
52                        </tbody>
53                    </table>
54                </div>
55                <div class="buttons">
56                    <span class="button"><input class="save" type="submit" value="Create" /></span>
57                </div>
58            </g:form>
59        </div>
60    </body>
61</html>
Note: See TracBrowser for help on using the repository browser.