diff options
| -rw-r--r-- | chimere/admin.py | 9 | ||||
| -rw-r--r-- | chimere/forms.py | 17 | ||||
| -rw-r--r-- | chimere/static/chimere/js/menu-sort.js | 14 | 
3 files changed, 33 insertions, 7 deletions
diff --git a/chimere/admin.py b/chimere/admin.py index 4c728e7..159819a 100644 --- a/chimere/admin.py +++ b/chimere/admin.py @@ -35,7 +35,8 @@ except ImportError:      pass  from chimere.forms import MarkerAdminForm, RouteAdminForm, AreaAdminForm,\ -                          NewsAdminForm, CategoryAdminForm, ImporterAdminForm +                          NewsAdminForm, CategoryAdminForm, ImporterAdminForm, \ +                          PictureFileAdminForm, MultimediaFileAdminForm  from chimere.models import Category, Icon, SubCategory, Marker, \       PropertyModel, News, Route, Area, ColorTheme, Color, MultimediaType, \       MultimediaFile, PictureFile, Importer, Layer, AreaLayers @@ -100,10 +101,16 @@ export_to_csv.short_description = _(u"Export to CSV")  class PictureInline(admin.TabularInline):      model = PictureFile      extra = 1 +    ordering = ('order',) +    form = PictureFileAdminForm +    readonly_fields = ('height', 'width') +    exclude = ('thumbnailfile', 'thumbnailfile_height', 'thumbnailfile_width')  class MultimediaInline(admin.TabularInline):      model = MultimediaFile      extra = 1 +    ordering = ('order',) +    form = MultimediaFileAdminForm  class MarkerAdmin(admin.ModelAdmin):      """ diff --git a/chimere/forms.py b/chimere/forms.py index a8aa824..c42e317 100644 --- a/chimere/forms.py +++ b/chimere/forms.py @@ -331,7 +331,6 @@ class RouteForm(RouteAdminForm):          new_marker.saveProperties(properties)          return new_route -  class BaseFileForm(forms.ModelForm):      id = forms.IntegerField(label=u"", widget=forms.HiddenInput(),                              required=False) @@ -366,6 +365,14 @@ class BaseFileForm(forms.ModelForm):          else:              instance = self._meta.model.objects.create(**self.cleaned_data) +class MultimediaFileAdminForm(forms.ModelForm): +    class Meta: +        model = MultimediaFile +    class Media: +        js = list(settings.JQUERY_JS_URLS) + [ +            '%schimere/js/menu-sort.js' % settings.STATIC_URL, +        ] +  class MultimediaFileForm(BaseFileForm):      """      Form for a multimedia file @@ -382,6 +389,14 @@ class MultimediaFileForm(BaseFileForm):  MultimediaFileFormSet = formset_factory(MultimediaFileForm, can_delete=True) +class PictureFileAdminForm(forms.ModelForm): +    class Meta: +        model = PictureFile +    class Media: +        js = list(settings.JQUERY_JS_URLS) + [ +            '%schimere/js/menu-sort.js' % settings.STATIC_URL, +        ] +  class PictureFileForm(BaseFileForm):      """      Form for a picture file diff --git a/chimere/static/chimere/js/menu-sort.js b/chimere/static/chimere/js/menu-sort.js index ad1da39..37d0ddd 100644 --- a/chimere/static/chimere/js/menu-sort.js +++ b/chimere/static/chimere/js/menu-sort.js @@ -11,10 +11,14 @@ jQuery(function($) {          }      });      $('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(); -        } +    $('div.inline-group').each(function(){ +        var par = $(this); +        par.find('tbody tr td').each( +            function (idx){ +                if($(this).is('*.field-order')){ +                    $(this).hide(); +                    par.find('thead th:nth-child('+idx+')').hide(); +                } +            });      });  });  | 
