diff --git a/HISTORY b/HISTORY index 4c30e7330..6ff214cc7 100644 --- a/HISTORY +++ b/HISTORY @@ -2,6 +2,11 @@ Changelog for django-filer ========================== +next +---- +* Remove `FILER_STATICMEDIA_PREFIX` and use `staticfiles` for static files. + + 0.9.12 (2015-07-28) ------------------- diff --git a/docs/settings.rst b/docs/settings.rst index c884a3cf9..29bf5b177 100644 --- a/docs/settings.rst +++ b/docs/settings.rst @@ -19,18 +19,6 @@ Should newly uploaded files have permission checking disabled (be public) by def Defaults to ``True`` (new files have permission checking disable, are public) -.. _FILER_STATICMEDIA_PREFIX: - -``FILER_STATICMEDIA_PREFIX`` ----------------------------- - -The prefix for static media where filer will look for bundled javascript, css -and images. - -Defaults to ``/filer/`` if ``STATIC_URL`` is defined. Otherwise -falls back to ``/filer/``. It is the URL where the ``static/filer/`` -directory should be served. - .. _FILER_STORAGES: ``FILER_STORAGES`` @@ -143,4 +131,4 @@ Defaults to ``False`` Defines the dotted path to a custom Image model; please include the model name. Example: 'my.app.models.CustomImage' -Defaults to ``False`` \ No newline at end of file +Defaults to ``False`` diff --git a/filer/admin/folderadmin.py b/filer/admin/folderadmin.py index a49a71de8..48ffcfa4f 100644 --- a/filer/admin/folderadmin.py +++ b/filer/admin/folderadmin.py @@ -41,7 +41,7 @@ admin_each_context) from filer.models import (Folder, FolderRoot, UnfiledImages, File, tools, ImagesWithMissingData, FolderPermission, Image) -from filer.settings import FILER_STATICMEDIA_PREFIX, FILER_PAGINATE_BY +from filer.settings import FILER_PAGINATE_BY from filer.thumbnail_processors import normalize_subject_location from filer.utils.compatibility import get_delete_permission from filer.utils.filer_easy_thumbnails import FilerActionThumbnailer @@ -328,7 +328,7 @@ def directory_listing(self, request, folder_id=None, viewtype=None): if order_by is None or len(order_by) == 0: folder_files.sort() - + items = folder_children + folder_files items_permissions = [(item, {'change': self.has_change_permission(request, item)}) for item in items] paginator = Paginator(items_permissions, FILER_PAGINATE_BY) diff --git a/filer/admin/imageadmin.py b/filer/admin/imageadmin.py index 03041a503..c431bf901 100644 --- a/filer/admin/imageadmin.py +++ b/filer/admin/imageadmin.py @@ -1,7 +1,8 @@ #-*- coding: utf-8 -*- from django import forms from django.utils.translation import ugettext as _ -from filer import settings as filer_settings +from django.contrib.staticfiles.templatetags.staticfiles import static + from filer.admin.fileadmin import FileAdmin from filer.models import Image @@ -32,8 +33,8 @@ class Media: #'all': (settings.MEDIA_URL + 'filer/css/focal_point.css',) } js = ( - filer_settings.FILER_STATICMEDIA_PREFIX + 'js/raphael.js', - filer_settings.FILER_STATICMEDIA_PREFIX + 'js/focal_point.js', + static('filer/js/raphael.js'), + static('filer/js/focal_point.js'), ) diff --git a/filer/fields/file.py b/filer/fields/file.py index d600ac68c..1a5bbabdb 100644 --- a/filer/fields/file.py +++ b/filer/fields/file.py @@ -4,6 +4,7 @@ from django import forms from django.contrib.admin.widgets import ForeignKeyRawIdWidget from django.contrib.admin.sites import site +from django.contrib.staticfiles.templatetags.staticfiles import static from django.core.urlresolvers import reverse from django.db import models from django.template.loader import render_to_string @@ -55,9 +56,6 @@ def render(self, name, value, attrs=None): # ForeignKeyRawIdWidget adds hidden_input = super(ForeignKeyRawIdWidget, self).render( name, value, attrs) - filer_static_prefix = filer_settings.FILER_STATICMEDIA_PREFIX - if not filer_static_prefix[-1] == '/': - filer_static_prefix += '/' context = { 'hidden_input': hidden_input, 'lookup_url': '%s%s' % (related_url, lookup_url), @@ -65,7 +63,6 @@ def render(self, name, value, attrs=None): 'span_id': css_id_description_txt, 'object': obj, 'lookup_name': name, - 'filer_static_prefix': filer_static_prefix, 'clear_id': '%s_clear' % css_id, 'id': css_id, } @@ -86,8 +83,8 @@ def obj_for_value(self, value): class Media: js = ( - filer_settings.FILER_STATICMEDIA_PREFIX + 'js/popup_handling.js', - filer_settings.FILER_STATICMEDIA_PREFIX + 'js/widget.js', + static('filer/js/popup_handling.js'), + static('filer/js/widget.js'), ) diff --git a/filer/fields/folder.py b/filer/fields/folder.py index 6a8b3a090..02f80cb24 100644 --- a/filer/fields/folder.py +++ b/filer/fields/folder.py @@ -6,6 +6,7 @@ from django.conf import settings from django.contrib.admin.widgets import ForeignKeyRawIdWidget from django.contrib.admin.sites import site +from django.contrib.staticfiles.templatetags.staticfiles import static from django.core.urlresolvers import reverse from django.db import models from django.utils.safestring import mark_safe @@ -13,7 +14,6 @@ from filer.utils.model_label import get_model_label from django.utils.translation import ugettext as _ from filer.models import Folder -from filer.settings import FILER_STATICMEDIA_PREFIX class AdminFolderWidget(ForeignKeyRawIdWidget): @@ -62,7 +62,7 @@ def render(self, name, value, attrs=None): 'object': obj, 'clear_id': '%s_clear' % css_id, 'descid': css_id_description_txt, - 'noimg': '%sicons/nofile_32x32.png' % FILER_STATICMEDIA_PREFIX, + 'noimg': 'filer/icons/nofile_32x32.png', 'foldid': css_id_folder, 'id': css_id, } @@ -82,7 +82,7 @@ def obj_for_value(self, value): return obj class Media: - js = (FILER_STATICMEDIA_PREFIX + 'js/popup_handling.js',) + js = (static('filer/js/popup_handling.js'), ) class AdminFolderFormField(forms.ModelChoiceField): diff --git a/filer/models/mixins.py b/filer/models/mixins.py index 70c9a2eff..91bdd4415 100644 --- a/filer/models/mixins.py +++ b/filer/models/mixins.py @@ -1,5 +1,7 @@ #-*- coding: utf-8 -*- -from filer.settings import FILER_ADMIN_ICON_SIZES, FILER_STATICMEDIA_PREFIX +from django.contrib.staticfiles.templatetags.staticfiles import static + +from filer.settings import FILER_ADMIN_ICON_SIZES class IconsMixin(object): @@ -12,6 +14,5 @@ def icons(self): r = {} if getattr(self, '_icon', False): for size in FILER_ADMIN_ICON_SIZES: - r[size] = "%sicons/%s_%sx%s.png" % ( - FILER_STATICMEDIA_PREFIX, self._icon, size, size) + r[size] = static("filer/icons/%s_%sx%s.png" % (self._icon, size, size)) return r diff --git a/filer/settings.py b/filer/settings.py index 88eba86c2..13a51c3e0 100644 --- a/filer/settings.py +++ b/filer/settings.py @@ -23,9 +23,6 @@ FILER_IS_PUBLIC_DEFAULT = getattr(settings, 'FILER_IS_PUBLIC_DEFAULT', True) FILER_PAGINATE_BY = getattr(settings, 'FILER_PAGINATE_BY', 20) -FILER_STATICMEDIA_PREFIX = getattr(settings, 'FILER_STATICMEDIA_PREFIX', None) -if not FILER_STATICMEDIA_PREFIX: - FILER_STATICMEDIA_PREFIX = (getattr(settings, 'STATIC_URL', None) or settings.MEDIA_URL) + 'filer/' FILER_ADMIN_ICON_SIZES = getattr(settings,"FILER_ADMIN_ICON_SIZES",( '16', '32', '48', '64', diff --git a/filer/templates/admin/filer/base_site.html b/filer/templates/admin/filer/base_site.html index b3f63fd2f..da22c84ae 100644 --- a/filer/templates/admin/filer/base_site.html +++ b/filer/templates/admin/filer/base_site.html @@ -1,6 +1,6 @@ {% extends "admin/base_site.html" %} -{% load i18n filermedia %} +{% load i18n staticfiles %} {% block extrastyle %}{{ block.super }} - + {% endblock %} diff --git a/filer/templates/admin/filer/change_form.html b/filer/templates/admin/filer/change_form.html index a5b7f9b77..dc3c96659 100644 --- a/filer/templates/admin/filer/change_form.html +++ b/filer/templates/admin/filer/change_form.html @@ -1,5 +1,5 @@ {% extends "admin/change_form.html" %} -{% load i18n admin_modify filermedia %} +{% load i18n admin_modify staticfiles %} {% block extrahead %}{{ block.super }} {% endblock %} @@ -11,7 +11,7 @@ {% endblock %} {% block extrastyle %}{{ block.super }} - + {% endblock %} {% block coltype %}colMS{% endblock %} diff --git a/filer/templates/admin/filer/delete_confirmation.html b/filer/templates/admin/filer/delete_confirmation.html index bee8ba6c1..d37ac7b58 100644 --- a/filer/templates/admin/filer/delete_confirmation.html +++ b/filer/templates/admin/filer/delete_confirmation.html @@ -1,9 +1,9 @@ {% extends "admin/delete_confirmation.html" %} -{% load i18n filermedia %} +{% load i18n staticfiles %} {% load url from future %} {% block extrastyle %}{{ block.super }} - + {% endblock %} {% block breadcrumbs %} diff --git a/filer/templates/admin/filer/folder/change_form.html b/filer/templates/admin/filer/folder/change_form.html index 5bc0cc8c1..159c8927e 100644 --- a/filer/templates/admin/filer/folder/change_form.html +++ b/filer/templates/admin/filer/folder/change_form.html @@ -1,5 +1,5 @@ {% extends "admin/change_form.html" %} -{% load i18n admin_modify filermedia %} +{% load i18n admin_modify staticfiles %} {% load url from future %} {% block breadcrumbs %} @@ -32,7 +32,7 @@ {% block sidebar %}{% if not is_popup %} {% endif %}{% endblock %} diff --git a/filer/templates/admin/filer/folder/choose_copy_destination.html b/filer/templates/admin/filer/folder/choose_copy_destination.html index 78edba983..3ea11492f 100644 --- a/filer/templates/admin/filer/folder/choose_copy_destination.html +++ b/filer/templates/admin/filer/folder/choose_copy_destination.html @@ -1,11 +1,11 @@ {% extends "admin/base_site.html" %} -{% load i18n filer_admin_tags %} +{% load i18n staticfiles %} {% block breadcrumbs %} {% include "admin/filer/breadcrumbs.html" %} {% endblock %} -{% block extrastyle %}{{ block.super }}{% endblock %} +{% block extrastyle %}{{ block.super }}{% endblock %} {% block content %} {% if perms_lacking %} diff --git a/filer/templates/admin/filer/folder/choose_images_resize_options.html b/filer/templates/admin/filer/folder/choose_images_resize_options.html index f7adb081c..bbc1a0aac 100644 --- a/filer/templates/admin/filer/folder/choose_images_resize_options.html +++ b/filer/templates/admin/filer/folder/choose_images_resize_options.html @@ -1,11 +1,11 @@ {% extends "admin/base_site.html" %} -{% load i18n filer_admin_tags %} +{% load i18n staticfiles %} {% block breadcrumbs %} {% include "admin/filer/breadcrumbs.html" %} {% endblock %} -{% block extrastyle %}{{ block.super }}{% endblock %} +{% block extrastyle %}{{ block.super }}{% endblock %} {% block content %} {% if perms_lacking %} diff --git a/filer/templates/admin/filer/folder/choose_move_destination.html b/filer/templates/admin/filer/folder/choose_move_destination.html index 5c02520ae..e7437bc04 100644 --- a/filer/templates/admin/filer/folder/choose_move_destination.html +++ b/filer/templates/admin/filer/folder/choose_move_destination.html @@ -1,11 +1,11 @@ {% extends "admin/base_site.html" %} -{% load i18n filer_admin_tags %} +{% load i18n staticfiles %} {% block breadcrumbs %} {% include "admin/filer/breadcrumbs.html" %} {% endblock %} -{% block extrastyle %}{{ block.super }}{% endblock %} +{% block extrastyle %}{{ block.super }}{% endblock %} {% block content %} {% if perms_lacking %} diff --git a/filer/templates/admin/filer/folder/choose_rename_format.html b/filer/templates/admin/filer/folder/choose_rename_format.html index 9f72148ad..85d6ecc24 100644 --- a/filer/templates/admin/filer/folder/choose_rename_format.html +++ b/filer/templates/admin/filer/folder/choose_rename_format.html @@ -1,11 +1,11 @@ {% extends "admin/base_site.html" %} -{% load i18n filer_admin_tags %} +{% load i18n static %} {% block breadcrumbs %} {% include "admin/filer/breadcrumbs.html" %} {% endblock %} -{% block extrastyle %}{{ block.super }}{% endblock %} +{% block extrastyle %}{{ block.super }}{% endblock %} {% block content %} {% if perms_lacking %} diff --git a/filer/templates/admin/filer/folder/directory_listing.html b/filer/templates/admin/filer/folder/directory_listing.html index 08c1d021c..5bc160265 100644 --- a/filer/templates/admin/filer/folder/directory_listing.html +++ b/filer/templates/admin/filer/folder/directory_listing.html @@ -1,16 +1,16 @@ {% extends "admin/filer/base_site.html" %} -{% load filer_admin_tags filermedia i18n %} +{% load i18n staticfiles filer_admin_tags %} {% load url from future %} {% block extrahead %}{{ block.super }} {# upload stuff #} {{ media.js }} - - - - - - + + + + + + {% if action_form %}{% if actions_on_top or actions_on_bottom %}