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
0755c02c
Commit
0755c02c
authored
May 19, 2015
by
Eric Reynolds
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added after_delete_model hook on view classes like after_model_change
parent
4050be5c
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
32 additions
and
4 deletions
+32
-4
view.py
flask_admin/contrib/mongoengine/view.py
+5
-1
view.py
flask_admin/contrib/peewee/view.py
+4
-1
view.py
flask_admin/contrib/pymongo/view.py
+4
-1
view.py
flask_admin/contrib/sqla/view.py
+4
-1
base.py
flask_admin/model/base.py
+15
-0
No files found.
flask_admin/contrib/mongoengine/view.py
View file @
0755c02c
...
@@ -582,7 +582,6 @@ class ModelView(BaseModelView):
...
@@ -582,7 +582,6 @@ class ModelView(BaseModelView):
try
:
try
:
self
.
on_model_delete
(
model
)
self
.
on_model_delete
(
model
)
model
.
delete
()
model
.
delete
()
return
True
except
Exception
as
ex
:
except
Exception
as
ex
:
if
not
self
.
handle_view_exception
(
ex
):
if
not
self
.
handle_view_exception
(
ex
):
flash
(
gettext
(
'Failed to delete record.
%(error)
s'
,
flash
(
gettext
(
'Failed to delete record.
%(error)
s'
,
...
@@ -591,6 +590,11 @@ class ModelView(BaseModelView):
...
@@ -591,6 +590,11 @@ class ModelView(BaseModelView):
log
.
exception
(
'Failed to delete record.'
)
log
.
exception
(
'Failed to delete record.'
)
return
False
return
False
else
:
self
.
after_model_delete
(
model
)
return
True
# FileField access API
# FileField access API
@
expose
(
'/api/file/'
)
@
expose
(
'/api/file/'
)
...
...
flask_admin/contrib/peewee/view.py
View file @
0755c02c
...
@@ -409,13 +409,16 @@ class ModelView(BaseModelView):
...
@@ -409,13 +409,16 @@ class ModelView(BaseModelView):
try
:
try
:
self
.
on_model_delete
(
model
)
self
.
on_model_delete
(
model
)
model
.
delete_instance
(
recursive
=
True
)
model
.
delete_instance
(
recursive
=
True
)
return
True
except
Exception
as
ex
:
except
Exception
as
ex
:
if
not
self
.
handle_view_exception
(
ex
):
if
not
self
.
handle_view_exception
(
ex
):
flash
(
gettext
(
'Failed to delete record.
%(error)
s'
,
error
=
str
(
ex
)),
'error'
)
flash
(
gettext
(
'Failed to delete record.
%(error)
s'
,
error
=
str
(
ex
)),
'error'
)
log
.
exception
(
'Failed to delete record.'
)
log
.
exception
(
'Failed to delete record.'
)
return
False
return
False
else
:
self
.
after_model_delete
(
model
)
return
True
# Default model actions
# Default model actions
def
is_action_allowed
(
self
,
name
):
def
is_action_allowed
(
self
,
name
):
...
...
flask_admin/contrib/pymongo/view.py
View file @
0755c02c
...
@@ -330,12 +330,15 @@ class ModelView(BaseModelView):
...
@@ -330,12 +330,15 @@ class ModelView(BaseModelView):
self
.
on_model_delete
(
model
)
self
.
on_model_delete
(
model
)
self
.
coll
.
remove
({
'_id'
:
pk
})
self
.
coll
.
remove
({
'_id'
:
pk
})
return
True
except
Exception
as
ex
:
except
Exception
as
ex
:
flash
(
gettext
(
'Failed to delete record.
%(error)
s'
,
error
=
str
(
ex
)),
flash
(
gettext
(
'Failed to delete record.
%(error)
s'
,
error
=
str
(
ex
)),
'error'
)
'error'
)
log
.
exception
(
'Failed to delete record.'
)
log
.
exception
(
'Failed to delete record.'
)
return
False
return
False
else
:
self
.
after_model_delete
(
model
)
return
True
# Default model actions
# Default model actions
def
is_action_allowed
(
self
,
name
):
def
is_action_allowed
(
self
,
name
):
...
...
flask_admin/contrib/sqla/view.py
View file @
0755c02c
...
@@ -934,7 +934,6 @@ class ModelView(BaseModelView):
...
@@ -934,7 +934,6 @@ class ModelView(BaseModelView):
self
.
session
.
flush
()
self
.
session
.
flush
()
self
.
session
.
delete
(
model
)
self
.
session
.
delete
(
model
)
self
.
session
.
commit
()
self
.
session
.
commit
()
return
True
except
Exception
as
ex
:
except
Exception
as
ex
:
if
not
self
.
handle_view_exception
(
ex
):
if
not
self
.
handle_view_exception
(
ex
):
flash
(
gettext
(
'Failed to delete record.
%(error)
s'
,
error
=
str
(
ex
)),
'error'
)
flash
(
gettext
(
'Failed to delete record.
%(error)
s'
,
error
=
str
(
ex
)),
'error'
)
...
@@ -943,6 +942,10 @@ class ModelView(BaseModelView):
...
@@ -943,6 +942,10 @@ class ModelView(BaseModelView):
self
.
session
.
rollback
()
self
.
session
.
rollback
()
return
False
return
False
else
:
self
.
after_model_delete
(
model
)
return
True
# Default model actions
# Default model actions
def
is_action_allowed
(
self
,
name
):
def
is_action_allowed
(
self
,
name
):
...
...
flask_admin/model/base.py
View file @
0755c02c
...
@@ -1200,6 +1200,21 @@ class BaseModelView(BaseView, ActionsMixin):
...
@@ -1200,6 +1200,21 @@ class BaseModelView(BaseView, ActionsMixin):
By default do nothing.
By default do nothing.
"""
"""
pass
pass
def
after_model_delete
(
self
,
model
):
"""
Perform some actions after a model was deleted and
committed to the database.
Called from delete_model after successful database commit
(if it has any meaning for a store backend).
By default does nothing.
:param model:
Model that was deleted
"""
pass
def
on_form_prefill
(
self
,
form
,
id
):
def
on_form_prefill
(
self
,
form
,
id
):
"""
"""
...
...
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