Add support for top-level links for simple menus
also add 'messaging_enabled' to global template context, so can include (or not) that stuff in the user menu
This commit is contained in:
		
							parent
							
								
									0eb394fb86
								
							
						
					
					
						commit
						c1eaf28812
					
				
					 4 changed files with 91 additions and 57 deletions
				
			
		|  | @ -4,30 +4,40 @@ | |||
| 
 | ||||
|   % for topitem in menus: | ||||
|       <li> | ||||
|         <a>${topitem.title}</a> | ||||
|         <ul> | ||||
|           % for subitem in topitem.items: | ||||
|               % if subitem.is_sep: | ||||
|                   <li>-</li> | ||||
|               % else: | ||||
|                   <li>${h.link_to(subitem.title, subitem.url, target=subitem.target)}</li> | ||||
|               % endif | ||||
|           % endfor | ||||
|         </ul> | ||||
|         % if topitem.is_link: | ||||
|             ${h.link_to(topitem.title, topitem.url, target=topitem.target)} | ||||
|         % else: | ||||
|             <a>${topitem.title}</a> | ||||
|             <ul> | ||||
|               % for subitem in topitem.items: | ||||
|                   % if subitem.is_sep: | ||||
|                       <li>-</li> | ||||
|                   % else: | ||||
|                       <li>${h.link_to(subitem.title, subitem.url, target=subitem.target)}</li> | ||||
|                   % endif | ||||
|               % endfor | ||||
|             </ul> | ||||
|         % endif | ||||
|       </li> | ||||
|   % endfor | ||||
| 
 | ||||
|   ## User Menu | ||||
|   % if request.user: | ||||
|       <li> | ||||
|         <a${' class="root-user"' if request.is_root else ''|n}>${request.user}${" ({})".format(inbox_count) if inbox_count else ''}</a> | ||||
|         % if messaging_enabled: | ||||
|             <a${' class="root-user"' if request.is_root else ''|n}>${request.user}${" ({})".format(inbox_count) if inbox_count else ''}</a> | ||||
|         % else: | ||||
|             <a${' class="root-user"' if request.is_root else ''|n}>${request.user}</a> | ||||
|         % endif | ||||
|         <ul> | ||||
|           % if request.is_root: | ||||
|               <li class="root-user">${h.link_to("Stop being root", url('stop_root'))}</li> | ||||
|           % elif request.is_admin: | ||||
|               <li class="root-user">${h.link_to("Become root", url('become_root'))}</li> | ||||
|           % endif | ||||
|           <li>${h.link_to("Messages{}".format(" ({})".format(inbox_count) if inbox_count else ''), url('messages.inbox'))}</li> | ||||
|           % if messaging_enabled: | ||||
|               <li>${h.link_to("Messages{}".format(" ({})".format(inbox_count) if inbox_count else ''), url('messages.inbox'))}</li> | ||||
|           % endif | ||||
|           <li>${h.link_to("Change Password", url('change_password'))}</li> | ||||
|           <li>${h.link_to("Logout", url('logout'))}</li> | ||||
|         </ul> | ||||
|  |  | |||
|  | @ -27,18 +27,22 @@ | |||
|           <div class="navbar-start"> | ||||
| 
 | ||||
|             % for topitem in menus: | ||||
|                 <div class="navbar-item has-dropdown is-hoverable"> | ||||
|                   <a class="navbar-link">${topitem.title}</a> | ||||
|                   <div class="navbar-dropdown"> | ||||
|                     % for subitem in topitem.items: | ||||
|                         % if subitem.is_sep: | ||||
|                             <hr class="navbar-divider"> | ||||
|                         % else: | ||||
|                             ${h.link_to(subitem.title, subitem.url, class_='navbar-item', target=subitem.target)} | ||||
|                         % endif | ||||
|                     % endfor | ||||
|                   </div> | ||||
|                 </div> | ||||
|                 % if topitem.is_link: | ||||
|                     ${h.link_to(topitem.title, topitem.url, target=topitem.target, class_='navbar-item')} | ||||
|                 % else: | ||||
|                     <div class="navbar-item has-dropdown is-hoverable"> | ||||
|                       <a class="navbar-link">${topitem.title}</a> | ||||
|                       <div class="navbar-dropdown"> | ||||
|                         % for subitem in topitem.items: | ||||
|                             % if subitem.is_sep: | ||||
|                                 <hr class="navbar-divider"> | ||||
|                             % else: | ||||
|                                 ${h.link_to(subitem.title, subitem.url, class_='navbar-item', target=subitem.target)} | ||||
|                             % endif | ||||
|                         % endfor | ||||
|                       </div> | ||||
|                     </div> | ||||
|                 % endif | ||||
|             % endfor | ||||
| 
 | ||||
|           </div><!-- navbar-start --> | ||||
|  | @ -47,14 +51,20 @@ | |||
|             ## User Menu | ||||
|             % if request.user: | ||||
|                 <div class="navbar-item has-dropdown is-hoverable"> | ||||
|                   <a class="navbar-link ${'root-user' if request.is_root else ''}">${request.user}${" ({})".format(inbox_count) if inbox_count else ''}</a> | ||||
|                   % if messaging_enabled: | ||||
|                       <a class="navbar-link ${'root-user' if request.is_root else ''}">${request.user}${" ({})".format(inbox_count) if inbox_count else ''}</a> | ||||
|                   % else: | ||||
|                       <a class="navbar-link ${'root-user' if request.is_root else ''}">${request.user}</a> | ||||
|                   % endif | ||||
|                   <div class="navbar-dropdown"> | ||||
|                     % if request.is_root: | ||||
|                         ${h.link_to("Stop being root", url('stop_root'), class_='navbar-item root-user')} | ||||
|                     % elif request.is_admin: | ||||
|                         ${h.link_to("Become root", url('become_root'), class_='navbar-item root-user')} | ||||
|                     % endif | ||||
|                     ${h.link_to("Messages{}".format(" ({})".format(inbox_count) if inbox_count else ''), url('messages.inbox'), class_='navbar-item')} | ||||
|                     % if messaging_enabled: | ||||
|                         ${h.link_to("Messages{}".format(" ({})".format(inbox_count) if inbox_count else ''), url('messages.inbox'), class_='navbar-item')} | ||||
|                     % endif | ||||
|                     ${h.link_to("Change Password", url('change_password'), class_='navbar-item')} | ||||
|                     ${h.link_to("Logout", url('logout'), class_='navbar-item')} | ||||
|                   </div> | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Lance Edgar
						Lance Edgar