summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--chimere/admin.py15
-rw-r--r--chimere/views.py2
2 files changed, 11 insertions, 6 deletions
diff --git a/chimere/admin.py b/chimere/admin.py
index 4a540e4..55bc972 100644
--- a/chimere/admin.py
+++ b/chimere/admin.py
@@ -274,6 +274,8 @@ def moderator_right(user, qs, geo_type='marker'):
contained = contained | area.getIncludeMarker()
elif geo_type == 'route':
contained = contained | area.getIncludeRoute()
+ elif geo_type == 'polygon':
+ contained = contained | area.getIncludePolygon()
qs = qs.filter(contained)
if user.subcategory_limit_to.count():
qs = qs.filter(categories__in=SubCategory.objects.filter(
@@ -331,6 +333,7 @@ class MarkerAdmin(admin.ModelAdmin):
fieldsets = MARKER_FIELDSETS
inlines = [MultimediaMarkerInline, PictureMarkerInline]
has_properties = True
+ geo_type = 'marker'
def get_fieldsets(self, request, obj=None):
"""
@@ -352,16 +355,16 @@ class MarkerAdmin(admin.ModelAdmin):
Filter queryset with specific rights
"""
qs = super().get_queryset(request)
- qs = moderator_right(request.user, qs, geo_type='marker')
+ qs = moderator_right(request.user, qs, geo_type=self.geo_type)
ordering = self.ordering or ()
if ordering:
qs = qs.order_by(*ordering)
return qs.distinct()
def admin_modification(self, request, item_id):
- '''
+ """
Redirect to the marker modification form
- '''
+ """
return managed_modified(
self, request, Marker.objects.filter(pk=item_id))
@@ -408,6 +411,7 @@ class RouteAdmin(MarkerAdmin):
fieldsets = ROUTE_FIELDSETS
inlines = []
has_properties = False
+ geo_type = 'route'
def queryset(self, request):
qs = self.model._default_manager.get_query_set()
@@ -418,9 +422,9 @@ class RouteAdmin(MarkerAdmin):
return qs
def admin_modification(self, request, item_id):
- '''
+ """
Redirect to the route modification form
- '''
+ """
return managed_modified(self, request,
Route.objects.filter(pk=item_id))
@@ -440,6 +444,7 @@ class PolygonAdmin(MarkerAdmin):
'ref_item']
inlines = []
fieldsets = POLYGON_FIELDSETS
+ geo_type = 'polygon'
class LayerInline(admin.TabularInline):
diff --git a/chimere/views.py b/chimere/views.py
index 572aef3..30982c9 100644
--- a/chimere/views.py
+++ b/chimere/views.py
@@ -363,7 +363,7 @@ def uploadFile(request, category_id='', area_name=''):
try:
category = SubCategory.objects.get(pk=category_id)
response_dct['category'] = str(category)
- except:
+ except SubCategory.DoesNotExist:
pass
# If the form has been submited
if request.method == 'POST':