Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
X
xblock-drag-and-drop-v2
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
OpenEdx
xblock-drag-and-drop-v2
Commits
f0215eec
Commit
f0215eec
authored
Aug 20, 2014
by
dragonfi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Refactor: extract check for finished state
parent
239bfcd1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
9 additions
and
5 deletions
+9
-5
drag_and_drop_v2/drag_and_drop_v2.py
+9
-5
No files found.
drag_and_drop_v2/drag_and_drop_v2.py
View file @
f0215eec
...
@@ -147,13 +147,12 @@ class DragAndDropBlock(XBlock):
...
@@ -147,13 +147,12 @@ class DragAndDropBlock(XBlock):
del
item
[
'feedback'
]
del
item
[
'feedback'
]
del
item
[
'zone'
]
del
item
[
'zone'
]
tot_items
=
sum
(
1
for
i
in
self
.
data
[
'items'
]
if
i
[
'zone'
]
!=
'none'
)
if
not
self
.
_is_finished
():
if
len
(
self
.
item_state
)
!=
tot_items
:
del
data
[
'feedback'
][
'finish'
]
del
data
[
'feedback'
][
'finish'
]
data
[
'state'
]
=
{
data
[
'state'
]
=
{
'items'
:
self
.
item_state
,
'items'
:
self
.
item_state
,
'finished'
:
len
(
self
.
item_state
)
==
tot_items
'finished'
:
self
.
_is_finished
()
}
}
return
webob
.
response
.
Response
(
body
=
json
.
dumps
(
data
))
return
webob
.
response
.
Response
(
body
=
json
.
dumps
(
data
))
...
@@ -171,7 +170,7 @@ class DragAndDropBlock(XBlock):
...
@@ -171,7 +170,7 @@ class DragAndDropBlock(XBlock):
is_correct
=
True
is_correct
=
True
if
len
(
self
.
item_state
)
==
tot_items
:
if
self
.
_is_finished
()
:
final_feedback
=
self
.
data
[
'feedback'
][
'finish'
]
final_feedback
=
self
.
data
[
'feedback'
][
'finish'
]
try
:
try
:
...
@@ -192,11 +191,16 @@ class DragAndDropBlock(XBlock):
...
@@ -192,11 +191,16 @@ class DragAndDropBlock(XBlock):
return
{
return
{
'correct'
:
is_correct
,
'correct'
:
is_correct
,
'finished'
:
len
(
self
.
item_state
)
==
tot_items
,
'finished'
:
self
.
_is_finished
()
,
'final_feedback'
:
final_feedback
,
'final_feedback'
:
final_feedback
,
'feedback'
:
item
[
'feedback'
][
'correct'
]
if
is_correct
else
item
[
'feedback'
][
'incorrect'
]
'feedback'
:
item
[
'feedback'
][
'correct'
]
if
is_correct
else
item
[
'feedback'
][
'incorrect'
]
}
}
def
_is_finished
(
self
):
"""All items are at their correct place"""
tot_items
=
sum
(
1
for
i
in
self
.
data
[
'items'
]
if
i
[
'zone'
]
!=
'none'
)
return
len
(
self
.
item_state
)
==
tot_items
@XBlock.json_handler
@XBlock.json_handler
def
publish_event
(
self
,
data
,
suffix
=
''
):
def
publish_event
(
self
,
data
,
suffix
=
''
):
try
:
try
:
...
...
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