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
a028c8bc
Unverified
Commit
a028c8bc
authored
Feb 05, 2019
by
Serge S. Koval
Committed by
GitHub
Feb 05, 2019
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #1805 from dzaytsev91/uuid-filter
uuid filter implementation
parents
69018859
f8df32dd
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
46 additions
and
0 deletions
+46
-0
filters.py
flask_admin/contrib/sqla/filters.py
+22
-0
filters.py
flask_admin/model/filters.py
+24
-0
No files found.
flask_admin/contrib/sqla/filters.py
View file @
a028c8bc
...
@@ -339,6 +339,22 @@ class EnumFilterNotInList(FilterNotInList):
...
@@ -339,6 +339,22 @@ class EnumFilterNotInList(FilterNotInList):
return
values
return
values
class
UuidFilterEqual
(
FilterEqual
,
filters
.
BaseUuidFilter
):
pass
class
UuidFilterNotEqual
(
FilterNotEqual
,
filters
.
BaseUuidFilter
):
pass
class
UuidFilterInList
(
filters
.
BaseUuidListFilter
,
FilterInList
):
pass
class
UuidFilterNotInList
(
filters
.
BaseUuidListFilter
,
FilterNotInList
):
pass
# Base SQLA filter field converter
# Base SQLA filter field converter
class
FilterConverter
(
filters
.
BaseFilterConverter
):
class
FilterConverter
(
filters
.
BaseFilterConverter
):
strings
=
(
FilterLike
,
FilterNotLike
,
FilterEqual
,
FilterNotEqual
,
strings
=
(
FilterLike
,
FilterNotLike
,
FilterEqual
,
FilterNotEqual
,
...
@@ -362,6 +378,8 @@ class FilterConverter(filters.BaseFilterConverter):
...
@@ -362,6 +378,8 @@ class FilterConverter(filters.BaseFilterConverter):
time_filters
=
(
TimeEqualFilter
,
TimeNotEqualFilter
,
TimeGreaterFilter
,
time_filters
=
(
TimeEqualFilter
,
TimeNotEqualFilter
,
TimeGreaterFilter
,
TimeSmallerFilter
,
TimeBetweenFilter
,
TimeNotBetweenFilter
,
TimeSmallerFilter
,
TimeBetweenFilter
,
TimeNotBetweenFilter
,
FilterEmpty
)
FilterEmpty
)
uuid_filters
=
(
UuidFilterEqual
,
UuidFilterNotEqual
,
FilterEmpty
,
UuidFilterInList
,
UuidFilterNotInList
)
def
convert
(
self
,
type_name
,
column
,
name
,
**
kwargs
):
def
convert
(
self
,
type_name
,
column
,
name
,
**
kwargs
):
filter_name
=
type_name
.
lower
()
filter_name
=
type_name
.
lower
()
...
@@ -418,3 +436,7 @@ class FilterConverter(filters.BaseFilterConverter):
...
@@ -418,3 +436,7 @@ class FilterConverter(filters.BaseFilterConverter):
kwargs
[
'enum_class'
]
=
column
.
type
.
_enum_class
kwargs
[
'enum_class'
]
=
column
.
type
.
_enum_class
return
[
f
(
column
,
name
,
options
,
**
kwargs
)
for
f
in
self
.
enum
]
return
[
f
(
column
,
name
,
options
,
**
kwargs
)
for
f
in
self
.
enum
]
@
filters
.
convert
(
'uuid'
)
def
conv_uuid
(
self
,
column
,
name
,
**
kwargs
):
return
[
f
(
column
,
name
,
**
kwargs
)
for
f
in
self
.
uuid_filters
]
flask_admin/model/filters.py
View file @
a028c8bc
import
time
import
time
import
datetime
import
datetime
import
uuid
from
flask_admin.babel
import
lazy_gettext
from
flask_admin.babel
import
lazy_gettext
...
@@ -269,6 +270,29 @@ class BaseTimeBetweenFilter(BaseFilter):
...
@@ -269,6 +270,29 @@ class BaseTimeBetweenFilter(BaseFilter):
return
False
return
False
class
BaseUuidFilter
(
BaseFilter
):
"""
Base uuid filter
"""
def
__init__
(
self
,
name
,
options
=
None
,
data_type
=
None
):
super
(
BaseUuidFilter
,
self
)
.
__init__
(
name
,
options
,
data_type
=
'uuid'
)
def
clean
(
self
,
value
):
value
=
uuid
.
UUID
(
value
)
return
str
(
value
)
class
BaseUuidListFilter
(
BaseFilter
):
"""
Base uuid list filter
"""
def
clean
(
self
,
value
):
return
[
str
(
uuid
.
UUID
(
v
.
strip
()))
for
v
in
value
.
split
(
','
)
if
v
.
strip
()]
def
convert
(
*
args
):
def
convert
(
*
args
):
"""
"""
Decorator for field to filter conversion routine.
Decorator for field to filter conversion routine.
...
...
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