source: trunk/grails-app/views/person/list.gsp @ 446

Last change on this file since 446 was 440, checked in by gav, 15 years ago

Add Person import feature.
Commit has a small amount of cross over code to the commits will follow.

File size: 4.8 KB
RevLine 
[59]1<head>
[147]2    <meta name="layout" content="main" />
3    <title>Person List</title>
4    <filterpane:includes />
5    <nav:resources override="true"/>
[59]6</head>
7
8<body>
9
[147]10    <div class="nav">
11        <nav:renderSubItems group="navAlt"/>
12    </div>
[59]13
[147]14    <div class="body">
15        <g:if test="${flash.message}">
16        <div class="message">${flash.message}</div>
17        </g:if>
18        <filterpane:currentCriteria domainBean="Person"
19                                action="list"
20                                dateFormat="${'EEE, dd-MMM-yyyy'}"
21                                removeImgDir="images"
22                                removeImgFile="bullet_delete.png"
23                                title="Search"/>
[155]24
25        <div class="paginateButtons">
[221]26            <span class="searchButtons">
27                <filterpane:filterButton text="Search" appliedText="Change Search" />
28            </span>
[155]29            Results:${personTotal}
30        </div>
31
[440]32        <jsUtil:toggleControl toggleId="options"
33                                                imageId="optionsImg"
34                                                closedImgUrl="${resource(dir:'images/skin',file:'bullet_arrow_right.png')}"
35                                                openImgUrl="${resource(dir:'images/skin',file:'bullet_arrow_down.png')}"
36                                                text="${g.message(code: 'default.options.text')}"
37                                                />
38
39        <div id="options" style="display:none;">
40            <g:form method="post" >
41                <g:hiddenField name="params" value="${filterParams}" />
42                <div class="dialog">
43                    <table>
44                        <tbody>
45
46                            <tr class="prop">
47                                <td valign="top" class="name">
48                                    <label for="max">Persons:</label>
49                                </td>
50                                <td valign="top" class="value">
51                                    <g:link action="exportPersonsTemplate">
52                                        Template
53                                    </g:link>
54                                    /
55                                    <g:link action="importPersons">
56                                        Import
57                                    </g:link>
58                                </td>
59                            </tr>
60
61                        </tbody>
62                    </table>
63                </div>
64            </g:form>
65        </div>
66
67        <br />
68
[147]69        <div class="list">
70            <table>
71            <thead>
72                <tr>
73                    <g:sortableColumn property="id" title="Id" params="${filterParams}" />
74                    <g:sortableColumn property="loginName" title="Login Name" params="${filterParams}" />
75                    <g:sortableColumn property="firstName" title="First Name" params="${filterParams}" />
76                    <g:sortableColumn property="lastName" title="Last Name" params="${filterParams}" />
[250]77                    <g:sortableColumn property="isActive" title="Active" params="${filterParams}" />
[147]78                    <th></th>
79                </tr>
80            </thead>
81            <tbody>
82            <g:each in="${personList}" status="i" var="person">
83                <tr class="${(i % 2) == 0 ? 'clickableOdd' : 'clickableEven'}" onclick='window.location = "${request.getContextPath()}/person/show/${person.id}"'/>
84
85                    <td>${person.id}</td>
86                    <td>${person.loginName?.encodeAsHTML()}</td>
87                    <td>${person.firstName?.encodeAsHTML()}</td>
[59]88                    <td>${person.lastName?.encodeAsHTML()}</td>
[147]89                    <td>${person.isActive?.encodeAsHTML()}</td>
90                    <td>
91                        <g:link action="show" id="${person.id}">
[151]92                            <img  src="${resource(dir:'images/skin',file:'database_go.png')}" alt="Show" />
[147]93                        </g:link>
[59]94                    </td>
[147]95                </tr>
96            </g:each>
97            </tbody>
98            </table>
99        </div>
[59]100
[147]101        <div class="paginateButtons">
102            <g:paginate total="${personTotal}" params="${filterParams}" />
103        </div>
[59]104
[147]105        <filterpane:filterPane domainBean="Person"
106                                title="Search"
107                                action="list"
[155]108                                class="overlayPane"
[399]109                                excludeProperties="password, sessionTimeout"
[147]110                                associatedProperties="authorities.authority, personGroups.name"
111                                    filterPropertyValues="${['personGroups.name':[values:PersonGroup.list()],
112                                                                                'authorities.authority':[values:Authority.list()]]}" />
113
114
[156]115    </div> <!-- end body div -->
[59]116</body>
Note: See TracBrowser for help on using the repository browser.