Files
mayan-edms/apps/maintenance/api.py
2012-08-06 00:56:26 -04:00

56 lines
1.4 KiB
Python

from navigation.api import bind_links
from .links import maintenance_menu
tools = {}
class MaintenanceNamespace(object):
namespaces = {}
tools_by_id = {}
@classmethod
def tool_all(cls):
tool_list = []
for namespace in cls.all():
for tool in namespace.tools:
tool_list.append(tool)
return tool_list
@classmethod
def tool_get(cls, id):
return MaintenanceNamespace.tools_by_id[id]
@classmethod
def all(cls):
return MaintenanceNamespace.namespaces.keys()
def __init__(self, label):
self.label = label
self.tools = []
MaintenanceNamespace.namespaces[self] = self
def create_tool(self, link):
tool = MaintenanceTool(self, link)
self.add_tool(tool)
return tool
def add_tool(self, tool_instance):
self.tools.append(tool_instance)
tool_instance.id = len(MaintenanceNamespace.tools_by_id) + 1
MaintenanceNamespace.tools_by_id[tool_instance.id] = tool_instance
bind_links([tool_instance.link.view], maintenance_menu, menu_name='secondary_menu')
def __unicode__(self):
return unicode(self.label)
class MaintenanceTool(object):
def __init__(self, namespace, link):
self.namespace = namespace
self.link = link
def __unicode__(self):
return unicode(self.link.text)