providers/app_gw: generate docker-compose in code

This commit is contained in:
Jens Langhammer
2020-07-26 22:01:37 +02:00
parent 83205f1b49
commit ddb0fdee98
4 changed files with 66 additions and 36 deletions

View File

@ -1,17 +1,13 @@
"""passbook app_gw models"""
import string
from random import SystemRandom
from typing import Optional, Type
from django.core.validators import URLValidator
from django.db import models
from django.forms import ModelForm
from django.http import HttpRequest
from django.shortcuts import reverse
from django.utils.translation import gettext as _
from oidc_provider.models import Client
from passbook import __version__
from passbook.core.models import Provider
from passbook.lib.utils.template import render_to_string
@ -33,21 +29,12 @@ class ApplicationGatewayProvider(Provider):
def html_setup_urls(self, request: HttpRequest) -> Optional[str]:
"""return template and context modal with URLs for authorize, token, openid-config, etc"""
cookie_secret = "".join(
SystemRandom().choice(string.ascii_uppercase + string.digits)
for _ in range(50)
)
full_issuer_user = request.build_absolute_uri(
reverse("passbook_providers_oidc:authorize")
)
from passbook.providers.app_gw.views import DockerComposeView
docker_compose_yaml = DockerComposeView(request=request).get_compose(self)
return render_to_string(
"app_gw/setup_modal.html",
{
"provider": self,
"cookie_secret": cookie_secret,
"version": __version__,
"full_issuer_user": full_issuer_user,
},
{"provider": self, "docker_compose": docker_compose_yaml},
)
def __str__(self):