38 lines
1.2 KiB
Python
38 lines
1.2 KiB
Python
from __future__ import unicode_literals
|
|
|
|
object_navigation = {}
|
|
model_list_columns = {}
|
|
|
|
|
|
def register_links(src, links, menu_name=None, position=None):
|
|
"""
|
|
Associate a link to a model a view, or an url
|
|
"""
|
|
|
|
object_navigation.setdefault(menu_name, {})
|
|
if isinstance(src, list):
|
|
for one_src in src:
|
|
object_navigation[menu_name].setdefault(one_src, {'links': []})
|
|
if position is not None:
|
|
for link in reversed(links):
|
|
object_navigation[menu_name][one_src]['links'].insert(position, link)
|
|
else:
|
|
object_navigation[menu_name][one_src]['links'].extend(links)
|
|
else:
|
|
object_navigation[menu_name].setdefault(src, {'links': []})
|
|
if position is not None:
|
|
for link in reversed(links):
|
|
object_navigation[menu_name][src]['links'].insert(position, link)
|
|
else:
|
|
object_navigation[menu_name][src]['links'].extend(links)
|
|
|
|
|
|
def register_model_list_columns(model, columns):
|
|
"""
|
|
Define which columns will be displayed in the generic list template
|
|
for a given model
|
|
"""
|
|
|
|
model_list_columns.setdefault(model, [])
|
|
model_list_columns[model].extend(columns)
|