Skip to content

Commit

Permalink
🚸 Organize configuration fields in admin UI
Browse files Browse the repository at this point in the history
  • Loading branch information
sergei-maertens committed Oct 27, 2022
1 parent bfc8187 commit 238b12c
Show file tree
Hide file tree
Showing 4 changed files with 148 additions and 12 deletions.
140 changes: 138 additions & 2 deletions digid_eherkenning/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,145 @@

@admin.register(DigidMetadataConfiguration)
class DigidMetadataConfigurationAdmin(SingletonModelAdmin):
pass
fieldsets = (
(
_("X.509 Certificate"),
{
"fields": (
"certificate",
"key_passphrase",
),
},
),
(
_("Identity provider"),
{
"fields": (
"idp_metadata_file",
"idp_service_entity_id",
),
},
),
(
_("SAML configuration"),
{
"fields": (
"entity_id",
"base_url",
"want_assertions_signed",
"want_assertions_encrypted",
"signature_algorithm",
"digest_algorithm",
),
},
),
(
_("Service details"),
{
"fields": (
"service_name",
"service_description",
"requested_attributes",
"attribute_consuming_service_index",
"slo",
),
},
),
(
_("Organization details"),
{
"fields": (
"technical_contact_person_telephone",
"technical_contact_person_email",
"organization_url",
"organization_name",
),
},
),
)


@admin.register(EherkenningMetadataConfiguration)
class EherkenningMetadataConfigurationAdmin(SingletonModelAdmin):
pass
fieldsets = (
(
_("X.509 Certificate"),
{
"fields": (
"certificate",
"key_passphrase",
),
},
),
(
_("Identity provider"),
{
"fields": (
"idp_metadata_file",
"idp_service_entity_id",
),
},
),
(
_("SAML configuration"),
{
"fields": (
"entity_id",
"base_url",
"artifact_resolve_content_type",
"want_assertions_signed",
"want_assertions_encrypted",
"signature_algorithm",
"digest_algorithm",
),
},
),
(
_("Service details"),
{
"fields": (
"service_name",
"service_description",
"oin",
"makelaar_id",
"privacy_policy",
"service_language",
"loa",
),
},
),
(
_("eHerkenning"),
{
"fields": (
"eh_requested_attributes",
"eh_attribute_consuming_service_index",
"eh_service_uuid",
"eh_service_instance_uuid",
),
},
),
(
_("eIDAS"),
{
"fields": (
"no_eidas",
"eidas_requested_attributes",
"eidas_attribute_consuming_service_index",
"eidas_service_uuid",
"eidas_service_instance_uuid",
),
},
),
(
_("Organization details"),
{
"fields": (
"technical_contact_person_telephone",
"technical_contact_person_email",
"organization_url",
"organization_name",
),
},
),
)
4 changes: 4 additions & 0 deletions digid_eherkenning/models/metadata_config.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
from django.core.exceptions import ValidationError
from django.db import models
from django.utils.encoding import force_str
from django.utils.translation import gettext_lazy as _

from onelogin.saml2.constants import OneLogin_Saml2_Constants
Expand Down Expand Up @@ -116,6 +117,9 @@ class MetadataConfiguration(SingletonModel):
class Meta:
abstract = True

def __str__(self):
return force_str(self._meta.verbose_name)

def clean(self):
if not self.certificate:
raise ValidationError(_("You must select a certificate"))
Expand Down
1 change: 1 addition & 0 deletions tests/project/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@
"django.contrib.messages",
"django.contrib.staticfiles",
"sessionprofile",
"privates",
"simple_certmanager",
"solo",
# own apps
Expand Down
15 changes: 5 additions & 10 deletions tests/test_dienst_catalogus_creation.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
from io import StringIO
from unittest.mock import patch

from django.core.management import CommandError, call_command
from django.test import TestCase
Expand All @@ -20,16 +19,12 @@

@pytest.mark.usefixtures("eherkenning_config_defaults", "temp_private_root")
class CreateDienstCatalogusTests(TestCase):
@patch("digid_eherkenning.models.eherkenning_metadata_config.uuid.uuid4")
def test_wants_assertions_signed_setting_default(self, mock_uuid):
mock_uuid.side_effect = [
"005f18b8-0114-4a1d-963a-ee8e80a08f3f",
"54efe0fe-c1a7-42da-9612-d84bf3c8fb07",
"2e167de1-8bef-4d5a-ab48-8fa020e9e631",
"9ba1b0ee-c0d3-437e-87ac-f577098c7e15",
]

def test_wants_assertions_signed_setting_default(self):
config = EherkenningMetadataConfiguration.get_solo()
config.eh_service_uuid = "005f18b8-0114-4a1d-963a-ee8e80a08f3f"
config.eh_service_instance_uuid = "54efe0fe-c1a7-42da-9612-d84bf3c8fb07"
config.eidas_service_uuid = "2e167de1-8bef-4d5a-ab48-8fa020e9e631"
config.eidas_service_instance_uuid = "9ba1b0ee-c0d3-437e-87ac-f577098c7e15"
config.oin = "00000000000000000000"
config.makelaar_id = "00000000000000000000"
config.service_name = "Example"
Expand Down

0 comments on commit 238b12c

Please sign in to comment.