summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2016-09-09 14:32:28 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2016-09-09 14:32:28 +0200
commit916920ad3dcc18c2c252698ee192c265743ab01a (patch)
treeaf639c67b2f1637d4a8526776e556906a3fbe882
parent19aca26153c716737dffd48effbb98a6a4540caf (diff)
downloadIshtar-916920ad3dcc18c2c252698ee192c265743ab01a.tar.bz2
Ishtar-916920ad3dcc18c2c252698ee192c265743ab01a.zip
Shortcut menu: show all dependent items of pinned but not own parent item
-rw-r--r--archaeological_context_records/models.py6
-rw-r--r--archaeological_finds/models.py6
-rw-r--r--archaeological_operations/models.py7
-rw-r--r--ishtar_common/models.py8
-rw-r--r--ishtar_common/views.py1
5 files changed, 15 insertions, 13 deletions
diff --git a/archaeological_context_records/models.py b/archaeological_context_records/models.py
index d4e175d55..0123dd2ed 100644
--- a/archaeological_context_records/models.py
+++ b/archaeological_context_records/models.py
@@ -227,11 +227,11 @@ class ContextRecord(BaseHistorizedItem, ImageModel, OwnPerms, ShortMenuItem):
@classmethod
def get_owns(cls, user, menu_filtr=None):
- extra_query = {}
+ replace_query = {}
if menu_filtr:
- extra_query = {'operation': menu_filtr}
+ replace_query = {'operation': menu_filtr}
owns = super(ContextRecord, cls).get_owns(user,
- extra_query=extra_query)
+ replace_query=replace_query)
return sorted(owns, key=lambda x: x.cached_label)
def full_label(self):
diff --git a/archaeological_finds/models.py b/archaeological_finds/models.py
index d266bba76..603e046ee 100644
--- a/archaeological_finds/models.py
+++ b/archaeological_finds/models.py
@@ -575,10 +575,10 @@ class Find(BaseHistorizedItem, ImageModel, OwnPerms, ShortMenuItem):
@classmethod
def get_owns(cls, user, menu_filtr=None):
- extra_query = {}
+ replace_query = {}
if menu_filtr:
- extra_query = {'base_finds__context_record': menu_filtr}
- owns = super(Find, cls).get_owns(user, extra_query=extra_query)
+ replace_query = {'base_finds__context_record': menu_filtr}
+ owns = super(Find, cls).get_owns(user, replace_query=replace_query)
return sorted(owns, key=lambda x: x.cached_label)
def _generate_cached_label(self):
diff --git a/archaeological_operations/models.py b/archaeological_operations/models.py
index 701ae4593..228e9859e 100644
--- a/archaeological_operations/models.py
+++ b/archaeological_operations/models.py
@@ -300,10 +300,11 @@ class Operation(ClosedItem, BaseHistorizedItem, ImageModel, OwnPerms,
@classmethod
def get_owns(cls, user, menu_filtr=None):
- extra_query = {}
+ replace_query = {}
if menu_filtr:
- extra_query = {'associated_file': menu_filtr}
- owns = super(Operation, cls).get_owns(user, extra_query=extra_query)
+ replace_query = {'associated_file': menu_filtr}
+ owns = super(Operation, cls).get_owns(
+ user, replace_query=replace_query)
# owns = owns.annotate(null_count=Count('operation_code'))
# return owns.order_by("common_name", "-year", "operation_code")
return sorted(owns, key=lambda x: x.cached_label)
diff --git a/ishtar_common/models.py b/ishtar_common/models.py
index 9e48df8d2..29dedd113 100644
--- a/ishtar_common/models.py
+++ b/ishtar_common/models.py
@@ -235,7 +235,7 @@ class OwnPerms:
return cls.objects.filter(query).count()
@classmethod
- def get_owns(cls, user, extra_query={}):
+ def get_owns(cls, user, replace_query={}):
"""
Get Own items
"""
@@ -247,11 +247,11 @@ class OwnPerms:
if hasattr(cls, 'BASKET_MODEL'):
items = list(cls.BASKET_MODEL.objects.filter(user=user).all())
query = cls.get_query_owns(user)
- if not query:
+ if not query and not replace_query:
return cls.objects.filter(pk__isnull=True)
q = cls.objects.filter(query)
- if extra_query:
- q = q.filter(**extra_query)
+ if replace_query:
+ q = cls.objects.filter(**replace_query)
items += list(q.order_by(*cls._meta.ordering).all())
return items
diff --git a/ishtar_common/views.py b/ishtar_common/views.py
index 5022aa08e..95c4dbd76 100644
--- a/ishtar_common/views.py
+++ b/ishtar_common/views.py
@@ -236,6 +236,7 @@ def shortcut_menu(request):
if not new_selected_item and current:
try:
item = model.objects.get(pk=int(current))
+ new_selected_item = item
items.append((item.pk, shortify(unicode(item), 60),
True, item.get_short_menu_class()))
except (model.DoesNotExist, ValueError):