26 lines
		
	
	
		
			878 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			878 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| """passbook overview views"""
 | |
| 
 | |
| from django.contrib.auth.mixins import LoginRequiredMixin
 | |
| from django.views.generic import TemplateView
 | |
| 
 | |
| from passbook.core.models import Application
 | |
| from passbook.policies.engine import PolicyEngine
 | |
| 
 | |
| 
 | |
| class OverviewView(LoginRequiredMixin, TemplateView):
 | |
|     """Overview for logged in user, incase user opens passbook directly
 | |
|     and is not being forwarded"""
 | |
| 
 | |
|     template_name = "overview/index.html"
 | |
| 
 | |
|     def get_context_data(self, **kwargs):
 | |
|         kwargs["applications"] = []
 | |
|         for application in Application.objects.all().order_by("name"):
 | |
|             engine = PolicyEngine(
 | |
|                 application.policies.all(), self.request.user, self.request
 | |
|             )
 | |
|             engine.build()
 | |
|             if engine.passing:
 | |
|                 kwargs["applications"].append(application)
 | |
|         return super().get_context_data(**kwargs)
 | 
