diff --git a/config/authorization/config.ex b/config/authorization/config.ex index 0b2b3de4..0c8d4469 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/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 489a842c..6d6f4314 100644 --- a/config/cl-authorization/config.lisp +++ b/config/cl-authorization/config.lisp @@ -121,9 +121,10 @@ ("mandaat:Kandidatenlijst" -> _) ("ext:KandidatenlijstLijsttype" -> _) ("mandaat:Verkiezingsresultaat" -> _) - ("ext:VerkiezingsresultaatGevolgCode" -> _) ("ext:SystemNotification" -> _) - ("astreams:Tombstone" -> _)) + ("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 e0218747..0653108e 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-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 forward(conn, path, "http://cache/bestuursorganen/") end diff --git a/config/form-content/bestuurseenheid-contact/form.ttl b/config/form-content/bestuurseenheid-contact/form.ttl new file mode 100644 index 00000000..087852f2 --- /dev/null +++ b/config/form-content/bestuurseenheid-contact/form.ttl @@ -0,0 +1,48 @@ +@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:contactPG; + form:initGenerator ext:contactG; + form:targetType ext:BestuurseenheidContact; + form:targetLabel schema:email; + ext:prefix ; + mu:uuid "6293bfe1-40a3-4228-8f33-1f74dc45e2b9". + +ext:contactPG + a form:PropertyGroup; + sh:name "Contact"; + sh:order 1. + +ext:emailF + a form:Field; + form:displayType displayTypes:defaultInput; + sh:group ext:contactPG; + sh:name "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:contactG a form:Generator; + form:prototype [ + form:shape [ + 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 d18fb644..7eca3174 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 :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 () + :class (s-prefix "ext:BestuurseenheidContact") + :properties `((:email :string ,(s-prefix "schema:email"))) + :resource-base (s-url "http://data.lblod.info/id/BestuurseenheidContact/") + :features '(include-uri) + :on-path "bestuurseenheid-contacten") + (define-resource bestuursorgaan () :class (s-prefix "besluit:Bestuursorgaan") :properties `((:naam :string ,(s-prefix "skos:prefLabel"))