diff options
| -rw-r--r-- | chimere/admin.py | 14 | ||||
| -rw-r--r-- | chimere/forms.py | 4 | ||||
| -rw-r--r-- | chimere/static/chimere/js/menu-sort.js | 20 | ||||
| -rw-r--r-- | chimere/widgets.py | 2 | 
4 files changed, 31 insertions, 9 deletions
| diff --git a/chimere/admin.py b/chimere/admin.py index f7acabf..b6437f9 100644 --- a/chimere/admin.py +++ b/chimere/admin.py @@ -169,13 +169,6 @@ class AreaAdmin(admin.ModelAdmin):      exclude = ['upper_left_corner', 'lower_right_corner']      inlines = [LayerInline] -class SubCategoryAdmin(admin.ModelAdmin): -    """ -    Specialized the subcategory admin -    """ -    list_display = ('name', 'category', 'available') -    list_filter = ('category',) -  def importing(modeladmin, request, queryset):      for importer in queryset:          importer.state = unicode(tasks.IMPORT_MESSAGES['import_pending'][0]) @@ -219,11 +212,17 @@ class NewsAdmin(admin.ModelAdmin):      """      form = NewsAdminForm +class SubcatInline(admin.TabularInline): +    model = SubCategory +    extra = 1 +  class CategoryAdmin(admin.ModelAdmin):      """      Use the TinyMCE widget for categories      """      form = CategoryAdminForm +    inlines = [SubcatInline] +    list_display = ['name', 'order']  class ColorInline(admin.TabularInline):      model = Color @@ -256,7 +255,6 @@ class PictureFileAdmin(admin.ModelAdmin):  admin.site.register(News, NewsAdmin)  admin.site.register(Category, CategoryAdmin)  admin.site.register(Icon, IconAdmin) -admin.site.register(SubCategory, SubCategoryAdmin)  admin.site.register(Marker, MarkerAdmin)  admin.site.register(RouteFile, RouteFileAdmin)  admin.site.register(Route, RouteAdmin) diff --git a/chimere/forms.py b/chimere/forms.py index e465a8f..a2a721b 100644 --- a/chimere/forms.py +++ b/chimere/forms.py @@ -110,6 +110,10 @@ class CategoryAdminForm(forms.ModelForm):      Main form for categories      """      description = forms.CharField(widget=TextareaWidget, required=False) +    class Media: +        js = list(settings.JQUERY_JS_URLS) + [ +            '%schimere/js/menu-sort.js' % settings.STATIC_URL, +        ]      class Meta:          model = Category diff --git a/chimere/static/chimere/js/menu-sort.js b/chimere/static/chimere/js/menu-sort.js new file mode 100644 index 0000000..ad1da39 --- /dev/null +++ b/chimere/static/chimere/js/menu-sort.js @@ -0,0 +1,20 @@ +jQuery(function($) { +    $('div.inline-group tbody').sortable({ +        /*containment: 'parent', +        zindex: 10, */ +        update: function() { +            $(this).find('tr').each(function(i) { +                if ($(this).find('input[id$=name]').val()) { +                    $(this).find('input[id$=order]').val(i+1); +                } +            }); +        } +    }); +    $('div.inline-group tbody tr').css('cursor', 'move'); +    $('div.inline-group tbody tr td').each(function (idx){ +        if($(this).is('*.field-order')){ +            $(this).hide(); +            $('div.inline-group thead th:nth-child('+idx+')').hide(); +        } +    }); +}); diff --git a/chimere/widgets.py b/chimere/widgets.py index ce848ea..e113305 100644 --- a/chimere/widgets.py +++ b/chimere/widgets.py @@ -1,6 +1,6 @@  #!/usr/bin/env python  # -*- coding: utf-8 -*- -# Copyright (C) 2008-2011 Étienne Loks  <etienne.loks_AT_peacefrogsDOTnet> +# Copyright (C) 2008-2012 Étienne Loks  <etienne.loks_AT_peacefrogsDOTnet>  # This program is free software: you can redistribute it and/or modify  # it under the terms of the GNU General Public License as | 
