From: zuber Date: Thu, 5 Nov 2009 23:14:15 +0000 (+0100) Subject: Łatwiejsze wybieranie galerii dla dokumentów w interfejsie administracyjnym. X-Git-Url: https://git.mdrn.pl/redakcja.git/commitdiff_plain/54d7b5abd1eddc6f22f8d3df75334a54a1420485?ds=inline;hp=717c14c014e3c988bcb392599a47ffa92630da78 Łatwiejsze wybieranie galerii dla dokumentów w interfejsie administracyjnym. --- diff --git a/apps/explorer/admin.py b/apps/explorer/admin.py index 10c3e79a..097514a9 100644 --- a/apps/explorer/admin.py +++ b/apps/explorer/admin.py @@ -1,7 +1,30 @@ from django.contrib import admin +from django import forms +import os + +from django.conf import settings import explorer.models admin.site.register(explorer.models.EditorSettings) admin.site.register(explorer.models.EditorPanel) -admin.site.register(explorer.models.GalleryForDocument) \ No newline at end of file + + +class GalleryAdminForm(forms.ModelForm): + subpath = forms.ChoiceField(choices=()) + + def __init__(self, *args, **kwargs): + super(GalleryAdminForm, self).__init__(*args, **kwargs) + self.fields['subpath'].choices = [(x, x) for x in os.listdir(settings.MEDIA_ROOT + settings.IMAGE_DIR)] + + class Meta: + mode = explorer.models.GalleryForDocument + fields = ('document', 'subpath',) + + +class GalleryAdmin(admin.ModelAdmin): + form = GalleryAdminForm + list_display = ('document', 'subpath',) + search_fields = ('document', 'subpath',) + +admin.site.register(explorer.models.GalleryForDocument, GalleryAdmin) \ No newline at end of file diff --git a/apps/explorer/models.py b/apps/explorer/models.py index 73e9063a..e104cda6 100644 --- a/apps/explorer/models.py +++ b/apps/explorer/models.py @@ -58,13 +58,14 @@ class EditorPanel(models.Model): # Yes, this is intentionally unnormalized ! class GalleryForDocument(models.Model): - name = models.CharField(max_length=100) - - # directory containing scans under MEDIA_ROOT/ - subpath = models.CharField(max_length=255) + name = models.CharField(max_length=100, blank=True) # document associated with the gallery - document = models.CharField(max_length=255) + document = models.CharField(max_length=255, unique=True) + + # directory containing scans under MEDIA_ROOT/ + subpath = models.CharField(max_length=255) def __unicode__(self): - return u"%s:%s" % (self.subpath, self.document) \ No newline at end of file + return u"%s:%s" % (self.subpath, self.document) +