Skip to Main Content

MyIPC

MyIPC

An error occurred while processing the template.
Java method "static com.open.reply.ipc.contributor.util.IpcContributorUtil.filterNavItemsByUserCF(com.liferay.portal.kernel.model.User, List, boolean, boolean)" threw an exception; see cause exception in the Java stack trace.

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign entries = ipcContributorUtil...  [in template "20095#20121#35052" at line 12, column 1]
----
1<#-- 
2SIDEBAR FTL 
3To allow the page content to pad according to the opening of the sidebar, please assign (in the theme) 
4a id of sidebar-menu-wrapper to the div wrapping the content of the page. 
5This will allow assigning the class "active" to that wrapper once the sidebar will be opened. 
6--> 
7<#include "${templatesPath}/NAVIGATION-MACRO-FTL" /> 
8<#assign homeUrl = propsUtil.get("default.landing.page.path")/> 
9<#assign 
10	httpComponentsUtil = staticUtil["com.liferay.portal.kernel.util.HttpComponentsUtil"] 
11/> 
12<#assign 
13	entries = ipcContributorUtil.filterNavItemsByUserCF(user, entries, false, true) 
14/> 
15 
16<#if !entries?has_content> 
17    <#if themeDisplay.isSignedIn()> 
18      <div class="alert alert-info"> 
19          <@liferay.language 
20          key="there-are-no-menu-items-to-display" /> 
21      </div> 
22    </#if> 
23<#else> 
24  <#assign 
25    portletDisplay=themeDisplay.getPortletDisplay() 
26    navbarId="navbar_"+ portletDisplay.getId() 
27  /> 
28  <div class="${navbarId}"> 
29    <!-- Sidebar  --> 
30    <nav id="sidebar" class="ipc-sidebar"> 
31      <div class="sidebar-header"> 
32				<a href="${homeUrl}"> 
33          <div class="ico-logo-emea"></div> 
34				</a>	 
35      </div> 
36      <ul class="list-unstyled components" aria-label="<@liferay.language key=" site-pages" />" role="menubar"> 
37        <#assign navItems=entries /> 
38        <#list navItems as navItem> 
39          <#assign showChildrenNavItems=(displayDepth != 1) && navItem.hasBrowsableChildren() /> 
40          <#if (navItem.isBrowsable() || showChildrenNavItems)> 
41            <#assign nav_item_attr_has_popup="" nav_item_caret="" nav_item_css_class="lfr-nav-item nav-item" nav_item_href_link="" nav_item_link_css_class="nav-link" /> 
42            <#if showChildrenNavItems> 
43              <#assign nav_item_attr_has_popup="aria-haspopup='true'" /> 
44              <#assign nav_item_caret> 
45                <span class="lfr-nav-child-toggle"> 
46                  <@liferay_aui.icon image="angle-down" markupView="lexicon" /> 
47                </span> 
48              </#assign> 
49              <#assign nav_item_css_class="${nav_item_css_class} dropdown" nav_item_link_css_class="${nav_item_link_css_class} dropdown-toggle" /> 
50            </#if> 
51            <#if navItem.isBrowsable()> 
52              <#assign nav_item_href_link="href='${navItem.getURL()}'" /> 
53            </#if> 
54            <#if !navItem.isChildSelected() && navItem.isSelected()> 
55                <#assign nav_item_css_class="${nav_item_css_class} selected active" /> 
56            </#if> 
57            <#if navItem.isChildSelected()> 
58                <#assign nav_item_css_class="${nav_item_css_class} selected active" /> 
59            </#if> 
60            <#if isHelpPage(navItem)> 
61                <#assign help_page_nav_item= navItem /> 
62            <#else> 
63              <li class="${nav_item_css_class}" id="layout_${portletDisplay.getId()}_${navItem.getLayoutId()}" 
64                  role="presentation"> 
65                <#if nav_item_href_link?has_content> 
66                  <a 
67                    ${nav_item_attr_has_popup} class="${nav_item_link_css_class}" 
68                    ${nav_item_href_link} ${navItem.getTarget()} role="menuitem"> 
69                        <@liferay_theme["layout-icon"] layout=navItem.getLayout() /> 
70                        <span class="text-link text-wrap"> ${navItem.getName()}</span> 
71                  </a> 
72                <#else> 
73                  <a data-toggle="collapse" aria-expanded="false" 
74                    class="dropdown-toggle ${nav_item_link_css_class}" 
75                    ${nav_item_attr_has_popup} href="#plid-${navItem.getLayout().getPlid()}" 
76                    ${navItem.getTarget()} role="menuitem"> 
77                      <@liferay_theme["layout-icon"] layout=navItem.getLayout() /> 
78                      <span class="text-link text-wrap"> ${navItem.getName()}</span> 
79                      <i class="ico-arrow"> 
80                      </i> 
81                  </a> 
82                  <#if showChildrenNavItems> 
83                    <ul aria-expanded="false" class="collapse ${navItem.isChildSelected()?then('show','')}" 
84                      role="menu" 
85                      id="plid-${navItem.getLayout().getPlid()}"> 
86                        <@ipcBuildChildrenNavItems displayDepth=displayDepth navItem=navItem /> 
87                    </ul> 
88                  </#if> 
89                </#if> 
90              </li> 
91            </#if> 
92          </#if> 
93        </#list> 
94      </ul> 
95      <ul class="list-unstyled CTAs"> 
96        <#assign layout = themeDisplay.getLayout()/> 
97        <#assign activeClass = ""/> 
98        <#if layout?contains("support")> 
99            <#assign activeClass = "active selected"/> 
100        </#if> 
101        <li class="${activeClass}"> 
102          <#if help_page_nav_item?has_content> 
103            <#assign 
104              helpUrl = help_page_nav_item.getURL() 
105            /> 
106            <a href="${helpUrl}" class="help-section text-left pl-0 align-items-center d-flex"> 
107				<span class="text-truncate"> 
108					<i class="ico-help"></i> 
109				</span> 
110                <span class="text-link"> ${help_page_nav_item.getName()}</span> 
111            </a> 
112          </#if> 
113        </li> 
114      </ul> 
115    </nav> 
116  </div> 
117</#if> 
118 
119<#macro ipcBuildChildrenNavItems 
120  displayDepth 
121  navItem 
122  menuItem = true 
123  navItemLevel = 2 
124> 
125  <#assign 
126    childNavigationItems = ipcContributorUtil.filterNavItemsByUserCF(user, navItem.getChildren(), false, true) 
127  /> 
128  <#list childNavigationItems as childNavigationItem> 
129    <#assign nav_child_css_class = "" /> 
130    <#if !childNavigationItem.isChildSelected() && childNavigationItem.isSelected()> 
131        <#assign nav_child_css_class = "active selected" /> 
132    </#if> 
133    <li class="${nav_child_css_class}" id="layout_${portletDisplay.getId()}_${childNavigationItem.getLayoutId()}" 
134        role="presentation"> 
135      <#if childNavigationItem.isBrowsable()> 
136        <#if menuItem> 
137          <a class="dropdown-item" href="${childNavigationItem.getURL()}" ${childNavigationItem.getTarget()} 
138             role="menuitem">${childNavigationItem.getName()}</a> 
139        <#else> 
140          <a class="dropdown-item" 
141             href="${childNavigationItem.getURL()}" ${childNavigationItem.getTarget()}>${childNavigationItem.getName()}</a> 
142        </#if> 
143      </#if> 
144    </li> 
145    <#if childNavigationItem.hasBrowsableChildren() && ((displayDepth == 0) || (navItemLevel < displayDepth))> 
146      <ul class="list-unstyled pl-3"> 
147        <@ipcBuildChildrenNavItems 
148          displayDepth=displayDepth 
149          menuItem=false 
150          navItem=childNavigationItem 
151          navItemLevel=(navItemLevel + 1) 
152        /> 
153      </ul> 
154    </#if> 
155  </#list> 
156</#macro> 
157 
158<#function isHelpPage navItem> 
159  <#local expandoB = navItem.getLayout().getExpandoBridge()> 
160  <#return expandoB.getAttribute("help-page")?? && expandoB.getAttribute("help-page") == true> 
161</#function> 
162 
163<#if entries?has_content> 
164  <script> 
165 
166      $(document).ready(function () { 
167          $('#sidebarCollapse').on('click', function () { 
168              let sidebar = $("#sidebar"); 
169              let wrapper = $(".sidebar-menu-wrapper"); 
170              // prefer this approach over toggling since this avoids desync between the wrapper and the contents 
171              //TODO add wrapper selector as a portlet preference. 
172              if (sidebar.hasClass('active')) { 
173                  sidebar.removeClass('active'); 
174                  if (wrapper.length) { 
175                      wrapper.removeClass('active'); 
176                  } 
177              } else { 
178                  sidebar.addClass('active'); 
179                  if (wrapper.length) { 
180                      wrapper.addClass('active'); 
181                  } 
182                  $("#sidebar ul li a[data-toggle='collapse'] + ul[aria-expanded]").collapse('hide'); 
183              } 
184          }); 
185 
186          $("#sidebar ul li a").click(function (e) { 
187              var width = (window.innerWidth > 0) ? window.innerWidth : document.documentElement.clientWidth; 
188              if (width > 1024) { 
189                  let sidebar = $("#sidebar"); 
190                  if (sidebar.hasClass('active') && $(this).hasClass("dropdown-toggle")) { 
191                      sidebar.removeClass('active'); 
192                  } 
193              } 
194 
195              if (!$(this).hasClass("dropdown-item")) { 
196                  $("#sidebar ul li ul").collapse('hide'); 
197              } 
198 
199              if ($("#sidebar ul li ul").hasClass('active')) { 
200                  e.preventDefault(); 
201                  $("#sidebarCollapse").trigger("click"); 
202                  $("#sidebar ul li a[data-toggle='collapse'] + ul[aria-expanded]").collapse('hide'); 
203              } 
204          }); 
205 
206      }); 
207 
208      $(window).on('load resize', function () { 
209          var parentNav = $(".nav-item.dropdown"); 
210          var viewportSize = $(window).width(); 
211          //console.log("viewportSize="+viewportSize); 
212          if (viewportSize >= 991) { 
213              if ($("#sidebar").hasClass('active')) { 
214                  $("#sidebarCollapse").trigger("click"); 
215              } 
216              $(parentNav).on('click', function () { 
217                  $("#sidebar").removeClass("active"); 
218              }); 
219          } 
220      }); 
221  </script> 
222 
223 
224    <@liferay_aui.script use="liferay-navigation-interaction"> 
225      var navigation = A.one('#${navbarId}'); 
226      Liferay.Data.NAV_INTERACTION_LIST_SELECTOR = '.navbar-site'; 
227      Liferay.Data.NAV_LIST_SELECTOR = '.navbar-site'; 
228      if (navigation) { 
229        navigation.plug(Liferay.NavigationInteraction); 
230      } 
231    </@> 
232</#if> 
Powered by Liferay

We use cookies to deliver personalized content, analyze trends, administer the site, track user movements on the site, and collect demographic information about our user base as a whole. Accept all cookies for the best possible experience on our website or manage your preferences. Visit our Privacy Policy