list_announces.html
1 <div class="row">
2 <div class="col-sm-3">
3 <#include "navigation_menu.html">
4 </div>
5 <div class="col-sm-9">
6 <div class="well">
7 <div class="well">
8 <legend>#i18n{announce.search_form.title}</legend>
9 <form class="form_search" method="post" action="jsp/site/Portal.jsp">
10 <div class="form-group">
11 #i18n{announce.search_form.keyWordsLabel}
12 <input type="text" value="${(filter.keywords)!}" name="keywords"/>
13 <select name="sector_id" id="idSector">
14 <option value="0">#i18n{announce.search_form.defaultSectorLabel}</option>
15 <#list list_sectors as sector>
16 <#if (filter.idSector)?? && filter.idSector == sector.id>
17 <option selected="selected" value="${sector.id}">${sector.label}</option>
18 <#else>
19 <option value="${sector.id}">${sector.label}</option>
20 </#if>
21 </#list>
22 </select>
23 <select name="category_id" id="idCategory">
24 <option value="0">#i18n{announce.search_form.defaultCategoryLabel}</option>
25 <#list list_sector_categories as category>
26 <#if (filter.idCategory)?? && filter.idCategory == category.id>
27 <option selected="selected" value="${category.id}">${category.label}</option>
28 <#else>
29 <option value="${category.id}">${category.label}</option>
30 </#if>
31 </#list>
32 </select>
33 <br/>
34 </div>
35 <div class="form-group">
36 #i18n{announce.search_form.dateMinLabel} <input size="12" type="text" id="date_min" name="date_min" value="${filter_date_min!}">
37 #i18n{announce.search_form.dateMaxLabel} <input size="12" type="text" id="date_max" name="date_max" value="${filter_date_max!}">
38 </div>
39 <div class="form-group">
40 #i18n{announce.search_form.priceMinLabel}
41 <input class="input-small" size="5" type="text" id="price_min" name="price_min" value="<#if (filter.priceMin)?? && filter.priceMin > 0>${filter.priceMin}</#if>">
42 <span class="add-on">€</span>
43
44 #i18n{announce.search_form.priceMaxLabel}
45 <input class="input-small" size="5" type="text" id="price_max" name="price_max" value="<#if (filter.priceMax)?? && filter.priceMax > 0>${filter.priceMax}</#if>">
46 <span class="add-on">€</span>
47 </div>
48
49 <div class="form-actions">
50 <div class="form-group">
51 <button class="btn btn-primary" type="submit" name="search" value="#i18n{announce.search_form.search}">
52 <i class="icon-search icon-white"> </i> #i18n{announce.search_form.search}
53 </button>
54 <a class="btn" href="jsp/site/Portal.jsp?page=announce&action=search&hasFilter=true" >
55 <i class="icon-remove-circle"> </i> #i18n{announce.search_form.reset}
56 </a>
57 </div>
58 <input type="hidden" name="action" value="search" />
59 <input type="hidden" name="page" value="announce" />
60 <input type="hidden" name="hasFilter" value="true" />
61 <div class="pull-right">
62 <#if user?? && filter?? && ( ( filter.keywords?? && filter.keywords != '' ) || filter.priceMin > 0 || filter.priceMax > 0 ) && filter.idFilter == 0 >
63 <a class="btn btn-primary" href="jsp/site/Portal.jsp?page=announce-subscribe&action=doCreateSubscriptionFilter" title="#i18n{announce.labelCreateFilterSubscriptionTitle}">
64 #i18n{announce.labelCreateFilterSubscription}
65 </a>
66 </#if>
67 </div>
68 </div>
69 </form>
70 </div>
71 </div>
72
73 <@getDatePickerBootstrap idField="date_min" language=locale />
74 <@getDatePickerBootstrap idField="date_max" language=locale />
75 <div class="paginator">
76 <span style="padding-right: 60px;">#i18n{announce.number.item.result} : <strong>${nbItem}</strong></span>
77 <#if (paginator.pagesCount > 1) >
78 <span>Pages: <@pagination paginator=paginator /></span>
79 </#if>
80 </div>
81 <input type="hidden" id="idPageIndex" value="${page_index}">
82 <div class="well">
83 <#if announces_list?has_content>
84 <div>
85 <#assign listSortBy = {
86 "date_creation":"#i18n{announce.sort_announce.by_date_creation}",
87 "date_modification":"#i18n{announce.sort_announce.by_date_modification}",
88 "title_announce":"#i18n{announce.sort_announce.by_title_announce}",
89 "price_announce":"#i18n{announce.sort_announce.by_price_announce}",
90 "description_announce":"#i18n{announce.sort_announce.by_description_announce}"
91 }>
92 <#assign keys = listSortBy?keys>
93 <span>#i18n{announce.sort_announce.title} : </span>
94
95 <select id="idSort">
96 <#list keys as key>
97 <option <#if (key=="${sortArg}")>selected="selected"</#if>id="id${key}" value="${key}"
98
99 >${listSortBy[key]}</option>
100 </#list>
101 </select>
102 <input type="hidden" name="sortBy">
103 </div>
104 <table class="table">
105 <#list announces_list as announce>
106 <tr>
107 <td>
108 <div class="announce-result clearfix">
109 <#if announce.hasPictures>
110 <#list announce.listIdImageResponse as idImageResponse>
111 <#if idImageResponse_index == 0>
112 <a href="jsp/site/Portal.jsp?page=announce&action=view_announce&announce_id=${announce.id}">
113 <img class="thumbnail" width="80" height="80" src="image?resource_type=announce_img&id=${idImageResponse}" />
114 </a>
115 </#if>
116 </#list>
117 <#else>
118 <a title="${announce.title}" href="jsp/site/Portal.jsp?page=announce&action=view_announce&announce_id=${announce.id}">
119 <img class="thumbnail" width="80" height="80" src="./images/local/skin/plugins/announce/no_picture.png" />
120 </a>
121 </#if>
122 <#if announce.category.displayPrice && announce.price?has_content>
123 <div class="price">
124 ${announce.price}
125 </div>
126 </#if>
127 <div class="title">
128 <a href="jsp/site/Portal.jsp?page=announce&action=view_announce&announce_id=${announce.id}">
129 ${announce.title} - <span class="category">${announce.category.label}</span>
130 </a>
131 </div>
132 <span class="info">${announce.datePublication}</span><br/>
133 ${announce.description}<br />
134 <a href="jsp/site/Portal.jsp?page=announce&action=view_announces&username=${announce.userName}">
135 #i18n{announce.list_announces.otherAnnounces}
136 </a>
137 </div>
138 </td>
139 </tr>
140 </#list>
141 </table>
142 <#else>
143 #i18n{announce.list_announces.noAnnounces}
144 </#if>
145 </div>
146
147 </div>
148 </div>
149 <script>
150 $('#idSort').on('change', function() {
151 var loc=""+location;
152 var n=loc.indexOf("jsp");
153 var urlbase=loc.substring(0,n);
154 //location = urlbase+"jsp/site/Portal.jsp?page=announce&action=search&sortBy="+this.value+"&page_index="+$("#idPageIndex").val();
155 location = urlbase+"jsp/site/Portal.jsp?page=announce&action=search&sortBy="+this.value+"&page_index="+$("#idPageIndex").val();
156 })
157
158 $('#idSector').on('change', function() {
159 var idSec=this.value;
160 $('#idCategory').empty();
161 var newOption0 = $('<option value="0">#i18n{announce.search_form.defaultCategoryLabel}</option>');
162 $('#idCategory').append(newOption0);
163 var listSecCat=[<#list list_sectors as sector>
164 ["${sector.id}",<#list sector.listCategories as category>"${category.label}",</#list>],
165 </#list>];
166 var listIdSecCat=[<#list list_sectors as sector>
167 ["${sector.id}",<#list sector.listCategories as category>"${category.id}",</#list>],
168 </#list>];
169 for(var i=0;i<listSecCat.length;i++){
170 if(idSec==parseInt(listSecCat[i][0])){
171 for(var j=1;j<listSecCat[i].length;j++){
172 var newOption = $('<option value='+listIdSecCat[i][j]+'>'+listSecCat[i][j]+'</option>');
173 $('#idCategory').append(newOption);
174 }
175 }
176 }
177 if(idSec==0){
178 for(var i=0;i<listSecCat.length;i++){
179 for(var j=1;j<listSecCat[i].length;j++){
180 var newOption = $('<option value='+listIdSecCat[i][j]+'>'+listSecCat[i][j]+'</option>');
181 $('#idCategory').append(newOption);
182 }
183 }
184 }
185 })
186 </script>