- Timestamp:
- May 8, 2009, 1:01:56 AM (16 years ago)
- Location:
- trunk
- Files:
-
- 19 added
- 1 deleted
- 38 edited
- 4 moved
Legend:
- Unmodified
- Added
- Removed
-
trunk/doc/Definitions/PreventativeMaintenance_PM.txt
r130 r131 1 PlannedMaintenance or PM1 Preventative Maintenance or PM 2 2 3 3 * A PM is simply a task where: 4 * Task type = "P lannedMaintenance"5 * As with any task a PM may have a recurring schedule, actionsand entries etc.4 * Task type = "Preventative Maintenance" 5 * As with any task a PM may have a recurring schedule, procedure and entries etc. 6 6 7 7 The following information can be automatically returned from the system. 8 8 9 9 * PM frequency = Task.taskRecurringSchedule 10 10 11 * PM KPI's: 11 * Total PM's = Task.findAllByTaskType("P lannedMaintenance")12 * Total PM's = Task.findAllByTaskType("Preventative Maintenance") 12 13 * Complete PM's = Total.findAllByTaskStatus("Complete") 13 14 * PM completetion rate = Complete/Total 14 15 * Missed PM's = Total - Complete 15 * PM parent tasks = context{TaskRecShed.task.taskType("Planned Maintenance") and Date in range} 16 17 * Find all Recurring PM tasks = context{TaskRecShed.task.taskType("Preventative Maintenance") and Date in range} -
trunk/doc/Definitions/TaskActions.txt
r77 r131 38 38 Modification.person = userName 39 39 Modification.comment = comment 40 } 40 } 41 42 43 Required Services: 44 TaskCopy 45 TaskGenerateSubTask -
trunk/grails-app/conf/BootStrap.groovy
r127 r131 216 216 217 217 taskGroupInstance = new TaskGroup(name:"Engineering Activites", 218 description:"Engineering daily activities")218 description:"Engineering daily activities") 219 219 BootStrapSaveAndTest(taskGroupInstance) 220 220 221 221 taskGroupInstance = new TaskGroup(name:"Production Activites", 222 description:"Production daily activities")222 description:"Production daily activities") 223 223 BootStrapSaveAndTest(taskGroupInstance) 224 224 225 225 taskGroupInstance = new TaskGroup(name:"New Projects", 226 description:" ")226 description:" ") 227 227 BootStrapSaveAndTest(taskGroupInstance) 228 228 … … 260 260 BootStrapSaveAndTest(taskTypeInstance) 261 261 262 taskTypeInstance = new TaskType(name:"P lannedMaintenance")262 taskTypeInstance = new TaskType(name:"Preventative Maintenance") 263 263 BootStrapSaveAndTest(taskTypeInstance) 264 264 … … 409 409 BootStrapSaveAndTest(assignedPersonInstance) 410 410 411 //RecurringSchedule 412 def recurringScheduleInstance 413 414 //RecurringSchedule #1 415 recurringScheduleInstance = new RecurringSchedule(recurEvery: 1, 411 //TaskRecurringSchedule 412 def taskRecurringScheduleInstance 413 414 //TaskRecurringSchedule #1 415 taskRecurringScheduleInstance = new TaskRecurringSchedule(task: Task.get(1), 416 recurEvery: 1, 416 417 period: Period.get(1), 417 418 task: Task.get(1), 418 419 nextDueDate: new Date()) 419 BootStrapSaveAndTest(recurringScheduleInstance) 420 421 //RecurringSchedule #2 422 recurringScheduleInstance = new RecurringSchedule(recurEvery: 1, 423 period: Period.get(2), 420 BootStrapSaveAndTest(taskRecurringScheduleInstance) 421 422 //TaskRecurringSchedule #2 423 taskRecurringScheduleInstance = new TaskRecurringSchedule(task: Task.get(2), 424 recurEvery: 1, 425 period: Period.get(1), 424 426 task: Task.get(2), 425 427 nextDueDate: new Date()) 426 BootStrapSaveAndTest( recurringScheduleInstance)428 BootStrapSaveAndTest(taskRecurringScheduleInstance) 427 429 428 430 /************************* … … 591 593 BootStrapSaveAndTest(maintenancePolicyInstance) 592 594 593 //PlannedMaintenance 594 def plannedMaintenanceInstance 595 596 //PM #1 597 plannedMaintenanceInstance = new PlannedMaintenance(name: "PM1", 598 recurringSchedule: RecurringSchedule.get(1)) 599 BootStrapSaveAndTest(plannedMaintenanceInstance) 600 601 //PM #2 602 plannedMaintenanceInstance = new PlannedMaintenance(name: "PM2", 603 recurringSchedule: RecurringSchedule.get(1)) 604 BootStrapSaveAndTest(plannedMaintenanceInstance) 595 //TaskProcedure 596 def taskProcedureInstance 597 598 taskProcedureInstance = new TaskProcedure(name: "Daily check") 599 BootStrapSaveAndTest(taskProcedureInstance) 600 taskProcedureInstance.addToTasks(Task.get(1)) 605 601 606 602 //MaintenanceAction … … 608 604 609 605 //MaintenanceAction #1 610 maintenanceActionInstance = new MaintenanceAction( maintenanceAction: "Check all E-stops, active E-stop S1-S12 and ensure machine cannot run",611 p mStepNumber: 1,606 maintenanceActionInstance = new MaintenanceAction(description: "Check all E-stops, active E-stop S1-S12 and ensure machine cannot run", 607 procedureStepNumber: 1, 612 608 maintenancePolicy: MaintenancePolicy.get(1), 613 plannedMaintenance: PlannedMaintenance.get(1))609 taskProcedure: TaskProcedure.get(1)) 614 610 BootStrapSaveAndTest(maintenanceActionInstance) 615 611 616 612 //MaintenanceAction #2 617 maintenanceActionInstance = new MaintenanceAction( maintenanceAction: "Do more pushups",618 p mStepNumber: 2,613 maintenanceActionInstance = new MaintenanceAction(description: "Do more pushups", 614 procedureStepNumber: 2, 619 615 maintenancePolicy: MaintenancePolicy.get(1), 620 plannedMaintenance: PlannedMaintenance.get(1))616 taskProcedure: TaskProcedure.get(1)) 621 617 BootStrapSaveAndTest(maintenanceActionInstance) 622 618 623 619 //MaintenanceAction #3 624 maintenanceActionInstance = new MaintenanceAction( maintenanceAction: "Ok just one more pushup",625 p mStepNumber: 3,620 maintenanceActionInstance = new MaintenanceAction(description: "Ok just one more pushup", 621 procedureStepNumber: 3, 626 622 maintenancePolicy: MaintenancePolicy.get(1), 627 plannedMaintenance: PlannedMaintenance.get(1))623 taskProcedure: TaskProcedure.get(1)) 628 624 BootStrapSaveAndTest(maintenanceActionInstance) 629 625 … … 661 657 662 658 //Assembly #1 663 assemblyInstance = new Assembly(name: "Print Couple") 659 assemblyInstance = new Assembly(name: "Print Couple", 660 assetType: AssetType.get(1)) 664 661 BootStrapSaveAndTest(assemblyInstance) 665 662 // assemblyInstance.addToMaintenanceActions(MaintenanceAction.get(1)) … … 667 664 //Assembly #2 668 665 assemblyInstance = new Assembly(name: "Agitator", 669 lifeplan: LifePlan.get(1))666 assetType: AssetType.get(2)) 670 667 BootStrapSaveAndTest(assemblyInstance) 671 668 … … 674 671 675 672 //SubAssembly #1 676 subAssemblyInstance = new SubAssembly(name: "Cylinder") 673 subAssemblyInstance = new SubAssembly(name: "Cylinder", 674 assembly: Assembly.get(1)) 677 675 BootStrapSaveAndTest(subAssemblyInstance) 678 676 679 677 //SubAssembly #2 680 subAssemblyInstance = new SubAssembly(name: "Gearmotor") 678 subAssemblyInstance = new SubAssembly(name: "Gearmotor", 679 assembly: Assembly.get(2)) 681 680 BootStrapSaveAndTest(subAssemblyInstance) 682 681 … … 685 684 686 685 //ComponentItem #1 687 componentItemInstance = new ComponentItem(name: "Centre Pulley") 686 componentItemInstance = new ComponentItem(name: "Bearing", 687 subAssembly: SubAssembly.get(1)) 688 688 BootStrapSaveAndTest(componentItemInstance) 689 689 690 690 //ComponentItem #2 691 componentItemInstance = new ComponentItem(name: "Bearing") 691 componentItemInstance = new ComponentItem(name: "Drive shaft oil seal", 692 subAssembly: SubAssembly.get(2)) 692 693 BootStrapSaveAndTest(componentItemInstance) 693 694 -
trunk/grails-app/controllers/TaskDetailedController.groovy
r124 r131 27 27 redirect(action:list) 28 28 } 29 else { return [ taskInstance : taskInstance ] } 29 else { 30 def taskProcedureInstance = TaskProcedure.get(taskInstance?.taskProcedure?.id) 31 return [ taskInstance : taskInstance, taskProcedureInstance: taskProcedureInstance] 32 33 } 30 34 } 31 35 -
trunk/grails-app/domain/Assembly.groovy
r121 r131 1 1 class Assembly { 2 3 AssetType assetType 4 2 5 String name 3 6 String description = "" 4 7 boolean isActive = true 5 8 6 static hasMany = [ assetTypes: AssetType,subAssemblies: SubAssembly, maintenanceActions: MaintenanceAction]9 static hasMany = [subAssemblies: SubAssembly, maintenanceActions: MaintenanceAction] 7 10 8 11 static belongsTo = [AssetType] -
trunk/grails-app/domain/Asset.groovy
r124 r131 8 8 boolean isActive = true 9 9 10 static hasMany = [maintenanceActions: MaintenanceAction, assetExtendedAttributes: AssetExtendedAttribute] 10 static hasMany = [maintenanceActions: MaintenanceAction, 11 assetExtendedAttributes: AssetExtendedAttribute] 11 12 12 13 static belongsTo = [SystemSection, AssetType] -
trunk/grails-app/domain/ComponentItem.groovy
r122 r131 1 1 class ComponentItem { 2 3 SubAssembly subAssembly 2 4 3 5 String name … … 5 7 boolean isActive = true 6 8 7 static hasMany = [ subAssemblies: SubAssembly,maintenanceActions: MaintenanceAction]9 static hasMany = [maintenanceActions: MaintenanceAction] 8 10 9 11 static belongsTo = [SubAssembly] -
trunk/grails-app/domain/MaintenanceAction.groovy
r130 r131 1 class TaskAction { 2 Task task 1 class MaintenanceAction { 2 3 TaskProcedure taskProcedure 3 4 MaintenancePolicy maintenancePolicy 4 5 SystemSection systemSection … … 8 9 SubAssembly subAssembly 9 10 ComponentItem componentItem 10 String action 11 12 String description 11 13 String reasoning = "" 12 Integer stepNumber14 Integer procedureStepNumber 13 15 boolean isActive = true 14 16 … … 18 20 19 21 static constraints = { 22 maintenancePolicy(blank:true, nullable:true) 20 23 systemSection(blank:true, nullable:true) 21 24 asset(blank:true, nullable:true) … … 24 27 subAssembly(blank:true, nullable:true) 25 28 componentItem(blank:true, nullable:true) 26 stepNumber(blank:true, nullable:true)29 procedureStepNumber(blank:true, nullable:true) 27 30 } 28 31 29 32 String toString() { 30 "${this. action}"33 "${this.description}" 31 34 } 32 35 } -
trunk/grails-app/domain/Period.groovy
r122 r131 1 1 class Period { 2 2 3 String period 3 4 boolean isActive = true 4 5 5 static hasMany = [ recurringSchedules:RecurringSchedule]6 static hasMany = [taskRecurringSchedules: TaskRecurringSchedule] 6 7 // 7 8 // static belongsTo = [] -
trunk/grails-app/domain/SubAssembly.groovy
r121 r131 1 1 class SubAssembly { 2 3 Assembly assembly 2 4 3 5 String name … … 5 7 boolean isActive = true 6 8 7 static hasMany = [assemblies: Assembly, componentItems: ComponentItem, maintenanceActions: MaintenanceAction] 9 static hasMany = [componentItems: ComponentItem, 10 maintenanceActions: MaintenanceAction] 8 11 9 12 static belongsTo = [Assembly] -
trunk/grails-app/domain/Task.groovy
r123 r131 8 8 Person leadPerson 9 9 Asset primaryAsset 10 RecurringSchedule recurringSchedule 10 TaskRecurringSchedule taskRecurringSchedule 11 TaskProcedure taskProcedure 11 12 12 13 String description … … 25 26 inventoryMovements: InventoryMovement] 26 27 28 static mappedBy = [taskRecurringSchedule:"task"] 29 27 30 static belongsTo = [TaskGroup, TaskStatus, Task, Person] 28 31 29 32 static constraints = { 33 description(blank:false,maxSize:75) 34 comment() 30 35 targetStartDate() 31 description(blank:false,maxSize:75)36 targetCompletionDate() 32 37 leadPerson() 33 38 taskPriority() 34 39 taskStatus() 35 40 parentTask(blank: true, nullable:true) 36 comment()37 41 primaryAsset(blank: true, nullable:true) 38 recurringSchedule(blank: true, nullable:true) 42 taskRecurringSchedule(blank: true, nullable:true) 43 taskProcedure(blank: true, nullable:true) 39 44 40 45 } -
trunk/grails-app/domain/TaskRecurringSchedule.groovy
r130 r131 2 2 3 3 Task task 4 //Task lastGeneratedSubTask4 Task lastGeneratedSubTask 5 5 Period period 6 6 … … 9 9 Date lastGeneratedDate 10 10 Date nextDueDate 11 boolean is Active= true11 boolean isEnabled = true 12 12 13 13 // static hasMany = [] … … 16 16 17 17 static constraints = { 18 // lastGeneratedDate(blank:true, nullable:true) 18 lastGeneratedDate(blank:true, nullable:true) 19 lastGeneratedSubTask(blank:true, nullable:true) 19 20 } 20 21 -
trunk/grails-app/views/assembly/create.gsp
r122 r131 26 26 <table> 27 27 <tbody> 28 29 <tr class="prop"> 30 <td valign="top" class="name"> 31 <label for="assetType">Asset Type:</label> 32 </td> 33 <td valign="top" class="value ${hasErrors(bean:assemblyInstance,field:'assetType','errors')}"> 34 <g:select optionKey="id" from="${AssetType.list()}" name="assetType.id" value="${assemblyInstance?.assetType?.id}" ></g:select> 35 </td> 36 </tr> 28 37 29 38 <tr class="prop"> -
trunk/grails-app/views/assembly/edit.gsp
r122 r131 32 32 <tr class="prop"> 33 33 <td valign="top" class="name"> 34 <label for="assetType s">Asset Types:</label>34 <label for="assetType">Asset Type:</label> 35 35 </td> 36 <td valign="top" class="value ${hasErrors(bean:assemblyInstance,field:'assetType s','errors')}">37 36 <td valign="top" class="value ${hasErrors(bean:assemblyInstance,field:'assetType','errors')}"> 37 <g:select optionKey="id" from="${AssetType.list()}" name="assetType.id" value="${assemblyInstance?.assetType?.id}" ></g:select> 38 38 </td> 39 39 </tr> … … 87 87 </td> 88 88 <td valign="top" class="value ${hasErrors(bean:assemblyInstance,field:'subAssemblies','errors')}"> 89 <g:select name="subAssemblies" 90 from="${SubAssembly.list()}" 91 size="5" multiple="yes" optionKey="id" 92 value="${assemblyInstance?.subAssemblies}" /> 89 90 <ul> 91 <g:each var="s" in="${assemblyInstance?.subAssemblies?}"> 92 <li><g:link controller="subAssembly" action="show" id="${s.id}">${s?.encodeAsHTML()}</g:link></li> 93 </g:each> 94 </ul> 95 <g:link controller="subAssembly" params="['assembly.id':assemblyInstance?.id]" action="create">Add SubAssembly</g:link> 93 96 94 97 </td> -
trunk/grails-app/views/assembly/list.gsp
r122 r131 24 24 <g:sortableColumn property="id" title="Id" /> 25 25 26 <th>Asset Type</th> 27 26 28 <g:sortableColumn property="description" title="Description" /> 27 29 … … 37 39 38 40 <td><g:link action="show" id="${assemblyInstance.id}">${fieldValue(bean:assemblyInstance, field:'id')}</g:link></td> 41 42 <td>${fieldValue(bean:assemblyInstance, field:'assetType')}</td> 39 43 40 44 <td>${fieldValue(bean:assemblyInstance, field:'description')}</td> -
trunk/grails-app/views/assembly/show.gsp
r122 r131 31 31 32 32 <tr class="prop"> 33 <td valign="top" class="name">Asset Type s:</td>33 <td valign="top" class="name">Asset Type:</td> 34 34 35 <td valign="top" style="text-align:left;" class="value"> 36 <ul> 37 <g:each var="a" in="${assemblyInstance.assetTypes}"> 38 <li><g:link controller="assetType" action="show" id="${a.id}">${a?.encodeAsHTML()}</g:link></li> 39 </g:each> 40 </ul> 41 </td> 35 <td valign="top" class="value"><g:link controller="assetType" action="show" id="${assemblyInstance?.assetType?.id}">${assemblyInstance?.assetType?.encodeAsHTML()}</g:link></td> 42 36 43 37 </tr> -
trunk/grails-app/views/asset/create.gsp
r122 r131 29 29 <tr class="prop"> 30 30 <td valign="top" class="name"> 31 <label for="name">Name:</label> 32 </td> 33 <td valign="top" class="value ${hasErrors(bean:assetInstance,field:'name','errors')}"> 34 <input type="text" id="name" name="name" value="${fieldValue(bean:assetInstance,field:'name')}"/> 35 </td> 36 </tr> 37 38 <tr class="prop"> 39 <td valign="top" class="name"> 31 40 <label for="assetType">Asset Type:</label> 32 41 </td> … … 56 65 <tr class="prop"> 57 66 <td valign="top" class="name"> 58 <label for="name">Name:</label>59 </td>60 <td valign="top" class="value ${hasErrors(bean:assetInstance,field:'name','errors')}">61 <input type="text" id="name" name="name" value="${fieldValue(bean:assetInstance,field:'name')}"/>62 </td>63 </tr>64 65 <tr class="prop">66 <td valign="top" class="name">67 67 <label for="systemSection">System Section:</label> 68 68 </td> -
trunk/grails-app/views/asset/edit.gsp
r124 r131 29 29 <table> 30 30 <tbody> 31 32 <tr class="prop"> 33 <td valign="top" class="name"> 34 <label for="name">Name:</label> 35 </td> 36 <td valign="top" class="value ${hasErrors(bean:assetInstance,field:'name','errors')}"> 37 <input type="text" id="name" name="name" value="${fieldValue(bean:assetInstance,field:'name')}"/> 38 </td> 39 </tr> 31 40 32 41 <tr class="prop"> … … 91 100 <tr class="prop"> 92 101 <td valign="top" class="name"> 93 <label for="name">Name:</label>94 </td>95 <td valign="top" class="value ${hasErrors(bean:assetInstance,field:'name','errors')}">96 <input type="text" id="name" name="name" value="${fieldValue(bean:assetInstance,field:'name')}"/>97 </td>98 </tr>99 100 <tr class="prop">101 <td valign="top" class="name">102 102 <label for="systemSection">System Section:</label> 103 103 </td> -
trunk/grails-app/views/asset/list.gsp
r122 r131 24 24 <g:sortableColumn property="id" title="Id" /> 25 25 26 <g:sortableColumn property="name" title="Name" /> 27 26 28 <th>Asset Type</th> 27 29 … … 29 31 30 32 <g:sortableColumn property="isActive" title="Is Active" /> 31 32 <g:sortableColumn property="name" title="Name" />33 33 34 34 <th>System Section</th> … … 42 42 <td><g:link action="show" id="${assetInstance.id}">${fieldValue(bean:assetInstance, field:'id')}</g:link></td> 43 43 44 <td>${fieldValue(bean:assetInstance, field:'name')}</td> 45 44 46 <td>${fieldValue(bean:assetInstance, field:'assetType')}</td> 45 47 … … 47 49 48 50 <td>${fieldValue(bean:assetInstance, field:'isActive')}</td> 49 50 <td>${fieldValue(bean:assetInstance, field:'name')}</td>51 51 52 52 <td>${fieldValue(bean:assetInstance, field:'systemSection')}</td> -
trunk/grails-app/views/asset/show.gsp
r124 r131 27 27 28 28 <td valign="top" class="value">${fieldValue(bean:assetInstance, field:'id')}</td> 29 30 </tr> 31 32 <tr class="prop"> 33 <td valign="top" class="name">Name:</td> 34 35 <td valign="top" class="value">${fieldValue(bean:assetInstance, field:'name')}</td> 29 36 30 37 </tr> … … 78 85 79 86 <tr class="prop"> 80 <td valign="top" class="name">Name:</td>81 82 <td valign="top" class="value">${fieldValue(bean:assetInstance, field:'name')}</td>83 84 </tr>85 86 <tr class="prop">87 87 <td valign="top" class="name">System Section:</td> 88 88 -
trunk/grails-app/views/assetType/edit.gsp
r124 r131 35 35 </td> 36 36 <td valign="top" class="value ${hasErrors(bean:assetTypeInstance,field:'assemblies','errors')}"> 37 <g:select name="assemblies" 38 from="${Assembly.list()}" 39 size="5" multiple="yes" optionKey="id" 40 value="${assetTypeInstance?.assemblies}" /> 37 38 <ul> 39 <g:each var="a" in="${assetTypeInstance?.assemblies?}"> 40 <li><g:link controller="assembly" action="show" id="${a.id}">${a?.encodeAsHTML()}</g:link></li> 41 </g:each> 42 </ul> 43 <g:link controller="assembly" params="['assetType.id':assetTypeInstance?.id]" action="create">Add Assembly</g:link> 41 44 42 45 </td> -
trunk/grails-app/views/componentItem/create.gsp
r122 r131 54 54 </tr> 55 55 56 <tr class="prop"> 57 <td valign="top" class="name"> 58 <label for="subAssembly">Sub Assembly:</label> 59 </td> 60 <td valign="top" class="value ${hasErrors(bean:componentItemInstance,field:'subAssembly','errors')}"> 61 <g:select optionKey="id" from="${SubAssembly.list()}" name="subAssembly.id" value="${componentItemInstance?.subAssembly?.id}" ></g:select> 62 </td> 63 </tr> 64 56 65 </tbody> 57 66 </table> -
trunk/grails-app/views/componentItem/edit.gsp
r122 r131 75 75 <tr class="prop"> 76 76 <td valign="top" class="name"> 77 <label for="subAssembl ies">Sub Assemblies:</label>77 <label for="subAssembly">Sub Assembly:</label> 78 78 </td> 79 <td valign="top" class="value ${hasErrors(bean:componentItemInstance,field:'subAssembl ies','errors')}">80 79 <td valign="top" class="value ${hasErrors(bean:componentItemInstance,field:'subAssembly','errors')}"> 80 <g:select optionKey="id" from="${SubAssembly.list()}" name="subAssembly.id" value="${componentItemInstance?.subAssembly?.id}" ></g:select> 81 81 </td> 82 82 </tr> -
trunk/grails-app/views/componentItem/list.gsp
r122 r131 30 30 <g:sortableColumn property="name" title="Name" /> 31 31 32 <th>Sub Assembly</th> 33 32 34 </tr> 33 35 </thead> … … 44 46 <td>${fieldValue(bean:componentItemInstance, field:'name')}</td> 45 47 48 <td>${fieldValue(bean:componentItemInstance, field:'subAssembly')}</td> 49 46 50 </tr> 47 51 </g:each> -
trunk/grails-app/views/componentItem/show.gsp
r122 r131 65 65 66 66 <tr class="prop"> 67 <td valign="top" class="name">Sub Assembl ies:</td>67 <td valign="top" class="name">Sub Assembly:</td> 68 68 69 <td valign="top" style="text-align:left;" class="value"> 70 <ul> 71 <g:each var="s" in="${componentItemInstance.subAssemblies}"> 72 <li><g:link controller="subAssembly" action="show" id="${s.id}">${s?.encodeAsHTML()}</g:link></li> 73 </g:each> 74 </ul> 75 </td> 69 <td valign="top" class="value"><g:link controller="subAssembly" action="show" id="${componentItemInstance?.subAssembly?.id}">${componentItemInstance?.subAssembly?.encodeAsHTML()}</g:link></td> 76 70 77 71 </tr> -
trunk/grails-app/views/subAssembly/create.gsp
r122 r131 26 26 <table> 27 27 <tbody> 28 29 <tr class="prop"> 30 <td valign="top" class="name"> 31 <label for="assembly">Assembly:</label> 32 </td> 33 <td valign="top" class="value ${hasErrors(bean:subAssemblyInstance,field:'assembly','errors')}"> 34 <g:select optionKey="id" from="${Assembly.list()}" name="assembly.id" value="${subAssemblyInstance?.assembly?.id}" ></g:select> 35 </td> 36 </tr> 28 37 29 38 <tr class="prop"> -
trunk/grails-app/views/subAssembly/edit.gsp
r122 r131 32 32 <tr class="prop"> 33 33 <td valign="top" class="name"> 34 <label for="assembl ies">Assemblies:</label>34 <label for="assembly">Assembly:</label> 35 35 </td> 36 <td valign="top" class="value ${hasErrors(bean:subAssemblyInstance,field:'assembl ies','errors')}">37 36 <td valign="top" class="value ${hasErrors(bean:subAssemblyInstance,field:'assembly','errors')}"> 37 <g:select optionKey="id" from="${Assembly.list()}" name="assembly.id" value="${subAssemblyInstance?.assembly?.id}" ></g:select> 38 38 </td> 39 39 </tr> … … 44 44 </td> 45 45 <td valign="top" class="value ${hasErrors(bean:subAssemblyInstance,field:'componentItems','errors')}"> 46 <g:select name="componentItems" 47 from="${ComponentItem.list()}" 48 size="5" multiple="yes" optionKey="id" 49 value="${subAssemblyInstance?.componentItems}" /> 46 47 <ul> 48 <g:each var="c" in="${subAssemblyInstance?.componentItems?}"> 49 <li><g:link controller="componentItem" action="show" id="${c.id}">${c?.encodeAsHTML()}</g:link></li> 50 </g:each> 51 </ul> 52 <g:link controller="componentItem" params="['subAssembly.id':subAssemblyInstance?.id]" action="create">Add ComponentItem</g:link> 50 53 51 54 </td> -
trunk/grails-app/views/subAssembly/list.gsp
r122 r131 24 24 <g:sortableColumn property="id" title="Id" /> 25 25 26 <th>Assembly</th> 27 26 28 <g:sortableColumn property="description" title="Description" /> 27 29 … … 37 39 38 40 <td><g:link action="show" id="${subAssemblyInstance.id}">${fieldValue(bean:subAssemblyInstance, field:'id')}</g:link></td> 41 42 <td>${fieldValue(bean:subAssemblyInstance, field:'assembly')}</td> 39 43 40 44 <td>${fieldValue(bean:subAssemblyInstance, field:'description')}</td> -
trunk/grails-app/views/subAssembly/show.gsp
r122 r131 31 31 32 32 <tr class="prop"> 33 <td valign="top" class="name">Assembl ies:</td>33 <td valign="top" class="name">Assembly:</td> 34 34 35 <td valign="top" style="text-align:left;" class="value"> 36 <ul> 37 <g:each var="a" in="${subAssemblyInstance.assemblies}"> 38 <li><g:link controller="assembly" action="show" id="${a.id}">${a?.encodeAsHTML()}</g:link></li> 39 </g:each> 40 </ul> 41 </td> 35 <td valign="top" class="value"><g:link controller="assembly" action="show" id="${subAssemblyInstance?.assembly?.id}">${subAssemblyInstance?.assembly?.encodeAsHTML()}</g:link></td> 42 36 43 37 </tr> -
trunk/grails-app/views/task/create.gsp
r122 r131 29 29 <tr class="prop"> 30 30 <td valign="top" class="name"> 31 <label for="description">Description:</label> 32 </td> 33 <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'description','errors')}"> 34 <input type="text" maxlength="75" id="description" name="description" value="${fieldValue(bean:taskInstance,field:'description')}"/> 35 </td> 36 </tr> 37 38 <tr class="prop"> 39 <td valign="top" class="name"> 40 <label for="comment">Comment:</label> 41 </td> 42 <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'comment','errors')}"> 43 <input type="text" id="comment" name="comment" value="${fieldValue(bean:taskInstance,field:'comment')}"/> 44 </td> 45 </tr> 46 47 <tr class="prop"> 48 <td valign="top" class="name"> 31 49 <label for="targetStartDate">Target Start Date:</label> 32 50 </td> … … 38 56 <tr class="prop"> 39 57 <td valign="top" class="name"> 40 <label for=" description">Description:</label>58 <label for="targetCompletionDate">Target Completion Date:</label> 41 59 </td> 42 <td valign="top" class="value ${hasErrors(bean:taskInstance,field:' description','errors')}">43 < input type="text" maxlength="75" id="description" name="description" value="${fieldValue(bean:taskInstance,field:'description')}"/>60 <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'targetCompletionDate','errors')}"> 61 <g:datePicker name="targetCompletionDate" value="${taskInstance?.targetCompletionDate}" ></g:datePicker> 44 62 </td> 45 63 </tr> … … 83 101 <tr class="prop"> 84 102 <td valign="top" class="name"> 85 <label for=" comment">Comment:</label>103 <label for="primaryAsset">Primary Asset:</label> 86 104 </td> 87 <td valign="top" class="value ${hasErrors(bean:taskInstance,field:' comment','errors')}">88 < input type="text" id="comment" name="comment" value="${fieldValue(bean:taskInstance,field:'comment')}"/>105 <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'primaryAsset','errors')}"> 106 <g:select optionKey="id" from="${Asset.list()}" name="primaryAsset.id" value="${taskInstance?.primaryAsset?.id}" noSelection="['null':'']"></g:select> 89 107 </td> 90 108 </tr> … … 92 110 <tr class="prop"> 93 111 <td valign="top" class="name"> 94 <label for=" primaryAsset">Primary Asset:</label>112 <label for="taskRecurringSchedule">Task Recurring Schedule:</label> 95 113 </td> 96 <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'primaryAsset','errors')}"> 97 <g:select optionKey="id" from="${Asset.list()}" name="primaryAsset.id" value="${taskInstance?.primaryAsset?.id}" noSelection="['null':'']"></g:select> 114 <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'taskRecurringSchedule','errors')}"> 115 <g:select optionKey="id" from="${TaskRecurringSchedule.list()}" name="taskRecurringSchedule.id" value="${taskInstance?.taskRecurringSchedule?.id}" noSelection="['null':'']"></g:select> 116 </td> 117 </tr> 118 119 <tr class="prop"> 120 <td valign="top" class="name"> 121 <label for="taskProcedure">Task Procedure:</label> 122 </td> 123 <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'taskProcedure','errors')}"> 124 <g:select optionKey="id" from="${TaskProcedure.list()}" name="taskProcedure.id" value="${taskInstance?.taskProcedure?.id}" noSelection="['null':'']"></g:select> 98 125 </td> 99 126 </tr> … … 128 155 <tr class="prop"> 129 156 <td valign="top" class="name"> 130 <label for="recurringSchedule">Recurring Schedule:</label>131 </td>132 <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'recurringSchedule','errors')}">133 <g:select optionKey="id" from="${RecurringSchedule.list()}" name="recurringSchedule.id" value="${taskInstance?.recurringSchedule?.id}" ></g:select>134 </td>135 </tr>136 137 <tr class="prop">138 <td valign="top" class="name">139 <label for="targetCompletionDate">Target Completion Date:</label>140 </td>141 <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'targetCompletionDate','errors')}">142 <g:datePicker name="targetCompletionDate" value="${taskInstance?.targetCompletionDate}" ></g:datePicker>143 </td>144 </tr>145 146 <tr class="prop">147 <td valign="top" class="name">148 157 <label for="taskGroup">Task Group:</label> 149 158 </td> -
trunk/grails-app/views/task/edit.gsp
r122 r131 32 32 <tr class="prop"> 33 33 <td valign="top" class="name"> 34 <label for="description">Description:</label> 35 </td> 36 <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'description','errors')}"> 37 <input type="text" maxlength="75" id="description" name="description" value="${fieldValue(bean:taskInstance,field:'description')}"/> 38 </td> 39 </tr> 40 41 <tr class="prop"> 42 <td valign="top" class="name"> 43 <label for="comment">Comment:</label> 44 </td> 45 <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'comment','errors')}"> 46 <input type="text" id="comment" name="comment" value="${fieldValue(bean:taskInstance,field:'comment')}"/> 47 </td> 48 </tr> 49 50 <tr class="prop"> 51 <td valign="top" class="name"> 34 52 <label for="targetStartDate">Target Start Date:</label> 35 53 </td> … … 41 59 <tr class="prop"> 42 60 <td valign="top" class="name"> 43 <label for=" description">Description:</label>44 </td> 45 <td valign="top" class="value ${hasErrors(bean:taskInstance,field:' description','errors')}">46 < input type="text" maxlength="75" id="description" name="description" value="${fieldValue(bean:taskInstance,field:'description')}"/>61 <label for="targetCompletionDate">Target Completion Date:</label> 62 </td> 63 <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'targetCompletionDate','errors')}"> 64 <g:datePicker name="targetCompletionDate" value="${taskInstance?.targetCompletionDate}" ></g:datePicker> 47 65 </td> 48 66 </tr> … … 86 104 <tr class="prop"> 87 105 <td valign="top" class="name"> 88 <label for="comment">Comment:</label>89 </td>90 <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'comment','errors')}">91 <input type="text" id="comment" name="comment" value="${fieldValue(bean:taskInstance,field:'comment')}"/>92 </td>93 </tr>94 95 <tr class="prop">96 <td valign="top" class="name">97 106 <label for="primaryAsset">Primary Asset:</label> 98 107 </td> 99 108 <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'primaryAsset','errors')}"> 100 109 <g:select optionKey="id" from="${Asset.list()}" name="primaryAsset.id" value="${taskInstance?.primaryAsset?.id}" noSelection="['null':'']"></g:select> 110 </td> 111 </tr> 112 113 <tr class="prop"> 114 <td valign="top" class="name"> 115 <label for="taskRecurringSchedule">Task Recurring Schedule:</label> 116 </td> 117 <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'taskRecurringSchedule','errors')}"> 118 <g:select optionKey="id" from="${TaskRecurringSchedule.list()}" name="taskRecurringSchedule.id" value="${taskInstance?.taskRecurringSchedule?.id}" noSelection="['null':'']"></g:select> 119 </td> 120 </tr> 121 122 <tr class="prop"> 123 <td valign="top" class="name"> 124 <label for="taskProcedure">Task Procedure:</label> 125 </td> 126 <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'taskProcedure','errors')}"> 127 <g:select optionKey="id" from="${TaskProcedure.list()}" name="taskProcedure.id" value="${taskInstance?.taskProcedure?.id}" noSelection="['null':'']"></g:select> 101 128 </td> 102 129 </tr> … … 192 219 <tr class="prop"> 193 220 <td valign="top" class="name"> 194 <label for="recurringSchedule">Recurring Schedule:</label>195 </td>196 <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'recurringSchedule','errors')}">197 <g:select optionKey="id" from="${RecurringSchedule.list()}" name="recurringSchedule.id" value="${taskInstance?.recurringSchedule?.id}" ></g:select>198 </td>199 </tr>200 201 <tr class="prop">202 <td valign="top" class="name">203 221 <label for="subTasks">Sub Tasks:</label> 204 222 </td> … … 212 230 <g:link controller="task" params="['task.id':taskInstance?.id]" action="create">Add Task</g:link> 213 231 214 </td>215 </tr>216 217 <tr class="prop">218 <td valign="top" class="name">219 <label for="targetCompletionDate">Target Completion Date:</label>220 </td>221 <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'targetCompletionDate','errors')}">222 <g:datePicker name="targetCompletionDate" value="${taskInstance?.targetCompletionDate}" ></g:datePicker>223 232 </td> 224 233 </tr> -
trunk/grails-app/views/task/list.gsp
r96 r131 24 24 <g:sortableColumn property="id" title="Id" /> 25 25 26 <g:sortableColumn property="description" title="Description" /> 27 28 <g:sortableColumn property="comment" title="Comment" /> 29 26 30 <g:sortableColumn property="targetStartDate" title="Target Start Date" /> 27 31 28 <g:sortableColumn property=" description" title="Description" />32 <g:sortableColumn property="targetCompletionDate" title="Target Completion Date" /> 29 33 30 34 <th>Lead Person</th> 31 32 <th>Task Priority</th>33 34 <th>Task Status</th>35 35 36 36 </tr> … … 42 42 <td><g:link action="show" id="${taskInstance.id}">${fieldValue(bean:taskInstance, field:'id')}</g:link></td> 43 43 44 <td>${fieldValue(bean:taskInstance, field:'description')}</td> 45 46 <td>${fieldValue(bean:taskInstance, field:'comment')}</td> 47 44 48 <td>${fieldValue(bean:taskInstance, field:'targetStartDate')}</td> 45 49 46 <td>${fieldValue(bean:taskInstance, field:' description')}</td>50 <td>${fieldValue(bean:taskInstance, field:'targetCompletionDate')}</td> 47 51 48 52 <td>${fieldValue(bean:taskInstance, field:'leadPerson')}</td> 49 50 <td>${fieldValue(bean:taskInstance, field:'taskPriority')}</td>51 52 <td>${fieldValue(bean:taskInstance, field:'taskStatus')}</td>53 53 54 54 </tr> -
trunk/grails-app/views/task/show.gsp
r122 r131 31 31 32 32 <tr class="prop"> 33 <td valign="top" class="name">Description:</td> 34 35 <td valign="top" class="value">${fieldValue(bean:taskInstance, field:'description')}</td> 36 37 </tr> 38 39 <tr class="prop"> 40 <td valign="top" class="name">Comment:</td> 41 42 <td valign="top" class="value">${fieldValue(bean:taskInstance, field:'comment')}</td> 43 44 </tr> 45 46 <tr class="prop"> 33 47 <td valign="top" class="name">Target Start Date:</td> 34 48 … … 38 52 39 53 <tr class="prop"> 40 <td valign="top" class="name"> Description:</td>41 42 <td valign="top" class="value">${fieldValue(bean:taskInstance, field:' description')}</td>54 <td valign="top" class="name">Target Completion Date:</td> 55 56 <td valign="top" class="value">${fieldValue(bean:taskInstance, field:'targetCompletionDate')}</td> 43 57 44 58 </tr> … … 73 87 74 88 <tr class="prop"> 75 <td valign="top" class="name">Comment:</td>76 77 <td valign="top" class="value">${fieldValue(bean:taskInstance, field:'comment')}</td>78 79 </tr>80 81 <tr class="prop">82 89 <td valign="top" class="name">Primary Asset:</td> 83 90 84 91 <td valign="top" class="value"><g:link controller="asset" action="show" id="${taskInstance?.primaryAsset?.id}">${taskInstance?.primaryAsset?.encodeAsHTML()}</g:link></td> 92 93 </tr> 94 95 <tr class="prop"> 96 <td valign="top" class="name">Task Recurring Schedule:</td> 97 98 <td valign="top" class="value"><g:link controller="taskRecurringSchedule" action="show" id="${taskInstance?.taskRecurringSchedule?.id}">${taskInstance?.taskRecurringSchedule?.encodeAsHTML()}</g:link></td> 99 100 </tr> 101 102 <tr class="prop"> 103 <td valign="top" class="name">Task Procedure:</td> 104 105 <td valign="top" class="value"><g:link controller="taskProcedure" action="show" id="${taskInstance?.taskProcedure?.id}">${taskInstance?.taskProcedure?.encodeAsHTML()}</g:link></td> 85 106 86 107 </tr> … … 160 181 161 182 <tr class="prop"> 162 <td valign="top" class="name">Recurring Schedule:</td>163 164 <td valign="top" class="value"><g:link controller="recurringSchedule" action="show" id="${taskInstance?.recurringSchedule?.id}">${taskInstance?.recurringSchedule?.encodeAsHTML()}</g:link></td>165 166 </tr>167 168 <tr class="prop">169 183 <td valign="top" class="name">Sub Tasks:</td> 170 184 … … 176 190 </ul> 177 191 </td> 178 179 </tr>180 181 <tr class="prop">182 <td valign="top" class="name">Target Completion Date:</td>183 184 <td valign="top" class="value">${fieldValue(bean:taskInstance, field:'targetCompletionDate')}</td>185 192 186 193 </tr> -
trunk/grails-app/views/taskDetailed/show.gsp
r126 r131 18 18 19 19 20 21 20 <richui:tabView id="tabView"> 21 22 22 <richui:tabLabels> 23 23 <richui:tabLabel selected="true" title="Task" /> 24 <richui:tabLabel title="Procedure" /> 24 25 <richui:tabLabel title="Recurrence" /> 26 <richui:tabLabel title="Inventory" /> 25 27 <richui:tabLabel title="Sub Tasks" /> 26 <richui:tabLabel title="PM" />27 28 </richui:tabLabels> 29 28 30 <richui:tabContents> 29 <richui:tabContent> 30 31 <div class="dialog"> 32 <table> 33 <tbody> 34 35 36 <tr class="prop"> 37 <td valign="top" class="name">Id:</td> 38 39 <td valign="top" class="value">${fieldValue(bean:taskInstance, field:'id')}</td> 40 41 </tr> 42 43 <tr class="prop"> 44 <td valign="top" class="name">Description:</td> 45 46 <td valign="top" class="value">${fieldValue(bean:taskInstance, field:'description')}</td> 47 48 </tr> 49 50 <tr class="prop"> 51 <td valign="top" class="name">Comment:</td> 52 53 <td valign="top" class="value">${fieldValue(bean:taskInstance, field:'comment')}</td> 54 55 </tr> 56 57 <tr class="prop"> 58 <td valign="top" class="name">Target Start Date:</td> 59 60 <td valign="top" class="value"><g:formatDate date="${taskInstance.targetStartDate}" format="EEE, dd MMM yyyy"/></td> 61 62 </tr> 63 64 <tr class="prop"> 65 <td valign="top" class="name">Target Completion Date:</td> 66 67 <td valign="top" class="value"><g:formatDate date="${taskInstance.targetCompletionDate}" format="EEE, dd MMM yyyy"/></td> 68 69 </tr> 70 71 <tr class="prop"> 72 <td valign="top" class="name">Lead Person:</td> 73 74 <td valign="top" class="value">${taskInstance?.leadPerson?.encodeAsHTML()}</td> 75 76 </tr> 77 78 <tr class="prop"> 79 <td valign="top" class="name">Task Priority:</td> 80 81 <td valign="top" class="value">${taskInstance?.taskPriority?.encodeAsHTML()}</td> 82 83 </tr> 84 85 <tr class="prop"> 86 <td valign="top" class="name">Task Status:</td> 87 88 <td valign="top" class="value">${taskInstance?.taskStatus?.encodeAsHTML()}</td> 89 90 </tr> 91 92 <tr class="prop"> 93 <td valign="top" class="name">Is Active:</td> 94 95 <td valign="top" class="value">${fieldValue(bean:taskInstance, field:'isActive')}</td> 96 97 </tr> 98 99 <tr class="prop"> 100 <td valign="top" class="name">Is Approved:</td> 101 102 <td valign="top" class="value">${fieldValue(bean:taskInstance, field:'isApproved')}</td> 103 104 </tr> 105 106 <tr class="prop"> 107 <td valign="top" class="name">Is Scheduled:</td> 108 109 <td valign="top" class="value">${fieldValue(bean:taskInstance, field:'isScheduled')}</td> 110 111 </tr> 112 113 <tr class="prop"> 114 <td valign="top" class="name">Parent Task:</td> 115 116 <td valign="top" class="value"><g:link controller="taskDetailed" action="show" id="${taskInstance?.parentTask?.id}">${taskInstance?.parentTask?.encodeAsHTML()}</g:link></td> 117 118 </tr> 119 120 <tr class="prop"> 121 <td valign="top" class="name">Task Group:</td> 122 123 <td valign="top" class="value">${taskInstance?.taskGroup?.encodeAsHTML()}</td> 124 125 </tr> 126 127 <tr class="prop"> 128 <td valign="top" class="name">Task Type:</td> 129 130 <td valign="top" class="value">${taskInstance?.taskType?.encodeAsHTML()}</td> 131 132 </tr> 133 134 <tr class="prop"> 135 <td valign="top" class="name">Assigned Persons:</td> 136 137 <td valign="top" style="text-align:left;" class="value"> 138 <ul> 139 <g:each var="a" in="${taskInstance.assignedPersons}"> 140 <li><g:link controller="assignedPersonDetailed" action="edit" id="${a.id}">${a?.encodeAsHTML()}</g:link></li> 31 32 <!-- Start Task tab --> 33 <richui:tabContent> 34 35 <div class="dialog"> 36 <table> 37 <tbody> 38 39 40 <tr class="prop"> 41 <td valign="top" class="name">Id:</td> 42 43 <td valign="top" class="value">${fieldValue(bean:taskInstance, field:'id')}</td> 44 45 </tr> 46 47 <tr class="prop"> 48 <td valign="top" class="name">Description:</td> 49 50 <td valign="top" class="value">${fieldValue(bean:taskInstance, field:'description')}</td> 51 52 </tr> 53 54 <tr class="prop"> 55 <td valign="top" class="name">Comment:</td> 56 57 <td valign="top" class="value">${fieldValue(bean:taskInstance, field:'comment')}</td> 58 59 </tr> 60 61 <tr class="prop"> 62 <td valign="top" class="name">Target Start Date:</td> 63 64 <td valign="top" class="value"><g:formatDate date="${taskInstance.targetStartDate}" format="EEE, dd MMM yyyy"/></td> 65 66 </tr> 67 68 <tr class="prop"> 69 <td valign="top" class="name">Target Completion Date:</td> 70 71 <td valign="top" class="value"><g:formatDate date="${taskInstance.targetCompletionDate}" format="EEE, dd MMM yyyy"/></td> 72 73 </tr> 74 75 <tr class="prop"> 76 <td valign="top" class="name">Lead Person:</td> 77 78 <td valign="top" class="value">${taskInstance?.leadPerson?.encodeAsHTML()}</td> 79 80 </tr> 81 82 <tr class="prop"> 83 <td valign="top" class="name">Task Priority:</td> 84 85 <td valign="top" class="value">${taskInstance?.taskPriority?.encodeAsHTML()}</td> 86 87 </tr> 88 89 <tr class="prop"> 90 <td valign="top" class="name">Task Status:</td> 91 92 <td valign="top" class="value">${taskInstance?.taskStatus?.encodeAsHTML()}</td> 93 94 </tr> 95 96 <tr class="prop"> 97 <td valign="top" class="name">Is Active:</td> 98 99 <td valign="top" class="value">${fieldValue(bean:taskInstance, field:'isActive')}</td> 100 101 </tr> 102 103 <tr class="prop"> 104 <td valign="top" class="name">Is Approved:</td> 105 106 <td valign="top" class="value">${fieldValue(bean:taskInstance, field:'isApproved')}</td> 107 108 </tr> 109 110 <tr class="prop"> 111 <td valign="top" class="name">Is Scheduled:</td> 112 113 <td valign="top" class="value">${fieldValue(bean:taskInstance, field:'isScheduled')}</td> 114 115 </tr> 116 117 <tr class="prop"> 118 <td valign="top" class="name">Parent Task:</td> 119 120 <td valign="top" class="value"><g:link controller="taskDetailed" action="show" id="${taskInstance?.parentTask?.id}">${taskInstance?.parentTask?.encodeAsHTML()}</g:link></td> 121 122 </tr> 123 124 <tr class="prop"> 125 <td valign="top" class="name">Task Group:</td> 126 127 <td valign="top" class="value">${taskInstance?.taskGroup?.encodeAsHTML()}</td> 128 129 </tr> 130 131 <tr class="prop"> 132 <td valign="top" class="name">Task Type:</td> 133 134 <td valign="top" class="value">${taskInstance?.taskType?.encodeAsHTML()}</td> 135 136 </tr> 137 138 <tr class="prop"> 139 <td valign="top" class="name">Assigned Persons:</td> 140 141 <td valign="top" style="text-align:left;" class="value"> 142 <ul> 143 <g:each var="a" in="${taskInstance.assignedPersons}"> 144 <li><g:link controller="assignedPersonDetailed" action="edit" id="${a.id}">${a?.encodeAsHTML()}</g:link></li> 145 </g:each> 146 </ul> 147 </td> 148 149 </tr> 150 151 </tbody> 152 </table> 153 </div> 154 155 156 <div class="buttons"> 157 <g:form> 158 <input type="hidden" name="id" value="${taskInstance?.id}" /> 159 <span class="button"><g:actionSubmit class="edit" value="Edit" /></span> 160 <span class="button"><g:actionSubmit class="delete" onclick="return confirm('Are you sure?');" value="Delete" /></span> 161 </g:form> 162 </div> 163 164 <div class="list"> 165 <h1>Faults</h1> 166 <table> 167 <thead> 168 <tr> 169 <th>Comment</th> 170 <th>Date Done</th> 171 <th>Duration</th> 172 <th>Entered By</th> 173 <th></th> 174 175 <!-- <g:sortableColumn property="comment" title="Comment" /> 176 177 <g:sortableColumn property="dateDone" title="Date Done" /> 178 179 <g:sortableColumn property="enteredBy" title="Entered By" />--> 180 </tr> 181 </thead> 182 <tbody> 183 <g:each in="${taskInstance?.entries}" status="i" var="entry"> 184 <g:if test="${entry.entryType == EntryType.findByName('Fault')}"> 185 <tr class="${(i % 2) == 0 ? 'clickableOdd' : 'clickableEven'}" onclick='window.location = "${request.getContextPath()}/entryDetailed/edit/${entry.id}"'/> 186 187 <td style="width:65%">${entry.comment}</td> 188 <td><g:formatDate date="${entry.dateDone}" format="EEE, dd MMM yyyy"/></td> 189 <td>${entry.durationHour}:${entry.durationMinute}</td> 190 <td>${entry.enteredBy}</td> 191 192 <td> 193 <g:link controller="entryDetailed" action="edit" id="${entry.id}"> 194 <img src="${createLinkTo(dir:'images/skin',file:'database_edit.png')}" alt="Edit" /> 195 </g:link> 196 </td> 197 198 </tr> 199 </g:if> 141 200 </g:each> 142 </ul> 143 </td> 144 145 </tr> 146 147 </tbody> 148 </table> 149 </div> 150 151 152 <div class="buttons"> 153 <g:form> 154 <input type="hidden" name="id" value="${taskInstance?.id}" /> 155 <span class="button"><g:actionSubmit class="edit" value="Edit" /></span> 156 <span class="button"><g:actionSubmit class="delete" onclick="return confirm('Are you sure?');" value="Delete" /></span> 157 </g:form> 158 </div> 159 160 <div class="list"> 161 <h1>Faults</h1> 162 <table> 163 <thead> 164 <tr> 165 <th>Comment</th> 166 <th>Date Done</th> 167 <th>Duration</th> 168 <th>Entered By</th> 169 <th></th> 170 171 <!-- <g:sortableColumn property="comment" title="Comment" /> 172 173 <g:sortableColumn property="dateDone" title="Date Done" /> 174 175 <g:sortableColumn property="enteredBy" title="Entered By" />--> 176 </tr> 177 </thead> 178 <tbody> 179 <g:each in="${taskInstance?.entries}" status="i" var="entry"> 180 <g:if test="${entry.entryType == EntryType.findByName('Fault')}"> 181 <tr class="${(i % 2) == 0 ? 'clickableOdd' : 'clickableEven'}" onclick='window.location = "${request.getContextPath()}/entryDetailed/edit/${entry.id}"'/> 182 183 <td style="width:65%">${entry.comment}</td> 184 <td><g:formatDate date="${entry.dateDone}" format="EEE, dd MMM yyyy"/></td> 185 <td>${entry.durationHour}:${entry.durationMinute}</td> 186 <td>${entry.enteredBy}</td> 187 188 <td> 189 <g:link controller="entryDetailed" action="edit" id="${entry.id}"> 190 <img src="${createLinkTo(dir:'images/skin',file:'database_edit.png')}" alt="Edit" /> 191 </g:link> 192 </td> 193 194 </tr> 195 </g:if> 196 </g:each> 197 </tbody> 198 </table> 199 </div> 200 201 <div class="list"> 202 <h1>Work Done</h1> 203 <table> 204 <thead> 205 <tr> 206 <th>Comment</th> 207 <th>Date Done</th> 208 <th>Duration</th> 209 <th>Entered By</th> 210 <th></th> 211 212 <!-- <g:sortableColumn property="commentW" title="Comment" /> 213 214 <g:sortableColumn property="dateDoneW" title="Date Done" /> 215 216 <g:sortableColumn property="enteredByW" title="Entered By" />--> 217 </tr> 218 </thead> 219 <tbody> 220 <g:each in="${taskInstance?.entries}" status="i" var="entry"> 221 <g:if test="${entry.entryType == EntryType.findByName('WorkDone')}"> 222 <tr class="${(i % 2) == 0 ? 'clickableOdd' : 'clickableEven'}" onclick='window.location = "${request.getContextPath()}/entryDetailed/edit/${entry.id}"'/> 223 224 <td width="65%">${entry.comment}</td> 225 <td><g:formatDate date="${entry.dateDone}" format="EEE, dd MMM yyyy"/></td> 226 <td>${entry.durationHour}:${entry.durationMinute}</td> 227 <td>${entry.enteredBy}</td> 228 229 <td> 230 <g:link controller="entryDetailed" action="edit" id="${entry.id}"> 231 <img src="${createLinkTo(dir:'images/skin',file:'database_edit.png')}" alt="Edit" /> 232 </g:link> 233 </td> 234 235 </tr> 236 </g:if> 237 </g:each> 238 </tbody> 239 </table> 240 </div> 241 242 <br /> 243 244 <div class="buttons"> 245 <g:form controller="entryDetailed"> 246 <input type="hidden" name="taskInstance.id" value="${taskInstance?.id}" /> 247 <span class="button"> 248 <g:actionSubmit value="Add Entry" action="create" class="add"/> 249 </span> 250 </g:form> 251 </div> 252 </richui:tabContent> 253 254 <richui:tabContent> 255 <div class="dialog"> 256 <table> 257 <tbody> 258 <tr class="prop"> 259 <td valign="top" class="name">Recurring Schedule:</td> 260 261 <td valign="top" class="value">${taskInstance.recurringSchedule?.encodeAsHTML()}</td> 262 263 </tr> 264 265 <tr class="prop"> 266 <td valign="top" class="name">Start Date:</td> 267 268 <td valign="top" class="value">${taskInstance.recurringSchedule?.startDate}</td> 269 270 </tr> 271 272 <tr class="prop"> 273 <td valign="top" class="name">Next Due Date:</td> 274 275 <td valign="top" class="value">${taskInstance.recurringSchedule?.nextDueDate}</td> 276 277 </tr> 278 279 <tr class="prop"> 280 <td valign="top" class="name">Last Excecuted Date:</td> 281 282 <td valign="top" class="value">${taskInstance.recurringSchedule?.lastExecutedDate}</td> 283 284 </tr> 285 </tbody> 286 </table> 287 </div> 288 289 </richui:tabContent> 290 291 <richui:tabContent> 292 <div class="dialog"> 293 <table> 294 <tbody> 295 <tr class="prop"> 296 <td valign="top" class="name">Sub Tasks:</td> 297 298 <td valign="top" style="text-align:left;" class="value"> 299 <ul> 300 <g:each var="s" in="${taskInstance.subTasks}"> 301 <li><g:link controller="taskDetailed" action="show" id="${s.id}">${s?.encodeAsHTML()}</g:link></li> 201 </tbody> 202 </table> 203 </div> 204 205 <div class="list"> 206 <h1>Work Done</h1> 207 <table> 208 <thead> 209 <tr> 210 <th>Comment</th> 211 <th>Date Done</th> 212 <th>Duration</th> 213 <th>Entered By</th> 214 <th></th> 215 216 <!-- <g:sortableColumn property="commentW" title="Comment" /> 217 218 <g:sortableColumn property="dateDoneW" title="Date Done" /> 219 220 <g:sortableColumn property="enteredByW" title="Entered By" />--> 221 </tr> 222 </thead> 223 <tbody> 224 <g:each in="${taskInstance?.entries}" status="i" var="entry"> 225 <g:if test="${entry.entryType == EntryType.findByName('WorkDone')}"> 226 <tr class="${(i % 2) == 0 ? 'clickableOdd' : 'clickableEven'}" onclick='window.location = "${request.getContextPath()}/entryDetailed/edit/${entry.id}"'/> 227 228 <td width="65%">${entry.comment}</td> 229 <td><g:formatDate date="${entry.dateDone}" format="EEE, dd MMM yyyy"/></td> 230 <td>${entry.durationHour}:${entry.durationMinute}</td> 231 <td>${entry.enteredBy}</td> 232 233 <td> 234 <g:link controller="entryDetailed" action="edit" id="${entry.id}"> 235 <img src="${createLinkTo(dir:'images/skin',file:'database_edit.png')}" alt="Edit" /> 236 </g:link> 237 </td> 238 239 </tr> 240 </g:if> 302 241 </g:each> 303 </ul> 304 </td> 305 306 </tr> 307 </tbody> 308 </table> 309 </div> 310 </richui:tabContent> 311 312 <!-- Planned Maintenance start--> 313 <richui:tabContent> 314 <div class="dialog"> 315 <table> 316 <tbody> 317 <tr class="prop"> 318 <td valign="top" class="name">Id:</td> 319 320 <td valign="top" class="value">${taskInstance.recurringSchedule?.plannedMaintenance?.id}</td> 321 322 </tr> 323 324 <tr class="prop"> 325 <td valign="top" class="name">Name:</td> 326 327 <td valign="top" class="value">${taskInstance.recurringSchedule?.plannedMaintenance?.name}</td> 328 329 </tr> 330 331 <tr class="prop"> 332 <td valign="top" class="name">Description:</td> 333 334 <td valign="top" class="value">${taskInstance.recurringSchedule?.plannedMaintenance?.description}</td> 335 336 </tr> 337 338 <tr class="prop"> 339 <td valign="top" class="name">Recurring Schedule:</td> 340 341 <td valign="top" class="value"><g:link controller="recurringScheduleDetailed" action="edit" id="${taskInstance.recurringSchedule?.id}">${taskInstance.recurringSchedule?.encodeAsHTML()}</g:link></td> 342 343 </tr> 344 345 <tr class="prop"> 346 <td valign="top" class="name">Is Active:</td> 347 348 <td valign="top" class="value">${taskInstance.recurringSchedule?.plannedMaintenance?.isActive}</td> 349 350 </tr> 351 352 </tbody> 353 </table> 354 </div> 355 <div class="buttons"> 356 <g:form controller="plannedMaintenanceDetailed"> 357 <input type="hidden" name="id" value="${taskInstance.recurringSchedule?.plannedMaintenance?.id}" /> 358 <span class="button"><g:actionSubmit class="edit" value="Edit" /></span> 359 <span class="button"><g:actionSubmit class="delete" onclick="return confirm('Are you sure?');" value="Delete" /></span> 360 </g:form> 361 </div> 362 363 <div class="list"> 364 <h1>Maintenance Actions</h1> 365 <table> 366 <thead> 367 <tr> 368 369 <!-- <g:sortableColumn property="plannedMaintenanceInstance.maintenanceAction.pmStepNumber" title="PM Step" /> --> 370 <th>Step</th> 371 <th>Action</th> 372 <th>System Section</th> 373 <th>Asset</th> 374 <th>Assembly</th> 375 <th>Maintenance Policy</th> 376 <th></th> 377 378 <!-- <g:sortableColumn property="commentW" title="Comment" /> 379 380 <g:sortableColumn property="dateDoneW" title="Date Done" /> 381 382 <g:sortableColumn property="enteredByW" title="Entered By" />--> 383 </tr> 384 </thead> 385 <tbody> 386 <g:each in="${taskInstance.recurringSchedule?.plannedMaintenance?.maintenanceActions}" status="i" var="maintenanceAction"> 387 <tr class="${(i % 2) == 0 ? 'clickableOdd' : 'clickableEven'}" onclick='window.location = "${request.getContextPath()}/maintenanceActionDetailed/edit/${maintenanceAction.id}"'/> 388 389 <td>${fieldValue(bean:maintenanceAction, field:'pmStepNumber')}</td> 390 <td>${maintenanceAction.maintenanceAction}</td> 391 <td>${maintenanceAction.systemSection}</td> 392 <td>${maintenanceAction.asset}</td> 393 <td>${maintenanceAction.assembly}</td> 394 <td>${maintenanceAction.maintenancePolicy}</td> 395 396 <td> 397 <g:link controller="maintenanceActionDetailed" action="edit" id="${maintenanceAction.id}"> 398 <img src="${createLinkTo(dir:'images/skin',file:'database_edit.png')}" alt="Edit" /> 399 </g:link> 400 </td> 401 402 </tr> 403 </g:each> 404 </tbody> 405 </table> 406 </div> 407 408 <br /> 409 410 <g:if test="${taskInstance.recurringSchedule?.plannedMaintenance?.id}"> 411 <div class="buttons"> 412 <g:form controller="maintenanceActionDetailed"> 413 <input type="hidden" name="plannedMaintenanceInstance.id" value="${taskInstance.recurringSchedule?.plannedMaintenance?.id}" /> 414 <span class="button"> 415 <g:actionSubmit value="Add Action" action="create" class="add"/> 416 </span> 417 </g:form> 418 </div> 419 </g:if> 420 421 </richui:tabContent> 422 <!-- Planned Maintenance end--> 423 424 </richui:tabContents> 425 </richui:tabView> 426 242 </tbody> 243 </table> 244 </div> 245 246 <br /> 247 248 <div class="buttons"> 249 <g:form controller="entryDetailed"> 250 <input type="hidden" name="taskInstance.id" value="${taskInstance?.id}" /> 251 <span class="button"> 252 <g:actionSubmit value="Add Entry" action="create" class="add"/> 253 </span> 254 </g:form> 255 </div> 256 </richui:tabContent> 257 <!-- End Task tab --> 258 259 <!-- Start Task Procedure tab--> 260 <richui:tabContent> 261 262 <div class="list"> 263 <table> 264 <thead> 265 <tr> 266 <th>Step</th> 267 <th>Description</th> 268 <th></th> 269 </tr> 270 </thead> 271 <tbody> 272 <g:each in="${taskProcedureInstance?.maintenanceActions}" status="i" var="maintenanceAction"> 273 <tr class="${(i % 2) == 0 ? 'clickableOdd' : 'clickableEven'}" onclick='window.location = "${request.getContextPath()}/maintenanceActionDetailed/edit/${maintenanceAction.id}"'/> 274 275 <td valign="top" class="name"> 276 ${maintenanceAction?.procedureStepNumber} 277 </td> 278 279 <td valign="top" style="text-align:left;" class="value"> 280 ${maintenanceAction?.description} 281 </td> 282 283 </tr> 284 </g:each> 285 286 </tbody> 287 </table> 288 </div> 289 290 </richui:tabContent> 291 <!-- End Task Procedure tab--> 292 293 <!-- Start Task Recurrence tab --> 294 <richui:tabContent> 295 <div class="dialog"> 296 <table> 297 <tbody> 298 <tr class="prop"> 299 <td valign="top" class="name">Recurring Schedule:</td> 300 301 <td valign="top" class="value">${taskInstance.taskRecurringSchedule?.encodeAsHTML()}</td> 302 303 </tr> 304 305 <tr class="prop"> 306 <td valign="top" class="name">Start Date:</td> 307 308 <td valign="top" class="value">${taskInstance.taskRecurringSchedule?.startDate}</td> 309 310 </tr> 311 312 <tr class="prop"> 313 <td valign="top" class="name">Next Due Date:</td> 314 315 <td valign="top" class="value">${taskInstance.taskRecurringSchedule?.nextDueDate}</td> 316 317 </tr> 318 319 <tr class="prop"> 320 <td valign="top" class="name">Last Generated Date:</td> 321 322 <td valign="top" class="value">${taskInstance.taskRecurringSchedule?.lastGeneratedDate}</td> 323 324 </tr> 325 326 <tr class="prop"> 327 <td valign="top" class="name">Last Generated Sub Task:</td> 328 329 <td valign="top" class="value">${taskInstance.taskRecurringSchedule?.lastGeneratedSubTask}</td> 330 331 </tr> 332 </tbody> 333 </table> 334 </div> 335 </richui:tabContent> 336 <!-- End Task Recurrence tab --> 337 338 <!-- Start Inventory tab --> 339 <richui:tabContent> 340 Used Inventory 341 </richui:tabContent> 342 <!-- End Inventory tab --> 343 344 <!-- Start Sub Task tab --> 345 <richui:tabContent> 346 <div class="dialog"> 347 <table> 348 <tbody> 349 <tr class="prop"> 350 <td valign="top" class="name">Sub Tasks:</td> 351 352 <td valign="top" style="text-align:left;" class="value"> 353 <ul> 354 <g:each var="s" in="${taskInstance.subTasks}"> 355 <li><g:link controller="taskDetailed" action="show" id="${s.id}">${s?.encodeAsHTML()}</g:link></li> 356 </g:each> 357 </ul> 358 </td> 359 360 </tr> 361 </tbody> 362 </table> 363 </div> 364 </richui:tabContent> 365 <!-- End Sub Task tab --> 366 367 </richui:tabContents> 368 </richui:tabView> 369 427 370 </div> 428 371 </body> -
trunk/grails-app/views/taskRecurringSchedule/create.gsp
r123 r131 5 5 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> 6 6 <meta name="layout" content="main" /> 7 <title>Create RecurringSchedule</title>7 <title>Create TaskRecurringSchedule</title> 8 8 </head> 9 9 <body> 10 10 <div class="nav"> 11 11 <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span> 12 <span class="menuButton"><g:link class="list" action="list"> RecurringSchedule List</g:link></span>12 <span class="menuButton"><g:link class="list" action="list">TaskRecurringSchedule List</g:link></span> 13 13 </div> 14 14 <div class="body"> 15 <h1>Create RecurringSchedule</h1>15 <h1>Create TaskRecurringSchedule</h1> 16 16 <g:if test="${flash.message}"> 17 17 <div class="message">${flash.message}</div> 18 18 </g:if> 19 <g:hasErrors bean="${ recurringScheduleInstance}">19 <g:hasErrors bean="${taskRecurringScheduleInstance}"> 20 20 <div class="errors"> 21 <g:renderErrors bean="${ recurringScheduleInstance}" as="list" />21 <g:renderErrors bean="${taskRecurringScheduleInstance}" as="list" /> 22 22 </div> 23 23 </g:hasErrors> … … 29 29 <tr class="prop"> 30 30 <td valign="top" class="name"> 31 <label for=" plannedMaintenance">Planned Maintenance:</label>31 <label for="lastGeneratedDate">Last Generated Date:</label> 32 32 </td> 33 <td valign="top" class="value ${hasErrors(bean: recurringScheduleInstance,field:'plannedMaintenance','errors')}">34 <g: select optionKey="id" from="${PlannedMaintenance.list()}" name="plannedMaintenance.id" value="${recurringScheduleInstance?.plannedMaintenance?.id}" noSelection="['null':'']"></g:select>33 <td valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'lastGeneratedDate','errors')}"> 34 <g:datePicker name="lastGeneratedDate" value="${taskRecurringScheduleInstance?.lastGeneratedDate}" noSelection="['':'']"></g:datePicker> 35 35 </td> 36 36 </tr> … … 38 38 <tr class="prop"> 39 39 <td valign="top" class="name"> 40 <label for="last ExecutedDate">Last Executed Date:</label>40 <label for="lastGeneratedSubTask">Last Generated Sub Task:</label> 41 41 </td> 42 <td valign="top" class="value ${hasErrors(bean:recurringScheduleInstance,field:'lastExecutedDate','errors')}"> 43 <g:datePicker name="lastExecutedDate" value="${recurringScheduleInstance?.lastExecutedDate}" noSelection="['':'']"></g:datePicker> 42 <td valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'lastGeneratedSubTask','errors')}"> 43 <g:select optionKey="id" from="${Task.list()}" name="lastGeneratedSubTask.id" value="${taskRecurringScheduleInstance?.lastGeneratedSubTask?.id}" noSelection="['null':'']"></g:select> 44 </td> 45 </tr> 46 47 <tr class="prop"> 48 <td valign="top" class="name"> 49 <label for="isEnabled">Is Enabled:</label> 50 </td> 51 <td valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'isEnabled','errors')}"> 52 <g:checkBox name="isEnabled" value="${taskRecurringScheduleInstance?.isEnabled}" ></g:checkBox> 44 53 </td> 45 54 </tr> … … 49 58 <label for="nextDueDate">Next Due Date:</label> 50 59 </td> 51 <td valign="top" class="value ${hasErrors(bean:recurringScheduleInstance,field:'nextDueDate','errors')}"> 52 <g:datePicker name="nextDueDate" value="${recurringScheduleInstance?.nextDueDate}" noSelection="['':'']"></g:datePicker> 53 </td> 54 </tr> 55 56 <tr class="prop"> 57 <td valign="top" class="name"> 58 <label for="isActive">Is Active:</label> 59 </td> 60 <td valign="top" class="value ${hasErrors(bean:recurringScheduleInstance,field:'isActive','errors')}"> 61 <g:checkBox name="isActive" value="${recurringScheduleInstance?.isActive}" ></g:checkBox> 60 <td valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'nextDueDate','errors')}"> 61 <g:datePicker name="nextDueDate" value="${taskRecurringScheduleInstance?.nextDueDate}" ></g:datePicker> 62 62 </td> 63 63 </tr> … … 67 67 <label for="period">Period:</label> 68 68 </td> 69 <td valign="top" class="value ${hasErrors(bean: recurringScheduleInstance,field:'period','errors')}">70 <g:select optionKey="id" from="${Period.list()}" name="period.id" value="${ recurringScheduleInstance?.period?.id}" ></g:select>69 <td valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'period','errors')}"> 70 <g:select optionKey="id" from="${Period.list()}" name="period.id" value="${taskRecurringScheduleInstance?.period?.id}" ></g:select> 71 71 </td> 72 72 </tr> … … 76 76 <label for="recurEvery">Recur Every:</label> 77 77 </td> 78 <td valign="top" class="value ${hasErrors(bean: recurringScheduleInstance,field:'recurEvery','errors')}">79 <input type="text" id="recurEvery" name="recurEvery" value="${fieldValue(bean: recurringScheduleInstance,field:'recurEvery')}" />78 <td valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'recurEvery','errors')}"> 79 <input type="text" id="recurEvery" name="recurEvery" value="${fieldValue(bean:taskRecurringScheduleInstance,field:'recurEvery')}" /> 80 80 </td> 81 81 </tr> … … 85 85 <label for="startDate">Start Date:</label> 86 86 </td> 87 <td valign="top" class="value ${hasErrors(bean: recurringScheduleInstance,field:'startDate','errors')}">88 <g:datePicker name="startDate" value="${ recurringScheduleInstance?.startDate}" ></g:datePicker>87 <td valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'startDate','errors')}"> 88 <g:datePicker name="startDate" value="${taskRecurringScheduleInstance?.startDate}" ></g:datePicker> 89 89 </td> 90 90 </tr> … … 94 94 <label for="task">Task:</label> 95 95 </td> 96 <td valign="top" class="value ${hasErrors(bean: recurringScheduleInstance,field:'task','errors')}">97 <g:select optionKey="id" from="${Task.list()}" name="task.id" value="${ recurringScheduleInstance?.task?.id}" ></g:select>96 <td valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'task','errors')}"> 97 <g:select optionKey="id" from="${Task.list()}" name="task.id" value="${taskRecurringScheduleInstance?.task?.id}" ></g:select> 98 98 </td> 99 99 </tr> -
trunk/grails-app/views/taskRecurringSchedule/edit.gsp
r123 r131 5 5 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> 6 6 <meta name="layout" content="main" /> 7 <title>Edit RecurringSchedule</title>7 <title>Edit TaskRecurringSchedule</title> 8 8 </head> 9 9 <body> 10 10 <div class="nav"> 11 11 <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span> 12 <span class="menuButton"><g:link class="list" action="list"> RecurringSchedule List</g:link></span>13 <span class="menuButton"><g:link class="create" action="create">New RecurringSchedule</g:link></span>12 <span class="menuButton"><g:link class="list" action="list">TaskRecurringSchedule List</g:link></span> 13 <span class="menuButton"><g:link class="create" action="create">New TaskRecurringSchedule</g:link></span> 14 14 </div> 15 15 <div class="body"> 16 <h1>Edit RecurringSchedule</h1>16 <h1>Edit TaskRecurringSchedule</h1> 17 17 <g:if test="${flash.message}"> 18 18 <div class="message">${flash.message}</div> 19 19 </g:if> 20 <g:hasErrors bean="${ recurringScheduleInstance}">20 <g:hasErrors bean="${taskRecurringScheduleInstance}"> 21 21 <div class="errors"> 22 <g:renderErrors bean="${ recurringScheduleInstance}" as="list" />22 <g:renderErrors bean="${taskRecurringScheduleInstance}" as="list" /> 23 23 </div> 24 24 </g:hasErrors> 25 25 <g:form method="post" > 26 <input type="hidden" name="id" value="${ recurringScheduleInstance?.id}" />27 <input type="hidden" name="version" value="${ recurringScheduleInstance?.version}" />26 <input type="hidden" name="id" value="${taskRecurringScheduleInstance?.id}" /> 27 <input type="hidden" name="version" value="${taskRecurringScheduleInstance?.version}" /> 28 28 <div class="dialog"> 29 29 <table> … … 32 32 <tr class="prop"> 33 33 <td valign="top" class="name"> 34 <label for=" plannedMaintenance">Planned Maintenance:</label>34 <label for="lastGeneratedDate">Last Generated Date:</label> 35 35 </td> 36 <td valign="top" class="value ${hasErrors(bean: recurringScheduleInstance,field:'plannedMaintenance','errors')}">37 <g: select optionKey="id" from="${PlannedMaintenance.list()}" name="plannedMaintenance.id" value="${recurringScheduleInstance?.plannedMaintenance?.id}" noSelection="['null':'']"></g:select>36 <td valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'lastGeneratedDate','errors')}"> 37 <g:datePicker name="lastGeneratedDate" value="${taskRecurringScheduleInstance?.lastGeneratedDate}" noSelection="['':'']"></g:datePicker> 38 38 </td> 39 39 </tr> … … 41 41 <tr class="prop"> 42 42 <td valign="top" class="name"> 43 <label for="last ExecutedDate">Last Executed Date:</label>43 <label for="lastGeneratedSubTask">Last Generated Sub Task:</label> 44 44 </td> 45 <td valign="top" class="value ${hasErrors(bean:recurringScheduleInstance,field:'lastExecutedDate','errors')}"> 46 <g:datePicker name="lastExecutedDate" value="${recurringScheduleInstance?.lastExecutedDate}" noSelection="['':'']"></g:datePicker> 45 <td valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'lastGeneratedSubTask','errors')}"> 46 <g:select optionKey="id" from="${Task.list()}" name="lastGeneratedSubTask.id" value="${taskRecurringScheduleInstance?.lastGeneratedSubTask?.id}" noSelection="['null':'']"></g:select> 47 </td> 48 </tr> 49 50 <tr class="prop"> 51 <td valign="top" class="name"> 52 <label for="isEnabled">Is Enabled:</label> 53 </td> 54 <td valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'isEnabled','errors')}"> 55 <g:checkBox name="isEnabled" value="${taskRecurringScheduleInstance?.isEnabled}" ></g:checkBox> 47 56 </td> 48 57 </tr> … … 52 61 <label for="nextDueDate">Next Due Date:</label> 53 62 </td> 54 <td valign="top" class="value ${hasErrors(bean:recurringScheduleInstance,field:'nextDueDate','errors')}"> 55 <g:datePicker name="nextDueDate" value="${recurringScheduleInstance?.nextDueDate}" noSelection="['':'']"></g:datePicker> 56 </td> 57 </tr> 58 59 <tr class="prop"> 60 <td valign="top" class="name"> 61 <label for="isActive">Is Active:</label> 62 </td> 63 <td valign="top" class="value ${hasErrors(bean:recurringScheduleInstance,field:'isActive','errors')}"> 64 <g:checkBox name="isActive" value="${recurringScheduleInstance?.isActive}" ></g:checkBox> 63 <td valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'nextDueDate','errors')}"> 64 <g:datePicker name="nextDueDate" value="${taskRecurringScheduleInstance?.nextDueDate}" ></g:datePicker> 65 65 </td> 66 66 </tr> … … 70 70 <label for="period">Period:</label> 71 71 </td> 72 <td valign="top" class="value ${hasErrors(bean: recurringScheduleInstance,field:'period','errors')}">73 <g:select optionKey="id" from="${Period.list()}" name="period.id" value="${ recurringScheduleInstance?.period?.id}" ></g:select>72 <td valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'period','errors')}"> 73 <g:select optionKey="id" from="${Period.list()}" name="period.id" value="${taskRecurringScheduleInstance?.period?.id}" ></g:select> 74 74 </td> 75 75 </tr> … … 79 79 <label for="recurEvery">Recur Every:</label> 80 80 </td> 81 <td valign="top" class="value ${hasErrors(bean: recurringScheduleInstance,field:'recurEvery','errors')}">82 <input type="text" id="recurEvery" name="recurEvery" value="${fieldValue(bean: recurringScheduleInstance,field:'recurEvery')}" />81 <td valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'recurEvery','errors')}"> 82 <input type="text" id="recurEvery" name="recurEvery" value="${fieldValue(bean:taskRecurringScheduleInstance,field:'recurEvery')}" /> 83 83 </td> 84 84 </tr> … … 88 88 <label for="startDate">Start Date:</label> 89 89 </td> 90 <td valign="top" class="value ${hasErrors(bean: recurringScheduleInstance,field:'startDate','errors')}">91 <g:datePicker name="startDate" value="${ recurringScheduleInstance?.startDate}" ></g:datePicker>90 <td valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'startDate','errors')}"> 91 <g:datePicker name="startDate" value="${taskRecurringScheduleInstance?.startDate}" ></g:datePicker> 92 92 </td> 93 93 </tr> … … 97 97 <label for="task">Task:</label> 98 98 </td> 99 <td valign="top" class="value ${hasErrors(bean: recurringScheduleInstance,field:'task','errors')}">100 <g:select optionKey="id" from="${Task.list()}" name="task.id" value="${ recurringScheduleInstance?.task?.id}" ></g:select>99 <td valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'task','errors')}"> 100 <g:select optionKey="id" from="${Task.list()}" name="task.id" value="${taskRecurringScheduleInstance?.task?.id}" ></g:select> 101 101 </td> 102 102 </tr> -
trunk/grails-app/views/taskRecurringSchedule/list.gsp
r123 r131 5 5 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> 6 6 <meta name="layout" content="main" /> 7 <title> RecurringSchedule List</title>7 <title>TaskRecurringSchedule List</title> 8 8 </head> 9 9 <body> 10 10 <div class="nav"> 11 11 <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span> 12 <span class="menuButton"><g:link class="create" action="create">New RecurringSchedule</g:link></span>12 <span class="menuButton"><g:link class="create" action="create">New TaskRecurringSchedule</g:link></span> 13 13 </div> 14 14 <div class="body"> 15 <h1> RecurringSchedule List</h1>15 <h1>TaskRecurringSchedule List</h1> 16 16 <g:if test="${flash.message}"> 17 17 <div class="message">${flash.message}</div> … … 24 24 <g:sortableColumn property="id" title="Id" /> 25 25 26 <th>Planned Maintenance</th> 26 <g:sortableColumn property="lastGeneratedDate" title="Last Generated Date" /> 27 28 <th>Last Generated Sub Task</th> 27 29 28 <g:sortableColumn property=" lastExecutedDate" title="Last Executed Date" />30 <g:sortableColumn property="isEnabled" title="Is Enabled" /> 29 31 30 32 <g:sortableColumn property="nextDueDate" title="Next Due Date" /> 31 32 <g:sortableColumn property="isActive" title="Is Active" />33 33 34 34 <th>Period</th> … … 37 37 </thead> 38 38 <tbody> 39 <g:each in="${ recurringScheduleInstanceList}" status="i" var="recurringScheduleInstance">39 <g:each in="${taskRecurringScheduleInstanceList}" status="i" var="taskRecurringScheduleInstance"> 40 40 <tr class="${(i % 2) == 0 ? 'odd' : 'even'}"> 41 41 42 <td><g:link action="show" id="${ recurringScheduleInstance.id}">${fieldValue(bean:recurringScheduleInstance, field:'id')}</g:link></td>42 <td><g:link action="show" id="${taskRecurringScheduleInstance.id}">${fieldValue(bean:taskRecurringScheduleInstance, field:'id')}</g:link></td> 43 43 44 <td>${fieldValue(bean: recurringScheduleInstance, field:'plannedMaintenance')}</td>44 <td>${fieldValue(bean:taskRecurringScheduleInstance, field:'lastGeneratedDate')}</td> 45 45 46 <td>${fieldValue(bean: recurringScheduleInstance, field:'lastExecutedDate')}</td>46 <td>${fieldValue(bean:taskRecurringScheduleInstance, field:'lastGeneratedSubTask')}</td> 47 47 48 <td>${fieldValue(bean: recurringScheduleInstance, field:'nextDueDate')}</td>48 <td>${fieldValue(bean:taskRecurringScheduleInstance, field:'isEnabled')}</td> 49 49 50 <td>${fieldValue(bean: recurringScheduleInstance, field:'isActive')}</td>50 <td>${fieldValue(bean:taskRecurringScheduleInstance, field:'nextDueDate')}</td> 51 51 52 <td>${fieldValue(bean: recurringScheduleInstance, field:'period')}</td>52 <td>${fieldValue(bean:taskRecurringScheduleInstance, field:'period')}</td> 53 53 54 54 </tr> … … 58 58 </div> 59 59 <div class="paginateButtons"> 60 <g:paginate total="${ recurringScheduleInstanceTotal}" />60 <g:paginate total="${taskRecurringScheduleInstanceTotal}" /> 61 61 </div> 62 62 </div> -
trunk/grails-app/views/taskRecurringSchedule/show.gsp
r123 r131 5 5 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> 6 6 <meta name="layout" content="main" /> 7 <title>Show RecurringSchedule</title>7 <title>Show TaskRecurringSchedule</title> 8 8 </head> 9 9 <body> 10 10 <div class="nav"> 11 11 <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span> 12 <span class="menuButton"><g:link class="list" action="list"> RecurringSchedule List</g:link></span>13 <span class="menuButton"><g:link class="create" action="create">New RecurringSchedule</g:link></span>12 <span class="menuButton"><g:link class="list" action="list">TaskRecurringSchedule List</g:link></span> 13 <span class="menuButton"><g:link class="create" action="create">New TaskRecurringSchedule</g:link></span> 14 14 </div> 15 15 <div class="body"> 16 <h1>Show RecurringSchedule</h1>16 <h1>Show TaskRecurringSchedule</h1> 17 17 <g:if test="${flash.message}"> 18 18 <div class="message">${flash.message}</div> … … 26 26 <td valign="top" class="name">Id:</td> 27 27 28 <td valign="top" class="value">${fieldValue(bean: recurringScheduleInstance, field:'id')}</td>28 <td valign="top" class="value">${fieldValue(bean:taskRecurringScheduleInstance, field:'id')}</td> 29 29 30 30 </tr> 31 31 32 32 <tr class="prop"> 33 <td valign="top" class="name"> Planned Maintenance:</td>33 <td valign="top" class="name">Last Generated Date:</td> 34 34 35 <td valign="top" class="value"> <g:link controller="plannedMaintenance" action="show" id="${recurringScheduleInstance?.plannedMaintenance?.id}">${recurringScheduleInstance?.plannedMaintenance?.encodeAsHTML()}</g:link></td>35 <td valign="top" class="value">${fieldValue(bean:taskRecurringScheduleInstance, field:'lastGeneratedDate')}</td> 36 36 37 37 </tr> 38 38 39 39 <tr class="prop"> 40 <td valign="top" class="name">Last Executed Date:</td>40 <td valign="top" class="name">Last Generated Sub Task:</td> 41 41 42 <td valign="top" class="value">${fieldValue(bean:recurringScheduleInstance, field:'lastExecutedDate')}</td> 42 <td valign="top" class="value"><g:link controller="task" action="show" id="${taskRecurringScheduleInstance?.lastGeneratedSubTask?.id}">${taskRecurringScheduleInstance?.lastGeneratedSubTask?.encodeAsHTML()}</g:link></td> 43 44 </tr> 45 46 <tr class="prop"> 47 <td valign="top" class="name">Is Enabled:</td> 48 49 <td valign="top" class="value">${fieldValue(bean:taskRecurringScheduleInstance, field:'isEnabled')}</td> 43 50 44 51 </tr> … … 47 54 <td valign="top" class="name">Next Due Date:</td> 48 55 49 <td valign="top" class="value">${fieldValue(bean:recurringScheduleInstance, field:'nextDueDate')}</td> 50 51 </tr> 52 53 <tr class="prop"> 54 <td valign="top" class="name">Is Active:</td> 55 56 <td valign="top" class="value">${fieldValue(bean:recurringScheduleInstance, field:'isActive')}</td> 56 <td valign="top" class="value">${fieldValue(bean:taskRecurringScheduleInstance, field:'nextDueDate')}</td> 57 57 58 58 </tr> … … 61 61 <td valign="top" class="name">Period:</td> 62 62 63 <td valign="top" class="value"><g:link controller="period" action="show" id="${ recurringScheduleInstance?.period?.id}">${recurringScheduleInstance?.period?.encodeAsHTML()}</g:link></td>63 <td valign="top" class="value"><g:link controller="period" action="show" id="${taskRecurringScheduleInstance?.period?.id}">${taskRecurringScheduleInstance?.period?.encodeAsHTML()}</g:link></td> 64 64 65 65 </tr> … … 68 68 <td valign="top" class="name">Recur Every:</td> 69 69 70 <td valign="top" class="value">${fieldValue(bean: recurringScheduleInstance, field:'recurEvery')}</td>70 <td valign="top" class="value">${fieldValue(bean:taskRecurringScheduleInstance, field:'recurEvery')}</td> 71 71 72 72 </tr> … … 75 75 <td valign="top" class="name">Start Date:</td> 76 76 77 <td valign="top" class="value">${fieldValue(bean: recurringScheduleInstance, field:'startDate')}</td>77 <td valign="top" class="value">${fieldValue(bean:taskRecurringScheduleInstance, field:'startDate')}</td> 78 78 79 79 </tr> … … 82 82 <td valign="top" class="name">Task:</td> 83 83 84 <td valign="top" class="value"><g:link controller="task" action="show" id="${ recurringScheduleInstance?.task?.id}">${recurringScheduleInstance?.task?.encodeAsHTML()}</g:link></td>84 <td valign="top" class="value"><g:link controller="task" action="show" id="${taskRecurringScheduleInstance?.task?.id}">${taskRecurringScheduleInstance?.task?.encodeAsHTML()}</g:link></td> 85 85 86 86 </tr> … … 91 91 <div class="buttons"> 92 92 <g:form> 93 <input type="hidden" name="id" value="${ recurringScheduleInstance?.id}" />93 <input type="hidden" name="id" value="${taskRecurringScheduleInstance?.id}" /> 94 94 <span class="button"><g:actionSubmit class="edit" value="Edit" /></span> 95 95 <span class="button"><g:actionSubmit class="delete" onclick="return confirm('Are you sure?');" value="Delete" /></span> -
trunk/grails-app/views/taskRecurringScheduleDetailed/list.gsp
r122 r131 5 5 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> 6 6 <meta name="layout" content="main" /> 7 <title> RecurringSchedule List</title>7 <title>TaskRecurringSchedule List</title> 8 8 </head> 9 9 <body> 10 10 <div class="nav"> 11 11 <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span> 12 <span class="menuButton"><g:link class="create" action="create">New RecurringSchedule</g:link></span>12 <span class="menuButton"><g:link class="create" action="create">New TaskRecurringSchedule</g:link></span> 13 13 </div> 14 14 <div class="body"> 15 <h1> RecurringSchedule List</h1>15 <h1>TaskRecurringSchedule List</h1> 16 16 <g:if test="${flash.message}"> 17 17 <div class="message">${flash.message}</div> … … 37 37 </thead> 38 38 <tbody> 39 <g:each in="${ recurringScheduleInstanceList}" status="i" var="recurringScheduleInstance">39 <g:each in="${taskRecurringScheduleInstanceList}" status="i" var="taskRecurringScheduleInstance"> 40 40 <tr class="${(i % 2) == 0 ? 'odd' : 'even'}"> 41 41 42 <td><g:link action="show" id="${ recurringScheduleInstance.id}">${fieldValue(bean:recurringScheduleInstance, field:'id')}</g:link></td>42 <td><g:link action="show" id="${taskRecurringScheduleInstance.id}">${fieldValue(bean:taskRecurringScheduleInstance, field:'id')}</g:link></td> 43 43 44 <td>${fieldValue(bean: recurringScheduleInstance, field:'plannedMaintenance')}</td>44 <td>${fieldValue(bean:taskRecurringScheduleInstance, field:'task')}</td> 45 45 46 <td>${fieldValue(bean: recurringScheduleInstance, field:'isActive')}</td>46 <td>${fieldValue(bean:taskRecurringScheduleInstance, field:'isActive')}</td> 47 47 48 <td>${fieldValue(bean: recurringScheduleInstance, field:'period')}</td>48 <td>${fieldValue(bean:taskRecurringScheduleInstance, field:'period')}</td> 49 49 50 <td>${fieldValue(bean: recurringScheduleInstance, field:'recurEvery')}</td>50 <td>${fieldValue(bean:taskRecurringScheduleInstance, field:'recurEvery')}</td> 51 51 52 <td>${fieldValue(bean: recurringScheduleInstance, field:'startDate')}</td>52 <td>${fieldValue(bean:taskRecurringScheduleInstance, field:'startDate')}</td> 53 53 54 54 </tr> … … 58 58 </div> 59 59 <div class="paginateButtons"> 60 <g:paginate total="${ recurringScheduleInstanceTotal}" />60 <g:paginate total="${taskRecurringScheduleInstanceTotal}" /> 61 61 </div> 62 62 </div> -
trunk/src/templates/scaffolding/Controller.groovy
r128 r131 1 import org.codehaus.groovy.grails.plugins.springsecurity.Secured 1 2 2 3 <%=packageName ? "package ${packageName}\n\n" : ''%>class ${className}Controller { 3 <%=packageName ? "package ${packageName}\n\n" : ''%>class ${className}Controller extends BaseAppAdminController { 4 4 5 5 def index = { redirect(action:list,params:params) }
Note: See TracChangeset
for help on using the changeset viewer.