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
6c62d45d
Commit
6c62d45d
authored
Jun 13, 2013
by
Serge S. Koval
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fixed #235
parent
d7e50ec4
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
32 additions
and
25 deletions
+32
-25
view.py
flask_admin/contrib/mongoengine/view.py
+1
-2
view.py
flask_admin/contrib/peeweemodel/view.py
+1
-2
view.py
flask_admin/contrib/pymongo/view.py
+1
-2
view.py
flask_admin/contrib/sqlamodel/view.py
+15
-3
base.py
flask_admin/model/base.py
+14
-0
helpers.py
flask_admin/model/helpers.py
+0
-16
No files found.
flask_admin/contrib/mongoengine/view.py
View file @
6c62d45d
...
...
@@ -4,7 +4,6 @@ from flask import flash
from
flask.ext.admin.babel
import
gettext
,
ngettext
,
lazy_gettext
from
flask.ext.admin.model
import
BaseModelView
from
flask.ext.admin.model.helpers
import
get_default_order
import
mongoengine
from
bson.objectid
import
ObjectId
...
...
@@ -302,7 +301,7 @@ class ModelView(BaseModelView):
if
sort_column
:
query
=
query
.
order_by
(
'
%
s
%
s'
%
(
'-'
if
sort_desc
else
''
,
sort_column
))
else
:
order
=
get_default_order
(
self
)
order
=
self
.
_get_default_order
(
)
if
order
:
query
=
query
.
order_by
(
'
%
s
%
s'
%
(
'-'
if
order
[
1
]
else
''
,
order
[
0
]))
...
...
flask_admin/contrib/peeweemodel/view.py
View file @
6c62d45d
...
...
@@ -5,7 +5,6 @@ from flask import flash
from
flask.ext.admin
import
form
from
flask.ext.admin.babel
import
gettext
,
ngettext
,
lazy_gettext
from
flask.ext.admin.model
import
BaseModelView
from
flask.ext.admin.model.helpers
import
get_default_order
from
peewee
import
PrimaryKeyField
,
ForeignKeyField
,
Field
,
CharField
,
TextField
from
wtfpeewee.orm
import
model_form
...
...
@@ -314,7 +313,7 @@ class ModelView(BaseModelView):
query
,
joins
=
self
.
_order_by
(
query
,
joins
,
sort_field
,
sort_desc
)
else
:
order
=
get_default_order
(
self
)
order
=
self
.
_get_default_order
(
)
if
order
:
query
,
joins
=
self
.
_order_by
(
query
,
joins
,
order
[
0
],
order
[
1
])
...
...
flask_admin/contrib/pymongo/view.py
View file @
6c62d45d
...
...
@@ -9,7 +9,6 @@ from jinja2 import contextfunction
from
flask.ext.admin.babel
import
gettext
,
ngettext
,
lazy_gettext
from
flask.ext.admin.model
import
BaseModelView
from
flask.ext.admin.model.helpers
import
get_default_order
from
flask.ext.admin.actions
import
action
from
.filters
import
BasePyMongoFilter
...
...
@@ -207,7 +206,7 @@ class ModelView(BaseModelView):
if
sort_column
:
sort_by
=
[(
sort_column
,
pymongo
.
DESCENDING
if
sort_desc
else
pymongo
.
ASCENDING
)]
else
:
order
=
get_default_order
(
self
)
order
=
self
.
get_default_order
(
)
if
order
:
sort_by
=
[(
order
[
0
],
pymongo
.
DESCENDING
if
order
[
1
]
else
pymongo
.
ASCENDING
)]
...
...
flask_admin/contrib/sqlamodel/view.py
View file @
6c62d45d
...
...
@@ -10,7 +10,6 @@ from flask import flash
from
flask.ext.admin.tools
import
ObsoleteAttr
from
flask.ext.admin.babel
import
gettext
,
ngettext
,
lazy_gettext
from
flask.ext.admin.model
import
BaseModelView
from
flask.ext.admin.model.helpers
import
get_default_order
from
flask.ext.admin.actions
import
action
from
flask.ext.admin.contrib.sqlamodel
import
form
,
filters
,
tools
...
...
@@ -616,7 +615,7 @@ class ModelView(BaseModelView):
if
mapper
is
not
None
:
table
=
mapper
.
tables
[
0
]
if
table
.
name
not
in
joins
:
if
self
.
_need_join
(
table
)
and
table
.
name
not
in
joins
:
query
=
query
.
join
(
table
)
joins
.
add
(
table
.
name
)
elif
isinstance
(
sort_field
,
Column
):
...
...
@@ -632,6 +631,19 @@ class ModelView(BaseModelView):
return
query
,
joins
def
_get_default_order
(
self
):
order
=
super
(
ModelView
,
self
)
.
_get_default_order
()
if
order
is
not
None
:
field
,
direction
=
order
if
isinstance
(
field
,
basestring
):
field
=
getattr
(
self
.
model
,
field
)
return
field
,
direction
return
None
def
get_list
(
self
,
page
,
sort_column
,
sort_desc
,
search
,
filters
,
execute
=
True
):
"""
Return models from the database.
...
...
@@ -712,7 +724,7 @@ class ModelView(BaseModelView):
query
,
joins
=
self
.
_order_by
(
query
,
joins
,
sort_field
,
sort_desc
)
else
:
order
=
get_default_order
(
self
)
order
=
self
.
_get_default_order
(
)
if
order
:
query
,
joins
=
self
.
_order_by
(
query
,
joins
,
order
[
0
],
order
[
1
])
...
...
flask_admin/model/base.py
View file @
6c62d45d
...
...
@@ -636,6 +636,20 @@ class BaseModelView(BaseView, ActionsMixin):
return
self
.
_list_columns
[
idx
]
def
_get_default_order
(
self
):
"""
Return default sort order
"""
if
self
.
column_default_sort
:
if
isinstance
(
self
.
column_default_sort
,
tuple
):
return
self
.
column_default_sort
else
:
return
self
.
column_default_sort
,
False
return
field
,
direction
return
None
# Database-related API
def
get_list
(
self
,
page
,
sort_field
,
sort_desc
,
search
,
filters
):
"""
...
...
flask_admin/model/helpers.py
deleted
100644 → 0
View file @
d7e50ec4
def
get_default_order
(
view
):
"""
Get default sort order from model view.
Returns (field, desc) tuple.
:param view:
View instance
"""
if
view
.
column_default_sort
:
if
isinstance
(
view
.
column_default_sort
,
tuple
):
return
view
.
column_default_sort
else
:
return
(
view
.
column_default_sort
,
False
)
return
None
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