summaryrefslogtreecommitdiff
path: root/chimere/views.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@peacefrogs.net>2013-06-18 19:00:00 +0200
committerÉtienne Loks <etienne.loks@peacefrogs.net>2013-06-18 19:00:17 +0200
commit2a52b938ec9ed46f609a5df850bf39965995da43 (patch)
treeacf4b7d0a326701adfd17fa7ad6687d8a0aefebb /chimere/views.py
parente258552038a630cdfde44b3e39ec24d72914f180 (diff)
downloadChimère-2a52b938ec9ed46f609a5df850bf39965995da43.tar.bz2
Chimère-2a52b938ec9ed46f609a5df850bf39965995da43.zip
Manage edition rights
Diffstat (limited to 'chimere/views.py')
-rw-r--r--chimere/views.py14
1 files changed, 11 insertions, 3 deletions
diff --git a/chimere/views.py b/chimere/views.py
index d9231e1..8964321 100644
--- a/chimere/views.py
+++ b/chimere/views.py
@@ -94,10 +94,18 @@ def get_base_response(request, map_name="", edit=False):
map_name = map.urn
elif map_name:
return None, redirect(reverse('chimere:index'))
- if edit and map:
- base_response_dct['can_write'] = bool(map.public_write or
+ if map:
+ base_response_dct['can_write'] = map.public_write
+ base_response_dct['can_propose'] = map.public_propose
+ if base_response_dct['is_authenticated']:
+ base_response_dct['can_write'] = \
+ base_response_dct['can_write'] or bool(
Map.objects.filter(pk=map.pk, mapusers__user=request.user,
mapusers__write=True).count())
+ base_response_dct['can_propose'] = \
+ base_response_dct['can_propose'] or bool(
+ Map.objects.filter(pk=map.pk, mapusers__user=request.user,
+ mapusers__propose=True).count())
base_response_dct['map'] = map
base_response_dct['map_name'] = map_name
@@ -201,7 +209,7 @@ def index(request, map_name=None, default_map=None, simple=False,
'dynamic_categories':response_dct['dynamic_categories'],
'zoomout':zoomout,
'has_default_map':Map.objects.filter(default=True).count(),
- 'zoomout':zoomout
+ 'zoomout':zoomout,
})
if hasattr(settings, 'CONTACT_EMAIL') and settings.CONTACT_EMAIL:
response_dct['contact_email'] = settings.CONTACT_EMAIL