diff options
| 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 |
| commit | 2a52b938ec9ed46f609a5df850bf39965995da43 (patch) | |
| tree | acf4b7d0a326701adfd17fa7ad6687d8a0aefebb /chimere/views.py | |
| parent | e258552038a630cdfde44b3e39ec24d72914f180 (diff) | |
| download | Chimère-2a52b938ec9ed46f609a5df850bf39965995da43.tar.bz2 Chimère-2a52b938ec9ed46f609a5df850bf39965995da43.zip | |
Manage edition rights
Diffstat (limited to 'chimere/views.py')
| -rw-r--r-- | chimere/views.py | 14 |
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 |
