Index: trunk/grails-app/controllers/EntryDetailedController.groovy
===================================================================
--- trunk/grails-app/controllers/EntryDetailedController.groovy	(revision 825)
+++ trunk/grails-app/controllers/EntryDetailedController.groovy	(revision 826)
@@ -92,15 +92,30 @@
     }
 
-    def createMaintenanceAction = {
+    def ajaxCreate = {
+        if(!params.taskId || !params.entryTypeId) {
+            flash.message = g.message(code:"entry.create.no.params")
+            redirect(controller:"taskDetailed", action:"search")
+            return
+        }
 
-//         if(!params.taskInstance?.id || !params.entryType?.id) {
-//             flash.message = g.message(code:"entry.create.no.params")
-//             redirect(controller:"taskDetailed", action:"search")
-//             return
-//         }
+        def taskInstance = Task.read(params.taskId)
 
-        def taskInstance = Task.read(params.taskInstance.id)
-        println taskInstance
-        render "Done"
+        if(!taskInstance) {
+            flash.message = g.message(code:"task.notFound")
+            redirect(controller:"taskDetailed", action:"search")
+            return
+        }
+
+        // Check for Complete task.
+        if(taskInstance.taskStatus.id == 3) {
+            flash.errorMessage = g.message(code:"task.operationNotPermittedOnCompleteTask")
+            redirect(controller:"taskDetailed", action:"show", id: taskInstance.id)
+            return
+        }
+
+        def entryInstance = new Entry()
+        entryInstance.task = taskInstance
+        entryInstance.entryType = EntryType.read(params.entryTypeId)
+        render(template: "create", model: ['entryInstance': entryInstance])
     }
 
Index: trunk/grails-app/services/CreateDataService.groovy
===================================================================
--- trunk/grails-app/services/CreateDataService.groovy	(revision 825)
+++ trunk/grails-app/services/CreateDataService.groovy	(revision 826)
@@ -989,4 +989,7 @@
         entryTypeInstance = new EntryType(name:"Work Request") // #5
         saveAndTest(entryTypeInstance)
+
+        entryTypeInstance = new EntryType(name:"PM Entry") // #6
+        saveAndTest(entryTypeInstance)
     }
 
Index: trunk/grails-app/views/entryDetailed/_create.gsp
===================================================================
--- trunk/grails-app/views/entryDetailed/_create.gsp	(revision 826)
+++ trunk/grails-app/views/entryDetailed/_create.gsp	(revision 826)
@@ -0,0 +1,79 @@
+
+    <g:form action="save" method="post" >
+        <g:hiddenField name="task.id" value="${entryInstance.task.id}" />
+        <g:hiddenField name="entryType.id" value="${entryInstance.entryType.id}" />
+        <div class="dialog">
+            <table>
+                <tbody>
+
+                    <tr class="prop">
+                        <td valign="top" class="name">
+                            <label for="comment">${entryInstance?.entryType.encodeAsHTML()}:</label>
+                        </td>
+                        <td valign="top" class="value ${hasErrors(bean:entryInstance,field:'comment','errors')}">
+                            <textarea rows="5" cols="40" name="comment">${fieldValue(bean:entryInstance, field:'comment')}</textarea>
+                            <g:if test="${entryInstance?.entryType?.id == 1}">
+<%--                                  <g:helpBalloon code="entry.comment.fault" />  --%>
+                            </g:if>
+                            <g:elseif test="${entryInstance?.entryType?.id == 2}">
+<%--                                  <g:helpBalloon code="entry.comment.cause" />  --%>
+                            </g:elseif>
+                            <g:elseif test="${entryInstance?.entryType?.id == 3}">
+<%--                                  <g:helpBalloon code="entry.comment.work.done" />  --%>
+                            </g:elseif>
+                        </td>
+                    </tr>
+
+                    <tr class="prop">
+                        <td valign="top" class="name">
+                            <label for="dateDone">Date Done:</label>
+                        </td>
+                        <td valign="top" class="value ${hasErrors(bean:entryInstance,field:'dateDone','errors')}">
+                            <richui:dateChooser name="dateDone" format="dd-MM-yyyy" value="${entryInstance.dateDone}" />
+<%--                              <g:helpBalloon code="entry.date.done" />  --%>
+                        </td>
+                    </tr>
+
+                    <g:if test="${entryInstance?.entryType?.id == 1}">
+                        <tr class="prop">
+                            <td valign="top" class="name">
+                                <label for="productionReference">Production:</label>
+                            </td>
+                            <td valign="top" class="value ${hasErrors(bean:entryInstance,field:'productionReference','errors')}">
+                                <g:select optionKey="id"
+                                                    from="${ProductionReference.findAllByIsActive(true)}"
+                                                    name="productionReference.id"
+                                                    value="${entryInstance.productionReference?.id}"
+                                                    noSelection="['null':'--None--']">
+                                </g:select>
+<%--                                  <g:helpBalloon code="entry.productionReference.fault" />  --%>
+                            </td>
+                        </tr>
+                    </g:if>
+
+                    <g:if test="${entryInstance?.entryType?.id != 2}">
+                        <tr class="prop">
+                            <td valign="top" class="name">
+                                <label for="durationHour">Duration:</label>
+                            </td>
+
+                            <td valign="top" class="value">
+                                <input class="time ${hasErrors(bean:entryInstance,field:'durationHour','errors')}"
+                                    type="text" id="durationHour" name="durationHour"
+                                    value="${fieldValue(bean:entryInstance,field:'durationHour')}" />
+                                :
+                                <input class="time ${hasErrors(bean:entryInstance,field:'durationMinute','errors')}"
+                                    type="text" id="durationMinute" name="durationMinute"
+                                    value="${fieldValue(bean:entryInstance,field:'durationMinute')}" />
+<%--                                  <g:helpBalloon code="entry.duration" />  --%>
+                            </td>
+                        </tr>
+                    </g:if>
+
+                </tbody>
+            </table>
+        </div>
+        <div class="buttons">
+            <span class="button"><input class="save" type="submit" value="Create" /></span>
+        </div>
+    </g:form>
Index: trunk/grails-app/views/taskDetailed/_showProcedureTab.gsp
===================================================================
--- trunk/grails-app/views/taskDetailed/_showProcedureTab.gsp	(revision 825)
+++ trunk/grails-app/views/taskDetailed/_showProcedureTab.gsp	(revision 826)
@@ -23,3 +23,15 @@
         <g:render template="/taskProcedureDetailed/taskProcedureRevision"
                             model="['taskProcedureRevision':taskProcedureRevision]" />
+        <br />
+
+        <div id="maintenanceEntryContainer"></div>
+
+        <div style="text-align:right;" id="maintenanceEntryButton">
+            <span class="buttons">
+                <input type="button"
+                            class="add"
+                            value="Add Maintenance Entry"
+                            onclick="getMaintenanceEntryForm(${taskInstance?.id}, 6)" />
+            </span>
+        </div>
     </g:else>
Index: trunk/grails-app/views/taskDetailed/show.gsp
===================================================================
--- trunk/grails-app/views/taskDetailed/show.gsp	(revision 825)
+++ trunk/grails-app/views/taskDetailed/show.gsp	(revision 826)
@@ -6,4 +6,6 @@
         <nav:resources override="true"/>
         <resource:tabView skin="tabviewCustom" />
+        <resource:dateChooser />
+        <g:javascript src="taskShow.js" />
     </head>
     <body>
