From b73d7c13951fd18d276cf55ffa553dad46894f0e Mon Sep 17 00:00:00 2001
From: jkuensem <jkuensem@physik.uni-bielefeld.de>
Date: Wed, 29 Jul 2020 09:33:02 +0200
Subject: [PATCH] TMSS-241: Remove auto-created quota again, due to misleading
 ticket

---
 .../src/tmss/tmssapp/models/specification.py  | 37 ++++++++++++-------
 1 file changed, 23 insertions(+), 14 deletions(-)

diff --git a/SAS/TMSS/src/tmss/tmssapp/models/specification.py b/SAS/TMSS/src/tmss/tmssapp/models/specification.py
index 854d5392c6f..38b4ee07bd8 100644
--- a/SAS/TMSS/src/tmss/tmssapp/models/specification.py
+++ b/SAS/TMSS/src/tmss/tmssapp/models/specification.py
@@ -286,20 +286,29 @@ class Project(NamedCommonPK):
     project_category = ForeignKey('ProjectCategory', null=True, on_delete=PROTECT, help_text='Project category.')
     period_category = ForeignKey('PeriodCategory', null=True, on_delete=PROTECT, help_text='Period category.')
 
-    # also create default project quotas when projects are created
-    def save(self, force_insert=False, force_update=False, using=None, update_fields=None):
-        creating = self._state.adding  # True on create, False on update
-        super().save(force_insert, force_update, using, update_fields)
-        if creating:
-            # todo: review these defaults for being sensible
-            ProjectQuota.objects.create(resource_type=ResourceType.objects.get(name="lta_storage"), value=1024^4, project=self)
-            ProjectQuota.objects.create(resource_type=ResourceType.objects.get(name="cep_storage"), value=1024^4, project=self)
-            ProjectQuota.objects.create(resource_type=ResourceType.objects.get(name="cep_processing_time"), value=60*60*24, project=self)
-            ProjectQuota.objects.create(resource_type=ResourceType.objects.get(name="lofar_observing_time"), value=60*60*24, project=self)
-            ProjectQuota.objects.create(resource_type=ResourceType.objects.get(name="lofar_observing_time_prio_a"), value=60*60*12, project=self)
-            ProjectQuota.objects.create(resource_type=ResourceType.objects.get(name="lofar_observing_time_prio_b"), value=60*60*12, project=self)
-            ProjectQuota.objects.create(resource_type=ResourceType.objects.get(name="support_time"), value=60*60*6, project=self)
-            ProjectQuota.objects.create(resource_type=ResourceType.objects.get(name="number_of_triggers"), value=42, project=self)
+    # JK, 29/07/20 - after discussion with Sander, it turns out that the ticket TMSS-277 was a misunderstanding.
+    #  'default' does not refer to 'default values' that are supposed to be filled in by the backend.
+    #  It was meant to be 'resource_types displayed in the frontend by default', where the other resource_types are
+    #  optionally added to the set of quota. These can then be customized in the frontend and are created by the
+    #  frontend in the backend, but no quota are intended to be added automatically. So nothing is really  needed in
+    #  the backend for this (apart from the set of predefined resource_types).
+    #  There was some open question on whether there may be a required subset of quota that have to be enforced. So
+    #  I'll leave this in for now, until that question is cleared up.
+    #
+    # # also create default project quotas when projects are created
+    # def save(self, force_insert=False, force_update=False, using=None, update_fields=None):
+    #     creating = self._state.adding  # True on create, False on update
+    #     super().save(force_insert, force_update, using, update_fields)
+    #     if creating:
+    #         # todo: review these defaults for being sensible
+    #         ProjectQuota.objects.create(resource_type=ResourceType.objects.get(name="lta_storage"), value=1024^4, project=self)
+    #         ProjectQuota.objects.create(resource_type=ResourceType.objects.get(name="cep_storage"), value=1024^4, project=self)
+    #         ProjectQuota.objects.create(resource_type=ResourceType.objects.get(name="cep_processing_time"), value=60*60*24, project=self)
+    #         ProjectQuota.objects.create(resource_type=ResourceType.objects.get(name="lofar_observing_time"), value=60*60*24, project=self)
+    #         ProjectQuota.objects.create(resource_type=ResourceType.objects.get(name="lofar_observing_time_prio_a"), value=60*60*12, project=self)
+    #         ProjectQuota.objects.create(resource_type=ResourceType.objects.get(name="lofar_observing_time_prio_b"), value=60*60*12, project=self)
+    #         ProjectQuota.objects.create(resource_type=ResourceType.objects.get(name="support_time"), value=60*60*6, project=self)
+    #         ProjectQuota.objects.create(resource_type=ResourceType.objects.get(name="number_of_triggers"), value=42, project=self)
 
 
 class ProjectQuota(Model):
-- 
GitLab