source: trunk/grails-app/views/taskDetailed/searchCalendar.gsp @ 523

Last change on this file since 523 was 476, checked in by gav, 15 years ago

Improve task search and calendar logic.
Move task quick search links to a template.
Set targetCompletionDate when creating task from calendar.
Remove task budget action and view, functionality moved to task search.
Customise calendar css.

File size: 6.5 KB
Line 
1<html>
2    <head>
3        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
4        <meta name="layout" content="main" />
5        <title>Task Search Calendar</title>
6        <filterpane:includes />
7        <nav:resources override="true"/>
8        <resource:calendarMonthView  skin="calendarmonthviewCustom"/>
9        <export:resource />
10    </head>
11    <body>
12        <div class="nav">
13            <nav:renderSubItems group="nav"/>
14        </div>
15
16        <div class="body">
17            <g:render template="/shared/messages" />
18
19            <filterpane:currentCriteria domainBean="Task"
20                                    action="searchCalendar"
21                                    dateFormat="EEE, dd-MMM-yyyy"
22                                    removeImgDir="images"
23                                    removeImgFile="bullet_delete.png"
24                                    title="Advanced Search"/>
25
26
27            <div class="paginateButtons">
28                <span class="searchButtons">
29                    <a href='' onclick="showElement('searchPane'); return false;">Quick</a>
30                </span>
31                Results: ${taskInstanceList.size()} / ${taskInstanceTotal}
32                <span class="searchButtons">
33                    <filterpane:filterButton text="Advanced" appliedText="Advanced" />
34                </span>
35            </div>
36
37            <jsUtil:toggleControl toggleId="options"
38                                                    imageId="optionsImg"
39                                                    closedImgUrl="${resource(dir:'images/skin',file:'bullet_arrow_right.png')}"
40                                                    openImgUrl="${resource(dir:'images/skin',file:'bullet_arrow_down.png')}"
41                                                    text="${g.message(code: 'default.options.text')}"
42                                                    />
43
44            <div id="options" style="display:none;">
45                <g:form method="post" >
46                    <g:hiddenField name="params" value="${filterParams}" />
47                    <div class="dialog">
48                        <table>
49                            <tbody>
50
51                                <tr class="prop">
52                                    <td valign="top" class="name">
53                                        <label for="max">Results per page:</label>
54                                    </td>
55                                    <td valign="top" class="value">
56                                        <input type="text" maxlength="4" id="description" name="newMax" value="${params.max}"/>
57
58                                        <span class="buttons">
59                                            <g:actionSubmit action="setSearchCalendarParamsMax" class="go" value="Update" />
60                                        </span>
61                                    </td>
62                                </tr>
63
64                            </tbody>
65                        </table>
66                    </div>
67                <export:formats  params="${filterParams}" formats="['csv', 'excel', 'pdf', 'rtf']"/>
68                </g:form>
69            </div>
70
71            <br />
72
73            <g:if test="${taskInstanceList.size() > 0}">
74                    <div class="paginateButtons">
75                        <g:link action="searchCalendar"
76                                        params="[showMonth: previousYear.month, showYear: previousYear.year]">
77                            &lt;&lt;
78                        </g:link>
79                        <g:link action="searchCalendar"
80                                        params="[showMonth: previousMonth.month, showYear: previousMonth.year]">
81                            &lt;
82                        </g:link>
83                        <span class="calendarMonthControlTitle">
84                            <g:formatDate date="${showDate}" format="MMMM, yyyy"/>
85                        </span>
86                        <g:link action="searchCalendar"
87                                        params="[showMonth: nextMonth.month, showYear: nextMonth.year]">
88                            &gt;
89                        </g:link>
90                        <g:link action="searchCalendar"
91                                        params="[showMonth: nextYear.month, showYear: nextYear.year]">
92                            &gt;&gt;
93                        </g:link>
94                    </div>
95                    <div>
96                        <g:link action="searchCalendar"
97                                        params="[showMonth: today.month, showYear: today.year]">
98                            Today: <g:formatDate date="${today.date}" format="MMMM, yyyy"/>
99                        </g:link>
100                    </div>
101                    <br />
102
103                <richui:calendarMonthView items="${taskInstanceList}"
104                                                                        createLink="true"
105                                                                        constraintDateFields="['targetStartDate']"
106                                                                        month="${showDate}"
107                                                                        controller="taskDetailed"
108                                                                        action="show"
109                                                                        dayAction="create"/>
110            </g:if>
111
112            <filterpane:filterPane domainBean="Task"
113                                    title="Advanced Search"
114                                    action="searchCalendar"
115                                    class="overlayPane"
116                                    additionalProperties="id"
117                                    excludeProperties="trash, comment, targetCompletionDate"
118                                    associatedProperties="leadPerson.lastName, leadPerson.firstName, taskPriority.name"
119                                    filterPropertyValues="${['taskPriority.name':[values:TaskPriority.list()],
120                                                                                'leadPerson.lastName':[values:Person.executeQuery('select t.lastName from Person t')],
121                                                                                'leadPerson.firstName':[values:Person.executeQuery('select distinct t.firstName from Person t')],
122                                                                                targetStartDate:[years:2020..2000,precision:'day']]}"/>
123
124            <g:render template="quickSearchPane" />
125
126        </div> <!-- end body div -->
127    </body>
128</html>
Note: See TracBrowser for help on using the repository browser.