diff options
| -rw-r--r-- | chimere/admin.py | 13 | ||||
| -rw-r--r-- | chimere/models.py | 15 |
2 files changed, 25 insertions, 3 deletions
diff --git a/chimere/admin.py b/chimere/admin.py index 36072ab..2fb36e8 100644 --- a/chimere/admin.py +++ b/chimere/admin.py @@ -60,6 +60,8 @@ def disable(modeladmin, request, queryset): for item in queryset: item.status = 'D' item.save() + + disable.short_description = _("Disable") @@ -67,6 +69,8 @@ def validate(modeladmin, request, queryset): for item in queryset: item.status = 'A' item.save() + + validate.short_description = _("Validate") @@ -79,6 +83,8 @@ def export_to_kml(modeladmin, request, queryset): content_type='application/vnd.google-earth.kml+xml') response['Content-Disposition'] = 'attachment; filename=%s' % filename return response + + export_to_kml.short_description = _("Export to KML") @@ -94,6 +100,8 @@ def export_to_shapefile(modeladmin, request, queryset): response['Content-Type'] = 'application/zip' response.write(zip_stream) return response + + export_to_shapefile.short_description = _("Export to Shapefile") @@ -105,6 +113,8 @@ def export_to_csv(modeladmin, request, queryset): response = HttpResponse(result, content_type='text/csv') response['Content-Disposition'] = 'attachment; filename=%s' % filename return response + + export_to_csv.short_description = _("Export to CSV") @@ -163,6 +173,8 @@ def managed_modified(modeladmin, request, queryset): return render_to_response('admin/chimere/managed_modified.html', {'item': item, 'item_ref': item_ref}, context_instance=RequestContext(request)) + + managed_modified.short_description = _("Managed modified items") @@ -175,6 +187,7 @@ class UserAdmin(VanillaUserAdmin): list_display = ('username', 'email', 'first_name', 'last_name', 'is_staff') inlines = (CatLimitInline,) + admin.site.unregister(User) admin.site.register(User, UserAdmin) diff --git a/chimere/models.py b/chimere/models.py index c1b47d3..d00d0b6 100644 --- a/chimere/models.py +++ b/chimere/models.py @@ -2057,19 +2057,28 @@ class Area(models.Model, SimpleArea): """ Get the sql statement for the test if the point is included in the area """ - return Q(point__contained=self.getWkt()) + q = Q(point__contained=self.getWkt()) + if self.subcategories.count(): + q = q & Q(categories__in=self.subcategories.all()) + return q def getIncludeRoute(self): """ Get the sql statement for the test if the route is included in the area """ - return Q(route__contained=self.getWkt()) + q = Q(route__contained=self.getWkt()) + if self.subcategories.count(): + q = q & Q(categories__in=self.subcategories.all()) + return q def getIncludePolygon(self): """ Get the sql statement for the test if the route is included in the area """ - return Q(polygon__contained=self.getWkt()) + q = Q(polygon__contained=self.getWkt()) + if self.subcategories.count(): + q = q & Q(categories__in=self.subcategories.all()) + return q pre_save_area_values = {} |
