From 5633ed61a2960f542d4d2494365cf8cef237f63c Mon Sep 17 00:00:00 2001 From: Benjamin Dauvergne Date: Mon, 10 Mar 2014 10:12:27 +0100 Subject: [PATCH] admin: create an AuQuotidienAPI instance for each new WcsInstance --- portail_citoyen/admin.py | 16 +++++++++++++++- portail_citoyen/app_settings.py | 7 +++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/portail_citoyen/admin.py b/portail_citoyen/admin.py index 8769041..9f8c747 100644 --- a/portail_citoyen/admin.py +++ b/portail_citoyen/admin.py @@ -14,6 +14,8 @@ from django.contrib.auth.models import Group from authentic2.saml.models import LibertyProvider, LibertyServiceProvider +from auquotidien_plugin.models import AuQuotidienAPI + from . import app_settings from . import models @@ -178,10 +180,22 @@ if 'wcsinst.wcsinst' in settings.INSTALLED_APPS: messages.error(request, _('Unable to create the SAML 2.0 provider: %s') % v) break provider.save() - LibertyServiceProvider.objects.get_or_create(liberty_provider=provider, enabled=True) + service_provider, created = LibertyServiceProvider \ + .objects.get_or_create( + liberty_provider=provider, + enabled=True) done = True c += 1 sleep_length *= 2 + if done and 'auquotidien_plugin' in settings.INSTALLED_APPS: + defaults = { + 'name': instance.title, + 'orig': request.META['HTTP_HOST'], + } + defaults.update(app_settings.AUQUOTIDIENAPI_DEFAULTS) + auquotidien_api, created = AuQuotidienAPI.objects.get_or_create( + service_provider=service_provider, + defaults=defaults) def save_model(self, request, obj, form, change): if change: diff --git a/portail_citoyen/app_settings.py b/portail_citoyen/app_settings.py index 5f528d8..34036c4 100644 --- a/portail_citoyen/app_settings.py +++ b/portail_citoyen/app_settings.py @@ -5,6 +5,13 @@ class AppSettings(object): 'TEMPLATE_VARS': {}, 'FAVICON_URL': 'http://www.entrouvert.com/favicon.ico', 'WCSINST_DEFAULT_VARIABLES': {}, + 'AUQUOTIDIENAPI_DEFAULTS': { + 'order': 1, + 'hash_algo': 'sha256', + 'signature_key': '12345', + 'verify_certificate': True, + 'allow_redirects': False, + }, 'PROFILE_FORM_PLUGIN_FORM_CLASS': 'portail_citoyen.forms.ProfileFormPluginForm', }