hashing out more general modules

This commit is contained in:
Jake Dahn
2011-08-01 17:05:52 -07:00
parent de19d098de
commit a051c85d7d
9 changed files with 54 additions and 27 deletions

View File

@@ -0,0 +1,24 @@
import django.dispatch
from django.dispatch import receiver
dash_apps_ping = django.dispatch.Signal()
dash_apps_urls = django.dispatch.Signal()
def dash_apps_detection():
"""
Sends a pinging signal to the app, all listening modules will reply with
items for the sidebar.
"""
return dash_apps_ping.send(sender=dash_apps_ping)
def dash_app_setup_urls():
"""
Adds urls from modules
"""
response = dash_apps_urls.send(senter=dash_apps_urls)
return response

View File

@@ -0,0 +1,10 @@
from django import template
from django_openstack import signals
register = template.Library()
@register.inclusion_tag('_sidebar_module.html')
def initiate_module_sidebar():
return {'modules': [module[1] for module in signals.dash_apps_detection()] }

View File

@@ -1,14 +0,0 @@
from django import template
from django.dispatch import receiver
import django.dispatch
register = template.Library()
sidebar_init = django.dispatch.Signal()
@register.inclusion_tag('_sidebar_module.html')
def initiate_module_sidebar():
response = sidebar_init.send(sender=sidebar_init)[0][1]
return response

View File

@@ -20,9 +20,14 @@
from django.conf.urls.defaults import *
from django.conf import settings
from django_openstack.signals import *
urlpatterns = patterns('',
url(r'^auth/', include('django_openstack.auth.urls')),
url(r'^dash/', include('django_openstack.dash.urls')),
url(r'^syspanel/', include('django_openstack.syspanel.urls')),
)
# import urls from modules
for module_urls in dash_apps_urls.send(sender=dash_apps_urls):
urlpatterns += module_urls[1].urlpatterns

View File

@@ -84,7 +84,6 @@ INSTALLED_APPS = (
'django_openstack',
'django_openstack.templatetags',
'mailer',
'dashboard.osdash_module_iframer'
)
TEST_RUNNER = 'django_nose.NoseTestSuiteRunner'

View File

@@ -1,3 +1,5 @@
{% load sidebar_modules %}
<div id='sidebar'>
<h3>Manage Compute</h3>
<ul class='sub_nav'>
@@ -12,4 +14,7 @@
<li><a {% if current_sidebar == "containers" %} class="active" {% endif %} href="{% url dash_containers request.user.tenant %}">Containers</a></li>
</ul>
{% endif %}
{% initiate_module_sidebar %}
</div>

View File

@@ -1,10 +1,10 @@
<h3>{{title}}</h3>
{{request.view}}
<ul class="sub_nav">
{% for link in links %}
<li><a {% if request.view == link.active_text %} class="active" {% endif %} href="{{link.url}}">{{link.text}}</a></li>
{% endfor %}
</ul>
{% for module in modules %}
<h3>{{module.title}}</h3>
<ul class="sub_nav">
{% for link in module.links %}
<li><a {% if request.view == link.active_text %} class="active" {% endif %} href="{{link.url}}">{{link.text}}</a></li>
{% endfor %}
</ul>
{% endfor %}

View File

@@ -1,4 +1,4 @@
{% load sidebar_signals %}
{% load sidebar_modules %}
<div id='sidebar'>
<h3>System Panel</h3>

View File

@@ -28,7 +28,6 @@ from django.views import generic as generic_views
import django.views.i18n
from django_openstack import urls as django_openstack_urls
from osdash_module_iframer import urls as osdash_module_iframer_urls
urlpatterns = patterns('',
url(r'^$', 'dashboard.views.splash', name='splash'),
@@ -39,7 +38,6 @@ urlpatterns = patterns('',
# NOTE(termie): just append them since we want the routes at the root
urlpatterns += django_openstack_urls.urlpatterns
urlpatterns += osdash_module_iframer_urls.urlpatterns
urlpatterns += patterns('',
(r'^%s(?P<path>.*)$' % settings.MEDIA_URL[1:],