Index: /trunk/src/grails-app/conf/BootStrap.groovy
===================================================================
--- /trunk/src/grails-app/conf/BootStrap.groovy	(revision 90)
+++ /trunk/src/grails-app/conf/BootStrap.groovy	(revision 91)
@@ -67,5 +67,9 @@
         BootStrapSaveAndTest(authInstance)
 
-        authInstance = new Authority(description:"Application User, all application users need this base role.",
+        authInstance = new Authority(description:"Business manager, grants full management access.",
+                                        authority:"ROLE_Manager")
+        BootStrapSaveAndTest(authInstance)
+
+        authInstance = new Authority(description:"Application User, all application users need this base role to allow login.",
                                         authority:"ROLE_AppUser")
         BootStrapSaveAndTest(authInstance)
@@ -85,15 +89,16 @@
         personInstance.addToAuthorities(Authority.get(1))
         personInstance.addToAuthorities(Authority.get(2))
+        personInstance.addToAuthorities(Authority.get(3))
         personInstance.addToPersonGroups(PersonGroup.findByName("gnuMims"))
 
-        personInstance = new Person(loginName:"admin2",
-                                    firstName:"Admin2",
-                                    lastName:"Powers2",
-                                    pass:passClearText,
-                                    password:passwordEncoded,
-                                    email:"admin2@example.com")
-        BootStrapSaveAndTest(personInstance)
-        personInstance.addToAuthorities(Authority.get(1))
+        personInstance = new Person(loginName:"manager",
+                                    firstName:"Meca",
+                                    lastName:"Manager",
+                                    pass:passClearText,
+                                    password:passwordEncoded,
+                                    email:"manager@example.com")
+        BootStrapSaveAndTest(personInstance)
         personInstance.addToAuthorities(Authority.get(2))
+        personInstance.addToAuthorities(Authority.get(3))
         personInstance.addToPersonGroups(PersonGroup.findByName("gnuMims"))
 
@@ -105,5 +110,5 @@
                                     email:"user@example.com")
         BootStrapSaveAndTest(personInstance)
-        personInstance.addToAuthorities(Authority.get(2))
+        personInstance.addToAuthorities(Authority.get(3))
         personInstance.addToPersonGroups(PersonGroup.findByName("Electrical"))
 
@@ -115,5 +120,5 @@
                                     email:"user@example.com")
         BootStrapSaveAndTest(personInstance)
-        personInstance.addToAuthorities(Authority.get(2))
+        personInstance.addToAuthorities(Authority.get(3))
         personInstance.addToPersonGroups(PersonGroup.findByName("Electrical"))
 
@@ -125,5 +130,5 @@
                                     email:"user@example.com")
         BootStrapSaveAndTest(personInstance)
-        personInstance.addToAuthorities(Authority.get(2))
+        personInstance.addToAuthorities(Authority.get(3))
         personInstance.addToPersonGroups(PersonGroup.findByName("Mechanical"))
 
@@ -135,5 +140,5 @@
                                     email:"user@example.com")
         BootStrapSaveAndTest(personInstance)
-        personInstance.addToAuthorities(Authority.get(2))
+        personInstance.addToAuthorities(Authority.get(3))
         personInstance.addToPersonGroups(PersonGroup.findByName("Production"))
 
Index: /trunk/src/grails-app/controllers/AppCoreController.groovy
===================================================================
--- /trunk/src/grails-app/controllers/AppCoreController.groovy	(revision 90)
+++ /trunk/src/grails-app/controllers/AppCoreController.groovy	(revision 91)
@@ -42,4 +42,7 @@
     }
 
+    @Secured(['ROLE_Manager'])   
+    def manager = {
+    }
 
     @Secured(['ROLE_AppAdmin'])   
Index: /trunk/src/grails-app/controllers/EntryDetailedController.groovy
===================================================================
--- /trunk/src/grails-app/controllers/EntryDetailedController.groovy	(revision 91)
+++ /trunk/src/grails-app/controllers/EntryDetailedController.groovy	(revision 91)
@@ -0,0 +1,88 @@
+import org.codehaus.groovy.grails.plugins.springsecurity.Secured
+
+class EntryDetailedController extends BaseController {
+
+    def authenticateService
+    
+    def index = { redirect(action:list,params:params) }
+
+    // the delete, save and update actions only accept POST requests
+    static allowedMethods = [delete:'POST', save:'POST', update:'POST']
+
+    def list = {
+        if(!params.max) params.max = 10
+        [ entryInstanceList: Entry.list( params ) ]
+    }
+
+    def show = {
+        def entryInstance = Entry.get( params.id )
+
+        if(!entryInstance) {
+            flash.message = "Entry not found with id ${params.id}"
+            redirect(action:list)
+        }
+        else { return [ entryInstance : entryInstance ] }
+    }
+
+    def delete = {
+        def entryInstance = Entry.get( params.id )
+        if(entryInstance) {
+            entryInstance.delete()
+            flash.message = "Entry ${params.id} deleted"
+            redirect(action:list)
+        }
+        else {
+            flash.message = "Entry not found with id ${params.id}"
+            redirect(action:list)
+        }
+    }
+
+    def edit = {
+        def entryInstance = Entry.get( params.id )
+
+        if(!entryInstance) {
+            flash.message = "Entry not found with id ${params.id}"
+            redirect(action:list)
+        }
+        else {
+            return [ entryInstance : entryInstance ]
+        }
+    }
+
+    def update = {
+        def entryInstance = Entry.get( params.id )
+        if(entryInstance) {
+            entryInstance.properties = params
+            if(!entryInstance.hasErrors() && entryInstance.save()) {
+                flash.message = "Entry ${params.id} updated"
+                redirect(action:show,id:entryInstance.id)
+            }
+            else {
+                render(view:'edit',model:[entryInstance:entryInstance])
+            }
+        }
+        else {
+            flash.message = "Entry not found with id ${params.id}"
+            redirect(action:edit,id:params.id)
+        }
+    }
+
+    def create = {
+        def entryInstance = new Entry()
+        entryInstance.properties = params
+        return ['entryInstance':entryInstance]
+    }
+
+    def save = {
+        def entryInstance = new Entry(params)
+
+        entryInstance.enteredBy = Person.get(authenticateService.userDomain().id)
+        if(!entryInstance.hasErrors() && entryInstance.save()) {
+            flash.message = "Entry ${entryInstance.id} created"
+            redirect(controller:"taskDetailed", action:"show", id: params.task.id)
+        }
+        else {
+            render(view:'create',model:[entryInstance:entryInstance])
+        }
+    }
+}
Index: /trunk/src/grails-app/controllers/PersonController.groovy
===================================================================
--- /trunk/src/grails-app/controllers/PersonController.groovy	(revision 90)
+++ /trunk/src/grails-app/controllers/PersonController.groovy	(revision 91)
@@ -1,5 +1,5 @@
 import org.codehaus.groovy.grails.plugins.springsecurity.Secured
 
-@Secured(['ROLE_AppAdmin'])
+@Secured(['ROLE_AppAdmin', 'ROLE_Manager'])
 class PersonController {
 
@@ -53,6 +53,14 @@
 				//first, delete this person from Persons_Authorities table.
 				Authority.findAll().each { it.removeFromPersons(person) }
-				person.delete()
-				flash.message = "Person $params.id deleted."
+                
+//                 try {
+                    person.delete(flush:true)
+                    flash.message = "Person $params.id deleted."
+//                 }
+//                 catch(Exception e) {
+//                     flash.message = "Could not delete '$person.loginName' due to database constraints, but all authorities have been removed."
+//                     redirect action: edit, id: person.id
+//                 }
+
 			}
 		}
Index: /trunk/src/grails-app/domain/Task.groovy
===================================================================
--- /trunk/src/grails-app/domain/Task.groovy	(revision 90)
+++ /trunk/src/grails-app/domain/Task.groovy	(revision 91)
@@ -23,5 +23,5 @@
     static constraints = {
         targetStartDate()
-        description(blank:false,maxSize:50)
+        description(blank:false,maxSize:75)
         leadPerson()
         taskPriority()
Index: /trunk/src/grails-app/views/_adminmenubar.gsp
===================================================================
--- /trunk/src/grails-app/views/_adminmenubar.gsp	(revision 90)
+++ /trunk/src/grails-app/views/_adminmenubar.gsp	(revision 91)
@@ -1,3 +1,10 @@
 <g:isLoggedIn>
+    <g:ifAnyGranted role="ROLE_Manager">
+        <span class="appControlButton">
+            <g:link controller="appCore" action="manager">
+                Manager
+            </g:link>
+        </span>
+    </g:ifAnyGranted>
     <g:ifAnyGranted role="ROLE_AppAdmin">
         <span class="appControlButton">
Index: /trunk/src/grails-app/views/appCore/admin.gsp
===================================================================
--- /trunk/src/grails-app/views/appCore/admin.gsp	(revision 90)
+++ /trunk/src/grails-app/views/appCore/admin.gsp	(revision 91)
@@ -8,11 +8,12 @@
         <div class="nav">
             <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span>
-            <span class="menuButton"><g:link controller="person" action="create">New Person</g:link></span>
         </div>
         <div class="body">
-            <h1>Welcome to Admin</h1>
+            <h1>Application Admin</h1>
             <div class="errors">
-                "Warning these pages are for use by the application admin only and not for daily use." <br />
-                "They allow direct administration of the back-end data, cascade deletion and updates may occur."
+                Warning!<br />
+                The pages bellow this line are for use by the application admin only and NOT for daily use.<br />
+                They allow direct administration of the back-end data, cascade deletion and updates may occur.<br />
+                The manager authorisation and pages should be used for normal daily use.<br />
             </div>
             <br/>
Index: /trunk/src/grails-app/views/appCore/manager.gsp
===================================================================
--- /trunk/src/grails-app/views/appCore/manager.gsp	(revision 91)
+++ /trunk/src/grails-app/views/appCore/manager.gsp	(revision 91)
@@ -0,0 +1,18 @@
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>Admin</title>
+    </head>
+    <body>
+        <div class="nav">
+            <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span>
+            <span class="menuButton"><g:link controller="person" action="create">New Person</g:link></span>
+            <span class="menuButton"><g:link controller="person" action="list">Person List</g:link></span>
+        </div>
+        <div class="body">
+            <h1>Welcome to Manager</h1>
+
+        </div>
+    </body>
+</html>
Index: /trunk/src/grails-app/views/taskDetailed/create.gsp
===================================================================
--- /trunk/src/grails-app/views/taskDetailed/create.gsp	(revision 90)
+++ /trunk/src/grails-app/views/taskDetailed/create.gsp	(revision 91)
@@ -32,5 +32,5 @@
                                 </td>
                                 <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'description','errors')}">
-                                    <input type="text"  style="width:450px" maxlength="50" id="description" name="description" value="${fieldValue(bean:taskInstance,field:'description')}"/>
+                                    <input type="text"  style="width:450px" maxlength="75" id="description" name="description" value="${fieldValue(bean:taskInstance,field:'description')}"/>
                                 </td>
                             </tr>
Index: /trunk/src/grails-app/views/taskDetailed/edit.gsp
===================================================================
--- /trunk/src/grails-app/views/taskDetailed/edit.gsp	(revision 90)
+++ /trunk/src/grails-app/views/taskDetailed/edit.gsp	(revision 91)
@@ -41,5 +41,5 @@
                                 </td>
                                 <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'description','errors')}">
-                                    <input type="text" style="width:450px" maxlength="50" id="description" name="description" value="${fieldValue(bean:taskInstance,field:'description')}"/>
+                                    <input type="text" style="width:450px" maxlength="75" id="description" name="description" value="${fieldValue(bean:taskInstance,field:'description')}"/>
                                 </td>
                             </tr>
@@ -98,20 +98,4 @@
                                 </td>
                             </tr> 
-                        
-                            <tr class="prop">
-                                <td valign="top" class="name">
-                                    <label for="assignedPersons">Assigned Persons:</label>
-                                </td>
-                                <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'assignedPersons','errors')}">
-                                    
-<ul>
-<g:each var="a" in="${taskInstance?.assignedPersons?}">
-    <li><g:link controller="person" action="show" id="${a.id}">${a?.encodeAsHTML()}</g:link></li>
-</g:each>
-</ul>
-<g:link controller="person" params="['task.id':taskInstance?.id]" action="create">Add Person</g:link>
-
-                                </td>
-                            </tr>
                         
                             <tr class="prop">
Index: /trunk/src/grails-app/views/taskDetailed/show.gsp
===================================================================
--- /trunk/src/grails-app/views/taskDetailed/show.gsp	(revision 90)
+++ /trunk/src/grails-app/views/taskDetailed/show.gsp	(revision 91)
@@ -59,5 +59,5 @@
                             <td valign="top" class="name">Lead Person:</td>
                             
-                            <td valign="top" class="value"><g:link controller="person" action="show" id="${taskInstance?.leadPerson?.id}">${taskInstance?.leadPerson?.encodeAsHTML()}</g:link></td>
+                            <td valign="top" class="value">${taskInstance?.leadPerson?.encodeAsHTML()}</td>
                             
                         </tr>
@@ -66,5 +66,5 @@
                             <td valign="top" class="name">Task Priority:</td>
                             
-                            <td valign="top" class="value"><g:link controller="taskPriority" action="show" id="${taskInstance?.taskPriority?.id}">${taskInstance?.taskPriority?.encodeAsHTML()}</g:link></td>
+                            <td valign="top" class="value">${taskInstance?.taskPriority?.encodeAsHTML()}</td>
                             
                         </tr>
@@ -73,5 +73,5 @@
                             <td valign="top" class="name">Task Status:</td>
                             
-                            <td valign="top" class="value"><g:link controller="taskStatus" action="show" id="${taskInstance?.taskStatus?.id}">${taskInstance?.taskStatus?.encodeAsHTML()}</g:link></td>
+                            <td valign="top" class="value">${taskInstance?.taskStatus?.encodeAsHTML()}</td>
                             
                         </tr>
@@ -79,40 +79,33 @@
                         <tr class="prop">
                             <td valign="top" class="name">Assigned Persons:</td>
-                            
-                            <td valign="top" class="value">${fieldValue(bean:taskInstance, field:'assignedPersons')}</td>
-                            
-                        </tr>
-                    
-                        <tr class="prop">
-                            <td valign="top" class="name">Is Active:</td>
-                            
-                            <td valign="top" class="value">${fieldValue(bean:taskInstance, field:'isActive')}</td>
-                            
-                        </tr>
-                    
-                        <tr class="prop">
-                            <td valign="top" class="name">Is Approved:</td>
-                            
-                            <td valign="top" class="value">${fieldValue(bean:taskInstance, field:'isApproved')}</td>
-                            
-                        </tr>
-                    
-                        <tr class="prop">
-                            <td valign="top" class="name">Is Scheduled:</td>
-                            
-                            <td valign="top" class="value">${fieldValue(bean:taskInstance, field:'isScheduled')}</td>
-                            
-                        </tr>
-                    
-                        <tr class="prop">
-                            <td valign="top" class="name">Modifications:</td>
                             
                             <td  valign="top" style="text-align:left;" class="value">
                                 <ul>
-                                <g:each var="m" in="${taskInstance.modifications}">
-                                    <li><g:link controller="modification" action="show" id="${m.id}">${m?.encodeAsHTML()}</g:link></li>
+                                <g:each var="s" in="${taskInstance.assignedPersons}">
+                                    <li>${s?.firstName} ${s?.lastName}</li>
                                 </g:each>
                                 </ul>
                             </td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Is Active:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:taskInstance, field:'isActive')}</td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Is Approved:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:taskInstance, field:'isApproved')}</td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Is Scheduled:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:taskInstance, field:'isScheduled')}</td>
                             
                         </tr>
@@ -141,5 +134,5 @@
                             <td valign="top" class="name">Task Group:</td>
                             
-                            <td valign="top" class="value"><g:link controller="taskGroup" action="show" id="${taskInstance?.taskGroup?.id}">${taskInstance?.taskGroup?.encodeAsHTML()}</g:link></td>
+                            <td valign="top" class="value">${taskInstance?.taskGroup?.encodeAsHTML()}</td>
                             
                         </tr>
@@ -148,5 +141,5 @@
                             <td valign="top" class="name">Task Type:</td>
                             
-                            <td valign="top" class="value"><g:link controller="taskType" action="show" id="${taskInstance?.taskType?.id}">${taskInstance?.taskType?.encodeAsHTML()}</g:link></td>
+                            <td valign="top" class="value">${taskInstance?.taskType?.encodeAsHTML()}</td>
                             
                         </tr>
@@ -168,9 +161,12 @@
                     <thead>
                         <tr>
-                            <g:sortableColumn property="comment" title="Comment" />
+                            <th style="color:Black">Comment</th>
+                            <th style="color:Black">Date Done</th>
+                            <th style="color:Black">Entered By</th>
+<!--                            <g:sortableColumn property="comment" title="Comment" />
                         
                             <g:sortableColumn property="dateDone" title="Date Done" />
                         
-                            <g:sortableColumn property="enteredBy" title="Entered By" />
+                            <g:sortableColumn property="enteredBy" title="Entered By" />-->
                         </tr>
                     </thead>
@@ -198,9 +194,12 @@
                     <thead>
                         <tr>
-                            <g:sortableColumn property="comment" title="Comment" />
-                        
-                            <g:sortableColumn property="dateDone" title="Date Done" />
-                        
-                            <g:sortableColumn property="enteredBy" title="Entered By" />
+                            <th style="color:Black">Comment</th>
+                            <th style="color:Black">Date Done</th>
+                            <th style="color:Black">Entered By</th>
+<!--                            <g:sortableColumn property="commentW" title="Comment" />
+                        
+                            <g:sortableColumn property="dateDoneW" title="Date Done" />
+                        
+                            <g:sortableColumn property="enteredByW" title="Entered By" />-->
                         </tr>
                     </thead>
@@ -223,4 +222,12 @@
             </div>
 
+            <br />
+
+            <div class="buttons">
+                <span class="menuButton" style="height:50px">
+                    <g:link controller="entryDetailed" params="['task.id':taskInstance.id]" action="create">Add Entry</g:link>
+                </span>
+            </div>
+
         </div>
     </body>
