from django.contrib import admin from django.utils.translation import ugettext as _ from django.http import Http404, HttpResponse, HttpResponseRedirect from django.utils.encoding import force_unicode from django.utils.html import escape from upload.models import FileUpload from django.conf import settings class UploadAdmin(admin.ModelAdmin): list_display = ('title','upload_date','upload', 'content_type') search_fields = ['title',] list_filter = ('upload_date', 'content_type') fieldsets = ( (None, {'fields': ('upload','title','description')}), ) class Media: js = ['%s/admin/jquery/jquery-1.3.2.min.js' % (settings.MEDIA_URL), '%s/admin/custom/photo-edit.js' % (settings.MEDIA_URL)] def response_change(self, request, obj): """ Determines the HttpResponse for the change_view stage. """ opts = obj._meta pk_value = obj._get_pk_val() msg = _('The %(name)s "%(obj)s" was changed successfully.') % {'name': force_unicode(opts.verbose_name), 'obj': force_unicode(obj)} if request.POST.has_key("_continue"): self.message_user(request, msg + ' ' + _("You may edit it again below.")) if request.REQUEST.has_key('_popup'): return HttpResponseRedirect(request.path + "?_popup=1") else: return HttpResponseRedirect(request.path) elif request.POST.has_key("_saveasnew"): msg = _('The %(name)s "%(obj)s" was added successfully. You may edit it again below.') % {'name': force_unicode(opts.verbose_name), 'obj': obj} self.message_user(request, msg) return HttpResponseRedirect("../%s/" % pk_value) elif request.POST.has_key("_addanother"): self.message_user(request, msg + ' ' + (_("You may add another %s below.") % force_unicode(opts.verbose_name))) return HttpResponseRedirect("../add/") elif request.POST.has_key("_popup"): return HttpResponse('' % \ # escape() calls force_unicode. (escape(pk_value), escape(obj))) else: self.message_user(request, msg) return HttpResponseRedirect("../") admin.site.register(FileUpload, UploadAdmin)