- Timestamp:
- May 1, 2011, 12:46:31 PM (14 years ago)
- Location:
- trunk
- Files:
-
- 22 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk
-
Property
svn:mergeinfo
set to
/branches/features/grailsUpgrade merged eligible
-
Property
svn:mergeinfo
set to
-
trunk/application.properties
r900 r913 1 1 #Grails Metadata file 2 #T hu Jan 27 17:24:52EST 20113 app.grails.version=1. 2.22 #Tue Mar 22 15:05:37 EST 2011 3 app.grails.version=1.3.7 4 4 app.name=gnuMims 5 5 app.servlet.version=2.4 6 6 app.vcsRevision=$Rev$ 7 7 app.version= 8 plugins.acegi=0.5.2 9 plugins.class-diagram=0.5.1 10 plugins.export=0.6 11 plugins.filterpane=0.6.8 12 plugins.help-balloons=1.3 13 plugins.hibernate=1.2.2 14 plugins.jasper=0.9.7 15 plugins.navigation=1.1.1 16 plugins.quartz=0.4.2 17 plugins.richui=0.8 18 plugins.searchable=0.5.5 19 plugins.tomcat=1.2.2 8 plugins.hibernate=1.3.7 9 plugins.tomcat=1.3.7 -
trunk/grails-app/conf/BootStrap.groovy
r814 r913 1 1 class BootStrap 2 2 { 3 4 def sessionFactory // used by isDirty().5 def grailsApplication // used by isDirty().6 3 def createDataService 7 4 8 5 def init = { servletContext -> 9 10 /** Add isDirty() to domainClasses.11 * @todo remove after upgrading to Grails-1.3 >.12 * See: http://grails.1312388.n4.nabble.com/beforeUpdate-Compare-with-previous-set-value-isDirty-not-working-in-Events-td1695661.html13 */14 addDirtyCheckMethods()15 6 16 7 /** Environment specific settings. … … 46 37 } 47 38 48 private void addDirtyCheckMethods() {49 for (dc in grailsApplication.domainClasses) {50 addDirtyCheckMethods dc.clazz.metaClass51 }52 }53 54 private void addDirtyCheckMethods(metaClass) {55 metaClass.isDirty = { ->56 def session = sessionFactory.currentSession57 def entry = findEntityEntry(delegate, session)58 if (!entry) {59 return false60 }61 62 Object[] values = entry.persister.getPropertyValues(delegate, session.entityMode)63 def dirtyProperties = entry.persister.findDirty(values, entry.loadedState, delegate, session)64 return dirtyProperties != null65 }66 67 metaClass.isDirty = { String fieldName ->68 def session = sessionFactory.currentSession69 def entry = findEntityEntry(delegate, session)70 if (!entry) {71 return false72 }73 74 Object[] values = entry.persister.getPropertyValues(delegate, session.entityMode)75 int[] dirtyProperties = entry.persister.findDirty(values, entry.loadedState, delegate, session)76 int fieldIndex = entry.persister.propertyNames.findIndexOf { fieldName == it }77 return fieldIndex in dirtyProperties78 }79 80 metaClass.getDirtyPropertyNames = { ->81 def session = sessionFactory.currentSession82 def entry = findEntityEntry(delegate, session)83 if (!entry) {84 return []85 }86 87 Object[] values = entry.persister.getPropertyValues(delegate, session.entityMode)88 int[] dirtyProperties = entry.persister.findDirty(values, entry.loadedState, delegate, session)89 def names = []90 for (index in dirtyProperties) {91 names << entry.persister.propertyNames[index]92 }93 names94 }95 96 metaClass.getPersistentValue = { String fieldName ->97 def session = sessionFactory.currentSession98 def entry = findEntityEntry(delegate, session, false)99 if (!entry) {100 return null101 }102 103 int fieldIndex = entry.persister.propertyNames.findIndexOf { fieldName == it }104 return fieldIndex == -1 ? null : entry.loadedState[fieldIndex]105 }106 }107 108 private findEntityEntry(instance, session, boolean forDirtyCheck = true) {109 def entry = session.persistenceContext.getEntry(instance)110 if (!entry) {111 return null112 }113 114 if (forDirtyCheck && !entry.requiresDirtyCheck(instance) && entry.loadedState) {115 return null116 }117 118 entry119 }120 121 39 } // end class -
trunk/grails-app/conf/BuildConfig.groovy
-
Property
svn:mergeinfo
set to
/branches/features/grailsUpgrade/grails-app/conf/BuildConfig.groovy merged eligible /branches/features/purchaseOrders/grails-app/conf/BuildConfig.groovy merged eligible
r636 r913 1 1 grails.project.class.dir = "target/classes" 2 2 grails.project.test.class.dir = "target/test-classes" 3 grails.project.test.reports.dir 3 grails.project.test.reports.dir = "target/test-reports" 4 4 5 5 def env = System.getProperty('grails.env') … … 8 8 case "production": 9 9 //grails.project.war.file = "target/${appName}-${appVersion}.war" 10 grails.project.war.file ="target/${appName}Live.war"10 grails.project.war.file = "target/${appName}Live.war" 11 11 break 12 12 case "development": 13 grails.project.war.file ="target/${appName}Dev.war"13 grails.project.war.file = "target/${appName}Dev.war" 14 14 break 15 15 default: 16 grails.project.war.file ="target/${appName}.war"16 grails.project.war.file = "target/${appName}.war" 17 17 break 18 18 } 19 19 20 20 grails.war.resources = { stagingDir, args -> 21 // Remove some duplicate jars. 22 delete file: "${stagingDir}/WEB-INF/lib/jasperreports-2.0.5.jar" 23 delete file: "${stagingDir}/WEB-INF/lib/jasperreports-3.1.2.jar" 24 delete file: "${stagingDir}/WEB-INF/lib/aspectjrt-1.5.4.jar" 25 delete file: "${stagingDir}/WEB-INF/lib/commons-digester-1.7.jar" 26 delete file: "${stagingDir}/WEB-INF/lib/iText-2.0.8.jar" 21 // Remove some duplicate/not required jars. 22 // From export plugin lib dir. 27 23 delete file: "${stagingDir}/WEB-INF/lib/iText-2.1.5.jar" 28 delete file: "${stagingDir}/WEB-INF/lib/jfreechart-1.0.3.jar" 29 delete file: "${stagingDir}/WEB-INF/lib/poi-3.0.2-FINAL-20080204.jar" 30 delete file: "${stagingDir}/WEB-INF/lib/facebook-2.0.4.jar" 31 // Included by searchable plugin. 32 delete file: "${stagingDir}/WEB-INF/lib/compass-2.1.0.jar" 33 delete file: "${stagingDir}/WEB-INF/lib/compass-2.1.0-src.jar" 34 delete file: "${stagingDir}/WEB-INF/lib/lucene-core.jar" 35 delete file: "${stagingDir}/WEB-INF/lib/lucene-analyzers.jar" 36 delete file: "${stagingDir}/WEB-INF/lib/lucene-highlighter.jar" 37 delete file: "${stagingDir}/WEB-INF/lib/lucene-queries.jar" 38 delete file: "${stagingDir}/WEB-INF/lib/lucene-snowball.jar" 39 delete file: "${stagingDir}/WEB-INF/lib/lucene-spellchecker.jar" 24 // From acegi plugin lib dir. 25 delete file: "${stagingDir}/WEB-INF/lib/facebook-java-api-2.0.4.jar" 26 delete file: "${stagingDir}/WEB-INF/lib/easymock.jar" 27 delete file: "${stagingDir}/WEB-INF/lib/cas-client-core-3.1.1.jar" 28 delete file: "${stagingDir}/WEB-INF/lib/openid4java-0.9.2.jar" 29 40 30 } 41 31 … … 43 33 44 34 // inherit Grails' default dependencies 45 inherits( "global") {35 inherits("global") { 46 36 // uncomment to disable ehcache 47 37 // excludes 'ehcache' … … 51 41 52 42 repositories { 43 grailsHome() 53 44 grailsPlugins() 54 grails Home()45 grailsCentral() 55 46 56 47 // uncomment the below to enable remote dependency resolution … … 58 49 //mavenLocal() 59 50 mavenCentral() 51 mavenRepo "https://nexus.codehaus.org/content/repositories/snapshots" 60 52 //mavenRepo "http://snapshots.repository.codehaus.org" 61 53 //mavenRepo "http://repository.codehaus.org" 62 54 //mavenRepo "http://download.java.net/maven/2/" 63 55 //mavenRepo "http://repository.jboss.com/maven2/" 56 } 57 58 plugins { 59 runtime ':acegi:0.5.3' 60 runtime ':export:0.7' 61 runtime ':filterpane:0.7' 62 runtime ':help-balloons:1.4' 63 runtime(':jasper:1.1.3') { 64 transitive = false 65 } 66 runtime ':navigation:1.1.1' 67 runtime ':quartz:0.4.2' 68 runtime ':richui:0.8' 69 runtime ':searchable:0.6-SNAPSHOT' 70 71 test ':geb:0.6-SNAPSHOT' 72 test ':spock:0.5-groovy-1.7' 64 73 } 65 74 … … 69 78 runtime 'mysql:mysql-connector-java:5.1.9' 70 79 71 runtime ('org.apache.poi:poi:3.5-FINAL') { 72 excludes 'servlet-api', 'commons-logging', 'log4j' 80 // Japser plugin. 81 runtime('net.sf.jasperreports:jasperreports:3.7.2') { 82 excludes 'antlr', 'commons-beanutils', 'commons-collections', 'commons-logging', 83 'ant', 'mondrian', 'commons-javaflow','barbecue', 'xml-apis-ext','xml-apis', 'xalan', 'groovy-all', 'hibernate', 'saaj-api', 'servlet-api', 84 'xercesImpl','xmlParserAPIs','spring-core','bsh', 'spring-beans', 'jaxen', 'barcode4j','batik-svg-dom','batik-xml','batik-awt-util','batik-dom', 85 'batik-css','batik-gvt','batik-script', 'batik-svggen','batik-util','batik-bridge','persistence-api','jdtcore','bcmail-jdk14','bcprov-jdk14','bctsp-jdk14' 86 } 87 runtime('org.apache.poi:poi:3.5-FINAL') { 88 excludes 'log4j', 'commons-logging' 73 89 } 74 90 75 runtime ('net.sf.jasperreports:jasperreports:3.7.2') { 91 // Origin unknown, still required? 92 runtime('org.apache.ant:ant:1.7.1') 93 runtime('org.apache.ant:ant-launcher:1.7.1') 94 95 test('org.seleniumhq.selenium:selenium-htmlunit-driver:latest.release') { 76 96 excludes 'xml-apis' 77 97 } 78 79 runtime ('org.compass-project:compass:2.1.4')80 runtime ('org.apache.lucene:lucene-core:2.4.1')81 runtime ('org.apache.lucene:lucene-analyzers:2.4.1')82 runtime ('org.apache.lucene:lucene-highlighter:2.4.1')83 runtime ('org.apache.lucene:lucene-queries:2.4.1')84 runtime ('org.apache.lucene:lucene-snowball:2.4.1')85 runtime ('org.apache.lucene:lucene-spellchecker:2.4.1')86 87 runtime ('org.apache.ant:ant:1.7.1')88 runtime ('org.apache.ant:ant-launcher:1.7.1')89 90 98 } 91 99 -
Property
svn:mergeinfo
set to
-
trunk/grails-app/conf/SecurityConfig.groovy
r532 r913 44 44 '/plugins/*/css/**': ['IS_AUTHENTICATED_ANONYMOUSLY'], 45 45 '/plugins/*/js/**': ['IS_AUTHENTICATED_ANONYMOUSLY'], 46 '/classDiagram*': ['IS_AUTHENTICATED_FULLY'],47 '/classDiagram/**': ['IS_AUTHENTICATED_FULLY'],48 46 '/login*': ['IS_AUTHENTICATED_ANONYMOUSLY'], 49 47 '/login/**': ['IS_AUTHENTICATED_ANONYMOUSLY'], -
trunk/grails-app/controllers/AppCoreController.groovy
r707 r913 58 58 59 59 // Build the plugins string. 60 def pluginProperties = grailsApplication.metadata.findAll {it.key.contains('plugin')} 61 pluginProperties.each() { 62 it.key = WordUtils.capitalize( (it.key + GString.EMPTY).split("\\.")[-1] ) 63 } 64 pluginProperties = pluginProperties.sort { p1, p2 -> p1.key.compareToIgnoreCase(p2.key) } 65 def plugins = pluginProperties.collect{ it.key + '-' + it.value }.join(", ") 60 def userPlugins = org.codehaus.groovy.grails.plugins.PluginManagerHolder.pluginManager.userPlugins 61 62 userPlugins = userPlugins.sort { p1, p2 -> p1.name.compareToIgnoreCase(p2.name) } 63 64 def plugins = userPlugins.collect{ 65 WordUtils.capitalize(it.name) + '-' + it.version 66 }.join(", ") 66 67 67 68 def sections = Section.findAllByIsActive(true).sort { p1, p2 -> p1.name.compareToIgnoreCase(p2.name) } -
trunk/grails-app/controllers/AssetDetailedController.groovy
r749 r913 44 44 } 45 45 46 /** 47 * Build and return the compact asset tree response. 48 */ 49 @Secured(['ROLE_AppAdmin', 'ROLE_Manager', 'ROLE_AssetManager', 'ROLE_AssetUser']) 50 def assetTreeCompact = { 51 def assetInstance = Asset.read(params.id) 52 if(!assetInstance) { 53 render g.message(code: 'default.not.found', args: ['Asset',params.id]) 54 return 55 } 56 57 render(template:"/shared/assetTreeCompact", model:['assetInstance':assetInstance]) 58 } 59 46 60 @Secured(['ROLE_AppAdmin', 'ROLE_Manager', 'ROLE_AssetManager', 'ROLE_AssetUser']) 47 61 def exportAssetTreeHtml = { … … 150 164 if(params?.format && params.format != "html") { 151 165 152 def dateFmt = { d ate ->153 formatDate(format: "EEE, dd-MMM-yyyy", date: date)166 def dateFmt = { domain, value -> 167 formatDate(format: "EEE, dd-MMM-yyyy", date: value) 154 168 } 155 169 156 // def fmtAsset = { m ->170 // def fmtAsset = { d, m -> 157 171 // def r = '' 158 172 // def assetInstance = Asset.findByName(m) … … 170 184 // } 171 185 172 // def fmtSubAsset = { m ->186 // def fmtSubAsset = { d, m -> 173 187 // def r = '' 174 188 // m.each() { -
trunk/grails-app/controllers/AssetSubItemDetailedController.groovy
r658 r913 60 60 if(params?.format && params.format != "html") { 61 61 62 def dateFmt = { d ate ->63 formatDate(format: "EEE, dd-MMM-yyyy", date: date)62 def dateFmt = { domain, value -> 63 formatDate(format: "EEE, dd-MMM-yyyy", date: value) 64 64 } 65 65 -
trunk/grails-app/controllers/InventoryItemDetailedController.groovy
r727 r913 292 292 if(params?.format && params.format != "html") { 293 293 294 def dateFmt = { d ate ->295 formatDate(format: "EEE, dd-MMM-yyyy", date: date)294 def dateFmt = { domain, value -> 295 formatDate(format: "EEE, dd-MMM-yyyy", date: value) 296 296 } 297 297 … … 646 646 if(params?.format && params.format != "html") { 647 647 648 def dateFmt = { d ate ->649 formatDate(format: "EEE, dd-MMM-yyyy", date: date)648 def dateFmt = { domain, value -> 649 formatDate(format: "EEE, dd-MMM-yyyy", date: value) 650 650 } 651 651 -
trunk/grails-app/controllers/InventoryItemPurchaseDetailedController.groovy
r717 r913 142 142 if(params?.format && params.format != "html") { 143 143 144 def dateFmt = { d ate ->145 formatDate(format: "EEE, dd-MMM-yyyy", date: date)144 def dateFmt = { domain, value -> 145 formatDate(format: "EEE, dd-MMM-yyyy", date: value) 146 146 } 147 147 -
trunk/grails-app/controllers/TaskDetailedController.groovy
r871 r913 147 147 if(params?.format && params.format != "html") { 148 148 149 def dateFmt = { d ate ->150 formatDate(format: "EEE, dd-MMM-yyyy", date: date)149 def dateFmt = { domain, value -> 150 formatDate(format: "EEE, dd-MMM-yyyy", date: value) 151 151 } 152 152 … … 308 308 if(params?.format && params.format != "html") { 309 309 310 def dateFmt = { d ate ->311 formatDate(format: "EEE, dd-MMM-yyyy", date: date)310 def dateFmt = { domain, value -> 311 formatDate(format: "EEE, dd-MMM-yyyy", date: value) 312 312 } 313 313 -
trunk/grails-app/controllers/TaskProcedureDetailedController.groovy
r813 r913 17 17 params.max = Math.min( params.max ? params.max.toInteger() : 10, 100) 18 18 19 if(!params.filter) 20 { return [taskProcedureInstanceList: TaskProcedure.list(params), taskProcedureInstanceTotal: TaskProcedure.count()] } 19 def taskProcedureInstanceList 20 def taskProcedureInstanceTotal 21 def filterParams = com.zeddware.grails.plugins.filterpane.FilterUtils.extractFilterParams(params) 22 23 if(params.filter) { 24 taskProcedureInstanceList = filterService.filter( params, TaskProcedure ) 25 taskProcedureInstanceTotal = filterService.count( params, TaskProcedure ) 26 } 27 else { 28 taskProcedureInstanceList = TaskProcedure.list(params) 29 taskProcedureInstanceTotal = TaskProcedure.count() 30 } 21 31 22 32 // filterPane: 23 return[ taskProcedureInstanceList: filterService.filter( params, TaskProcedure ),24 taskProcedureInstanceTotal: filterService.count( params, TaskProcedure ),25 filterParams: com.zeddware.grails.plugins.filterpane.FilterUtils.extractFilterParams(params),26 params: params ]33 return[ taskProcedureInstanceList: taskProcedureInstanceList, 34 taskProcedureInstanceTotal: taskProcedureInstanceTotal, 35 filterParams: filterParams, 36 params: params ] 27 37 } 28 38 -
trunk/grails-app/domain/Image.groovy
r182 r913 13 13 14 14 static mapping = { 15 picture index: 'images_index', unique: true16 size index: 'images_index', unique: true17 15 data type: 'binary' 18 16 } … … 20 18 static constraints = { 21 19 data(maxSize: MAX_SIZE) 20 size(unique:'picture') 22 21 } 23 22 -
trunk/grails-app/views/appCore/manager.gsp
r746 r913 72 72 </tr> 73 73 74 <tr class="prop">75 <td valign="top" class="name">76 <label>Entity Relationship Diagram:</label>77 </td>78 <td valign="top" class="value">79 80 <a href="${createLink(controller:'classDiagram', action:'model', params:[outputFormat: 'pdf', skin: 'classicSpaced', showMethods: 'false', autoUpdate: 'false'])}">PDF</a>81 <br />82 <a href="${createLink(controller:'classDiagram', action:'legend', target:'_blank')}">Legend</a>83 <br />84 <a href="${createLink(controller:'classDiagram', action:'show')}">Interactive.</a>85 </td>86 </tr>87 88 74 </tbody> 89 75 </table> -
trunk/grails-app/views/shared/_assetTreeCompact.gsp
r798 r913 1 2 <%-- Fetch to prevent lazy initialization error. --%>3 <% assetInstance = Asset.read(assetInstance?.id)%>4 5 1 <div class="static_tree"> 6 ${assetInstance ?.encodeAsHTML()}2 ${assetInstance.encodeAsHTML()} 7 3 <div class="static_tree_compact"> 8 4 <ul> 9 <g:each var="assetSubItem1" in="${assetInstance ?.assetSubItems?.sort { p1, p2 -> p1.name.compareToIgnoreCase(p2.name) } }">5 <g:each var="assetSubItem1" in="${assetInstance.assetSubItems?.sort { p1, p2 -> p1.name.compareToIgnoreCase(p2.name) } }"> 10 6 <li> 11 ${assetSubItem1 ?.encodeAsHTML()}7 ${assetSubItem1.encodeAsHTML()} 12 8 </li> 13 9 … … 17 13 <g:each var="assetSubItem2" in="${assetSubItem1.subItems.sort { p1, p2 -> p1.name.compareToIgnoreCase(p2.name) } }"> 18 14 <li> 19 ${assetSubItem2 ?.encodeAsHTML()}15 ${assetSubItem2.encodeAsHTML()} 20 16 </li> 21 17 </g:each> <!--assetSubItem2--> -
trunk/grails-app/views/taskDetailed/createUnscheduled.gsp
r872 r913 129 129 ${taskInstance.taskType.encodeAsHTML()} 130 130 </td> 131 </tr> 132 133 <tr class="prop"> 134 <td valign="top" class="name"> 135 <label for="safetyRequirement">Safety Requirement:</label> 136 </td> 137 <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'safetyRequirement','errors')}"> 138 <g:checkBox name="safetyRequirement" value="${taskInstance?.safetyRequirement}" ></g:checkBox> 139 <g:helpBalloon code="task.safetyRequirement" /> 140 </td> 141 </tr> 142 143 <tr class="prop"> 144 <td valign="top" class="name"> 145 <label for="regulatoryRequirement">Regulatory Requirement:</label> 146 </td> 147 <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'regulatoryRequirement','errors')}"> 148 <g:checkBox name="regulatoryRequirement" value="${taskInstance?.regulatoryRequirement}" ></g:checkBox> 149 <g:helpBalloon code="task.regulatoryRequirement" /> 150 </td> 151 </tr> 152 153 <tr class="prop"> 154 <td valign="top" class="name"> 155 <label for="mandatoryRequirement">Mandatory Requirement:</label> 156 </td> 157 <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'mandatoryRequirement','errors')}"> 158 <g:checkBox name="mandatoryRequirement" value="${taskInstance?.mandatoryRequirement}" ></g:checkBox> 159 <g:helpBalloon code="task.mandatoryRequirement" /> 160 </td> 161 </tr> 131 </tr> 132 133 <g:ifAnyGranted role="ROLE_AppAdmin,ROLE_Manager,ROLE_TaskManager"> 134 <tr class="prop"> 135 <td valign="top" class="name"> 136 <label for="safetyRequirement">Safety Requirement:</label> 137 </td> 138 <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'safetyRequirement','errors')}"> 139 <g:checkBox name="safetyRequirement" value="${taskInstance?.safetyRequirement}" ></g:checkBox> 140 <g:helpBalloon code="task.safetyRequirement" /> 141 </td> 142 </tr> 143 144 <tr class="prop"> 145 <td valign="top" class="name"> 146 <label for="regulatoryRequirement">Regulatory Requirement:</label> 147 </td> 148 <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'regulatoryRequirement','errors')}"> 149 <g:checkBox name="regulatoryRequirement" value="${taskInstance?.regulatoryRequirement}" ></g:checkBox> 150 <g:helpBalloon code="task.regulatoryRequirement" /> 151 </td> 152 </tr> 153 154 <tr class="prop"> 155 <td valign="top" class="name"> 156 <label for="mandatoryRequirement">Mandatory Requirement:</label> 157 </td> 158 <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'mandatoryRequirement','errors')}"> 159 <g:checkBox name="mandatoryRequirement" value="${taskInstance?.mandatoryRequirement}" ></g:checkBox> 160 <g:helpBalloon code="task.mandatoryRequirement" /> 161 </td> 162 </tr> 163 164 <tr class="prop"> 165 <td valign="top" class="name"> 166 <label for="positiveFault">Positive Fault:</label> 167 </td> 168 <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'positiveFault','errors')}"> 169 <g:checkBox name="positiveFault" value="${taskInstance?.positiveFault}" ></g:checkBox> 170 <g:helpBalloon code="task.positiveFault" /> 171 </td> 172 </tr> 173 </g:ifAnyGranted> 162 174 163 175 </tbody> -
trunk/grails-app/views/taskDetailed/edit.gsp
r815 r913 161 161 </td> 162 162 </tr> 163 164 <tr class="prop"> 165 <td valign="top" class="name"> 166 <label for="safetyRequirement">Safety Requirement:</label> 167 </td> 168 <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'safetyRequirement','errors')}"> 169 <g:checkBox name="safetyRequirement" value="${taskInstance?.safetyRequirement}" ></g:checkBox> 170 <g:helpBalloon code="task.safetyRequirement" /> 171 </td> 172 </tr> 173 174 <tr class="prop"> 175 <td valign="top" class="name"> 176 <label for="regulatoryRequirement">Regulatory Requirement:</label> 177 </td> 178 <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'regulatoryRequirement','errors')}"> 179 <g:checkBox name="regulatoryRequirement" value="${taskInstance?.regulatoryRequirement}" ></g:checkBox> 180 <g:helpBalloon code="task.regulatoryRequirement" /> 181 </td> 182 </tr> 183 184 <tr class="prop"> 185 <td valign="top" class="name"> 186 <label for="mandatoryRequirement">Mandatory Requirement:</label> 187 </td> 188 <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'mandatoryRequirement','errors')}"> 189 <g:checkBox name="mandatoryRequirement" value="${taskInstance?.mandatoryRequirement}" ></g:checkBox> 190 <g:helpBalloon code="task.mandatoryRequirement" /> 191 </td> 192 </tr> 193 194 <tr class="prop"> 195 <td valign="top" class="name"> 196 <label for="positiveFault">Positive Fault:</label> 197 </td> 198 <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'positiveFault','errors')}"> 199 <g:checkBox name="positiveFault" value="${taskInstance?.positiveFault}" ></g:checkBox> 200 <g:helpBalloon code="task.positiveFault" /> 201 </td> 202 </tr> 163 164 <g:ifAnyGranted role="ROLE_AppAdmin,ROLE_Manager,ROLE_TaskManager"> 165 <tr class="prop"> 166 <td valign="top" class="name"> 167 <label for="safetyRequirement">Safety Requirement:</label> 168 </td> 169 <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'safetyRequirement','errors')}"> 170 <g:checkBox name="safetyRequirement" value="${taskInstance?.safetyRequirement}" ></g:checkBox> 171 <g:helpBalloon code="task.safetyRequirement" /> 172 </td> 173 </tr> 174 175 <tr class="prop"> 176 <td valign="top" class="name"> 177 <label for="regulatoryRequirement">Regulatory Requirement:</label> 178 </td> 179 <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'regulatoryRequirement','errors')}"> 180 <g:checkBox name="regulatoryRequirement" value="${taskInstance?.regulatoryRequirement}" ></g:checkBox> 181 <g:helpBalloon code="task.regulatoryRequirement" /> 182 </td> 183 </tr> 184 185 <tr class="prop"> 186 <td valign="top" class="name"> 187 <label for="mandatoryRequirement">Mandatory Requirement:</label> 188 </td> 189 <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'mandatoryRequirement','errors')}"> 190 <g:checkBox name="mandatoryRequirement" value="${taskInstance?.mandatoryRequirement}" ></g:checkBox> 191 <g:helpBalloon code="task.mandatoryRequirement" /> 192 </td> 193 </tr> 194 195 <tr class="prop"> 196 <td valign="top" class="name"> 197 <label for="positiveFault">Positive Fault:</label> 198 </td> 199 <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'positiveFault','errors')}"> 200 <g:checkBox name="positiveFault" value="${taskInstance?.positiveFault}" ></g:checkBox> 201 <g:helpBalloon code="task.positiveFault" /> 202 </td> 203 </tr> 204 </g:ifAnyGranted> 203 205 204 206 <g:if test="${taskInstance.assignedGroups}"> -
trunk/grails-app/views/taskProcedureDetailed/_taskProcedure.gsp
r809 r913 27 27 <td valign="top" class="name">Linked Asset:</td> 28 28 <td valign="top" class="value"> 29 <g: render template="/shared/assetTreeCompact" model="['assetInstance': taskProcedureInstance.linkedTask.primaryAsset]" />29 <g:include controller="assetDetailed" action="assetTreeCompact" id="${taskProcedureInstance.linkedTask.primaryAsset.id}" /> 30 30 </td> 31 31 </tr> -
trunk/grails-app/views/taskProcedureDetailed/_taskProcedureRevision.gsp
r854 r913 25 25 <td valign="top" class="name">Linked Asset:</td> 26 26 <td valign="top" class="value"> 27 <g:render template="/shared/assetTreeCompact" model="['assetInstance': taskProcedureRevision.linkedTask.primaryAsset]" /> 27 <g:include controller="assetDetailed" action="assetTreeCompact" id="${taskProcedureRevision.linkedTask.primaryAsset.id}" /> 28 28 29 </td> 29 30 </tr> -
trunk/grails-app/views/taskProcedureDetailed/list.gsp
r809 r913 36 36 <tr> 37 37 38 <g:sortableColumn property="id" title="Id" 38 <g:sortableColumn property="id" title="Id" params="${filterParams}" /> 39 39 <th>Description</th> 40 40 <th>Asset</th> -
trunk/web-app/WEB-INF/tld/grails.tld
r449 r913 5 5 http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd" 6 6 version="2.0"> 7 <description>The Grails (Groovy on Rails)custom tag library</description>7 <description>The Grails custom tag library</description> 8 8 <tlib-version>0.2</tlib-version> 9 9 <short-name>grails</short-name> 10 10 <uri>http://grails.codehaus.org/tags</uri> 11 12 11 13 12 <tag>
Note: See TracChangeset
for help on using the changeset viewer.