1 <tal:block metal:use-macro="templates/help/macros/frame">
2 <tal:block tal:define="property request/form/property/value;
3 qs request/env/QUERY_STRING;
4 qs python:'&'.join([a for a in qs.split('&') if not a.startswith('@template=')]);
5 form request/form/form/value;
6 field request/form/property/value">
7 <tal:block metal:fill-slot="more-javascript">
8 <script language="Javascript" type="text/javascript">
9 // this is the name of the field in the original form that we're working on
10 form = parent.opener.document.${request/form/form/value};
11 callingform=form
12 field = '${request/form/property/value}';
13 var listform = null
14 function listPresent() { return document.frm_help.cb_listpresent.checked}
15 function getListForm()
16 {
17 if (listPresent()) { return parent.list.document.forms.dummyform}
18 else { return null}
19 }
21 function checkListForm()
22 {
23 // global listform
24 if (listform != null)
25 if (parent.list.document.dummyform)
26 {
27 listform = parent.list.document.dummyform
28 alert(listform)
29 }
30 var bol= listform != null
31 alert('checkListForm: bol='+bol)
32 return bol
33 }
34 </script>
35 <script src="@@file/jquery.js" type="text/javascript"></script>
36 <script src="@@file/query.js" type="text/javascript"></script>
37 </tal:block>
38 <tal:block metal:fill-slot="content">
39 <div name="search">
40 <form method="get" name="itemSynopsis" target="list"
41 tal:attributes="action request/classname"
42 tal:define="property request/form/property/value;
43 cols python:request.columns or 'id username address realname roles'.split();
44 sort_on request/sort | nothing;
45 sort_desc python:sort_on and request.sort[0][0] == '-';
46 sort_on python:sort_on and request.sort[0][1] or 'lastname';
47 search_input templates/page/macros/search_input;
48 search_select templates/page/macros/search_select;
49 search_select_roles templates/page/macros/search_select_roles;
50 required python:[];
51 th_label templates/page/macros/th_label; ">
52 <input type="hidden" name="@template" value="query">
53 <input type="hidden" name="property" value="" tal:attributes="value property">
54 <input type="hidden" name="form" value="" tal:attributes="value request/form/form/value">
55 <table>
56 <tr tal:define="name string:username; label string:Username:">
57 <th metal:use-macro="th_label">Name</th>
58 <td metal:use-macro="search_input"><input type="text"></td>
59 </tr>
60 <tr tal:define="name string:phone; label string:Phone number">
61 <th metal:use-macro="th_label">Phone</th>
62 <td metal:use-macro="search_input"><input type="text"></td>
63 </tr>
64 <tr tal:define="name string:roles; label string:Roles:" >
65 <th metal:use-macro="th_label">role</th>
66 <td metal:use-macro="search_select_roles">
67 <select>
68 <option value="">jokester</option>
69 </select>
70 </td>
71 </tr>
72 <tr>
73 <td> </td>
74 <td>
75 <input type="hidden" name="@action" value="search"/>
76 <input type="submit" value="Search" i18n:attributes="value"/>
77 <input type="reset"/>
78 <input type="hidden" value="username,realname,phone,organisation,roles" name="properties"/>
79 <input type="text" name="@pagesize" id="sp-pagesize" value="25" size="2"/>
80 <label for="sp-pagesize" i18n:translate="">Pagesize</label>
81 </td>
82 </tr>
83 </table>
84 </form>
85 <script type="text/javascript"><!-- focus2id('username'); //--></script>
86 </div>
87 <!-- for search results: query -->
88 <div class="list">
89 <p i18n:translate="">Please specify your search parameters!</p>
90 </div>
91 <div class="submit" onload="parent.focus();" id="submit">
92 <form name="frm_help"
93 tal:define="batch request/batch;
94 props python:request.form['properties'].value.split(',')"
95 class="help-submit"
96 id="classhelp-controls">
97 <div style="width:100%;text-align:left;margin-bottom:0.2em">
98 <input type="text" name="text_preview" size="24" class="preview"
99 onchange="f=getListForm();if(f){ reviseList_framed(f, this)};"/>
100 </div>
101 <input type=checkbox name="cb_listpresent" readonly="readonly" style="display:none"/>
102 <input type="button" id="btn_cancel"
103 value=" Cancel " onclick="parent.close();return false;"
104 i18n:attributes="value" />
105 <input type="reset" id="btn_reset"
106 onclick="text_field.value=original_field;f=getListForm();if (f) {reviseList_framed(f, this)};return false"/>
107 <input type="submit" id="btn_apply" class="apply"
108 value=" Apply " onclick="callingform[field].value=text_field.value; parent.close();"
109 i18n:attributes="value" />
110 </form>
111 <script type="text/javascript"><!--
112 var text_field = document.frm_help.text_preview;
113 original_field=form[field].value;
114 text_field.value=original_field;
115 //--></script>
116 </div>
117 </tal:block>
118 </tal:block>
119 </tal:block>