summaryrefslogtreecommitdiff
path: root/archaeological_warehouse/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'archaeological_warehouse/models.py')
-rw-r--r--archaeological_warehouse/models.py12
1 files changed, 11 insertions, 1 deletions
diff --git a/archaeological_warehouse/models.py b/archaeological_warehouse/models.py
index 63d4497ac..7b98a385a 100644
--- a/archaeological_warehouse/models.py
+++ b/archaeological_warehouse/models.py
@@ -20,6 +20,7 @@
import datetime
import uuid
+from django.conf import settings
from django.contrib.gis.db import models
from django.contrib.postgres.indexes import GinIndex
from django.core.urlresolvers import reverse
@@ -898,7 +899,16 @@ class Container(DocumentItem, LightHistorizedItem, QRCodeItem, GeoItem,
return actions
def pre_save(self):
- if not self.index and self.responsible_id:
+ if self.index:
+ return
+ if settings.ISHTAR_CONTAINER_INDEX == "general":
+ q = Container.objects
+ if q.count():
+ self.index = int(
+ q.aggregate(Max("index"))["index__max"] or 0) + 1
+ else:
+ self.index = 1
+ elif self.responsible_id: # default is index by warehouse
q = Container.objects.filter(responsible=self.responsible)
if q.count():
self.index = int(q.aggregate(Max("index"))["index__max"]) + 1