Commit 60d9b7a34adeb94f051cb7a10cd720ce54e874d8

Authored by Gust
1 parent 57f6e57b

Improve menu links from plugins

-Use OrderedDict to use the config order
-If only one link, don't make dropdown menu

Signed-off-by: Gustavo Jaruga <darksshades@gmail.com>
Signed-off-by: Alexandre Barbosa <alexandreab@live.com>
colab/proxy/templates/proxy/menu_template.html
1 {% for title, links in menu_links.items %} 1 {% for title, links in menu_links.items %}
2 -<li class="dropdown">  
3 - <a href="#" class="dropdown-toggle" data-toggle="dropdown">{{ title }} <b class="caret"></b></a>  
4 - <ul class="dropdown-menu"> 2 + {% if links|length == 1 %}
5 {% for text, link in links %} 3 {% for text, link in links %}
6 - <li><a href="{{ link }}">{{ text }}</a></li> 4 + <li>
  5 + <a href="{{ link }}">{{ title }}</a>
  6 + </li>
7 {% endfor %} 7 {% endfor %}
8 - </ul>  
9 -</li> 8 + {% else %}
  9 + <li class="dropdown">
  10 + <a href="#" class="dropdown-toggle" data-toggle="dropdown">{{ title }} <b class="caret"></b></a>
  11 + <ul class="dropdown-menu">
  12 + {% for text, link in links %}
  13 + <li><a href="{{ link }}">{{ text }}</a></li>
  14 + {% endfor %}
  15 + </ul>
  16 + </li>
  17 + {% endif %}
10 {% endfor %} 18 {% endfor %}
colab/proxy/templatetags/proxy.py
  1 +from collections import OrderedDict
1 2
2 from django.core.urlresolvers import reverse 3 from django.core.urlresolvers import reverse
3 from django import template 4 from django import template
@@ -19,7 +20,7 @@ def proxy_menu(context): @@ -19,7 +20,7 @@ def proxy_menu(context):
19 if menu_from_cache: 20 if menu_from_cache:
20 return menu_from_cache 21 return menu_from_cache
21 22
22 - menu_links = {} 23 + menu_links = OrderedDict()
23 proxied_apps = context.get('proxy', {}) 24 proxied_apps = context.get('proxy', {})
24 25
25 for app_name, app in proxied_apps.items(): 26 for app_name, app in proxied_apps.items():