diff --git a/data/organisations/data.json b/data/organisations/data.json
index 24a620c96..d95c8939e 100644
--- a/data/organisations/data.json
+++ b/data/organisations/data.json
@@ -31,6 +31,24 @@
"value": "Description in Italian in **markdown** format"
}
],
+ "footer": [
+ {
+ "language": "ger",
+ "value": "Footer GER **markdown** format"
+ },
+ {
+ "language": "eng",
+ "value": "Footer ENG **markdown** format"
+ },
+ {
+ "language": "fre",
+ "value": "Footer FRE **markdown** format"
+ },
+ {
+ "language": "ita",
+ "value": "Footer ITA **markdown** format"
+ }
+ ],
"isShared": true,
"isDedicated": true,
"platformName": "FREDI",
@@ -75,6 +93,24 @@
"value": "FOLIA è l'archivio istituzionale dell'Università di Friburgo (Svizzera). Fornisce un accesso gratuito alle pubblicazioni dei ricercatrici e ricercatori dell'Università. FOLIA è gestito dalla Bibliothèque cantonale et universitaire de Fribourg."
}
],
+ "footer": [
+ {
+ "language": "ger",
+ "value": "Footer GER **markdown** format"
+ },
+ {
+ "language": "eng",
+ "value": "Footer ENG **markdown** format"
+ },
+ {
+ "language": "fre",
+ "value": "Footer FRE **markdown** format"
+ },
+ {
+ "language": "ita",
+ "value": "Footer ITA **markdown** format"
+ }
+ ],
"isShared": true,
"isDedicated": true,
"platformName": "# FOLIA\n#### Fribourg Open Library and Archive",
diff --git a/sonar/modules/organisations/jsonschemas/organisations/organisation-v1.0.0_src.json b/sonar/modules/organisations/jsonschemas/organisations/organisation-v1.0.0_src.json
index 5a2201089..337fcd4da 100644
--- a/sonar/modules/organisations/jsonschemas/organisations/organisation-v1.0.0_src.json
+++ b/sonar/modules/organisations/jsonschemas/organisations/organisation-v1.0.0_src.json
@@ -82,6 +82,55 @@
}
}
},
+ "footer": {
+ "title": "Footers",
+ "type": "array",
+ "minItems": 1,
+ "items": {
+ "title": "Footer",
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "value": {
+ "title": "Value",
+ "type": "string",
+ "minLength": 1,
+ "form": {
+ "type": "markdown",
+ "templateOptions": {
+ "rows": 5
+ }
+ }
+ },
+ "language": {
+ "$ref": "interface_language-v1.0.0.json"
+ }
+ },
+ "propertiesOrder": [
+ "language",
+ "value"
+ ],
+ "required": [
+ "value",
+ "language"
+ ]
+ },
+ "form": {
+ "hideExpression": "!field.parent.model.isDedicated",
+ "validation": {
+ "validators": {
+ "uniqueValueKeysInObject": {
+ "keys": [
+ "language"
+ ]
+ }
+ },
+ "messages": {
+ "uniqueValueKeysInObjectMessage": "Only one value per language is allowed"
+ }
+ }
+ }
+ },
"isShared": {
"title": "Is shared",
"description": "Organisation records can be accessed by a specific URL.",
@@ -328,6 +377,7 @@
"code",
"name",
"description",
+ "footer",
"isShared",
"isDedicated",
"allowedIps",
diff --git a/sonar/modules/organisations/mappings/v7/organisations/organisation-v1.0.0.json b/sonar/modules/organisations/mappings/v7/organisations/organisation-v1.0.0.json
index 1810a424c..152bd16b8 100644
--- a/sonar/modules/organisations/mappings/v7/organisations/organisation-v1.0.0.json
+++ b/sonar/modules/organisations/mappings/v7/organisations/organisation-v1.0.0.json
@@ -25,6 +25,17 @@
}
}
},
+ "footer": {
+ "type": "object",
+ "properties": {
+ "language": {
+ "type": "keyword"
+ },
+ "value": {
+ "type": "text"
+ }
+ }
+ },
"name": {
"type": "text",
"fields": {
diff --git a/sonar/modules/organisations/marshmallow/json.py b/sonar/modules/organisations/marshmallow/json.py
index 359369da4..50589e4e8 100644
--- a/sonar/modules/organisations/marshmallow/json.py
+++ b/sonar/modules/organisations/marshmallow/json.py
@@ -44,6 +44,7 @@ class OrganisationMetadataSchemaV1(StrictKeysMixin):
code = SanitizedUnicode(required=True)
name = SanitizedUnicode(required=True)
description = fields.List(fields.Dict())
+ footer = fields.List(fields.Dict())
isShared = fields.Boolean()
isDedicated = fields.Boolean()
allowedIps = SanitizedUnicode()
diff --git a/sonar/modules/organisations/serializers/schemas/export.py b/sonar/modules/organisations/serializers/schemas/export.py
index fefe34ded..166777de1 100644
--- a/sonar/modules/organisations/serializers/schemas/export.py
+++ b/sonar/modules/organisations/serializers/schemas/export.py
@@ -26,6 +26,7 @@ class ExportSchemaV1(Schema):
code = fields.String(dump_only=True)
name = fields.String(dump_only=True)
description = fields.List(fields.Dict(dump_only=True))
+ footer = fields.List(fields.Dict(dump_only=True))
isShared = fields.Boolean(dump_only=True)
isDedicated = fields.Boolean(dump_only=True)
files = fields.Method('get_files', dump_only=True)
diff --git a/sonar/theme/templates/sonar/footer.html b/sonar/theme/templates/sonar/footer.html
index 5817c8103..13a79d5d0 100755
--- a/sonar/theme/templates/sonar/footer.html
+++ b/sonar/theme/templates/sonar/footer.html
@@ -15,10 +15,19 @@
along with this program. If not, see .
#}
-