Històric d’ofertes laborals
Et facilitem la relació dels processos de selecció tancats i el detall dels perfils professionals que hem sol·licitat perquè s’incorporin a la nostra empresa.
Fehler bei der Verarbeitung der Vorlage.
Expression titleSel.selectSingleNode(rootElement) is undefined on line 67, column 50 in 20155#20195#427712.
1<#assign groupId = getterUtil.getLong(groupId)>
2<#assign group = serviceLocator.findService("com.liferay.portal.service.GroupLocalService").getGroup(groupId)>
3<#assign imagesFolder = themeDisplay.getPathThemeImage()>
4
5<#if locale == "en_US">
6 <#assign newLocale = "ca_ES">
7<#else>
8 <#assign newLocale = locale>
9</#if>
10
11<#function miliSeconds dateString firstDate>
12 <#assign params = dateString?split(":")>
13
14 <#if params?size == 2>
15 <#assign param1 = params[0]>
16 <#assign param2 = params[1]>
17 <#assign param1 = getterUtil.getLong(param1)*3600000>
18 <#assign param2 = getterUtil.getLong(param2)*60000>
19 <#assign finalMilSec = param1 + param2>
20 <#assign finalMilSecLong = getterUtil.getLong(finalMilSec)>
21 <#assign resultLong = firstDate + finalMilSecLong>
22
23 <#return resultLong>
24 </#if>
25</#function>
26
27<#if entries?has_content>
28 <#if locale != "en_US">
29 <div class="choose-ticket__search-bar">
30 <div class="form__field">
31 <div class="form__field__control f__text__6_wrapper">
32 <input id="oferta-practicas-search-input" type="text" placeholder='<@liferay.language key="offer.helperSearchHistoric"/>
33 ' value=""/>
34
35 <button id="f__button__6" type="button" class="button button--a" onclick="javascript:historicalStudentOffers.search();">
36 <img class="button__icon" src="${imagesFolder}/basic/16px/svg/search-white.svg" alt="<@liferay.language key="label.search"/>
37 ">
38 <span class="button__label">
39 <@liferay.language key="label.search"/>
40 </span>
41 </button>
42 </div>
43 </div>
44 </div>
45 </#if>
46 <#assign today = .now?date>
47
48 <#if locale != "en_US">
49 <ul id="historical-students-offers-ul" class="list list--links list--links-b">
50 </#if>
51 <#assign count = 0>
52 <#foreach curEntry in entries>
53 <#assign renderer = curEntry.getAssetRenderer()>
54 <#assign className = renderer.getClassName()>
55
56 <#assign dataPub = "">
57 <#assign dataExp = "">
58 <#assign isExpired = false>
59
60 <#if className == "com.liferay.portlet.journal.model.JournalArticle">
61 <#assign journalArticle = renderer.getArticle()>
62 <#assign journalArticleId = journalArticle.getArticleId()>
63 <#assign document = saxReaderUtil.read(journalArticle.getContent())>
64 <#assign rootElement = document.getRootElement()>
65 <#assign title = "">
66 <#assign titleSel = saxReaderUtil.createXPath("dynamic-element[@name='position']/dynamic-content[@language-id='" + newLocale + "']")>
67 <#assign title = titleSel.selectSingleNode(rootElement).getStringValue()>
68 <#assign numReferencia = "">
69 <#assign numReferenciaSel = saxReaderUtil.createXPath("dynamic-element[@name='reference_number']/dynamic-content[@language-id='" + newLocale + "']")>
70 <#assign numReferencia = numReferenciaSel.selectSingleNode(rootElement).getStringValue()>
71 <#assign referenceSel = saxReaderUtil.createXPath("dynamic-element[@name='reference_text']/dynamic-content[@language-id='" + newLocale + "']")>
72 <#if referenceSel.selectSingleNode(rootElement)?has_content>
73 <#assign reference = referenceSel.selectSingleNode(rootElement).getStringValue()>
74 <#else>
75 <#assign reference = "">
76 </#if>
77 <#assign refNumSel = saxReaderUtil.createXPath("dynamic-element[@name='reference_text']/dynamic-element[@name='reference_number']/dynamic-content[@language-id='" + newLocale + "']")>
78 <#if refNumSel.selectSingleNode(rootElement)?has_content>
79 <#assign refNumber = refNumSel.selectSingleNode(rootElement).getStringValue()>
80 <#else>
81 <#assign refNumber = "">
82 </#if>
83 <#assign sumissionSel = saxReaderUtil.createXPath("dynamic-element[@name='text_submission']/dynamic-content[@language-id='" + newLocale + "']")>
84 <#if sumissionSel.selectSingleNode(rootElement)?has_content>
85 <#assign sumission = sumissionSel.selectSingleNode(rootElement).getStringValue()>
86 <#else>
87 <#assign sumission = "">
88 </#if>
89 <#assign requestDateSel = saxReaderUtil.createXPath("dynamic-element[@name='text_submission']/dynamic-element[@name='request_date']/dynamic-content[@language-id='" + newLocale + "']")>
90 <#if requestDateSel.selectSingleNode(rootElement)?has_content>
91 <#assign requestDate = requestDateSel.selectSingleNode(rootElement).getStringValue()>
92 <#else>
93 <#assign requestDate = "">
94 </#if>
95 <#assign link = renderer.getURLViewInContext(renderRequest, renderResponse, "")>
96 <#assign pubDateSel = saxReaderUtil.createXPath("dynamic-element[@name='pubDate']/dynamic-content[@language-id='" + newLocale + "']")>
97 <#assign dataPub = pubDateSel.selectSingleNode(rootElement).getStringValue()>
98 <#assign expDateSel = saxReaderUtil.createXPath("dynamic-element[@name='expDate']/dynamic-content[@language-id='" + newLocale + "']")>
99 <#assign dataExp = expDateSel.selectSingleNode(rootElement).getStringValue()>
100 <#assign timePubSel = saxReaderUtil.createXPath("dynamic-element[@name='pubTime']/dynamic-content[@language-id='" + newLocale + "']")>
101 <#assign timePub = timePubSel.selectSingleNode(rootElement).getStringValue()>
102 <#assign timeExpSel = saxReaderUtil.createXPath("dynamic-element[@name='expTime']/dynamic-content[@language-id='" + newLocale + "']")>
103 <#assign timeExp = timeExpSel.selectSingleNode(rootElement).getStringValue()>
104 <#assign isExpiredSel = saxReaderUtil.createXPath("dynamic-element[@name='isExpired']/dynamic-content[@language-id='" + newLocale + "']")>
105 <#assign isExpired = isExpiredSel.selectSingleNode(rootElement).getStringValue()>
106
107 <#-- Data publicació i expiració -----------------------------------------------
108 -->
109
110 <#if (getterUtil.getLong(dataPub)>0)>
111 <#if timePub?has_content>
112 <#assign timePubDate = timePub?date["HH:mm"]>
113 <#assign timePubFormat = timePubDate?string["HH:mm"]>
114 </#if>
115 <#assign dataPub = dateUtil.newDate(getterUtil.getLong(dataPub))>
116
117 <#if timePubFormat?has_content && timePubFormat != "">
118 <#assign dataPubMil = miliSeconds(timePubFormat dataPub?long)>
119 <#assign dataPub = dateUtil.newDate(getterUtil.getLong(dataPubMil))>
120 </#if>
121 <#assign dataPubMil = dataPub?long-timeZoneUtil.getTimeZone("Europe/Madrid").getOffset(dataPub?long)>
122 </#if>
123
124
125 <#if (getterUtil.getLong(dataExp)>0)>
126 <#if timeExp?has_content>
127 <#assign timeExpDate = timeExp?date["HH:mm"]>
128 <#assign timeExpFormat = timeExpDate?string["HH:mm"]>
129 </#if>
130 <#assign dataExp = dateUtil.newDate(getterUtil.getLong(dataExp))>
131
132 <#if timeExpFormat?has_content && timeExpFormat != "">
133 <#assign dataExpMil = miliSeconds(timeExpFormat dataExp?long)>
134 <#assign dataExp = dateUtil.newDate(getterUtil.getLong(dataExpMil))>
135 </#if>
136 <#assign dataExpMil = dataExp?long-timeZoneUtil.getTimeZone("Europe/Madrid").getOffset(dataExp?long)>
137 </#if>
138
139
140 <#if dataPub?has_content && dataExp?has_content && (today?long>=dataPubMil) && (today?long>dataExpMil) || getterUtil.getBoolean(isExpired)>
141 <#if title != "">
142 <#assign count = 1>
143
144 <#if locale != "en_US">
145 <li class="list__item oferta-practicas" data-title="${title}" data-fechapub="${dataPubMil}">
146 <a class="list__label" href="${link}">
147 ${numReferencia} - ${title}
148 <#--$dataPub
149 -->
150 </a>
151 <#if reference?has_content>
152 <p>
153 ${reference}: ${refNumber} <#if sumission>- ${sumission}</#if><#if requestDate>: ${requestDate}</#if>
154 </p>
155 </#if>
156 </li>
157 </#if>
158 </#if>
159 </#if>
160 </#if>
161 </#foreach>
162 <#if locale != "en_US">
163 </ul>
164 </#if>
165 <#if locale == "en_US" && count != 0>
166 <div class="content intro">
167 <p>
168 <@liferay.language key="offer.studentHistoric.noRes"/>
169 </p>
170 </div>
171
172 <#elseif count == 0>
173 <div class="content intro">
174 <p>
175 <@liferay.language key="offer.studentHistoric.noResults"/>
176 </p>
177 </div>
178 </#if>
179<#else>
180 <div class="content intro">
181 <p>
182 <@liferay.language key="offer.studentHistoric.noResults"/>
183 </p>
184 </div>
185</#if>
186
187<div class="content intro no-results" style="display:none;">
188 <p>
189 <@liferay.language key="offer.studentHistoric.noResults.js"/>
190 </p>
191
192</div>
193<script type="text/javascript">
194
195 $(document).ready(function(){
196 historicalStudentOffers.init();
197 });
198
199 historicalStudentOffers= {
200 init: function(){
201 if($("li.oferta-practicas").length==0){
202 return;
203 }
204
205 var maxDate = new Date("3000/06/25");
206 var orderList = $("li.oferta-practicas").sort(function(a,b){
207 var date1 = $(a).data("fechapub")==""?maxDate:new Date($(a).data("fechapub"));
208 var date2 = $(b).data("fechapub")==""?maxDate:new Date($(b).data("fechapub"));
209 //console.log($(a).data("fechapub"));
210 //console.log($(b).data("fechapub"));
211 //console.log(date1 + "----" + date2);
212 return date2 - date1;
213 });
214
215
216 var offers = [];
217 var year = null;
218 jQuery.each(orderList,function(index,li){
219 var date = new Date($(li).data("fechapub"));
220 if(year != date.getFullYear()){
221 year = date.getFullYear();
222 offers.push('<li><h2 class="title title--2" data-year-title="' + year + '">' + year + '</h2></li>');
223 }
224 //$(li).data("year",year);
225 li.dataset.year = year;
226 offers.push(li);
227 });
228
229 $("#historical-students-offers-ul").html(offers);
230
231 $('#oferta-practicas-search-input').keyup(function(event){
232 <#--if(event.which == 13)
233--> <#-- {
234--> event.preventDefault();
235 this.search();
236 <#-- }
237--> }.bind(this));
238 },
239 search: function(){
240 $('.no-results').hide();
241 var text = $("#oferta-practicas-search-input").val();
242 if(text==""){
243 $("[data-year-title]").show();
244 $(".oferta-practicas").show();
245 }else{
246 $("[data-year-title]").hide();
247 var found = false;
248 $(".oferta-practicas").each(function(index,item){
249 var title = $(item).data("title");
250 if(title.toUpperCase().includes(text.toUpperCase())){
251 var year = $(item).data("year");
252 $("[data-year-title='" + year + "']").show();
253 $(item).show();
254 found = true;
255 }else{
256 $(item).hide();
257 }
258 });
259 if(!found){
260 var txt = "<@liferay.language key="offer.studentHistoric.noResults.js"/>";
261 txt = txt.replace("@@@@", text);
262 $('.no-results p').html(txt);
263 $('.no-results').show();
264 }
265 }
266 }
267 };
268
269
270 </script>