Widok zawartości stron
Wystąpił błąd podczas przetwarzania szablonu.
Error on line 402, column 13 in 10112#37001#147289111 fileEntryService.getFileEntryByUuidAndGroupId(uuid, getterUtil.getLong(fileGroup)) is undefined. It cannot be assigned to file
1<#assign plid = ''>
2<#if request?? && request?has_content >
3 <#assign plid = "#p_p_id_${request['attributes']['PORTLET_ID']}_" >
4</#if>
5
6<style type="text/css">
7 @media print {
8 .header-top-bar__options {display: none;}
9 .footer-bottom-bar {display: none;}
10
11 #column-3 {
12 display: none;
13 }
14
15 #column-2 {
16 width: 100%;
17 }
18
19 #navigation {
20 display: none;
21 visibility: hidden;
22 }
23
24 a:after {
25 content:" (" attr(href) ") ";display: none !important;
26 }
27
28 #footer {
29 display: none;
30 }
31
32 #powrot{
33 display: none;
34 }
35
36 #_145_userAvatar{
37 display: none;
38 }
39 }
40
41 #tresc {position: relative;
42 font-family: 'Libre Baskerville', serif;
43 margin-bottom: 1.5rem;
44 max-width: 930px !important;}
45
46 .icon {vertical-align: baseline !important;}
47
48 a.box {
49 font-family: "Libre Baskerville", serif !important;
50 }
51
52 .archival {font-family: 'Libre Baskerville', serif;
53 color:#e80000;}
54 #high-contrast .archival{color: #fff;}
55
56
57 #tresc h2 { font-family: "Libre Baskerville", serif;
58 font-weight: 400 !important;
59 font-size: 24px !important;
60 font-size: 1.5rem !important;
61 line-height: 1.785rem !important;
62 padding-bottom: 26px !important;
63 padding-bottom: 1.625rem !important;
64 margin-bottom: 30px !important;
65 margin-bottom: 1.875rem !important;
66 border-bottom: 1px #e0e0e0 solid !important;
67 color: black ;}
68
69 #high-contrast h2{color: #fff;}
70
71 #tresc ul.niebieska-lista li {
72 text-align: left;
73 list-style-type: square;
74 color: #00519e;}
75
76 #tresc ul.niebieska-lista li span {
77 color: #666666;}
78
79 #tresc ul.prosta-lista li {
80 list-style-type: none; margin-bottom: 5px;}
81
82 #tresc p {
83 text-align: left;
84 }
85
86 #tresc .alert {
87 background-color:#FFBFBF;
88 border:1px solid red;
89 font-weight:bold;margin:5px;
90 padding:5px;}
91
92 #tresc .ramka_img {
93 border: 1px solid #cccccc;
94 padding: 4px;}
95
96 #tresc a:link.prosty {
97 text-decoration: none;
98 color: #00519e;}
99
100 #tresc a:visited.prosty {
101 text-decoration: none;
102 color: #00519e;}
103
104 #tresc a:hover.prosty, #tresc a:active.prosty {
105 text-decoration: underline;
106 color: #00519e;}
107
108 #tresc a:link {
109 text-decoration: underline;
110 color: #666666;}
111
112 #tresc a:visited {
113 text-decoration: underline;
114 color: #666666;}
115
116 #tresc a:hover, #tresc a:active {
117 text-decoration: underline;
118 color: #00519e;}
119
120 .przekreslone{
121 text-decoration: line-through;
122 }
123
124
125 .uwaga {
126 background: url('//przetargi.uj.edu.pl/documents/1378124/137547428/attention-icon.png/cb6f486b-d350-4345-aa61-e65b7a495301?t=1611060974758') no-repeat left center;
127 background-repeat: no-repeat;
128 display: inline;
129 padding: .25rem 0 0.25rem 1.5rem;
130 margin: .5rem 0 .5rem 0;
131 color: #666666;
132 }
133
134 a:hover.uwaga {color: #00519E; padding: .25rem 0 0.25rem 1.75rem;}
135
136 .ogloszenie {
137 background: url('//przetargi.uj.edu.pl/documents/1378124/137547428/chat-icon.png/4c184f1d-5737-40ff-8b84-f8d9ddd979da?t=1611060980501') no-repeat left center;
138 background-repeat: no-repeat;
139 display: inline;
140 padding: .25rem 0 0.25rem 1.5rem;
141 margin: .5rem 0 .5rem 0;
142 color: #666666;
143 }
144 a:hover.ogloszenie {color: #00519E; padding: .25rem 0 0.25rem 1.75rem;}
145
146 .zawiadomienie {
147 background: url('//przetargi.uj.edu.pl/documents/1378124/137547428/note-icon.png/df21eb92-66ac-4236-9ac4-0ab8ba1bde3e?t=1611060980709') no-repeat left center;
148 background-repeat: no-repeat;
149 display: inline;
150 padding: .25rem 0 0.25rem 1.5rem;
151 margin: .5rem 0 .5rem 0;
152 color: #666666;
153 }
154 a:hover.zawiadomienie {color: #00519E; padding: .25rem 0 0.25rem 1.75rem;}
155
156 .informacja {
157 background: url('//przetargi.uj.edu.pl/documents/1378124/137547428/info-icon.png/e18bdcb5-16fb-4603-be23-9cfee049eb49?t=1611060980616') no-repeat left center;
158 background-repeat: no-repeat;
159 display: inline;
160 padding: .25rem 0 0.25rem 1.5rem;
161 margin: .5rem 0 .5rem 0;
162 color: #666666;
163 }
164 a:hover.informacja {color: #00519E; padding: .25rem 0 0.25rem 1.75rem;}
165
166 .naglowek{
167 overflow:hidden;
168 margin:0px 0px 10px 0px;
169 padding: 15px 15px 15px 90px;
170 }
171 #high-contrast ${plid} .naglowek{background: #030303;}
172
173 .zawartosc{
174 display: block;
175 overflow: hidden;
176 padding: 0 0;
177 }
178
179 .blok-zawartosci{display:inline-block;}
180
181 #powrot{
182 background: url('//www.uj.edu.pl/documents/1378124/137547428/bzp_wstecz.png/cea81b1c-625f-409e-805a-c3ca66955782?t=1506434249318') 0px 0px no-repeat;
183 display: block;
184 float: right;
185 width:50px;
186 height: 50px;
187 }
188 #powrot:hover{ opacity: .8; }
189
190
191
192
193 #high-contrast ${plid} .ogloszone {
194 background: url('//www.uj.edu.pl/documents/1378124/137547428/bzp_ogloszone.png/50a2d93a-3d1b-43ee-bfba-5ba2b642522b?t=1506434250058') 15px 15px no-repeat;
195 }
196 ${plid} .ogloszone{
197 background: #f2f3f7 url('//www.uj.edu.pl/documents/1378124/137547428/bzp_ogloszone.png/50a2d93a-3d1b-43ee-bfba-5ba2b642522b?t=1506434250058') 15px 15px no-repeat;
198 }
199 #high-contrast ${plid} .zakonczone {
200 background: url('//www.uj.edu.pl/documents/1378124/137547428/bzp_zakonczone.png/ea780238-a9d3-4292-806e-7d3ae05239da?t=1506434249713') 15px 15px no-repeat;
201 }
202 ${plid} .zakonczone{
203 background: #f2f3f7 url('//www.uj.edu.pl/documents/1378124/137547428/bzp_zakonczone.png/ea780238-a9d3-4292-806e-7d3ae05239da?t=1506434249713') 15px 15px no-repeat;
204 }
205 #high-contrast ${plid} .uniewaznione {
206 background: url('//www.uj.edu.pl/documents/1378124/137547428/bzp_uniewaznione.png/0d0a75ba-8713-450b-96d5-5fcadd4db774?t=1506434249011') 15px 15px no-repeat;
207 }
208 ${plid} .uniewaznione{
209 background: #f2f3f7 url('//www.uj.edu.pl/documents/1378124/137547428/bzp_uniewaznione.png/0d0a75ba-8713-450b-96d5-5fcadd4db774?t=1506434249011') 15px 15px no-repeat;
210 }
211
212 .blok{
213 margin-bottom:4px;
214 }
215
216 .etykietaPola{
217 color: #00519e;
218 }
219
220 #high-contrast .etykietaPola {color: #FFE800;}
221 #high-contrast ${plid} #descLink, #descLink:visited {color: #fff !important;}
222
223 /* ${plid} div.folder-open{
224 font-size: 1rem;
225 background: url('//www.uj.edu.pl/html/themes/control_panel/images/common/folder.png') no-repeat left center;
226 padding: .5rem 0 0.5rem 1.5rem;
227 display: inline-block;
228 }*/
229 ${plid} .back{ font-size: 1rem; display: inline-block; margin-right: .5rem;}
230
231 ${plid} a.folder{ background: url('//www.uj.edu.pl/html/themes/control_panel/images/common/folder_full_document.png') no-repeat left center;}
232 ${plid} a.zewnetrzny_link { background: url('//www.uj.edu.pl/image/image_gallery?uuid=2202e51b-8a20-4edf-b3f5-dd1fd92c116f&groupId=37001&t=1297849855367') no-repeat left center;}
233
234 ${plid} a:link{text-decoration:none; color: #00519E;}
235 #high-contrast ${plid} a:link{color: #ffe800;}
236
237 ${plid} a:visited{text-decoration:none; color: #005ca7 !important;}
238
239 ${plid} a.download {
240 color: #292727;
241 display: inline-block;
242 width: 70%;
243 padding: 0 0 0 1.5rem;
244 }
245
246 .view-lt720 ${plid} a.download {
247 display: block; width: 100%;
248 }
249 ${plid} a:hover.download {color: #00519E; padding: 0 0 0 1.75rem;}
250 #high-contrast ${plid} a.download{color: #FFE800;}
251
252
253
254 ${plid} a.cdr { background: url('//www.uj.edu.pl/html/themes/control_panel/images/file_system/small/cdr.png') no-repeat left center;}
255 ${plid} a.eps { background: url('//www.uj.edu.pl/html/themes/control_panel/images/file_system/small/eps.png') no-repeat left center;}
256 ${plid} a.pdf { background: url('//www.uj.edu.pl/html/themes/control_panel/images/file_system/small/pdf.png') no-repeat left center;}
257 ${plid} a.rtf { background: url('//www.uj.edu.pl/html/themes/control_panel/images/file_system/small/rtf.png') no-repeat left center;}
258 ${plid} a.zewnetrzny_link { background: url('//www.uj.edu.pl/image/image_gallery?uuid=2202e51b-8a20-4edf-b3f5-dd1fd92c116f&groupId=37001&t=1297849855367') no-repeat left center;}
259 ${plid} a.ai { background: url('//www.uj.edu.pl/html/themes/control_panel/images/file_system/small/ai.png') no-repeat left center;}
260 ${plid} a.doc,${plid} a.docx { background: url('//www.uj.edu.pl/html/themes/control_panel/images/file_system/small/doc.png') no-repeat left center;}
261 ${plid} a.jpg { background: url('//www.uj.edu.pl/html/themes/control_panel/images/file_system/small/jpg.png') no-repeat left center;}
262 ${plid} a.pptx, ${plid} a.ppt{ background: url('//www.uj.edu.pl/html/themes/control_panel/images/file_system/small/ppt.png') no-repeat left center;}
263 ${plid} a.xls,${plid} a.xlsx { background: url('//www.uj.edu.pl/html/themes/control_panel/images/file_system/small/xls.png') no-repeat left center;}
264 ${plid} a.zip { background: url('//www.uj.edu.pl/html/themes/control_panel/images/file_system/small/zip.png') no-repeat left center;}
265 ${plid} a.swf { background: url('//www.uj.edu.pl/html/themes/control_panel/images/file_system/small/swf.png') no-repeat left center;}
266 ${plid} a.txt { background: url('//www.uj.edu.pl/html/themes/control_panel/images/file_system/small/txt.png') no-repeat left center;}
267 ${plid} a.csv { background: url('//www.uj.edu.pl/html/themes/control_panel/images/file_system/small/csv.png') no-repeat left center;}
268 ${plid} a.gif { background: url('//www.uj.edu.pl/html/themes/control_panel/images/file_system/small/gif.png') no-repeat left center;}
269 ${plid} a.odt { background: url('//www.uj.edu.pl/html/themes/control_panel/images/file_system/small/odt.png') no-repeat left center;}
270 ${plid} a.xml { background: url('//www.uj.edu.pl/html/themes/control_panel/images/file_system/small/xml.png') no-repeat left center;}
271 ${plid} a.tiff { background: url('//www.uj.edu.pl/html/themes/control_panel/images/file_system/small/tiff.png') no-repeat left center;}
272 ${plid} a.png { background: url('//www.uj.edu.pl/html/themes/control_panel/images/file_system/small/png.png') no-repeat left center;}
273 ${plid} a.css { background: url('//www.uj.edu.pl/html/themes/control_panel/images/file_system/small/css.png') no-repeat left center;}
274 ${plid} a.js { background: url('//www.uj.edu.pl/html/themes/control_panel/images/file_system/small/js.png') no-repeat left center;}
275
276
277 ${plid} .file {
278 /*margin: .5rem 0 1.5rem 0;*/
279 padding: .5rem 1rem;
280 /*background: #fcfcfc;*/
281 }
282 #high-contrast ${plid} .file{background: #030303; }
283 #high-contrast ${plid} .file a{color: #FFE800;}
284 #high-contrast ${plid} .file a:visited {color: #FFE800 !important;}
285 #high-contrast ${plid} .download{color: #FFE800 !important;}
286 #high-contrast ${plid} a.archival-link{color: #FFE800 !important;}
287 #high-contrast ${plid} a:visited.archival-link {color: #FFE800 !important;}
288
289 ${plid} .czytaj{
290 cursor: pointer;
291 text-decoration: none;
292 float: right;
293 padding: .25rem .5rem;
294 font-size: .85rem;
295 }
296 #high-contrast ${plid} #czytaj{cursor: pointer; background: #090909;}
297
298
299 .view-lt720 ${plid} .czytaj{
300 float: none;
301 padding: 1rem;
302 }
303
304
305
306 ${plid} .archiwum{
307 border: 1px dashed #eee;
308 padding: 0.125rem;
309 font-size: 0.725rem;
310 }
311 ${plid} .czytaj:hover{color: #000; text-decoration: none;}
312 #high-contrast ${plid} .czytaj:hover{color: #fff;}
313
314
315 ${plid} #czytaj, ${plid} #archiwum{display: block;
316 font-family: 'Libre Baskerville', serif;
317 font-size: .85rem;
318 padding: 1rem 3rem 1rem 1rem;
319 position: relative;
320 text-decoration: none;
321 height: auto;
322 border-bottom: 1px #e0e0e0 solid;
323 }
324 ${plid} #czytaj{cursor: pointer; background: #f9f9f9;}
325
326 ${plid} #archiwum{background: #f0f0f0;}
327 #high-contrast ${plid} #archiwum{background: #101010;}
328
329 ${plid} #czytaj:before {
330 font-family: 'icomoon';
331 speak: none;
332 font-style: normal;
333 font-weight: normal;
334 font-variant: normal;
335 text-transform: none;
336 line-height: 1;
337 vertical-align: middle;
338 -webkit-font-smoothing: antialiased;
339 content: "\e60d";
340 width: auto;
341 position: absolute;
342 top: 15px;
343 bottom: 0;
344 right: 30px;
345 color: #aaaaaa;
346 font-size: 20px;
347 font-size: 1.25rem;
348 }
349
350 #high-contrast #czytaj:before {color: #eee;}
351 ${plid} #czytaj.open:before{
352 content: "\e60e";
353 //color: #005ca7;
354 }
355 ${plid} .works-activities{
356 background: #f8f8f8;
357 padding: 0rem 1rem 1rem 1rem;
358 margin: 2rem 0 .5rem 0;
359 border: 1px dashed #ddd;
360 }
361 .info{
362 padding: 1rem;
363 background: #fff7aa;
364 }
365 ${plid} .description{
366 color: #999;
367 }
368
369 #high-contrast ${plid} .description{
370 color: #fff;
371 }
372</style>
373<#-----------Services----------->
374<#assign fileEntryService = serviceLocator.findService("com.liferay.portlet.documentlibrary.service.DLFileEntryLocalService")>
375<#assign assetVocabularyService = serviceLocator.findService("com.liferay.portlet.asset.service.AssetVocabularyLocalService")>
376<#assign assetEntryService = serviceLocator.findService("com.liferay.portlet.asset.service.AssetEntryLocalService")>
377<#assign assetCategoryService = serviceLocator.findService("com.liferay.portlet.asset.service.AssetCategoryLocalService")>
378<#assign assetTagService = serviceLocator.findService("com.liferay.portlet.asset.service.AssetTagLocalService")>
379<#assign journalArticleService = serviceLocator.findService("com.liferay.portlet.journal.service.JournalArticleLocalService")>
380<#assign userGroupRoleService = serviceLocator.findService("com.liferay.portal.service.UserGroupRoleLocalService")>
381
382<#------------Macros------------>
383<#macro displayFile DLfileUrl linkName>
384 <#assign fileTitle = "">
385 <#assign fileExtension = "">
386 <#assign fileGroup = "">
387 <#assign fileFolder = "">
388 <#assign fileName = "">
389 <#assign file = "">
390 <#assign uuid = "">
391
392 <#assign fileGroup = getterUtil.getLong(DLfileUrl?replace('.*documents/(.*?)/.*', '$1', 'r') )>
393 <#assign fileFolder = getterUtil.getLong(DLfileUrl?replace('.*documents/.*?/(.*?)/.*' ,'$1', 'r'))>
394 <#assign fileName = DLfileUrl?replace(".*/documents/${fileGroup}/${fileFolder}/(.*?)/.*", '$1', 'r')>
395
396 <#assign indexOf = DLfileUrl?last_index_of("/") + 1>
397 <#if indexOf gt 1>
398 <#assign uuid = DLfileUrl?substring(indexOf)>
399 </#if>
400 <#if uuid?has_content>
401 <#if uuid?length == 36>
402 <#assign file = fileEntryService.getFileEntryByUuidAndGroupId(uuid, getterUtil.getLong(fileGroup))>
403 <#else>
404 <#assign file = fileEntryService.getFileEntry(fileGroup, fileFolder, fileName)>
405 </#if>
406 <#assign fileExtension = file.extension>
407
408 <#if !displayHistory>
409 <div class="file">
410 <a class="download <#if fileExtension?has_content>${fileExtension}</#if>" href="${DLfileUrl}">${linkName}</a>
411 </div>
412 <#else>
413 <#assign fileTitle = file.title>
414 <#assign fileSize = file.size>
415 <#assign fileVersions = file.getFileVersions(0)>
416 <div class="file">
417 <a href="${DLfileUrl}" class="download <#if fileExtension?has_content>${fileExtension}</#if>
418 ">${linkName}</a>
419 <a class="czytaj" tabindex="0" aria-expanded="false">
420 <i class="icon icon-info"></i> Dziennik zmian pliku
421 </a>
422 <div class="archiwum" aria-hidden="true" style="display: none;">
423 <#if true>
424 <ul><#list fileVersions as fileVersion>
425 <li>
426 <a href="${DLfileUrl}?version=${fileVersion.getVersion()}">Wersja: ${fileVersion.getVersion()}</a>,
427 Data publikacji: ${dateUtil.getDate(fileVersion.getModifiedDate(), "yyyy-MM-dd HH:mm", locale, timeZoneUtil.getDefault())}
428 ${fileVersion.getUserName()}
429 [#{fileVersion.getSize()/1000000; m2} MB]
430 </li>
431 </#list>
432 </ul>
433 <#else>
434 Nieprawidłowa nazwa pliku
435 </#if>
436 </div> <#-- end of archiwum -->
437 </div>
438 </#if>
439 </#if>
440</#macro>
441
442<#macro setStatusStyleAndDisplayHistory article>
443 <#assign artPrimKey = article.getResourcePrimKey()>
444 <#assign model = 'com.liferay.portlet.journal.model.JournalArticle'>
445 <#assign asset = assetEntryService.getEntry(model, artPrimKey)>
446 <#assign categories = assetCategoryService.getCategories(model, getterUtil.getLong(asset.getClassPK()))>
447
448 <#assign vocabularies = assetVocabularyService.getGroupVocabularies(longGroupId)>
449 <#list vocabularies as voc>
450 <#if voc.name=="Status">
451 <#assign statusVocabularyId = voc.vocabularyId>
452 </#if>
453 <#-- Ustalanie id słownika o nazwie 'Rodzaj'(nie ma bezpośrednio związku z tym macro) -->
454 <#if voc.name=="Rodzaj">
455 <#assign typeVocabularyId = voc.vocabularyId>
456 </#if>
457 </#list>
458
459 <#assign statusCategory = "">
460 <#assign typeCategory = "">
461 <#list categories as cat>
462 <#if cat.vocabularyId == statusVocabularyId>
463 <#assign statusCategory = cat.name>
464 </#if>
465 <#if cat.vocabularyId == typeVocabularyId>
466 <#assign typeCategory = cat.name>
467 </#if>
468 </#list>
469
470 <#assign statusStyle = "">
471 <#if statusCategory=="ogłoszone">
472 <#assign statusStyle = "ogloszone">
473 <#elseif statusCategory=="zakończone">
474 <#assign statusStyle = "zakonczone">
475 <#elseif statusCategory=="unieważnione">
476 <#assign statusStyle = "uniewaznione">
477 </#if>
478
479 <#if typeCategory == "ogłoszenie przetargowe" || typeCategory == "wstępne ogłoszenie informacyjne" || typeCategory == "zamówienie z wolnej ręki">
480 <#assign displayHistory = false>
481 <#else>
482 <#assign displayHistory = true>
483 </#if>
484</#macro>
485
486<#macro setAndDisplayPrzedluzeniaTerminu przedluzenieTerminu>
487 <#assign iloscPrzedluzen = 0>
488 <#list przedluzenieTerminu.getSiblings() as i>
489 <#assign iloscPrzedluzen = iloscPrzedluzen + 1>
490 </#list>
491 <#assign iloscStarychPrzedluzen = iloscPrzedluzen - 1>
492
493 <#assign iteracja = 1>
494 <#if iloscPrzedluzen gt 0 && przedluzenieTerminu.getData()?has_content>
495 <#list przedluzenieTerminu.getSiblings() as przedluzenieTerminu>
496 <#assign przedluz = przedluzenieTerminu.data>
497 <#assign isPrzedluzLengthCorrect = przedluz?matches("[0-9]{8}|[0-9]{12}")>
498 <#if przedluz?has_content && isPrzedluzLengthCorrect>
499 <#assign pattern = dateUtil.getISOFormat(przedluz).toPattern()>
500 <div class="blok <#if iteracja lte iloscStarychPrzedluzen> przekreslone</#if>">
501 <span class="etykietaPola"><b>Przedłużenie terminu do dnia</b>:</span>
502
503 <#assign y = dateUtil.getDate(przedluz?date(pattern), pattern, locale)>
504 <#assign dzien = dateUtil.getDate(y?date(pattern), "dd.MM.yyyy", locale)>
505 <#assign godz = dateUtil.getDate(y?date(pattern), "HH:mm", locale)>
506 ${dzien} <#if godz!="00:00">, godzina ${godz} </#if>
507 </div>
508 <#assign iteracja = iteracja + 1>
509 <#else>
510 <#assign errors = errors + ["Nieprawidłowy format przedłużenia terminu (${checkVer(.vars['reserved-article-version'].data)}):" + " <b> ${przedluz} </b> <br/>"]>
511 </#if>
512 </#list>
513 </#if>
514</#macro>
515
516<#macro setAndDisplayPriceField>
517 <#assign articles = journalArticleService.getArticles(longGroupId, articleId)>
518 <#list articles?reverse as article>
519 <#assign content = article.getContent()>
520 <#assign document = saxReaderUtil.read(content)>
521 <#assign root = document.getRootElement()>
522 <#assign price = "">
523 <#if root.selectSingleNode("dynamic-element[@name='price']/dynamic-content")??>
524 <#assign price = root.selectSingleNode("dynamic-element[@name='price']/dynamic-content").getText()>
525 </#if>
526 <#if price?has_content>
527 <#assign articleDate = article.getModifiedDate()>
528 <#assign date = dateUtil.getDate(articleDate, "dd.MM.yyyy", locale, timeZoneUtil.getDefault())>
529 <#assign time = dateUtil.getDate(articleDate, "HH:mm", locale, timeZoneUtil.getDefault())>
530
531 <div class="blok"><span class="etykietaPola"><b>Kwota brutto przeznaczona na realizację:</b></span> ${price} (opublikowano: ${date}, ${time})</div>
532 <#break>
533 </#if>
534 </#list>
535</#macro>
536
537<#assign errors = []>
538<#macro displayErrors>
539 <#if permissionChecker.getUserId() gt 1000>
540 <#assign sprRedaktorWitryny = userGroupRoleService.hasUserGroupRole(permissionChecker.getUserId(), groupId, "Redaktor witryny")>
541 </#if>
542 <#if sprRedaktorWitryny && errors?size gt 0>
543 <div style="border: 1px solid #ddd; padding: 1rem; margin: 1rem 0rem 2rem 0rem; background: #ffef00">
544 <#list errors as error>
545 ${error}
546 </#list>
547 </div>
548 </#if>
549</#macro>
550
551<#function checkVer ver>
552 <#if ver?string?contains(".")>
553 <#return ver>
554 <#else>
555 <#return ver + ".0">
556 </#if>
557</#function>
558<#-----------Predefined and request variables----------->
559<#assign currentUrl = ''>
560<#if request?? && request?has_content >
561 <#assign currentUrl = request['attributes']['CURRENT_COMPLETE_URL'] />
562</#if>
563<#assign currentRenderUrl = ''>
564<#if request['render-url']??>
565 <#assign currentRenderUrl = request['render-url'] />
566</#if>
567<#assign widok = httpUtil.getParameter(currentUrl, 'widok', false)>
568<#assign przejdzDo = httpUtil.getParameter(currentUrl, 'przejdzDo', false)>
569<#assign articleId = httpUtil.getParameter(currentUrl, 'articleId', false)>
570<#if !articleId?has_content>
571 <#assign articleId = .vars['reserved-article-id'].data>
572</#if>
573<#assign articleVersion = .vars['reserved-article-version'].data>
574<#assign longGroupId = getterUtil.getLong(groupId)>
575<#assign linkTrescOgloszenia = "-1">
576
577<#-- Checking version-->
578<#assign aktVer = articleVersion>
579<#if przejdzDo?has_content>
580 <#assign aktVer = przejdzDo>
581</#if>
582
583<#-- Displaying archival article-->
584<#if aktVer != articleVersion>
585 <p class="archival">
586 <span><b>Niniejszy dokument jest wersją archiwalną.</b></span>
587 <a class="archival-link" href='${currentRenderUrl}&groupId=${groupId}&articleId=${articleId}&przejdzDo=${articleVersion}'>Przejdź do najnowszej wersji - ${articleVersion}</a>
588 </p>
589
590
591 <#assign article = journalArticleService.getArticle(longGroupId, articleId, getterUtil.getDouble(aktVer)) >
592 <#assign content = article.getContent()>
593 <#assign v = content?replace('<br>', '<br/>', 'r')>
594 <#assign document = saxReaderUtil.read(content)>
595 <#assign root = document.getRootElement()>
596
597 <#assign tytul = root.selectSingleNode("dynamic-element[@name='tytul']/dynamic-content").text>
598 <#assign opis = root.selectSingleNode("dynamic-element[@name='opis']/dynamic-content").text>
599 <#assign nrSprawy = root.selectSingleNode("dynamic-element[@name='nrSprawy']/dynamic-content").text>
600 <#assign trescOgloszenia = root.selectSingleNode("dynamic-element[@name='trescOgloszenia']/dynamic-content").text>
601 <#assign endDateAdvertisment = root.selectSingleNode("dynamic-element[@name='endDate']/dynamic-content").text>
602 <#assign startDateAdvertisment = root.selectSingleNode("dynamic-element[@name='startDate']/dynamic-content").text>
603 <#assign przedluzenieTerminu = root.selectNodes("dynamic-element[@name='przedluzenieTerminu']/dynamic-content")>
604 <#assign kontakt = root.selectSingleNode("dynamic-element[@name='kontakt']/dynamic-content").text>
605 <#assign links = root.selectNodes("dynamic-element[@name='link']")>
606
607 <@setStatusStyleAndDisplayHistory article=article/>
608
609 <div id="tresc">
610 <#if tytul?has_content>
611 <h2>${tytul}</h2>
612 </#if>
613
614 <div class="naglowek ${statusStyle}">
615 <#if opis?has_content>
616 <div class="blok"><span class="etykietaPola"><b>Opis</b>:</span>
617 <a id="descLink" href="${currentRenderUrl}&groupId=${longGroupId}&articleId=${articleId}&przejdzDo=${aktVer}&link=${linkTrescOgloszenia}">${opis}</a>
618 </div>
619 </#if>
620
621 <#if nrSprawy?has_content>
622 <div class="blok"><span class="etykietaPola"><b>Nr sprawy</b>:</span> ${nrSprawy} </div>
623 </#if>
624
625 <#if endDateAdvertisment?has_content>
626 <#assign isEndDateAdvertismentCorrect = endDateAdvertisment?matches("[0-9]{8}|[0-9]{12}")>
627 <#if isEndDateAdvertismentCorrect>
628 <#assign pattern = dateUtil.getISOFormat(endDateAdvertisment).toPattern()>
629 <div class="blok"><span class="etykietaPola"><b>Termin składania ofert</b>:</span>
630 <#assign y = dateUtil.getDate(endDateAdvertisment?date(pattern), pattern, locale)>
631 <#assign dzien = dateUtil.getDate(y?date(pattern), "dd.MM.yyyy", locale)>
632 <#assign godz = dateUtil.getDate(y?date(pattern), "HH:mm", locale)>
633 ${dzien} <#if godz!="00:00">, godzina ${godz} </#if>
634 </div>
635 <#else>
636 <#assign errors = errors + ["Nieprawidłowy format terminu składania ofert (${checkVer(article.getVersion())}):" + " <b> ${endDateAdvertisment} </b> <br/>"]>
637 </#if>
638 </#if>
639
640 <#assign iloscPrzedluzen = 0>
641 <#list przedluzenieTerminu as i>
642 <#assign iloscPrzedluzen = iloscPrzedluzen + 1>
643 </#list>
644 <#assign iloscStarychPrzedluzen = iloscPrzedluzen - 1>
645 <#assign iteracja = 1>
646 <#if iloscPrzedluzen gt 0>
647 <#list przedluzenieTerminu as pd>
648 <#assign isPdLengthCorrect = pd.text?matches("[0-9]{8}|[0-9]{12}")>
649 <#if pd.text?has_content && isPdLengthCorrect>
650 <#assign przedluz = pd.text>
651 <#assign pattern = dateUtil.getISOFormat(przedluz).toPattern()>
652 <div class="blok <#if iteracja lte iloscStarychPrzedluzen> przekreslone</#if>">
653 <span class="etykietaPola"><b>Przedłużenie terminu do dnia</b>:</span>
654
655 <#assign y = dateUtil.getDate(przedluz?date(pattern), pattern, locale)>
656 <#assign dzien = dateUtil.getDate(y?date(pattern), "dd.MM.yyyy", locale)>
657 <#assign godz = dateUtil.getDate(y?date(pattern), "HH:mm", locale)>
658 ${dzien} <#if godz!="00:00">, godzina ${godz} </#if>
659 </div>
660 <#assign iteracja = iteracja + 1>
661 <#else>
662 <#assign errors = errors + ["Nieprawidłowy format przedłużenia terminu (${checkVer(article.getVersion())}):" + " <b> ${pd.text} </b> <br/>"]>
663 </#if>
664 </#list>
665 </#if>
666
667 <@setAndDisplayPriceField/>
668
669 <#if kontakt?has_content>
670 <div class="blok"><span class="etykietaPola"><b>Kontakt</b>:</span> ${kontakt} </div>
671 </#if>
672
673 <#if statusCategory?has_content>
674 <div class="blok"><span class="etykietaPola"><b>Status</b>:</span> ${statusCategory} </div>
675 </#if>
676 </div>
677
678 <div class="zawartosc">
679 <#if !httpUtil.getParameter(currentUrl, 'link', false)?has_content>
680 <#if links?size gt 0>
681 <#list links as link>
682 <#assign nazwaPliku = link.elements()?last.getText()>
683 <#if nazwaPliku?has_content>
684 <#assign typ = link.selectSingleNode("dynamic-element[@name='typ']/dynamic-content").text>
685 <#assign plik = link.selectSingleNode("dynamic-element[@name='plik']/dynamic-content").text>
686 <#assign typTresci = link.selectSingleNode("dynamic-element[@name='typTresci']/dynamic-content").text>
687 <#assign tresc = link.selectSingleNode("dynamic-element[@name='tresc']/dynamic-content").text>
688
689 <#if typ == 'plik'>
690 <@displayFile DLfileUrl = plik linkName=nazwaPliku/>
691
692 <#elseif typ == 'tresc'>
693 <div class="file">
694 <#if typTresci == 'uwaga'>
695 <a class="uwaga" href="${currentRenderUrl}&groupId=${longGroupId}&articleId=${articleId}&przejdzDo=${aktVer}&link=${link_index?string}">${nazwaPliku}</a>
696 <#elseif typTresci =='ogloszenie'>
697 <a class="ogloszenie" href="${currentRenderUrl}&groupId=${longGroupId}&articleId=${articleId}&przejdzDo=${aktVer}&link=${link_index?string}">${nazwaPliku}</a>
698 <#elseif typTresci =='zawiadomienie'>
699 <a class="zawiadomienie" href="${currentRenderUrl}&groupId=${longGroupId}&articleId=${articleId}&przejdzDo=${aktVer}&link=${link_index?string}">${nazwaPliku}</a>
700 <#elseif typTresci =='informacja'>
701 <a class="informacja" href="${currentRenderUrl}&groupId=${longGroupId}&articleId=${articleId}&przejdzDo=${aktVer}&link=${link_index?string}">${nazwaPliku}</a>
702 </#if>
703 </div>
704 </#if>
705 </#if>
706 </#list>
707 </#if>
708 </div> <#-- end of .zawartosc -->
709
710 <#elseif httpUtil.getParameter(currentUrl, 'link', false) == linkTrescOgloszenia>
711 <a href="${currentRenderUrl}&groupId=${longGroupId}&articleId=${articleId}" id="powrot"></a>
712 <div class="blok-zawartosci">
713 <h3 class="etykietaPola">Treść ogłoszenia</h3>
714 <#if trescOgloszenia?has_content>
715 ${trescOgloszenia}
716 </#if>
717 </div>
718 </div> <#-- end of .zawartosc -->
719
720 <#else>
721 <a href="${currentRenderUrl}&groupId=${longGroupId}&articleId=${articleId}" id="powrot"></a>
722 <div class="blok-zawartosci">
723 <#list links as file>
724 <#if file_index?string == httpUtil.getParameter(currentUrl, 'link', false)>
725 <p class="etykietaPola">${file.data}</p>
726 ${file.selectSingleNode("dynamic-element[@name='tresc']/dynamic-content").text}
727 </#if>
728 </#list>
729 </div>
730 </div> <#-- end of .zawartosc -->
731 </#if>
732
733 </div><#-- end of tresc -->
734
735 <#-- Checking startDate -->
736 <#if startDateAdvertisment?has_content>
737 <#assign isStartDateAdvertismentCorrect = startDateAdvertisment?matches("[0-9]{8}|[0-9]{12}")>
738 <#if !isStartDateAdvertismentCorrect>
739 <#assign errors = errors + ["Nieprawidłowy format daty publikacji (${checkVer(article.getVersion())}):" + " <b> ${startDateAdvertisment} </b> <br/>"]>
740 </#if>
741 </#if>
742
743 <#-- Displaying errors from wrong structure configuration -->
744 <@displayErrors />
745
746<#-- Displaying current article version-->
747<#else>
748 <#assign article = journalArticleService.getArticle(longGroupId, .vars['reserved-article-id'].data)>
749
750 <#assign tytul = tytul.getData()>
751 <#assign opis = opis.getData()>
752 <#assign nrSprawy = nrSprawy.getData()>
753 <#assign trescOgloszenia = trescOgloszenia.getData()>
754 <#assign kontakt = kontakt.getData()>
755 <#assign endDateAdvertisment = endDate.getData()>
756 <#assign startDateAdvertisment = startDate.getData()>
757
758 <@setStatusStyleAndDisplayHistory article=article/>
759
760 <div id="tresc">
761 <#if tytul?has_content>
762 <h2>${tytul}</h2>
763 <#elseif .vars['reserved-article-title'].data?has_content>
764 <h2>${.vars['reserved-article-title'].data}</h2>
765 </#if>
766
767 <div class="naglowek ${statusStyle}">
768 <#if opis?has_content>
769 <div class="blok"><span class="etykietaPola"><b>Opis</b>:</span>
770 <a id="descLink" href="${currentRenderUrl}&groupId=${longGroupId}&articleId=${articleId}&link=${linkTrescOgloszenia}">${opis}</a>
771 </div>
772 </#if>
773
774 <#if nrSprawy?has_content>
775 <div class="blok"><span class="etykietaPola"><b>Nr sprawy</b>:</span> ${nrSprawy} </div>
776 </#if>
777
778 <#if endDateAdvertisment?has_content>
779 <#assign isEndDateAdvertismentCorrect = endDateAdvertisment?matches("[0-9]{8}|[0-9]{12}")>
780 <#if isEndDateAdvertismentCorrect>
781 <#assign pattern = dateUtil.getISOFormat(endDateAdvertisment).toPattern()>
782 <div class="blok"><span class="etykietaPola"><b>Termin składania ofert</b>:</span>
783 <#assign y = dateUtil.getDate(endDateAdvertisment?date(pattern), pattern, locale)>
784 <#assign dzien = dateUtil.getDate(y?date(pattern), "dd.MM.yyyy", locale)>
785 <#assign godz = dateUtil.getDate(y?date(pattern), "HH:mm", locale)>
786 ${dzien} <#if godz!="00:00">, godzina ${godz} </#if>
787 </div>
788 <#else>
789 <#assign errors = errors + ["Nieprawidłowy format terminu składania ofert (${checkVer(.vars['reserved-article-version'].data)}):" + " <b> ${endDateAdvertisment} </b> <br/>"]>
790 </#if>
791 </#if>
792
793 <@setAndDisplayPrzedluzeniaTerminu przedluzenieTerminu=przedluzenieTerminu />
794
795 <@setAndDisplayPriceField/>
796
797 <#if kontakt?has_content>
798 <div class="blok"><span class="etykietaPola"><b>Kontakt</b>:</span> ${kontakt} </div>
799 </#if>
800
801 <#if statusCategory?has_content>
802 <div class="blok"><span class="etykietaPola"><b>Status</b>:</span> ${statusCategory} </div>
803 </#if>
804 </div>
805
806 <div class="zawartosc">
807 <#if !httpUtil.getParameter(currentUrl, 'link', false)?has_content>
808 <#list link.getSiblings() as x>
809 <#if x.data?has_content>
810 <#assign nazwaPliku = x.data>
811
812 <#if x.getChild('typ').data == 'plik'>
813 <@displayFile DLfileUrl = x.getChild('plik').data linkName=nazwaPliku/>
814 <#elseif x.getChild('typ').data == 'tresc'>
815 <div class="file">
816 <#if x.getChild('typTresci').data == 'uwaga'>
817 <a class="uwaga" href="${currentRenderUrl}&groupId=${longGroupId}&articleId=${articleId}&link=${x_index}">${nazwaPliku}</a>
818 <#elseif x.getChild('typTresci').data=='ogloszenie'>
819 <a class="ogloszenie" href="${currentRenderUrl}&groupId=${longGroupId}&articleId=${articleId}&link=${x_index}">${nazwaPliku}</a>
820 <#elseif x.getChild('typTresci').data=='zawiadomienie'>
821 <a class="zawiadomienie" href="${currentRenderUrl}&groupId=${longGroupId}&articleId=${articleId}&link=${x_index}">${nazwaPliku}</a>
822 <#elseif x.getChild('typTresci').data=='informacja'>
823 <a class="informacja" href="${currentRenderUrl}&groupId=${longGroupId}&articleId=${articleId}&link=${x_index}">${nazwaPliku}</a>
824 </#if>
825 </div>
826 </#if>
827 </#if>
828 </#list>
829 </div> <#-- end of .zawartosc -->
830
831 <#elseif httpUtil.getParameter(currentUrl, 'link', false) == linkTrescOgloszenia>
832 <a href="${currentRenderUrl}&groupId=${longGroupId}&articleId=${articleId}" id="powrot"></a>
833 <div class="blok-zawartosci">
834 <h3 class="etykietaPola">Treść ogłoszenia</h3>
835 <#if trescOgloszenia?has_content>
836 ${trescOgloszenia}
837 </#if>
838 </div>
839 </div> <#-- end of .zawartosc -->
840
841 <#else>
842 <a href="${currentRenderUrl}&groupId=${longGroupId}&articleId=${articleId}" id="powrot"></a>
843 <div class="blok-zawartosci">
844 <#list link.getSiblings() as file>
845 <#if file_index?string == httpUtil.getParameter(currentUrl, 'link', false)>
846 <h3 class="etykietaPola">${file.data}</h3>
847 ${file.getChild('tresc').data}
848 </#if>
849 </#list>
850 </div>
851 </div> <#-- end of .zawartosc -->
852 </#if>
853
854 </div><#-- end of tresc -->
855
856 <#-- Checking startDate -->
857 <#if startDateAdvertisment?has_content>
858 <#assign isStartDateAdvertismentCorrect = startDateAdvertisment?matches("[0-9]{8}|[0-9]{12}")>
859 <#if !isStartDateAdvertismentCorrect>
860 <#assign errors = errors + ["Nieprawidłowy format daty publikacji (${checkVer(.vars['reserved-article-version'].data)}):" + " <b> ${startDateAdvertisment} </b> <br/>"]>
861 </#if>
862 </#if>
863
864 <#-- Displaying errors from wrong structure configuration -->
865 <@displayErrors />
866
867</#if>
868
869<#-- Displaying article history-->
870<#if displayHistory>
871 <#assign articleVersions = journalArticleService.getArticles(longGroupId, articleId)>
872
873 <a id="czytaj" tabindex="0" aria-expanded="false"> <i class="icon icon-info"></i> Dziennik zmian dokumentu</a>
874
875 <div id="archiwum" aria-hidden="true" style="display: none;">
876 <#list articleVersions as articleVersion>
877 <#assign version = articleVersion.getVersion()>
878 <#assign dataMod = dateUtil.getDate(articleVersion.getModifiedDate(), "dd.MM.yyyy HH:mm", locale, timeZoneUtil.getDefault())>
879 <#if version?number == 1.0 && odpowiedzialny?has_content>
880 <#assign userMod = odpowiedzialny.getData()>
881 <#else>
882 <#assign userMod = articleVersion.getUserName()>
883 </#if>
884 <p style="margin-left: 3px;">
885 <#if aktVer?number != version?number>
886 Pokaż <a class="archival-link" href="${currentRenderUrl}&groupId=${groupId}&articleId=${articleId}&przejdzDo=${checkVer(version)}">wersję ${checkVer(version)}</a>,
887 <#else>
888 Przeglądasz <b>wersję ${checkVer(version)}</b>,
889 </#if>
890 <span class="description"><#if version?number == 1.0>data opublikowania:<#else>data aktualizacji:</#if></span>
891 ${dataMod},
892 <span class="description"><#if version?number == 1.0>dokument opublikowany przez:<#else>zaktualizował:</#if></span>
893 ${userMod}
894 </p>
895 </#list>
896 </div>
897</#if>
898
899<script type="text/javascript">
900 jQuery(document).ready(
901 function ()
902 {
903 var pokaz = true;
904 jQuery("${plid} #archiwum").hide();
905
906 jQuery("${plid} .czytaj").each(function(e){
907
908 var e = true;
909
910 jQuery(this).click(function() {
911 jQuery(this).next(".archiwum").slideToggle("fast");
912
913 if (e==true)
914 {
915 jQuery(this).html('<i class="icon icon-info"></i> Ukryj dziennik zmian pliku');
916 jQuery(this).addClass("open");
917 e=false;
918 }
919 else {
920 e=true;
921 jQuery(this).removeClass("open");
922 jQuery(this).html('<i class="icon icon-info"></i> Dziennik zmian pliku');
923 }
924
925 });
926 });
927
928 jQuery("${plid} #czytaj").click(function () {
929 jQuery("${plid} #archiwum").slideToggle("fast");
930 if (pokaz==true)
931 {
932 jQuery(this).html('<i class="icon icon-info"></i> Ukryj dziennik zmian dokumentu');
933 jQuery(this).addClass("open");
934 pokaz=false;
935 }
936 else {
937 pokaz=true;
938 jQuery(this).removeClass("open");
939 jQuery(this).html('<i class="icon icon-info"></i> Dziennik zmian dokumentu');
940 }
941 });
942 }
943 );
944</script>