Commit 1766909e authored by michael lynch's avatar michael lynch

adding tests to see why the PR failed.

parent 7d36dde6
......@@ -518,7 +518,7 @@ class Admin(object):
self.template_mode = template_mode or 'bootstrap2'
self.category_icon_classes = category_icon_classes or dict()
# Add predefined index view
# Add index view
self._set_admin_index_view(index_view=index_view, endpoint=endpoint, url=url)
# Register with application
......@@ -541,25 +541,29 @@ class Admin(object):
self._add_view_to_menu(view)
def _set_admin_index_view(self, index_view=None,
def _set_admin_index_view(self, index_view=None,
endpoint=None, url=None):
"""
Add the admin index view.
:param index_view:
Home page view to use. Defaults to `AdminIndexView`.
:param url:
Base URL
:param endpoint:
Base endpoint name for index view. If you use multiple instances of the `Admin` class with
a single Flask application, you have to set a unique endpoint name for each instance.
"""
"""
Add the admin index view.
:param index_view:
Home page view to use. Defaults to `AdminIndexView`.
:param url:
Base URL
:param endpoint:
Base endpoint name for index view. If you use multiple instances of the `Admin` class with
a single Flask application, you have to set a unique endpoint name for each instance.
"""
self.index_view = index_view or AdminIndexView(endpoint=endpoint, url=url)
self.endpoint = endpoint or self.index_view.endpoint
self.url = url or self.index_view.url
# Add predefined index view
self.add_view(self.index_view)
# assume index view is always the first element of views.
if len(self._views) > 0:
self._views[0] = self.index_view
else:
self.add_view(self.index_view)
def add_views(self, *args):
"""
......@@ -659,12 +663,13 @@ class Admin(object):
self._init_extension()
# Register Index view
self._set_admin_index_view(index_view=index_view, endpoint=endpoint, url=url)
# Register views
for view in self._views:
app.register_blueprint(view.create_blueprint(self))
# Register Index view
self._set_admin_index_view(index_view=index_view, endpoint=endpoint, url=url)
def _init_extension(self):
if not hasattr(self.app, 'extensions'):
......
......@@ -114,6 +114,25 @@ def test_custom_index_view():
eq_(admin._views[0], view)
def test_custom_index_view_in_init_app():
view = base.AdminIndexView(name='a', category='b', endpoint='c',
url='/d', template='e')
app = Flask(__name__)
admin = base.Admin()
admin.init_app(app, index_view=view)
eq_(admin.endpoint, 'c')
eq_(admin.url, '/d')
ok_(admin.index_view is view)
eq_(view.name, 'a')
eq_(view.category, 'b')
eq_(view._template, 'e')
# Check if view was added
eq_(len(admin._views), 1)
eq_(admin._views[0], view)
def test_base_registration():
app = Flask(__name__)
admin = base.Admin(app)
......
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