SciPost Code Repository

Skip to content
Snippets Groups Projects
Commit 976c1003 authored by George Katsikas's avatar George Katsikas :goat:
Browse files

add ror fetching management command

parent d6146455
No related branches found
No related tags found
No related merge requests found
__copyright__ = "Copyright © Stichting SciPost (SciPost Foundation)"
__license__ = "AGPL v3"
from django.core.management.base import BaseCommand
from organizations.models import Organization
from organizations.utils import RORAPIHandler
class Command(BaseCommand):
help = (
"For all Organization model instances, "
"this command updates the `ror_json` field by fetching the latest data "
"using the `id` property of the `ror_json` field."
)
def handle(self, *args, **kwargs):
ror_api_handler = RORAPIHandler()
updated = 0
missing = 0
for org in Organization.objects.all():
if ror_id := org.ror_json.get("id", None):
org.ror_json = ror_api_handler.from_id(ror_id)
org.save()
updated += 1
else:
missing += 1
self.stdout.write(
self.style.SUCCESS(
f"Successfully updated {updated} organizations, {missing} organizations missing `id`"
)
)
......@@ -47,12 +47,14 @@
No ROR id found.
{% endif %}
<button class="btn btn-sm btn-primary ms-auto"
hx-get="{% url "organizations:ror_search_form" pk=org.id %}"
hx-target="#ror-container">Edit</button>
<button class="btn btn-sm btn-secondary ms-2"
hx-get="{% url "organizations:ror_add" pk=org.id ror_id="None" %}"
hx-target="#organization-info">Remove</button>
{% if perms.scipost.can_manage_organizations %}
<button class="btn btn-sm btn-primary ms-auto"
hx-get="{% url "organizations:ror_search_form" pk=org.id %}"
hx-target="#ror-container">Edit</button>
<button class="btn btn-sm btn-secondary ms-2"
hx-get="{% url "organizations:ror_add" pk=org.id ror_id="None" %}"
hx-target="#organization-info">Remove</button>
{% endif %}
</td>
</tr>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment