def delete(self, user: User, do_save=False): if self._user and self._user == user: raise UserCantDeleteHimself("User {} can't delete himself".format( user.user_id)) user.is_deleted = True if do_save: self.save(user)
def delete(self, user: User, do_save=False): if self._user and self._user == user: raise UserCantDeleteHimself( "User {} can't delete himself".format(user.user_id) ) user.is_deleted = True if do_save: self.save(user)
def anonymize_user( self, user: User, anonymized_user_display_name: typing.Optional[str] = None) -> User: """ :param user: user to anonymize_if_required :return: user_id """ hash = str(uuid.uuid4().hex) user.display_name = ( anonymized_user_display_name or self.app_config.DEFAULT_ANONYMIZED_USER_DISPLAY_NAME) user.email = ANONYMIZED_USER_EMAIL_PATTERN.format(hash=hash) user.is_active = False user.is_deleted = True self.safe_update(user) return user
def undelete(self, user: User, do_save=False): user.is_deleted = False if do_save: self.save(user)