app/soc/modules/ghop/callback.py
changeset 2895 cad75f6ba411
parent 2787 8408741aee63
child 2896 5a3c5a2f567f
--- a/app/soc/modules/ghop/callback.py	Wed Sep 09 21:00:51 2009 +0200
+++ b/app/soc/modules/ghop/callback.py	Wed Sep 09 21:14:22 2009 +0200
@@ -20,6 +20,15 @@
   '"Lennard de Rijk" <ljvderijk@gmail.com>',
   ]
 
+from soc.modules.ghop.tasks import task_update
+from soc.modules.ghop.views.models import mentor
+from soc.modules.ghop.views.models import organization
+from soc.modules.ghop.views.models import org_admin
+from soc.modules.ghop.views.models import program
+from soc.modules.ghop.views.models import task
+from soc.modules.ghop.views.models import task_subscription
+from soc.modules.ghop.views.models import timeline
+
 
 class Callback(object):
   """Callback object that handles interaction between the core.
@@ -27,6 +36,9 @@
 
   API_VERSION = 1
 
+  # TODO: set this to True if you want to enable the GHOP module
+  ENABLE_MODULE = False
+
   def __init__(self, core):
     """Initializes a new Callback object for the specified core.
     """
@@ -39,9 +51,37 @@
 
     self.core.requireUniqueService('registerWithSitemap')
 
+    if not self.ENABLE_MODULE:
+      return
+
+    # register the GHOP Views
+    self.core.registerSitemapEntry(mentor.view.getDjangoURLPatterns())
+    self.core.registerSitemapEntry(organization.view.getDjangoURLPatterns())
+    self.core.registerSitemapEntry(org_admin.view.getDjangoURLPatterns())
+    self.core.registerSitemapEntry(program.view.getDjangoURLPatterns())
+    self.core.registerSitemapEntry(task.view.getDjangoURLPatterns())
+    self.core.registerSitemapEntry(task_subscription.view.getDjangoURLPatterns())
+    self.core.registerSitemapEntry(timeline.view.getDjangoURLPatterns())
+
+    # register GHOP GAE Tasks URL's
+    self.core.registerSitemapEntry(task_update.getDjangoURLPatterns())
+
   def registerWithSidebar(self):
     """Called by the server when sidebar entries should be registered.
     """
 
     # require that we had the chance to register the urls we need with the sitemap
     self.core.requireUniqueService('registerWithSidebar')
+
+    if not self.ENABLE_MODULE:
+      return
+
+    # register the GHOP menu entries
+    self.core.registerSidebarEntry(mentor.view.getSidebarMenus)
+    self.core.registerSidebarEntry(organization.view.getExtraMenus)
+    self.core.registerSidebarEntry(organization.view.getSidebarMenus)
+    self.core.registerSidebarEntry(org_admin.view.getSidebarMenus)
+    self.core.registerSidebarEntry(program.view.getSidebarMenus)
+    self.core.registerSidebarEntry(task.view.getSidebarMenus)
+    self.core.registerSidebarEntry(task_subscription.view.getSidebarMenus)
+    self.core.registerSidebarEntry(timeline.view.getSidebarMenus)