From: zuber Date: Fri, 6 Nov 2009 12:07:07 +0000 (+0100) Subject: Interfejs do dołączania galerii do dokumentu, jeżeli żadna nie jest dołączona. X-Git-Url: https://git.mdrn.pl/redakcja.git/commitdiff_plain/e26ca139f24101d2e5578cb278b7a47b54f542f0 Interfejs do dołączania galerii do dokumentu, jeżeli żadna nie jest dołączona. --- diff --git a/apps/explorer/admin.py b/apps/explorer/admin.py index c84a5d93..dd765f59 100644 --- a/apps/explorer/admin.py +++ b/apps/explorer/admin.py @@ -1,29 +1,13 @@ from django.contrib import admin -from django import forms -import os - -from django.conf import settings import explorer.models +from explorer import forms admin.site.register(explorer.models.EditorSettings) admin.site.register(explorer.models.EditorPanel) - -class GalleryAdminForm(forms.ModelForm): - subpath = forms.ChoiceField(choices=()) - - def __init__(self, *args, **kwargs): - super(GalleryAdminForm, self).__init__(*args, **kwargs) - self.fields['subpath'].choices = [(settings.IMAGE_DIR + '/' + 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 + form = forms.GalleryChoiceForm list_display = ('document', 'subpath',) search_fields = ('document', 'subpath',) diff --git a/apps/explorer/forms.py b/apps/explorer/forms.py index 6c5c88d5..33585bce 100644 --- a/apps/explorer/forms.py +++ b/apps/explorer/forms.py @@ -1,12 +1,14 @@ # -*- coding: utf-8 -*- -from django import forms - -from lxml import etree +import os from librarian import dcparser + +from django import forms +from django.conf import settings import django.utils from explorer import models + class PersonField(forms.CharField): def clean(self, value): try: @@ -79,6 +81,17 @@ class SplitForm(forms.Form): fulltext = forms.CharField(widget=forms.HiddenInput(), required=False) splittext = forms.CharField(widget=forms.HiddenInput(), required=False) +class GalleryChoiceForm(forms.ModelForm): + subpath = forms.ChoiceField(choices=()) + + def __init__(self, *args, **kwargs): + super(GalleryChoiceForm, self).__init__(*args, **kwargs) + self.fields['subpath'].choices = [(settings.IMAGE_DIR + '/' + x, x) for x in os.listdir(settings.MEDIA_ROOT + settings.IMAGE_DIR)] + + class Meta: + model = models.GalleryForDocument + fields = ('document', 'subpath',) + class DublinCoreForm(forms.Form): about = forms.URLField(verify_exists=False) author = PersonField() @@ -109,4 +122,5 @@ class DublinCoreForm(forms.Form): vdict = info.to_dict() for name in self.fields.keys(): if vdict.has_key(name): - self.fields[name].initial = vdict[name] \ No newline at end of file + self.fields[name].initial = vdict[name] + diff --git a/apps/explorer/views.py b/apps/explorer/views.py index 2c9b17da..5ec452ae 100644 --- a/apps/explorer/views.py +++ b/apps/explorer/views.py @@ -13,8 +13,10 @@ from django.utils import simplejson as json from django.views.generic.simple import direct_to_template from django.contrib.auth.decorators import login_required +from explorer import forms from api.models import PullRequest + def ajax_login_required(view): """Similar ro @login_required, but instead of redirect, just return some JSON stuff with error.""" @@ -28,11 +30,12 @@ def ajax_login_required(view): @login_required def display_editor(request, path): user = request.GET.get('user', request.user.username) - log.info(user) + gallery_form = forms.GalleryChoiceForm() return direct_to_template(request, 'explorer/editor.html', extra_context={ 'fileid': path, - 'euser': user + 'euser': user, + 'gallery_form': gallery_form, }) # diff --git a/platforma/templates/explorer/editor.html b/platforma/templates/explorer/editor.html index 7bc9c617..0dcc06bc 100755 --- a/platforma/templates/explorer/editor.html +++ b/platforma/templates/explorer/editor.html @@ -135,7 +135,14 @@