Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
E
edx-platform
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
edx
edx-platform
Commits
31caba3a
Commit
31caba3a
authored
Dec 05, 2013
by
Giulio Gratta
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Removed ice.min.js and removed piping code
parent
80d54afd
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
4 additions
and
131 deletions
+4
-131
common/lib/xmodule/xmodule/combined_open_ended_module.py
+1
-9
common/lib/xmodule/xmodule/js/src/peergrading/ice.min.js
+0
-0
common/lib/xmodule/xmodule/js/src/peergrading/track_changes.coffee
+0
-65
common/lib/xmodule/xmodule/peer_grading_module.py
+0
-5
common/lib/xmodule/xmodule/tests/test_peer_grading.py
+0
-35
lms/templates/peer_grading/peer_grading_problem.html
+3
-17
No files found.
common/lib/xmodule/xmodule/combined_open_ended_module.py
View file @
31caba3a
...
@@ -251,14 +251,6 @@ class CombinedOpenEndedFields(object):
...
@@ -251,14 +251,6 @@ class CombinedOpenEndedFields(object):
default
=
False
,
default
=
False
,
scope
=
Scope
.
settings
scope
=
Scope
.
settings
)
)
track_changes
=
Boolean
(
display_name
=
"Peer Track Changes"
,
help
=
(
"EXPERIMENTAL FEATURE FOR PEER GRADING ONLY: "
"If set to 'True', peer graders will be able to make changes to the student "
"submission and those changes will be tracked and shown along with the graded feedback."
),
default
=
False
,
scope
=
Scope
.
settings
)
due
=
Date
(
due
=
Date
(
help
=
"Date that this problem is due by"
,
help
=
"Date that this problem is due by"
,
scope
=
Scope
.
settings
scope
=
Scope
.
settings
...
@@ -517,7 +509,7 @@ class CombinedOpenEndedDescriptor(CombinedOpenEndedFields, RawDescriptor):
...
@@ -517,7 +509,7 @@ class CombinedOpenEndedDescriptor(CombinedOpenEndedFields, RawDescriptor):
def
non_editable_metadata_fields
(
self
):
def
non_editable_metadata_fields
(
self
):
non_editable_fields
=
super
(
CombinedOpenEndedDescriptor
,
self
)
.
non_editable_metadata_fields
non_editable_fields
=
super
(
CombinedOpenEndedDescriptor
,
self
)
.
non_editable_metadata_fields
non_editable_fields
.
extend
([
CombinedOpenEndedDescriptor
.
due
,
CombinedOpenEndedDescriptor
.
graceperiod
,
non_editable_fields
.
extend
([
CombinedOpenEndedDescriptor
.
due
,
CombinedOpenEndedDescriptor
.
graceperiod
,
CombinedOpenEndedDescriptor
.
markdown
,
CombinedOpenEndedDescriptor
.
version
,
CombinedOpenEndedDescriptor
.
track_changes
])
CombinedOpenEndedDescriptor
.
markdown
,
CombinedOpenEndedDescriptor
.
version
])
return
non_editable_fields
return
non_editable_fields
# Proxy to CombinedOpenEndedModule so that external callers don't have to know if they're working
# Proxy to CombinedOpenEndedModule so that external callers don't have to know if they're working
...
...
common/lib/xmodule/xmodule/js/src/peergrading/ice.min.js
deleted
100644 → 0
View file @
80d54afd
This diff is collapsed.
Click to expand it.
common/lib/xmodule/xmodule/js/src/peergrading/track_changes.coffee
deleted
100644 → 0
View file @
80d54afd
class
@
TrackChanges
reset_button_sel
:
'.reset-changes'
undo_button_sel
:
'.undo-change'
tracked_changes_sel
:
'.track-changes span.del, .track-changes span.ins'
tracked_feedback_sel
:
'.feedback-area.track-changes'
submit_button_sel
:
'.submit-button'
tracker
:
null
constructor
:
(
element
)
->
@
el
=
element
@
reset_button
=
@
$
(
@
reset_button_sel
)
@
undo_button
=
@
$
(
@
undo_button_sel
)
@
submit_button
=
@
$
(
@
submit_button_sel
)
@
tracked_changes
=
@
$
(
@
tracked_changes_sel
)
@
tracked_feedback
=
@
$
(
@
tracked_feedback_sel
)
@
reset_button
.
click
@
reset_changes
@
undo_button
.
click
@
undo_change
@
submit_button
.
click
@
stop_tracking_on_submit
rebindTracker
:
()
=>
if
@
tracker
?
@
tracker
.
stopTracking
()
delete
@
tracker
@
tracker
=
new
ice
.
InlineChangeEditor
({
element
:
@
tracked_feedback
[
0
],
#return DOM element from selector
handleEvents
:
true
,
currentUser
:
{
id
:
1
,
name
:
'Peer Feedback'
},
#hardcoded current user
# optional plugins
plugins
:
[
# Track content that is cut and pasted
{
name
:
'IceCopyPastePlugin'
,
settings
:
{
# List of tags and attributes to preserve when cleaning a paste
preserve
:
'p,a[href],span[id,class],em,strong'
}
}
]
})
@
tracker
.
startTracking
()
# locally scoped jquery. (scoped to the element)
$
:
(
selector
)
->
$
(
selector
,
@
el
)
reset_changes
:
(
event
)
=>
event
.
preventDefault
()
if
confirm
"Are you sure you want to reset your changes?"
@
tracker
.
rejectAll
()
undo_change
:
(
event
)
=>
event
.
preventDefault
()
keyOfLatestChange
=
0
@
tracked_changes
=
@
$
(
@
tracked_changes_sel
)
@
tracked_changes
.
each
->
key
=
$
(
@
).
data
(
'cid'
)
if
key
>
keyOfLatestChange
keyOfLatestChange
=
key
@
tracker
.
rejectChange
(
'[data-cid="'
+
keyOfLatestChange
+
'"]'
)
stop_tracking_on_submit
:
()
=>
@
tracker
.
stopTracking
()
\ No newline at end of file
common/lib/xmodule/xmodule/peer_grading_module.py
View file @
31caba3a
...
@@ -96,13 +96,9 @@ class PeerGradingModule(PeerGradingFields, XModule):
...
@@ -96,13 +96,9 @@ class PeerGradingModule(PeerGradingFields, XModule):
_VERSION
=
1
_VERSION
=
1
js
=
{
js
=
{
'js'
:
[
resource_string
(
__name__
,
'js/src/peergrading/ice.min.js'
),
],
'coffee'
:
[
'coffee'
:
[
resource_string
(
__name__
,
'js/src/peergrading/peer_grading.coffee'
),
resource_string
(
__name__
,
'js/src/peergrading/peer_grading.coffee'
),
resource_string
(
__name__
,
'js/src/peergrading/peer_grading_problem.coffee'
),
resource_string
(
__name__
,
'js/src/peergrading/peer_grading_problem.coffee'
),
resource_string
(
__name__
,
'js/src/peergrading/track_changes.coffee'
),
resource_string
(
__name__
,
'js/src/collapsible.coffee'
),
resource_string
(
__name__
,
'js/src/collapsible.coffee'
),
resource_string
(
__name__
,
'js/src/javascript_loader.coffee'
),
resource_string
(
__name__
,
'js/src/javascript_loader.coffee'
),
]
]
...
@@ -624,7 +620,6 @@ class PeerGradingModule(PeerGradingFields, XModule):
...
@@ -624,7 +620,6 @@ class PeerGradingModule(PeerGradingFields, XModule):
'ajax_url'
:
ajax_url
,
'ajax_url'
:
ajax_url
,
# Checked above
# Checked above
'staff_access'
:
False
,
'staff_access'
:
False
,
'track_changes'
:
getattr
(
module
,
'track_changes'
,
False
),
'use_single_location'
:
self
.
use_for_single_location_local
,
'use_single_location'
:
self
.
use_for_single_location_local
,
})
})
...
...
common/lib/xmodule/xmodule/tests/test_peer_grading.py
View file @
31caba3a
...
@@ -382,38 +382,3 @@ class PeerGradingModuleLinkedTest(unittest.TestCase, DummyModulestore):
...
@@ -382,38 +382,3 @@ class PeerGradingModuleLinkedTest(unittest.TestCase, DummyModulestore):
data
=
peer_grading
.
handle_ajax
(
'get_next_submission'
,
{
'location'
:
self
.
coe_location
})
data
=
peer_grading
.
handle_ajax
(
'get_next_submission'
,
{
'location'
:
self
.
coe_location
})
self
.
assertEqual
(
json
.
loads
(
data
)[
'submission_id'
],
1
)
self
.
assertEqual
(
json
.
loads
(
data
)[
'submission_id'
],
1
)
class
PeerGradingModuleTrackChangesTest
(
unittest
.
TestCase
,
DummyModulestore
):
"""
Test peer grading with the track changes modification
"""
class
MockedTrackChangesProblem
(
object
):
track_changes
=
True
mock_track_changes_problem
=
Mock
(
side_effect
=
[
MockedTrackChangesProblem
()])
pgm_location
=
Location
([
"i4x"
,
"edX"
,
"open_ended"
,
"peergrading"
,
"PeerGradingSample"
])
def
get_module_system
(
self
,
descriptor
):
test_system
=
get_test_system
()
test_system
.
open_ended_grading_interface
=
None
return
test_system
def
setUp
(
self
):
"""
Create a peer grading module from a test system
@return:
"""
self
.
setup_modulestore
(
COURSE
)
self
.
peer_grading
=
self
.
get_module_from_location
(
self
.
pgm_location
,
COURSE
)
def
test_tracking_peer_eval_problem
(
self
):
"""
Tests rendering of peer eval problem with track changes set. With the test_system render_template
this test becomes a bit tautological, but oh well.
@return:
"""
self
.
peer_grading
.
_find_corresponding_module_for_location
=
self
.
mock_track_changes_problem
response
=
self
.
peer_grading
.
peer_grading_problem
({
'location'
:
'i4x://mock_org/mock_course/mock_cat/mock_name'
})
self
.
assertTrue
(
response
[
'success'
])
self
.
assertIn
(
"'track_changes': True"
,
response
[
'html'
])
lms/templates/peer_grading/peer_grading_problem.html
View file @
31caba3a
...
@@ -26,7 +26,7 @@
...
@@ -26,7 +26,7 @@
</section>
</section>
</div>
</div>
</div>
</div>
<section
class=
"grading-wrapper"
data-track-changes=
"${'true' if track_changes else 'false'}"
>
<section
class=
"grading-wrapper"
>
<div
class=
"grading-message"
>
<div
class=
"grading-message"
>
</div>
</div>
<h2>
${_("Student Response")}
</h2>
<h2>
${_("Student Response")}
</h2>
...
@@ -48,22 +48,8 @@
...
@@ -48,22 +48,8 @@
</div>
</div>
<br
/>
<br
/>
<h3>
${_("Written Feedback")}
</h3>
<h3>
${_("Written Feedback")}
</h3>
% if track_changes:
<p
class=
"ora-instructions"
>
${_("Please include some written feedback as well.")}
</p>
<p
class=
"peer-grading-instructions"
>
${_("Please edit your peer's submission and give them written comments below.")}
</p>
<textarea
name=
"feedback"
placeholder=
"Feedback for student"
class=
"feedback-area"
cols=
"70"
></textarea>
<p
class=
"ice-legend"
>
<span
class=
"ins"
>
${_("This is an insertion.")}
</span>
<span
class=
"del"
>
${_("This is a deletion.")}
</span>
<span
class=
"ins"
>
${_("[This is a comment.]")}
</span>
<span
class=
"ice-controls"
>
<a
href=
"#"
class=
"undo-change"
><i
class=
"icon-undo"
></i>
Undo Change
</a>
<a
href=
"#"
class=
"reset-changes"
><i
class=
"icon-refresh"
></i>
Reset Changes
</a>
</span>
</p>
<div
name=
"feedback"
class=
"feedback-area track-changes"
contenteditable=
"true"
></div>
% else:
<p
class=
"ora-instructions"
>
${_("Please include some written feedback as well.")}
</p>
<textarea
name=
"feedback"
placeholder=
"Feedback for student"
class=
"feedback-area"
cols=
"70"
></textarea>
% endif
<div
class=
"flag-student-container"
>
<div
class=
"flag-student-container"
>
<br
/>
<br
/>
<input
type=
"checkbox"
class=
"flag-checkbox"
value=
"student_is_flagged"
>
<input
type=
"checkbox"
class=
"flag-checkbox"
value=
"student_is_flagged"
>
...
...
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