diff options
author | Étienne Loks <etienne.loks@peacefrogs.net> | 2012-10-20 15:25:07 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@peacefrogs.net> | 2012-10-20 15:25:07 +0200 |
commit | beb45ac4d420034f9aec53eaf7ea783e178d5361 (patch) | |
tree | b26e820671aa6af552a4b03147c44a9d2aa84be8 /ishtar_common/menus.py | |
parent | 666747d6371a908e6fe1968e2e802e3065d610c5 (diff) | |
download | Ishtar-beb45ac4d420034f9aec53eaf7ea783e178d5361.tar.bz2 Ishtar-beb45ac4d420034f9aec53eaf7ea783e178d5361.zip |
Djangoization - Major refactoring (step 3)
Reorganization of views, urls, menus, admin, forms.
Changes on models.
Diffstat (limited to 'ishtar_common/menus.py')
-rw-r--r-- | ishtar_common/menus.py | 132 |
1 files changed, 18 insertions, 114 deletions
diff --git a/ishtar_common/menus.py b/ishtar_common/menus.py index c55e2a328..3737846b9 100644 --- a/ishtar_common/menus.py +++ b/ishtar_common/menus.py @@ -47,127 +47,31 @@ _extra_menus = [( ] )] +# collect menu from INSTALLED_APPS for app in settings.INSTALLED_APPS: + print app + if app == 'ishtar_common': + continue mod = __import__(app, fromlist=['ishtar_menu']) if hasattr(mod, 'ishtar_menu'): menu = getattr(mod, 'ishtar_menu') - _extra_menus.append((menu.ORDER, menu.MENU_SECTIONS)) + _extra_menus += menu.MENU_SECTIONS -_section_items = [] -for order, menu in sorted(_extra_menus, key=lambda x:x[0]): - _section_items += menu +# sort +__section_items = [menu for order, menu in sorted(_extra_menus, + key=lambda x:x[0])] + +# regroup menus +_section_items, __keys = [], [] +for section_item in _section_items: + if section_item.idx not in __keys: + __keys.append(section_item.idx) + _section_items.append(section_item) + continue + _section_items[_section_items.index(section_item.idx)].childs.append( + section_item.childs) """ - SectionItem('record_management', _(u"Context record"), - childs=[ - MenuItem('record_search', _(u"Search"), - model=models.ContextRecord, - access_controls=['view_contextrecord', - 'view_own_contextrecord']), - MenuItem('record_creation', _(u"Creation"), - model=models.ContextRecord, - access_controls=['add_contextrecord', - 'add_own_contextrecord']), - MenuItem('record_modification', _(u"Modification"), - model=models.ContextRecord, - access_controls=['change_contextrecord', - 'change_own_contextrecord']), - MenuItem('record_deletion', _(u"Deletion"), - model=models.ContextRecord, - access_controls=['delete_contextrecord', - 'delete_own_contextrecord']), - ]), - SectionItem('item_management', _(u"Item"), - childs=[ - MenuItem('item_search', _(u"Search"), - model=models.Item, - access_controls=['view_item', - 'view_own_item']), - MenuItem('item_creation', _(u"Creation"), - model=models.Item, - access_controls=['add_item', - 'add_own_item']), - MenuItem('item_modification', _(u"Modification"), - model=models.Item, - access_controls=['change_item', - 'change_own_item']), - MenuItem('warehouse_packaging', _(u"Packaging"), - model=models.Treatment, - access_controls=['add_treatment', 'add_own_treatment']), - #MenuItem('treatment_creation', _(u"Add a treatment"), - # model=models.Treatment, - # access_controls=['add_treatment', - # 'add_own_treatment']), - ]), - SectionItem('source_management', _(u"Documentation"), - childs=[ - SectionItem('admin_add_sources', _(u"Add"), - childs=[ - MenuItem('operation_source_creation', - _(u"Related to an operation"), - model=models.OperationSource, - access_controls=['change_operation', - 'change_own_operation']), - MenuItem('record_source_creation', - _(u"Related to a context record"), - model=models.ContextRecordSource, - access_controls=['change_contextrecord', - 'change_own_contextrecord']), - MenuItem('item_source_creation', - _(u"Related to an archaelogical item"), - model=models.ItemSource, - access_controls=['change_item', - 'change_own_item']), - ]), - SectionItem('admin_mod_sources', _(u"Modify"), - childs=[ - MenuItem('operation_source_modification', - _(u"Related to an operation"), - model=models.OperationSource, - access_controls=['change_operation', - 'change_own_operation']), - MenuItem('record_source_modification', - _(u"Related to a context record"), - model=models.ContextRecordSource, - access_controls=['change_contextrecord', - 'change_own_contextrecord']), - MenuItem('item_source_modification', - _(u"Related to an archaelogical item"), - model=models.ItemSource, - access_controls=['change_item', - 'change_own_item']), - ]), - SectionItem('admin_del_sources', _(u"Deletion"), - childs=[ - MenuItem('operation_source_deletion', - _(u"Related to an operation"), - model=models.OperationSource, - access_controls=['change_operation', - 'change_own_operation']), - MenuItem('record_source_deletion', - _(u"Related to a context record"), - model=models.ContextRecordSource, - access_controls=['change_contextrecord', - 'change_own_contextrecord']), - MenuItem('item_source_deletion', - _(u"Related to an archaelogical item"), - model=models.ItemSource, - access_controls=['change_item', - 'change_own_item']), - ]), - ]), - #SectionItem('warehouse', _(u"Warehouse"), - # childs=[ - # MenuItem('warehouse_inventory', _(u"Inventory"), - # model=models.Warehouse, - # access_controls=['change_warehouse',]), - # MenuItem('warehouse_recording', _(u"Recording"), - # model=models.Treatment, - # access_controls=['add_treatment', 'add_own_treatment']), - # MenuItem('warehouse_lend', _(u"Lending"), - # model=models.Treatment, - # access_controls=['add_treatment', 'add_own_treatment']), - # ]), SectionItem('dashboard', _(u"Dashboard"), childs=[ MenuItem('dashboard_main', _(u"General informations"), |