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
b06f2526
Commit
b06f2526
authored
May 26, 2015
by
Petrus J.v.Rensburg
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'Code4SA-upstream-edit-after-create'
parents
471406a7
80dd06af
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
24 additions
and
12 deletions
+24
-12
view.py
flask_admin/contrib/appengine/view.py
+2
-2
view.py
flask_admin/contrib/mongoengine/view.py
+1
-1
view.py
flask_admin/contrib/peewee/view.py
+1
-1
view.py
flask_admin/contrib/pymongo/view.py
+1
-1
view.py
flask_admin/contrib/sqla/view.py
+1
-1
base.py
flask_admin/model/base.py
+11
-3
test_basic.py
flask_admin/tests/sqla/test_basic.py
+7
-3
No files found.
flask_admin/contrib/appengine/view.py
View file @
b06f2526
...
...
@@ -56,7 +56,7 @@ class NdbModelView(BaseModelView):
model
=
self
.
model
()
form
.
populate_obj
(
model
)
model
.
put
()
return
True
return
model
except
Exception
as
ex
:
if
not
self
.
handle_view_exception
(
ex
):
#flash(gettext('Failed to create record. %(error)s',
...
...
@@ -137,7 +137,7 @@ class DbModelView(BaseModelView):
model
=
self
.
model
()
form
.
populate_obj
(
model
)
model
.
put
()
return
True
return
model
except
Exception
as
ex
:
if
not
self
.
handle_view_exception
(
ex
):
#flash(gettext('Failed to create record. %(error)s',
...
...
flask_admin/contrib/mongoengine/view.py
View file @
b06f2526
...
...
@@ -544,7 +544,7 @@ class ModelView(BaseModelView):
else
:
self
.
after_model_change
(
form
,
model
,
True
)
return
True
return
model
def
update_model
(
self
,
form
,
model
):
"""
...
...
flask_admin/contrib/peewee/view.py
View file @
b06f2526
...
...
@@ -384,7 +384,7 @@ class ModelView(BaseModelView):
else
:
self
.
after_model_change
(
form
,
model
,
True
)
return
True
return
model
def
update_model
(
self
,
form
,
model
):
try
:
...
...
flask_admin/contrib/pymongo/view.py
View file @
b06f2526
...
...
@@ -288,7 +288,7 @@ class ModelView(BaseModelView):
else
:
self
.
after_model_change
(
form
,
model
,
True
)
return
True
return
model
def
update_model
(
self
,
form
,
model
):
"""
...
...
flask_admin/contrib/sqla/view.py
View file @
b06f2526
...
...
@@ -894,7 +894,7 @@ class ModelView(BaseModelView):
else
:
self
.
after_model_change
(
form
,
model
,
True
)
return
True
return
model
def
update_model
(
self
,
form
,
model
):
"""
...
...
flask_admin/model/base.py
View file @
b06f2526
...
...
@@ -1243,7 +1243,7 @@ class BaseModelView(BaseView, ActionsMixin):
"""
Create model from the form.
Returns
`True`
if operation succeeded.
Returns
the model instance
if operation succeeded.
Must be implemented in the child class.
...
...
@@ -1550,12 +1550,20 @@ class BaseModelView(BaseView, ActionsMixin):
self
.
_validate_form_instance
(
ruleset
=
self
.
_form_create_rules
,
form
=
form
)
if
self
.
validate_form
(
form
):
if
self
.
create_model
(
form
):
# in versions 1.1.0 and before, this returns a boolean
# in later versions, this is the model itself
model
=
self
.
create_model
(
form
)
if
model
:
flash
(
gettext
(
'Record was successfully created.'
))
if
'_add_another'
in
request
.
form
:
return
redirect
(
request
.
url
)
else
:
return
redirect
(
return_url
)
# if we have a valid model, try to go to the edit view
if
model
is
not
True
:
url
=
self
.
get_url
(
'.edit_view'
,
id
=
self
.
get_pk_value
(
model
),
url
=
return_url
)
else
:
url
=
return_url
return
redirect
(
url
)
form_opts
=
FormOpts
(
widget_args
=
self
.
form_widget_args
,
form_rules
=
self
.
_form_create_rules
)
...
...
flask_admin/tests/sqla/test_basic.py
View file @
b06f2526
from
nose.tools
import
eq_
,
ok_
,
raises
from
nose.tools
import
eq_
,
ok_
,
raises
,
assert_true
from
wtforms
import
fields
...
...
@@ -1669,10 +1669,14 @@ def test_safe_redirect():
data
=
dict
(
test1
=
'test1large'
,
test2
=
'test2'
))
eq_
(
rv
.
status_code
,
302
)
eq_
(
rv
.
location
,
'http://localhost/admin/model2view/'
)
assert_true
(
rv
.
location
.
startswith
(
'http://localhost/admin/model1/edit/'
))
assert_true
(
'url=http
%3
A
%2
F
%2
Flocalhost
%2
Fadmin
%2
Fmodel2view
%2
F'
in
rv
.
location
)
assert_true
(
'id=1'
in
rv
.
location
)
rv
=
client
.
post
(
'/admin/model1/new/?url=http://google.com/evil/'
,
data
=
dict
(
test1
=
'test1large'
,
test2
=
'test2'
))
eq_
(
rv
.
status_code
,
302
)
eq_
(
rv
.
location
,
'http://localhost/admin/model1/'
)
assert_true
(
rv
.
location
.
startswith
(
'http://localhost/admin/model1/edit/'
))
assert_true
(
'url=
%2
Fadmin
%2
Fmodel1
%2
F'
in
rv
.
location
)
assert_true
(
'id=2'
in
rv
.
location
)
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