EDUCATOR-4670 - pr 1 - remove usage of persistsubsectionoride history

remove unused param
This commit is contained in:
atesker
2019-09-23 08:32:16 -04:00
parent 41c392493b
commit 47d32f0ef5
5 changed files with 3 additions and 106 deletions

View File

@@ -110,7 +110,7 @@ def undo_override_subsection_grade(user_id, course_key_or_id, usage_key_or_id, f
if override is not None and (
not feature or not override.system or feature == override.system):
override.delete(feature=feature)
override.delete()
else:
return

View File

@@ -686,9 +686,6 @@ class PersistentSubsectionGradeOverride(models.Model):
u"possible_graded_override: {}".format(self.possible_graded_override),
])
def get_history(self):
return PersistentSubsectionGradeOverrideHistory.get_override_history(self.id)
@classmethod
def prefetch(cls, user_id, course_key):
get_cache(cls._CACHE_NAMESPACE)[(user_id, str(course_key))] = {
@@ -718,8 +715,7 @@ class PersistentSubsectionGradeOverride(models.Model):
"""
Creates or updates an override object for the given PersistentSubsectionGrade.
Args:
requesting_user: The user that is creating the override (so we can record this action in
a PersistentSubsectionGradeOverrideHistory record).
requesting_user: The user that is creating the override.
subsection_grade_model: The PersistentSubsectionGrade object associated with this override.
override_data: The parameters of score values used to create the override record.
"""
@@ -742,14 +738,6 @@ class PersistentSubsectionGradeOverride(models.Model):
override_history_entry.history_user = requesting_user
override_history_entry.save()
action = action or PersistentSubsectionGradeOverrideHistory.CREATE_OR_UPDATE
PersistentSubsectionGradeOverrideHistory.objects.create(
override_id=override.id,
user=requesting_user,
feature=feature,
action=action,
)
return override
@staticmethod
@@ -773,68 +761,3 @@ class PersistentSubsectionGradeOverride(models.Model):
getattr(subsection_grade_model, field_name)
)
return cleaned_data
def delete(self, **kwargs): # pylint: disable=arguments-differ
# TODO: a proper history table
PersistentSubsectionGradeOverrideHistory.objects.create(
override_id=self.id,
feature=kwargs.pop('feature', ''),
action=PersistentSubsectionGradeOverrideHistory.DELETE
)
super(PersistentSubsectionGradeOverride, self).delete(**kwargs)
class PersistentSubsectionGradeOverrideHistory(models.Model):
"""
A django model tracking persistent grades override audit records.
.. no_pii:
"""
OVERRIDE_FEATURES = (
(constants.GradeOverrideFeatureEnum.proctoring, 'proctoring'),
(constants.GradeOverrideFeatureEnum.gradebook, 'gradebook'),
)
CREATE_OR_UPDATE = 'CREATEORUPDATE'
DELETE = 'DELETE'
OVERRIDE_ACTIONS = (
(CREATE_OR_UPDATE, 'create_or_update'),
(DELETE, 'delete')
)
class Meta(object):
app_label = "grades"
override_id = models.IntegerField(db_index=True)
feature = models.CharField(
max_length=32,
choices=OVERRIDE_FEATURES,
default=constants.GradeOverrideFeatureEnum.proctoring,
)
action = models.CharField(
max_length=32,
choices=OVERRIDE_ACTIONS,
default=CREATE_OR_UPDATE
)
user = models.ForeignKey(User, blank=True, null=True)
comments = models.CharField(max_length=300, blank=True, null=True)
created = models.DateTimeField(auto_now_add=True, db_index=True)
def __unicode__(self):
"""
String representation of this model.
"""
return (
u"{} override_id: {}, user_id: {}, feature: {}, action: {}, created: {}"
).format(
type(self).__name__,
self.override_id,
self.user,
self.feature,
self.action,
self.created
)
@classmethod
def get_override_history(cls, override_id):
return cls.objects.filter(override_id=override_id)

View File

@@ -29,7 +29,6 @@ from lms.djangoapps.grades.models import (
BlockRecordList,
PersistentSubsectionGrade,
PersistentSubsectionGradeOverride,
PersistentSubsectionGradeOverrideHistory,
PersistentCourseGrade,
)
from lms.djangoapps.grades.rest_api.v1.tests.mixins import GradeViewTestMixin
@@ -1581,14 +1580,6 @@ class GradebookBulkUpdateViewTest(GradebookViewTestBase):
expected_value = getattr(expected_grades, field_name)
self.assertEqual(expected_value, getattr(grade, field_name))
update_records = PersistentSubsectionGradeOverrideHistory.objects.filter(user=request_user)
self.assertEqual(update_records.count(), 3)
for audit_item in update_records:
self.assertEqual(audit_item.user, request_user)
self.assertIsNotNone(audit_item.created)
self.assertEqual(audit_item.feature, GradeOverrideFeatureEnum.gradebook)
self.assertEqual(audit_item.action, PersistentSubsectionGradeOverrideHistory.CREATE_OR_UPDATE)
def test_update_failing_grade(self):
"""
Test that when we update a user's grade to failing, their certificate is marked notpassing

View File

@@ -28,7 +28,6 @@ from lms.djangoapps.grades.models import (
PersistentCourseGrade,
PersistentSubsectionGrade,
PersistentSubsectionGradeOverride,
PersistentSubsectionGradeOverrideHistory,
VisibleBlocks
)
from student.tests.factories import UserFactory
@@ -327,9 +326,6 @@ class PersistentSubsectionGradeTest(GradesModelTestCase):
self.assertEqual(grade.possible_all, override.possible_all_override)
self.assertEqual(grade.possible_graded, override.possible_graded_override)
# An override history record should be created
self.assertEqual(1, PersistentSubsectionGradeOverrideHistory.objects.filter(override_id=override.id).count())
def _assert_tracker_emitted_event(self, tracker_mock, grade):
"""
Helper function to ensure that the mocked event tracker

View File

@@ -14,8 +14,7 @@ from mock import call, patch
from lms.djangoapps.grades.constants import GradeOverrideFeatureEnum
from lms.djangoapps.grades.models import (
PersistentSubsectionGrade,
PersistentSubsectionGradeOverride,
PersistentSubsectionGradeOverrideHistory
PersistentSubsectionGradeOverride
)
from lms.djangoapps.grades.services import GradesService
from student.tests.factories import UserFactory
@@ -148,12 +147,6 @@ class GradesServiceTests(ModuleStoreTestCase):
'earned_graded_override': override.earned_graded_override
})
def _verify_override_history(self, override_history, history_action):
self.assertIsNone(override_history.user)
self.assertIsNotNone(override_history.created)
self.assertEqual(override_history.feature, GradeOverrideFeatureEnum.proctoring)
self.assertEqual(override_history.action, history_action)
@ddt.data(
{
'earned_all': 0.0,
@@ -203,8 +196,6 @@ class GradesServiceTests(ModuleStoreTestCase):
score_db_table=ScoreDatabaseTableEnum.overrides
)
)
override_history = PersistentSubsectionGradeOverrideHistory.objects.filter(override_id=override_obj.id).first()
self._verify_override_history(override_history, PersistentSubsectionGradeOverrideHistory.CREATE_OR_UPDATE)
def test_override_subsection_grade_no_psg(self):
"""
@@ -254,8 +245,6 @@ class GradesServiceTests(ModuleStoreTestCase):
score_db_table=ScoreDatabaseTableEnum.overrides
)
)
override_history = PersistentSubsectionGradeOverrideHistory.objects.filter(override_id=override_obj.id).first()
self._verify_override_history(override_history, PersistentSubsectionGradeOverrideHistory.CREATE_OR_UPDATE)
@freeze_time('2017-01-01')
def test_undo_override_subsection_grade(self):
@@ -286,8 +275,6 @@ class GradesServiceTests(ModuleStoreTestCase):
score_db_table=ScoreDatabaseTableEnum.overrides
)
)
override_history = PersistentSubsectionGradeOverrideHistory.objects.filter(override_id=override_id).first()
self._verify_override_history(override_history, PersistentSubsectionGradeOverrideHistory.DELETE)
def test_undo_override_subsection_grade_across_features(self):
"""