An error occurred while processing the template.
Java method "com.avisonyoung.portal.ui.contactlist.service.ContactListServiceUtil.getContactListDisplayFromAssetEntry(com.liferay.asset.kernel.model.AssetEntry, com.liferay.portal.kernel.theme.ThemeDisplay, javax.portlet.RenderRequest, javax.portlet.RenderResponse)" threw an exception when invoked on com.avisonyoung.portal.ui.contactlist.service.ContactListServiceUtil object "com.avisonyoung.portal.ui.contactlist.service.ContactListServiceUtil@46e99567"; see cause exception in the Java stack trace. ---- FTL stack trace ("~" means nesting-related): - Failed at: #assign contactListDisplay = contactL... [in template "20302#20342#81179307" at line 5, column 3] ----
1<#assign contactListServiceUtil = serviceLocator.findService("com.avisonyoung.portal.ui.contactlist.service.ContactListServiceUtil")>
2<#assign localeEn = localeUtil.fromLanguageId("en_US")>
3
4<#list entries as entry>
5 <#assign contactListDisplay = contactListServiceUtil.getContactListDisplayFromAssetEntry(entry, themeDisplay, renderRequest, renderResponse)>
6
7 <!-- Display Title -->
8 <div class="list-title">
9 <h2 class="ay-service-lts-title">${contactListDisplay.getDisplayTitle()}</h2>
10 </div>
11
12 <!-- Display Edit Link if User has permissions -->
13 <#if entry.getAssetRenderer().hasEditPermission(permissionChecker)>
14 <#assign portletId = themeDisplay.getPortletDisplay().getId()>
15 <#assign portletIdNum = portletId?split("_")[0]>
16 <#assign portletName = themeDisplay.getPortletDisplay().getPortletName()>
17 <#assign plid = getterUtil.getLong(themeDisplay.getPlid())>
18
19 <#assign
20 portletURL = portletURLFactory.create(renderRequest, portletName, plid, "RENDER_PHASE"),
21 windowState = windowStateFactory.getWindowState("MAXIMIZED"),
22 assetRenderer = entry.getAssetRenderer()
23 >
24
25 <!-- Create edit URL -->
26 <#assign editURL = entry.getAssetRenderer().getURLEdit(renderRequest, renderResponse, windowState, portletURL)>
27 <#if assetRenderer.hasEditPermission(permissionChecker)>
28 <div class="ay-asset-edit-container lfr-meta-actions">
29 <a href='${editURL}' data-title='Edit ${entry.getTitle(locale)}'
30 class='ay-news-card-edit-link asset-edit-link'>
31 Edit this List of Contacts
32 </a>
33 </div>
34 </#if>
35
36 <style>
37 .ay-asset-edit-container {
38 margin-bottom: 2.4rem;
39 }
40
41 .ay-news-card-edit-link.asset-edit-link {
42 float: left;
43 }
44 </style>
45
46 </#if>
47
48 <!-- Loop over list of items and display results -->
49 <div class="ay-lts-key-professionals-wrap">
50 <#list contactListDisplay.getContacts() as contact>
51 <div class="ay-lts-media-block ay-lts-text-right ay-lts-key-professionals-item">
52 <div class="ay-lts-media-block-content">
53 <h3>
54 <a href="${contact.getPreferredLinkUri()}" target="_blank">
55 ${contact.getFullName()}
56 </a>
57 </h3>
58 <ul class="">
59 <li>
60 <ul class="bold">
61 <#list contact.getJobTitles() as jobTitle>
62 <li>${jobTitle.getTitle()}</li>
63 </#list>
64 </ul>
65 </li>
66 <li>
67 <ul class="">
68 <#list contact.getProfessionalSpecialties() as specialty>
69 <li>${specialty.getTitle()}</li>
70 </#list>
71 </ul>
72 </li>
73 </ul>
74 <a href="mailto:${contact.getEmailAddress()}" class="ay-lts-email-phone-link">
75 ${contact.getEmailAddress()}
76 </a>
77 <div class="ay-lts-media-block-phone-links">
78 <!-- if phone number is not to be shown an empty div needs to be in it's place to ensure open link is on the right -->
79 <a href="tel:${contact.getPhoneNumber()}" class="ay-lts-email-phone-link">
80 ${contact.getPhoneNumber()}
81 </a>
82 </div>
83 </div>
84 <figure class="ay-lts-media-block-media">
85 <#assign imgThumb = contact.getThumbnailImageUri()>
86 <img src="${imgThumb}" alt="">
87 </figure>
88 </div>
89 </#list>
90 </div>
91</#list>