diff options
-rw-r--r-- | chimere/admin.py | 22 | ||||
-rw-r--r-- | chimere/models.py | 34 |
2 files changed, 40 insertions, 16 deletions
diff --git a/chimere/admin.py b/chimere/admin.py index 55bc972..333db6d 100644 --- a/chimere/admin.py +++ b/chimere/admin.py @@ -396,6 +396,15 @@ class MarkerAdmin(admin.ModelAdmin): return form +class PictureRouteInline(PictureMarkerInline): + exclude = ('thumbnailfile', 'thumbnailfile_height', 'thumbnailfile_width', + 'polygon', 'marker') + + +class MultimediaRouteInline(MultimediaMarkerInline): + exclude = ('polygon', 'marker') + + class RouteAdmin(MarkerAdmin): """ Specialized the Route field. @@ -409,7 +418,7 @@ class RouteAdmin(MarkerAdmin): actions = [validate, disable, managed_modified, export_to_kml, export_to_shapefile, export_to_csv] fieldsets = ROUTE_FIELDSETS - inlines = [] + inlines = [MultimediaRouteInline, PictureRouteInline] has_properties = False geo_type = 'route' @@ -429,6 +438,15 @@ class RouteAdmin(MarkerAdmin): Route.objects.filter(pk=item_id)) +class PicturePolygonInline(PictureMarkerInline): + exclude = ('thumbnailfile', 'thumbnailfile_height', 'thumbnailfile_width', + 'route', 'marker') + + +class MultimediaPolygonInline(MultimediaMarkerInline): + exclude = ('route', 'marker') + + class PolygonAdmin(MarkerAdmin): """ Specialized the Polygon field. @@ -442,7 +460,7 @@ class PolygonAdmin(MarkerAdmin): 'submiter_name', 'ref_item', 'modified_since_import'] exclude = ['submiter_session_key', 'import_key', 'import_version', 'ref_item'] - inlines = [] + inlines = [MultimediaPolygonInline, PicturePolygonInline] fieldsets = POLYGON_FIELDSETS geo_type = 'polygon' diff --git a/chimere/models.py b/chimere/models.py index e767ab0..f08ff7a 100644 --- a/chimere/models.py +++ b/chimere/models.py @@ -837,8 +837,9 @@ GEOM_TO_GEOM_ITEM = { class Marker(GeographicItem): - '''Marker for a POI - ''' + """ + Marker for a POI + """ ref_item = models.ForeignKey( "Marker", blank=True, null=True, verbose_name=_("Reference marker"), related_name='submited_marker') @@ -888,18 +889,21 @@ class Marker(GeographicItem): return 'point' def getLatitude(self): - '''Return the latitude - ''' + """ + Return the latitude + """ return self.point.y def getLongitude(self): - '''Return the longitude - ''' + """ + Return the longitude + """ return self.point.x def getGeoJSON(self, categories_id=[]): - '''Return a GeoJSON string - ''' + """ + Return a GeoJSON string + """ jsons = [] json_tpl = {"type": "Feature", "properties": {}} for cat in self.categories.all(): @@ -1062,8 +1066,9 @@ post_save.connect(marker_post_save, sender=Marker) class Polygon(GeographicItem): - '''Polygon on the map - ''' + """ + Polygon on the map + """ ref_item = models.ForeignKey( "Polygon", blank=True, null=True, verbose_name=_("Reference polygon"), related_name='submited_polygon') @@ -1166,9 +1171,9 @@ post_save.connect(weighted_post_save, sender=Polygon) class AggregatedPolygon(models.Model): - ''' + """ Database view for aggregated polygons - ''' + """ polygon = models.MultiPolygonField() subcategory = models.ForeignKey(SubCategory) status = models.CharField(_("Status"), max_length=1, choices=STATUS) @@ -1519,8 +1524,9 @@ class RouteFile(models.Model): class Route(GeographicItem): - '''Route on the map - ''' + """ + Route on the map + """ ref_item = models.ForeignKey( "Route", blank=True, null=True, verbose_name=_("Reference route"), related_name='submited_route') |