Skip to content

Commit

Permalink
Fixed pallets-eco#4. More documentation.
Browse files Browse the repository at this point in the history
  • Loading branch information
mrjoes committed Mar 30, 2012
1 parent 716880e commit b192ea7
Show file tree
Hide file tree
Showing 6 changed files with 66 additions and 6 deletions.
4 changes: 2 additions & 2 deletions MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
include LICENSE
recursive-include flask_admin/static *
recursive-include flask_admin/templates *
recursive-include flask_adminex/static *
recursive-include flask_adminex/templates *
8 changes: 8 additions & 0 deletions doc/mod_ext_sqlamodel.rst
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@

.. autoattribute:: ModelView.searchable_columns

.. autoattribute:: ModelView.column_filters

.. autoattribute:: BaseModelView.form_columns
.. autoattribute:: BaseModelView.excluded_form_columns
.. autoattribute:: BaseModelView.form_args
Expand All @@ -54,6 +56,12 @@
.. automethod:: ModelView.scaffold_sortable_columns
.. automethod:: ModelView.scaffold_form

.. automethod:: ModelView.init_search

.. automethod:: ModelView.scaffold_filters

.. autoattribute:: ModelView.filter_converter

Configuration
-------------

Expand Down
8 changes: 8 additions & 0 deletions doc/mod_model.rst
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,13 @@
.. autoattribute:: BaseModelView.list_columns
.. autoattribute:: BaseModelView.excluded_list_columns
.. autoattribute:: BaseModelView.rename_columns

.. autoattribute:: BaseModelView.sortable_columns

.. autoattribute:: BaseModelView.searchable_columns

.. autoattribute:: BaseModelView.column_filters

.. autoattribute:: BaseModelView.form_columns
.. autoattribute:: BaseModelView.excluded_form_columns
.. autoattribute:: BaseModelView.form_args
Expand All @@ -43,9 +46,11 @@
Scaffolding
-----------

.. automethod:: BaseModelView.scaffold_pk
.. automethod:: BaseModelView.scaffold_list_columns
.. automethod:: BaseModelView.scaffold_sortable_columns
.. automethod:: BaseModelView.scaffold_form
.. automethod:: BaseModelView.scaffold_filters

Configuration
-------------
Expand All @@ -58,6 +63,9 @@

.. automethod:: BaseModelView.init_search

.. automethod:: BaseModelView.get_filters
.. automethod:: BaseModelView.is_valid_filter

Data
----

Expand Down
15 changes: 15 additions & 0 deletions flask_adminex/ext/sqlamodel/filters.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,22 @@


class BaseSQLAFilter(filters.BaseFilter):
"""
Base SQLAlchemy filter.
"""
def __init__(self, column, name, options=None, data_type=None):
"""
Constructor.
`column`
Model field
`name`
Display name
`options`
Fixed set of options
`data_type`
Client data type
"""
super(BaseSQLAFilter, self).__init__(name, options, data_type)

self.column = column
Expand Down
31 changes: 30 additions & 1 deletion flask_adminex/ext/sqlamodel/view.py
Original file line number Diff line number Diff line change
Expand Up @@ -221,9 +221,28 @@ class MyModelView(ModelView):
For example, if you entered *=ZZZ*, *ILIKE 'ZZZ'* statement will be used.
"""

column_filters = None
"""
Collection of the column filters.
Can contain either field names or instances of :class:`flask.ext.adminex.ext.sqlamodel.filters.BaseFilter` classes.
For example::
class MyModelView(BaseModelView):
column_filters = ('user', 'email')
or::
class MyModelView(BaseModelView):
column_filters = (BooleanEqualFilter(User.name, 'Name'))
"""

filter_converter = filters.FilterConverter()
"""
TBD:
Field to filter converter.
Override this attribute to use non-default converter.
"""

def __init__(self, model, session,
Expand Down Expand Up @@ -407,6 +426,16 @@ def scaffold_filters(self, name):

return flt

def is_valid_filter(self, filter):
"""
Verify that provided filter object is derived from the
SQLAlchemy-compatible filter class.
`filter`
Filter object to verify.
"""
return isinstance(filter, filters.BaseSQLAFilter)

def scaffold_form(self):
"""
Create form from the model.
Expand Down
6 changes: 3 additions & 3 deletions flask_adminex/model/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ class MyModelView(BaseModelView):
"""
Collection of the column filters.
Can contain either field names or instances of :class:`flask.ext.admin.model.filters.BaseFilter` classes.
Can contain either field names or instances of :class:`flask.ext.adminex.model.filters.BaseFilter` classes.
For example:
Expand Down Expand Up @@ -316,7 +316,7 @@ def init_search(self):
"""
return False

def scaffold_filter(self, name):
def scaffold_filters(self, name):
"""
Generate filter object for the given name
Expand Down Expand Up @@ -637,7 +637,7 @@ def get_value(obj, field):
sortable_columns=self._sortable_columns,
# Stuff
enumerate=enumerate,
gey_pk_value=self.get_pk_value,
get_pk_value=self.get_pk_value,
get_value=get_value,
return_url=self._get_url('.index_view',
page,
Expand Down

0 comments on commit b192ea7

Please sign in to comment.