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
26b83155
Commit
26b83155
authored
Aug 17, 2015
by
Serge S. Koval
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #996 from plaes/save-return-url
Make it possible to override return url after form has been saved
parents
e21f6731
6f253b03
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
21 additions
and
2 deletions
+21
-2
base.py
flask_admin/model/base.py
+21
-2
No files found.
flask_admin/model/base.py
View file @
26b83155
...
...
@@ -1104,6 +1104,25 @@ class BaseModelView(BaseView, ActionsMixin):
"""
return
validate_form_on_submit
(
form
)
def
get_save_return_url
(
self
,
model
,
is_created
=
False
):
"""
Return url where user is redirected after successful form save.
:param model:
Saved object
:param is_created:
Whether new object was created or existing one was updated
For example, redirect use to object details view after form save::
class MyModelView(ModelView):
can_view_details = True
def get_save_return_url(self, model, is_created):
return self.get_url('.details_view', id=model.id)
"""
return
get_redirect_target
()
or
self
.
get_url
(
'.index_view'
)
def
_get_ruleset_missing_fields
(
self
,
ruleset
,
form
):
missing_fields
=
[]
...
...
@@ -1667,7 +1686,7 @@ class BaseModelView(BaseView, ActionsMixin):
return
redirect
(
url
)
else
:
# save button
return
redirect
(
return_url
)
return
redirect
(
self
.
get_save_return_url
(
model
,
is_created
=
True
)
)
form_opts
=
FormOpts
(
widget_args
=
self
.
form_widget_args
,
form_rules
=
self
.
_form_create_rules
)
...
...
@@ -1715,7 +1734,7 @@ class BaseModelView(BaseView, ActionsMixin):
return
redirect
(
request
.
url
)
else
:
# save button
return
redirect
(
return_url
)
return
redirect
(
self
.
get_save_return_url
(
model
,
is_created
=
False
)
)
if
request
.
method
==
'GET'
:
self
.
on_form_prefill
(
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