From 9b09dde8e88b10c67945574adbf5cc68ab0e198c Mon Sep 17 00:00:00 2001 From: Jonas Van Hoof Date: Tue, 7 May 2024 09:58:22 +0200 Subject: [PATCH 01/10] LMB-420: create bestuurseenheid-contact-info type --- config/resources/external-besluit.lisp | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/config/resources/external-besluit.lisp b/config/resources/external-besluit.lisp index d18fb644..c85006ef 100644 --- a/config/resources/external-besluit.lisp +++ b/config/resources/external-besluit.lisp @@ -16,10 +16,11 @@ (werkingsgebied :via ,(s-prefix "ext:inProvincie") :as "provincie") (bestuurseenheid-classificatie-code :via ,(s-prefix "besluit:classificatie") - :as "classificatie")) - :has-many `((contact-punt :via ,(s-prefix "schema:contactPoint") - :as "contactinfo") - (bestuursorgaan :via ,(s-prefix "besluit:bestuurt") + :as "classificatie") + (bestuurseenheid-contact-info :via ,(s-prefix "ext:contactVoor") + :inverse t + :as "contact")) + :has-many `((bestuursorgaan :via ,(s-prefix "besluit:bestuurt") :inverse t :as "bestuursorganen")) :resource-base (s-url "http://data.lblod.info/id/bestuurseenheden/") @@ -45,6 +46,13 @@ :features '(include-uri) :on-path "bestuurseenheid-classificatie-codes") +(define-resource bestuurseenheid-contact-info () + :class (s-prefix "ext:BestuurseenheidContactInfo") + :properties `((:email :string ,(s-prefix "schema:email"))) + :resource-base (s-url "http://data.lblod.info/id/BestuurseenheidContactInfo/") + :features '(include-uri) + :on-path "bestuurseenheid-contact-info") + (define-resource bestuursorgaan () :class (s-prefix "besluit:Bestuursorgaan") :properties `((:naam :string ,(s-prefix "skos:prefLabel")) From 950ec72abd09af847bb800fb94a46cafc65673df Mon Sep 17 00:00:00 2001 From: Jonas Van Hoof Date: Tue, 7 May 2024 09:59:04 +0200 Subject: [PATCH 02/10] LMB-420: add path in dispatcher to get the bestuurseenheid-contact-info --- config/dispatcher/dispatcher.ex | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/config/dispatcher/dispatcher.ex b/config/dispatcher/dispatcher.ex index e0218747..85da71fc 100755 --- a/config/dispatcher/dispatcher.ex +++ b/config/dispatcher/dispatcher.ex @@ -86,6 +86,10 @@ defmodule Dispatcher do forward(conn, path, "http://cache/bestuurseenheid-classificatie-codes/") end + match "/bestuurseenheid-contact-info/*path", %{layer: :resources, accept: %{json: true}} do + forward(conn, path, "http://cache/bestuurseenheid-contact-info/") + end + match "/bestuursorganen/*path", %{layer: :resources, accept: %{json: true}} do forward(conn, path, "http://cache/bestuursorganen/") end From f01973fdd18821d8e2dab95cee748956767eebc2 Mon Sep 17 00:00:00 2001 From: Jonas Van Hoof Date: Tue, 7 May 2024 09:59:41 +0200 Subject: [PATCH 03/10] LMB-420: teell auth config that BestuurseenheidContactInfo is in organization graph --- config/authorization/config.ex | 1 + config/cl-authorization/config.lisp | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/config/authorization/config.ex b/config/authorization/config.ex index 0b2b3de4..6ebb029a 100644 --- a/config/authorization/config.ex +++ b/config/authorization/config.ex @@ -15,6 +15,7 @@ defmodule Acl.UserGroups.Config do "http://data.vlaanderen.be/ns/persoon#Geboorte", "http://www.w3.org/ns/org#Membership", "http://data.vlaanderen.be/ns/besluit#Bestuursorgaan", + "http://mu.semte.ch/vocabularies/ext/BestuurseenheidContactInfo", "http://data.vlaanderen.be/ns/mandaat#Mandataris", "http://data.vlaanderen.be/ns/mandaat#Mandaat", "http://mu.semte.ch/vocabularies/ext/BeleidsdomeinCode", diff --git a/config/cl-authorization/config.lisp b/config/cl-authorization/config.lisp index 489a842c..6caa1417 100644 --- a/config/cl-authorization/config.lisp +++ b/config/cl-authorization/config.lisp @@ -123,7 +123,7 @@ ("mandaat:Verkiezingsresultaat" -> _) ("ext:VerkiezingsresultaatGevolgCode" -> _) ("ext:SystemNotification" -> _) - ("astreams:Tombstone" -> _)) + ("ext:BestuurseenheidContactInfo" -> _)) (define-graph organization-leidinggevende ("http://mu.semte.ch/graphs/organizations/") ("contacthub:AgentInPositie" -> _) From 0e0596c3cb1ebda1638fd9815415530606bab863 Mon Sep 17 00:00:00 2001 From: Jonas Van Hoof Date: Tue, 7 May 2024 18:02:02 +0200 Subject: [PATCH 04/10] LMB-420: create bestuurseenheid settings form --- .../bestuurseenheid-contact-info/form.ttl | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 config/form-content/bestuurseenheid-contact-info/form.ttl diff --git a/config/form-content/bestuurseenheid-contact-info/form.ttl b/config/form-content/bestuurseenheid-contact-info/form.ttl new file mode 100644 index 00000000..1aec61c2 --- /dev/null +++ b/config/form-content/bestuurseenheid-contact-info/form.ttl @@ -0,0 +1,41 @@ +@prefix form: . +@prefix sh: . +@prefix mu: . +@prefix displayTypes: . +@prefix schema: . +@prefix rdf: . +@prefix nie: . +@prefix foaf: . +@prefix ext: . +@prefix vcard: . + + + a form:Form, form:TopLevelForm; + form:includes ext:emailF + sh:group ext:contactInfoPG; + form:initGenerator ext:contactInfoG; + form:targetType ext:BestuurseenheidContactInfo; + form:targetLabel schema:email; + ext:prefix ; + mu:uuid "6293bfe1-40a3-4228-8f33-1f74dc45e2b9". + +ext:contactInfoPG + a form:PropertyGroup; + sh:name "Contact info"; + sh:order 1. + +ext:emailF + a form:Field; + form:displayType displayTypes:defaultInput; + sh:group ext:contactInfoPG; + sh:name "Email"; + sh:order 2; + sh:path schema:email. + +ext:contactInfoG a form:Generator; + form:prototype [ + form:shape [ + a ext:BestuurseenheidContactInfo + ] + ]; + form:dataGenerator form:addMuUuid. \ No newline at end of file From 2ff18a12adbb3f4f1f498cb86ca38a0d23829d3f Mon Sep 17 00:00:00 2001 From: Jonas Van Hoof Date: Wed, 8 May 2024 09:01:22 +0200 Subject: [PATCH 05/10] LMB-420: fix bestuurseenheid form with semi colon after group --- config/form-content/bestuurseenheid-contact-info/form.ttl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/form-content/bestuurseenheid-contact-info/form.ttl b/config/form-content/bestuurseenheid-contact-info/form.ttl index 1aec61c2..61eb83df 100644 --- a/config/form-content/bestuurseenheid-contact-info/form.ttl +++ b/config/form-content/bestuurseenheid-contact-info/form.ttl @@ -11,7 +11,7 @@ a form:Form, form:TopLevelForm; - form:includes ext:emailF + form:includes ext:emailF; sh:group ext:contactInfoPG; form:initGenerator ext:contactInfoG; form:targetType ext:BestuurseenheidContactInfo; From 928a1bb40387162e46a45ad598314ed5266fc3bb Mon Sep 17 00:00:00 2001 From: Jonas Van Hoof Date: Wed, 8 May 2024 09:39:36 +0200 Subject: [PATCH 06/10] LMB-420: add validEmail constraint on email field for bestuurseenheid contact info --- .../bestuurseenheid-contact-info/form.ttl | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/config/form-content/bestuurseenheid-contact-info/form.ttl b/config/form-content/bestuurseenheid-contact-info/form.ttl index 61eb83df..a0a5ce0d 100644 --- a/config/form-content/bestuurseenheid-contact-info/form.ttl +++ b/config/form-content/bestuurseenheid-contact-info/form.ttl @@ -21,15 +21,22 @@ ext:contactInfoPG a form:PropertyGroup; - sh:name "Contact info"; + sh:name ""; sh:order 1. ext:emailF a form:Field; form:displayType displayTypes:defaultInput; sh:group ext:contactInfoPG; - sh:name "Email"; + sh:name "Contact email"; sh:order 2; + form:validatedBy + [ a form:ValidEmail; + form:grouping form:MatchEvery; + sh:order 1; + sh:resultMessage "Geef een geldig e-mailadres op."@nl; + sh:path schema:email + ]; sh:path schema:email. ext:contactInfoG a form:Generator; From 7bab0ff18f8b1c9732a4f93b31b361ff1d415c87 Mon Sep 17 00:00:00 2001 From: Jonas Van Hoof Date: Wed, 8 May 2024 11:27:24 +0200 Subject: [PATCH 07/10] LMB-420: rename to bestuurseenheid-contact --- config/authorization/config.ex | 2 +- config/cl-authorization/config.lisp | 4 +++- config/dispatcher/dispatcher.ex | 4 ++-- .../form.ttl | 18 +++++++++--------- config/resources/external-besluit.lisp | 10 +++++----- 5 files changed, 20 insertions(+), 18 deletions(-) rename config/form-content/{bestuurseenheid-contact-info => bestuurseenheid-contact}/form.ttl (75%) diff --git a/config/authorization/config.ex b/config/authorization/config.ex index 6ebb029a..0c8d4469 100644 --- a/config/authorization/config.ex +++ b/config/authorization/config.ex @@ -15,7 +15,7 @@ defmodule Acl.UserGroups.Config do "http://data.vlaanderen.be/ns/persoon#Geboorte", "http://www.w3.org/ns/org#Membership", "http://data.vlaanderen.be/ns/besluit#Bestuursorgaan", - "http://mu.semte.ch/vocabularies/ext/BestuurseenheidContactInfo", + "http://mu.semte.ch/vocabularies/ext/BestuurseenheidContact", "http://data.vlaanderen.be/ns/mandaat#Mandataris", "http://data.vlaanderen.be/ns/mandaat#Mandaat", "http://mu.semte.ch/vocabularies/ext/BeleidsdomeinCode", diff --git a/config/cl-authorization/config.lisp b/config/cl-authorization/config.lisp index 6caa1417..3d70f5d4 100644 --- a/config/cl-authorization/config.lisp +++ b/config/cl-authorization/config.lisp @@ -123,7 +123,9 @@ ("mandaat:Verkiezingsresultaat" -> _) ("ext:VerkiezingsresultaatGevolgCode" -> _) ("ext:SystemNotification" -> _) - ("ext:BestuurseenheidContactInfo" -> _)) + ("astreams:Tombstone" -> _) + ("ext:BestuurseenheidContact" -> _) + ("ext:VerkiezingsresultaatGevolgCode" -> _)) (define-graph organization-leidinggevende ("http://mu.semte.ch/graphs/organizations/") ("contacthub:AgentInPositie" -> _) diff --git a/config/dispatcher/dispatcher.ex b/config/dispatcher/dispatcher.ex index 85da71fc..71e88df4 100755 --- a/config/dispatcher/dispatcher.ex +++ b/config/dispatcher/dispatcher.ex @@ -86,8 +86,8 @@ defmodule Dispatcher do forward(conn, path, "http://cache/bestuurseenheid-classificatie-codes/") end - match "/bestuurseenheid-contact-info/*path", %{layer: :resources, accept: %{json: true}} do - forward(conn, path, "http://cache/bestuurseenheid-contact-info/") + match "/bestuurseenheid-contact/*path", %{layer: :resources, accept: %{json: true}} do + forward(conn, path, "http://cache/bestuurseenheid-contact/") end match "/bestuursorganen/*path", %{layer: :resources, accept: %{json: true}} do diff --git a/config/form-content/bestuurseenheid-contact-info/form.ttl b/config/form-content/bestuurseenheid-contact/form.ttl similarity index 75% rename from config/form-content/bestuurseenheid-contact-info/form.ttl rename to config/form-content/bestuurseenheid-contact/form.ttl index a0a5ce0d..b868d92c 100644 --- a/config/form-content/bestuurseenheid-contact-info/form.ttl +++ b/config/form-content/bestuurseenheid-contact/form.ttl @@ -9,17 +9,17 @@ @prefix ext: . @prefix vcard: . - + a form:Form, form:TopLevelForm; form:includes ext:emailF; - sh:group ext:contactInfoPG; - form:initGenerator ext:contactInfoG; - form:targetType ext:BestuurseenheidContactInfo; + sh:group ext:contactPG; + form:initGenerator ext:contactG; + form:targetType ext:BestuurseenheidContact; form:targetLabel schema:email; - ext:prefix ; + ext:prefix ; mu:uuid "6293bfe1-40a3-4228-8f33-1f74dc45e2b9". -ext:contactInfoPG +ext:contactPG a form:PropertyGroup; sh:name ""; sh:order 1. @@ -27,7 +27,7 @@ ext:contactInfoPG ext:emailF a form:Field; form:displayType displayTypes:defaultInput; - sh:group ext:contactInfoPG; + sh:group ext:contactPG; sh:name "Contact email"; sh:order 2; form:validatedBy @@ -39,10 +39,10 @@ ext:emailF ]; sh:path schema:email. -ext:contactInfoG a form:Generator; +ext:contactG a form:Generator; form:prototype [ form:shape [ - a ext:BestuurseenheidContactInfo + a ext:BestuurseenheidContact ] ]; form:dataGenerator form:addMuUuid. \ No newline at end of file diff --git a/config/resources/external-besluit.lisp b/config/resources/external-besluit.lisp index c85006ef..6e8ca414 100644 --- a/config/resources/external-besluit.lisp +++ b/config/resources/external-besluit.lisp @@ -17,7 +17,7 @@ :as "provincie") (bestuurseenheid-classificatie-code :via ,(s-prefix "besluit:classificatie") :as "classificatie") - (bestuurseenheid-contact-info :via ,(s-prefix "ext:contactVoor") + (bestuurseenheid-contact :via ,(s-prefix "ext:contactVoor") :inverse t :as "contact")) :has-many `((bestuursorgaan :via ,(s-prefix "besluit:bestuurt") @@ -46,12 +46,12 @@ :features '(include-uri) :on-path "bestuurseenheid-classificatie-codes") -(define-resource bestuurseenheid-contact-info () - :class (s-prefix "ext:BestuurseenheidContactInfo") +(define-resource bestuurseenheid-contact () + :class (s-prefix "ext:BestuurseenheidContact") :properties `((:email :string ,(s-prefix "schema:email"))) - :resource-base (s-url "http://data.lblod.info/id/BestuurseenheidContactInfo/") + :resource-base (s-url "http://data.lblod.info/id/BestuurseenheidContact/") :features '(include-uri) - :on-path "bestuurseenheid-contact-info") + :on-path "bestuurseenheid-contact") (define-resource bestuursorgaan () :class (s-prefix "besluit:Bestuursorgaan") From deff4ecc5f870ac3c3312e9f9ab972537009de4a Mon Sep 17 00:00:00 2001 From: Jonas Van Hoof Date: Wed, 8 May 2024 11:48:13 +0200 Subject: [PATCH 08/10] LMB-420: change the labels of the bestuurseenheid contact form --- config/form-content/bestuurseenheid-contact/form.ttl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/form-content/bestuurseenheid-contact/form.ttl b/config/form-content/bestuurseenheid-contact/form.ttl index b868d92c..087852f2 100644 --- a/config/form-content/bestuurseenheid-contact/form.ttl +++ b/config/form-content/bestuurseenheid-contact/form.ttl @@ -21,14 +21,14 @@ ext:contactPG a form:PropertyGroup; - sh:name ""; + sh:name "Contact"; sh:order 1. ext:emailF a form:Field; form:displayType displayTypes:defaultInput; sh:group ext:contactPG; - sh:name "Contact email"; + sh:name "Email"; sh:order 2; form:validatedBy [ a form:ValidEmail; From fdfe475407bc59903bb70e618b41693e64be5017 Mon Sep 17 00:00:00 2001 From: Jonas Van Hoof Date: Wed, 8 May 2024 11:51:29 +0200 Subject: [PATCH 09/10] refactor: remove duplicate VerkiezingsresultaatGevolgCode in config.lisp --- config/cl-authorization/config.lisp | 1 - 1 file changed, 1 deletion(-) diff --git a/config/cl-authorization/config.lisp b/config/cl-authorization/config.lisp index 3d70f5d4..6d6f4314 100644 --- a/config/cl-authorization/config.lisp +++ b/config/cl-authorization/config.lisp @@ -121,7 +121,6 @@ ("mandaat:Kandidatenlijst" -> _) ("ext:KandidatenlijstLijsttype" -> _) ("mandaat:Verkiezingsresultaat" -> _) - ("ext:VerkiezingsresultaatGevolgCode" -> _) ("ext:SystemNotification" -> _) ("astreams:Tombstone" -> _) ("ext:BestuurseenheidContact" -> _) From d6cfcac891dab7f86efb2dc8d57c80805d861e57 Mon Sep 17 00:00:00 2001 From: Jonas Van Hoof Date: Mon, 13 May 2024 09:19:55 +0200 Subject: [PATCH 10/10] LMB-420: make bestuurseenheid-contact plural => bestuurseenheid-contacten --- config/dispatcher/dispatcher.ex | 4 ++-- config/resources/external-besluit.lisp | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/config/dispatcher/dispatcher.ex b/config/dispatcher/dispatcher.ex index 71e88df4..0653108e 100755 --- a/config/dispatcher/dispatcher.ex +++ b/config/dispatcher/dispatcher.ex @@ -86,8 +86,8 @@ defmodule Dispatcher do forward(conn, path, "http://cache/bestuurseenheid-classificatie-codes/") end - match "/bestuurseenheid-contact/*path", %{layer: :resources, accept: %{json: true}} do - forward(conn, path, "http://cache/bestuurseenheid-contact/") + match "/bestuurseenheid-contacten/*path", %{layer: :resources, accept: %{json: true}} do + forward(conn, path, "http://cache/bestuurseenheid-contacten/") end match "/bestuursorganen/*path", %{layer: :resources, accept: %{json: true}} do diff --git a/config/resources/external-besluit.lisp b/config/resources/external-besluit.lisp index 6e8ca414..7eca3174 100644 --- a/config/resources/external-besluit.lisp +++ b/config/resources/external-besluit.lisp @@ -51,7 +51,7 @@ :properties `((:email :string ,(s-prefix "schema:email"))) :resource-base (s-url "http://data.lblod.info/id/BestuurseenheidContact/") :features '(include-uri) - :on-path "bestuurseenheid-contact") + :on-path "bestuurseenheid-contacten") (define-resource bestuursorgaan () :class (s-prefix "besluit:Bestuursorgaan")