feat: update user segment attribute is_disabled when user is disabled/enabled (#36681)

This commit is contained in:
Eemaan Amir
2025-05-09 19:35:16 +05:00
committed by GitHub
parent 8758007e9b
commit 841efcc9fb
2 changed files with 7 additions and 1 deletions

View File

@@ -11,6 +11,7 @@ from django.utils.translation import gettext as _
from django.views.generic import View
from rest_framework.generics import GenericAPIView
from common.djangoapps.track import segment
from common.djangoapps.edxmako.shortcuts import render_to_response
from common.djangoapps.student.models import UserPasswordToggleHistory
from common.djangoapps.util.json_request import JsonResponse
@@ -76,11 +77,13 @@ class ManageUserDetailView(GenericAPIView):
user=user, comment=comment, created_by=request.user, disabled=True
)
retire_dot_oauth2_models(user)
segment.identify(user.id, {'is_disabled': 'true'})
else:
user.set_password(generate_password(length=25))
UserPasswordToggleHistory.objects.create(
user=user, comment=comment, created_by=request.user, disabled=False
)
segment.identify(user.id, {'is_disabled': 'false'})
user.save()
if user.has_usable_password():

View File

@@ -36,6 +36,7 @@ from rest_framework.viewsets import ViewSet
from wiki.models import ArticleRevision
from wiki.models.pluginbase import RevisionPluginRevision
from common.djangoapps.track import segment
from common.djangoapps.entitlements.models import CourseEntitlement
from common.djangoapps.student.models import ( # lint-amnesty, pylint: disable=unused-import
CourseEnrollmentAllowed,
@@ -510,7 +511,9 @@ class AccountDeactivationView(APIView):
Marks the user as having no password set for deactivation purposes.
"""
_set_unusable_password(User.objects.get(username=username))
user = User.objects.get(username=username)
segment.identify(user.id, {'is_disabled': 'true'})
_set_unusable_password(user)
return Response(get_account_settings(request, [username])[0])