Addressing Burnout & Compassion Fatigue In Nonprofit Employees - UST
Info Center Main Carousel




Resources Overview Tabbed Content
Asset Publisher
Nonprofit workers strive to make the world a better place. However, these passionate professionals often face long working hours, limited resources, funding deficiencies and an unrelenting stream of other on-the-job challenges. All this and more can lead to employee burnout, as well as nonprofit compassion fatigue.
How can nonprofit employees of all levels better address such difficulties and avoid becoming overly strained? Below are some actionable ideas to help prevent employee burnout and work toward a healthier work-life balance.
First, what is nonprofit compassion fatigue and what does it look like? Referred to at times as secondary trauma or vicarious trauma, compassion fatigue is a way to describe the excessive stress affecting those exposed to the traumatic suffering of others leading to desensitization, indifference or apathy. When untreated, it could lead to exhaustion, irritability, reduced productivity and absenteeism, along with physical and mental health problems.
Essentially, compassion fatigue means that a person working continuously under strenuous conditions no longer feels able to care about the people they serve. Often, these individuals get to this point by minimizing their own suffering. In fact, industry reports have found that 62% of people who engage in emotional work tend to hide their personal feelings. Combine this with being buried in work and these people can easily develop feelings of helplessness and hopelessness.
Over time, this not only affects an employee’s health and relationships, but it can significantly impact employee retention. A 2021 study found that 69% of participants believe their organizations are understaffed. Chronic staffing issues ultimately whittle away at a nonprofit's ability to achieve objectives.
What can leaders and HR professionals do to address compassion fatigue and burnout? It starts by implementing a strategy designed to promote a healthy work culture. Everyone should be encouraged to capitalize on vacation time, lunch breaks and time off-the-clock to de-stress from the important work they are striving to accomplish. Leaders should also establish and enforce reasonable work hours.
Another way to help address arduous workloads is to create a prioritization system for projects and tasks. While the job market is understandably in flux, efforts should be made to hire more staff or recruit additional volunteer support.
Lastly, open the door to enhanced communication strategies. Extend genuine thanks to the staff and encourage honest feedback, anonymous or otherwise. Not only are these methods more sustainable, but, in the end, they can generate greater employee engagement, retention and job satisfaction.
For employees, to avoid becoming burnt out and feeling powerless, it’s advised to utilize vacation time and take regular breaks. By “unplugging” during the day — even if it’s only a short break — it’s possible to reduce stress, gain perspective and feel more in control. Also, learn to say “no” without feeling guilty. Setting clear boundaries on messaging after hours, task delegation and more could do wonders for future productivity.
To learn more about combating nonprofit employee burnout, please see the accompanying resource.
Resources:
https://www.qgiv.com/blog/how-to-overcome-nonprofit-burnout-and-compassion-fatigue/
https://www.keela.co/blog/nonprofit-resources/3-leading-causes-of-nonprofit-burnout
https://www.idealist.org/en/careers/recognizing-compassion-fatigue-helping-professions
Asset Publisher
Java method "com.sun.proxy.$Proxy131.getDLFileEntryByUuidAndGroupId(String, long)" threw an exception when invoked on com.sun.proxy.$Proxy131 object "com.liferay.portlet.documentlibrary.service.impl.DLFileEntryLocalServiceImpl@24795d42"; see cause exception in the Java stack trace. ---- FTL stack trace ("~" means nesting-related): - Failed at: #assign dlfileEntry2 = documentServic... [in template "6242803#6242849#6281901" at line 83, column 1] ----
1<#assign liferay_ui = taglibLiferayHash["/META-INF/liferay-ui.tld"] />
2<#assign liferay_theme = taglibLiferayHash["/META-INF/liferay-theme.tld"] />
3<@liferay_theme["defineObjects"]/>
4
5<#assign blogsEntryLocalService = serviceLocator.findService("com.liferay.blogs.kernel.service.BlogsEntryLocalService")>
6<#assign assetCategoryService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryService")>
7<#assign assetVocabularyLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService")>
8<#assign documentService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService")>
9
10
11<#assign namespace = randomNamespace />
12<#assign smallImageURL = "">
13<#assign imageUrl = "">
14<#assign videoUrl = "">
15<#assign subHeading = "">
16<#assign blogClassName="com.liferay.blogs.kernel.model.BlogsEntry">
17<#assign documentClassName = "com.liferay.document.library.kernel.model.DLFileEntry">
18<#assign vocabularyNameToUse = "Topic">
19<#assign resetCurParam = "false">
20<#if renderRequest.getParameter("resetCur")?? && renderRequest.getParameter("resetCur")??>
21 <#if renderRequest.getParameter("resetCur") == "true">
22 <#assign resetCurParam = "false">
23 </#if>
24</#if>
25<#assign categoryIdParam = "">
26<#if renderRequest.getParameter("categoryId")?? && renderRequest.getParameter("categoryId")??>
27 <#assign categoryIdParam = renderRequest.getParameter("categoryId")>
28</#if>
29<#assign pagination = "none">
30<#assign pageinationDelta = 5>
31
32<#attempt>
33 <#assign pagination = portletPreferences["paginationType"]?first >
34 <#recover>
35</#attempt>
36
37<#attempt>
38 <#assign pageinationDelta = portletPreferences["delta"]?first?number >
39 <#recover>
40</#attempt>
41
42<#assign portletId = themeDisplay.getPortletDisplay().getId()>
43<#assign siteGroupID = themeDisplay.getSiteGroupId()>
44
45<#assign vocabularyIdToUse = 0>
46<#attempt>
47 <#assign vocabularyIdToUse = assetVocabularyLocalService.getGroupVocabulary(themeDisplay.getSiteGroupId(), vocabularyNameToUse).getVocabularyId()>
48 <#recover>
49</#attempt>
50
51<script>
52function redirectToPage(pageURL){
53 var pathValue = window.location.pathname;
54 pageURL = pageURL.replace(" ","-").replace("'","-").replace("&","");
55 var rest = pathValue.substring(0, pathValue.lastIndexOf("/") + 1);
56 var last = pathValue.substring(pathValue.lastIndexOf("/") + 1, pathValue.length);
57 var pathValue = pathValue.replace(last,pageURL);
58 //console.log("pathValue : " +pathValue);
59 window.location.href = pathValue;
60}
61</script>
62
63<script>
64$(document).ready(function() {
65 $('.${namespace}asset-img .video-click-popup').click(function() {
66 showVideoPlayerModal($(this).attr('href'));
67 });
68});
69</script>
70
71<div id="${namespace}info-wrapper" class="info-wrapper">
72<#assign fullUid = "">
73<#list entries as entry>
74<#-- ${entry.title}<br> -->
75<#assign firstChar = blogsEntryLocalService.getEntry(entry.getClassPK()).getExpandoBridge().getAttribute("image-url")?replace("[$SITE_GROUP_ID$]", themeDisplay.getSiteGroupId())?last_index_of("/")>
76<#assign lastChar = blogsEntryLocalService.getEntry(entry.getClassPK()).getExpandoBridge().getAttribute("image-url")?replace("[$SITE_GROUP_ID$]", themeDisplay.getSiteGroupId())?index_of("?")>
77
78<#assign firstSlash = blogsEntryLocalService.getEntry(entry.getClassPK()).getExpandoBridge().getAttribute("image-url")?replace("[$SITE_GROUP_ID$]", themeDisplay.getSiteGroupId())?index_of("/")>
79<#assign lastSlash = firstChar>
80<#assign strToReplace = blogsEntryLocalService.getEntry(entry.getClassPK()).getExpandoBridge().getAttribute("image-url")?replace("[$SITE_GROUP_ID$]", themeDisplay.getSiteGroupId())?substring(firstSlash+1, lastSlash)>
81
82<#assign fullUid = blogsEntryLocalService.getEntry(entry.getClassPK()).getExpandoBridge().getAttribute("image-url")?replace("[$SITE_GROUP_ID$]", themeDisplay.getSiteGroupId())?substring(firstChar+1, lastChar)>
83<#assign dlfileEntry2 = documentService.getDLFileEntryByUuidAndGroupId(fullUid, siteGroupID)>
84<#-- ${fullUid}<br> -->
85<#assign imageFolderID = dlfileEntry2.getFolderId()>
86<#assign imageTitle = dlfileEntry2.getTitle()>
87<#assign replaceStr = "documents"+"/"+siteGroupID+"/"+imageFolderID+"/"+imageTitle>
88
89 <#assign dateToUse = entry.getCreateDate()>
90 <#assign entry = entry />
91
92 <#assign assetRenderer = entry.getAssetRenderer() />
93
94 <#assign entryTitle = htmlUtil.escape(assetRenderer.getTitle(locale)) />
95
96 <#assign dlfileModalPopup = "">
97
98 <#assign viewURL = assetPublisherHelper.getAssetViewURL(renderRequest, renderResponse, entry) />
99 <#assign linkTarget = "">
100 <#if assetLinkBehavior != "showFullContent">
101 <#assign viewURL = assetRenderer.getURLViewInContext(renderRequest, renderResponse, viewURL) />
102 <#assign viewURL = "/c/blogs/find_entry?entryId=" + entry.getClassPK()>
103 </#if>
104 <#assign blogCategoies = assetCategoryService.getCategories(entry.getClassName(), entry.getClassPK())>
105 <#assign entryClassName = entry.getClassName()>
106
107 <#if (entryClassName == blogClassName)>
108 <#assign blogEntry = blogsEntryLocalService.getEntry(entry.getClassPK())>
109 <#assign dateToUse = blogEntry.getDisplayDate()>
110 <#assign imageUrl = blogsEntryLocalService.getEntry(entry.getClassPK()).getExpandoBridge().getAttribute("image-url")?replace("[$SITE_GROUP_ID$]", themeDisplay.getSiteGroupId())>
111
112 <#assign fixUrl = blogsEntryLocalService.getEntry(entry.getClassPK()).getExpandoBridge().getAttribute("image-url")?replace(strToReplace, replaceStr)>
113 <#assign imageUrl = fixUrl>
114
115 <#assign videoUrl = blogsEntryLocalService.getEntry(entry.getClassPK()).getExpandoBridge().getAttribute("video-url")>
116 <#assign subHeading = blogsEntryLocalService.getEntry(entry.getClassPK()).getExpandoBridge().getAttribute("sub-heading")>
117 <#if blogEntry.isSmallImage() >
118 <#assign smallImageURL = blogEntry.getEntryImageURL(themeDisplay)?replace("[$SITE_GROUP_ID$]", themeDisplay.getSiteGroupId())>
119 </#if>
120 <#elseif entryClassName == documentClassName>
121 <#attempt>
122 <#assign dlFileEntry = documentService.getDLFileEntry(entry.getClassPK())>
123 <#if dlFileEntry.getExpandoBridge().hasAttribute("image-url")>
124 <#assign imageUrl = dlFileEntry.getExpandoBridge().getAttribute("image-url")?replace("[$SITE_GROUP_ID$]", themeDisplay.getSiteGroupId())>
125 ${imageUrl}
126 </#if>
127 <#if dlFileEntry.getExpandoBridge().hasAttribute("icon-url")>
128 <#assign smallImageURL = dlFileEntry.getExpandoBridge().getAttribute("icon-url")?replace("[$SITE_GROUP_ID$]", themeDisplay.getSiteGroupId())>
129 </#if>
130 <#if dlFileEntry.getExpandoBridge().hasAttribute("display-title")>
131 <#assign documentDisplayTitle = dlFileEntry.getExpandoBridge().getAttribute("display-title")>
132 <#if documentDisplayTitle?has_content>
133 <#assign entryTitle = htmlUtil.escape(documentDisplayTitle) />
134 </#if>
135 </#if>
136 <#if dlFileEntry.getExpandoBridge().hasAttribute("modal-popup-function")>
137 <#assign dlfileModalPopup = dlFileEntry.getExpandoBridge().getAttribute("modal-popup-function")>
138 </#if>
139
140 <#if !dlfileModalPopup?has_content>
141 <#assign viewURL = themeDisplay.getPortalURL() + "/c/document_library/get_file?uuid=" + dlFileEntry.getUuid() + "&groupId=" + themeDisplay.getScopeGroupId()>
142 <#assign linkTarget = "target=\"_blank\"">
143 </#if>
144 <#recover>
145
146 </#attempt>
147 </#if>
148 <#assign linkTarget = "target=\"_blank\"">
149
150<div class="asset-wrapper">
151 <#if dlfileModalPopup?has_content>
152 <div class="${namespace}asset-img asset-img">
153 <img src="${imageUrl}" onclick="${dlfileModalPopup}" class="asset-image" >
154 </div>
155 <#else>
156 <#if (imageUrl != "") || (videoUrl != "")>
157 <div class="${namespace}asset-img asset-img">
158 <#if (videoUrl != "")>
159 <div class="video-modal video-click-popup" href="${videoUrl}">
160 <#else>
161 <#if (imageUrl != "")>
162 <a href="${viewURL}" target="_blank" ${linkTarget}>
163 </#if>
164 </#if>
165
166 <#if (imageUrl != "")>
167 <img src="${imageUrl}" class="asset-image" >
168 </#if>
169
170 <#if (videoUrl != "")>
171 </div>
172 <#else>
173 <#if (imageUrl != "")>
174 </a>
175 </#if>
176 </#if>
177 </div>
178 </#if>
179 </#if>
180<div class="asset-icon"> </div>
181 <div class="asset-abstract">
182 <div class="lfr-meta-actions asset-actions">
183 <@getEditIcon />
184 </div>
185<#assign categoryName= "">
186<#if entry.getCategories()?has_content>
187 <#list entry.getCategories() as curCategory>
188 <#if curCategory.getVocabularyId() == vocabularyIdToUse>
189 <#assign categoryName= curCategory.getName()>
190 <#break>
191 </#if>
192 </#list>
193</#if>
194
195<#attempt>
196 <#if categoryIdParam?? && !validator.isNull(categoryIdParam) && validator.isNumber(categoryIdParam)>
197 <#assign categoryName = assetCategoryService.getCategory(categoryIdParam?number).getName()>
198 </#if>
199 <#recover>
200</#attempt>
201
202<#if categoryName?has_content>
203 <div class="asset-category">
204 <span class="content-pillar" style="background-color: #707070;">${categoryName}</span>
205 </div>
206</#if>
207 <div class="asset-title-image">
208 <#if (smallImageURL != "")>
209 <img alt="" src="${smallImageURL}" />
210 </#if>
211
212 <h3 class="title">
213 <#if dlfileModalPopup?has_content>
214 <a onclick="${dlfileModalPopup}">${entryTitle}</a>
215 <#else>
216 <a href="${viewURL}" ${linkTarget}>${entryTitle}</a>
217 </#if>
218 </h3>
219 </div>
220
221
222<div class="date-and-author"><span class="asset-date">
223 ${dateUtil.getDate(dateToUse, "MMMM dd, yyyy ", locale)}
224 </span><!--/
225 <span class="asset-author">
226 <@liferay.language key="written-by" /> ${htmlUtil.escape(portalUtil.getUserName(entry.getUserId(), entry.getUserName()))}
227 </span>-->
228 </div>
229 <div class="asset-content">
230
231
232 <div class="asset-summary">
233 <@getMetadataField fieldName="author" />
234
235 <#assign abstractTxt = htmlUtil.escape(assetRenderer.getSummary(locale)) >
236 <#-- <#assign abstractTxtLen = abstractTxt?length > 172 -->
237 <#if abstractTxt?length gt 172>
238 ${abstractTxt[0..172]}...
239 <!-- ${htmlUtil.escape(assetRenderer.getSummary(locale))} -->
240 <#else>
241 ${abstractTxt}
242 </#if>
243
244 </div>
245 <#if dlfileModalPopup?has_content>
246 <a onclick="${dlfileModalPopup}" class="more-link"><@liferay.language key="read-more" /><span class="hide-accessible"><@liferay.language key="about" />${entryTitle}</span></a>
247 <#else>
248
249 <a href="${viewURL}" ${linkTarget} class="more-link"><@liferay.language key="read-more" /><span class="hide-accessible"><@liferay.language key="about" />${entryTitle}</span></a>
250 </#if>
251
252 </div>
253 </div>
254 <div class="clearfix"></div>
255</div>
256</#list>
257</div>
258
259<script>
260 AUI().use('liferay-portlet-url', function(A) {
261
262 $(document).ready(function() {
263 if ($('#${namespace}info-wrapper').siblings('.lfr-pagination').find('ul.lfr-pagination-buttons a').length) {
264 $('#${namespace}info-wrapper').siblings('.lfr-pagination').find('ul.lfr-pagination-buttons a').attr('href', 'javascript:;');
265 $('#${namespace}info-wrapper').siblings('.lfr-pagination').attr('curParam', '1');
266 $('#${namespace}info-wrapper').siblings('.lfr-pagination').click(function() {
267 if ($(this).attr('curParam') === '1') {
268 $($(this).find('ul.lfr-pagination-buttons li')[0]).addClass('disabled');
269 } else {
270 $($(this).find('ul.lfr-pagination-buttons li')[0]).removeClass('disabled');
271 }
272 });
273
274 $($('#${namespace}info-wrapper').siblings('.lfr-pagination').find('ul.lfr-pagination-buttons a')[0]).click(function() {
275 if (!$(this).parent().hasClass('disabled')) {
276 var curParam = Number($(this).parents('.lfr-pagination').attr('curParam'));
277 if (Number(curParam) <= 1) {
278 return;
279 }
280 $(this).parents('ul.lfr-pagination-buttons').find('li:nth-child(2)').removeClass('disabled');
281 //console.log($(this).parents('ul.lfr-pagination-buttons').find('li:nth-child(2)'));
282 var nextURL = Liferay.PortletURL.createRenderURL();
283 $(this).parents('.lfr-pagination').attr('curParam', Number(curParam) - 1);
284 nextURL.setPortletId('${portletId}');
285 nextURL.setWindowState('exclusive');
286 nextURL.setParameter('cur', curParam - 1);
287 nextURL.setParameter('resetCur', '${resetCurParam}');
288 <#if categoryIdParam??>
289 nextURL.setParameter('categoryId', '${categoryIdParam}');
290 </#if>
291 //$('#${namespace}info-wrapper').load(nextURL.toString() + ' .info-wrapper');
292 $.ajax({
293 url: nextURL.toString(),
294 }).done(function( data ) {
295 Liferay.fire('activateTab', {tabId: $('#${namespace}info-wrapper').parents('div.content[tabNameValue]').attr('tabNameValue'), scrollToTab: true});
296 $('#${namespace}info-wrapper').html($(data).find('.info-wrapper').addBack('.info-wrapper').html());
297 if ($($(data).find('.lfr-pagination-buttons li')[1]).hasClass('disabled')) {
298 $($('#${namespace}info-wrapper').siblings('.lfr-pagination').find('ul.lfr-pagination-buttons li')[1]).addClass('disabled');
299
300 }
301 });
302 }
303 });
304 $($('#${namespace}info-wrapper').siblings('.lfr-pagination').find('ul.lfr-pagination-buttons a')[1]).click(function() {
305 //console.log('clicked ' + !$(this).hasClass("disabled"))
306 if (!$(this).parent().hasClass('disabled')) {
307 var nextURL = Liferay.PortletURL.createRenderURL();
308 var curParam = Number($(this).parents('.lfr-pagination').attr('curParam'));
309 $(this).parents('.lfr-pagination').attr('curParam', Number(curParam) + 1);
310 nextURL.setPortletId('${portletId}');
311 nextURL.setWindowState('exclusive');
312 nextURL.setParameter('cur', curParam + 1);
313 nextURL.setParameter('resetCur', '${resetCurParam}');
314 <#if categoryIdParam??>
315 nextURL.setParameter('categoryId', '${categoryIdParam}');
316 </#if>
317 //$('#${namespace}info-wrapper').load(nextURL.toString() + ' .info-wrapper');
318 $.ajax({
319 url: nextURL.toString(),
320 }).done(function( data ) {
321 $('#${namespace}info-wrapper').html($(data).find('.info-wrapper').addBack('.info-wrapper').html());
322 if ($($(data).find('.lfr-pagination-buttons li')[1]).hasClass('disabled')) {
323 $($('#${namespace}info-wrapper').siblings('.lfr-pagination').find('ul.lfr-pagination-buttons li')[1]).addClass('disabled');
324 }
325 Liferay.fire('activateTab', {tabId: $('#${namespace}info-wrapper').parents('div.content[tabNameValue]').attr('tabNameValue'), scrollToTab: true});
326 });
327 }
328 });
329 }
330
331 });
332 });
333 </script>
334
335<#macro getDiscussion>
336 <#if validator.isNotNull(assetRenderer.getDiscussionPath()) && (enableComments == "true")>
337 <br />
338
339 <#assign discussionURL = renderResponse.createActionURL() />
340
341 ${discussionURL.setParameter("struts_action", "/asset_publisher/" + assetRenderer.getDiscussionPath())}
342
343 <@liferay_ui["discussion"]
344 className=entry.getClassName()
345 classPK=entry.getClassPK()
346 formAction=discussionURL?string
347 formName="fm" + entry.getClassPK()
348 ratingsEnabled=enableCommentRatings == "true"
349 redirect=portalUtil.getCurrentURL(request)
350 userId=assetRenderer.getUserId()
351 />
352 </#if>
353</#macro>
354
355<#macro getEditIcon>
356 <#if assetRenderer.hasEditPermission(themeDisplay.getPermissionChecker())>
357 <#assign redirectURL = renderResponse.createRenderURL() />
358
359 ${redirectURL.setParameter("struts_action", "/asset_publisher/add_asset_redirect")}
360 ${redirectURL.setWindowState("pop_up")}
361
362 <#assign editPortletURL = assetRenderer.getURLEdit(renderRequest, renderResponse, windowStateFactory.getWindowState("pop_up"), redirectURL)!"" />
363
364 <#if validator.isNotNull(editPortletURL)>
365 <#assign title = languageUtil.format(locale, "edit-x", entryTitle) />
366
367 <@liferay_ui["icon"]
368 image="edit"
369 message=title
370 url="javascript:Liferay.Util.openWindow({dialog: {width: 960}, id:'" + renderResponse.getNamespace() + "editAsset', title: '" + title + "', uri:'" + htmlUtil.escapeURL(editPortletURL.toString()) + "'});"
371 />
372 </#if>
373 </#if>
374</#macro>
375
376<#macro getFlagsIcon>
377 <#if enableFlags == "true">
378 <@liferay_ui["flags"]
379 className=entry.getClassName()
380 classPK=entry.getClassPK()
381 contentTitle=entry.getTitle(locale)
382 label=false
383 reportedUserId=entry.getUserId()
384 />
385 </#if>
386</#macro>
387
388<#macro getMetadataField
389 fieldName
390>
391 <#if stringUtil.split(metadataFields)?seq_contains(fieldName)>
392 <span class="metadata-entry metadata-${fieldName}">
393 <#assign dateFormat = "dd MMM yyyy - HH:mm:ss" />
394
395 <#if fieldName == "author">
396 <@liferay.language key="by" /> ${portalUtil.getUserName(assetRenderer.getUserId(), assetRenderer.getUserName())}
397 <#elseif fieldName == "categories">
398 <@liferay_ui["asset-categories-summary"]
399 className=entry.getClassName()
400 classPK=entry.getClassPK()
401 portletURL=renderResponse.createRenderURL()
402 />
403 <#elseif fieldName == "create-date">
404 ${dateUtil.getDate(entry.getCreateDate(), dateFormat, locale)}
405 <#elseif fieldName == "expiration-date">
406 ${dateUtil.getDate(entry.getExpirationDate(), dateFormat, locale)}
407 <#elseif fieldName == "modified-date">
408 ${dateUtil.getDate(entry.getModifiedDate(), dateFormat, locale)}
409 <#elseif fieldName == "priority">
410 ${entry.getPriority()}
411 <#elseif fieldName == "publish-date">
412 ${dateUtil.getDate(entry.getPublishDate(), dateFormat, locale)}
413 <#elseif fieldName == "tags">
414 <@liferay_ui["asset-tags-summary"]
415 className=entry.getClassName()
416 classPK=entry.getClassPK()
417 portletURL=renderResponse.createRenderURL()
418 />
419 <#elseif fieldName == "view-count">
420 <@liferay_ui["icon"]
421 image="history"
422 />
423
424 ${entry.getViewCount()} <@liferay.language key="views" />
425 </#if>
426 </span>
427 </#if>
428</#macro>
429
430<#macro getPrintIcon>
431 <#if enablePrint == "true" >
432 <#assign printURL = renderResponse.createRenderURL() />
433
434 ${printURL.setParameter("struts_action", "/asset_publisher/view_content")}
435 ${printURL.setParameter("assetEntryId", entry.getEntryId()?string)}
436 ${printURL.setParameter("viewMode", "print")}
437 ${printURL.setParameter("type", entry.getAssetRendererFactory().getType())}
438
439 <#if (validator.isNotNull(assetRenderer.getUrlTitle()))>
440 <#if (assetRenderer.getGroupId() != themeDisplay.getScopeGroupId())>
441 ${printURL.setParameter("groupId", assetRenderer.getGroupId()?string)}
442 </#if>
443
444 ${printURL.setParameter("urlTitle", assetRenderer.getUrlTitle())}
445 </#if>
446
447 ${printURL.setWindowState("pop_up")}
448
449 <@liferay_ui["icon"]
450 image="print"
451 message="print"
452 url="javascript:Liferay.Util.openWindow({id:'" + renderResponse.getNamespace() + "printAsset', title: '" + languageUtil.format(locale, "print-x-x", ["hide-accessible", entryTitle]) + "', uri: '" + htmlUtil.escapeURL(printURL.toString()) + "'});"
453 />
454 </#if>
455</#macro>
456
457<#macro getRatings>
458 <#if (enableRatings == "true")>
459 <div class="asset-ratings">
460 <@liferay_ui["ratings"]
461 className=entry.getClassName()
462 classPK=entry.getClassPK()
463 />
464 </div>
465 </#if>
466</#macro>
467
468<#macro getRelatedAssets>
469 <#if enableRelatedAssets == "true">
470 <@liferay_ui["asset-links"]
471 assetEntryId=entry.getEntryId()
472 />
473 </#if>
474</#macro>
475
476<#macro getSocialBookmarks>
477 <#if enableSocialBookmarks == "true">
478 <@liferay_ui["social-bookmarks"]
479 displayStyle="${socialBookmarksDisplayStyle}"
480 target="_blank"
481 title=entry.getTitle(locale)
482 url=viewURL
483 />
484 </#if>
485</#macro>