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