Changeset 822 for trunk/grails-app
- Timestamp:
- Feb 24, 2011, 8:07:35 AM (14 years ago)
- Location:
- trunk/grails-app
- Files:
-
- 5 added
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/grails-app/controllers/EntryDetailedController.groovy
r482 r822 92 92 } 93 93 94 def createMaintenanceAction = { 95 96 // if(!params.taskInstance?.id || !params.entryType?.id) { 97 // flash.message = g.message(code:"entry.create.no.params") 98 // redirect(controller:"taskDetailed", action:"search") 99 // return 100 // } 101 102 def taskInstance = Task.read(params.taskInstance.id) 103 println taskInstance 104 render "Done" 105 } 106 94 107 def create = { 95 108 if(!params.taskInstance?.id || !params.entryType?.id) { -
trunk/grails-app/views/taskDetailed/show.gsp
r809 r822 96 96 <richui:tabContents> 97 97 98 <!-- Start Task tab -->99 98 <richui:tabContent> 99 <g:render template="showTaskTab" /> 100 </richui:tabContent> 100 101 101 <div class="dialog">102 <table>103 <tbody>102 <richui:tabContent> 103 <g:render template="showProcedureTab" /> 104 </richui:tabContent> 104 105 105 <g:if test="${taskInstance.parentTask}">106 <tr class="prop">107 <td valign="top" class="name">Parent Task:</td>106 <richui:tabContent> 107 <g:render template="showRecurrenceTab" /> 108 </richui:tabContent> 108 109 109 <td valign="top" class="value"> 110 <g:link controller="taskDetailed" action="show" id="${taskInstance.parentTask.id}"> 111 ${taskInstance.parentTask.encodeAsHTML()} 112 </g:link> 113 </td> 110 <richui:tabContent> 111 <g:render template="showInventoryTab" /> 112 </richui:tabContent> 114 113 115 </tr> 116 </g:if> 117 118 <tr class="prop"> 119 <td valign="top" class="name">Comment:</td> 120 121 <td valign="top" class="value">${fieldValue(bean:taskInstance, field:'comment')}</td> 122 123 </tr> 124 125 <tr class="prop"> 126 <td valign="top" class="name">Target Start:</td> 127 128 <td valign="top" class="value"> 129 <g:formatDate date="${taskInstance.targetStartDate}" format="EEE, dd-MMM-yyyy"/> 130 </td> 131 132 </tr> 133 134 <tr class="prop"> 135 <td valign="top" class="name">Target Completion:</td> 136 137 <td valign="top" class="value"> 138 <g:formatDate date="${taskInstance.targetCompletionDate}" format="EEE, dd-MMM-yyyy"/> 139 </td> 140 141 </tr> 142 143 <tr class="prop"> 144 <td valign="top" class="name"> 145 146 <jsUtil:toggleControl toggleId="modifications" 147 imageId="modificationsImg" 148 closedImgUrl="${resource(dir:'images/skin',file:'bullet_toggle_plus.png')}" 149 openImgUrl="${resource(dir:'images/skin',file:'bullet_toggle_minus.png')}" 150 effect="fade" 151 text="Modifications" 152 /> 153 </td> 154 155 <td valign="top" style="text-align:left;" class="value"> 156 <div id="modifications" style="display:none;"> 157 <ul> 158 <g:each var="a" in="${taskModificationList}"> 159 <li>${a?.encodeAsHTML()}</li> 160 </g:each> 161 </ul> 162 </div> 163 </td> 164 </tr> 165 166 <tr class="prop"> 167 <td valign="top" class="name">Primary Asset:</td> 168 169 <td valign="top" class="value"><g:link controller="assetDetailed" action="show" id="${taskInstance?.primaryAsset?.id}">${taskInstance?.primaryAsset?.encodeAsHTML()}</g:link></td> 170 171 </tr> 172 173 <tr class="prop"> 174 <td valign="top" class="name">Associated Assets:</td> 175 176 <td valign="top" style="text-align:left;" class="value"> 177 <ul> 178 <g:each var="a" in="${taskInstance.associatedAssets}"> 179 <li>${a?.encodeAsHTML()}</li> 180 </g:each> 181 </ul> 182 </td> 183 184 </tr> 185 186 <tr class="prop"> 187 <td valign="top" class="name">Priority:</td> 188 189 <td valign="top" class="value">${taskInstance?.taskPriority?.encodeAsHTML()}</td> 190 191 </tr> 192 193 <tr class="prop"> 194 <td valign="top" class="name">Positive Fault:</td> 195 196 <td valign="top" class="value">${fieldValue(bean:taskInstance, field:'positiveFault')}</td> 197 198 </tr> 199 200 <tr class="prop"> 201 <td valign="top" class="name">Group:</td> 202 203 <td valign="top" class="value">${taskInstance?.taskGroup?.encodeAsHTML()}</td> 204 205 </tr> 206 207 <tr class="prop"> 208 <td valign="top" class="name">Type:</td> 209 210 <td valign="top" class="value">${taskInstance?.taskType?.encodeAsHTML()}</td> 211 212 </tr> 213 214 <tr class="prop"> 215 <td valign="top" class="name">Lead Person:</td> 216 217 <td valign="top" class="value">${taskInstance?.leadPerson?.encodeAsHTML()}</td> 218 219 </tr> 220 221 <tr class="prop"> 222 <td valign="top" class="name">Assigned Groups:</td> 223 224 <td valign="top" style="text-align:left;" class="value"> 225 <ul> 226 <g:each var="a" in="${assignedGroupList}"> 227 <li><g:link controller="assignedGroupDetailed" action="edit" id="${a.id}" params="['task.id':taskInstance.id]">${a?.encodeAsHTML()}</g:link></li> 228 </g:each> 229 </ul> 230 <g:link controller="assignedGroupDetailed" action="create" params="['task.id':taskInstance.id]">+Add Group</g:link> 231 </td> 232 233 </tr> 234 235 236 <tr class="prop"> 237 <td valign="top" class="name">Assigned Persons:</td> 238 239 <td valign="top" style="text-align:left;" class="value"> 240 <ul> 241 <g:each var="a" in="${assignedPersonList}"> 242 <li><g:link controller="assignedPersonDetailed" action="edit" id="${a.id}" params="['task.id':taskInstance.id]">${a?.encodeAsHTML()}</g:link></li> 243 </g:each> 244 </ul> 245 <g:link controller="assignedPersonDetailed" action="create" params="['task.id':taskInstance?.id]">+Add Person</g:link> 246 </td> 247 248 </tr> 249 250 </tbody> 251 </table> 252 </div> 253 254 <div class="buttons"> 255 <g:form> 256 <input type="hidden" name="id" value="${taskInstance?.id}" /> 257 258 <g:if test="${taskInstance.trash}" > 259 <span class="button"><g:actionSubmit class="restore" onclick="return confirm('Are you sure?');" value="Restore"/></span> 260 </g:if> 261 <g:else> 262 263 <g:if test="${taskInstance.taskStatus.id != 3}" > 264 265 <g:if test="${taskInstance.attentionFlag}" > 266 <span class="button"><g:actionSubmit class="flag" value="Clear" action="clearAttentionFlag"/></span> 267 </g:if> 268 <g:else> 269 <span class="button"><g:actionSubmit class="flag" value="Unresolved" action="setAttentionFlag"/></span> 270 <g:helpBalloon class="helpballoon" code="task.status.unresolved" /> 271 </g:else> 272 273 <span class="button"> 274 <g:if test="${taskInstance.attentionFlag}" > 275 <g:actionSubmit class="complete" 276 value="Resolved" 277 onclick="return confirm('${message(code:'task.clear.attention.flag.on.completion.confirm')}');" 278 action="complete"/> 279 </g:if> 280 <g:else> 281 <g:actionSubmit class="complete" value="Resolved" action="complete"/> 282 </g:else> 283 </span> 284 <g:helpBalloon class="helpballoon" code="task.status.resolved" /> 285 286 <g:if test="${taskInstance.approved}" > 287 <span class="button"><g:actionSubmit class="renegeApproval" value="Renege Approval" action="renegeApproval" /></span> 288 </g:if> 289 <g:else> 290 <span class="button"><g:actionSubmit class="approve" value="Approve" /></span> 291 </g:else> 292 293 <span class="button"><g:actionSubmit class="edit" value="Edit" /></span> 294 <span class="button"> 295 <g:actionSubmit class="trash" 296 onclick="return confirm('${message(code:'task.trash.confirm')}');" 297 value="Trash" /> 298 </span> 299 300 </g:if> 301 <g:else> 302 <span class="button"><g:actionSubmit class="reopen" value="Reopen" /></span> 303 </g:else> 304 305 </g:else> 306 </g:form> 307 </div> 308 309 <br /> 310 311 <g:if test="${entryFaultList.isEmpty()}"> 312 <h1>No Faults</h1> 313 <br /> 314 </g:if> 315 <g:else> 316 <div class="list"> 317 <h1>Faults</h1> 318 <table> 319 <thead> 320 <tr> 321 <th>Comment</th> 322 <th>Date</th> 323 <th>Production</th> 324 <th>Down Time</th> 325 <th>Entered By</th> 326 <th></th> 327 </tr> 328 </thead> 329 <tbody> 330 <g:each in="${entryFaultList}" status="i" var="entry"> 331 <tr class="${(i % 2) == 0 ? 'clickableOdd' : 'clickableEven'}"/> 332 333 <td style="width:65%" onclick='window.location = "${request.getContextPath()}/entryDetailed/edit/${entry.id}"'> 334 ${entry.comment.encodeAsHTML()} 335 </td> 336 337 <td onclick='window.location = "${request.getContextPath()}/entryDetailed/edit/${entry.id}"'> 338 <g:formatDate date="${entry.dateDone}" format="EEE, dd-MMM-yyyy"/> 339 </td> 340 341 <td onclick='window.location = "${request.getContextPath()}/entryDetailed/edit/${entry.id}"'> 342 <g:if test="${entry.productionReference}"> 343 ${entry.productionReference.encodeAsHTML()} 344 </g:if> 345 <g:else> 346 <g:message code="default.none.text" /> 347 </g:else> 348 </td> 349 350 <td onclick='window.location = "${request.getContextPath()}/entryDetailed/edit/${entry.id}"'> 351 ${entry.durationHour}:${entry.durationMinute} 352 </td> 353 354 <td onclick='window.location = "${request.getContextPath()}/entryDetailed/edit/${entry.id}"'> 355 ${entry.enteredBy.encodeAsHTML()} 356 </td> 357 358 <td class="notClickable"> 359 <g:link controller="entryDetailed" action="edit" id="${entry.id}"> 360 <img src="${resource(dir:'images/skin',file:'database_edit.png')}" alt="Edit" title="Edit" /> 361 </g:link> 362 </td> 363 364 </tr> 365 </g:each> 366 </tbody> 367 </table> 368 </div> 369 </g:else> 370 371 <div class="buttons"> 372 <g:form controller="entryDetailed"> 373 <g:hiddenField name="taskInstance.id" value="${taskInstance?.id}" /> 374 <g:hiddenField name="entryType.id" value="1" /> 375 <span class="button"> 376 <g:actionSubmit value="Add Fault" action="create" class="add"/> 377 </span> 378 </g:form> 379 </div> 380 381 <br /> 382 383 <g:if test="${entryCauseList.isEmpty()}"> 384 <h1>No Causes</h1> 385 <br /> 386 </g:if> 387 <g:else> 388 <div class="list"> 389 <h1>Causes</h1> 390 <table> 391 <thead> 392 <tr> 393 <th>Comment</th> 394 <th>Date Done</th> 395 <th>Entered By</th> 396 <th></th> 397 </tr> 398 </thead> 399 <tbody> 400 <g:each in="${entryCauseList}" status="i" var="entry"> 401 <tr class="${(i % 2) == 0 ? 'clickableOdd' : 'clickableEven'}"/> 402 403 <td style="width:65%" onclick='window.location = "${request.getContextPath()}/entryDetailed/edit/${entry.id}"'> 404 ${entry.comment.encodeAsHTML()} 405 </td> 406 407 <td onclick='window.location = "${request.getContextPath()}/entryDetailed/edit/${entry.id}"'> 408 <g:formatDate date="${entry.dateDone}" format="EEE, dd-MMM-yyyy"/> 409 </td> 410 411 <td onclick='window.location = "${request.getContextPath()}/entryDetailed/edit/${entry.id}"'> 412 ${entry.enteredBy.encodeAsHTML()} 413 </td> 414 415 <td class="notClickable"> 416 <g:link controller="entryDetailed" action="edit" id="${entry.id}"> 417 <img src="${resource(dir:'images/skin',file:'database_edit.png')}" alt="Edit" title="Edit" /> 418 </g:link> 419 </td> 420 421 </tr> 422 </g:each> 423 </tbody> 424 </table> 425 </div> 426 </g:else> 427 428 <div class="buttons"> 429 <g:form controller="entryDetailed"> 430 <g:hiddenField name="taskInstance.id" value="${taskInstance?.id}" /> 431 <g:hiddenField name="entryType.id" value="2" /> 432 <span class="button"> 433 <g:actionSubmit value="Add Cause" action="create" class="add"/> 434 </span> 435 </g:form> 436 </div> 437 438 <br /> 439 440 <g:if test="${entryWorkDoneList.isEmpty()}"> 441 <h1>No Work Done</h1> 442 <br /> 443 </g:if> 444 <g:else> 445 <div class="list"> 446 <h1>Work Done</h1> 447 <table> 448 <thead> 449 <tr> 450 <th>Comment</th> 451 <th>Date Done</th> 452 <th>Duration</th> 453 <th>Entered By</th> 454 <th></th> 455 </tr> 456 </thead> 457 <tbody> 458 <g:each in="${entryWorkDoneList}" status="i" var="entry"> 459 <tr class="${(i % 2) == 0 ? 'clickableOdd' : 'clickableEven'}"/> 460 461 <td width="65%" onclick='window.location = "${request.getContextPath()}/entryDetailed/edit/${entry.id}"'> 462 ${entry.comment.encodeAsHTML()} 463 </td> 464 465 <td onclick='window.location = "${request.getContextPath()}/entryDetailed/edit/${entry.id}"'> 466 <g:formatDate date="${entry.dateDone}" format="EEE, dd-MMM-yyyy"/> 467 </td> 468 469 <td onclick='window.location = "${request.getContextPath()}/entryDetailed/edit/${entry.id}"'> 470 ${entry.durationHour}:${entry.durationMinute} 471 </td> 472 473 <td onclick='window.location = "${request.getContextPath()}/entryDetailed/edit/${entry.id}"'> 474 ${entry.enteredBy.encodeAsHTML()} 475 </td> 476 477 <td class="notClickable"> 478 <g:link controller="entryDetailed" action="edit" id="${entry.id}"> 479 <img src="${resource(dir:'images/skin',file:'database_edit.png')}" alt="Edit" title="Edit" /> 480 </g:link> 481 </td> 482 483 </tr> 484 </g:each> 485 </tbody> 486 </table> 487 </div> 488 </g:else> 489 490 <div class="buttons"> 491 <g:form controller="entryDetailed"> 492 <g:hiddenField name="taskInstance.id" value="${taskInstance?.id}" /> 493 <g:hiddenField name="entryType.id" value="3" /> 494 <span class="button"> 495 <g:actionSubmit value="Add Work Done" action="create" class="add"/> 496 </span> 497 </g:form> 498 </div> 114 <richui:tabContent> 115 <g:render template="showSubTaskTab" /> 499 116 </richui:tabContent> 500 <!-- End Task tab -->501 502 503 <!-- Start Task Procedure tab-->504 <richui:tabContent>505 <g:if test="${!taskProcedureExits}">506 <br />507 No Procedure linked.508 <br />509 <br />510 <g:form controller="taskProcedureDetailed" >511 <g:hiddenField name="taskInstance.id" value="${taskInstance?.id}" />512 513 <div class="buttons">514 <span class="button">515 <g:actionSubmit value="New" action="create" class="add"/>516 </span>517 <span class="button">518 <g:actionSubmit value="Search" action="search" class="search"/>519 </span>520 </div>521 522 </g:form>523 524 </g:if>525 <g:else>526 <g:render template="/taskProcedureDetailed/taskProcedureRevision"527 model="['taskProcedureRevision':taskProcedureRevision]" />528 </g:else>529 530 </richui:tabContent>531 <!-- End Task Procedure tab-->532 533 <!-- Start Task Recurrence tab -->534 <richui:tabContent>535 536 <g:if test="${!taskRecurringScheduleExits}">537 <br />538 No Recurring Schedule.539 <br />540 <br />541 <g:form controller="taskRecurringScheduleDetailed" >542 <g:hiddenField name="task.id" value="${taskInstance.id}" />543 544 <div class="buttons">545 <span class="button">546 <g:actionSubmit value="Add" action="create" class="add" />547 </span>548 </div>549 550 </g:form>551 552 </g:if>553 <g:else>554 555 <div class="dialog">556 <table>557 <tbody>558 <tr class="prop">559 <td valign="top" class="name">Recurring Schedule:</td>560 561 <td valign="top" class="value">${taskRecurringScheduleInstance.encodeAsHTML()}</td>562 </tr>563 564 <tr class="prop">565 <td valign="top" class="name">Enabled:</td>566 567 <td valign="top" class="value">${fieldValue(bean:taskRecurringScheduleInstance, field:'enabled')}</td>568 </tr>569 570 <tr class="prop">571 <td valign="top" class="name">Next Generation Date:</td>572 573 <td valign="top" class="value">574 <g:formatDate date="${taskRecurringScheduleInstance.nextGenerationDate}" format="EEE, dd-MMM-yyyy"/>575 </td>576 </tr>577 578 <tr class="prop">579 <td valign="top" class="name">Generate Ahead:</td>580 581 <td valign="top" class="value">582 ${taskRecurringScheduleInstance?.generateAhead} ${Period.get(1).encodeAsHTML()}583 </td>584 </tr>585 586 <tr class="prop">587 <td valign="top" class="name">Next Target Start Date:</td>588 589 <td valign="top" class="value">590 <g:formatDate date="${taskRecurringScheduleInstance.nextTargetStartDate}" format="EEE, dd-MMM-yyyy"/>591 </td>592 </tr>593 594 <tr class="prop">595 <td valign="top" class="name">Task Duration:</td>596 597 <td valign="top" class="value">598 ${taskRecurringScheduleInstance?.taskDuration} ${taskRecurringScheduleInstance?.taskDurationPeriod}599 </td>600 </tr>601 602 <tr class="prop">603 <td valign="top" class="name">Next Target Completion Date:</td>604 605 <td valign="top" class="value">606 <g:formatDate date="${taskRecurringScheduleInstance.nextTargetCompletionDate}" format="EEE, dd-MMM-yyyy"/>607 </td>608 </tr>609 610 </tbody>611 </table>612 </div>613 <div class="buttons">614 <g:form controller="taskRecurringScheduleDetailed">615 <input type="hidden" name="id" value="${taskRecurringScheduleInstance?.id}" />616 <span class="button"><g:actionSubmit class="edit" value="Edit" /></span>617 <span class="button"><g:actionSubmit class="go" value="Show" /></span>618 </g:form>619 </div>620 621 </g:else>622 </richui:tabContent>623 <!-- End Task Recurrence tab -->624 625 <!-- Start Inventory tab -->626 <richui:tabContent>627 628 <g:if test="${inventoryMovementList.isEmpty()}">629 <br />630 No Inventory Movements.631 <br />632 <br />633 </g:if>634 <g:else>635 <div class="list">636 <table>637 <thead>638 <tr>639 <th>Inventory Item</th>640 <th>Quantity</th>641 <th>Movement Type</th>642 <th>Date</th>643 <th></th>644 </tr>645 </thead>646 <tbody>647 <g:each in="${inventoryMovementList}" status="i" var="inventoryMovementInstance">648 <tr class="${(i % 2) == 0 ? 'clickableOdd' : 'clickableEven'}"/>649 650 <td onclick='window.location = "${request.getContextPath()}/inventoryMovementDetailed/show/${inventoryMovementInstance.id}"'>651 ${fieldValue(bean:inventoryMovementInstance, field:'inventoryItem')}652 </td>653 654 <td onclick='window.location = "${request.getContextPath()}/inventoryMovementDetailed/show/${inventoryMovementInstance.id}"'>655 ${fieldValue(bean:inventoryMovementInstance, field:'quantity')}656 </td>657 658 <td onclick='window.location = "${request.getContextPath()}/inventoryMovementDetailed/show/${inventoryMovementInstance.id}"'>659 ${fieldValue(bean:inventoryMovementInstance, field:'inventoryMovementType')}660 </td>661 662 <td onclick='window.location = "${request.getContextPath()}/inventoryMovementDetailed/show/${inventoryMovementInstance.id}"'>663 <g:formatDate date="${inventoryMovementInstance.date}" format="EEE, dd-MMM-yyyy"/>664 </td>665 666 <td class="notClickable">667 <g:link controller="inventoryMovementDetailed" action="show" id="${inventoryMovementInstance.id}">668 <img src="${resource(dir:'images/skin',file:'database_go.png')}" alt="Show" title="Show" />669 </g:link>670 </td>671 672 </tr>673 </g:each>674 </tbody>675 </table>676 </div>677 </g:else>678 679 <g:form controller="inventoryItemDetailed" >680 <g:hiddenField name="task.id" value="${taskInstance?.id}" />681 <div class="buttons">682 <g:if test="${!inventoryMovementList.isEmpty()}">683 Results: ${inventoryMovementList.size()}684 <br />685 </g:if>686 <span class="button">687 <g:actionSubmit action="findInventoryItemForMovement" class="add" value="Add" />688 </span>689 </div>690 </g:form>691 692 </richui:tabContent>693 <!-- End Inventory tab -->694 695 <!-- Start Sub Task tab -->696 <richui:tabContent>697 <g:if test="${subTaskInstanceTotal > 0}">698 <div class="list">699 <table>700 <thead>701 <tr>702 703 <th>Id</th>704 705 <th>Target Start Date</th>706 707 <th>Description</th>708 709 <th>Lead Person</th>710 711 <th>Task Priority</th>712 713 <th>Task Status</th>714 715 <th></th>716 717 </tr>718 </thead>719 <tbody>720 <g:each in="${subTaskInstanceList}" status="i" var="subTaskInstance">721 <tr class="${(i % 2) == 0 ? 'clickableOdd' : 'clickableEven'}"/>722 723 <td onclick='window.location = "${request.getContextPath()}/taskDetailed/show/${subTaskInstance.id}"'>724 ${fieldValue(bean:subTaskInstance, field:'id')}725 </td>726 727 <td onclick='window.location = "${request.getContextPath()}/taskDetailed/show/${subTaskInstance.id}"'>728 <g:formatDate date="${subTaskInstance.targetStartDate}" format="EEE, dd-MMM-yyyy"/>729 </td>730 731 <td onclick='window.location = "${request.getContextPath()}/taskDetailed/show/${subTaskInstance.id}"'>732 ${fieldValue(bean:subTaskInstance, field:'description')}733 </td>734 735 736 <td onclick='window.location = "${request.getContextPath()}/taskDetailed/show/${subTaskInstance.id}"'>737 ${fieldValue(bean:subTaskInstance, field:'leadPerson')}738 </td>739 740 <td onclick='window.location = "${request.getContextPath()}/taskDetailed/show/${subTaskInstance.id}"'>741 ${fieldValue(bean:subTaskInstance, field:'taskPriority')}742 </td>743 744 <td onclick='window.location = "${request.getContextPath()}/taskDetailed/show/${subTaskInstance.id}"'>745 ${fieldValue(bean:subTaskInstance, field:'taskStatus')}746 </td>747 748 <td class="notClickable">749 <g:link action="show" id="${subTaskInstance.id}">750 <img src="${resource(dir:'images/skin',file:'database_go.png')}" alt="Show" title="Show" />751 </g:link>752 </td>753 754 </tr>755 </g:each>756 </tbody>757 </table>758 </div>759 760 <div class="buttons">761 <g:form>762 <g:hiddenField name="id" value="${taskInstance?.id}" />763 <g:if test="${subTaskInstanceTotal > subTaskInstanceMax}">764 Showing ${subTaskInstanceMax} of ${subTaskInstanceTotal}765 <br />766 </g:if>767 <g:else>768 Total ${subTaskInstanceTotal}769 <br />770 </g:else>771 <span class="button"><g:actionSubmit action="listSubTasks" class="table" value="List" /></span>772 <span class="button"><g:actionSubmit action="createSubTask" class="save" value="Create" onclick="return confirm('${g.message(code: 'sub.task.create.confirm')}');" /></span>773 </g:form>774 </div>775 776 </g:if>777 <g:else>778 <br />779 No Sub Tasks.780 <br />781 <br />782 783 <div class="buttons">784 <g:form>785 <g:hiddenField name="id" value="${taskInstance?.id}" />786 <span class="button"><g:actionSubmit action="createSubTask" class="save" value="Create" onclick="return confirm('${g.message(code: 'sub.task.create.confirm')}');" /></span>787 </g:form>788 </div>789 </g:else>790 791 </richui:tabContent>792 <!-- End Sub Task tab -->793 117 794 118 </richui:tabContents>
Note: See TracChangeset
for help on using the changeset viewer.