From b6d1dacd493961d708eaf12cd2dbf7dfce5c842e Mon Sep 17 00:00:00 2001
From: George Katsikas <giorgakis.katsikas@gmail.com>
Date: Mon, 27 Nov 2023 16:04:55 +0100
Subject: [PATCH] rename field from grid to ror

---
 scipost_django/organizations/admin.py          |  7 ++++++-
 ...0_rename_grid_json_organization_ror_json.py | 18 ++++++++++++++++++
 scipost_django/organizations/models.py         |  6 +++---
 3 files changed, 27 insertions(+), 4 deletions(-)
 create mode 100644 scipost_django/organizations/migrations/0020_rename_grid_json_organization_ror_json.py

diff --git a/scipost_django/organizations/admin.py b/scipost_django/organizations/admin.py
index 6923475aa..0b7d0c064 100644
--- a/scipost_django/organizations/admin.py
+++ b/scipost_django/organizations/admin.py
@@ -37,12 +37,17 @@ class OrganizationAdmin(GuardedModelAdmin):
         OrganizationEventInline,
         ContactPersonInline,
     ]
-    search_fields = ["name", "acronym"]
+    list_display = ["id", "name", "acronym", "ror_id", "status", "orgtype"]
+    search_fields = ["name", "acronym", "name_original", "ror_json"]
+    list_filter = ["status", "orgtype"]
     autocomplete_fields = [
         "parent",
         "superseded_by",
     ]
 
+    def ror_id(self, obj):
+        return obj.ror_json.get("id", None) if obj.ror_json else None
+
 
 admin.site.register(Organization, OrganizationAdmin)
 
diff --git a/scipost_django/organizations/migrations/0020_rename_grid_json_organization_ror_json.py b/scipost_django/organizations/migrations/0020_rename_grid_json_organization_ror_json.py
new file mode 100644
index 000000000..470761d77
--- /dev/null
+++ b/scipost_django/organizations/migrations/0020_rename_grid_json_organization_ror_json.py
@@ -0,0 +1,18 @@
+# Generated by Django 3.2.18 on 2023-11-27 08:36
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('organizations', '0019_auto_20220314_0723'),
+    ]
+
+    operations = [
+        migrations.RenameField(
+            model_name='organization',
+            old_name='grid_json',
+            new_name='ror_json',
+        ),
+    ]
diff --git a/scipost_django/organizations/models.py b/scipost_django/organizations/models.py
index b4e7c8da3..9000d0298 100644
--- a/scipost_django/organizations/models.py
+++ b/scipost_django/organizations/models.py
@@ -124,9 +124,9 @@ class Organization(models.Model):
     css_class = models.CharField(
         max_length=256, blank=True, verbose_name="Additional logo CSS class"
     )
-    grid_json = models.JSONField(
+    ror_json = models.JSONField(
         default=dict, blank=True, null=True
-    )  # JSON data from GRID
+    )  # JSON data from ROR
     crossref_json = models.JSONField(
         default=dict, blank=True, null=True
     )  # JSON data from Crossref
@@ -207,7 +207,7 @@ class Organization(models.Model):
         return publications.filter(pk__in=self.cf_associated_publication_ids["all"])
 
     def get_affiliate_publications(self, journal):
-        return AffiliatePublications.objects.filter(
+        return AffiliatePublication.objects.filter(
             pubfractions__organization=self,
             journal=journal,
         )
-- 
GitLab