diff options
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 |
commit | 916920ad3dcc18c2c252698ee192c265743ab01a (patch) | |
tree | af639c67b2f1637d4a8526776e556906a3fbe882 | |
parent | 19aca26153c716737dffd48effbb98a6a4540caf (diff) | |
download | Ishtar-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.py | 6 | ||||
-rw-r--r-- | archaeological_finds/models.py | 6 | ||||
-rw-r--r-- | archaeological_operations/models.py | 7 | ||||
-rw-r--r-- | ishtar_common/models.py | 8 | ||||
-rw-r--r-- | ishtar_common/views.py | 1 |
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): |