Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
F
flask-admin
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
0
Merge Requests
0
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Python-Dev
flask-admin
Commits
7d36dde6
Commit
7d36dde6
authored
Mar 23, 2016
by
michael lynch
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
updated to the latest pull from flask-admin, to stay in sync.
parent
831c38f3
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
41 additions
and
28 deletions
+41
-28
base.py
flask_admin/base.py
+41
-28
No files found.
flask_admin/base.py
View file @
7d36dde6
import
os.path
as
op
import
os.path
as
op
import
warnings
from
functools
import
wraps
from
functools
import
wraps
...
@@ -439,7 +440,7 @@ class AdminIndexView(BaseView):
...
@@ -439,7 +440,7 @@ class AdminIndexView(BaseView):
super
(
AdminIndexView
,
self
)
.
__init__
(
name
or
babel
.
lazy_gettext
(
'Home'
),
super
(
AdminIndexView
,
self
)
.
__init__
(
name
or
babel
.
lazy_gettext
(
'Home'
),
category
,
category
,
endpoint
or
'admin'
,
endpoint
or
'admin'
,
url
or
'/admin'
,
'/admin'
if
url
is
None
else
url
,
'static'
,
'static'
,
menu_class_name
=
menu_class_name
,
menu_class_name
=
menu_class_name
,
menu_icon_type
=
menu_icon_type
,
menu_icon_type
=
menu_icon_type
,
...
@@ -508,6 +509,9 @@ class Admin(object):
...
@@ -508,6 +509,9 @@ class Admin(object):
name
=
'Admin'
name
=
'Admin'
self
.
name
=
name
self
.
name
=
name
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
self
.
static_url_path
=
static_url_path
self
.
static_url_path
=
static_url_path
self
.
subdomain
=
subdomain
self
.
subdomain
=
subdomain
self
.
base_template
=
base_template
or
'admin/base.html'
self
.
base_template
=
base_template
or
'admin/base.html'
...
@@ -521,8 +525,24 @@ class Admin(object):
...
@@ -521,8 +525,24 @@ class Admin(object):
if
app
is
not
None
:
if
app
is
not
None
:
self
.
_init_extension
()
self
.
_init_extension
()
def
_set_admin_index_view
(
self
,
index_view
=
None
,
def
add_view
(
self
,
view
):
endpoint
=
None
,
url
=
None
):
"""
Add a view to the collection.
:param view:
View to add.
"""
# Add to views
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
_set_admin_index_view
(
self
,
index_view
=
None
,
endpoint
=
None
,
url
=
None
):
"""
"""
Add the admin index view.
Add the admin index view.
...
@@ -530,7 +550,7 @@ class Admin(object):
...
@@ -530,7 +550,7 @@ class Admin(object):
Home page view to use. Defaults to `AdminIndexView`.
Home page view to use. Defaults to `AdminIndexView`.
:param url:
:param url:
Base URL
Base URL
:param endpoint:
:param endpoint:
Base endpoint name for index view. If you use multiple instances of the `Admin` class with
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.
a single Flask application, you have to set a unique endpoint name for each instance.
"""
"""
...
@@ -541,22 +561,6 @@ class Admin(object):
...
@@ -541,22 +561,6 @@ class Admin(object):
# Add predefined index view
# Add predefined index view
self
.
add_view
(
self
.
index_view
)
self
.
add_view
(
self
.
index_view
)
def
add_view
(
self
,
view
):
"""
Add a view to the collection.
:param view:
View to add.
"""
# Add to views
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_views
(
self
,
*
args
):
def
add_views
(
self
,
*
args
):
"""
"""
Add one or more views to the collection.
Add one or more views to the collection.
...
@@ -581,7 +585,7 @@ class Admin(object):
...
@@ -581,7 +585,7 @@ class Admin(object):
Link to add.
Link to add.
"""
"""
if
link
.
category
:
if
link
.
category
:
self
.
_
add_menu_item
(
link
,
link
.
category
)
self
.
add_menu_item
(
link
,
link
.
category
)
else
:
else
:
self
.
_menu_links
.
append
(
link
)
self
.
_menu_links
.
append
(
link
)
...
@@ -601,7 +605,15 @@ class Admin(object):
...
@@ -601,7 +605,15 @@ class Admin(object):
for
link
in
args
:
for
link
in
args
:
self
.
add_link
(
link
)
self
.
add_link
(
link
)
def
_add_menu_item
(
self
,
menu_item
,
target_category
):
def
add_menu_item
(
self
,
menu_item
,
target_category
=
None
):
"""
Add menu item to menu tree hierarchy.
:param menu_item:
MenuItem class instance
:param target_category:
Target category name
"""
if
target_category
:
if
target_category
:
cat_text
=
as_unicode
(
target_category
)
cat_text
=
as_unicode
(
target_category
)
...
@@ -619,6 +631,10 @@ class Admin(object):
...
@@ -619,6 +631,10 @@ class Admin(object):
else
:
else
:
self
.
_menu
.
append
(
menu_item
)
self
.
_menu
.
append
(
menu_item
)
def
_add_menu_item
(
self
,
menu_item
,
target_category
):
warnings
.
warn
(
'Admin._add_menu_item is obsolete - use Admin.add_menu_item instead.'
)
return
self
.
add_menu_item
(
menu_item
,
target_category
)
def
_add_view_to_menu
(
self
,
view
):
def
_add_view_to_menu
(
self
,
view
):
"""
"""
Add a view to the menu tree
Add a view to the menu tree
...
@@ -626,7 +642,7 @@ class Admin(object):
...
@@ -626,7 +642,7 @@ class Admin(object):
:param view:
:param view:
View to add
View to add
"""
"""
self
.
_
add_menu_item
(
MenuView
(
view
.
name
,
view
),
view
.
category
)
self
.
add_menu_item
(
MenuView
(
view
.
name
,
view
),
view
.
category
)
def
get_category_menu_item
(
self
,
name
):
def
get_category_menu_item
(
self
,
name
):
return
self
.
_menu_categories
.
get
(
name
)
return
self
.
_menu_categories
.
get
(
name
)
...
@@ -643,16 +659,13 @@ class Admin(object):
...
@@ -643,16 +659,13 @@ class Admin(object):
self
.
_init_extension
()
self
.
_init_extension
()
self
.
_views
=
[]
# Register views
# Register views
for
view
in
self
.
_views
:
for
view
in
self
.
_views
:
app
.
register_blueprint
(
view
.
create_blueprint
(
self
))
app
.
register_blueprint
(
view
.
create_blueprint
(
self
))
# Register Index view
# Register Index view
self
.
_set_admin_index_view
(
index_view
=
index_view
,
endpoint
=
endpoint
,
url
=
url
)
self
.
_set_admin_index_view
(
index_view
=
index_view
,
endpoint
=
endpoint
,
url
=
url
)
def
_init_extension
(
self
):
def
_init_extension
(
self
):
if
not
hasattr
(
self
.
app
,
'extensions'
):
if
not
hasattr
(
self
.
app
,
'extensions'
):
self
.
app
.
extensions
=
dict
()
self
.
app
.
extensions
=
dict
()
...
@@ -681,4 +694,4 @@ class Admin(object):
...
@@ -681,4 +694,4 @@ class Admin(object):
"""
"""
Return menu links.
Return menu links.
"""
"""
return
self
.
_menu_links
return
self
.
_menu_links
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment