EDUCATOR-3030 donot submit completion for grader's response while updating problem score.

This commit is contained in:
rabiaiftikhar
2018-08-24 23:31:02 +05:00
parent fe5279ed5c
commit 72cba77bbb
9 changed files with 37 additions and 31 deletions

View File

@@ -952,7 +952,7 @@ class CapaMixin(ScorableXBlockMixin, CapaFields):
self.lcp.update_score(score_msg, queuekey)
self.set_state_from_lcp()
self.set_score(self.score_from_lcp())
self.publish_grade()
self.publish_grade(grader_response=True)
return dict() # No AJAX return is needed
@@ -1131,21 +1131,21 @@ class CapaMixin(ScorableXBlockMixin, CapaFields):
return answers
def publish_grade(self, score=None, only_if_higher=None):
def publish_grade(self, score=None, only_if_higher=None, **kwargs):
"""
Publishes the student's current grade to the system as an event
"""
if not score:
score = self.score
self.runtime.publish(
self,
'grade',
{
'value': score.raw_earned,
'max_value': score.raw_possible,
'only_if_higher': only_if_higher,
}
)
event = {
'value': score.raw_earned,
'max_value': score.raw_possible,
'only_if_higher': only_if_higher,
}
if kwargs.get('grader_response'):
event['grader_response'] = kwargs['grader_response']
self.runtime.publish(self, 'grade', event)
return {'grade': self.score.raw_earned, 'max_grade': self.score.raw_possible}

View File

@@ -539,6 +539,7 @@ def get_module_system_for_user(
raw_possible=event['max_value'],
only_if_higher=event.get('only_if_higher'),
score_deleted=event.get('score_deleted'),
grader_response=event.get('grader_response')
)
def handle_deprecated_progress_event(block, event):

View File

@@ -2018,6 +2018,7 @@ class TestXmoduleRuntimeEvent(TestSubmittingProblems):
'modified': datetime.now().replace(tzinfo=pytz.UTC),
'score_db_table': 'csm',
'score_deleted': None,
'grader_response': None
}
send_mock.assert_called_with(**expected_signal_kwargs)

View File

@@ -172,6 +172,7 @@ def score_published_handler(sender, block, user, raw_earned, raw_possible, only_
modified=score_modified_time,
score_db_table=ScoreDatabaseTableEnum.courseware_student_module,
score_deleted=kwargs.get('score_deleted', False),
grader_response=kwargs.get('grader_response', False)
)
return update_score
@@ -202,6 +203,7 @@ def problem_raw_score_changed_handler(sender, **kwargs): # pylint: disable=unus
score_deleted=kwargs.get('score_deleted', False),
modified=kwargs['modified'],
score_db_table=kwargs['score_db_table'],
grader_response=kwargs.get('grader_response', False)
)

View File

@@ -63,6 +63,7 @@ PROBLEM_RAW_SCORE_CHANGED_KWARGS = {
'score_deleted': True,
'modified': FROZEN_NOW_TIMESTAMP,
'score_db_table': ScoreDatabaseTableEnum.courseware_student_module,
'grader_response': None
}
PROBLEM_WEIGHTED_SCORE_CHANGED_KWARGS = {
@@ -76,6 +77,7 @@ PROBLEM_WEIGHTED_SCORE_CHANGED_KWARGS = {
'score_deleted': True,
'modified': FROZEN_NOW_TIMESTAMP,
'score_db_table': ScoreDatabaseTableEnum.courseware_student_module,
'grader_response': None
}

View File

@@ -111,11 +111,11 @@ edx-ace==0.1.9
edx-analytics-data-api-client==0.14.4
edx-ccx-keys==0.2.1
edx-celeryutils==0.2.7
edx-completion==0.1.8
edx-completion==0.1.9
edx-django-oauth2-provider==1.3.4
edx-django-release-util==0.3.1
edx-django-sites-extensions==2.3.1
edx-django-utils==0.5.1
edx-django-utils==1.0.0
edx-drf-extensions==1.6.2
edx-enterprise==0.73.0
edx-i18n-tools==0.4.6
@@ -234,7 +234,7 @@ uritemplate==3.0.0 # via coreapi
urllib3==1.23 # via elasticsearch
user-util==0.1.5
voluptuous==0.11.5
watchdog==0.8.3
watchdog==0.9.0
web-fragments==0.2.2
webob==1.8.2 # via xblock
wrapt==1.10.5

View File

@@ -53,7 +53,7 @@ argh==0.26.2
argparse==1.4.0
asn1crypto==0.24.0
astroid==1.5.2
atomicwrites==1.1.5
atomicwrites==1.2.0
attrs==17.4.0
babel==1.3
backports.functools-lru-cache==1.5
@@ -130,11 +130,11 @@ edx-ace==0.1.9
edx-analytics-data-api-client==0.14.4
edx-ccx-keys==0.2.1
edx-celeryutils==0.2.7
edx-completion==0.1.8
edx-completion==0.1.9
edx-django-oauth2-provider==1.3.4
edx-django-release-util==0.3.1
edx-django-sites-extensions==2.3.1
edx-django-utils==0.5.1
edx-django-utils==1.0.0
edx-drf-extensions==1.6.2
edx-enterprise==0.73.0
edx-i18n-tools==0.4.6
@@ -238,7 +238,7 @@ pluggy==0.6.0
polib==1.1.0
psutil==1.2.1
py2neo==3.1.2
py==1.5.4
py==1.6.0
pyasn1-modules==0.2.2
pyasn1==0.4.4
pycodestyle==2.3.1
@@ -269,7 +269,7 @@ pytest-cov==2.5.1
pytest-django==3.1.2
pytest-forked==0.2
pytest-randomly==1.2.3
pytest-xdist==1.22.5
pytest-xdist==1.23.0
pytest==3.6.3
python-dateutil==2.4.0
python-levenshtein==0.12.0
@@ -311,9 +311,9 @@ social-auth-app-django==2.1.0
social-auth-core==1.7.0
sorl-thumbnail==12.3
sortedcontainers==0.9.2
sphinx==1.7.7
sphinx==1.7.8
sphinxcontrib-websupport==1.1.0 # via sphinx
splinter==0.8.0
splinter==0.9.0
sqlparse==0.2.4 # via django-debug-toolbar
stevedore==1.10.0
sure==1.4.11
@@ -327,7 +327,7 @@ tox==3.2.1
traceback2==1.4.0
transifex-client==0.13.4
twisted==16.6.0
typing==3.6.4 # via sphinx
typing==3.6.6 # via sphinx
unicodecsv==0.14.1
unidecode==1.0.22
unittest2==1.1.0
@@ -339,7 +339,7 @@ virtualenv==16.0.0
voluptuous==0.11.5
vulture==0.29
w3lib==1.19.0
watchdog==0.8.3
watchdog==0.9.0
web-fragments==0.2.2
webob==1.8.2
werkzeug==0.14.1

View File

@@ -22,5 +22,5 @@ pyyaml==3.13 # via watchdog
requests==2.9.1
six==1.11.0 # via edx-opaque-keys, libsass, paver, stevedore
stevedore==1.10.0
watchdog==0.8.3
watchdog==0.9.0
wrapt==1.10.5

View File

@@ -50,7 +50,7 @@ argh==0.26.2
argparse==1.4.0
asn1crypto==0.24.0
astroid==1.5.2 # via edx-lint, pylint, pylint-celery
atomicwrites==1.1.5 # via pytest
atomicwrites==1.2.0 # via pytest
attrs==17.4.0
babel==1.3
backports.functools-lru-cache==1.5 # via astroid, pylint
@@ -125,11 +125,11 @@ edx-ace==0.1.9
edx-analytics-data-api-client==0.14.4
edx-ccx-keys==0.2.1
edx-celeryutils==0.2.7
edx-completion==0.1.8
edx-completion==0.1.9
edx-django-oauth2-provider==1.3.4
edx-django-release-util==0.3.1
edx-django-sites-extensions==2.3.1
edx-django-utils==0.5.1
edx-django-utils==1.0.0
edx-drf-extensions==1.6.2
edx-enterprise==0.73.0
edx-i18n-tools==0.4.6
@@ -227,7 +227,7 @@ pluggy==0.6.0 # via pytest, tox
polib==1.1.0
psutil==1.2.1
py2neo==3.1.2
py==1.5.4 # via pytest, tox
py==1.6.0 # via pytest, tox
pyasn1-modules==0.2.2 # via service-identity
pyasn1==0.4.4 # via pyasn1-modules, service-identity
pycodestyle==2.3.1
@@ -257,7 +257,7 @@ pytest-cov==2.5.1
pytest-django==3.1.2
pytest-forked==0.2 # via pytest-xdist
pytest-randomly==1.2.3
pytest-xdist==1.22.5
pytest-xdist==1.23.0
pytest==3.6.3
python-dateutil==2.4.0
python-levenshtein==0.12.0
@@ -297,7 +297,7 @@ social-auth-app-django==2.1.0
social-auth-core==1.7.0
sorl-thumbnail==12.3
sortedcontainers==0.9.2
splinter==0.8.0
splinter==0.9.0
stevedore==1.10.0
sure==1.4.11
sympy==0.7.1
@@ -320,7 +320,7 @@ user-util==0.1.5
virtualenv==16.0.0 # via tox
voluptuous==0.11.5
w3lib==1.19.0 # via parsel, scrapy
watchdog==0.8.3
watchdog==0.9.0
web-fragments==0.2.2
webob==1.8.2
werkzeug==0.14.1 # via flask