From: zuber <marek@stepniowski.com>
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

Ł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)
+