Commit 9361fd15 authored by Serge S. Koval's avatar Serge S. Koval

Fixed bug with menu initialization.

parent 44334984
...@@ -31,9 +31,10 @@ def index(): ...@@ -31,9 +31,10 @@ def index():
if __name__ == '__main__': if __name__ == '__main__':
# Create admin interface # Create admin interface
admin = adminex.Admin(app) admin = adminex.Admin()
admin.add_view(MyAdminView(category='Test')) admin.add_view(MyAdminView(category='Test'))
admin.add_view(AnotherAdminView(category='Test')) admin.add_view(AnotherAdminView(category='Test'))
admin.init_app(app)
# Start app # Start app
app.debug = True app.debug = True
......
...@@ -305,6 +305,12 @@ class Admin(object): ...@@ -305,6 +305,12 @@ class Admin(object):
# Add to views # Add to views
self._views.append(view) self._views.append(view)
# If app was provided in constructor, register view with Flask app
if self.app is not None:
self.app.register_blueprint(view.create_blueprint(self))
self._add_view_to_menu(view)
def _add_view_to_menu(self, view):
# Update menu # Update menu
if view.category: if view.category:
category = self._menu_categories.get(view.category) category = self._menu_categories.get(view.category)
...@@ -318,10 +324,6 @@ class Admin(object): ...@@ -318,10 +324,6 @@ class Admin(object):
else: else:
self._menu.append(MenuItem(view.name, view)) self._menu.append(MenuItem(view.name, view))
# If app was provided in constructor, register view with Flask app
if self.app is not None:
self.app.register_blueprint(view.create_blueprint(self))
def init_app(self, app): def init_app(self, app):
""" """
Register all views with Flask application. Register all views with Flask application.
...@@ -334,8 +336,9 @@ class Admin(object): ...@@ -334,8 +336,9 @@ class Admin(object):
self.app = app self.app = app
for v in self._views: for view in self._views:
app.register_blueprint(v.create_blueprint(self)) app.register_blueprint(view.create_blueprint(self))
self._add_view_to_menu(view)
def menu(self): def menu(self):
""" """
......
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