diff --git a/MANIFEST.in b/MANIFEST.in new file mode 100644 index 0000000..5c14803 --- /dev/null +++ b/MANIFEST.in @@ -0,0 +1,2 @@ +include README.markdown +recursive-include filtrate *.py *.js *.css *.jpg *.png *.gif *.html \ No newline at end of file diff --git a/README.markdown b/README.markdown index b8a9050..b0feb45 100644 --- a/README.markdown +++ b/README.markdown @@ -2,8 +2,48 @@ This Django app makes it easier to create custom filters in the change list of Django Admin and supplies a `TreeFilter` and a `DateRangeFilter` too. Se below. -Tested on Django 1.2.3 but 1.3 support is coming too thx to TimFletcher. +Tested on Django 1.2.3 and from @15ea9a9 1.3.1. +## Updating to 1.3 support ## +I will write proper docs, things are getting messy here, but here is the +lowdown. + +### New settings required ### +As I found out, you can't reliably convert the django date formats to +Datepicker formats. So this commit introduces these two new settings: + + FILTRATE = { + # See http://jqueryui.com/demos/datepicker/#localization. + 'datepicker_region': 'en-GB', + # See http://docs.jquery.com/UI/Datepicker/formatDate. + 'datepicker_date_format': 'yy-mm-dd', + } + +So if the above defaults does not suit you, you have to change them your self. +Check out the Datepicker documentation to see how to use them. + +### lookup_allowed() ### +Django 1.2.4 introduces restrictions on which lookups that can be queried +in the url, so at the moment the end user are responsible for +checking for those, as in this example: + + class CaseAdmin(admin.ModelAdmin): + list_filter = ['client'] + + def lookup_allowed(self, key, *args, **kwargs): + if 'client__start_date' in key: + return True + else: + return super(CaseAdmin, self).lookup_allowed(key, *args, **kwargs) + +### Undefined Media() class bug ### +Time and my Python meta-fu is running out, and I couldn't fix it +so its not neccessary to define an empty Media() class as in: + + class CaseAdmin(admin.ModelAdmin): + class Media(): + pass + ## The FiltrateFilter ## The base class that adds support for custom html in the content of the filter and for using `Media()` classes. diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..10abe79 --- /dev/null +++ b/setup.py @@ -0,0 +1,26 @@ +#!/usr/bin/env python +# coding=utf8 + +from setuptools import setup, find_packages +import os + +static_files = [] +for root, subFolders, files in os.walk("filtrate/static"): + for f in files: + path = os.path.join(root, f) + # Remove 'filtrate/' + path = path[9:] + static_files.append(path) + +setup( + name='django-admin-filtrate', + version='0.1.0', + author='Rune Kaagaard', + author_email='rumi.kg@gmail.com', + description='This Django app makes it easier to create custom filters in the change list of Django Admin and supplies a TreeFilter and a DateRangeFilter too.', + long_description=open('README.markdown').read(), + license='MIT', + url='https://github.com/runekaagaard/django-admin-filtrate', + packages=find_packages(), + package_data = {'filtrate': ['templates/admin/*'] + static_files }, +)