diff --git a/portality/forms/application_forms.py b/portality/forms/application_forms.py
index b489fd0f3..ff8b3d83b 100644
--- a/portality/forms/application_forms.py
+++ b/portality/forms/application_forms.py
@@ -1469,7 +1469,7 @@ class FieldDefinitions:
"name": "deposit_policy",
"label": "Does the journal have a policy allowing authors to deposit versions of their work in an "
"institutional or other repository of their choice? Where is this policy recorded?",
- "input": "checkbox",
+ "input": "radio",
"multiple": True,
"options": [
{"display": "Diadorim", "value": "Diadorim", "subfields": ["deposit_policy_url"]},
@@ -1478,7 +1478,7 @@ class FieldDefinitions:
{"display": "Open Policy Finder", "value": "Open Policy Finder", "subfields": ["deposit_policy_url"]},
{"display": "Other (including publisher’s own site)", "value": "other",
"subfields": ["deposit_policy_other", "deposit_policy_url"]},
- {"display": HTMLString("The journal has no repository policy"), "value": "none", "exclusive": True}
+ {"display": HTMLString("The journal has no repository policy"), "value": "none"}
],
"help": {
"long_help": ["Many authors wish to deposit a copy of their paper in an institutional or other repository "
diff --git a/portality/scripts/4165_multiple_repository_policy.py b/portality/scripts/4165_multiple_repository_policy.py
new file mode 100644
index 000000000..9066c035b
--- /dev/null
+++ b/portality/scripts/4165_multiple_repository_policy.py
@@ -0,0 +1,29 @@
+from portality.models import Journal, Application
+import csv
+
+if __name__ == "__main__":
+
+ RECORDS = [Journal, Application]
+ import argparse
+ parser = argparse.ArgumentParser()
+ parser.add_argument("-o", "--out", help="output file path")
+ args = parser.parse_args()
+
+ out = "out.csv"
+
+ with open(out, "w", encoding="utf-8") as f:
+ writer = csv.writer(f)
+ writer.writerow(["IN DOAJ", "ID", "DEPOSIT POLICY SERVICES", "TYPE OF RECORD"])
+ count = 0
+ for record in RECORDS:
+ for r in record.iterate():
+ dp_services = r.bibjson().deposit_policy
+ if dp_services and len(dp_services) > 1:
+ try:
+ if record is Application:
+ field = r.application_type
+ else:
+ field = r.is_in_doaj()
+ writer.writerow([field, r.id, dp_services])
+ except AttributeError:
+ print("Error reading attributes for journal {0}".format(r.id))