sources/oauth: fix UserOAuthSourceConnection not being assigned to user after enrollment

sources/oauth: separate handle_new_connection into handle_existing_user_link and handle_enroll
This commit is contained in:
Jens Langhammer
2020-07-09 23:37:13 +02:00
parent c6d8bae147
commit 4caa4be476
4 changed files with 101 additions and 44 deletions

View File

@ -1,5 +1,5 @@
"""Flow models"""
from typing import Callable, Optional
from typing import TYPE_CHECKING, Optional, Type
from uuid import uuid4
from django.db import models
@ -12,6 +12,9 @@ from passbook.core.types import UIUserSettings
from passbook.lib.utils.reflection import class_to_path
from passbook.policies.models import PolicyBindingModel
if TYPE_CHECKING:
from passbook.flows.stage import StageView
LOGGER = get_logger()
@ -57,9 +60,9 @@ class Stage(models.Model):
return f"Stage {self.name}"
def in_memory_stage(_type: Callable) -> Stage:
def in_memory_stage(view: Type["StageView"]) -> Stage:
"""Creates an in-memory stage instance, based on a `_type` as view."""
class_path = class_to_path(_type)
class_path = class_to_path(view)
stage = Stage()
stage.type = class_path
return stage