"""passbook oauth_client user views""" from django.contrib.auth.mixins import LoginRequiredMixin from django.shortcuts import get_object_or_404 from django.views.generic import TemplateView from passbook.sources.oauth.models import OAuthSource, UserOAuthSourceConnection class UserSettingsView(LoginRequiredMixin, TemplateView): """Show user current connection state""" template_name = "oauth_client/user.html" def get_context_data(self, **kwargs): source = get_object_or_404(OAuthSource, slug=self.kwargs.get("source_slug")) connections = UserOAuthSourceConnection.objects.filter( user=self.request.user, source=source ) kwargs["source"] = source kwargs["connections"] = connections return super().get_context_data(**kwargs)