def do_soft_deactivate_user(user_profile: UserProfile) -> None: user_profile.last_active_message_id = UserMessage.objects.filter( user_profile=user_profile).order_by('-message__id')[0].message_id user_profile.long_term_idle = True user_profile.save( update_fields=['long_term_idle', 'last_active_message_id']) logger.info('Soft Deactivated user %s (%s)' % (user_profile.id, user_profile.email))
def do_soft_deactivate_user(user_profile: UserProfile) -> None: user_profile.last_active_message_id = UserMessage.objects.filter( user_profile=user_profile).order_by( '-message__id')[0].message_id user_profile.long_term_idle = True user_profile.save(update_fields=[ 'long_term_idle', 'last_active_message_id']) logger.info('Soft Deactivated user %s (%s)' % (user_profile.id, user_profile.email))
def do_soft_deactivate_user(user_profile: UserProfile) -> None: try: user_profile.last_active_message_id = (UserMessage.objects.filter( user_profile=user_profile).order_by("-message_id")[0].message_id) except IndexError: # nocoverage # In the unlikely event that a user somehow has never received # a message, we just use the overall max message ID. user_profile.last_active_message_id = Message.objects.last().id user_profile.long_term_idle = True user_profile.save( update_fields=["long_term_idle", "last_active_message_id"]) logger.info("Soft deactivated user %s", user_profile.id)
def do_soft_deactivate_user(user_profile: UserProfile) -> None: try: user_profile.last_active_message_id = UserMessage.objects.filter( user_profile=user_profile).order_by('-message__id')[0].message_id except IndexError: # nocoverage # In the unlikely event that a user somehow has never received # a message, we just use the overall max message ID. user_profile.last_active_message_id = Message.objects.max().id user_profile.long_term_idle = True user_profile.save( update_fields=['long_term_idle', 'last_active_message_id']) logger.info('Soft Deactivated user %s' % (user_profile.id, ))
def reactivate_user_if_soft_deactivated( user_profile: UserProfile) -> Union[UserProfile, None]: if user_profile.long_term_idle: add_missing_messages(user_profile) user_profile.long_term_idle = False user_profile.save(update_fields=['long_term_idle']) RealmAuditLog.objects.create( realm=user_profile.realm, modified_user=user_profile, event_type=RealmAuditLog.USER_SOFT_ACTIVATED, event_time=timezone_now()) logger.info('Soft Reactivated user %s' % (user_profile.id, )) return user_profile return None
def maybe_catch_up_soft_deactivated_user( user_profile: UserProfile) -> Union[UserProfile, None]: if user_profile.long_term_idle: add_missing_messages(user_profile) user_profile.long_term_idle = False user_profile.save(update_fields=['long_term_idle']) RealmAuditLog.objects.create(realm=user_profile.realm, modified_user=user_profile, event_type='user_soft_activated', event_time=timezone_now()) logger.info('Soft Reactivated user %s (%s)' % (user_profile.id, user_profile.email)) return user_profile return None
def maybe_catch_up_soft_deactivated_user(user_profile: UserProfile) -> Union[UserProfile, None]: if user_profile.long_term_idle: add_missing_messages(user_profile) user_profile.long_term_idle = False user_profile.save(update_fields=['long_term_idle']) RealmAuditLog.objects.create( realm=user_profile.realm, modified_user=user_profile, event_type=RealmAuditLog.USER_SOFT_ACTIVATED, event_time=timezone_now() ) logger.info('Soft Reactivated user %s (%s)' % (user_profile.id, user_profile.email)) return user_profile return None
def do_soft_deactivate_user(user_profile: UserProfile) -> None: try: user_profile.last_active_message_id = UserMessage.objects.filter( user_profile=user_profile).order_by( '-message__id')[0].message_id except IndexError: # nocoverage # In the unlikely event that a user somehow has never received # a message, we just use the overall max message ID. user_profile.last_active_message_id = Message.objects.max().id user_profile.long_term_idle = True user_profile.save(update_fields=[ 'long_term_idle', 'last_active_message_id']) logger.info('Soft Deactivated user %s (%s)' % (user_profile.id, user_profile.email))