* flows: initial implementation of FlowExecutorShell * flows: load messages dynamically upon card refresh
		
			
				
	
	
		
			30 lines
		
	
	
		
			1002 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			1002 B
		
	
	
	
		
			Python
		
	
	
	
	
	
"""passbook stage Base view"""
 | 
						|
from typing import Any, Dict
 | 
						|
 | 
						|
from django.http import HttpRequest
 | 
						|
from django.utils.translation import gettext_lazy as _
 | 
						|
from django.views.generic import TemplateView
 | 
						|
 | 
						|
from passbook.flows.planner import PLAN_CONTEXT_PENDING_USER
 | 
						|
from passbook.flows.views import FlowExecutorView
 | 
						|
 | 
						|
 | 
						|
class StageView(TemplateView):
 | 
						|
    """Abstract Stage, inherits TemplateView but can be combined with FormView"""
 | 
						|
 | 
						|
    template_name = "login/form_with_user.html"
 | 
						|
 | 
						|
    executor: FlowExecutorView
 | 
						|
 | 
						|
    request: HttpRequest = None
 | 
						|
 | 
						|
    def __init__(self, executor: FlowExecutorView):
 | 
						|
        self.executor = executor
 | 
						|
 | 
						|
    def get_context_data(self, **kwargs: Dict[str, Any]) -> Dict[str, Any]:
 | 
						|
        kwargs["title"] = self.executor.flow.name
 | 
						|
        if PLAN_CONTEXT_PENDING_USER in self.executor.plan.context:
 | 
						|
            kwargs["user"] = self.executor.plan.context[PLAN_CONTEXT_PENDING_USER]
 | 
						|
        kwargs["primary_action"] = _("Continue")
 | 
						|
        return super().get_context_data(**kwargs)
 |