Hide event sidemenu items based on features
[cds-indico.git] / indico / MaKaC / webinterface / tpls / SideMenu.tpl
blob7be1ad32bbaece0e09a24ae64855415957d5a804
1 <%
2     import re
3     somethingVisible = False
4 %>
6 <div class="sideBar sideMenu ${"managementSideMenu" if sideMenuType != "basic" else ""}">
7     % if sideMenuType != "basic":
8         <div class="corner"></div>
9     % endif
11     <div class="content">
12         <ul>
13             % for i, section in enumerate(menu.getSections()):
14                 % if section.isVisible():
15                     <% somethingVisible = True %>
17                     % if section.getTitle():
18                         <% menuHeaderClass = "" %>
19                         % if section.isActive():
20                             <% menuHeaderClass = "active" %>
21                         % endif
22                         <li class="separator">${ section.getTitle() }</li>
23                     % elif i >= 1:
24                         <li class="separatorNoText"></li>
25                     % endif
27                     % for item in section.getItems():
28                         % if item.isVisible():
29                             <% liClass = "" %>
30                             % if item.isEnabled():
31                                 % if item.isActive():
32                                     <% liClass = "active" %>
33                                 % endif
34                             % else:
35                                 <% liClass = "sideMenu_disabled " + item.getErrorMessage() %>
36                             % endif
37                             % if menu.event and item.event_feature:
38                                 <% liClass = '{} js-event-feature-{}'.format(liClass, item.event_feature) %>
39                                 % if not menu.event.has_feature(item.event_feature):
40                                     <% liClass += ' weak-hidden' %>
41                                 % endif
42                             % endif
44                             <li id="sideMenu_${ re.sub(r'[^a-zA-Z]', '', item.getTitle())}" class="${ liClass } ${ 'js-event-feature-{}'.format(item.event_feature) if menu.event and item.event_feature else '' }">
45                                 % if item.isEnabled():
46                                     <a href="${ item.getURL() }">
47                                         ${ item.getTitle() }
48                                     </a>
49                                 % else:
50                                     ${ item.getTitle() }
51                                 % endif
52                             </li>
53                         % endif
54                     % endfor
55                 % endif
56             % endfor
58             % if not somethingVisible:
59                 &nbsp;
60             % endif
61         </ul>
62     </div>
63 </div>