Example #1
0
def get_menu_item_choices(page):
    if hasattr(page, 'get_index_url'):
        url = page.get_index_url()
        root = MenuItem.objects.get(parent=None)
        menu_items = MenuItem.objects.filter(url=url).order_by('level')
        # Return choices for the outermost menu item (menu item with the
        # lowest level - closest to root)
        if menu_items.count() > 0:
            return get_flat_tuples(menu_items[0], page.menu_item)

    # Return all menu items
    menu = Menu.objects.get(name=getattr(settings, 'MAIN_MENU_NAME', 'Main'))
    return get_parent_choices(menu)
Example #2
0
 def get_form(self, request, obj=None, **kwargs):
     Form = super(MenuItemAdmin, self).get_form(request, obj, **kwargs)
     class MyMenuItemForm(Form):
         def clean_named_url(self):
             data = self.cleaned_data.get('named_url')
             try:
                 if data:
                     urlresolvers.reverse(data)
             except urlresolvers.NoReverseMatch:
                 raise forms.ValidationError(u'This is not a valid URL.')
             else:
                 return data
     Form = MyMenuItemForm
     choices = get_parent_choices(self._menu, obj)
     Form.base_fields['parent'] = MenuItemChoiceField(choices=choices)
     return Form
 def get_form(self, request, obj=None, **kwargs):
     form = super(MenuItemAdmin, self).get_form(request, obj, **kwargs)
     choices = get_parent_choices(self._menu, obj)
     form.base_fields['parent'] = MenuItemChoiceField(choices=choices)
     return form
Example #4
0
 def get_form(self, request, obj=None, **kwargs):
     form = super(MenuItemAdmin, self).get_form(request, obj, **kwargs)
     choices = get_parent_choices(self._menu, obj)
     form.base_fields['parent'] = MenuItemChoiceField(choices=choices)
     return form
Example #5
0
 def get_form(self, request, obj=None, **kwargs):
     form = super(MenuItemAdmin, self).get_form(request, obj, **kwargs)
     choices = get_parent_choices(self._menu, obj)
     form.base_fields['parent'] = MenuItemChoiceField(choices=choices)
     form.base_fields['group'].widget = TreeMenuRelatedFieldWidgetWrapper(form.base_fields['group'].widget, form.base_fields['group'].widget.rel, form.base_fields['group'].widget.admin_site)
     return form