Widok zawartości stron (Stanowiska badawcze) Widok zawartości stron (Stanowiska badawcze)

Wystąpił błąd podczas przetwarzania szablonu.
Error on line 221, column 13 in 10112#37001#147174983
fileEntryService.getFileEntryByUuidAndGroupId(uuid, getterUtil.getLong(fileGroup)) is undefined.
It cannot be assigned to file
1<#assign plid = ''> 
2<#if request['portlet-namespace']??> 
3	<#assign plid = "#p_p_id"+ request['portlet-namespace'] > 
4</#if> 
5 
6<style type="text/css"> 
7    ${plid} p {color: #333;} 
8    #high-contrast ${plid}  p{color: #fff;} 
9         
10    ${plid} ul li{color: #333;} 
11 
12    ${plid} .back{	font-size: 1rem; display: inline-block; 	margin-right: .5rem;} 
13 
14    ${plid} a:link{text-decoration:none; color: #00519E;} 
15    #high-contrast ${plid} a:link{color: #ffe800;} 
16 
17    ${plid} a:visited{text-decoration:none; color: #005ca7;} 
18 
19    ${plid} a.download { 
20         color: #292727; 
21         display: inline-block; 
22         width: 70%; 
23         padding: .25rem 0 0.25rem 1.5rem; 
24
25 
26    .view-lt720 ${plid} a.download { 
27                     display: block; width: 100%; 
28
29 
30 
31    ${plid} a:hover.download {color: #00519E; padding: .25rem 0 0.25rem 1.75rem;} 
32    #high-contrast ${plid} a.download{color: #fff !important;} 
33    #high-contrast ${plid} a:hover.download{color: #FFE800 !important;} 
34 
35    ${plid} a.cdr { background: url('//www.uj.edu.pl/html/themes/control_panel/images/file_system/small/cdr.png') no-repeat left center;} 
36    ${plid} a.eps { background: url('//www.uj.edu.pl/html/themes/control_panel/images/file_system/small/eps.png') no-repeat left center;} 
37    ${plid} a.pdf { background: url('//www.uj.edu.pl/html/themes/control_panel/images/file_system/small/pdf.png') no-repeat left center;} 
38    ${plid} a.rtf { background: url('//www.uj.edu.pl/html/themes/control_panel/images/file_system/small/rtf.png') no-repeat left center;} 
39    ${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;} 
40    ${plid} a.ai { background: url('//www.uj.edu.pl/html/themes/control_panel/images/file_system/small/ai.png') no-repeat left center;} 
41    ${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;} 
42    ${plid} a.jpg { background: url('//www.uj.edu.pl/html/themes/control_panel/images/file_system/small/jpg.png') no-repeat left center;} 
43    ${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;} 
44    ${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;} 
45    ${plid} a.zip { background: url('//www.uj.edu.pl/html/themes/control_panel/images/file_system/small/zip.png') no-repeat left center;} 
46    ${plid} a.swf { background: url('//www.uj.edu.pl/html/themes/control_panel/images/file_system/small/swf.png') no-repeat left center;} 
47    ${plid} a.txt { background: url('//www.uj.edu.pl/html/themes/control_panel/images/file_system/small/txt.png') no-repeat left center;} 
48    ${plid} a.csv { background: url('//www.uj.edu.pl/html/themes/control_panel/images/file_system/small/csv.png') no-repeat left center;} 
49    ${plid} a.gif { background: url('//www.uj.edu.pl/html/themes/control_panel/images/file_system/small/gif.png') no-repeat left center;} 
50    ${plid} a.odt { background: url('//www.uj.edu.pl/html/themes/control_panel/images/file_system/small/odt.png') no-repeat left center;} 
51    ${plid} a.xml { background: url('//www.uj.edu.pl/html/themes/control_panel/images/file_system/small/xml.png') no-repeat left center;} 
52    ${plid} a.tiff { background: url('//www.uj.edu.pl/html/themes/control_panel/images/file_system/small/tiff.png') no-repeat left center;} 
53    ${plid} a.png { background: url('//www.uj.edu.pl/html/themes/control_panel/images/file_system/small/png.png') no-repeat left center;} 
54    ${plid} a.css { background: url('//www.uj.edu.pl/html/themes/control_panel/images/file_system/small/css.png') no-repeat left center;} 
55    ${plid} a.js { background: url('//www.uj.edu.pl/html/themes/control_panel/images/file_system/small/js.png') no-repeat left center;} 
56 
57    ${plid} .stopka { color: #bbb; font-size: .85rem; display: none;} 
58    ${plid} .stopka a:link { color: #bbb; font-size: .85rem; text-decoration-line: underline;} 
59    #hign-contrast ${plid} .stopka a:link { color: #FFE800;} 
60    ${plid} .stopka a:hover {color: #aaa} 
61    ${plid} .permission-error{color: #dd0000;} 
62    ${plid} .permission-info{margin-top: 1em;} 
63 
64    ${plid} .komunikat{color: #aaa;} 
65    ${plid} .komunikat a:link{color: #8cb1d4;} 
66 
67    ${plid} .file { 
68         margin: 1rem 0 .5rem 0; 
69         padding: .5rem 1rem; 
70         background: #fcfcfc; 
71
72    #high-contrast ${plid} .file{background: #030303;} 
73 
74    ${plid} .czytaj{ 
75         cursor: pointer; 
76         text-decoration: none; 
77         float: right; 
78         padding: .25rem .5rem; 
79
80 
81    .view-lt720 ${plid} .czytaj{ 
82                     float: none; 
83                     padding: 1rem; 
84
85 
86    ${plid} .archiwum{ 
87         border: 1px dashed #eee; 
88         padding: 0.125rem; 
89         font-size: 0.725rem; 
90
91 
92    ${plid}  #czytaj{cursor: pointer; background: #f9f9f9;} 
93    #high-contrast ${plid}  #czytaj{cursor: pointer; background: #090909;} 
94 
95    ${plid} .czytaj:hover{color: #000; text-decoration: none;} 
96    #high-contrast ${plid}  .czytaj:hover{color: #fff;} 
97 
98    ${plid}  #archiwum{background: #f0f0f0;} 
99    #high-contrast ${plid}  #archiwum{background: #101010;} 
100 
101    ${plid} #czytaj, ${plid} #archiwum{display: block; 
102                        font-family: 'Libre Baskerville', serif; 
103                        font-size: .85rem; 
104                        padding: 15px 45px 15px 30px; 
105                        position: relative; 
106                        text-decoration: none; 
107                        height: auto; 
108                        border-bottom: 1px #e0e0e0 solid; 
109
110 
111    ${plid} #czytaj:before { 
112         font-family: 'icomoon'; 
113         speak: none; 
114         font-style: normal; 
115         font-weight: normal; 
116         font-variant: normal; 
117         text-transform: none; 
118         line-height: 1; 
119         vertical-align: middle; 
120         -webkit-font-smoothing: antialiased; 
121         content: "\e60d"; 
122         width: auto; 
123         position: absolute; 
124         top: 15px; 
125         bottom: 0; 
126         right: 30px; 
127         color: #aaaaaa; 
128         font-size: 20px; 
129         font-size: 1.25rem; 
130
131    #high-contrast #czytaj:before {color: #eee;} 
132 
133    ${plid} #czytaj.open:before{ 
134         content: "\e60e"; 
135     //color: #005ca7; 
136
137    ${plid} .works-activities{ 
138         background: #f8f8f8; 
139         padding: 0rem 1rem 1rem 1rem; 
140         margin: 2rem 0 .5rem 0; 
141         border: 1px dashed #ddd; 
142
143    .info{ 
144        padding: 1rem; 
145        background: #fff7aa; 
146
147    ${plid} .description{ 
148         color: #999; 
149
150 
151    ${plid} .archival { 
152                font-family: 'Libre Baskerville', serif; 
153                color:#222; 
154                padding: 1rem; 
155                background: #fff7aa; 
156
157    #high-contrast .archival{ 
158        color: #fff; 
159        background: #000122; 
160
161 
162    ${plid} .archival-current{ 
163                color:#e80000; 
164
165    #high-contrast .archival-current{ 
166        color: #fff; 
167
168 
169    #tresc {position: relative; 
170        font-family: 'Libre Baskerville', serif; 
171        margin-bottom: 1.5rem;} 
172 
173    .etykietaPola{ 
174        color: #00519e; 
175
176 
177    .blok{ 
178        margin-bottom:4px; 
179
180 
181     #high-contrast .etykietaPola {color: #FFE800;} 
182 
183    ${plid} .description{color: #999;} 
184    #high-contrast ${plid} .description{color: #fff;} 
185    #high-contrast ${plid} .file a{color: #FFE800;} 
186    #high-contrast ${plid} .file a:visited {color: #FFE800 !important;} 
187    #high-contrast ${plid} .download{color: #FFE800 !important;} 
188    #high-contrast ${plid} a.download{color: #FFE800 !important;} 
189    #high-contrast ${plid} a.archival-link{color: #FFE800 !important;} 
190    #high-contrast ${plid} a:visited.archival-link {color: #FFE800 !important;} 
191    #high-contrast ${plid} .archiwum li {color: #fff ;} 
192    #high-contrast ${plid} li {color: #fff ;} 
193</style> 
194 
195    <#-- Services --> 
196    <#assign fileEntryService = serviceLocator.findService("com.liferay.portlet.documentlibrary.service.DLFileEntryLocalService")> 
197    <#assign assetEntryService = serviceLocator.findService("com.liferay.portlet.asset.service.AssetEntryLocalService")> 
198    <#assign assetCategoryService = serviceLocator.findService("com.liferay.portlet.asset.service.AssetCategoryLocalService")> 
199    <#assign journalArticleService = serviceLocator.findService("com.liferay.portlet.journal.service.JournalArticleLocalService")> 
200    <#assign userGroupRoleService = serviceLocator.findService("com.liferay.portal.service.UserGroupRoleLocalService")> 
201 
202    <#-- Macros --> 
203    <#macro fileFromDLUrlWithVersion DLfileUrl displayName> 
204        <#assign fileTitle = ""> 
205        <#assign fileExtension = ""> 
206        <#assign fileGroup = ""> 
207        <#assign fileFolder = ""> 
208        <#assign fileName = ""> 
209        <#assign file = ""> 
210 
211        <#assign fileGroup = getterUtil.getLong(DLfileUrl?replace('.*documents/(.*?)/.*', '$1', 'r') )> 
212        <#assign fileFolder = getterUtil.getLong(DLfileUrl?replace('.*documents/.*?/(.*?)/.*' ,'$1', 'r'))> 
213        <#assign fileName = DLfileUrl?replace(".*/documents/${fileGroup}/${fileFolder}/(.*?)/.*", '$1', 'r')> 
214 
215        <#assign indexOf = DLfileUrl?last_index_of("/") + 1> 
216        <#if indexOf gt 1> 
217            <#assign uuid = DLfileUrl?substring(indexOf)> 
218        </#if> 
219 
220        <#if uuid?has_content && uuid?length == 36> 
221            <#assign file = fileEntryService.getFileEntryByUuidAndGroupId(uuid, getterUtil.getLong(fileGroup))> 
222        <#else> 
223            <#assign file = fileEntryService.getFileEntry(fileGroup, fileFolder, fileName)> 
224        </#if> 
225 
226        <#assign fileTitle = file.title> 
227        <#assign fileExtension = file.extension> 
228        <#assign fileSize = file.size> 
229        <#assign fileVersions = file.getFileVersions(0)> 
230        <div class="file"> 
231            <a href="${DLfileUrl}" class="download <#if fileExtension?has_content>${fileExtension}</#if> 
232                                "><#if displayName?has_content>${displayName}<#else>${fileName}</#if></a> 
233            <a class="czytaj" tabindex="0" aria-expanded="false"> 
234                <i class="icon icon-info"></i>&nbsp;Dziennik&nbsp;zmian&nbsp;pliku 
235            </a> 
236            <div class="archiwum" aria-hidden="true" style="display: none;"> 
237                <#if true> 
238                    <ul><#list fileVersions as fileVersion> 
239                        <li> 
240                            <a href="${DLfileUrl}?version=${fileVersion.getVersion()}">Wersja: ${fileVersion.getVersion()}</a>, 
241                            Data publikacji: ${dateUtil.getDate(fileVersion.getModifiedDate(), "yyyy-MM-dd HH:mm", locale, timeZoneUtil.getDefault())} 
242                            ${fileVersion.getUserName()} 
243                            [#{fileVersion.getSize()/1000000; m2} MB] 
244                        </li> 
245                        </#list> 
246                    </ul> 
247                <#else> 
248                    Nieprawidłowa nazwa pliku 
249                </#if> 
250            </div> <#-- end of archiwum --> 
251        </div> 
252    </#macro> 
253 
254    <#function checkVer ver> 
255        <#if ver?string?contains(".")> 
256            <#return ver> 
257        <#else> 
258            <#return ver + ".0"> 
259        </#if> 
260    </#function> 
261 
262    <#assign errors = []> 
263    <#macro displayErrors> 
264        <#if permissionChecker.getUserId() gt 1000> 
265            <#assign sprRedaktorWitryny = userGroupRoleService.hasUserGroupRole(permissionChecker.getUserId(), groupId, "Redaktor witryny")> 
266        </#if> 
267        <#if sprRedaktorWitryny && errors?size gt 0> 
268            <div style="border: 1px solid #ddd; padding: 1rem; margin: 1rem 0rem 2rem 0rem; background: #ffef00"> 
269                <#list errors as error> 
270                    ${error} 
271                </#list> 
272            </div> 
273        </#if> 
274    </#macro> 
275 
276    <#-----------Predefined and request variables-----------> 
277    <#assign getterUtil = staticUtil["com.liferay.portal.kernel.util.GetterUtil"] /> 
278    <#assign longGroupId = getterUtil.getLong(groupId)> 
279    <#setting locale = locale.toString()> 
280 
281    <#-------------------Article variables------------------> 
282    <#assign articleId = .vars['reserved-article-id'].data> 
283    <#assign articleVersion = .vars['reserved-article-version'].data> 
284 
285    <#assign article = journalArticleService.getArticle(longGroupId, articleId)> 
286    <#assign artPrimKey = article.getResourcePrimKey()> 
287    <#assign model = 'com.liferay.portlet.journal.model.JournalArticle'> 
288    <#assign asset = assetEntryService.getEntry(model, artPrimKey)> 
289 
290    <#-- Checking version--> 
291    <#assign aktVer = articleVersion> 
292    <#assign currentCompleteUrl = ''> 
293	<#if request['attributes']??> 
294		 <#assign currentCompleteUrl = request['attributes']['CURRENT_COMPLETE_URL'] /> 
295	</#if> 
296	<#assign currentRenderUrl = ''> 
297	<#if request['render-url']??> 
298		 <#assign currentRenderUrl = request['render-url'] /> 
299	</#if> 
300 
301    <#assign przejdzDo = httpUtil.getParameter(currentCompleteUrl, 'przejdzDo', false)> 
302 
303    <#if przejdzDo?has_content> 
304        <#assign aktVer = przejdzDo> 
305    </#if> 
306     
307<article class="article"> 
308 
309    <#-- Displaying archival article--> 
310    <#if aktVer != articleVersion> 
311        <p class="archival"> 
312            Niniejszy dokument <span class="archival-current">${aktVer} jest wersją archiwalną</span>. 
313            Przejdź do <a href="${request['render-url']}&groupId=${groupId}&articleId=${articleId}&przejdzDo=${articleVersion}">najnowszej wersji</a> (${articleVersion}). 
314        </p> 
315 
316        <#assign aktualna = journalArticleService.getArticle(longGroupId, articleId, getterUtil.getDouble(aktVer)) > 
317        <#assign content = aktualna.getContentByLocale(locale)> 
318        <#assign v = content?replace('<br>', '<br/>', 'r')> 
319        <#assign document = saxReaderUtil.read(content)> 
320        <#assign root = document.getRootElement()> 
321 
322        <#assign tytul = root.selectSingleNode("dynamic-element[@name='tytul']/dynamic-content").text> 
323        <#assign endDateOffer = root.selectSingleNode("dynamic-element[@name='endDate']/dynamic-content").text> 
324        <#assign opis = root.selectSingleNode("dynamic-element[@name='opis']/dynamic-content").text> 
325        <#assign stanowisko = root.selectSingleNode("dynamic-element[@name='stanowisko']/dynamic-content").text> 
326        <#assign jednostka = root.selectSingleNode("dynamic-element[@name='jednostka']/dynamic-content").text> 
327        <#assign displayNames = root.selectNodes("dynamic-element[@name='displayName']")> 
328        <#assign podmiotWydajacy = root.selectSingleNode("dynamic-element[@name='podmiotWydajacy']/dynamic-content").text> 
329        <#assign startDateOffer = root.selectSingleNode("dynamic-element[@name='startDate']/dynamic-content").text> 
330 
331		<#if tytul?has_content> 
332			<div class="page-sub-heading"> 
333				<h2 class="page-sub-heading__title">${tytul}</h2> 
334			</div> 
335		</#if> 
336		<div class="article__content"> 
337            <#if opis?has_content> 
338                <div class="blok"> 
339                    <#if opis?matches('w sprawie.*') > <span class="etykietaPola">W sprawie:</span> ${opis?replace('w sprawie(.*)','$1', 'r')} 
340                    <#else> <span style="color: #00519e;"></span> ${opis} 
341                    </#if> 
342                </div> 
343            </#if> 
344 
345            <#if stanowisko?has_content> 
346                <div class="blok"><span class="etykietaPola">Stanowisko:</span> ${stanowisko} </div> 
347            </#if> 
348 
349            <#if jednostka?has_content> 
350                <div class="blok"><span class="etykietaPola">Jednostka:</span> ${jednostka}	</div> 
351            </#if> 
352 
353            <#if endDateOffer?has_content> 
354                <#assign isendDateOfferCorrect = endDateOffer?matches("[0-9]{8}|[0-9]{12}")> 
355                <#if isendDateOfferCorrect> 
356                    <#assign patternEnd = dateUtil.getISOFormat(endDateOffer).toPattern()> 
357                    <div class="blok"><span class="etykietaPola">Termin składania dokumentów:</span> 
358                        <#assign endDateObject = dateUtil.getDate(endDateOffer?date(patternEnd), patternEnd, locale)> 
359                        <#assign dzien = dateUtil.getDate(endDateObject?date(patternEnd), "dd.MM.yyyy", locale)> 
360                        <#assign godz = dateUtil.getDate(endDateObject?date(patternEnd), "HH:mm", locale)> 
361                        ${dzien} <#if godz!="00:00">, godzina ${godz} </#if> 
362                    </div> 
363                <#else> 
364                    <#assign errors = errors + ["Nieprawidłowy format terminu składania dokumentów (${aktualna.getVersion()}):" + " <b> ${endDateOffer} </b> <br/>"]> 
365                </#if> 
366            </#if> 
367 
368            <#if podmiotWydajacy?has_content> 
369                <div class="blok"> 
370                    <span class="etykietaPola">Wytworzył:</span> ${podmiotWydajacy} 
371                </div> 
372            </#if> 
373 
374            <#if startDateOffer?has_content> 
375                <#assign isStartDateOfferCorrect = startDateOffer?matches("[0-9]{8}|[0-9]{12}")> 
376                <#if isStartDateOfferCorrect> 
377                    <#assign patternStart = dateUtil.getISOFormat(startDateOffer).toPattern()> 
378                    <div class="blok"><span class="etykietaPola">Data wytworzenia:</span> 
379                        <#assign startDateObject = dateUtil.getDate(startDateOffer?date(patternStart), patternStart, locale)> 
380                        <#assign dzienWytw = dateUtil.getDate(startDateObject?date(patternStart), "dd.MM.yyyy", locale)> 
381                        <#assign godzWytw = dateUtil.getDate(startDateObject?date(patternStart), "HH:mm", locale)> 
382                        ${dzienWytw} <#if godzWytw != "00:00">, godzina ${godzWytw} </#if> 
383                    </div> 
384                <#else> 
385                    <#assign errors = errors + ["Nieprawidłowy format terminu wytworzenia oferty (${aktualna.getVersion()}):" + " <b> ${startDateOffer} </b> <br/>"]> 
386                </#if> 
387            </#if> 
388 
389            <#if displayNames?has_content> 
390                <#list displayNames as i> 
391                    <#assign fileAddress = i.selectSingleNode("dynamic-element[@name='plik']/dynamic-content").text> 
392                    <#assign displayName = i.elements()?last.getText()> 
393                    <#if fileAddress?has_content> 
394                        <@fileFromDLUrlWithVersion DLfileUrl=fileAddress displayName=displayName/> 
395                    </#if> 
396                </#list> 
397            </#if> 
398        </div> 
399 
400        <#-- Comparing startDate and endDate --> 
401        <#if startDateObject?has_content && endDateObject?has_content> 
402            <#assign isEndBeforeStart = dateUtil.compareTo(startDateOffer?date(patternStart), endDateOffer?date(patternEnd))> 
403            <#if isEndBeforeStart == 1> 
404                <#assign errors = errors + ["Nieprawidłowa kolejność dat (${checkVer(aktualna.getVersion())}): <b>Data wytworzenia jest później od terminu składani ofert</b>"]> 
405            </#if> 
406        </#if> 
407 
408        <#-- Displaying errors from wrong structure configuration --> 
409        <@displayErrors /> 
410 
411        <#-- Displaying more specific article information--> 
412        <div class="stats" style="margin:4px 0 4px 0; padding: 10px 0 15px 0; font-size: 0.8em;"> 
413            <span style="color: #a8a8a8;">Data publikacji: ${aktualna.getCreateDate()?datetime}</span>  <br/> 
414 
415            <span style="color: #a8a8a8;">Osoba publikująca: ${.vars['reserved-article-author-name'].data}</span> 
416            <br/> 
417 
418            <#-- Ilość wyświetleń widoczna tylko dla administratorów z danej organizacji/społeczności oraz administratorów zwykłych i deweloperów zwykłych--> 
419            <#assign userRoleService = serviceLocator.findService("com.liferay.portal.service.RoleLocalService")> 
420 
421            <#assign rolaAdmin = userRoleService.getRole(getterUtil.getLong(companyId), "Administrator").getRoleId()> 
422            <#assign sprAdmina = userRoleService.hasUserRole(permissionChecker.getUserId(), rolaAdmin)> 
423            <#assign rolaDev = userRoleService.getRole(getterUtil.getLong(companyId), "Developer").getRoleId()> 
424            <#assign sprDev = userRoleService.hasUserRole(permissionChecker.getUserId(), rolaDev)> 
425 
426            <#assign listaRol = userRoleService.getUserGroupRoles(getterUtil.getLong(permissionChecker.getUserId()), getterUtil.getLong(groupId))> 
427            <#assign admini = false> 
428            <#list listaRol as x> 
429                <#if x.getName() == "Redaktor" || x.getName() == "Redaktor witryny" || x.getName() == "Koordynator witryny"> 
430                    <#assign admini = true> 
431                </#if> 
432            </#list> 
433 
434            <#if (admini == true) || (sprAdmina?has_content) || (sprDev?has_content)> 
435                <div style="margin:0px; padding: 0px;"> 
436                    <span style="color: #a8a8a8;">Ilość wyświetleń: ${asset.getViewCount()}</span> 
437                </div> 
438            </#if> 
439        </div> <#--  end of div.article__content -->	  
440    <#-- Displaying current article version--> 
441    <#else> 
442        <#assign tytul = tytul.getData()> 
443        <#assign endDateOffer = endDate.getData()> 
444        <#assign opis = opis.getData()> 
445        <#assign stanowisko = stanowisko.getData()> 
446        <#assign jednostka = jednostka.getData()> 
447        <#assign displayNames = displayName.getData()> 
448        <#assign podmiotWydajacy = podmiotWydajacy.getData()> 
449        <#assign startDateOffer = startDate.getData()> 
450 
451		<#if tytul?has_content> 
452			<div class="page-sub-heading"> 
453				<h2 class="page-sub-heading__title">${tytul}</h2> 
454			</div> 
455		</#if> 
456		<div class="article__content"> 
457 
458            <#if opis?has_content> 
459                <div style="margin-bottom:4px;"> 
460                    ${opis} 
461                </div> 
462            </#if> 
463 
464            <#if stanowisko?has_content> 
465                <div class="blok"><span class="etykietaPola">Stanowisko:</span> ${stanowisko} </div> 
466            </#if> 
467 
468            <#if jednostka?has_content> 
469                <div class="blok"><span class="etykietaPola">Jednostka:</span> ${jednostka} </div> 
470            </#if> 
471 
472            <#if endDateOffer?has_content> 
473                <#assign isEndDateOfferCorrect = endDateOffer?matches("[0-9]{8}|[0-9]{12}")> 
474                <#if isEndDateOfferCorrect> 
475                    <#assign patternEnd = dateUtil.getISOFormat(endDateOffer).toPattern()> 
476                    <div class="blok"><span class="etykietaPola">Termin składania dokumentów:</span> 
477                        <#assign endDateObject = dateUtil.getDate(endDateOffer?date(patternEnd), patternEnd, locale)> 
478                        <#assign dzien = dateUtil.getDate(endDateObject?date(patternEnd), "dd.MM.yyyy", locale)> 
479                        <#assign godz = dateUtil.getDate(endDateObject?date(patternEnd), "HH:mm", locale)> 
480                        ${dzien} <#if godz!="00:00">, godzina ${godz} </#if> 
481                    </div> 
482                <#else> 
483                    <#assign errors = errors + ["Nieprawidłowy format terminu składania dokumentów (${.vars['reserved-article-version'].data}):" + " <b> ${endDateOffer} </b> <br/>"]> 
484                </#if> 
485            </#if> 
486 
487            <#if podmiotWydajacy?has_content> 
488                <div class="blok"> 
489                    <span class="etykietaPola">Wytworzył:</span> ${podmiotWydajacy} 
490                </div> 
491            </#if> 
492 
493            <#if startDateOffer?has_content> 
494                <#assign isStartDateOfferCorrect = startDateOffer?matches("[0-9]{8}|[0-9]{12}")> 
495                <#if isStartDateOfferCorrect> 
496                    <#assign patternStart = dateUtil.getISOFormat(startDateOffer).toPattern()> 
497                    <div class="blok"><span class="etykietaPola">Data wytworzenia:</span> 
498                        <#assign startDateObject = dateUtil.getDate(startDateOffer?date(patternStart), patternStart, locale)> 
499                        <#assign dzienWytw = dateUtil.getDate(startDateObject?date(patternStart), "dd.MM.yyyy", locale)> 
500                        <#assign godzWytw = dateUtil.getDate(startDateObject?date(patternStart), "HH:mm", locale)> 
501                        ${dzienWytw} <#if godzWytw != "00:00">, godzina ${godzWytw} </#if> 
502                    </div> 
503                <#else> 
504                    <#assign errors = errors + ["Nieprawidłowy format terminu wytworzenia oferty (${.vars['reserved-article-version'].data}):" + " <b> ${startDateOffer} </b> <br/>"]> 
505                </#if> 
506            </#if> 
507 
508            <#if displayNames?has_content> 
509                <#list displayName.getSiblings() as i> 
510                    <#assign displayName = i.data> 
511                    <#assign dLfileUrlData = i.getChild('plik').data> 
512                    <#if dLfileUrlData?has_content> 
513                        <@fileFromDLUrlWithVersion DLfileUrl = dLfileUrlData displayName=displayName/> 
514                    </#if> 
515                </#list> 
516            </#if> 
517 
518            <#-- Comparing startDate and endDate --> 
519            <#if startDateObject?has_content && endDateObject?has_content> 
520                <#assign isEndBeforeStart = dateUtil.compareTo(startDateOffer?date(patternStart), endDateOffer?date(patternEnd))> 
521                <#if isEndBeforeStart == 1> 
522                    <#assign errors = errors + ["Nieprawidłowa kolejność dat (${checkVer(.vars['reserved-article-version'].data)}): <b>Data wytworzenia jest później od terminu składani ofert</b>"]> 
523                </#if> 
524            </#if> 
525 
526            <#-- Displaying errors from wrong structure configuration --> 
527            <@displayErrors /> 
528 
529            <#-- Displaying more specific article information--> 
530            <div style="margin:4px 0 4px 0; padding: 10px 0 15px 0; font-size: 0.8em;"> 
531 
532                <#assign articleOldest = journalArticleService.getArticle(longGroupId, articleId)> 
533 
534                <span style="color: #a8a8a8;">Data publikacji: ${dateUtil.getDate(articleOldest.getCreateDate(), "dd.MM.yyyy", locale)}</span>  <br/> 
535 
536                <span style="color: #a8a8a8;">Osoba publikująca: ${.vars['reserved-article-author-name'].data}</span> 
537                <br/> 
538 
539                <#if article.getVersion()?number != 1.0> 
540                    <span style="color: #a8a8a8;">Data ostatniej modyfikacji: ${dateUtil.getDate(article.getModifiedDate(), "dd.MM.yyyy", locale)}</span>  <br/> 
541                </#if> 
542 
543                <#-- Ilość wyświetleń widoczna tylko dla administratorów z danej organizacji/społeczności oraz administratorów zwykłych i deweloperów zwykłych--> 
544 
545                <#assign userRoleService = serviceLocator.findService("com.liferay.portal.service.RoleLocalService")> 
546 
547                <#assign rolaAdmin = userRoleService.getRole(getterUtil.getLong(companyId),"Administrator").getRoleId()> 
548                <#assign sprAdmina = userRoleService.hasUserRole(permissionChecker.getUserId(),rolaAdmin)> 
549                <#assign rolaDev = userRoleService.getRole(getterUtil.getLong(companyId),"Developer").getRoleId()> 
550                <#assign sprDev = userRoleService.hasUserRole(permissionChecker.getUserId(),rolaDev)> 
551 
552                <#assign listaRol = userRoleService.getUserGroupRoles(getterUtil.getLong(permissionChecker.getUserId()), getterUtil.getLong(groupId))> 
553                <#assign admini = false> 
554                <#list listaRol as x> 
555                    <#if x.getName() == "Redaktor" || x.getName() == "Redaktor witryny" || x.getName() == "Koordynator witryny"> 
556                        <#assign admini = true> 
557                    </#if> 
558                </#list> 
559 
560 
561                <#if (admini == true) || (sprAdmina) || (sprDev)> 
562                    <div style="margin:0px; padding: 0px;"> 
563                        <span style="color: #a8a8a8;">Ilość wyświetleń: ${asset.getViewCount()}</span> 
564                    </div> 
565                </#if> 
566 
567            </div> 
568        </div> <#--  end of div.article__content -->	  
569    </#if> 
570	</article> 
571 
572 
573    <#-- Displaying article history--> 
574    <#assign articleVersions = journalArticleService.getArticles(longGroupId, articleId)> 
575 
576    <a id="czytaj" tabindex="0" aria-expanded="false"> <i class="icon icon-info"></i> Dziennik zmian dokumentu</a> 
577 
578    <div id="archiwum" aria-hidden="true" style="display: none;"> 
579 
580        <#list articleVersions as articleVersion> 
581         
582            <#assign version = articleVersion.getVersion()> 
583            <#assign dataMod = dateUtil.getDate(articleVersion.getModifiedDate(), "dd.MM.yyyy HH:mm", locale, timeZoneUtil.getDefault())> 
584            <#assign userMod = articleVersion.getUserName()> 
585            <#assign status = articleVersion.getStatus()> 
586            <#if status==0> 
587	            <p> 
588	                <#if aktVer?number != version?number> 
589	                    Pokaż <a class="archival-link" href="${currentRenderUrl}&groupId=${groupId}&articleId=${articleId}&przejdzDo=${checkVer(version)}">wersję ${checkVer(version)}</a> 
590	                <#else> 
591	                    Przeglądasz <b>wersję ${checkVer(version)}</b> 
592	                </#if> 
593	                <span class="description"><#if version?number == 1.0>Data opublikowania:<#else> Data aktualizacji:</#if></span> 
594	                ${dataMod} 
595	                <span class="description"><#if version?number == 1.0>Dokument opublikowany przez:<#else> Zaktualizował:</#if></span> 
596	                ${userMod} 
597	            </p> 
598	        </#if> 
599        </#list> 
600    </div> 
601 
602    <script type="text/javascript"> 
603        jQuery(document).ready( 
604            function () 
605
606                var pokaz = true; 
607                jQuery("${plid} #archiwum").hide(); 
608 
609                jQuery("${plid} .czytaj").each(function(e){ 
610 
611                    var e = true; 
612 
613                    jQuery(this).click(function() { 
614                        jQuery(this).next(".archiwum").slideToggle("fast"); 
615 
616                        if (e==true) 
617
618                            jQuery(this).html('<i class="icon icon-info"></i> Ukryj dziennik&nbsp;zmian&nbsp;pliku'); 
619                            jQuery(this).addClass("open"); 
620                            e=false; 
621
622                        else { 
623                            e=true; 
624                            jQuery(this).removeClass("open"); 
625                            jQuery(this).html('<i class="icon icon-info"></i> Dziennik&nbsp;zmian&nbsp;pliku'); 
626
627 
628                    }); 
629                }); 
630 
631                jQuery("${plid} #czytaj").click(function () { 
632                    jQuery("${plid} #archiwum").slideToggle("fast"); 
633                    if (pokaz==true) 
634
635                        jQuery(this).html('<i class="icon icon-info"></i> Ukryj dziennik&nbsp;zmian&nbsp;dokumentu'); 
636                        jQuery(this).addClass("open"); 
637                        pokaz=false; 
638
639                    else { 
640                        pokaz=true; 
641                        jQuery(this).removeClass("open"); 
642                        jQuery(this).html('<i class="icon icon-info"></i> Dziennik&nbsp;zmian&nbsp;dokumentu'); 
643
644                }); 
645
646        ); 
647    </script>