Commit 222261a9 authored by Alex Kerney's avatar Alex Kerney

Bringing Flask-Admin inline with the current Flask extension import naming...

Bringing Flask-Admin inline with the current Flask extension import naming guidelines. Namely flask_admin rather than flask.ext.admin per https://github.com/mitsuhiko/flask/issues/1135 as the old flask.ext.* method is being deprecated for Flask 1.0.
parent 9f9fee13
``flask.ext.admin.actions`` ``flask_admin.actions``
=========================== ===========================
.. automodule:: flask.ext.admin.actions .. automodule:: flask_admin.actions
.. autofunction:: action .. autofunction:: action
......
``flask.ext.admin.base`` ``flask_admin.base``
======================== ========================
.. automodule:: flask.ext.admin.base .. automodule:: flask_admin.base
Base View Base View
--------- ---------
......
``flask.ext.admin.contrib.fileadmin`` ``flask_admin.contrib.fileadmin``
===================================== =====================================
.. automodule:: flask.ext.admin.contrib.fileadmin .. automodule:: flask_admin.contrib.fileadmin
.. autoclass:: FileAdmin .. autoclass:: FileAdmin
:members: :members:
......
``flask.ext.admin.contrib.mongoengine`` ``flask_admin.contrib.mongoengine``
======================================= =======================================
MongoEngine model backend implementation. MongoEngine model backend implementation.
.. automodule:: flask.ext.admin.contrib.mongoengine .. automodule:: flask_admin.contrib.mongoengine
.. autoclass:: ModelView .. autoclass:: ModelView
:members: :members:
...@@ -12,7 +12,7 @@ MongoEngine model backend implementation. ...@@ -12,7 +12,7 @@ MongoEngine model backend implementation.
filter_converter, model_form_converter filter_converter, model_form_converter
allowed_search_types, form_subdocuments allowed_search_types, form_subdocuments
Class inherits configuration options from :class:`~flask.ext.admin.model.BaseModelView` and they're not displayed here. Class inherits configuration options from :class:`~flask_admin.model.BaseModelView` and they're not displayed here.
.. autoattribute:: column_filters .. autoattribute:: column_filters
.. autoattribute:: column_type_formatters .. autoattribute:: column_type_formatters
......
``flask.ext.admin.contrib.mongoengine.fields`` ``flask_admin.contrib.mongoengine.fields``
============================================== ==============================================
.. automodule:: flask.ext.admin.contrib.mongoengine.fields .. automodule:: flask_admin.contrib.mongoengine.fields
.. autoclass:: ModelFormField .. autoclass:: ModelFormField
:members: :members:
...@@ -11,4 +11,3 @@ ...@@ -11,4 +11,3 @@
.. autoclass:: MongoImageField .. autoclass:: MongoImageField
:members: :members:
``flask.ext.admin.contrib.peewee`` ``flask_admin.contrib.peewee``
================================== ==================================
Peewee model backend implementation. Peewee model backend implementation.
.. automodule:: flask.ext.admin.contrib.peewee .. automodule:: flask_admin.contrib.peewee
.. autoclass:: ModelView .. autoclass:: ModelView
:members: :members:
...@@ -11,7 +11,7 @@ Peewee model backend implementation. ...@@ -11,7 +11,7 @@ Peewee model backend implementation.
:exclude-members: column_filters, filter_converter, model_form_converter, :exclude-members: column_filters, filter_converter, model_form_converter,
inline_model_form_converter, fast_mass_delete, inline_models inline_model_form_converter, fast_mass_delete, inline_models
Class inherits configuration options from :class:`~flask.ext.admin.model.BaseModelView` and they're not displayed here. Class inherits configuration options from :class:`~flask_admin.model.BaseModelView` and they're not displayed here.
.. autoattribute:: column_filters .. autoattribute:: column_filters
.. autoattribute:: filter_converter .. autoattribute:: filter_converter
......
``flask.ext.admin.contrib.pymongo`` ``flask_admin.contrib.pymongo``
=================================== ===================================
PyMongo model backend implementation. PyMongo model backend implementation.
.. automodule:: flask.ext.admin.contrib.pymongo .. automodule:: flask_admin.contrib.pymongo
.. autoclass:: ModelView .. autoclass:: ModelView
:members: :members:
:inherited-members: :inherited-members:
:exclude-members: column_filters :exclude-members: column_filters
Class inherits configuration options from :class:`~flask.ext.admin.model.BaseModelView` and they're not displayed here. Class inherits configuration options from :class:`~flask_admin.model.BaseModelView` and they're not displayed here.
.. autoattribute:: column_filters .. autoattribute:: column_filters
``flask.ext.admin.contrib.sqla`` ``flask_admin.contrib.sqla``
================================ ================================
SQLAlchemy model backend implementation. SQLAlchemy model backend implementation.
.. automodule:: flask.ext.admin.contrib.sqla .. automodule:: flask_admin.contrib.sqla
.. autoclass:: ModelView .. autoclass:: ModelView
:members: :members:
...@@ -15,7 +15,7 @@ SQLAlchemy model backend implementation. ...@@ -15,7 +15,7 @@ SQLAlchemy model backend implementation.
inline_models, form_choices, inline_models, form_choices,
form_optional_types form_optional_types
Class inherits configuration options from :class:`~flask.ext.admin.model.BaseModelView` and they're not displayed here. Class inherits configuration options from :class:`~flask_admin.model.BaseModelView` and they're not displayed here.
.. autoattribute:: column_auto_select_related .. autoattribute:: column_auto_select_related
.. autoattribute:: column_select_related_list .. autoattribute:: column_select_related_list
......
``flask.ext.admin.form`` ``flask_admin.form``
======================== ========================
.. automodule:: flask.ext.admin.form .. automodule:: flask_admin.form
.. autoclass:: BaseForm .. autoclass:: BaseForm
:members: :members:
``flask.ext.admin.form.fields`` ``flask_admin.form.fields``
=============================== ===========================
.. automodule:: flask.ext.admin.form.fields .. automodule:: flask_admin.form.fields
.. autoclass:: TimeField .. autoclass:: TimeField
:members: :members:
......
``flask.ext.admin.form.rules`` ``flask_admin.form.rules``
============================== ==========================
.. automodule:: flask.ext.admin.form.rules .. automodule:: flask_admin.form.rules
.. autoclass:: BaseRule .. autoclass:: BaseRule
:members: __init__ :members: __init__
...@@ -35,4 +35,3 @@ ...@@ -35,4 +35,3 @@
.. autoclass:: FieldSet .. autoclass:: FieldSet
:members: __init__ :members: __init__
``flask.ext.admin.form.upload`` ``flask_admin.form.upload``
=============================== ===============================
.. automodule:: flask.ext.admin.form.upload .. automodule:: flask_admin.form.upload
.. autoclass:: FileUploadField .. autoclass:: FileUploadField
:members: __init__ :members: __init__
......
``flask.ext.admin.helpers`` ``flask_admin.helpers``
=========================== ===========================
.. automodule:: flask.ext.admin.helpers .. automodule:: flask_admin.helpers
.. autofunction:: get_current_view .. autofunction:: get_current_view
...@@ -17,4 +17,3 @@ ...@@ -17,4 +17,3 @@
.. autofunction:: resolve_ctx .. autofunction:: resolve_ctx
.. autofunction:: get_render_ctx .. autofunction:: get_render_ctx
``flask.ext.admin.model`` ``flask_admin.model``
========================= =========================
.. automodule:: flask.ext.admin.model .. automodule:: flask_admin.model
.. autoclass:: BaseModelView .. autoclass:: BaseModelView
:members: :members:
......
``flask.ext.admin.model.template`` ``flask_admin.model.template``
================================== ==================================
.. automodule:: flask.ext.admin.model.template .. automodule:: flask_admin.model.template
.. autofunction:: macro .. autofunction:: macro
``flask.ext.admin.tools`` ``flask_admin.tools``
========================= =========================
.. automodule:: flask.ext.admin.tools .. automodule:: flask_admin.tools
.. autofunction:: import_module .. autofunction:: import_module
.. autofunction:: import_attribute .. autofunction:: import_attribute
.. autofunction:: module_not_found .. autofunction:: module_not_found
.. autofunction:: rec_getattr .. autofunction:: rec_getattr
...@@ -42,7 +42,7 @@ changes necessary to other code. ``ModelView`` should be imported from ...@@ -42,7 +42,7 @@ changes necessary to other code. ``ModelView`` should be imported from
``geoa`` rather than the one imported from ``sqla``:: ``geoa`` rather than the one imported from ``sqla``::
from geoalchemy2 import Geometry from geoalchemy2 import Geometry
from flask.ext.admin.contrib.geoa import ModelView from flask_admin.contrib.geoa import ModelView
# .. flask initialization # .. flask initialization
db = SQLAlchemy(app) db = SQLAlchemy(app)
......
...@@ -11,7 +11,7 @@ with PyMongo: ...@@ -11,7 +11,7 @@ with PyMongo:
1. Provide list of columns by setting `column_list` property 1. Provide list of columns by setting `column_list` property
2. Provide form to use by setting `form` property 2. Provide form to use by setting `form` property
3. When instantiating :class:`flask.ext.admin.contrib.pymongo.ModelView` class, you have to provide PyMongo collection object 3. When instantiating :class:`flask_admin.contrib.pymongo.ModelView` class, you have to provide PyMongo collection object
This is minimal PyMongo view:: This is minimal PyMongo view::
......
...@@ -22,9 +22,9 @@ If you use Flask-SQLAlchemy, this is how you initialize Flask-Admin ...@@ -22,9 +22,9 @@ If you use Flask-SQLAlchemy, this is how you initialize Flask-Admin
and get session from the `SQLAlchemy` object:: and get session from the `SQLAlchemy` object::
from flask import Flask from flask import Flask
from flask.ext.sqlalchemy import SQLAlchemy from flask_sqlalchemy import SQLAlchemy
from flask.ext.admin import Admin from flask_admin import Admin
from flask.ext.admin.contrib.sqla import ModelView from flask_admin.contrib.sqla import ModelView
app = Flask(__name__) app = Flask(__name__)
# .. read settings # .. read settings
...@@ -73,7 +73,7 @@ Customizing administrative interface ...@@ -73,7 +73,7 @@ Customizing administrative interface
List view can be customized in different ways. List view can be customized in different ways.
First of all, you can use various class-level properties to configure First of all, you can use various class-level properties to configure
what should be displayed and how. For example, :attr:`~flask.ext.admin.contrib.sqla.ModelView.column_list` can be used to show some of what should be displayed and how. For example, :attr:`~flask_admin.contrib.sqla.ModelView.column_list` can be used to show some of
the column or include extra columns from related models. the column or include extra columns from related models.
For example:: For example::
...@@ -89,7 +89,7 @@ For example:: ...@@ -89,7 +89,7 @@ For example::
# Add filters for name and email columns # Add filters for name and email columns
column_filters = ('name', 'email') column_filters = ('name', 'email')
Alternatively, you can override some of the :class:`~flask.ext.admin.contrib.sqla.ModelView` methods and implement your custom logic. Alternatively, you can override some of the :class:`~flask_admin.contrib.sqla.ModelView` methods and implement your custom logic.
For example, if you need to contribute additional field to the generated form, For example, if you need to contribute additional field to the generated form,
you can do something like this:: you can do something like this::
......
...@@ -43,9 +43,9 @@ Let's write a bit of code to create a simple CRUD interface for the `Post` SQLAl ...@@ -43,9 +43,9 @@ Let's write a bit of code to create a simple CRUD interface for the `Post` SQLAl
Flask-SQLAlchemy extension, but you don't have to use it (you could also use the SQLAlchemy declarative extension):: Flask-SQLAlchemy extension, but you don't have to use it (you could also use the SQLAlchemy declarative extension)::
from flask import Flask from flask import Flask
from flask.ext.admin import Admin from flask_admin import Admin
from flask.ext.admin.contrib.sqla import ModelView from flask_admin.contrib.sqla import ModelView
from flask.ext.sqlalchemy import SQLAlchemy from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__) app = Flask(__name__)
db = SQLAlchemy(app) db = SQLAlchemy(app)
...@@ -91,17 +91,17 @@ SQLAlchemy backend. You can also see which *django-admin* properties they corres ...@@ -91,17 +91,17 @@ SQLAlchemy backend. You can also see which *django-admin* properties they corres
Django Flask-Admin Django Flask-Admin
=========================================== ============================================== =========================================== ==============================================
actions :doc:`api/mod_actions` actions :doc:`api/mod_actions`
exclude :attr:`~flask.ext.admin.model.BaseModelView.form_excluded_columns` exclude :attr:`~flask_admin.model.BaseModelView.form_excluded_columns`
fields :attr:`~flask.ext.admin.model.BaseModelView.form_columns` fields :attr:`~flask_admin.model.BaseModelView.form_columns`
form :attr:`~flask.ext.admin.model.BaseModelView.form` form :attr:`~flask_admin.model.BaseModelView.form`
formfield_overrides :attr:`~flask.ext.admin.model.BaseModelView.form_args` formfield_overrides :attr:`~flask_admin.model.BaseModelView.form_args`
inlines :attr:`~flask.ext.admin.contrib.sqlalchemy.ModelView.inline_models` inlines :attr:`~flask_admin.contrib.sqlalchemy.ModelView.inline_models`
list_display :attr:`~flask.ext.admin.model.BaseModelView.column_list` list_display :attr:`~flask_admin.model.BaseModelView.column_list`
list_filter :attr:`~flask.ext.admin.contrib.sqlalchemy.ModelView.column_filters` list_filter :attr:`~flask_admin.contrib.sqlalchemy.ModelView.column_filters`
list_per_page :attr:`~flask.ext.admin.model.BaseModelView.page_size` list_per_page :attr:`~flask_admin.model.BaseModelView.page_size`
search_fields :attr:`~flask.ext.admin.model.BaseModelView.column_searchable_list` search_fields :attr:`~flask_admin.model.BaseModelView.column_searchable_list`
add_form_template :attr:`~flask.ext.admin.model.BaseModelView.create_template` add_form_template :attr:`~flask_admin.model.BaseModelView.create_template`
change_form_template :attr:`~flask.ext.admin.model.BaseModelView.change_form_template` change_form_template :attr:`~flask_admin.model.BaseModelView.change_form_template`
=========================================== ============================================== =========================================== ==============================================
You might want to check :doc:`api/mod_model` for basic model configuration options (reused by all model You might want to check :doc:`api/mod_model` for basic model configuration options (reused by all model
...@@ -158,4 +158,3 @@ Tips and hints ...@@ -158,4 +158,3 @@ Tips and hints
5. There's a so called "index view". By default it is empty, but you can put any information you need there. It is displayed 5. There's a so called "index view". By default it is empty, but you can put any information you need there. It is displayed
under the *Home* menu option. under the *Home* menu option.
...@@ -27,12 +27,12 @@ property one of your admin views:: ...@@ -27,12 +27,12 @@ property one of your admin views::
In this example, only three fields will be rendered and `email` field will be above other two fields. In this example, only three fields will be rendered and `email` field will be above other two fields.
Whenever Flask-Admin sees a string value in `form_create_rules`, it automatically assumes that it is a Whenever Flask-Admin sees a string value in `form_create_rules`, it automatically assumes that it is a
form field reference and creates a :class:`flask.ext.admin.form.rules.Field` class instance for that field. form field reference and creates a :class:`flask_admin.form.rules.Field` class instance for that field.
Lets say we want to display some text between the `email` and `first_name` fields. This can be accomplished by Lets say we want to display some text between the `email` and `first_name` fields. This can be accomplished by
using the :class:`flask.ext.admin.form.rules.Text` class:: using the :class:`flask_admin.form.rules.Text` class::
from flask.ext.admin.form import rules from flask_admin.form import rules
class RuleView(sqla.ModelView): class RuleView(sqla.ModelView):
form_create_rules = ('email', rules.Text('Foobar'), 'first_name', 'last_name') form_create_rules = ('email', rules.Text('Foobar'), 'first_name', 'last_name')
...@@ -40,25 +40,25 @@ using the :class:`flask.ext.admin.form.rules.Text` class:: ...@@ -40,25 +40,25 @@ using the :class:`flask.ext.admin.form.rules.Text` class::
Built-in rules Built-in rules
-------------- --------------
Flask-Admin comes with few built-in rules that can be found in the :mod:`flask.ext.admin.form.rules` module: Flask-Admin comes with few built-in rules that can be found in the :mod:`flask_admin.form.rules` module:
======================================================= ======================================================== ======================================================= ========================================================
Form Rendering Rule Description Form Rendering Rule Description
======================================================= ======================================================== ======================================================= ========================================================
:class:`flask.ext.admin.form.rules.BaseRule` All rules derive from this class :class:`flask_admin.form.rules.BaseRule` All rules derive from this class
:class:`flask.ext.admin.form.rules.NestedRule` Allows rule nesting, useful for HTML containers :class:`flask_admin.form.rules.NestedRule` Allows rule nesting, useful for HTML containers
:class:`flask.ext.admin.form.rules.Text` Simple text rendering rule :class:`flask_admin.form.rules.Text` Simple text rendering rule
:class:`flask.ext.admin.form.rules.HTML` Same as `Text` rule, but does not escape the text :class:`flask_admin.form.rules.HTML` Same as `Text` rule, but does not escape the text
:class:`flask.ext.admin.form.rules.Macro` Calls macro from current Jinja2 context :class:`flask_admin.form.rules.Macro` Calls macro from current Jinja2 context
:class:`flask.ext.admin.form.rules.Container` Wraps child rules into container rendered by macro :class:`flask_admin.form.rules.Container` Wraps child rules into container rendered by macro
:class:`flask.ext.admin.form.rules.Field` Renders single form field :class:`flask_admin.form.rules.Field` Renders single form field
:class:`flask.ext.admin.form.rules.Header` Renders form header :class:`flask_admin.form.rules.Header` Renders form header
:class:`flask.ext.admin.form.rules.FieldSet` Renders form header and child rules :class:`flask_admin.form.rules.FieldSet` Renders form header and child rules
======================================================= ======================================================== ======================================================= ========================================================
Enabling CSRF Validation Enabling CSRF Validation
--------------- ------------------------
Adding CSRF validation will require overriding the :class:`flask.ext.admin.form.BaseForm` by using :attr:`flask.ext.admin.model.BaseModelView.form_base_class`. Adding CSRF validation will require overriding the :class:`flask_admin.form.BaseForm` by using :attr:`flask_admin.model.BaseModelView.form_base_class`.
WTForms >=2:: WTForms >=2::
...@@ -66,8 +66,8 @@ WTForms >=2:: ...@@ -66,8 +66,8 @@ WTForms >=2::
from wtforms.meta import DefaultMeta from wtforms.meta import DefaultMeta
from flask import session from flask import session
from datetime import timedelta from datetime import timedelta
from flask.ext.admin import form from flask_admin import form
from flask.ext.admin.contrib import sqla from flask_admin.contrib import sqla
class SecureForm(form.BaseForm): class SecureForm(form.BaseForm):
class Meta(DefaultMeta): class Meta(DefaultMeta):
...@@ -122,5 +122,5 @@ For WTForms 1, you can use use Flask-WTF's Form class:: ...@@ -122,5 +122,5 @@ For WTForms 1, you can use use Flask-WTF's Form class::
Further reading Further reading
--------------- ---------------
For additional documentation, check :mod:`flask.ext.admin.form.rules` module source code (it is quite short) and For additional documentation, check :mod:`flask_admin.form.rules` module source code (it is quite short) and
look at the `forms example <https://github.com/mrjoes/flask-admin/tree/master/examples/forms>`_ on GitHub. look at the `forms example <https://github.com/mrjoes/flask-admin/tree/master/examples/forms>`_ on GitHub.
...@@ -21,7 +21,7 @@ How to enable localization ...@@ -21,7 +21,7 @@ How to enable localization
2. Initialize Flask-BabelEx by creating instance of `Babel` class:: 2. Initialize Flask-BabelEx by creating instance of `Babel` class::
from flask import app from flask import app
from flask.ext.babelex import Babel from flask_babel import Babel
app = Flask(__name__) app = Flask(__name__)
babel = Babel(app) babel = Babel(app)
......
...@@ -14,7 +14,7 @@ and implementing the set of scaffolding methods listed below. ...@@ -14,7 +14,7 @@ and implementing the set of scaffolding methods listed below.
Extending BaseModelView Extending BaseModelView
------------------------- -------------------------
Start off by defining a new class, which derives from from :class:`~flask.ext.admin.model.BaseModelView`:: Start off by defining a new class, which derives from from :class:`~flask_admin.model.BaseModelView`::
class MyDbModel(BaseModelView): class MyDbModel(BaseModelView):
pass pass
...@@ -24,11 +24,11 @@ Extending BaseModelView ...@@ -24,11 +24,11 @@ Extending BaseModelView
Now, implement the following scaffolding methods for the new class: Now, implement the following scaffolding methods for the new class:
1. :meth:`~flask.ext.admin.model.BaseModelView.get_pk_value` 1. :meth:`~flask_admin.model.BaseModelView.get_pk_value`
This method returns a primary key value from This method returns a primary key value from
the model instance. In the SQLAlchemy backend, it gets the primary key from the model the model instance. In the SQLAlchemy backend, it gets the primary key from the model
using :meth:`~flask.ext.admin.contrib.sqla.ModelView.scaffold_pk`, caches it using :meth:`~flask_admin.contrib.sqla.ModelView.scaffold_pk`, caches it
and then returns the value from the model whenever requested. and then returns the value from the model whenever requested.
For example:: For example::
...@@ -37,7 +37,7 @@ Extending BaseModelView ...@@ -37,7 +37,7 @@ Extending BaseModelView
def get_pk_value(self, model): def get_pk_value(self, model):
return self.model.id return self.model.id
2. :meth:`~flask.ext.admin.model.BaseModelView.scaffold_list_columns` 2. :meth:`~flask_admin.model.BaseModelView.scaffold_list_columns`
Returns a list of columns to be displayed in a list view. For example:: Returns a list of columns to be displayed in a list view. For example::
...@@ -52,7 +52,7 @@ Extending BaseModelView ...@@ -52,7 +52,7 @@ Extending BaseModelView
return columns return columns
3. :meth:`~flask.ext.admin.model.BaseModelView.scaffold_sortable_columns` 3. :meth:`~flask_admin.model.BaseModelView.scaffold_sortable_columns`
Returns a dictionary of sortable columns. The keys in the dictionary should correspond to the model's Returns a dictionary of sortable columns. The keys in the dictionary should correspond to the model's
field names. The values should be those variables that will be used for sorting. field names. The values should be those variables that will be used for sorting.
...@@ -64,7 +64,7 @@ Extending BaseModelView ...@@ -64,7 +64,7 @@ Extending BaseModelView
If your backend does not support sorting, return If your backend does not support sorting, return
`None` or an empty dictionary. `None` or an empty dictionary.
4. :meth:`~flask.ext.admin.model.BaseModelView.init_search` 4. :meth:`~flask_admin.model.BaseModelView.init_search`
Initialize search functionality. If your backend supports Initialize search functionality. If your backend supports
full-text search, do initializations and return `True`. full-text search, do initializations and return `True`.
...@@ -76,7 +76,7 @@ Extending BaseModelView ...@@ -76,7 +76,7 @@ Extending BaseModelView
it will add a join, etc) and caches this information for it will add a join, etc) and caches this information for
future use. future use.
5. :meth:`~flask.ext.admin.model.BaseModelView.scaffold_form` 5. :meth:`~flask_admin.model.BaseModelView.scaffold_form`
Generate `WTForms` form class from the model. Generate `WTForms` form class from the model.
...@@ -90,7 +90,7 @@ Extending BaseModelView ...@@ -90,7 +90,7 @@ Extending BaseModelView
# Do something # Do something
return MyForm return MyForm
6. :meth:`~flask.ext.admin.model.BaseModelView.get_list` 6. :meth:`~flask_admin.model.BaseModelView.get_list`
This method should return list of model instances with paging, This method should return list of model instances with paging,
sorting, etc applied. sorting, etc applied.
...@@ -120,27 +120,27 @@ Extending BaseModelView ...@@ -120,27 +120,27 @@ Extending BaseModelView
6. Return count, list as a tuple 6. Return count, list as a tuple
7. :meth:`~flask.ext.admin.model.BaseModelView.get_one` 7. :meth:`~flask_admin.model.BaseModelView.get_one`
Return a model instance by its primary key. Return a model instance by its primary key.
8. :meth:`~flask.ext.admin.model.BaseModelView.create_model` 8. :meth:`~flask_admin.model.BaseModelView.create_model`
Create a new instance of the model from the `Form` object. Create a new instance of the model from the `Form` object.
9. :meth:`~flask.ext.admin.model.BaseModelView.update_model` 9. :meth:`~flask_admin.model.BaseModelView.update_model`
Update the model instance with data from the form. Update the model instance with data from the form.
10. :meth:`~flask.ext.admin.model.BaseModelView.delete_model` 10. :meth:`~flask_admin.model.BaseModelView.delete_model`
Delete the specified model instance from the data store. Delete the specified model instance from the data store.
11. :meth:`~flask.ext.admin.model.BaseModelView.is_valid_filter` 11. :meth:`~flask_admin.model.BaseModelView.is_valid_filter`
Verify whether the given object is a valid filter. Verify whether the given object is a valid filter.
12. :meth:`~flask.ext.admin.model.BaseModelView.scaffold_filters` 12. :meth:`~flask_admin.model.BaseModelView.scaffold_filters`
Return a list of filter objects for one model field. Return a list of filter objects for one model field.
...@@ -166,17 +166,17 @@ Implementing filters ...@@ -166,17 +166,17 @@ Implementing filters
filters from SQLAlchemy models in a non-SQLAlchemy backend. filters from SQLAlchemy models in a non-SQLAlchemy backend.
This also means that different backends might have different set of available filters. This also means that different backends might have different set of available filters.
The filter is a class derived from :class:`~flask.ext.admin.model.filters.BaseFilter` which implements at least two methods: The filter is a class derived from :class:`~flask_admin.model.filters.BaseFilter` which implements at least two methods:
1. :meth:`~flask.ext.admin.model.filters.BaseFilter.apply` 1. :meth:`~flask_admin.model.filters.BaseFilter.apply`
2. :meth:`~flask.ext.admin.model.filters.BaseFilter.operation` 2. :meth:`~flask_admin.model.filters.BaseFilter.operation`
`apply` method accepts two parameters: `query` object and a value from the client. Here you can add `apply` method accepts two parameters: `query` object and a value from the client. Here you can add
filtering logic for the filter type. filtering logic for the filter type.
Lets take SQLAlchemy model backend as an example: Lets take SQLAlchemy model backend as an example:
All SQLAlchemy filters derive from :class:`~flask.ext.admin.contrib.sqla.filters.BaseSQLAFilter` class. All SQLAlchemy filters derive from :class:`~flask_admin.contrib.sqla.filters.BaseSQLAFilter` class.
Each filter implements one simple filter SQL operation (like, not like, greater, etc) and accepts a column as Each filter implements one simple filter SQL operation (like, not like, greater, etc) and accepts a column as
input parameter. input parameter.
......
...@@ -41,12 +41,12 @@ or extend existing functionality by adding more views. ...@@ -41,12 +41,12 @@ or extend existing functionality by adding more views.
Initialization Initialization
-------------- --------------
To start using Flask-Admin, you have to create a :class:`~flask.ext.admin.base.Admin` class instance and associate it To start using Flask-Admin, you have to create a :class:`~flask_admin.base.Admin` class instance and associate it
with the Flask with the Flask
application instance:: application instance::
from flask import Flask from flask import Flask
from flask.ext.admin import Admin from flask_admin import Admin
app = Flask(__name__) app = Flask(__name__)
...@@ -62,12 +62,12 @@ you should see an empty "Home" page with a navigation bar on top ...@@ -62,12 +62,12 @@ you should see an empty "Home" page with a navigation bar on top
:target: ../_images/quickstart_1.png :target: ../_images/quickstart_1.png
You can change the application name by passing a value for the *name* parameter to the You can change the application name by passing a value for the *name* parameter to the
:class:`~flask.ext.admin.base.Admin` class constructor:: :class:`~flask_admin.base.Admin` class constructor::
admin = Admin(app, name='My App') admin = Admin(app, name='My App')
As an alternative to passing a Flask application object to the Admin constructor, you can also call the As an alternative to passing a Flask application object to the Admin constructor, you can also call the
:meth:`~flask.ext.admin.base.Admin.init_app` function, after the Admin instance has been initialized:: :meth:`~flask_admin.base.Admin.init_app` function, after the Admin instance has been initialized::
admin = Admin(name='My App') admin = Admin(name='My App')
# Add views here # Add views here
...@@ -77,10 +77,10 @@ Adding views ...@@ -77,10 +77,10 @@ Adding views
------------ ------------
Now, lets add an administrative view. The next example will result in two items appearing in the navbar menu: *Home* Now, lets add an administrative view. The next example will result in two items appearing in the navbar menu: *Home*
and *Hello*. To do this, you need to derive from the :class:`~flask.ext.admin.base.BaseView` class:: and *Hello*. To do this, you need to derive from the :class:`~flask_admin.base.BaseView` class::
from flask import Flask from flask import Flask
from flask.ext.admin import Admin, BaseView, expose from flask_admin import Admin, BaseView, expose
class MyView(BaseView): class MyView(BaseView):
@expose('/') @expose('/')
...@@ -130,7 +130,7 @@ the Admin instance. The category specifies the name of the top-level menu item, ...@@ -130,7 +130,7 @@ the Admin instance. The category specifies the name of the top-level menu item,
with it, will be accessible from a drop-down menu. For example:: with it, will be accessible from a drop-down menu. For example::
from flask import Flask from flask import Flask
from flask.ext.admin import Admin, BaseView, expose from flask_admin import Admin, BaseView, expose
class MyView(BaseView): class MyView(BaseView):
@expose('/') @expose('/')
...@@ -185,7 +185,7 @@ Model views allow you to add dedicated admin pages for each of the models in you ...@@ -185,7 +185,7 @@ Model views allow you to add dedicated admin pages for each of the models in you
instances of the *ModelView* class, which you can import from one of Flask-Admin's built-in ORM backends. An example instances of the *ModelView* class, which you can import from one of Flask-Admin's built-in ORM backends. An example
is the SQLAlchemy backend, which you can use as follows:: is the SQLAlchemy backend, which you can use as follows::
from flask.ext.admin.contrib.sqla import ModelView from flask_admin.contrib.sqla import ModelView
# Flask and Flask-SQLAlchemy initialization here # Flask and Flask-SQLAlchemy initialization here
...@@ -204,7 +204,7 @@ class, or you can override its methods. ...@@ -204,7 +204,7 @@ class, or you can override its methods.
For example, if you want to disable model creation and only show certain columns in the list view, you can do For example, if you want to disable model creation and only show certain columns in the list view, you can do
something like:: something like::
from flask.ext.admin.contrib.sqla import ModelView from flask_admin.contrib.sqla import ModelView
# Flask and Flask-SQLAlchemy initialization here # Flask and Flask-SQLAlchemy initialization here
...@@ -238,10 +238,10 @@ therefore should use a *SelectField*:: ...@@ -238,10 +238,10 @@ therefore should use a *SelectField*::
It is relatively easy to add support for different database backends (Mongo, etc) by inheriting from It is relatively easy to add support for different database backends (Mongo, etc) by inheriting from
:class:`~flask.ext.admin.model.BaseModelView`. :class:`~flask_admin.model.BaseModelView`.
class and implementing database-related methods. class and implementing database-related methods.
Please refer to :mod:`flask.ext.admin.contrib.sqla` documentation on how to customize the behavior of model-based Please refer to :mod:`flask_admin.contrib.sqla` documentation on how to customize the behavior of model-based
administrative views. administrative views.
File Admin File Admin
...@@ -252,7 +252,7 @@ Flask-Admin comes with another handy battery - file admin. It gives you the abil ...@@ -252,7 +252,7 @@ Flask-Admin comes with another handy battery - file admin. It gives you the abil
Here is simple example:: Here is simple example::
from flask.ext.admin.contrib.fileadmin import FileAdmin from flask_admin.contrib.fileadmin import FileAdmin
import os.path as op import os.path as op
...@@ -270,7 +270,7 @@ Sample screenshot: ...@@ -270,7 +270,7 @@ Sample screenshot:
:target: ../_images/quickstart_5.png :target: ../_images/quickstart_5.png
You can disable uploads, disable file or directory deletion, restrict file uploads to certain types and so on. You can disable uploads, disable file or directory deletion, restrict file uploads to certain types and so on.
Check :mod:`flask.ext.admin.contrib.fileadmin` documentation on how to do it. Check :mod:`flask_admin.contrib.fileadmin` documentation on how to do it.
Generating URLs Generating URLs
--------------- ---------------
...@@ -354,4 +354,3 @@ Browse through them in the GitHub repo, and then run them locally to get yoursel ...@@ -354,4 +354,3 @@ Browse through them in the GitHub repo, and then run them locally to get yoursel
- `Redis terminal <https://github.com/MrJoes/Flask-Admin/tree/master/examples/rediscli>`_ - `Redis terminal <https://github.com/MrJoes/Flask-Admin/tree/master/examples/rediscli>`_
If you use Redis for caching, then check this example to see how easy it is to add a Redis terminal to your Admin If you use Redis for caching, then check this example to see how easy it is to add a Redis terminal to your Admin
interface, so you can reach your Redis instance straight from a browser. interface, so you can reach your Redis instance straight from a browser.
...@@ -122,7 +122,7 @@ admin_view Current administrative view ...@@ -122,7 +122,7 @@ admin_view Current administrative view
admin_base_template Base template name admin_base_template Base template name
_gettext Babel gettext _gettext Babel gettext
_ngettext Babel ngettext _ngettext Babel ngettext
h Helpers from :mod:`~flask.ext.admin.helpers` module h Helpers from :mod:`~flask_admin.helpers` module
==================== ================================ ==================== ================================
......
...@@ -24,13 +24,13 @@ General tips ...@@ -24,13 +24,13 @@ General tips
3. To customize the overall look and feel of the default model forms, you have two options: Either, you could 3. To customize the overall look and feel of the default model forms, you have two options: Either, you could
override the default create/edit templates. Or, alternatively, you could make use of the form rendering rules override the default create/edit templates. Or, alternatively, you could make use of the form rendering rules
(:mod:`flask.ext.admin.form.rules`) that were introduced in version 1.0.7. (:mod:`flask_admin.form.rules`) that were introduced in version 1.0.7.
4. To simplify the management of file uploads, Flask-Admin comes with a dedicated tool, for which you can find 4. To simplify the management of file uploads, Flask-Admin comes with a dedicated tool, for which you can find
documentation at: :mod:`flask.ext.admin.form.upload`. documentation at: :mod:`flask_admin.form.upload`.
5. If you don't want to the use the built-in Flask-Admin form scaffolding logic, you are free to roll your own 5. If you don't want to the use the built-in Flask-Admin form scaffolding logic, you are free to roll your own
by simply overriding :meth:`~flask.ext.admin.model.base.scaffold_form`. For example, if you use by simply overriding :meth:`~flask_admin.model.base.scaffold_form`. For example, if you use
`WTForms-Alchemy <https://github.com/kvesteri/wtforms-alchemy>`_, you could put your form generation code `WTForms-Alchemy <https://github.com/kvesteri/wtforms-alchemy>`_, you could put your form generation code
into a `scaffold_form` method in your `ModelView` class. into a `scaffold_form` method in your `ModelView` class.
......
from flask import Flask, url_for, redirect, render_template, request from flask import Flask, url_for, redirect, render_template, request
from flask.ext.mongoengine import MongoEngine from flask_mongoengine import MongoEngine
from wtforms import form, fields, validators from wtforms import form, fields, validators
from flask.ext import admin, login import flask_admin as admin
from flask.ext.admin.contrib.mongoengine import ModelView import flask_login as login
from flask.ext.admin import helpers from flask_admin.contrib.mongoengine import ModelView
from flask_admin import helpers
# Create application # Create application
app = Flask(__name__) app = Flask(__name__)
......
import os import os
from flask import Flask, url_for, redirect, render_template, request from flask import Flask, url_for, redirect, render_template, request
from flask.ext.sqlalchemy import SQLAlchemy from flask_sqlalchemy import SQLAlchemy
from wtforms import form, fields, validators from wtforms import form, fields, validators
from flask.ext import admin, login import flask_admin as admin
from flask.ext.admin.contrib import sqla import flask_login as login
from flask.ext.admin import helpers, expose from flask_admin.contrib import sqla
from flask_admin import helpers, expose
from werkzeug.security import generate_password_hash, check_password_hash from werkzeug.security import generate_password_hash, check_password_hash
......
from flask import Flask, request, session from flask import Flask, request, session
from flask.ext.sqlalchemy import SQLAlchemy from flask_sqlalchemy import SQLAlchemy
from flask.ext import admin import flask_admin as admin
from flask.ext.babelex import Babel from flask_babel import Babel
from flask.ext.admin.contrib import sqla from flask_admin.contrib import sqla
# Create application # Create application
app = Flask(__name__) app = Flask(__name__)
......
...@@ -3,8 +3,8 @@ import os.path as op ...@@ -3,8 +3,8 @@ import os.path as op
from flask import Flask from flask import Flask
from flask.ext import admin import flask_admin as admin
from flask.ext.admin.contrib import fileadmin from flask_admin.contrib import fileadmin
# Create flask app # Create flask app
......
...@@ -2,14 +2,14 @@ import os ...@@ -2,14 +2,14 @@ import os
import os.path as op import os.path as op
from flask import Flask, url_for from flask import Flask, url_for
from flask.ext.sqlalchemy import SQLAlchemy from flask_sqlalchemy import SQLAlchemy
from sqlalchemy.event import listens_for from sqlalchemy.event import listens_for
from jinja2 import Markup from jinja2 import Markup
from flask.ext.admin import Admin, form from flask_admin import Admin, form
from flask.ext.admin.form import rules from flask_admin.form import rules
from flask.ext.admin.contrib import sqla from flask_admin.contrib import sqla
# Create application # Create application
......
import os import os
import os.path as op import os.path as op
from flask import Flask from flask import Flask
from flask.ext.sqlalchemy import SQLAlchemy from flask_sqlalchemy import SQLAlchemy
from flask.ext import admin import flask_admin as admin
from flask.ext.admin.contrib.sqla import ModelView from flask_admin.contrib.sqla import ModelView
# Create application # Create application
......
import os import os
import os.path as op import os.path as op
from flask import Flask from flask import Flask
from flask.ext.sqlalchemy import SQLAlchemy from flask_sqlalchemy import SQLAlchemy
from flask.ext import admin import flask_admin as admin
from flask.ext.admin.contrib.sqla import ModelView from flask_admin.contrib.sqla import ModelView
# Create application # Create application
......
from flask import Flask, redirect, url_for from flask import Flask, redirect, url_for
from flask.ext import login from flask.ext import login
from flask.ext.login import current_user, UserMixin from flask_login import current_user, UserMixin
from flask.ext.admin.base import MenuLink, Admin, BaseView, expose from flask_admin.base import MenuLink, Admin, BaseView, expose
# Create fake user class for authentication # Create fake user class for authentication
......
from flask import Flask, redirect, request from flask import Flask, redirect, request
from flask.ext import admin import flask_admin as admin
from flask.views import MethodView from flask.views import MethodView
......
...@@ -2,10 +2,10 @@ import datetime ...@@ -2,10 +2,10 @@ import datetime
from flask import Flask from flask import Flask
from flask.ext import admin import flask_admin as admin
from flask.ext.mongoengine import MongoEngine from flask_mongoengine import MongoEngine
from flask.ext.admin.form import rules from flask_admin.form import rules
from flask.ext.admin.contrib.mongoengine import ModelView from flask_admin.contrib.mongoengine import ModelView
# Create application # Create application
app = Flask(__name__) app = Flask(__name__)
......
from flask import Flask from flask import Flask
from flask.ext import admin import flask_admin as admin
# Views # Views
......
...@@ -2,8 +2,8 @@ from flask import Flask ...@@ -2,8 +2,8 @@ from flask import Flask
import peewee import peewee
from flask.ext import admin import flask_admin as admin
from flask.ext.admin.contrib.peewee import ModelView from flask_admin.contrib.peewee import ModelView
app = Flask(__name__) app = Flask(__name__)
......
...@@ -2,13 +2,13 @@ import pymongo ...@@ -2,13 +2,13 @@ import pymongo
from bson.objectid import ObjectId from bson.objectid import ObjectId
from flask import Flask from flask import Flask
from flask.ext import admin import flask_admin as admin
from wtforms import form, fields from wtforms import form, fields
from flask.ext.admin.form import Select2Widget from flask_admin.form import Select2Widget
from flask.ext.admin.contrib.pymongo import ModelView, filters from flask_admin.contrib.pymongo import ModelView, filters
from flask.ext.admin.model.fields import InlineFormField, InlineFieldList from flask_admin.model.fields import InlineFormField, InlineFieldList
# Create application # Create application
app = Flask(__name__) app = Flask(__name__)
......
from flask import Flask from flask import Flask
from flask.ext.admin import Admin from flask_admin import Admin
app = Flask(__name__) app = Flask(__name__)
......
from flask import Flask from flask import Flask
from flask.ext.admin import Admin, BaseView, expose from flask_admin import Admin, BaseView, expose
class MyView(BaseView): class MyView(BaseView):
......
from flask import Flask from flask import Flask
from flask.ext.admin import Admin, BaseView, expose from flask_admin import Admin, BaseView, expose
class MyView(BaseView): class MyView(BaseView):
......
...@@ -2,8 +2,8 @@ from flask import Flask ...@@ -2,8 +2,8 @@ from flask import Flask
from redis import Redis from redis import Redis
from flask.ext import admin import flask_admin as admin
from flask.ext.admin.contrib import rediscli from flask_admin.contrib import rediscli
# Create flask app # Create flask app
app = Flask(__name__) app = Flask(__name__)
......
from flask import Flask from flask import Flask
from flask.ext import admin import flask_admin as admin
# Create custom admin view # Create custom admin view
......
from flask import Flask from flask import Flask
from flask.ext.sqlalchemy import SQLAlchemy from flask_sqlalchemy import SQLAlchemy
from flask.ext.admin.contrib import sqla from flask_admin.contrib import sqla
from flask.ext.admin import expose, Admin from flask_admin import expose, Admin
# required for creating custom filters # required for creating custom filters
from flask.ext.admin.contrib.sqla.filters import BaseSQLAFilter, FilterEqual from flask.ext.admin.contrib.sqla.filters import BaseSQLAFilter, FilterEqual
......
...@@ -5,16 +5,16 @@ from werkzeug import secure_filename ...@@ -5,16 +5,16 @@ from werkzeug import secure_filename
from sqlalchemy import event from sqlalchemy import event
from flask import Flask, request, render_template from flask import Flask, request, render_template
from flask.ext.sqlalchemy import SQLAlchemy from flask_sqlalchemy import SQLAlchemy
from wtforms import fields from wtforms import fields
from flask.ext import admin import flask_admin as admin
from flask.ext.admin.form import RenderTemplateWidget from flask_admin.form import RenderTemplateWidget
from flask.ext.admin.model.form import InlineFormAdmin from flask_admin.model.form import InlineFormAdmin
from flask.ext.admin.contrib.sqla import ModelView from flask_admin.contrib.sqla import ModelView
from flask.ext.admin.contrib.sqla.form import InlineModelConverter from flask_admin.contrib.sqla.form import InlineModelConverter
from flask.ext.admin.contrib.sqla.fields import InlineModelFormList from flask_admin.contrib.sqla.fields import InlineModelFormList
# Create application # Create application
app = Flask(__name__) app = Flask(__name__)
......
import os import os
import os.path as op import os.path as op
from flask import Flask from flask import Flask
from flask.ext.sqlalchemy import SQLAlchemy from flask_sqlalchemy import SQLAlchemy
from wtforms import validators from wtforms import validators
from flask.ext import admin import flask_admin as admin
from flask.ext.admin.contrib import sqla from flask_admin.contrib import sqla
from flask.ext.admin.contrib.sqla import filters from flask_admin.contrib.sqla import filters
# Create application # Create application
......
from flask import Flask from flask import Flask
from flask.ext.sqlalchemy import SQLAlchemy from flask_sqlalchemy import SQLAlchemy
from flask.ext import admin import flask_admin as admin
from flask.ext.admin.contrib import sqla from flask_admin.contrib import sqla
# Create application # Create application
......
from flask import Flask from flask import Flask
from flask.ext.sqlalchemy import SQLAlchemy from flask_sqlalchemy import SQLAlchemy
from wtforms import fields, widgets from wtforms import fields, widgets
from flask.ext import admin import flask_admin as admin
from flask.ext.admin.contrib import sqla from flask_admin.contrib import sqla
# Create application # Create application
app = Flask(__name__) app = Flask(__name__)
......
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
""" """
flask.ext.admin._backwards flask_admin._backwards
~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~
Backward compatibility helpers. Backward compatibility helpers.
......
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
""" """
flask.ext.admin._compat flask_admin._compat
~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~
Some py2/py3 compatibility support based on a stripped down Some py2/py3 compatibility support based on a stripped down
......
from flask import request, redirect from flask import request, redirect
from flask.ext.admin import tools from flask_admin import tools
from flask.ext.admin._compat import text_type from flask_admin._compat import text_type
def action(name, text, confirmation=None): def action(name, text, confirmation=None):
......
try: try:
from .helpers import get_current_view from .helpers import get_current_view
from flask.ext.babelex import Domain from flask_babel import Domain
from flask.ext.admin import translations from flask_admin import translations
class CustomDomain(Domain): class CustomDomain(Domain):
def __init__(self): def __init__(self):
......
...@@ -3,12 +3,12 @@ import os.path as op ...@@ -3,12 +3,12 @@ import os.path as op
from functools import wraps from functools import wraps
from flask import Blueprint, current_app, render_template, abort, g, url_for from flask import Blueprint, current_app, render_template, abort, g, url_for
from flask.ext.admin import babel from flask_admin import babel
from flask.ext.admin._compat import with_metaclass from flask_admin._compat import with_metaclass
from flask.ext.admin import helpers as h from flask_admin import helpers as h
# For compatibility reasons import MenuLink # For compatibility reasons import MenuLink
from flask.ext.admin.menu import MenuCategory, MenuView, MenuLink from flask_admin.menu import MenuCategory, MenuView, MenuLink
def expose(url='/', methods=('GET',)): def expose(url='/', methods=('GET',)):
...@@ -111,7 +111,7 @@ class BaseView(with_metaclass(AdminViewMeta, BaseViewClass)): ...@@ -111,7 +111,7 @@ class BaseView(with_metaclass(AdminViewMeta, BaseViewClass)):
Derive from this class to implement your administrative interface piece. For example:: Derive from this class to implement your administrative interface piece. For example::
from flask.ext.admin import BaseView, expose from flask_admin import BaseView, expose
class MyView(BaseView): class MyView(BaseView):
@expose('/') @expose('/')
def index(self): def index(self):
...@@ -179,9 +179,9 @@ class BaseView(with_metaclass(AdminViewMeta, BaseViewClass)): ...@@ -179,9 +179,9 @@ class BaseView(with_metaclass(AdminViewMeta, BaseViewClass)):
:param menu_icon_type: :param menu_icon_type:
Optional icon. Possible icon types: Optional icon. Possible icon types:
- `flask.ext.admin.consts.ICON_TYPE_GLYPH` - Bootstrap glyph icon - `flask_admin.consts.ICON_TYPE_GLYPH` - Bootstrap glyph icon
- `flask.ext.admin.consts.ICON_TYPE_IMAGE` - Image relative to Flask static directory - `flask_admin.consts.ICON_TYPE_IMAGE` - Image relative to Flask static directory
- `flask.ext.admin.consts.ICON_TYPE_IMAGE_URL` - Image with full URL - `flask_admin.consts.ICON_TYPE_IMAGE_URL` - Image with full URL
:param menu_icon_value: :param menu_icon_value:
Icon glyph name or URL, depending on `menu_icon_type` setting Icon glyph name or URL, depending on `menu_icon_type` setting
""" """
......
import logging import logging
from flask.ext.admin.model import BaseModelView from flask_admin.model import BaseModelView
from wtforms_appengine import db as wt_db from wtforms_appengine import db as wt_db
from wtforms_appengine import ndb as wt_ndb from wtforms_appengine import ndb as wt_ndb
...@@ -176,4 +176,3 @@ def ModelView(model): ...@@ -176,4 +176,3 @@ def ModelView(model):
return DbModelView(model) return DbModelView(model)
else: else:
raise ValueError("Unsupported model: %s" % model) raise ValueError("Unsupported model: %s" % model)
...@@ -34,8 +34,8 @@ class FileAdmin(BaseView, ActionsMixin): ...@@ -34,8 +34,8 @@ class FileAdmin(BaseView, ActionsMixin):
import os.path as op import os.path as op
from flask.ext.admin import Admin from flask_admin import Admin
from flask.ext.admin.contrib.fileadmin import FileAdmin from flask_admin.contrib.fileadmin import FileAdmin
admin = Admin() admin = Admin()
......
from flask.ext.admin.model.form import converts from flask_admin.model.form import converts
from flask.ext.admin.contrib.sqla.form import AdminModelConverter as SQLAAdminConverter from flask_admin.contrib.sqla.form import AdminModelConverter as SQLAAdminConverter
from .fields import GeoJSONField from .fields import GeoJSONField
......
from flask.ext.admin.contrib.sqla.typefmt import DEFAULT_FORMATTERS as BASE_FORMATTERS from flask_admin.contrib.sqla.typefmt import DEFAULT_FORMATTERS as BASE_FORMATTERS
import json import json
from jinja2 import Markup from jinja2 import Markup
from wtforms.widgets import html_params from wtforms.widgets import html_params
......
from flask.ext.admin.contrib.sqla import ModelView as SQLAModelView from flask_admin.contrib.sqla import ModelView as SQLAModelView
from flask.ext.admin.contrib.geoa import form, typefmt from flask_admin.contrib.geoa import form, typefmt
class ModelView(SQLAModelView): class ModelView(SQLAModelView):
......
try: try:
import flask.ext.mongoengine import flask_mongoengine
except ImportError: except ImportError:
raise Exception('Please install flask-mongoengine in order to use mongoengine backend') raise Exception('Please install flask-mongoengine in order to use mongoengine backend')
......
import mongoengine import mongoengine
from flask.ext.admin._compat import string_types, as_unicode, iteritems from flask_admin._compat import string_types, as_unicode, iteritems
from flask.ext.admin.model.ajax import AjaxModelLoader, DEFAULT_PAGE_SIZE from flask_admin.model.ajax import AjaxModelLoader, DEFAULT_PAGE_SIZE
class QueryAjaxModelLoader(AjaxModelLoader): class QueryAjaxModelLoader(AjaxModelLoader):
......
...@@ -10,7 +10,7 @@ except ImportError: ...@@ -10,7 +10,7 @@ except ImportError:
from wtforms.utils import unset_value from wtforms.utils import unset_value
from . import widgets from . import widgets
from flask.ext.admin.model.fields import InlineFormField from flask_admin.model.fields import InlineFormField
def is_empty(file_object): def is_empty(file_object):
......
import datetime import datetime
from flask.ext.admin.babel import lazy_gettext from flask_admin.babel import lazy_gettext
from flask.ext.admin.model import filters from flask_admin.model import filters
from .tools import parse_like_term from .tools import parse_like_term
from mongoengine.queryset import Q from mongoengine.queryset import Q
......
...@@ -2,13 +2,13 @@ from mongoengine import ReferenceField ...@@ -2,13 +2,13 @@ from mongoengine import ReferenceField
from mongoengine.base import BaseDocument, DocumentMetaclass, get_document from mongoengine.base import BaseDocument, DocumentMetaclass, get_document
from wtforms import fields, validators from wtforms import fields, validators
from flask.ext.mongoengine.wtf import orm, fields as mongo_fields from flask_mongoengine.wtf import orm, fields as mongo_fields
from flask.ext.admin import form from flask_admin import form
from flask.ext.admin.model.form import FieldPlaceholder from flask_admin.model.form import FieldPlaceholder
from flask.ext.admin.model.fields import InlineFieldList, AjaxSelectField, AjaxSelectMultipleField from flask_admin.model.fields import InlineFieldList, AjaxSelectField, AjaxSelectMultipleField
from flask.ext.admin.model.widgets import InlineFormWidget from flask_admin.model.widgets import InlineFormWidget
from flask.ext.admin._compat import iteritems from flask_admin._compat import iteritems
from .fields import ModelFormField, MongoFileField, MongoImageField from .fields import ModelFormField, MongoFileField, MongoImageField
from .subdoc import EmbeddedForm from .subdoc import EmbeddedForm
...@@ -184,7 +184,7 @@ def get_form(model, converter, ...@@ -184,7 +184,7 @@ def get_form(model, converter,
""" """
Create a wtforms Form for a given mongoengine Document schema:: Create a wtforms Form for a given mongoengine Document schema::
from flask.ext.mongoengine.wtf import model_form from flask_mongoengine.wtf import model_form
from myproject.myapp.schemas import Article from myproject.myapp.schemas import Article
ArticleForm = model_form(Article) ArticleForm = model_form(Article)
......
from mongoengine import ValidationError from mongoengine import ValidationError
from flask.ext.admin._compat import itervalues, as_unicode from flask_admin._compat import itervalues, as_unicode
def make_gridfs_args(value): def make_gridfs_args(value):
......
from flask.ext.admin._compat import iteritems from flask_admin._compat import iteritems
from flask.ext.admin.model.form import InlineBaseFormAdmin from flask_admin.model.form import InlineBaseFormAdmin
class EmbeddedForm(InlineBaseFormAdmin): class EmbeddedForm(InlineBaseFormAdmin):
...@@ -18,6 +18,6 @@ def convert_subdocuments(values): ...@@ -18,6 +18,6 @@ def convert_subdocuments(values):
elif isinstance(p, EmbeddedForm): elif isinstance(p, EmbeddedForm):
result[name] = p result[name] = p
else: else:
raise ValueError('Invalid subdocument type: expecting dict or instance of flask.ext.admin.contrib.mongoengine.EmbeddedForm, got %s' % type(p)) raise ValueError('Invalid subdocument type: expecting dict or instance of flask_admin.contrib.mongoengine.EmbeddedForm, got %s' % type(p))
return result return result
...@@ -3,7 +3,7 @@ from jinja2 import Markup, escape ...@@ -3,7 +3,7 @@ from jinja2 import Markup, escape
from mongoengine.base import BaseList from mongoengine.base import BaseList
from mongoengine.fields import GridFSProxy, ImageGridFsProxy from mongoengine.fields import GridFSProxy, ImageGridFsProxy
from flask.ext.admin.model.typefmt import BASE_FORMATTERS, list_formatter from flask_admin.model.typefmt import BASE_FORMATTERS, list_formatter
from . import helpers from . import helpers
......
...@@ -2,19 +2,19 @@ import logging ...@@ -2,19 +2,19 @@ import logging
from flask import request, flash, abort, Response from flask import request, flash, abort, Response
from flask.ext.admin import expose from flask_admin import expose
from flask.ext.admin.babel import gettext, ngettext, lazy_gettext from flask_admin.babel import gettext, ngettext, lazy_gettext
from flask.ext.admin.model import BaseModelView from flask_admin.model import BaseModelView
from flask.ext.admin.model.form import wrap_fields_in_fieldlist from flask_admin.model.form import wrap_fields_in_fieldlist
from flask.ext.admin.model.fields import ListEditableFieldList from flask_admin.model.fields import ListEditableFieldList
from flask.ext.admin._compat import iteritems, string_types from flask_admin._compat import iteritems, string_types
import mongoengine import mongoengine
import gridfs import gridfs
from mongoengine.connection import get_db from mongoengine.connection import get_db
from bson.objectid import ObjectId from bson.objectid import ObjectId
from flask.ext.admin.actions import action from flask_admin.actions import action
from .filters import FilterConverter, BaseMongoEngineFilter from .filters import FilterConverter, BaseMongoEngineFilter
from .form import get_form, CustomModelConverter from .form import get_form, CustomModelConverter
from .typefmt import DEFAULT_FORMATTERS from .typefmt import DEFAULT_FORMATTERS
...@@ -53,7 +53,7 @@ class ModelView(BaseModelView): ...@@ -53,7 +53,7 @@ class ModelView(BaseModelView):
Collection of the column filters. Collection of the column filters.
Can contain either field names or instances of Can contain either field names or instances of
:class:`flask.ext.admin.contrib.mongoengine.filters.BaseFilter` :class:`flask_admin.contrib.mongoengine.filters.BaseFilter`
classes. classes.
For example:: For example::
...@@ -73,7 +73,7 @@ class ModelView(BaseModelView): ...@@ -73,7 +73,7 @@ class ModelView(BaseModelView):
field conversion logic. field conversion logic.
Custom class should be derived from the Custom class should be derived from the
`flask.ext.admin.contrib.mongoengine.form.CustomModelConverter`. `flask_admin.contrib.mongoengine.form.CustomModelConverter`.
For example:: For example::
...@@ -125,7 +125,7 @@ class ModelView(BaseModelView): ...@@ -125,7 +125,7 @@ class ModelView(BaseModelView):
Subdocument configuration options. Subdocument configuration options.
This field accepts dictionary, where key is field name and value is either dictionary or instance of the This field accepts dictionary, where key is field name and value is either dictionary or instance of the
`flask.ext.admin.contrib.EmbeddedForm`. `flask_admin.contrib.EmbeddedForm`.
Consider following example:: Consider following example::
...@@ -220,9 +220,9 @@ class ModelView(BaseModelView): ...@@ -220,9 +220,9 @@ class ModelView(BaseModelView):
:param menu_icon_type: :param menu_icon_type:
Optional icon. Possible icon types: Optional icon. Possible icon types:
- `flask.ext.admin.consts.ICON_TYPE_GLYPH` - Bootstrap glyph icon - `flask_admin.consts.ICON_TYPE_GLYPH` - Bootstrap glyph icon
- `flask.ext.admin.consts.ICON_TYPE_IMAGE` - Image relative to Flask static directory - `flask_admin.consts.ICON_TYPE_IMAGE` - Image relative to Flask static directory
- `flask.ext.admin.consts.ICON_TYPE_IMAGE_URL` - Image with full URL - `flask_admin.consts.ICON_TYPE_IMAGE_URL` - Image with full URL
:param menu_icon_value: :param menu_icon_value:
Icon glyph name or URL, depending on `menu_icon_type` setting Icon glyph name or URL, depending on `menu_icon_type` setting
......
...@@ -4,7 +4,7 @@ from jinja2 import escape ...@@ -4,7 +4,7 @@ from jinja2 import escape
from mongoengine.fields import GridFSProxy, ImageGridFsProxy from mongoengine.fields import GridFSProxy, ImageGridFsProxy
from flask.ext.admin.helpers import get_url from flask_admin.helpers import get_url
from . import helpers from . import helpers
......
from flask.ext.admin._compat import as_unicode, string_types from flask_admin._compat import as_unicode, string_types
from flask.ext.admin.model.ajax import AjaxModelLoader, DEFAULT_PAGE_SIZE from flask_admin.model.ajax import AjaxModelLoader, DEFAULT_PAGE_SIZE
from .tools import get_primary_key from .tools import get_primary_key
......
import time import time
import datetime import datetime
from flask.ext.admin.babel import lazy_gettext from flask_admin.babel import lazy_gettext
from flask.ext.admin.model import filters from flask_admin.model import filters
from .tools import parse_like_term from .tools import parse_like_term
......
...@@ -5,10 +5,10 @@ from peewee import (CharField, DateTimeField, DateField, TimeField, ...@@ -5,10 +5,10 @@ from peewee import (CharField, DateTimeField, DateField, TimeField,
from wtfpeewee.orm import ModelConverter, model_form from wtfpeewee.orm import ModelConverter, model_form
from flask.ext.admin import form from flask_admin import form
from flask.ext.admin._compat import iteritems, itervalues from flask_admin._compat import iteritems, itervalues
from flask.ext.admin.model.form import InlineFormAdmin, InlineModelConverterBase from flask_admin.model.form import InlineFormAdmin, InlineModelConverterBase
from flask.ext.admin.model.fields import InlineModelFormField, InlineFieldList, AjaxSelectField from flask_admin.model.fields import InlineModelFormField, InlineFieldList, AjaxSelectField
from .tools import get_primary_key from .tools import get_primary_key
from .ajax import create_ajax_loader from .ajax import create_ajax_loader
......
...@@ -2,16 +2,16 @@ import logging ...@@ -2,16 +2,16 @@ import logging
from flask import flash from flask import flash
from flask.ext.admin._compat import string_types from flask_admin._compat import string_types
from flask.ext.admin.babel import gettext, ngettext, lazy_gettext from flask_admin.babel import gettext, ngettext, lazy_gettext
from flask.ext.admin.model import BaseModelView from flask_admin.model import BaseModelView
from flask.ext.admin.model.form import wrap_fields_in_fieldlist from flask_admin.model.form import wrap_fields_in_fieldlist
from flask.ext.admin.model.fields import ListEditableFieldList from flask_admin.model.fields import ListEditableFieldList
from peewee import PrimaryKeyField, ForeignKeyField, Field, CharField, TextField from peewee import PrimaryKeyField, ForeignKeyField, Field, CharField, TextField
from flask.ext.admin.actions import action from flask_admin.actions import action
from flask.ext.admin.contrib.peewee import filters from flask_admin.contrib.peewee import filters
from .form import get_form, CustomModelConverter, InlineModelConverter, save_inline from .form import get_form, CustomModelConverter, InlineModelConverter, save_inline
from .tools import get_primary_key, parse_like_term from .tools import get_primary_key, parse_like_term
......
...@@ -2,7 +2,7 @@ def setup(): ...@@ -2,7 +2,7 @@ def setup():
import warnings import warnings
warnings.warn('Flask-Admin peewee integration module was renamed as flask.ext.admin.contrib.peewee, please use it instead.') warnings.warn('Flask-Admin peewee integration module was renamed as flask.ext.admin.contrib.peewee, please use it instead.')
from flask.ext.admin._backwards import import_redirect from flask_admin._backwards import import_redirect
import_redirect(__name__, 'flask_admin.contrib.peewee') import_redirect(__name__, 'flask_admin.contrib.peewee')
setup() setup()
......
import re import re
from flask.ext.admin.babel import gettext from flask_admin.babel import gettext
from flask.ext.admin.model import filters from flask_admin.model import filters
from .tools import parse_like_term from .tools import parse_like_term
......
...@@ -6,11 +6,11 @@ from bson.errors import InvalidId ...@@ -6,11 +6,11 @@ from bson.errors import InvalidId
from flask import flash from flask import flash
from flask.ext.admin._compat import string_types from flask_admin._compat import string_types
from flask.ext.admin.babel import gettext, ngettext, lazy_gettext from flask_admin.babel import gettext, ngettext, lazy_gettext
from flask.ext.admin.model import BaseModelView from flask_admin.model import BaseModelView
from flask.ext.admin.actions import action from flask_admin.actions import action
from flask.ext.admin.helpers import get_form_data from flask_admin.helpers import get_form_data
from .filters import BasePyMongoFilter from .filters import BasePyMongoFilter
from .tools import parse_like_term from .tools import parse_like_term
...@@ -29,7 +29,7 @@ class ModelView(BaseModelView): ...@@ -29,7 +29,7 @@ class ModelView(BaseModelView):
Collection of the column filters. Collection of the column filters.
Should contain instances of Should contain instances of
:class:`flask.ext.admin.contrib.pymongo.filters.BasePyMongoFilter` :class:`flask_admin.contrib.pymongo.filters.BasePyMongoFilter`
classes. classes.
For example:: For example::
...@@ -59,9 +59,9 @@ class ModelView(BaseModelView): ...@@ -59,9 +59,9 @@ class ModelView(BaseModelView):
:param menu_icon_type: :param menu_icon_type:
Optional icon. Possible icon types: Optional icon. Possible icon types:
- `flask.ext.admin.consts.ICON_TYPE_GLYPH` - Bootstrap glyph icon - `flask_admin.consts.ICON_TYPE_GLYPH` - Bootstrap glyph icon
- `flask.ext.admin.consts.ICON_TYPE_IMAGE` - Image relative to Flask static directory - `flask_admin.consts.ICON_TYPE_IMAGE` - Image relative to Flask static directory
- `flask.ext.admin.consts.ICON_TYPE_IMAGE_URL` - Image with full URL - `flask_admin.consts.ICON_TYPE_IMAGE_URL` - Image with full URL
:param menu_icon_value: :param menu_icon_value:
Icon glyph name or URL, depending on `menu_icon_type` setting Icon glyph name or URL, depending on `menu_icon_type` setting
""" """
......
...@@ -6,9 +6,9 @@ from flask import request ...@@ -6,9 +6,9 @@ from flask import request
from jinja2 import Markup from jinja2 import Markup
from flask.ext.admin.base import BaseView, expose from flask_admin.base import BaseView, expose
from flask.ext.admin.babel import gettext from flask_admin.babel import gettext
from flask.ext.admin._compat import VER from flask_admin._compat import VER
# Set up logger # Set up logger
log = logging.getLogger("flask-admin.redis") log = logging.getLogger("flask-admin.redis")
......
from sqlalchemy import or_ from sqlalchemy import or_
from flask.ext.admin._compat import as_unicode, string_types from flask_admin._compat import as_unicode, string_types
from flask.ext.admin.model.ajax import AjaxModelLoader, DEFAULT_PAGE_SIZE from flask_admin.model.ajax import AjaxModelLoader, DEFAULT_PAGE_SIZE
class QueryAjaxModelLoader(AjaxModelLoader): class QueryAjaxModelLoader(AjaxModelLoader):
......
...@@ -8,10 +8,10 @@ from wtforms.fields import SelectFieldBase ...@@ -8,10 +8,10 @@ from wtforms.fields import SelectFieldBase
from wtforms.validators import ValidationError from wtforms.validators import ValidationError
from .tools import get_primary_key from .tools import get_primary_key
from flask.ext.admin._compat import text_type, string_types from flask_admin._compat import text_type, string_types
from flask.ext.admin.form import FormOpts from flask_admin.form import FormOpts
from flask.ext.admin.model.fields import InlineFieldList, InlineModelFormField from flask_admin.model.fields import InlineFieldList, InlineModelFormField
from flask.ext.admin.model.widgets import InlineFormWidget from flask_admin.model.widgets import InlineFormWidget
try: try:
......
...@@ -2,9 +2,9 @@ import warnings ...@@ -2,9 +2,9 @@ import warnings
import time import time
import datetime import datetime
from flask.ext.admin.babel import lazy_gettext from flask_admin.babel import lazy_gettext
from flask.ext.admin.model import filters from flask_admin.model import filters
from flask.ext.admin.contrib.sqla import tools from flask_admin.contrib.sqla import tools
from sqlalchemy.sql import not_, or_ from sqlalchemy.sql import not_, or_
class BaseSQLAFilter(filters.BaseFilter): class BaseSQLAFilter(filters.BaseFilter):
......
from wtforms import fields, validators from wtforms import fields, validators
from sqlalchemy import Boolean, Column from sqlalchemy import Boolean, Column
from flask.ext.admin import form from flask_admin import form
from flask.ext.admin.model.form import (converts, ModelConverterBase, from flask_admin.model.form import (converts, ModelConverterBase,
InlineModelConverterBase, FieldPlaceholder) InlineModelConverterBase, FieldPlaceholder)
from flask.ext.admin.model.fields import AjaxSelectField, AjaxSelectMultipleField from flask_admin.model.fields import AjaxSelectField, AjaxSelectMultipleField
from flask.ext.admin.model.helpers import prettify_name from flask_admin.model.helpers import prettify_name
from flask.ext.admin._backwards import get_property from flask_admin._backwards import get_property
from flask.ext.admin._compat import iteritems from flask_admin._compat import iteritems
from .validators import Unique from .validators import Unique
from .fields import QuerySelectField, QuerySelectMultipleField, InlineModelFormList from .fields import QuerySelectField, QuerySelectMultipleField, InlineModelFormList
......
...@@ -3,8 +3,8 @@ from sqlalchemy.sql.operators import eq ...@@ -3,8 +3,8 @@ from sqlalchemy.sql.operators import eq
from sqlalchemy.exc import DBAPIError from sqlalchemy.exc import DBAPIError
from ast import literal_eval from ast import literal_eval
from flask.ext.admin._compat import filter_list from flask_admin._compat import filter_list
from flask.ext.admin.tools import iterencode, iterdecode, escape from flask_admin.tools import iterencode, iterdecode, escape
def parse_like_term(term): def parse_like_term(term):
......
from flask.ext.admin.model.typefmt import BASE_FORMATTERS, list_formatter from flask_admin.model.typefmt import BASE_FORMATTERS, list_formatter
from sqlalchemy.orm.collections import InstrumentedList from sqlalchemy.orm.collections import InstrumentedList
......
...@@ -8,16 +8,16 @@ from sqlalchemy.exc import IntegrityError ...@@ -8,16 +8,16 @@ from sqlalchemy.exc import IntegrityError
from flask import flash from flask import flash
from flask.ext.admin._compat import string_types from flask_admin._compat import string_types
from flask.ext.admin.babel import gettext, ngettext, lazy_gettext from flask_admin.babel import gettext, ngettext, lazy_gettext
from flask.ext.admin.model import BaseModelView from flask_admin.model import BaseModelView
from flask.ext.admin.model.form import wrap_fields_in_fieldlist from flask_admin.model.form import wrap_fields_in_fieldlist
from flask.ext.admin.model.fields import ListEditableFieldList from flask_admin.model.fields import ListEditableFieldList
from flask.ext.admin.actions import action from flask_admin.actions import action
from flask.ext.admin._backwards import ObsoleteAttr from flask_admin._backwards import ObsoleteAttr
from flask.ext.admin.contrib.sqla import form, filters, tools from flask_admin.contrib.sqla import form, filters, tools
from .typefmt import DEFAULT_FORMATTERS from .typefmt import DEFAULT_FORMATTERS
from .tools import get_query_for_ids from .tools import get_query_for_ids
from .ajax import create_ajax_loader from .ajax import create_ajax_loader
...@@ -113,7 +113,7 @@ class ModelView(BaseModelView): ...@@ -113,7 +113,7 @@ class ModelView(BaseModelView):
""" """
Collection of the column filters. Collection of the column filters.
Can contain either field names or instances of :class:`flask.ext.admin.contrib.sqla.filters.BaseFilter` classes. Can contain either field names or instances of :class:`flask_admin.contrib.sqla.filters.BaseFilter` classes.
For example:: For example::
...@@ -265,9 +265,9 @@ class ModelView(BaseModelView): ...@@ -265,9 +265,9 @@ class ModelView(BaseModelView):
:param menu_icon_type: :param menu_icon_type:
Optional icon. Possible icon types: Optional icon. Possible icon types:
- `flask.ext.admin.consts.ICON_TYPE_GLYPH` - Bootstrap glyph icon - `flask_admin.consts.ICON_TYPE_GLYPH` - Bootstrap glyph icon
- `flask.ext.admin.consts.ICON_TYPE_IMAGE` - Image relative to Flask static directory - `flask_admin.consts.ICON_TYPE_IMAGE` - Image relative to Flask static directory
- `flask.ext.admin.consts.ICON_TYPE_IMAGE_URL` - Image with full URL - `flask_admin.consts.ICON_TYPE_IMAGE_URL` - Image with full URL
:param menu_icon_value: :param menu_icon_value:
Icon glyph name or URL, depending on `menu_icon_type` setting Icon glyph name or URL, depending on `menu_icon_type` setting
""" """
......
def setup(): def setup():
import warnings import warnings
warnings.warn('Flask-Admin sqlalchemy integration module was renamed as flask.ext.admin.contrib.sqla, please use it instead.') warnings.warn('Flask-Admin sqlalchemy integration module was renamed as flask_admin.contrib.sqla, please use it instead.')
from flask.ext.admin._backwards import import_redirect from flask.ext.admin._backwards import import_redirect
import_redirect(__name__, 'flask_admin.contrib.sqla') import_redirect(__name__, 'flask_admin.contrib.sqla')
......
...@@ -2,8 +2,8 @@ import time ...@@ -2,8 +2,8 @@ import time
import datetime import datetime
from wtforms import fields, widgets from wtforms import fields, widgets
from flask.ext.admin.babel import gettext from flask_admin.babel import gettext
from flask.ext.admin._compat import text_type, as_unicode from flask_admin._compat import text_type, as_unicode
from . import widgets as admin_widgets from . import widgets as admin_widgets
......
...@@ -120,7 +120,7 @@ class Text(BaseRule): ...@@ -120,7 +120,7 @@ class Text(BaseRule):
class HTML(Text): class HTML(Text):
""" """
Shortcut for `Text` rule with `escape` set to `False. Shortcut for `Text` rule with `escape` set to `False`.
""" """
def __init__(self, html): def __init__(self, html):
super(HTML, self).__init__(html, escape=False) super(HTML, self).__init__(html, escape=False)
......
...@@ -12,10 +12,10 @@ try: ...@@ -12,10 +12,10 @@ try:
except ImportError: except ImportError:
from wtforms.utils import unset_value from wtforms.utils import unset_value
from flask.ext.admin.babel import gettext from flask_admin.babel import gettext
from flask.ext.admin.helpers import get_url from flask_admin.helpers import get_url
from flask.ext.admin._compat import string_types, urljoin from flask_admin._compat import string_types, urljoin
try: try:
......
from wtforms import widgets from wtforms import widgets
from flask.globals import _request_ctx_stack from flask.globals import _request_ctx_stack
from flask.ext.admin.babel import gettext, ngettext from flask_admin.babel import gettext, ngettext
from flask.ext.admin import helpers as h from flask_admin import helpers as h
__all__ = ['Select2Widget', 'DatePickerWidget', 'DateTimePickerWidget', 'RenderTemplateWidget', 'Select2TagsWidget', ] __all__ = ['Select2Widget', 'DatePickerWidget', 'DateTimePickerWidget', 'RenderTemplateWidget', 'Select2TagsWidget', ]
......
...@@ -3,7 +3,7 @@ from jinja2 import contextfunction ...@@ -3,7 +3,7 @@ from jinja2 import contextfunction
from flask import g, request, url_for, flash from flask import g, request, url_for, flash
from wtforms.validators import DataRequired, InputRequired from wtforms.validators import DataRequired, InputRequired
from flask.ext.admin._compat import urljoin, urlparse, iteritems from flask_admin._compat import urljoin, urlparse, iteritems
from ._compat import string_types from ._compat import string_types
...@@ -95,7 +95,7 @@ def is_field_error(errors): ...@@ -95,7 +95,7 @@ def is_field_error(errors):
def flash_errors(form, message): def flash_errors(form, message):
from flask.ext.admin.babel import gettext from flask_admin.babel import gettext
for field_name, errors in iteritems(form.errors): for field_name, errors in iteritems(form.errors):
errors = form[field_name].label.text + u": " + u", ".join(errors) errors = form[field_name].label.text + u": " + u", ".join(errors)
flash(gettext(message, error=str(errors)), 'error') flash(gettext(message, error=str(errors)), 'error')
......
from .base import BaseModelView from .base import BaseModelView
from .form import InlineFormAdmin from .form import InlineFormAdmin
from flask.ext.admin.actions import action from flask_admin.actions import action
...@@ -7,17 +7,17 @@ from jinja2 import contextfunction ...@@ -7,17 +7,17 @@ from jinja2 import contextfunction
from wtforms.fields import HiddenField from wtforms.fields import HiddenField
from wtforms.validators import ValidationError, Required from wtforms.validators import ValidationError, Required
from flask.ext.admin.babel import gettext from flask_admin.babel import gettext
from flask.ext.admin.base import BaseView, expose from flask_admin.base import BaseView, expose
from flask.ext.admin.form import BaseForm, FormOpts, rules from flask_admin.form import BaseForm, FormOpts, rules
from flask.ext.admin.model import filters, typefmt from flask_admin.model import filters, typefmt
from flask.ext.admin.actions import ActionsMixin from flask_admin.actions import ActionsMixin
from flask.ext.admin.helpers import (get_form_data, validate_form_on_submit, from flask_admin.helpers import (get_form_data, validate_form_on_submit,
get_redirect_target, flash_errors) get_redirect_target, flash_errors)
from flask.ext.admin.tools import rec_getattr from flask_admin.tools import rec_getattr
from flask.ext.admin._backwards import ObsoleteAttr from flask_admin._backwards import ObsoleteAttr
from flask.ext.admin._compat import iteritems, OrderedDict, as_unicode from flask_admin._compat import iteritems, OrderedDict, as_unicode
from .helpers import prettify_name, get_mdict_item_or_list from .helpers import prettify_name, get_mdict_item_or_list
from .ajax import AjaxModelLoader from .ajax import AjaxModelLoader
from .fields import ListEditableFieldList from .fields import ListEditableFieldList
...@@ -133,7 +133,7 @@ class BaseModelView(BaseView, ActionsMixin): ...@@ -133,7 +133,7 @@ class BaseModelView(BaseView, ActionsMixin):
or using Jinja2 `macro` in template:: or using Jinja2 `macro` in template::
from flask.ext.admin.model.template import macro from flask_admin.model.template import macro
class MyModelView(BaseModelView): class MyModelView(BaseModelView):
column_formatters = dict(price=macro('render_price')) column_formatters = dict(price=macro('render_price'))
...@@ -170,7 +170,7 @@ class BaseModelView(BaseView, ActionsMixin): ...@@ -170,7 +170,7 @@ class BaseModelView(BaseView, ActionsMixin):
If you want to display `NULL` instead of an empty string, you can do If you want to display `NULL` instead of an empty string, you can do
something like this:: something like this::
from flask.ext.admin.model import typefmt from flask_admin.model import typefmt
MY_DEFAULT_FORMATTERS = dict(typefmt.BASE_FORMATTERS) MY_DEFAULT_FORMATTERS = dict(typefmt.BASE_FORMATTERS)
MY_DEFAULT_FORMATTERS.update({ MY_DEFAULT_FORMATTERS.update({
...@@ -296,7 +296,7 @@ class BaseModelView(BaseView, ActionsMixin): ...@@ -296,7 +296,7 @@ class BaseModelView(BaseView, ActionsMixin):
""" """
Collection of the column filters. 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_admin.model.filters.BaseFilter` classes.
Example:: Example::
...@@ -486,7 +486,7 @@ class BaseModelView(BaseView, ActionsMixin): ...@@ -486,7 +486,7 @@ class BaseModelView(BaseView, ActionsMixin):
Here's simple example which illustrates how to use:: Here's simple example which illustrates how to use::
from flask.ext.admin.form import rules from flask_admin.form import rules
class MyModelView(ModelView): class MyModelView(ModelView):
form_rules = [ form_rules = [
...@@ -555,9 +555,9 @@ class BaseModelView(BaseView, ActionsMixin): ...@@ -555,9 +555,9 @@ class BaseModelView(BaseView, ActionsMixin):
:param menu_icon_type: :param menu_icon_type:
Optional icon. Possible icon types: Optional icon. Possible icon types:
- `flask.ext.admin.consts.ICON_TYPE_GLYPH` - Bootstrap glyph icon - `flask_admin.consts.ICON_TYPE_GLYPH` - Bootstrap glyph icon
- `flask.ext.admin.consts.ICON_TYPE_IMAGE` - Image relative to Flask static directory - `flask_admin.consts.ICON_TYPE_IMAGE` - Image relative to Flask static directory
- `flask.ext.admin.consts.ICON_TYPE_IMAGE_URL` - Image with full URL - `flask_admin.consts.ICON_TYPE_IMAGE_URL` - Image with full URL
:param menu_icon_value: :param menu_icon_value:
Icon glyph name or URL, depending on `menu_icon_type` setting Icon glyph name or URL, depending on `menu_icon_type` setting
""" """
...@@ -892,8 +892,8 @@ class BaseModelView(BaseView, ActionsMixin): ...@@ -892,8 +892,8 @@ class BaseModelView(BaseView, ActionsMixin):
Allows overriding the editable list view field/widget. For example:: Allows overriding the editable list view field/widget. For example::
from flask.ext.admin.model.fields import ListEditableFieldList from flask_admin.model.fields import ListEditableFieldList
from flask.ext.admin.model.widgets import XEditableWidget from flask_admin.model.widgets import XEditableWidget
class CustomWidget(XEditableWidget): class CustomWidget(XEditableWidget):
def get_kwargs(self, subfield, kwargs): def get_kwargs(self, subfield, kwargs):
......
...@@ -8,7 +8,7 @@ try: ...@@ -8,7 +8,7 @@ try:
except ImportError: except ImportError:
from wtforms.utils import unset_value from wtforms.utils import unset_value
from flask.ext.admin._compat import iteritems from flask_admin._compat import iteritems
from .widgets import (InlineFieldListWidget, InlineFormWidget, from .widgets import (InlineFieldListWidget, InlineFormWidget,
AjaxSelect2Widget, XEditableWidget) AjaxSelect2Widget, XEditableWidget)
......
import time import time
import datetime import datetime
from flask.ext.admin._compat import text_type from flask_admin._compat import text_type
from flask.ext.admin.babel import lazy_gettext from flask_admin.babel import lazy_gettext
class BaseFilter(object): class BaseFilter(object):
...@@ -263,7 +263,7 @@ def convert(*args): ...@@ -263,7 +263,7 @@ def convert(*args):
""" """
Decorator for field to filter conversion routine. Decorator for field to filter conversion routine.
See :mod:`flask.ext.admin.contrib.sqla.filters` for usage example. See :mod:`flask_admin.contrib.sqla.filters` for usage example.
""" """
def _inner(func): def _inner(func):
func._converter_for = list(map(str.lower, args)) func._converter_for = list(map(str.lower, args))
......
import inspect import inspect
from flask.ext.admin.form import BaseForm, rules from flask_admin.form import BaseForm, rules
from flask.ext.admin._compat import iteritems from flask_admin._compat import iteritems
from wtforms.fields.core import UnboundField from wtforms.fields.core import UnboundField
......
from jinja2 import Markup from jinja2 import Markup
from flask.ext.admin._compat import text_type from flask_admin._compat import text_type
def null_formatter(view, value): def null_formatter(view, value):
......
from flask import json from flask import json
from wtforms.widgets import HTMLString, html_params from wtforms.widgets import HTMLString, html_params
from flask.ext.admin._compat import as_unicode from flask_admin._compat import as_unicode
from flask.ext.admin.babel import gettext from flask_admin.babel import gettext
from flask.ext.admin.helpers import get_url from flask_admin.helpers import get_url
from flask.ext.admin.form import RenderTemplateWidget from flask_admin.form import RenderTemplateWidget
class InlineFieldListWidget(RenderTemplateWidget): class InlineFieldListWidget(RenderTemplateWidget):
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment