"""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.oauth_client.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)