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
48510629
Commit
48510629
authored
Feb 03, 2015
by
Calen Pennington
Committed by
Will Daly
Feb 06, 2015
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Don't instantiate bogus modulestores just to get template rendering in old ORA
parent
aa404cac
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
24 additions
and
72 deletions
+24
-72
common/lib/xmodule/xmodule/open_ended_grading_classes/combined_open_ended_modulev1.py
+2
-2
common/lib/xmodule/xmodule/open_ended_grading_classes/combined_open_ended_rubric.py
+4
-4
common/lib/xmodule/xmodule/open_ended_grading_classes/controller_query_service.py
+3
-3
common/lib/xmodule/xmodule/open_ended_grading_classes/grading_service_module.py
+2
-2
common/lib/xmodule/xmodule/open_ended_grading_classes/open_ended_module.py
+1
-1
common/lib/xmodule/xmodule/open_ended_grading_classes/openendedchild.py
+2
-2
common/lib/xmodule/xmodule/open_ended_grading_classes/peer_grading_service.py
+2
-3
common/lib/xmodule/xmodule/open_ended_grading_classes/self_assessment_module.py
+1
-1
common/lib/xmodule/xmodule/peer_grading_module.py
+2
-2
lms/djangoapps/open_ended_grading/open_ended_notifications.py
+2
-25
lms/djangoapps/open_ended_grading/staff_grading_service.py
+1
-12
lms/djangoapps/open_ended_grading/tests.py
+1
-1
lms/djangoapps/open_ended_grading/utils.py
+1
-14
No files found.
common/lib/xmodule/xmodule/open_ended_grading_classes/combined_open_ended_modulev1.py
View file @
48510629
...
...
@@ -138,7 +138,7 @@ class CombinedOpenEndedV1Module():
self
.
skip_basic_checks
=
instance_state
.
get
(
'skip_spelling_checks'
,
SKIP_BASIC_CHECKS
)
in
TRUE_DICT
if
system
.
open_ended_grading_interface
:
self
.
peer_gs
=
PeerGradingService
(
system
.
open_ended_grading_interface
,
system
)
self
.
peer_gs
=
PeerGradingService
(
system
.
open_ended_grading_interface
,
system
.
render_template
)
else
:
self
.
peer_gs
=
MockPeerGradingService
()
...
...
@@ -159,7 +159,7 @@ class CombinedOpenEndedV1Module():
raise
self
.
display_due_date
=
self
.
timeinfo
.
display_due_date
self
.
rubric_renderer
=
CombinedOpenEndedRubric
(
system
,
True
)
self
.
rubric_renderer
=
CombinedOpenEndedRubric
(
system
.
render_template
,
True
)
rubric_string
=
stringify_children
(
definition
[
'rubric'
])
self
.
_max_score
=
self
.
rubric_renderer
.
check_if_rubric_is_parseable
(
rubric_string
,
location
,
MAX_SCORE_ALLOWED
)
...
...
common/lib/xmodule/xmodule/open_ended_grading_classes/combined_open_ended_rubric.py
View file @
48510629
...
...
@@ -40,10 +40,10 @@ class RubricParsingError(Exception):
class
CombinedOpenEndedRubric
(
object
):
TEMPLATE_DIR
=
"combinedopenended/openended"
def
__init__
(
self
,
system
,
view_only
=
False
):
def
__init__
(
self
,
render_template
,
view_only
=
False
):
self
.
has_score
=
False
self
.
view_only
=
view_only
self
.
system
=
system
self
.
render_template
=
render_template
def
render_rubric
(
self
,
rubric_xml
,
score_list
=
None
):
'''
...
...
@@ -70,7 +70,7 @@ class CombinedOpenEndedRubric(object):
rubric_template
=
'{0}/open_ended_rubric.html'
.
format
(
self
.
TEMPLATE_DIR
)
if
self
.
view_only
:
rubric_template
=
'{0}/open_ended_view_only_rubric.html'
.
format
(
self
.
TEMPLATE_DIR
)
html
=
self
.
system
.
render_template
(
html
=
self
.
render_template
(
rubric_template
,
{
'categories'
:
rubric_categories
,
...
...
@@ -254,7 +254,7 @@ class CombinedOpenEndedRubric(object):
else
:
correct
.
append
(
.
5
)
html
=
self
.
system
.
render_template
(
html
=
self
.
render_template
(
'{0}/open_ended_combined_rubric.html'
.
format
(
self
.
TEMPLATE_DIR
),
{
'categories'
:
rubric_categories
,
...
...
common/lib/xmodule/xmodule/open_ended_grading_classes/controller_query_service.py
View file @
48510629
...
...
@@ -13,8 +13,8 @@ class ControllerQueryService(GradingService):
METRIC_NAME
=
'edxapp.open_ended_grading.controller_query_service'
def
__init__
(
self
,
config
,
system
):
config
[
'
system'
]
=
system
def
__init__
(
self
,
config
,
render_template
):
config
[
'
render_template'
]
=
render_template
super
(
ControllerQueryService
,
self
)
.
__init__
(
config
)
self
.
url
=
config
[
'url'
]
+
config
[
'grading_controller'
]
self
.
login_url
=
self
.
url
+
'/login/'
...
...
@@ -105,7 +105,7 @@ class MockControllerQueryService(object):
Mock controller query service for testing
"""
def
__init__
(
self
,
config
,
system
):
def
__init__
(
self
,
config
,
render_template
):
pass
def
check_for_eta
(
self
,
*
args
,
**
kwargs
):
...
...
common/lib/xmodule/xmodule/open_ended_grading_classes/grading_service_module.py
View file @
48510629
...
...
@@ -27,7 +27,7 @@ class GradingService(object):
self
.
username
=
config
[
'username'
]
self
.
password
=
config
[
'password'
]
self
.
session
=
requests
.
Session
()
self
.
system
=
config
[
'system
'
]
self
.
render_template
=
config
[
'render_template
'
]
def
_login
(
self
):
"""
...
...
@@ -142,7 +142,7 @@ class GradingService(object):
try
:
if
'rubric'
in
response
:
rubric
=
response
[
'rubric'
]
rubric_renderer
=
CombinedOpenEndedRubric
(
self
.
system
,
view_only
)
rubric_renderer
=
CombinedOpenEndedRubric
(
self
.
render_template
,
view_only
)
rubric_dict
=
rubric_renderer
.
render_rubric
(
rubric
)
success
=
rubric_dict
[
'success'
]
rubric_html
=
rubric_dict
[
'html'
]
...
...
common/lib/xmodule/xmodule/open_ended_grading_classes/open_ended_module.py
View file @
48510629
...
...
@@ -484,7 +484,7 @@ class OpenEndedModule(openendedchild.OpenEndedChild):
feedback
=
self
.
_convert_longform_feedback_to_html
(
response_items
)
rubric_scores
=
[]
if
response_items
[
'rubric_scores_complete'
]
is
True
:
rubric_renderer
=
CombinedOpenEndedRubric
(
system
,
True
)
rubric_renderer
=
CombinedOpenEndedRubric
(
system
.
render_template
,
True
)
rubric_dict
=
rubric_renderer
.
render_rubric
(
response_items
[
'rubric_xml'
])
success
=
rubric_dict
[
'success'
]
rubric_feedback
=
rubric_dict
[
'html'
]
...
...
common/lib/xmodule/xmodule/open_ended_grading_classes/openendedchild.py
View file @
48510629
...
...
@@ -145,9 +145,9 @@ class OpenEndedChild(object):
# Used for progress / grading. Currently get credit just for
# completion (doesn't matter if you self-assessed correct/incorrect).
if
system
.
open_ended_grading_interface
:
self
.
peer_gs
=
PeerGradingService
(
system
.
open_ended_grading_interface
,
system
)
self
.
peer_gs
=
PeerGradingService
(
system
.
open_ended_grading_interface
,
system
.
render_template
)
self
.
controller_qs
=
controller_query_service
.
ControllerQueryService
(
system
.
open_ended_grading_interface
,
system
system
.
open_ended_grading_interface
,
system
.
render_template
)
else
:
self
.
peer_gs
=
MockPeerGradingService
()
...
...
common/lib/xmodule/xmodule/open_ended_grading_classes/peer_grading_service.py
View file @
48510629
...
...
@@ -14,8 +14,8 @@ class PeerGradingService(GradingService):
METRIC_NAME
=
'edxapp.open_ended_grading.peer_grading_service'
def
__init__
(
self
,
config
,
system
):
config
[
'
system'
]
=
system
def
__init__
(
self
,
config
,
render_template
):
config
[
'
render_template'
]
=
render_template
super
(
PeerGradingService
,
self
)
.
__init__
(
config
)
self
.
url
=
config
[
'url'
]
+
config
[
'peer_grading'
]
self
.
login_url
=
self
.
url
+
'/login/'
...
...
@@ -27,7 +27,6 @@ class PeerGradingService(GradingService):
self
.
get_problem_list_url
=
self
.
url
+
'/get_problem_list/'
self
.
get_notifications_url
=
self
.
url
+
'/get_notifications/'
self
.
get_data_for_location_url
=
self
.
url
+
'/get_data_for_location/'
self
.
system
=
system
def
get_data_for_location
(
self
,
problem_location
,
student_id
):
if
isinstance
(
problem_location
,
UsageKey
):
...
...
common/lib/xmodule/xmodule/open_ended_grading_classes/self_assessment_module.py
View file @
48510629
...
...
@@ -119,7 +119,7 @@ class SelfAssessmentModule(openendedchild.OpenEndedChild):
if
self
.
child_state
==
self
.
INITIAL
:
return
''
rubric_renderer
=
CombinedOpenEndedRubric
(
system
,
False
)
rubric_renderer
=
CombinedOpenEndedRubric
(
system
.
render_template
,
False
)
rubric_dict
=
rubric_renderer
.
render_rubric
(
self
.
child_rubric
)
success
=
rubric_dict
[
'success'
]
rubric_html
=
rubric_dict
[
'html'
]
...
...
common/lib/xmodule/xmodule/peer_grading_module.py
View file @
48510629
...
...
@@ -125,7 +125,7 @@ class PeerGradingModule(PeerGradingFields, XModule):
# We need to set the location here so the child modules can use it.
self
.
runtime
.
set
(
'location'
,
self
.
location
)
if
(
self
.
runtime
.
open_ended_grading_interface
):
self
.
peer_gs
=
PeerGradingService
(
self
.
system
.
open_ended_grading_interface
,
self
.
system
)
self
.
peer_gs
=
PeerGradingService
(
self
.
system
.
open_ended_grading_interface
,
self
.
system
.
render_template
)
else
:
self
.
peer_gs
=
MockPeerGradingService
()
...
...
@@ -497,7 +497,7 @@ class PeerGradingModule(PeerGradingFields, XModule):
try
:
response
=
self
.
peer_gs
.
save_calibration_essay
(
**
data_dict
)
if
'actual_rubric'
in
response
:
rubric_renderer
=
combined_open_ended_rubric
.
CombinedOpenEndedRubric
(
self
.
system
,
True
)
rubric_renderer
=
combined_open_ended_rubric
.
CombinedOpenEndedRubric
(
self
.
system
.
render_template
,
True
)
response
[
'actual_rubric'
]
=
rubric_renderer
.
render_rubric
(
response
[
'actual_rubric'
])[
'html'
]
return
response
except
GradingServiceError
:
...
...
lms/djangoapps/open_ended_grading/open_ended_notifications.py
View file @
48510629
...
...
@@ -10,7 +10,6 @@ from xmodule.open_ended_grading_classes.controller_query_service import Controll
from
xmodule.modulestore.django
import
ModuleI18nService
from
courseware.access
import
has_access
from
lms.djangoapps.lms_xblock.runtime
import
LmsModuleSystem
from
edxmako.shortcuts
import
render_to_string
from
student.models
import
unique_id_for_user
from
util.cache
import
cache
...
...
@@ -66,17 +65,7 @@ def staff_grading_notifications(course, user):
def
peer_grading_notifications
(
course
,
user
):
system
=
LmsModuleSystem
(
track_function
=
None
,
get_module
=
None
,
render_template
=
render_to_string
,
replace_urls
=
None
,
descriptor_runtime
=
None
,
services
=
{
'i18n'
:
ModuleI18nService
(),
},
)
peer_gs
=
peer_grading_service
.
PeerGradingService
(
settings
.
OPEN_ENDED_GRADING_INTERFACE
,
system
)
peer_gs
=
peer_grading_service
.
PeerGradingService
(
settings
.
OPEN_ENDED_GRADING_INTERFACE
,
render_to_string
)
pending_grading
=
False
img_path
=
""
course_id
=
course
.
id
...
...
@@ -128,20 +117,8 @@ def combined_notifications(course, user):
if
not
user
.
is_authenticated
():
return
notification_dict
#Define a mock modulesystem
system
=
LmsModuleSystem
(
static_url
=
"/static"
,
track_function
=
None
,
get_module
=
None
,
render_template
=
render_to_string
,
replace_urls
=
None
,
descriptor_runtime
=
None
,
services
=
{
'i18n'
:
ModuleI18nService
(),
},
)
#Initialize controller query service using our mock system
controller_qs
=
ControllerQueryService
(
settings
.
OPEN_ENDED_GRADING_INTERFACE
,
system
)
controller_qs
=
ControllerQueryService
(
settings
.
OPEN_ENDED_GRADING_INTERFACE
,
render_to_string
)
student_id
=
unique_id_for_user
(
user
)
user_is_staff
=
has_access
(
user
,
'staff'
,
course
)
course_id
=
course
.
id
...
...
lms/djangoapps/open_ended_grading/staff_grading_service.py
View file @
48510629
...
...
@@ -14,7 +14,6 @@ from xmodule.open_ended_grading_classes.grading_service_module import GradingSer
from
xmodule.modulestore.django
import
ModuleI18nService
from
courseware.access
import
has_access
from
lms.djangoapps.lms_xblock.runtime
import
LmsModuleSystem
from
edxmako.shortcuts
import
render_to_string
from
student.models
import
unique_id_for_user
...
...
@@ -90,17 +89,7 @@ class StaffGradingService(GradingService):
METRIC_NAME
=
'edxapp.open_ended_grading.staff_grading_service'
def
__init__
(
self
,
config
):
config
[
'system'
]
=
LmsModuleSystem
(
static_url
=
'/static'
,
track_function
=
None
,
get_module
=
None
,
render_template
=
render_to_string
,
replace_urls
=
None
,
descriptor_runtime
=
None
,
services
=
{
'i18n'
:
ModuleI18nService
(),
},
)
config
[
'render_template'
]
=
render_to_string
super
(
StaffGradingService
,
self
)
.
__init__
(
config
)
self
.
url
=
config
[
'url'
]
+
config
[
'staff_grading'
]
self
.
login_url
=
self
.
url
+
'/login/'
...
...
lms/djangoapps/open_ended_grading/tests.py
View file @
48510629
...
...
@@ -469,7 +469,7 @@ class TestPanel(ModuleStoreTestCase):
Mock
(
return_value
=
controller_query_service
.
MockControllerQueryService
(
settings
.
OPEN_ENDED_GRADING_INTERFACE
,
utils
.
SYSTEM
utils
.
render_to_string
)
)
)
...
...
lms/djangoapps/open_ended_grading/utils.py
View file @
48510629
...
...
@@ -9,7 +9,6 @@ from xmodule.open_ended_grading_classes.grading_service_module import GradingSer
from
django.utils.translation
import
ugettext
as
_
from
django.conf
import
settings
from
lms.djangoapps.lms_xblock.runtime
import
LmsModuleSystem
from
edxmako.shortcuts
import
render_to_string
...
...
@@ -26,18 +25,6 @@ GRADER_DISPLAY_NAMES = {
STUDENT_ERROR_MESSAGE
=
_
(
"Error occurred while contacting the grading service. Please notify course staff."
)
STAFF_ERROR_MESSAGE
=
_
(
"Error occurred while contacting the grading service. Please notify your edX point of contact."
)
SYSTEM
=
LmsModuleSystem
(
static_url
=
'/static'
,
track_function
=
None
,
get_module
=
None
,
render_template
=
render_to_string
,
replace_urls
=
None
,
descriptor_runtime
=
None
,
services
=
{
'i18n'
:
ModuleI18nService
(),
},
)
def
generate_problem_url
(
problem_url_parts
,
base_course_url
):
"""
...
...
@@ -85,7 +72,7 @@ def create_controller_query_service():
"""
Return an instance of a service that can query edX ORA.
"""
return
ControllerQueryService
(
settings
.
OPEN_ENDED_GRADING_INTERFACE
,
SYSTEM
)
return
ControllerQueryService
(
settings
.
OPEN_ENDED_GRADING_INTERFACE
,
render_to_string
)
class
StudentProblemList
(
object
):
...
...
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