- Timestamp:
- Sep 28, 2009, 10:01:43 AM (15 years ago)
- Location:
- trunk
- Files:
-
- 5 added
- 4 deleted
- 33 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/application.properties
r138 r139 1 1 #utf-8 2 # Thu Sep 17 12:53:38EST 20092 #Sun Sep 20 20:21:33 EST 2009 3 3 plugins.acegi=0.5.1 4 plugins.navigation=1.1 4 5 app.version= 5 6 plugins.class-diagram=0.3 -
trunk/grails-app/conf/Config.groovy
r58 r139 68 68 } 69 69 70 //log4j.logger.org.springframework.security='off,stdout' 70 71 72 /** Navigation plugin menu. 73 * The top level titles are taken from i18n message bundles. 74 * Subitems i18n message bundles are not currently resolving with this plugin. 75 */ 76 navigation.nav = [ 77 [order:10, controller:'appCore', title:'home', action:'start', 78 subItems: [ 79 [order:10, controller:'appCore', title:'Start', action:'start', isVisible: { true }], 80 [order:20, controller:'appCore', title:'Manager', action:'manager', isVisible: { authenticateService.ifAllGranted('ROLE_Manager') }], 81 [order:30, controller:'appCore', title:'Admin', action:'appAdmin', isVisible: { authenticateService.ifAllGranted('ROLE_AppAdmin') }], 82 [order:90, controller:'appCore', title:'Timeout', action:'changeSessionTimeout', isVisible: { params.action == 'changeSessionTimeout' }], 83 [order:91, controller:'appCore', title:'Password', action:'changePassword', isVisible: { params.action == 'changePassword' }], 84 ] 85 ], 86 [order:20, controller:'taskDetailed', title:'tasks', action:'search', 87 subItems: [ 88 [order:10, controller:'taskDetailed', title:'Search', action:'search', isVisible: { true }], 89 [order:20, controller:'taskDetailed', title:'Create', action:'create', isVisible: { true }], 90 [order:90, controller:'taskDetailed', title:'Show', action:'show', isVisible: { params.action == 'show' }], 91 [order:91, controller:'taskDetailed', title:'Edit', action:'edit', isVisible: { params.action == 'edit' }] 92 ] 93 ], 94 [order:30, controller:'inventoryItemDetailed', title:'inventory', action:'search', 95 subItems: [ 96 [order:10, controller:'inventoryItemDetailed', title:'Search', action:'search', isVisible: { true }], 97 [order:20, controller:'inventoryItemDetailed', title:'Create', action:'create', isVisible: { true }], 98 [order:90, controller:'inventoryItemDetailed', title:'Show', action:'show', isVisible: { params.action == 'show' }], 99 [order:91, controller:'inventoryItemDetailed', title:'Edit', action:'edit', isVisible: { params.action == 'edit' }] 100 ] 101 ], 102 [order:40, controller:'assetDetailed', title:'assets', action:'search', 103 subItems: [ 104 [order:10, controller:'assetDetailed', title:'Search', action:'search', isVisible: { true }], 105 [order:20, controller:'assetDetailed', title:'Create', action:'create', isVisible: { true }], 106 [order:90, controller:'assetDetailed', title:'Show', action:'show', isVisible: { params.action == 'show' }], 107 [order:91, controller:'assetDetailed', title:'Edit', action:'edit', isVisible: { params.action == 'edit' }] 108 ] 109 ] 110 ] 71 111 72 73 //log4j.logger.org.springframework.security='off,stdout' 112 /** Class-diagram plugin overrides. 113 * 114 */ 115 classDiagram { 116 associations { 117 arrows { 118 // See http://www.graphviz.org/doc/info/arrows.html for available arrowheads and their visual appearance 119 references = "open" 120 belongsTo = "odiamond" 121 embedded = "diamond" 122 inherits = "onormal" 123 none = "none" 124 } 125 decorators { 126 // plain text to be shown on edge ends 127 hasOne = "1" 128 hasMany = "*" 129 none = "" 130 } 131 } 132 skins { 133 classicSpacey { 134 name = " Classic Spacey" 135 graphStyle = [bgcolor:"none", mclimit:100, nodesep:'1.5 equally', ranksep:'2 equally' ] 136 nodeStyle = [style:"rounded,filled", color:"blue", fillcolor:"azure2", fontname:"Verdana", fontsize:18] 137 edgeStyle = [color:"gray40", fontname:"Verdana", fontsize:18, labelfontsize:20, labeldistance:3.5] 138 } 139 } 140 } -
trunk/grails-app/conf/SecurityConfig.groovy
r138 r139 40 40 '/js/**': ['IS_AUTHENTICATED_ANONYMOUSLY'], 41 41 '/plugins/help-balloons-1.2/**': ['IS_AUTHENTICATED_FULLY'], 42 '/plugins/richui-0.6/**': ['IS_AUTHENTICATED_FULLY'], 43 '/plugins/class-diagram-0.3/**': ['IS_AUTHENTICATED_FULLY'], 42 '/plugins/richui-0.6/**': ['IS_AUTHENTICATED_FULLY'], 43 '/plugins/navigation-1.1/**': ['IS_AUTHENTICATED_FULLY'], 44 '/plugins/class-diagram-0.3/**': ['IS_AUTHENTICATED_FULLY'], 45 '/classDiagram*': ['IS_AUTHENTICATED_FULLY'], 44 46 '/classDiagram/**': ['IS_AUTHENTICATED_FULLY'], 45 47 '/login*': ['IS_AUTHENTICATED_ANONYMOUSLY'], -
trunk/grails-app/controllers/AppCoreController.groovy
r134 r139 5 5 def authenticateService 6 6 7 def index = { redirect(action: home,params:params) }7 def index = { redirect(action:start,params:params) } 8 8 9 9 // the delete, save and update actions only accept POST requests 10 10 //def allowedMethods = [delete:'POST', save:'POST', update:'POST'] 11 11 12 /** 13 * This is where we arrive after login. 14 * Attach the welcome flash message and redirect to where ever we want the user to start. 15 * e.g. redirect(controller:"taskDetailed", action:"search") 16 */ 12 17 def welcome = { 13 18 def personInstance = Person.get(authenticateService.userDomain().id) … … 16 21 def sess = getSession() 17 22 sess.setMaxInactiveInterval(personInstance.sessionTimeout) 18 redirect(action: home)23 redirect(action:start) 19 24 } 20 25 21 def home = { 22 } 23 24 def options = { 25 } 26 27 def acknowledgements = { 26 def start = { 28 27 } 29 28 … … 35 34 if (request.method == 'POST') { 36 35 def personInstance = Person.get(authenticateService.userDomain().id) 37 // personInstance.sessionTimeout = params.sessionTimeout.toInteger()38 36 personInstance.properties = params 39 37 if (!personInstance.hasErrors() && personInstance.save()) { … … 41 39 sess.setMaxInactiveInterval(personInstance.sessionTimeout) 42 40 flash.message = "Session timeout changed." 43 redirect(action: options)41 redirect(action:start) 44 42 } 45 43 else { … … 68 66 //userCache.removeUserFromCache(personInstance.loginName) 69 67 flash.message = "Password changed successfully." 70 redirect(action: options)68 redirect(action:start) 71 69 } 72 70 else { -
trunk/grails-app/controllers/AssetDetailedController.groovy
r124 r139 3 3 class AssetDetailedController extends BaseController { 4 4 5 def index = { redirect(action: list,params:params) }5 def index = { redirect(action:search,params:params) } 6 6 7 7 // the delete, save and update actions only accept POST requests … … 13 13 } 14 14 15 def search = { 16 params.max = Math.min( params.max ? params.max.toInteger() : 10, 100) 17 [ assetInstanceList: Asset.list( params ), assetInstanceTotal: Asset.count() ] 18 } 19 15 20 def show = { 21 22 // In the case of an actionSubmit button, rewrite action name from 'index'. 23 if(params._action_Show) 24 { params.action='show' } 25 16 26 def assetInstance = Asset.get( params.id ) 17 27 18 28 if(!assetInstance) { 19 29 flash.message = "Asset not found with id ${params.id}" 20 redirect(action: list)30 redirect(action:search) 21 31 } 22 32 else { return [ assetInstance : assetInstance ] } … … 29 39 assetInstance.delete() 30 40 flash.message = "Asset ${params.id} deleted" 31 redirect(action: list)41 redirect(action:search) 32 42 } 33 43 catch(org.springframework.dao.DataIntegrityViolationException e) { … … 38 48 else { 39 49 flash.message = "Asset not found with id ${params.id}" 40 redirect(action: list)50 redirect(action:search) 41 51 } 42 52 } 43 53 44 54 def edit = { 55 56 // In the case of an actionSubmit button, rewrite action name from 'index'. 57 if(params._action_Edit) 58 { params.action='edit' } 59 45 60 def assetInstance = Asset.get( params.id ) 46 61 47 62 if(!assetInstance) { 48 63 flash.message = "Asset not found with id ${params.id}" 49 redirect(action: list)64 redirect(action:search) 50 65 } 51 66 else { -
trunk/grails-app/controllers/InventoryItemDetailedController.groovy
r116 r139 3 3 class InventoryItemDetailedController extends BaseController { 4 4 5 def index = { redirect(action: list,params:params) }5 def index = { redirect(action:search, params:params) } 6 6 7 7 // the delete, save and update actions only accept POST requests … … 13 13 } 14 14 15 def search = { 16 params.max = Math.min( params.max ? params.max.toInteger() : 10, 100) 17 [ inventoryItemInstanceList: InventoryItem.list( params ), inventoryItemInstanceTotal: InventoryItem.count() ] 18 } 19 15 20 def show = { 21 22 // In the case of an actionSubmit button, rewrite action name from 'index'. 23 if(params._action_Show) 24 { params.action='show' } 25 16 26 def inventoryItemInstance = InventoryItem.get( params.id ) 17 27 18 28 if(!inventoryItemInstance) { 19 29 flash.message = "InventoryItem not found with id ${params.id}" 20 redirect(action: list)30 redirect(action:search) 21 31 } 22 32 else { return [ inventoryItemInstance : inventoryItemInstance ] } … … 29 39 inventoryItemInstance.delete() 30 40 flash.message = "InventoryItem ${params.id} deleted" 31 redirect(action: list)41 redirect(action:search) 32 42 } 33 43 catch(org.springframework.dao.DataIntegrityViolationException e) { … … 38 48 else { 39 49 flash.message = "InventoryItem not found with id ${params.id}" 40 redirect(action: list)50 redirect(action:search) 41 51 } 42 52 } 43 53 44 54 def edit = { 55 56 // In the case of an actionSubmit button, rewrite action name from 'index'. 57 if(params._action_Edit) 58 { params.action='edit' } 59 45 60 def inventoryItemInstance = InventoryItem.get( params.id ) 46 61 47 62 if(!inventoryItemInstance) { 48 63 flash.message = "InventoryItem not found with id ${params.id}" 49 redirect(action: list)64 redirect(action:search) 50 65 } 51 66 else { -
trunk/grails-app/controllers/TaskDetailedController.groovy
r137 r139 2 2 3 3 class TaskDetailedController extends BaseController { 4 5 def index = { redirect(action:list,params:params) } 4 5 def index = { 6 println "index called" 7 redirect(action:search,params:params) 8 } 6 9 7 10 // the delete, save and update actions only accept POST requests 8 11 static allowedMethods = [delete:'POST', save:'POST', update:'POST'] 9 10 // def list = {11 // params.max = Math.min( params.max ? params.max.toInteger() : 10, 100)12 // def taskInstanceActives = Task.findAllByIsActive( true ).list( params )13 // // def taskInstanceList = taskInstanceActives.list( params )14 // return [ taskInstanceList: taskInstanceList, taskInstanceTotal: taskInstanceActives.count() ]15 // }16 12 17 13 def list = { … … 20 16 } 21 17 18 def search = { 19 params.max = Math.min( params.max ? params.max.toInteger() : 10, 100) 20 21 if(!params.order) { 22 params.sort = "id" 23 params.order = "desc" 24 } 25 26 if(params.search == "ShowAll") 27 { 28 def taskInstanceActivesList = Task.findAllByIsActive(true, params) 29 def taskInstanceActivesTotal = Task.countByIsActive(true) 30 return [taskInstanceList: taskInstanceActivesList, taskInstanceTotal: taskInstanceActivesTotal] 31 } 32 if(params.search == "ShowDeleted") 33 { 34 def taskInstanceActivesList = Task.findAllByIsActive(false, params) 35 def taskInstanceActivesTotal = Task.countByIsActive(false) 36 return [taskInstanceList: taskInstanceActivesList, taskInstanceTotal: taskInstanceActivesTotal] 37 } 38 // Default: 39 def taskInstanceActivesList = Task.findAllByIsActive(true, params) 40 def taskInstanceActivesTotal = Task.countByIsActive(true) 41 [taskInstanceList: taskInstanceActivesList, taskInstanceTotal: taskInstanceActivesTotal] 42 } 43 44 def searchShowAll = { 45 redirect(action:'search', params:[search:"ShowAll"]) 46 } 47 48 def searchShowDeleted = { 49 redirect(action:'search', params:[search:"ShowDeleted"]) 50 } 51 22 52 def show = { 53 54 // In the case of an actionSubmit button, rewrite action name from 'index'. 55 if(params._action_Show) 56 { params.action='show' } 57 23 58 def taskInstance = Task.get( params.id ) 24 59 25 60 if(!taskInstance) { 26 61 flash.message = "Task not found with id ${params.id}" 27 redirect(action: list)62 redirect(action:search) 28 63 } 29 64 else { … … 86 121 taskInstance.isActive = false 87 122 flash.message = "Task ${params.id} has been set to inactive." 88 redirect(action: list)123 redirect(action:search) 89 124 } 90 125 catch(org.springframework.dao.DataIntegrityViolationException e) { … … 95 130 else { 96 131 flash.message = "Task not found with id ${params.id}" 97 redirect(action: list)132 redirect(action:search) 98 133 } 99 134 } 100 135 101 136 def edit = { 137 138 // In the case of an actionSubmit button, rewrite action name from 'index'. 139 if(params._action_Edit) 140 { params.action='edit' } 141 102 142 def taskInstance = Task.get( params.id ) 103 143 104 144 if(!taskInstance) { 105 145 flash.message = "Task not found with id ${params.id}" 106 redirect(action: list)146 redirect(action:search) 107 147 } 108 148 else { … … 166 206 if(!parentTaskInstance) { 167 207 flash.message = "Task not found with id ${params.id}" 168 redirect(action: list)208 redirect(action:search) 169 209 } 170 210 else { -
trunk/grails-app/domain/Person.groovy
r127 r139 15 15 16 16 /* Set after login by 'welcome' action, default to 12 hours, aka "sess.setMaxInactiveInterval(seconds) */ 17 Integer sessionTimeout = 72017 Integer sessionTimeout = 43200 18 18 19 19 /** MD5 Password */ … … 45 45 //So we need to use pass for validation then encode it for above. 46 46 pass(blank: false, minSize:4) 47 sessionTimeout(min:60, max: 720)47 sessionTimeout(min:60, max:43200) 48 48 49 49 } -
trunk/grails-app/i18n/messages.properties
r137 r139 54 54 typeMismatch.java.math.BigInteger=Property {0} must be a valid number 55 55 56 # Navigation plugin, see conf/Config.groovy for menu's. 57 # Subitems are not currently resolving with this plugin. 58 navigation.nav.home=Home 59 navigation.nav.home.start=Start 60 navigation.nav.home.appAdmin=Admin 61 navigation.nav.home.manager=Manager 62 navigation.nav.home.changeSessionTimeout=Timeout 63 navigation.nav.home.changePassword=Password 56 64 65 navigation.nav.tasks=Tasks 66 navigation.nav.tasks.create=Create 67 navigation.nav.tasks.search=Search 68 navigation.nav.tasks.show=Show 69 70 navigation.nav.inventory=Inventory 71 navigation.nav.assets=Assets -
trunk/grails-app/views/appCore/appAdmin.gsp
r116 r139 4 4 <meta name="layout" content="main" /> 5 5 <title>Admin</title> 6 <nav:resources override="true"/> 6 7 </head> 7 8 <body> 8 9 <div class="nav"> 9 < span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span>10 <nav:renderSubItems group="nav"/> 10 11 </div> 11 12 <div class="body"> -
trunk/grails-app/views/appCore/changePassword.gsp
r101 r139 1 1 <head> 2 <meta name="layout" content="main" /> 3 <title>Change Password</title> 2 <meta name="layout" content="main" /> 3 <title>Change Password</title> 4 <nav:resources override="true"/> 4 5 </head> 5 6 6 7 <body onload="document.changePasswordForm.pass.focus();"> 7 8 <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span>8 <div class="nav"> 9 <nav:renderSubItems group="nav"/> 9 10 </div> 10 11 11 <div class="body"> 12 <h1>Change Password</h1> 13 <g:if test="${flash.message}"> 14 <div class="message">${flash.message}</div> 15 </g:if> 16 <g:hasErrors bean="${personInstance}"> 17 <div class="errors"> 18 <g:renderErrors bean="${personInstance}" as="list" /> 19 </div> 20 </g:hasErrors> 12 <div class="body"> 13 <g:if test="${flash.message}"> 14 <div class="message">${flash.message}</div> 15 </g:if> 16 <g:hasErrors bean="${personInstance}"> 17 <div class="errors"> 18 <g:renderErrors bean="${personInstance}" as="list" /> 19 </div> 20 </g:hasErrors> 21 21 22 23 24 25 22 <g:form name="changePasswordForm" id="changePasswordForm"> 23 <div class="dialog"> 24 <table> 25 <tbody> 26 26 27 28 29 30 31 32 27 <tr class="prop"> 28 <td valign="top" class="name"><label for="pass">Password:</label></td> 29 <td valign="top" class="value ${hasErrors(bean:personInstance,field:'pass','errors')}"> 30 <input type="password" id="pass" name="pass" /> 31 </td> 32 </tr> 33 33 34 <tr class="prop">35 <td valign="top" class="name"><label for="confirmPass">Confirm password:</label></td>36 <td valign="top" class="value">37 <input type="password" id="confirmPass" name="confirmPass" />38 </td>39 </tr>34 <tr class="prop"> 35 <td valign="top" class="name"><label for="confirmPass">Confirm password:</label></td> 36 <td valign="top" class="value"> 37 <input type="password" id="confirmPass" name="confirmPass" /> 38 </td> 39 </tr> 40 40 41 42 43 41 </tbody> 42 </table> 43 </div> 44 44 45 46 47 48 45 <div class="buttons"> 46 <span class="button"><g:actionSubmit class="save" value="Change Password" action="changePassword"/></span> 47 </div> 48 </g:form> 49 49 50 50 </div> 51 51 52 52 </body> -
trunk/grails-app/views/appCore/changeSessionTimeout.gsp
r127 r139 2 2 <meta name="layout" content="main" /> 3 3 <title>Change Session Timeout</title> 4 <nav:resources override="true"/> 4 5 </head> 5 6 6 <body onload="document.changeSessionTimeoutForm.sessionTimeout.focus();"> 7 8 <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span>7 <body onload="document.changeSessionTimeoutForm.sessionTimeout.focus();"> 8 <div class="nav"> 9 <nav:renderSubItems group="nav"/> 9 10 </div> 10 11 11 12 <div class="body"> 12 <h1>Change Session Timeout</h1>13 13 <g:if test="${flash.message}"> 14 14 <div class="message">${flash.message}</div> -
trunk/grails-app/views/appCore/manager.gsp
r110 r139 4 4 <meta name="layout" content="main" /> 5 5 <title>Admin</title> 6 <nav:resources override="true"/> 6 7 </head> 7 8 <body> 8 9 <div class="nav"> 9 <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span> 10 <span class="menuButton"><g:link controller="person" action="create">New Person</g:link></span> 11 <span class="menuButton"><g:link controller="person" action="list">Person List</g:link></span> 10 <nav:renderSubItems group="nav"/> 12 11 </div> 13 12 <div class="body"> 14 <h1>Welcome to Manager</h1>15 13 <g:if test="${flash.message}"> 16 14 <div class="message">${flash.message}</div> 17 15 </g:if> 16 <br /> 17 <br /> 18 <a href="${createLink(controller:'person', action:'list')}">Manage application users</a> 19 <br /> 20 <br /> 21 View Entity Relationship Diagram: 22 <a href="${createLink(controller:'classDiagram', action:'model', params:[outputFormat: 'pdf', skin: 'classicSpacey', showMethods: 'false', autoUpdate: 'false'])}">pdf</a> 23 and 24 <a href="${createLink(controller:'classDiagram', action:'legend', target:'_blank')}">legend</a> 25 or 26 <a href="${createLink(controller:'classDiagram', action:'show')}">interactive.</a> 18 27 </div> 19 28 </body> -
trunk/grails-app/views/assetDetailed/create.gsp
r124 r139 5 5 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> 6 6 <meta name="layout" content="main" /> 7 <title>Create Asset</title> 7 <title>Create Asset</title> 8 <nav:resources override="true"/> 8 9 </head> 9 10 <body> 10 11 <div class="nav"> 11 <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span> 12 <span class="menuButton"><g:link class="list" action="list">Asset List</g:link></span> 12 <nav:renderSubItems group="nav"/> 13 13 </div> 14 14 <div class="body"> 15 <h1>Create Asset</h1>16 15 <g:if test="${flash.message}"> 17 16 <div class="message">${flash.message}</div> -
trunk/grails-app/views/assetDetailed/edit.gsp
r124 r139 6 6 <meta name="layout" content="main" /> 7 7 <title>Edit Asset</title> 8 <nav:resources override="true"/> 8 9 </head> 9 10 <body> 10 11 <div class="nav"> 11 <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span> 12 <span class="menuButton"><g:link class="list" action="list">Asset List</g:link></span> 13 <span class="menuButton"><g:link class="create" action="create">New Asset</g:link></span> 12 <nav:renderSubItems group="nav"/> 14 13 </div> 15 14 <div class="body"> 16 <h1>Edit Asset</h1>17 15 <g:if test="${flash.message}"> 18 16 <div class="message">${flash.message}</div> -
trunk/grails-app/views/assetDetailed/list.gsp
r124 r139 6 6 <meta name="layout" content="main" /> 7 7 <title>Asset List</title> 8 <nav:resources override="true"/> 8 9 </head> 9 10 <body> 10 11 <div class="nav"> 11 <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span> 12 <span class="menuButton"><g:link class="create" action="create">New Asset</g:link></span> 12 <nav:renderSubItems group="nav"/> 13 13 </div> 14 14 <div class="body"> 15 <h1>Asset List</h1>16 15 <g:if test="${flash.message}"> 17 16 <div class="message">${flash.message}</div> -
trunk/grails-app/views/assetDetailed/show.gsp
r124 r139 6 6 <meta name="layout" content="main" /> 7 7 <title>Show Asset</title> 8 <nav:resources override="true"/> 8 9 </head> 9 10 <body> 10 11 <div class="nav"> 11 <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span> 12 <span class="menuButton"><g:link class="list" action="list">Asset List</g:link></span> 13 <span class="menuButton"><g:link class="create" action="create">New Asset</g:link></span> 12 <nav:renderSubItems group="nav"/> 14 13 </div> 15 14 <div class="body"> 16 <h1>Show Asset</h1>17 15 <g:if test="${flash.message}"> 18 16 <div class="message">${flash.message}</div> -
trunk/grails-app/views/entryDetailed/edit.gsp
r137 r139 78 78 </td> 79 79 <td valign="top" class="value"> 80 <g:formatDate date="${entryInstance?.dateEntered}" format="EEE, dd MMMyyyy @ HH:mm"/>80 <g:formatDate date="${entryInstance?.dateEntered}" format="EEE, dd-MMM-yyyy @ HH:mm"/> 81 81 </td> 82 82 </tr> -
trunk/grails-app/views/index.gsp
r75 r139 1 <%response.sendRedirect(request.getContextPath()+'/appCore/ home')%>1 <%response.sendRedirect(request.getContextPath()+'/appCore/')%> -
trunk/grails-app/views/inventoryItemDetailed/create.gsp
r116 r139 5 5 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> 6 6 <meta name="layout" content="main" /> 7 <title>Create InventoryItem</title> 7 <title>Create InventoryItem</title> 8 <nav:resources override="true"/> 8 9 </head> 9 10 <body> 10 11 <div class="nav"> 11 <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span> 12 <span class="menuButton"><g:link class="list" action="list">InventoryItem List</g:link></span> 12 <nav:renderSubItems group="nav"/> 13 13 </div> 14 14 <div class="body"> 15 <h1>Create InventoryItem</h1>16 15 <g:if test="${flash.message}"> 17 16 <div class="message">${flash.message}</div> -
trunk/grails-app/views/inventoryItemDetailed/edit.gsp
r125 r139 6 6 <meta name="layout" content="main" /> 7 7 <title>Edit InventoryItem</title> 8 <nav:resources override="true"/> 8 9 </head> 9 10 <body> 10 11 <div class="nav"> 11 <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span> 12 <span class="menuButton"><g:link class="list" action="list">InventoryItem List</g:link></span> 13 <span class="menuButton"><g:link class="create" action="create">New InventoryItem</g:link></span> 12 <nav:renderSubItems group="nav"/> 14 13 </div> 15 14 <div class="body"> 16 <h1>Edit InventoryItem</h1>17 15 <g:if test="${flash.message}"> 18 16 <div class="message">${flash.message}</div> -
trunk/grails-app/views/inventoryItemDetailed/list.gsp
r124 r139 6 6 <meta name="layout" content="main" /> 7 7 <title>InventoryItem List</title> 8 <nav:resources override="true"/> 8 9 </head> 9 10 <body> 10 11 <div class="nav"> 11 <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span> 12 <span class="menuButton"><g:link class="create" action="create">New InventoryItem</g:link></span> 12 <nav:renderSubItems group="nav"/> 13 13 </div> 14 14 <div class="body"> 15 <h1>InventoryItem List</h1>16 15 <g:if test="${flash.message}"> 17 16 <div class="message">${flash.message}</div> -
trunk/grails-app/views/inventoryItemDetailed/show.gsp
r125 r139 6 6 <meta name="layout" content="main" /> 7 7 <title>Show InventoryItem</title> 8 <nav:resources override="true"/> 8 9 </head> 9 10 <body> 10 11 <div class="nav"> 11 <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span> 12 <span class="menuButton"><g:link class="list" action="list">InventoryItem List</g:link></span> 13 <span class="menuButton"><g:link class="create" action="create">New InventoryItem</g:link></span> 12 <nav:renderSubItems group="nav"/> 14 13 </div> 15 14 <div class="body"> 16 <h1>Show InventoryItem</h1>17 15 <g:if test="${flash.message}"> 18 16 <div class="message">${flash.message}</div> -
trunk/grails-app/views/layouts/main.gsp
r110 r139 6 6 <g:layoutHead /> 7 7 <g:helpBalloons/> 8 <nav:resources override="true"/> 8 9 <g:javascript library="application" /> 9 10 </head> … … 21 22 <a href="http://www.gnumims.org" id=HeaderLink></a> 22 23 </div> 24 23 25 <div class="appControl"> 24 <g:render template="/adminmenubar" /> 26 <g:isLoggedIn> 27 <span class="appControlButton"> 28 <g:link controller="logout"> 29 Log out (<g:loggedInUsername/>) 30 </g:link> 31 </span> 32 <div id="menu"> 33 <nav:render group="nav"/> 34 </div> 35 </g:isLoggedIn> 25 36 </div> 26 37 27 38 <g:layoutBody /> 28 39 29 </div> <!--content-->40 </div> <!-- content --> 30 41 <div id="bottom"> 31 42 </div> 32 </div> 43 </div> <!-- wrapper --> 33 44 </body> 34 45 </html> -
trunk/grails-app/views/login/auth.gsp
r135 r139 31 31 width: 120px; 32 32 } 33 #login .inner .cssform input[type='submit']:link { 34 } 35 #login .inner .cssform input[type='submit']:visited { 36 } 37 #login .inner .cssform input[type='submit']:hover { 38 background:#bfdaff; 39 } 33 40 #login .inner .cssform label { 34 41 font-weight: bold; … … 56 63 <p> 57 64 <label for='j_username'>Login ID</label> 58 <input type='text' class='text_' name='j_username' id='j_username' value=' user' />65 <input type='text' class='text_' name='j_username' id='j_username' value='manager' /> 59 66 </p> 60 67 <p> -
trunk/grails-app/views/taskDetailed/create.gsp
r134 r139 1 2 3 1 <html> 4 2 <head> 5 3 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> 6 4 <meta name="layout" content="main" /> 7 <title>Create Task</title> 5 <title>Create Task</title> 6 <nav:resources override="true"/> 8 7 </head> 9 8 <body> 10 9 <div class="nav"> 11 <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span> 12 <span class="menuButton"><g:link class="list" action="list">Task List</g:link></span> 10 <nav:renderSubItems group="nav"/> 13 11 </div> 14 12 <div class="body"> 15 <h1>Create Task</h1>16 13 <g:if test="${flash.message}"> 17 14 <div class="message">${flash.message}</div> -
trunk/grails-app/views/taskDetailed/edit.gsp
r134 r139 6 6 <meta name="layout" content="main" /> 7 7 <title>Edit Task</title> 8 <nav:resources override="true"/> 8 9 </head> 9 10 <body> 10 11 <div class="nav"> 11 <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span> 12 <span class="menuButton"><g:link class="list" action="list">Task List</g:link></span> 13 <span class="menuButton"><g:link class="create" action="create">New Task</g:link></span> 12 <nav:renderSubItems group="nav"/> 14 13 </div> 15 14 <div class="body"> 16 <h1>Edit Task</h1>17 15 <g:if test="${flash.message}"> 18 16 <div class="message">${flash.message}</div> -
trunk/grails-app/views/taskDetailed/list.gsp
r134 r139 4 4 <meta name="layout" content="main" /> 5 5 <title>Task List</title> 6 <nav:resources override="true"/> 6 7 </head> 7 8 <body> 8 9 <div class="nav"> 9 <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span> 10 <span class="menuButton"><g:link class="create" action="create">New Task</g:link></span> 10 <nav:renderSubItems group="nav"/> 11 11 </div> 12 12 <div class="body"> 13 <h1>Task List</h1>14 13 <g:if test="${flash.message}"> 15 14 <div class="message">${flash.message}</div> … … 19 18 <thead> 20 19 <tr> 21 22 <g:sortableColumn property="id" title="Id"/>23 24 25 26 27 28 29 20 21 <g:sortableColumn defaultOrder="desc" property="id" title="Id" /> 22 23 <g:sortableColumn property="targetStartDate" title="Target Start Date" /> 24 25 <g:sortableColumn property="description" title="Description" /> 26 27 <g:sortableColumn property="leadPerson" title="Lead Person" /> 28 30 29 <g:sortableColumn property="taskPriority" title="Task Priority" /> 31 30 32 31 <g:sortableColumn property="taskStatus" title="Task Status" /> 33 32 34 33 <th></th> 35 34 36 35 </tr> 37 36 </thead> … … 41 40 42 41 <td>${fieldValue(bean:taskInstance, field:'id')}</td> 43 44 <td><g:formatDate date="${taskInstance.targetStartDate}" format="EEE, dd MMMyyyy"/></td>45 42 43 <td><g:formatDate date="${taskInstance.targetStartDate}" format="EEE, dd-MMM-yyyy"/></td> 44 46 45 <td>${fieldValue(bean:taskInstance, field:'description')}</td> 47 46 48 47 <td>${fieldValue(bean:taskInstance, field:'leadPerson')}</td> 49 48 50 49 <td>${fieldValue(bean:taskInstance, field:'taskPriority')}</td> 51 50 52 51 <td>${fieldValue(bean:taskInstance, field:'taskStatus')}</td> 53 52 … … 57 56 </g:link> 58 57 </td> 59 58 60 59 </tr> 61 60 </g:each> -
trunk/grails-app/views/taskDetailed/listSubTasks.gsp
r134 r139 4 4 <meta name="layout" content="main" /> 5 5 <title>Task List</title> 6 <nav:resources override="true"/> 6 7 </head> 7 8 <body> 8 9 <div class="nav"> 9 <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span> 10 <span class="menuButton"><g:link class="create" action="create">New Task</g:link></span> 10 <nav:renderSubItems group="nav"/> 11 11 </div> 12 12 <div class="body"> … … 43 43 <td>${fieldValue(bean:taskInstance, field:'id')}</td> 44 44 45 <td><g:formatDate date="${taskInstance.targetStartDate}" format="EEE, dd MMMyyyy"/></td>45 <td><g:formatDate date="${taskInstance.targetStartDate}" format="EEE, dd-MMM-yyyy"/></td> 46 46 47 47 <td>${fieldValue(bean:taskInstance, field:'description')}</td> -
trunk/grails-app/views/taskDetailed/show.gsp
r137 r139 4 4 <meta name="layout" content="main" /> 5 5 <title>Show Task</title> 6 <nav:resources override="true"/> 6 7 <resource:tabView skin="tabviewCustom" /> 7 8 </head> 8 9 <body> 9 10 <div class="nav"> 10 <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span> 11 <span class="menuButton"><g:link class="list" action="list">Task List</g:link></span> 12 <span class="menuButton"><g:link class="create" action="create">New Task</g:link></span> 11 <nav:renderSubItems group="nav"/> 13 12 </div> 14 13 <div class="body"> … … 66 65 <td valign="top" class="name">Target Start Date:</td> 67 66 68 <td valign="top" class="value"><g:formatDate date="${taskInstance.targetStartDate}" format="EEE, dd MMMyyyy"/></td>67 <td valign="top" class="value"><g:formatDate date="${taskInstance.targetStartDate}" format="EEE, dd-MMM-yyyy"/></td> 69 68 70 69 </tr> … … 73 72 <td valign="top" class="name">Target Completion Date:</td> 74 73 75 <td valign="top" class="value"><g:formatDate date="${taskInstance.targetCompletionDate}" format="EEE, dd MMMyyyy"/></td>74 <td valign="top" class="value"><g:formatDate date="${taskInstance.targetCompletionDate}" format="EEE, dd-MMM-yyyy"/></td> 76 75 77 76 </tr> … … 189 188 190 189 <td style="width:65%">${entry.comment}</td> 191 <td><g:formatDate date="${entry.dateDone}" format="EEE, dd MMMyyyy"/></td>190 <td><g:formatDate date="${entry.dateDone}" format="EEE, dd-MMM-yyyy"/></td> 192 191 <td>${entry.durationHour}:${entry.durationMinute}</td> 193 192 <td>${entry.enteredBy}</td> … … 228 227 229 228 <td width="65%">${entry.comment}</td> 230 <td><g:formatDate date="${entry.dateDone}" format="EEE, dd MMMyyyy"/></td>229 <td><g:formatDate date="${entry.dateDone}" format="EEE, dd-MMM-yyyy"/></td> 231 230 <td>${entry.durationHour}:${entry.durationMinute}</td> 232 231 <td>${entry.enteredBy}</td> … … 393 392 394 393 <td valign="top" class="value"> 395 <g:formatDate date="${taskRecurringScheduleInstance.startDate}" format="EEE, dd MMMyyyy"/>394 <g:formatDate date="${taskRecurringScheduleInstance.startDate}" format="EEE, dd-MMM-yyyy"/> 396 395 </td> 397 396 … … 434 433 435 434 <td valign="top" class="value"> 436 <g:formatDate date="${taskRecurringScheduleInstance.nextTargetStartDate}" format="EEE, dd MMMyyyy"/>435 <g:formatDate date="${taskRecurringScheduleInstance.nextTargetStartDate}" format="EEE, dd-MMM-yyyy"/> 437 436 </td> 438 437 … … 443 442 444 443 <td valign="top" class="value"> 445 <g:formatDate date="${taskRecurringScheduleInstance.nextTargetCompletionDate}" format="EEE, dd MMMyyyy"/>444 <g:formatDate date="${taskRecurringScheduleInstance.nextTargetCompletionDate}" format="EEE, dd-MMM-yyyy"/> 446 445 </td> 447 446 … … 452 451 453 452 <td valign="top" class="value"> 454 <g:formatDate date="${taskRecurringScheduleInstance.nextGenerationDate}" format="EEE, dd MMMyyyy"/>453 <g:formatDate date="${taskRecurringScheduleInstance.nextGenerationDate}" format="EEE, dd-MMM-yyyy"/> 455 454 </td> 456 455 </tr> … … 460 459 461 460 <td valign="top" class="value"> 462 <g:formatDate date="${taskRecurringScheduleInstance.lastGeneratedDate}" format="EEE, dd MMMyyyy"/>461 <g:formatDate date="${taskRecurringScheduleInstance.lastGeneratedDate}" format="EEE, dd-MMM-yyyy"/> 463 462 </td> 464 463 … … 524 523 <td>${fieldValue(bean:subTaskInstance, field:'id')}</td> 525 524 526 <td><g:formatDate date="${subTaskInstance.targetStartDate}" format="EEE, dd MMMyyyy"/></td>525 <td><g:formatDate date="${subTaskInstance.targetStartDate}" format="EEE, dd-MMM-yyyy"/></td> 527 526 528 527 <td>${subTaskInstance.description}</td> -
trunk/grails-app/views/taskRecurringScheduleDetailed/show.gsp
r137 r139 42 42 43 43 <td valign="top" class="value"> 44 <g:formatDate date="${taskRecurringScheduleInstance.startDate}" format="EEE, dd MMMyyyy"/>44 <g:formatDate date="${taskRecurringScheduleInstance.startDate}" format="EEE, dd-MMM-yyyy"/> 45 45 </td> 46 46 </tr> … … 87 87 88 88 <td valign="top" class="value"> 89 <g:formatDate date="${taskRecurringScheduleInstance.nextTargetStartDate}" format="EEE, dd MMMyyyy"/>89 <g:formatDate date="${taskRecurringScheduleInstance.nextTargetStartDate}" format="EEE, dd-MMM-yyyy"/> 90 90 </td> 91 91 … … 96 96 97 97 <td valign="top" class="value"> 98 <g:formatDate date="${taskRecurringScheduleInstance.nextTargetCompletionDate}" format="EEE, dd MMMyyyy"/>98 <g:formatDate date="${taskRecurringScheduleInstance.nextTargetCompletionDate}" format="EEE, dd-MMM-yyyy"/> 99 99 </td> 100 100 … … 105 105 106 106 <td valign="top" class="value"> 107 <g:formatDate date="${taskRecurringScheduleInstance.nextGenerationDate}" format="EEE, dd MMMyyyy"/>107 <g:formatDate date="${taskRecurringScheduleInstance.nextGenerationDate}" format="EEE, dd-MMM-yyyy"/> 108 108 </td> 109 109 </tr> … … 113 113 114 114 <td valign="top" class="value"> 115 <g:formatDate date="${taskRecurringScheduleInstance.lastGeneratedDate}" format="EEE, dd MMMyyyy"/>115 <g:formatDate date="${taskRecurringScheduleInstance.lastGeneratedDate}" format="EEE, dd-MMM-yyyy"/> 116 116 </td> 117 117 </tr> -
trunk/web-app/css/main.css
r134 r139 44 44 width: 980px; 45 45 height: 160px; 46 /*border: 1px solid;*/ 46 47 } 47 48 #HeaderLink{ … … 49 50 width: 650px; 50 51 height: 160px; 52 } 53 54 /* Navigation plugin, top level. */ 55 #menu { 56 float: left; 51 57 } 52 58 … … 83 89 } 84 90 textarea { 85 86 87 91 width: 450px; 92 height: 150px; 93 vertical-align: top; 88 94 } 89 95 … … 97 103 } 98 104 99 /* Login/out and Admin */105 /* Login/out and Admin */ 100 106 101 107 .appcontrol { 102 text-align: right; 103 padding: 5px 160px 5px 5px 104 } 105 106 .appcontrolButton { 107 font-size: 14px; 108 padding: 5px 5px; 109 } 110 111 /* NAVIGATION MENU */ 108 width: 980px; 109 height: 2em; 110 /* text-align: right; */ 111 /* padding: 0px 160px 70px 5px; */ 112 /* padding: 0.5em 0px 0.5em 0px; */ 113 /*border: 1px solid blue;*/ 114 /*border-style: solid solid solid solid;*/ 115 /*overflow: hidden;*/ /* Clearing floats */ 116 } 117 118 .appcontrolButton a { 119 padding: 0.3em 165px 0em 5px; 120 /* width: 980px; */ 121 float: right; 122 font-size: 14px; 123 /* padding: 0.5em 5px ; */ 124 text-decoration: none; 125 display: block; 126 /*overflow: hidden;*/ /* Clearing floats */ 127 } 128 129 .appcontrolButton a:hover { 130 color: red; 131 margin: 0.2em 0 0 0; 132 /*padding: 0.8em 5px;*/ 133 } 134 135 /* ORIGINAL NAVIGATION MENU */ 112 136 113 137 .nav { … … 116 140 /*border: 1px solid #ccc; 117 141 border-style: solid none solid none;*/ 118 padding: 1 5px 0px 0px 0px;142 padding: 10px 0px 0px 0px; 119 143 width: 980px; 120 144 height: 40px; 121 } 122 123 /*.nav a{ 124 background: url("../images/linkPanel.png") no-repeat top; 125 display: inline-block; 126 width: 140px; 127 height: 40px; 128 text-decoration: none; 129 }*/ 145 /*border: 1px solid;*/ 146 } 130 147 131 148 .menuButton { … … 375 392 height: 100px; 376 393 } 394 395 /* Navigation Plugin Override */ 396 .navigation { 397 padding: 0px 0px 0px 165px; 398 list-style-type: none; 399 clear: both; 400 font-size: 14px; 401 overflow: hidden; /* Clearing floats */ 402 } 403 404 .navigation li { 405 float: left; 406 /*border: 0px*/ 407 /* border: 1px solid #888; */ 408 /*border-left-color: #bbb;*/ /* Highlight border-color */ 409 } 410 411 .navigation li.navigation_first { 412 /*border-left-color: #888; */ 413 } 414 415 .navigation li.navigation_active { 416 /*border-left-color: #555;*/ /* Highlight border-color of active item */ 417 } 418 419 .navigation li a { 420 /* color: #fff; */ 421 /* background-color: #aaa; */ 422 padding: 0.3em 0.75em; 423 display: block; 424 text-decoration: none; 425 } 426 427 .navigation li a:hover { 428 color: red; 429 /* background-color: #999; */ 430 /* font-weight: normal; */ 431 /* font-size: 14px; */ 432 margin: 0.2em 0 0 0; 433 /*cursor: default;*/ 434 } 435 436 .navigation li.navigation_active a { 437 /* background-color: #555; */ 438 /* color: #fff;*/ 439 color: #006dba; 440 /*color: black;*/ 441 font-weight: bold; 442 font-size: 17px; 443 margin: 0 0 0 0; 444 /*cursor: default;*/ 445 } 446 447 .navigation li.navigation_active a:hover { 448 color: #006dba; 449 font-weight: bold; 450 font-size: 17px; 451 margin: 0 0 0 0; 452 /*background-color: #555;*/ 453 } 454 455 /* Sub navigation */ 456 .subnavigation { 457 /*padding: 0px 0px 0px 165px;*/ 458 padding: 0px 0px 0px 220px; 459 list-style-type: none; 460 clear: both; 461 overflow: hidden; /* Clearing floats */ 462 } 463 .subnavigation li { 464 float: left; 465 /* background-color: #555; */ 466 padding: 0em 0.75em; 467 border-width: 0px 0; 468 } 469 .subnavigation li a { 470 color: #006dba; 471 font-weight: bold; 472 font-size: 17px; 473 display: block; 474 /*padding: 0px 0;*/ 475 /* border-color: #555; */ 476 border-style: solid; 477 border-width: 0px 0; 478 text-decoration: none; 479 /*margin: 0 0 0 0;*/ 480 /*cursor: default;*/ 481 } 482 483 .subnavigation li a:visited { 484 color: #006dba; 485 } 486 487 .subnavigation li a:hover { 488 /*color: red;*/ 489 /*border-color: black;*/ 490 border-width: 1px 0; 491 } 492 .subnavigation li.subnavigation_active a { 493 /*color: #e0e0e0; */ 494 /*cursor: default;*/ 495 /*border-color: #e0e0e0;*/ 496 border-width: 1px 0; 497 } -
trunk/web-app/css/tabviewCustom.css
r126 r139 187 187 .yui-skin-sam .yui-navset .yui-nav a:focus{/*hover background*/ 188 188 /* background:#bfdaff url("../images/skin/sprite.png") repeat-x left -1300px; */ 189 background:#bfdaff 189 background:#bfdaff; 190 190 outline:0; 191 191 }
Note: See TracChangeset
for help on using the changeset viewer.