MST-418 retire program_enrollments external_user_key with hashed values instead of setting it to null (#25001)

This commit is contained in:
Simon Chen
2020-09-16 21:40:00 -04:00
committed by GitHub
parent d0afacb5a4
commit 681eea44f7
6 changed files with 29 additions and 13 deletions

View File

@@ -3,7 +3,7 @@
Django model specifications for the Program Enrollments API
"""
from django.conf import settings
from django.contrib.auth.models import User
from django.core.exceptions import ValidationError
from django.db import models
@@ -11,6 +11,7 @@ from django.utils.translation import ugettext_lazy as _
from model_utils.models import TimeStampedModel
from opaque_keys.edx.django.models import CourseKeyField
from simple_history.models import HistoricalRecords
from user_util import user_util
from student.models import CourseEnrollment
@@ -70,9 +71,14 @@ class ProgramEnrollment(TimeStampedModel):
return False
for enrollment in enrollments:
enrollment.historical_records.update(external_user_key=None)
retired_external_key = user_util.get_retired_external_key(
enrollment.external_user_key,
settings.RETIRED_USER_SALTS,
)
enrollment.historical_records.update(external_user_key=retired_external_key)
enrollment.external_user_key = retired_external_key
enrollment.save()
enrollments.update(external_user_key=None)
return True
def __str__(self):