summaryrefslogtreecommitdiff
path: root/archaeological_finds/views.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2018-11-29 19:34:31 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2018-11-29 19:34:31 +0100
commit0493613840e21a9b72ea6d9d5eaa90968dc7f472 (patch)
tree05cdd1da4246ddb4e3e8b69c9a968f3e0d14d7b9 /archaeological_finds/views.py
parentd55d1326e67635ba9cef04e6423fe5070bad0009 (diff)
downloadIshtar-0493613840e21a9b72ea6d9d5eaa90968dc7f472.tar.bz2
Ishtar-0493613840e21a9b72ea6d9d5eaa90968dc7f472.zip
Basket: manage basket share (ro and edit) - manage alt query own
Diffstat (limited to 'archaeological_finds/views.py')
-rw-r--r--archaeological_finds/views.py17
1 files changed, 12 insertions, 5 deletions
diff --git a/archaeological_finds/views.py b/archaeological_finds/views.py
index 29f0f75af..125567044 100644
--- a/archaeological_finds/views.py
+++ b/archaeological_finds/views.py
@@ -109,12 +109,19 @@ show_find = show_item(models.Find, 'find')
display_find = display_item(models.Find)
revert_find = revert_item(models.Find)
-show_findbasket = show_item(models.FindBasket, 'findbasket')
+show_findbasket = show_item(models.FindBasket, 'findbasket',
+ model_for_perms=models.Find)
display_findbasket = display_item(models.FindBasket,
show_url='show-find/basket-')
get_find_basket = get_item(
models.FindBasket, 'get_findbasket', 'findbasket',
+ model_for_perms=models.Find
+)
+
+get_find_basket_for_write = get_item(
+ models.FindBasket, 'get_findbasket', 'findbasket',
+ model_for_perms=models.Find, alt_query_own='get_write_query_owns'
)
basket_search_wizard = FindBasketSearch.as_view(
@@ -125,10 +132,10 @@ basket_search_wizard = FindBasketSearch.as_view(
basket_modify_wizard = FindBasketEditWizard.as_view(
[
- ('selec-find_basket_modification', FindBasketFormSelection),
+ ('selec-find_basket_modification', FindBasketForWriteFormSelection),
('basket-find_basket_modification', FindBasketForm),
('final-find_basket_modification', FinalForm)
- ],
+ ],
label=_(u"Basket modify"),
url_name='find_basket_modification',
)
@@ -290,8 +297,8 @@ class OwnBasket(object):
def get_basket(self, user, pk):
try:
return models.FindBasket.objects.filter(
- Q(user=user) | Q(shared_with=user)
- ).get(pk=pk)
+ Q(user=user) | Q(shared_with=user) | Q(shared_write_with=user)
+ ).distinct().get(pk=pk)
except models.FindBasket.DoesNotExist:
raise PermissionDenied