def cancel(self): with advisory_lock("delete-user"): deleted_user_prefix = "deleted-user-{}".format(timestamp_ms()) self.username = slugify_uniquely(deleted_user_prefix, User, slugfield="username") self.email = "{}@taiga.io".format(self.username) self.is_active = False self.full_name = "Deleted user" self.color = "" self.bio = "" self.lang = "" self.theme = "" self.timezone = "" self.colorize_tags = True self.token = None self.set_unusable_password() self.photo = None self.save() self.auth_data.all().delete() # Blocking all owned projects self.owned_projects.update(blocked_code=BLOCKED_BY_OWNER_LEAVING) # Remove all memberships self.memberships.all().delete()