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))