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 django.views.generic import View
from rest_framework.generics import GenericAPIView from rest_framework.generics import GenericAPIView
from common.djangoapps.track import segment
from common.djangoapps.edxmako.shortcuts import render_to_response from common.djangoapps.edxmako.shortcuts import render_to_response
from common.djangoapps.student.models import UserPasswordToggleHistory from common.djangoapps.student.models import UserPasswordToggleHistory
from common.djangoapps.util.json_request import JsonResponse 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 user=user, comment=comment, created_by=request.user, disabled=True
) )
retire_dot_oauth2_models(user) retire_dot_oauth2_models(user)
segment.identify(user.id, {'is_disabled': 'true'})
else: else:
user.set_password(generate_password(length=25)) user.set_password(generate_password(length=25))
UserPasswordToggleHistory.objects.create( UserPasswordToggleHistory.objects.create(
user=user, comment=comment, created_by=request.user, disabled=False user=user, comment=comment, created_by=request.user, disabled=False
) )
segment.identify(user.id, {'is_disabled': 'false'})
user.save() user.save()
if user.has_usable_password(): 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 import ArticleRevision
from wiki.models.pluginbase import RevisionPluginRevision from wiki.models.pluginbase import RevisionPluginRevision
from common.djangoapps.track import segment
from common.djangoapps.entitlements.models import CourseEntitlement from common.djangoapps.entitlements.models import CourseEntitlement
from common.djangoapps.student.models import ( # lint-amnesty, pylint: disable=unused-import from common.djangoapps.student.models import ( # lint-amnesty, pylint: disable=unused-import
CourseEnrollmentAllowed, CourseEnrollmentAllowed,
@@ -510,7 +511,9 @@ class AccountDeactivationView(APIView):
Marks the user as having no password set for deactivation purposes. 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]) return Response(get_account_settings(request, [username])[0])