Changeset 157


Ignore:
Timestamp:
Oct 21, 2009, 5:07:30 PM (10 years ago)
Author:
gav
Message:

Detail work on TaskRecurringSchedule? views and controller.
Regen non-detail views.
Format TaskRecurringScheduleDetailedController? to 4 spaces, no tabs.

Location:
trunk/grails-app
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/grails-app/controllers/TaskRecurringScheduleDetailedController.groovy

    r137 r157  
    44
    55class TaskRecurringScheduleDetailedController extends BaseController {
    6    
    7         def dateUtilService
    8        
     6
     7    def dateUtilService
     8
    99    def index = { redirect(action:list,params:params) }
    1010
     
    2121
    2222        if(!taskRecurringScheduleInstance) {
    23             flash.message = "TaskRecurringSchedule not found with id ${params.id}"
     23            flash.message = "Recurring Schedule not found with id ${params.id}"
    2424            redirect(action:list)
    2525        }
     
    3232            try {
    3333                taskRecurringScheduleInstance.delete()
    34                 flash.message = "TaskRecurringSchedule ${params.id} deleted"
     34                flash.message = "Recurring Schedule ${params.id} deleted"
    3535                redirect(action:list)
    3636            }
    3737            catch(org.springframework.dao.DataIntegrityViolationException e) {
    38                 flash.message = "TaskRecurringSchedule ${params.id} could not be deleted"
     38                flash.message = "Recurring Schedule ${params.id} could not be deleted"
    3939                redirect(action:show,id:params.id)
    4040            }
    4141        }
    4242        else {
    43             flash.message = "TaskRecurringSchedule not found with id ${params.id}"
     43            flash.message = "Recurring Schedule not found with id ${params.id}"
    4444            redirect(action:list)
    4545        }
     
    5050
    5151        if(!taskRecurringScheduleInstance) {
    52             flash.message = "TaskRecurringSchedule not found with id ${params.id}"
     52            flash.message = "Recurring Schedule not found with id ${params.id}"
    5353            redirect(action:list)
    5454        }
     
    5959
    6060    def update = {
    61                 TaskRecurringSchedule.withTransaction { status ->
    62        
    63                 def taskRecurringScheduleInstance = TaskRecurringSchedule.get( params.id )
    64                         if(taskRecurringScheduleInstance) {
    65                                
    66                                 if(params.version) {
    67                                         def version = params.version.toLong()
    68                                         if(taskRecurringScheduleInstance.version > version) {
    69                                                 taskRecurringScheduleInstance.errors.rejectValue("version", "taskRecurringSchedule.optimistic.locking.failure", "Another user has updated this TaskRecurringSchedule while you were editing.")
    70                                                 render(view:'edit',model:[taskRecurringScheduleInstance:taskRecurringScheduleInstance])
    71                                                 return
    72                                         }
    73                                 }
    74                                        
    75                                 Date originalDate = taskRecurringScheduleInstance.startDate
    76                                 taskRecurringScheduleInstance.properties = params  // Domain object is now 'dirty'.
    77                                 Date newDate = taskRecurringScheduleInstance.startDate
    78        
    79                                 // If user changes startDate then ensure it is in the future, otherwise it's ok to keep the original date.
    80                                 if(originalDate.getTime() != newDate.getTime())
    81                                 {
    82                                         if(newDate < dateUtilService.getToday())
    83                                         {
    84                                                 status.setRollbackOnly()  // Only allow the transaction to Rollback, preventing flush due to 'dirty'.
    85                                                 taskRecurringScheduleInstance.errors.rejectValue("startDate", "taskRecurring.startDate.NotInTheFuture")
    86                                                 render(view:'edit',model:[taskRecurringScheduleInstance:taskRecurringScheduleInstance])
    87                                                 return
    88                                         }
    89                                 }
    90                                        
    91                                 taskRecurringScheduleInstance.nextTargetStartDate = taskRecurringScheduleInstance.startDate
    92                                 taskRecurringScheduleInstance.setNextGenerationDate()
    93                                 taskRecurringScheduleInstance.setNextTargetCompletionDate()
    94                    
    95                                 if(!taskRecurringScheduleInstance.hasErrors() && taskRecurringScheduleInstance.save())
    96                                 {
    97                                         flash.message = "TaskRecurringSchedule ${params.id} updated"
    98                                         redirect(action:show,id:taskRecurringScheduleInstance.id)
    99                                 }
    100                                 else
    101                                 {
    102                                         render(view:'edit',model:[taskRecurringScheduleInstance:taskRecurringScheduleInstance])
    103                                 }
    104                         }
    105                         else
    106                         {
    107                                 flash.message = "TaskRecurringSchedule not found with id ${params.id}"
    108                                 redirect(action:edit,id:params.id)
    109                         }
    110                        
    111                 } // end withTransaction                       
    112         } // end update()
    113        
     61        TaskRecurringSchedule.withTransaction { status ->
     62
     63            def taskRecurringScheduleInstance = TaskRecurringSchedule.get( params.id )
     64            if(taskRecurringScheduleInstance) {
     65
     66                if(params.version) {
     67                    def version = params.version.toLong()
     68                    if(taskRecurringScheduleInstance.version > version) {
     69                        taskRecurringScheduleInstance.errors.rejectValue("version", "taskRecurringSchedule.optimistic.locking.failure", "Another user has updated this Recurring Schedule while you were editing.")
     70                        render(view:'edit',model:[taskRecurringScheduleInstance:taskRecurringScheduleInstance])
     71                        return
     72                    }
     73                }
     74
     75                Date originalDate = taskRecurringScheduleInstance.startDate
     76                taskRecurringScheduleInstance.properties = params  // Domain object is now 'dirty'.
     77                Date newDate = taskRecurringScheduleInstance.startDate
     78
     79                // If user changes startDate then ensure it is in the future, otherwise it's ok to keep the original date.
     80                if(originalDate.getTime() != newDate.getTime())
     81                {
     82                    if(newDate < dateUtilService.getToday())
     83                    {
     84                        status.setRollbackOnly()  // Only allow the transaction to Rollback, preventing flush due to 'dirty'.
     85                        taskRecurringScheduleInstance.errors.rejectValue("startDate", "taskRecurring.startDate.NotInTheFuture")
     86                        render(view:'edit',model:[taskRecurringScheduleInstance:taskRecurringScheduleInstance])
     87                        return
     88                    }
     89                }
     90
     91                taskRecurringScheduleInstance.nextTargetStartDate = taskRecurringScheduleInstance.startDate
     92                taskRecurringScheduleInstance.setNextGenerationDate()
     93                taskRecurringScheduleInstance.setNextTargetCompletionDate()
     94
     95                if(!taskRecurringScheduleInstance.hasErrors() && taskRecurringScheduleInstance.save())
     96                {
     97                    flash.message = "Recurring Schedule ${params.id} updated"
     98                    redirect(action:show,id:taskRecurringScheduleInstance.id)
     99                }
     100                else
     101                {
     102                    render(view:'edit',model:[taskRecurringScheduleInstance:taskRecurringScheduleInstance])
     103                }
     104            }
     105            else
     106            {
     107                flash.message = "Recurring Schedule not found with id ${params.id}"
     108                redirect(action:edit,id:params.id)
     109            }
     110
     111        } // end withTransaction
     112    } // end update()
     113
    114114    def create = {
    115115        try {
    116116            def taskInstance = Task.get(params.taskInstance.id)
    117                         def taskRecurringScheduleInstance = new TaskRecurringSchedule()
     117            def taskRecurringScheduleInstance = new TaskRecurringSchedule()
    118118            taskRecurringScheduleInstance.task = taskInstance
    119119            return [taskRecurringScheduleInstance: taskRecurringScheduleInstance]
     
    127127    def save = {
    128128        def taskRecurringScheduleInstance = new TaskRecurringSchedule(params)
    129                 def taskInstance = Task.get(params.task.id)
    130                                
    131                 if(taskInstance.taskRecurringSchedule) {
    132                         flash.message = "This task already has a recurring schedule"
    133                         redirect(controller:"taskDetailed", action:"show", id: params.task.id)
    134                 }
    135                 else {
    136                        
    137                         if(taskRecurringScheduleInstance.startDate < dateUtilService.getToday()) {
    138                                 taskRecurringScheduleInstance.errors.rejectValue("startDate", "taskRecurring.startDate.NotInTheFuture")
    139                         }
    140                        
    141                         if(!taskRecurringScheduleInstance.hasErrors() && taskRecurringScheduleInstance.save()) {
    142                                
    143                                 taskInstance.taskRecurringSchedule = taskRecurringScheduleInstance
    144                                                
    145                                 if(taskInstance.save()) {
    146                                         flash.message = "TaskRecurringSchedule ${taskRecurringScheduleInstance.id} created"
    147                                         redirect(action:show,id:taskRecurringScheduleInstance.id)
    148                                 }
    149                                 else {
    150                                         flash.message = "Task could not be saved and therefore the Recurring Schedule has been disgarded, cause unknown."                              
    151                                         render(view:'create',model:[taskRecurringScheduleInstance:taskRecurringScheduleInstance])
    152                                 }
    153                         }
    154                         else {
    155                                 render(view:'create',model:[taskRecurringScheduleInstance:taskRecurringScheduleInstance])
    156                         }
    157                 }
     129        def taskInstance = Task.get(params.task.id)
     130
     131        if(taskInstance.taskRecurringSchedule) {
     132            flash.message = "This task already has a recurring schedule"
     133            redirect(controller:"taskDetailed", action:"show", id: params.task.id)
     134        }
     135        else {
     136
     137            if(taskRecurringScheduleInstance.startDate < dateUtilService.getToday()) {
     138                taskRecurringScheduleInstance.errors.rejectValue("startDate", "taskRecurring.startDate.NotInTheFuture")
     139            }
     140
     141            if(!taskRecurringScheduleInstance.hasErrors() && taskRecurringScheduleInstance.save()) {
     142
     143                taskInstance.taskRecurringSchedule = taskRecurringScheduleInstance
     144
     145                if(taskInstance.save()) {
     146                    flash.message = "Recurring Schedule ${taskRecurringScheduleInstance.id} created"
     147                    redirect(action:show,id:taskRecurringScheduleInstance.id)
     148                }
     149                else {
     150                    flash.message = "Task could not be saved and therefore the Recurring Schedule has been disgarded, cause unknown."   
     151                    render(view:'create',model:[taskRecurringScheduleInstance:taskRecurringScheduleInstance])
     152                }
     153            }
     154            else {
     155                render(view:'create',model:[taskRecurringScheduleInstance:taskRecurringScheduleInstance])
     156            }
     157        }
    158158
    159159    } // end save()
  • trunk/grails-app/views/taskRecurringSchedule/create.gsp

    r151 r157  
    99    <body>
    1010        <div class="nav">
    11             <span class="menuButton"><a class="home" href="${resource(dir:'')}">Home</a></span>
     11            <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span>
    1212            <span class="menuButton"><g:link class="list" action="list">TaskRecurringSchedule List</g:link></span>
    1313        </div>
     
    2929                            <tr class="prop">
    3030                                <td valign="top" class="name">
     31                                    <label for="recurEvery">Recur Every:</label>
     32                                </td>
     33                                <td valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'recurEvery','errors')}">
     34                                    <input type="text" id="recurEvery" name="recurEvery" value="${fieldValue(bean:taskRecurringScheduleInstance,field:'recurEvery')}" />
     35                                </td>
     36                            </tr>
     37                       
     38                            <tr class="prop">
     39                                <td valign="top" class="name">
     40                                    <label for="taskDuration">Task Duration:</label>
     41                                </td>
     42                                <td valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'taskDuration','errors')}">
     43                                    <input type="text" id="taskDuration" name="taskDuration" value="${fieldValue(bean:taskRecurringScheduleInstance,field:'taskDuration')}" />
     44                                </td>
     45                            </tr>
     46                       
     47                            <tr class="prop">
     48                                <td valign="top" class="name">
     49                                    <label for="generateAhead">Generate Ahead:</label>
     50                                </td>
     51                                <td valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'generateAhead','errors')}">
     52                                    <input type="text" id="generateAhead" name="generateAhead" value="${fieldValue(bean:taskRecurringScheduleInstance,field:'generateAhead')}" />
     53                                </td>
     54                            </tr>
     55                       
     56                            <tr class="prop">
     57                                <td valign="top" class="name">
    3158                                    <label for="lastGeneratedDate">Last Generated Date:</label>
    3259                                </td>
     
    4269                                <td valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'lastGeneratedSubTask','errors')}">
    4370                                    <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="generateAhead">Generate Ahead:</label>
    50                                 </td>
    51                                 <td valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'generateAhead','errors')}">
    52                                     <input type="text" id="generateAhead" name="generateAhead" value="${fieldValue(bean:taskRecurringScheduleInstance,field:'generateAhead')}" />
    5371                                </td>
    5472                            </tr>
     
    7492                            <tr class="prop">
    7593                                <td valign="top" class="name">
    76                                     <label for="nextDueDate">Next Due Date:</label>
    77                                 </td>
    78                                 <td valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'nextDueDate','errors')}">
    79                                     <g:datePicker name="nextDueDate" value="${taskRecurringScheduleInstance?.nextDueDate}" ></g:datePicker>
    80                                 </td>
    81                             </tr>
    82                        
    83                             <tr class="prop">
    84                                 <td valign="top" class="name">
    8594                                    <label for="nextGenerationDate">Next Generation Date:</label>
    8695                                </td>
     
    92101                            <tr class="prop">
    93102                                <td valign="top" class="name">
    94                                     <label for="recurEvery">Recur Every:</label>
     103                                    <label for="nextTargetCompletionDate">Next Target Completion Date:</label>
    95104                                </td>
    96                                 <td valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'recurEvery','errors')}">
    97                                     <input type="text" id="recurEvery" name="recurEvery" value="${fieldValue(bean:taskRecurringScheduleInstance,field:'recurEvery')}" />
     105                                <td valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'nextTargetCompletionDate','errors')}">
     106                                    <g:datePicker name="nextTargetCompletionDate" value="${taskRecurringScheduleInstance?.nextTargetCompletionDate}" ></g:datePicker>
     107                                </td>
     108                            </tr>
     109                       
     110                            <tr class="prop">
     111                                <td valign="top" class="name">
     112                                    <label for="nextTargetStartDate">Next Target Start Date:</label>
     113                                </td>
     114                                <td valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'nextTargetStartDate','errors')}">
     115                                    <g:datePicker name="nextTargetStartDate" value="${taskRecurringScheduleInstance?.nextTargetStartDate}" ></g:datePicker>
    98116                                </td>
    99117                            </tr>
     
    126144                            </tr>
    127145                       
     146                            <tr class="prop">
     147                                <td valign="top" class="name">
     148                                    <label for="taskDurationPeriod">Task Duration Period:</label>
     149                                </td>
     150                                <td valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'taskDurationPeriod','errors')}">
     151                                    <g:select optionKey="id" from="${Period.list()}" name="taskDurationPeriod.id" value="${taskRecurringScheduleInstance?.taskDurationPeriod?.id}" ></g:select>
     152                                </td>
     153                            </tr>
     154                       
    128155                        </tbody>
    129156                    </table>
  • trunk/grails-app/views/taskRecurringSchedule/edit.gsp

    r151 r157  
    99    <body>
    1010        <div class="nav">
    11             <span class="menuButton"><a class="home" href="${resource(dir:'')}">Home</a></span>
     11            <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span>
    1212            <span class="menuButton"><g:link class="list" action="list">TaskRecurringSchedule List</g:link></span>
    1313            <span class="menuButton"><g:link class="create" action="create">New TaskRecurringSchedule</g:link></span>
     
    3232                            <tr class="prop">
    3333                                <td valign="top" class="name">
     34                                    <label for="recurEvery">Recur Every:</label>
     35                                </td>
     36                                <td valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'recurEvery','errors')}">
     37                                    <input type="text" id="recurEvery" name="recurEvery" value="${fieldValue(bean:taskRecurringScheduleInstance,field:'recurEvery')}" />
     38                                </td>
     39                            </tr>
     40                       
     41                            <tr class="prop">
     42                                <td valign="top" class="name">
     43                                    <label for="taskDuration">Task Duration:</label>
     44                                </td>
     45                                <td valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'taskDuration','errors')}">
     46                                    <input type="text" id="taskDuration" name="taskDuration" value="${fieldValue(bean:taskRecurringScheduleInstance,field:'taskDuration')}" />
     47                                </td>
     48                            </tr>
     49                       
     50                            <tr class="prop">
     51                                <td valign="top" class="name">
     52                                    <label for="generateAhead">Generate Ahead:</label>
     53                                </td>
     54                                <td valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'generateAhead','errors')}">
     55                                    <input type="text" id="generateAhead" name="generateAhead" value="${fieldValue(bean:taskRecurringScheduleInstance,field:'generateAhead')}" />
     56                                </td>
     57                            </tr>
     58                       
     59                            <tr class="prop">
     60                                <td valign="top" class="name">
    3461                                    <label for="lastGeneratedDate">Last Generated Date:</label>
    3562                                </td>
     
    4572                                <td valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'lastGeneratedSubTask','errors')}">
    4673                                    <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="generateAhead">Generate Ahead:</label>
    53                                 </td>
    54                                 <td valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'generateAhead','errors')}">
    55                                     <input type="text" id="generateAhead" name="generateAhead" value="${fieldValue(bean:taskRecurringScheduleInstance,field:'generateAhead')}" />
    5674                                </td>
    5775                            </tr>
     
    7795                            <tr class="prop">
    7896                                <td valign="top" class="name">
    79                                     <label for="nextDueDate">Next Due Date:</label>
    80                                 </td>
    81                                 <td valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'nextDueDate','errors')}">
    82                                     <g:datePicker name="nextDueDate" value="${taskRecurringScheduleInstance?.nextDueDate}" ></g:datePicker>
    83                                 </td>
    84                             </tr>
    85                        
    86                             <tr class="prop">
    87                                 <td valign="top" class="name">
    8897                                    <label for="nextGenerationDate">Next Generation Date:</label>
    8998                                </td>
     
    95104                            <tr class="prop">
    96105                                <td valign="top" class="name">
    97                                     <label for="recurEvery">Recur Every:</label>
     106                                    <label for="nextTargetCompletionDate">Next Target Completion Date:</label>
    98107                                </td>
    99                                 <td valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'recurEvery','errors')}">
    100                                     <input type="text" id="recurEvery" name="recurEvery" value="${fieldValue(bean:taskRecurringScheduleInstance,field:'recurEvery')}" />
     108                                <td valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'nextTargetCompletionDate','errors')}">
     109                                    <g:datePicker name="nextTargetCompletionDate" value="${taskRecurringScheduleInstance?.nextTargetCompletionDate}" ></g:datePicker>
     110                                </td>
     111                            </tr>
     112                       
     113                            <tr class="prop">
     114                                <td valign="top" class="name">
     115                                    <label for="nextTargetStartDate">Next Target Start Date:</label>
     116                                </td>
     117                                <td valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'nextTargetStartDate','errors')}">
     118                                    <g:datePicker name="nextTargetStartDate" value="${taskRecurringScheduleInstance?.nextTargetStartDate}" ></g:datePicker>
    101119                                </td>
    102120                            </tr>
     
    129147                            </tr>
    130148                       
     149                            <tr class="prop">
     150                                <td valign="top" class="name">
     151                                    <label for="taskDurationPeriod">Task Duration Period:</label>
     152                                </td>
     153                                <td valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'taskDurationPeriod','errors')}">
     154                                    <g:select optionKey="id" from="${Period.list()}" name="taskDurationPeriod.id" value="${taskRecurringScheduleInstance?.taskDurationPeriod?.id}" ></g:select>
     155                                </td>
     156                            </tr>
     157                       
    131158                        </tbody>
    132159                    </table>
  • trunk/grails-app/views/taskRecurringSchedule/list.gsp

    r151 r157  
    99    <body>
    1010        <div class="nav">
    11             <span class="menuButton"><a class="home" href="${resource(dir:'')}">Home</a></span>
     11            <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span>
    1212            <span class="menuButton"><g:link class="create" action="create">New TaskRecurringSchedule</g:link></span>
    1313        </div>
     
    2424                                <g:sortableColumn property="id" title="Id" />
    2525                       
     26                                <g:sortableColumn property="recurEvery" title="Recur Every" />
     27                       
     28                                <g:sortableColumn property="taskDuration" title="Task Duration" />
     29                       
     30                                <g:sortableColumn property="generateAhead" title="Generate Ahead" />
     31                       
    2632                                <g:sortableColumn property="lastGeneratedDate" title="Last Generated Date" />
    2733                       
    2834                                <th>Last Generated Sub Task</th>
    2935                           
    30                                 <g:sortableColumn property="generateAhead" title="Generate Ahead" />
    31                        
    32                                 <th>Generate Ahead Period</th>
    33                            
    34                                 <g:sortableColumn property="isEnabled" title="Is Enabled" />
    35                        
    3636                        </tr>
    3737                    </thead>
     
    4242                            <td><g:link action="show" id="${taskRecurringScheduleInstance.id}">${fieldValue(bean:taskRecurringScheduleInstance, field:'id')}</g:link></td>
    4343                       
     44                            <td>${fieldValue(bean:taskRecurringScheduleInstance, field:'recurEvery')}</td>
     45                       
     46                            <td>${fieldValue(bean:taskRecurringScheduleInstance, field:'taskDuration')}</td>
     47                       
     48                            <td>${fieldValue(bean:taskRecurringScheduleInstance, field:'generateAhead')}</td>
     49                       
    4450                            <td>${fieldValue(bean:taskRecurringScheduleInstance, field:'lastGeneratedDate')}</td>
    4551                       
    4652                            <td>${fieldValue(bean:taskRecurringScheduleInstance, field:'lastGeneratedSubTask')}</td>
    47                        
    48                             <td>${fieldValue(bean:taskRecurringScheduleInstance, field:'generateAhead')}</td>
    49                        
    50                             <td>${fieldValue(bean:taskRecurringScheduleInstance, field:'generateAheadPeriod')}</td>
    51                        
    52                             <td>${fieldValue(bean:taskRecurringScheduleInstance, field:'isEnabled')}</td>
    5353                       
    5454                        </tr>
  • trunk/grails-app/views/taskRecurringSchedule/show.gsp

    r151 r157  
    99    <body>
    1010        <div class="nav">
    11             <span class="menuButton"><a class="home" href="${resource(dir:'')}">Home</a></span>
     11            <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span>
    1212            <span class="menuButton"><g:link class="list" action="list">TaskRecurringSchedule List</g:link></span>
    1313            <span class="menuButton"><g:link class="create" action="create">New TaskRecurringSchedule</g:link></span>
     
    3131                   
    3232                        <tr class="prop">
     33                            <td valign="top" class="name">Recur Every:</td>
     34                           
     35                            <td valign="top" class="value">${fieldValue(bean:taskRecurringScheduleInstance, field:'recurEvery')}</td>
     36                           
     37                        </tr>
     38                   
     39                        <tr class="prop">
     40                            <td valign="top" class="name">Task Duration:</td>
     41                           
     42                            <td valign="top" class="value">${fieldValue(bean:taskRecurringScheduleInstance, field:'taskDuration')}</td>
     43                           
     44                        </tr>
     45                   
     46                        <tr class="prop">
     47                            <td valign="top" class="name">Generate Ahead:</td>
     48                           
     49                            <td valign="top" class="value">${fieldValue(bean:taskRecurringScheduleInstance, field:'generateAhead')}</td>
     50                           
     51                        </tr>
     52                   
     53                        <tr class="prop">
    3354                            <td valign="top" class="name">Last Generated Date:</td>
    3455                           
     
    4162                           
    4263                            <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">Generate Ahead:</td>
    48                            
    49                             <td valign="top" class="value">${fieldValue(bean:taskRecurringScheduleInstance, field:'generateAhead')}</td>
    5064                           
    5165                        </tr>
     
    6680                   
    6781                        <tr class="prop">
    68                             <td valign="top" class="name">Next Due Date:</td>
    69                            
    70                             <td valign="top" class="value">${fieldValue(bean:taskRecurringScheduleInstance, field:'nextDueDate')}</td>
    71                            
    72                         </tr>
    73                    
    74                         <tr class="prop">
    7582                            <td valign="top" class="name">Next Generation Date:</td>
    7683                           
     
    8087                   
    8188                        <tr class="prop">
    82                             <td valign="top" class="name">Recur Every:</td>
     89                            <td valign="top" class="name">Next Target Completion Date:</td>
    8390                           
    84                             <td valign="top" class="value">${fieldValue(bean:taskRecurringScheduleInstance, field:'recurEvery')}</td>
     91                            <td valign="top" class="value">${fieldValue(bean:taskRecurringScheduleInstance, field:'nextTargetCompletionDate')}</td>
     92                           
     93                        </tr>
     94                   
     95                        <tr class="prop">
     96                            <td valign="top" class="name">Next Target Start Date:</td>
     97                           
     98                            <td valign="top" class="value">${fieldValue(bean:taskRecurringScheduleInstance, field:'nextTargetStartDate')}</td>
    8599                           
    86100                        </tr>
     
    107121                        </tr>
    108122                   
     123                        <tr class="prop">
     124                            <td valign="top" class="name">Task Duration Period:</td>
     125                           
     126                            <td valign="top" class="value"><g:link controller="period" action="show" id="${taskRecurringScheduleInstance?.taskDurationPeriod?.id}">${taskRecurringScheduleInstance?.taskDurationPeriod?.encodeAsHTML()}</g:link></td>
     127                           
     128                        </tr>
     129                   
    109130                    </tbody>
    110131                </table>
  • trunk/grails-app/views/taskRecurringScheduleDetailed/create.gsp

    r151 r157  
    55        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
    66        <meta name="layout" content="main" />
    7         <title>Create TaskRecurringSchedule</title>         
     7        <title>Create TaskRecurringSchedule</title>
     8        <resource:dateChooser />
    89    </head>
    910    <body>
    1011        <div class="nav">
    11             <span class="menuButton"><a class="home" href="${resource(dir:'')}">Home</a></span>
    12             <span class="menuButton"><g:link class="list" action="list">TaskRecurringSchedule List</g:link></span>
     12            <h1>Create Recurring Schedule</h1>
    1313        </div>
    1414        <div class="body">
    15             <h1>Create TaskRecurringSchedule</h1>
    1615            <g:if test="${flash.message}">
    1716            <div class="message">${flash.message}</div>
     
    4241                                </td>
    4342                                <td valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'startDate','errors')}">
    44                                     <g:datePicker name="startDate" value="${taskRecurringScheduleInstance?.startDate}"  precision="day"></g:datePicker>
     43                                    <richui:dateChooser name="startDate" format="dd-MM-yyyy" value="${taskRecurringScheduleInstance?.startDate}" />
    4544                                </td>
    4645                            </tr>   
  • trunk/grails-app/views/taskRecurringScheduleDetailed/edit.gsp

    r151 r157  
    66        <meta name="layout" content="main" />
    77        <title>Edit TaskRecurringSchedule</title>
     8        <resource:dateChooser />
    89    </head>
    910    <body>
    1011        <div class="nav">
    11             <span class="menuButton"><a class="home" href="${resource(dir:'')}">Home</a></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>
     12            <h1>Edit Recurring Schedule</h1>
    1413        </div>
    1514        <div class="body">
    16             <h1>Edit TaskRecurringSchedule</h1>
    1715            <g:if test="${flash.message}">
    1816            <div class="message">${flash.message}</div>
     
    4442                                </td>
    4543                                <td valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'startDate','errors')}">
    46                                     <g:datePicker name="startDate" value="${taskRecurringScheduleInstance?.startDate}"  precision="day"></g:datePicker>
     44                                    <richui:dateChooser name="startDate" format="dd-MM-yyyy" value="${taskRecurringScheduleInstance?.startDate}" />
    4745                                </td>
    4846                            </tr>   
  • trunk/grails-app/views/taskRecurringScheduleDetailed/show.gsp

    r151 r157  
    99    <body>
    1010        <div class="nav">
    11             <span class="menuButton"><a class="home" href="${resource(dir:'')}">Home</a></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>
     11            <h1>Show Recurring Schedule</h1>
    1412        </div>
    1513        <div class="body">
    16             <h1>Show TaskRecurringSchedule</h1>
    1714            <g:if test="${flash.message}">
    1815            <div class="message">${flash.message}</div>
Note: See TracChangeset for help on using the changeset viewer.