summaryrefslogtreecommitdiff
path: root/archaeological_warehouse
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2017-03-28 13:17:29 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2017-03-29 18:25:09 +0200
commit964ce0244baf55cc1af1029b67f991a0865f1f3c (patch)
tree72aaceee89f2fe1e30602314d2871bb433fd5a15 /archaeological_warehouse
parent9356c39d093063a7127ad4634492a3450aa698fe (diff)
downloadIshtar-964ce0244baf55cc1af1029b67f991a0865f1f3c.tar.bz2
Ishtar-964ce0244baf55cc1af1029b67f991a0865f1f3c.zip
Access control: fix get owns query for UEs, finds, warehouses and containers
Diffstat (limited to 'archaeological_warehouse')
-rw-r--r--archaeological_warehouse/models.py11
1 files changed, 11 insertions, 0 deletions
diff --git a/archaeological_warehouse/models.py b/archaeological_warehouse/models.py
index d1918f46a..fe054a37b 100644
--- a/archaeological_warehouse/models.py
+++ b/archaeological_warehouse/models.py
@@ -21,6 +21,7 @@ import datetime
from django.conf import settings
from django.contrib.gis.db import models
+from django.db.models import Q
from django.db.models.signals import post_save, post_delete
from django.template.defaultfilters import slugify
from django.utils.translation import ugettext_lazy as _, ugettext
@@ -78,6 +79,10 @@ class Warehouse(Address, OwnPerms):
return datetime.date.today().strftime('%Y-%m-%d') + '-' + \
slugify(unicode(self))
+ @classmethod
+ def get_query_owns(cls, user):
+ return Q(person_in_charge__ishtaruser=user.ishtaruser)
+
def save(self, *args, **kwargs):
super(Warehouse, self).save(*args, **kwargs)
for container in self.containers.all():
@@ -208,6 +213,12 @@ class Container(LightHistorizedItem, ImageModel):
cached_label = u" - ".join(items)
return cached_label
+ @classmethod
+ def get_query_owns(cls, user):
+ return Q(history_creator=user) | \
+ Q(location__person_in_charge__ishtaruser=user.ishtaruser) | \
+ Q(responsible__person_in_charge__ishtaruser=user.ishtaruser)
+
@property
def associated_filename(self):
filename = datetime.date.today().strftime('%Y-%m-%d')