summaryrefslogtreecommitdiff
path: root/archaeological_files
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2017-01-29 17:47:02 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2017-01-29 17:47:02 +0100
commit46af1fc5f7d61d5bcfc516ba5fb645e5892a31a0 (patch)
tree2ecae8d0ce091985d6839784b9d4b406a6455632 /archaeological_files
parent0e9d38a6ed4dce4c23e6dfc59869d9d652e6dcfa (diff)
parent36928455883bd9366afe8bbd0c48076866df5802 (diff)
downloadIshtar-46af1fc5f7d61d5bcfc516ba5fb645e5892a31a0.tar.bz2
Ishtar-46af1fc5f7d61d5bcfc516ba5fb645e5892a31a0.zip
Merge branch 'master' into v0.9
Conflicts: archaeological_warehouse/migrations/0020_generate_cache_lbl_for_containers.py
Diffstat (limited to 'archaeological_files')
-rw-r--r--archaeological_files/models.py21
1 files changed, 14 insertions, 7 deletions
diff --git a/archaeological_files/models.py b/archaeological_files/models.py
index 638b19d18..15e65579c 100644
--- a/archaeological_files/models.py
+++ b/archaeological_files/models.py
@@ -340,12 +340,16 @@ class File(ClosedItem, BaseHistorizedItem, OwnPerms, ValueGetter,
cache.set(cache_key, has_adminact, settings.CACHE_TIMEOUT)
return has_adminact
- def get_short_menu_class(self):
- cache_key, val = get_cache(self.__class__, [self.pk,
- 'short_class_name'])
+ @classmethod
+ def get_short_menu_class(cls, pk):
+ cache_key, val = get_cache(cls, [pk, 'short_class_name'])
if val:
return val
- return self.update_short_menu_class(cache_key)
+ q = cls.objects.filter(pk=pk)
+ if not q.count():
+ return ''
+ item = q.all()[0]
+ return item.update_short_menu_class(cache_key)
def update_short_menu_class(self, cache_key=None):
if not cache_key:
@@ -366,9 +370,12 @@ class File(ClosedItem, BaseHistorizedItem, OwnPerms, ValueGetter,
return cls
@classmethod
- def get_owns(cls, user, menu_filtr=None, limit=None):
- owns = super(File, cls).get_owns(user, limit=limit)
- return sorted(owns, key=lambda x: x.cached_label)
+ def get_owns(cls, user, menu_filtr=None, limit=None, values=None,
+ get_short_menu_class=False):
+ owns = super(File, cls).get_owns(
+ user, limit=limit, values=values,
+ get_short_menu_class=get_short_menu_class)
+ return cls._return_get_owns(owns, values, get_short_menu_class)
def get_values(self, prefix=''):
values = super(File, self).get_values(prefix=prefix)