Index: branches/features/taskProcedureRework/grails-app/controllers/TaskProcedureDetailedController.groovy
===================================================================
--- branches/features/taskProcedureRework/grails-app/controllers/TaskProcedureDetailedController.groovy	(revision 769)
+++ branches/features/taskProcedureRework/grails-app/controllers/TaskProcedureDetailedController.groovy	(revision 770)
@@ -40,8 +40,13 @@
 
         if(!taskProcedureInstance) {
-            flash.message = "TaskProcedure not found with id ${params.id}"
-            redirect(action:list)
-        }
-        else { return [ taskProcedureInstance : taskProcedureInstance ] }
+            flash.errorMessage = "TaskProcedure not found with id ${params.id}"
+            redirect(controller:'taskDetailed', action:'search')
+            return
+        }
+
+        redirect(controller:'taskDetailed',
+                        action:'show',
+                        id:taskProcedureInstance.linkedTask?.id,
+                        params:[showTab:"showProcedureTab"])
     }
 
@@ -49,4 +54,5 @@
         def taskProcedureInstance = TaskProcedure.get( params.id )
         if(taskProcedureInstance) {
+            def taskInstance = taskProcedureInstance.linkedTask
             try {
                 taskProcedureInstance.tasks.each {
@@ -55,9 +61,15 @@
                 taskProcedureInstance.delete(flush:true)
                 flash.message = "TaskProcedure ${params.id} deleted"
-                redirect(action:list)
+                redirect(controller:'taskDetailed',
+                                action:'show',
+                                id:taskInstance.id,
+                                params:[showTab:"showProcedureTab"])
             }
             catch(org.springframework.dao.DataIntegrityViolationException e) {
                 flash.message = "TaskProcedure ${params.id} could not be deleted"
-                redirect(action:show,id:params.id)
+                redirect(controller:'taskDetailed',
+                                action:'show',
+                                id:taskInstance.id,
+                                params:[showTab:"showProcedureTab"])
             }
         }
@@ -99,6 +111,17 @@
             taskProcedureInstance.properties = params
 
-            def toBeDeleted = taskProcedureInstance.maintenanceActions.findAll {it.deleted}
-            if(toBeDeleted) {
+            // Gaps in the html index's can be created by adding 2 items and removing the first one.
+            // This creates a gap at the missing index where LazyList will return a null.
+            def nullMaintenanceActions = taskProcedureInstance.maintenanceActions.findAll {!it}
+            if (nullMaintenanceActions) {
+                taskProcedureInstance.maintenanceActions.removeAll(nullMaintenanceActions)
+            }
+
+            // Save for restoration if validation fails.
+            def savedMaintenanceActions = new ArrayList(taskProcedureInstance.maintenanceActions)
+
+            // Remove toBeDeleted before validation.
+            def toBeDeleted = taskProcedureInstance.maintenanceActions.findAll {it.toBeDeleted}
+            if (toBeDeleted) {
                 taskProcedureInstance.maintenanceActions.removeAll(toBeDeleted)
             }
@@ -106,7 +129,16 @@
             if(!taskProcedureInstance.hasErrors() && taskProcedureInstance.save(flush: true)) {
                 flash.message = "TaskProcedure ${params.id} updated"
-                redirect(action:show,id:taskProcedureInstance.id)
+                redirect(controller:'taskDetailed',
+                                action:'show',
+                                id:taskProcedureInstance.linkedTask.id,
+                                params:[showTab:"showProcedureTab"])
             }
             else {
+                // Restore the saved items, some of which contain toBeDeleted flags but
+                // have not been deleted yet since validation failed.
+                // The toBeDeleted items are hidden in the view.
+                taskProcedureInstance.maintenanceActions = savedMaintenanceActions
+                // Populate maintenanceAction errors for display.
+                taskProcedureInstance.maintenanceActions.each { it.validate() }
                 render(view:'edit',model:[taskProcedureInstance:taskProcedureInstance])
             }
@@ -119,15 +151,22 @@
 
     def create = {
-        if(params.taskInstance?.id) {
-            def taskInstance = Task.get(params.taskInstance.id)
-
-            def taskProcedureInstance = new TaskProcedure()
-            taskProcedureInstance.properties = params
-            return ['taskProcedureInstance':taskProcedureInstance,
-                            taskInstance: taskInstance]
-        } else {
-            flash.message = "Please select or create a task, then go to the Procedure tab."
+
+        if(!params.taskInstance?.id) {
+            flash.errorMessage = "Please select or create a task, then go to the Procedure tab."
             redirect(controller:"taskDetailed", action:"search")
-        }
+            return
+        }
+
+        params.linkedTask = Task.get(params.taskInstance.id)
+
+        if(!params.linkedTask?.primaryAsset) {
+            flash.errorMessage = "Please set a Primary Asset first, then go to the Procedure tab."
+            redirect(controller:"taskDetailed", action:"show", id:params.linkedTask?.id)
+            return
+        }
+
+        def taskProcedureInstance = new TaskProcedure()
+        taskProcedureInstance.properties = params
+        return ['taskProcedureInstance':taskProcedureInstance]
     }
 
@@ -136,12 +175,26 @@
         def taskInstance = Task.get(params.linkedTask.id)
 
+        // Gaps in the html index's can be created by adding 2 items and removing the first one.
+        // This creates a gap at the missing index where LazyList will return a null.
+        def nullMaintenanceActions = taskProcedureInstance.maintenanceActions.findAll {!it}
+        if (nullMaintenanceActions) {
+            taskProcedureInstance.maintenanceActions.removeAll(nullMaintenanceActions)
+        }
+
         if(!taskProcedureInstance.hasErrors() && taskProcedureInstance.save(flush: true)) {
-            taskProcedureInstance.addToTasks(taskInstance) // also sets: taskInstance.taskProcedure = taskProcedureInstance
+             // Also sets: taskInstance.taskProcedure = taskProcedureInstance
+            taskProcedureInstance.addToTasks(taskInstance)
             flash.message = "TaskProcedure ${taskProcedureInstance.id} created."
-            redirect(action:show,id:taskProcedureInstance.id)
-        }
-        else {
-            render(view:'create',model:[taskProcedureInstance:taskProcedureInstance, taskInstance: taskInstance])
-        }
-    }
+            redirect(controller:'taskDetailed',
+                            action:'show',
+                            id:taskProcedureInstance.linkedTask.id,
+                            params:[showTab:"showProcedureTab"])
+        }
+        else {
+            // Populate maintenanceAction errors for display.
+            taskProcedureInstance.maintenanceActions.each { it.validate() }
+            render(view:'create',model:[taskProcedureInstance:taskProcedureInstance])
+        }
+    }
+
 }
Index: branches/features/taskProcedureRework/grails-app/domain/MaintenanceAction.groovy
===================================================================
--- branches/features/taskProcedureRework/grails-app/domain/MaintenanceAction.groovy	(revision 769)
+++ branches/features/taskProcedureRework/grails-app/domain/MaintenanceAction.groovy	(revision 770)
@@ -11,6 +11,7 @@
     Integer procedureStepNumber
 
-    Boolean deleted
-    static transients = [ 'deleted' ]
+    Boolean toBeDeleted
+    Boolean isNew
+    static transients = [ 'toBeDeleted', 'isNew' ]
 
 //     static hasMany = []
Index: branches/features/taskProcedureRework/grails-app/views/taskDetailed/show.gsp
===================================================================
--- branches/features/taskProcedureRework/grails-app/views/taskDetailed/show.gsp	(revision 769)
+++ branches/features/taskProcedureRework/grails-app/views/taskDetailed/show.gsp	(revision 770)
@@ -513,17 +513,33 @@
                                         <tr class="prop">
                                             <td valign="top" class="name">Procedure Id:</td>
-
-                                            <td valign="top" class="value">${fieldValue(bean:taskProcedureInstance, field:'id')}</td>
-
-                                        </tr>
-
-                        <tr class="prop">
-                            <td valign="top" class="name">Linked Task:</td>
-                            <td valign="top" class="value">
-                                <g:link controller="taskDetailed" action="show" id="${taskProcedureInstance.linkedTask.id}">
-                                    ${taskProcedureInstance.linkedTask.encodeAsHTML()}
-                                </g:link>
-                            </td>
-                        </tr>
+                                            <td valign="top" class="value">
+                                                ${fieldValue(bean:taskProcedureInstance, field:'id')}
+                                            </td>
+                                        </tr>
+
+                                        <tr class="prop">
+                                            <td valign="top" class="name">Linked Task:</td>
+                                            <td valign="top" class="value">
+                                                <g:link controller="taskDetailed"
+                                                                action="show"
+                                                                id="${taskProcedureInstance.linkedTask.id}">
+                                                    ${taskProcedureInstance.linkedTask.encodeAsHTML()}
+                                                </g:link>
+                                            </td>
+                                        </tr>
+
+                                        <tr class="prop">
+                                            <td valign="top" class="name">Linked Asset:</td>
+                                            <td valign="top" class="value">
+                                                ${fieldValue(bean:taskProcedureInstance, field:'linkedTask.primaryAsset')}
+                                            </td>
+                                        </tr>
+
+                                        <tr class="prop">
+                                            <td valign="top" class="name">Version:</td>
+                                            <td valign="top" class="value">
+                                                    ${fieldValue(bean:taskProcedureInstance, field:'version')}
+                                            </td>
+                                        </tr>
 
                                     </tbody>
@@ -542,7 +558,7 @@
                                         <tr>
                                             <th>Step</th>
+                                            <th>Sub Item</th>
                                             <th>Description</th>
                                             <th>Reasoning</th>
-                                            <th>Sub Item</th>
                                         </tr>
                                     </thead>
@@ -556,4 +572,8 @@
 
                                                 <td  valign="top" style="text-align:left;" class="value">
+                                                    ${fieldValue(bean:maintenanceAction, field:'assetSubItem')}
+                                                </td>
+
+                                                <td  valign="top" style="text-align:left;" class="value">
                                                     ${fieldValue(bean:maintenanceAction, field:'description')}
                                                 </td>
@@ -561,8 +581,4 @@
                                                 <td  valign="top" style="text-align:left;" class="value">
                                                     ${fieldValue(bean:maintenanceAction, field:'reasoning')}
-                                                </td>
-
-                                                <td  valign="top" style="text-align:left;" class="value">
-                                                    ${fieldValue(bean:maintenanceAction, field:'assetSubItem')}
                                                 </td>
 
Index: branches/features/taskProcedureRework/grails-app/views/taskProcedureDetailed/_maintenanceAction.gsp
===================================================================
--- branches/features/taskProcedureRework/grails-app/views/taskProcedureDetailed/_maintenanceAction.gsp	(revision 770)
+++ branches/features/taskProcedureRework/grails-app/views/taskProcedureDetailed/_maintenanceAction.gsp	(revision 770)
@@ -0,0 +1,42 @@
+
+    <tr id="maintenanceActionLazyList${i}" class="ma-div" <g:if test="${ma?.toBeDeleted}">style="display:none;"</g:if>>
+
+        <td valign="top" class="value ${hasErrors(bean:tp,field:/maintenanceActionLazyList[$i].procedureStepNumber/,'errors')}">
+            <g:hiddenField name="maintenanceActionLazyList[${i}].toBeDeleted" value="${ma?.toBeDeleted}"/>
+            <g:hiddenField name='maintenanceActionLazyList[${i}].isNew' value="${ma?.id == null?'true':'false'}"/>
+            <g:textField name="maintenanceActionLazyList[${i}].procedureStepNumber"
+                                    value="${ma?.procedureStepNumber}"
+                                    style="width:3em;"/>
+        </td>
+
+        <td valign="top" class="value ${hasErrors(bean:ma,field:'assetSubItem','errors')}">
+            <g:select optionKey="id"
+                                from="${AssetSubItem.findAllByIsActive(true)}"
+                                name="maintenanceActionLazyList[${i}].assetSubItem.id"
+                                value="${ma?.assetSubItem?.id}"
+                                noSelection="['null':/${g.message(code:'default.none.select.text')}/]">
+            </g:select>
+        </td>
+
+        <td valign="top" class="value ${hasErrors(bean:ma,field:'description','errors')}">
+            <g:textArea name="maintenanceActionLazyList[${i}].description"
+                                    value="${ma?.description}"
+                                    style="width:100%;height:auto;"
+                                    rows="2"
+                                    cols="25"/>
+        </td>
+
+        <td valign="top" class="value ${hasErrors(bean:ma,field:'reasoning','errors')}">
+            <g:textArea name="maintenanceActionLazyList[${i}].reasoning"
+                                    value="${ma?.reasoning}"
+                                    style="width:100%;height:auto;"
+                                    rows="2"
+                                    cols="25"/>
+        </td>
+
+        <td>
+            <span class="del-ma">
+                <img src="${resource(dir:'images/skin', file:'database_delete.png')}" />
+            </span>
+        </td>
+    </tr>
Index: branches/features/taskProcedureRework/grails-app/views/taskProcedureDetailed/_maintenanceActions.gsp
===================================================================
--- branches/features/taskProcedureRework/grails-app/views/taskProcedureDetailed/_maintenanceActions.gsp	(revision 769)
+++ branches/features/taskProcedureRework/grails-app/views/taskProcedureDetailed/_maintenanceActions.gsp	(revision 770)
@@ -1,28 +1,94 @@
 <script type="text/javascript">
     var childCount = ${taskProcedureInstance?.maintenanceActions.size()} + 0;
+    var ma_wrapperId = "ma_wrapper";
+    var ma_cloneId = "maintenanceActionLazyList_clone";
+    var ma_lazyList = "maintenanceActionLazyList";
+    var ma_fields = ["toBeDeleted", "isNew", "description", "reasoning", "assetSubItem.id", "procedureStepNumber"];
+    var ma_focusField = "procedureStepNumber";
 
-    function addChild() {
-        var htmlId = "maintenanceAction" + childCount;
-        var deleteIcon = "${resource(dir:'images/skin', file:'database_delete.png')}";
-        var templateHtml = "<div id='" + htmlId + "' name='" + htmlId + "'>\n";
-        templateHtml += "<input type='text' id='maintenanceActionLazyList[" + childCount + "].description' name='maintenanceActionLazyList[" + childCount + "].description' />\n";
-        templateHtml += "<span onClick='jQuery(\"#" + htmlId + "\").remove();'><img src='" + deleteIcon + "' /></span>\n";
-        templateHtml += "</div>\n";
-        jQuery("#childList").append(templateHtml);
+
+    function addChild(wrapperId, cloneId, lazyList, fields, focusField){
+
+        var clone = jQuery("#"+cloneId).clone();
+        clone.attr('id', lazyList+childCount);
+        var htmlId = lazyList+'['+childCount+'].';
+
+        var fieldsMap = {};
+        jQuery.each(fields, function(index, field) {
+            fieldsMap[field] = clone.find('[id$="'+field+'"]');
+            fieldsMap[field].attr('id',htmlId + field)
+                                        .attr('name',htmlId + field);
+            if(field == 'isNew') {
+                fieldsMap[field].attr('value', 'true');
+            }
+        });
+
+        jQuery("#"+wrapperId).append(clone);
+        clone.show();
+        fieldsMap[focusField].focus();
         childCount++;
     }
+
+    // Click event on add button.
+    jQuery('.add-ma').live('click', function() {
+            addChild(ma_wrapperId, ma_cloneId, ma_lazyList, ma_fields, ma_focusField);
+    });
+
+    // Click event on delete buttons.
+    jQuery('.del-ma').live('click', function() {
+        //find the parent div
+        var prnt = jQuery(this).parents(".ma-div");
+        //find the deleted hidden input
+        var delInput = prnt.find("input[id$=toBeDeleted]");
+        //check if this is still not persisted
+        var newValue = prnt.find("input[id$=isNew]").attr('value');
+        //if it is new then i can safely remove from dom
+        if(newValue == 'true'){
+            prnt.remove();
+        }else{
+            //set the deletedFlag to true
+            delInput.attr('value','true');
+            //hide the div
+            prnt.hide();
+        }
+    });
+
+    jQuery(window).load(function() {
+        if(childCount == 0) {
+            addChild(ma_wrapperId, ma_cloneId, ma_lazyList, ma_fields, ma_focusField);
+        }
+    });
+
 </script>
 
-<div id="childList">
-    <g:each var="ma" in="${taskProcedureInstance.maintenanceActions}" status="i">
-        <div id="maintenanceAction${i}">
-            <g:hiddenField name='maintenanceActionLazyList[${i}].id' value='${ma.id}'/>
-            <g:textField name='maintenanceActionLazyList[${i}].description' value='${ma.description}'/>
-            <input type="hidden" name='maintenanceActionLazyList[${i}].deleted' id='maintenanceActionLazyList[${i}].deleted' value='false'/>
-            <span onClick="jQuery('#maintenanceActionLazyList\\[${i}\\]\\.deleted').val('true'); jQuery('#maintenanceAction${i}').hide()">
-                <img src="${resource(dir:'images/skin', file:'database_delete.png')}" />
-            </span>
-        </div>
-    </g:each>
-</div>
-<input type="button" value="Add MaintenanceAction" onclick="addChild();" />
+
+
+    <div>
+        <table>
+            <thead>
+                <tr>
+
+                    <th>Step</th>
+                    <th>Sub Item</th>
+                    <th>Description</th>
+                    <th>Reasoning</th>
+                    <th></th>
+
+                </tr>
+            </thead>
+            <tbody id="ma_wrapper">
+                    <g:each var="ma" in="${taskProcedureInstance.maintenanceActions}" status="i">
+                            <g:render template="maintenanceAction" model="['tp':taskProcedureInstance, 'ma': ma, 'i':i]" />
+                    </g:each>
+                    </tr>
+            </tbody>
+        </table>
+    </div>
+
+    <br />
+
+    <div style="text-align:right;">
+        <span class="buttons add-ma">
+            <input type="button" class="add" value="Add MaintenanceAction" />
+        </span>
+    </div>
Index: branches/features/taskProcedureRework/grails-app/views/taskProcedureDetailed/_taskProcedure.gsp
===================================================================
--- branches/features/taskProcedureRework/grails-app/views/taskProcedureDetailed/_taskProcedure.gsp	(revision 770)
+++ branches/features/taskProcedureRework/grails-app/views/taskProcedureDetailed/_taskProcedure.gsp	(revision 770)
@@ -0,0 +1,46 @@
+
+<div class="dialog">
+    <table>
+        <tbody>
+
+            <g:if test="${taskProcedureInstance.id}">
+                <tr class="prop">
+                    <td valign="top" class="name">Procedure Id:</td>
+                    <td valign="top" class="value">
+                        ${fieldValue(bean:taskProcedureInstance, field:'id')}
+                    </td>
+                </tr>
+            </g:if>
+
+            <tr class="prop">
+                <td valign="top" class="name">
+                    <label for="taskInstance">Linked Task:</label>
+                </td>
+                <td valign="top" name="taskInstance" class="value">
+                    <g:link controller="taskDetailed" action="show" id="${taskProcedureInstance.linkedTask.id}">
+                        ${taskProcedureInstance.linkedTask.encodeAsHTML()}
+                    </g:link>
+                </td>
+            </tr>
+
+            <tr class="prop">
+                <td valign="top" class="name">Linked Asset:</td>
+                <td valign="top" class="value">
+                    ${fieldValue(bean:taskProcedureInstance, field:'linkedTask.primaryAsset')}
+                </td>
+            </tr>
+
+            <tr class="prop">
+                <td valign="top" class="name">Version:</td>
+                <td valign="top" class="value">
+                        ${fieldValue(bean:taskProcedureInstance, field:'version') ?: 0}
+                </td>
+            </tr>
+
+        </tbody>
+    </table>
+
+    <br />
+    <g:render template="maintenanceActions" model="['taskProcedureInstance': taskProcedureInstance]" />
+    <br />
+</div>
Index: branches/features/taskProcedureRework/grails-app/views/taskProcedureDetailed/create.gsp
===================================================================
--- branches/features/taskProcedureRework/grails-app/views/taskProcedureDetailed/create.gsp	(revision 769)
+++ branches/features/taskProcedureRework/grails-app/views/taskProcedureDetailed/create.gsp	(revision 770)
@@ -13,43 +13,17 @@
         </div>
         <div class="body">
-            <g:if test="${flash.message}">
-            <div class="message">${flash.message}</div>
-            </g:if>
+            <g:render template="/shared/messages" />
+
             <g:hasErrors bean="${taskProcedureInstance}">
-            <div class="errors">
-                <g:renderErrors bean="${taskProcedureInstance}" as="list" />
-            </div>
+                <div class="errors">
+                    <g:renderErrors bean="${taskProcedureInstance}" as="list" />
+                </div>
             </g:hasErrors>
 
             <g:form action="save" method="post" >
-            <input type="hidden" name="linkedTask.id" value="${taskInstance.id}" />
+                <input type="hidden" name="linkedTask.id" value="${taskProcedureInstance.linkedTask.id}" />
 
-                <div class="dialog">
-                    <table>
-                        <tbody>
+                <g:render template="taskProcedure" model="['taskProcedureInstance': taskProcedureInstance]" />
 
-                            <tr class="prop">
-                                <td valign="top" class="name">
-                                    <label for="taskInstance">Parent Task:</label>
-                                </td>
-                                <td valign="top" name="taskInstance" class="value">
-                                    <g:link controller="taskDetailed" action="show" id="${taskInstance.id}">
-                                        ${taskInstance.encodeAsHTML()}
-                                    </g:link>
-                                </td>
-                            </tr>
-
-                            <tr class="prop">
-                                <td valign="top" class="name">
-                                    <label for="maintenanceActions">Maintenance Actions:</label>
-                                </td>
-                                <td valign="top" class="value ${hasErrors(bean:taskProcedureInstance,field:'maintenanceActions','errors')}">
-                                    <g:render template="maintenanceActions" model="['taskProcedureInstance': taskProcedureInstance]" />
-                                </td>
-                            </tr>
-
-                        </tbody>
-                    </table>
-                </div>
                 <div class="buttons">
                     <span class="button"><input class="save" type="submit" value="Create" /></span>
@@ -57,4 +31,7 @@
             </g:form>
         </div>
+        <table style="display:none;">
+            <g:render template="maintenanceAction" model="['tp': null, 'ma': null, 'i': '_clone']" />
+        </table>
     </body>
 </html>
Index: branches/features/taskProcedureRework/grails-app/views/taskProcedureDetailed/edit.gsp
===================================================================
--- branches/features/taskProcedureRework/grails-app/views/taskProcedureDetailed/edit.gsp	(revision 769)
+++ branches/features/taskProcedureRework/grails-app/views/taskProcedureDetailed/edit.gsp	(revision 770)
@@ -13,48 +13,18 @@
         </div>
         <div class="body">
-            <g:if test="${flash.message}">
-            <div class="message">${flash.message}</div>
-            </g:if>
+            <g:render template="/shared/messages" />
+
             <g:hasErrors bean="${taskProcedureInstance}">
-            <div class="errors">
-                <g:renderErrors bean="${taskProcedureInstance}" as="list" />
-            </div>
+                <div class="errors">
+                    <g:renderErrors bean="${taskProcedureInstance}" as="list" />
+                </div>
             </g:hasErrors>
+
             <g:form method="post" >
                 <input type="hidden" name="id" value="${taskProcedureInstance?.id}" />
                 <input type="hidden" name="version" value="${taskProcedureInstance?.version}" />
-                <div class="dialog">
-                    <table>
-                        <tbody>
 
-                            <tr class="prop">
-                                <td valign="top" class="name">Id:</td>
-                                <td valign="top" class="value">${fieldValue(bean:taskProcedureInstance, field:'id')}</td>
-                            </tr>
+                <g:render template="taskProcedure" model="['taskProcedureInstance': taskProcedureInstance]" />
 
-                            <tr class="prop">
-                                <td valign="top" class="name">
-                                    <label for="taskInstance">Linked Task:</label>
-                                </td>
-                                <td valign="top" name="taskInstance" class="value">
-                                    <g:link controller="taskDetailed" action="show" id="${taskProcedureInstance.linkedTask.id}">
-                                        ${taskProcedureInstance.linkedTask.encodeAsHTML()}
-                                    </g:link>
-                                </td>
-                            </tr>
-
-                            <tr class="prop">
-                                <td valign="top" class="name">
-                                    <label for="maintenanceActions">Maintenance Actions:</label>
-                                </td>
-
-                                <td valign="top" class="value ${hasErrors(bean:taskProcedureInstance,field:'maintenanceActions','errors')}">
-                                    <g:render template="maintenanceActions" model="['taskProcedureInstance': taskProcedureInstance]" />
-                                </td>
-                            </tr>
-
-                        </tbody>
-                    </table>
-                </div>
                 <div class="buttons">
                     <span class="button"><g:actionSubmit class="save" value="Update" /></span>
@@ -63,4 +33,7 @@
             </g:form>
         </div>
+        <table style="display:none;">
+            <g:render template="maintenanceAction" model="['tp': null, 'ma': null, 'i': '_clone']" />
+        </table>
     </body>
 </html>
Index: branches/features/taskProcedureRework/grails-app/views/taskProcedureDetailed/show.gsp
===================================================================
--- branches/features/taskProcedureRework/grails-app/views/taskProcedureDetailed/show.gsp	(revision 769)
+++ 	(revision )
@@ -1,61 +1,0 @@
-
-
-<html>
-    <head>
-        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-        <meta name="layout" content="main" />
-        <title>Show TaskProcedure</title>
-        <nav:resources override="true"/>
-    </head>
-    <body>
-        <div class="nav">
-            <nav:renderSubItems group="navAlt"/>
-        </div>
-        <div class="body">
-            <g:if test="${flash.message}">
-            <div class="message">${flash.message}</div>
-            </g:if>
-            <div class="dialog">
-                <table>
-                    <tbody>
-
-                        <tr class="prop">
-                            <td valign="top" class="name">Id:</td>
-                            <td valign="top" class="value">${fieldValue(bean:taskProcedureInstance, field:'id')}</td>
-                        </tr>
-
-                        <tr class="prop">
-                            <td valign="top" class="name">Linked Task:</td>
-                            <td valign="top" class="value">
-                                <g:link controller="taskDetailed" action="show" id="${taskProcedureInstance.linkedTask.id}">
-                                    ${taskProcedureInstance.linkedTask.encodeAsHTML()}
-                                </g:link>
-                            </td>
-                        </tr>
-
-                        <tr class="prop">
-                            <td valign="top" class="name">Maintenance Actions:</td>
-
-                            <td  valign="top" style="text-align:left;" class="value">
-                                <ul>
-                                <g:each var="m" in="${taskProcedureInstance.maintenanceActions}">
-                                    <li>${m?.encodeAsHTML()}</li>
-                                </g:each>
-                                </ul>
-                            </td>
-
-                        </tr>
-
-                    </tbody>
-                </table>
-            </div>
-            <div class="buttons">
-                <g:form>
-                    <input type="hidden" name="id" value="${taskProcedureInstance?.id}" />
-                    <span class="button"><g:actionSubmit class="edit" value="Edit" /></span>
-                    <span class="button"><g:actionSubmit class="delete" onclick="return confirm('Are you sure?');" value="Delete" /></span>
-                </g:form>
-            </div>
-        </div>
-    </body>
-</html>
