From 2b3190ca71e8fa363513853c458a64581c14f17c Mon Sep 17 00:00:00 2001
From: "J.-S. Caux" <J.S.Caux@uva.nl>
Date: Sun, 7 Oct 2018 16:51:38 +0200
Subject: [PATCH] Delete model partners.Consortium

This model is deprecated in favour of Organization.
A Consortium is now simply one of the possible types of
Organizations.
---
 partners/admin.py                             |  3 +--
 partners/constants.py                         |  6 -----
 .../migrations/0019_auto_20181007_1647.py     | 23 +++++++++++++++++++
 .../migrations/0020_auto_20181007_1649.py     | 22 ++++++++++++++++++
 partners/models.py                            | 19 +--------------
 5 files changed, 47 insertions(+), 26 deletions(-)
 create mode 100644 partners/migrations/0019_auto_20181007_1647.py
 create mode 100644 partners/migrations/0020_auto_20181007_1649.py

diff --git a/partners/admin.py b/partners/admin.py
index 820a12e6a..75cf4d2c8 100644
--- a/partners/admin.py
+++ b/partners/admin.py
@@ -4,7 +4,7 @@ __license__ = "AGPL v3"
 
 from django.contrib import admin
 
-from .models import Contact, Partner, PartnerEvent, Consortium, Institution,\
+from .models import Contact, Partner, PartnerEvent, Institution,\
                     ProspectivePartner, ProspectiveContact, ProspectivePartnerEvent,\
                     MembershipAgreement, ContactRequest, PartnersAttachment
 
@@ -63,7 +63,6 @@ class MembershipAgreementAdmin(admin.ModelAdmin):
 
 
 admin.site.register(Partner, PartnerAdmin)
-admin.site.register(Consortium)
 admin.site.register(Contact)
 admin.site.register(ContactRequest)
 admin.site.register(Institution)
diff --git a/partners/constants.py b/partners/constants.py
index 02a5e5da0..31f301c3e 100644
--- a/partners/constants.py
+++ b/partners/constants.py
@@ -74,12 +74,6 @@ REQUEST_STATUSES = (
 )
 
 
-CONSORTIUM_STATUS = (
-    ('Prospective', 'Prospective'),
-    ('Active', 'Active'),
-    ('Inactive', 'Inactive'),
-)
-
 PARTNER_STATUS_UPDATE = 'status_update'
 PARTNER_EVENTS = (
     ('initial', 'Contacted (initial)'),
diff --git a/partners/migrations/0019_auto_20181007_1647.py b/partners/migrations/0019_auto_20181007_1647.py
new file mode 100644
index 000000000..b3b110f7a
--- /dev/null
+++ b/partners/migrations/0019_auto_20181007_1647.py
@@ -0,0 +1,23 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.4 on 2018-10-07 14:47
+from __future__ import unicode_literals
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('partners', '0018_auto_20180922_1609'),
+    ]
+
+    operations = [
+        migrations.RemoveField(
+            model_name='contact',
+            name='consortia',
+        ),
+        migrations.RemoveField(
+            model_name='membershipagreement',
+            name='consortium',
+        ),
+    ]
diff --git a/partners/migrations/0020_auto_20181007_1649.py b/partners/migrations/0020_auto_20181007_1649.py
new file mode 100644
index 000000000..540ad0e17
--- /dev/null
+++ b/partners/migrations/0020_auto_20181007_1649.py
@@ -0,0 +1,22 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.4 on 2018-10-07 14:49
+from __future__ import unicode_literals
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('partners', '0019_auto_20181007_1647'),
+    ]
+
+    operations = [
+        migrations.RemoveField(
+            model_name='consortium',
+            name='partners',
+        ),
+        migrations.DeleteModel(
+            name='Consortium',
+        ),
+    ]
diff --git a/partners/models.py b/partners/models.py
index 738e33ead..4b3696ce1 100644
--- a/partners/models.py
+++ b/partners/models.py
@@ -17,7 +17,7 @@ from django.urls import reverse
 from django_countries.fields import CountryField
 
 from .constants import (
-    PARTNER_KINDS, PARTNER_STATUS, CONSORTIUM_STATUS, MEMBERSHIP_DURATION, PARTNER_EVENTS,
+    PARTNER_KINDS, PARTNER_STATUS, MEMBERSHIP_DURATION, PARTNER_EVENTS,
     PROSPECTIVE_PARTNER_STATUS, PROSPECTIVE_PARTNER_EVENTS, MEMBERSHIP_AGREEMENT_STATUS,
     PROSPECTIVE_PARTNER_ADDED, PARTNER_KIND_UNI_LIBRARY)
 from .constants import (
@@ -173,9 +173,6 @@ class Contact(models.Model):
     partners = models.ManyToManyField('partners.Partner',
                                       help_text=('All Partners (+related Institutions)'
                                                  ' the Contact is related to.'))
-    consortia = models.ManyToManyField('partners.Consortium', blank=True,
-                                       help_text=('All Consortia for which the Contact has'
-                                                  ' explicit permission to view/edit its data.'))
     activation_key = models.CharField(max_length=40, blank=True)
     key_expires = models.DateTimeField(default=timezone.now)
 
@@ -271,18 +268,6 @@ class PartnerEvent(models.Model):
         return '%s: %s' % (str(self.partner), self.get_event_display())
 
 
-class Consortium(models.Model):
-    """
-    Collection of Partners.
-    """
-    name = models.CharField(max_length=128)
-    partners = models.ManyToManyField('partners.Partner', blank=True)
-    status = models.CharField(max_length=16, choices=CONSORTIUM_STATUS)
-
-    class Meta:
-        verbose_name_plural = 'consortia'
-
-
 class MembershipAgreement(models.Model):
     """
     Agreement for membership of the Supporting Partners Board.
@@ -290,8 +275,6 @@ class MembershipAgreement(models.Model):
     """
     partner = models.ForeignKey('partners.Partner', on_delete=models.CASCADE,
                                 blank=True, null=True, related_name='agreements')
-    consortium = models.ForeignKey('partners.Consortium', on_delete=models.CASCADE,
-                                   blank=True, null=True)
     status = models.CharField(max_length=16, choices=MEMBERSHIP_AGREEMENT_STATUS)
     date_requested = models.DateField()
     start_date = models.DateField()
-- 
GitLab