Widok zawartości stron 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>&nbsp;Dziennik&nbsp;zmian&nbsp;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&nbsp;zmian&nbsp;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&nbsp;zmian&nbsp;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&nbsp;zmian&nbsp;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&nbsp;zmian&nbsp;dokumentu'); 
940
941            }); 
942
943    ); 
944</script>