diff --git a/src/c3nav/routing/models.py b/src/c3nav/routing/models.py index 01c5c0a8..b2684e51 100644 --- a/src/c3nav/routing/models.py +++ b/src/c3nav/routing/models.py @@ -176,3 +176,6 @@ class RouteOptions(models.Model): return super().save(*args, **kwargs) self.request.session['route_options'] = self + + def items(self): + yield from self.data.items() diff --git a/src/c3nav/routing/route.py b/src/c3nav/routing/route.py index a3170d86..402278de 100644 --- a/src/c3nav/routing/route.py +++ b/src/c3nav/routing/route.py @@ -89,6 +89,24 @@ class Route: distance_str = '%d m' % distance summary = '%s (%s)' % (duration_str, distance_str) + options_summary = [ + { + 'fastest': _('fastest route'), + 'shortest': _('shortest route') + }[self.options['mode']], + ] + + waytypes_excluded = sum((name.startswith('waytype_') and value != 'allow') + for name, value in self.options.items()) + + if waytypes_excluded: + options_summary.append(_('some path types avoided')) + else: + options_summary.append(_('default options')) + + options_summary = ', '.join(str(s) for s in options_summary) + + return OrderedDict(( ('origin', describe_location(self.origin, locations)), ('destination', describe_location(self.destination, locations)), @@ -97,6 +115,7 @@ class Route: ('distance_str', distance_str), ('duration_str', duration_str), ('summary', summary), + ('options_summary', options_summary), ('items', tuple(item.serialize(locations=locations) for item in items)), )) diff --git a/src/c3nav/site/static/site/js/c3nav.js b/src/c3nav/site/static/site/js/c3nav.js index a508b21f..dcf90e23 100644 --- a/src/c3nav/site/static/site/js/c3nav.js +++ b/src/c3nav/site/static/site/js/c3nav.js @@ -368,6 +368,7 @@ c3nav = { c3nav._firstRouteLevel = first_primary_level; $route.find('span').text(result.summary); + $route.find('em').text(result.options_summary); $route.removeClass('loading'); $details_wrapper.removeClass('loading'); diff --git a/src/c3nav/site/templates/site/map.html b/src/c3nav/site/templates/site/map.html index 7ee80608..1bd702e4 100644 --- a/src/c3nav/site/templates/site/map.html +++ b/src/c3nav/site/templates/site/map.html @@ -61,8 +61,8 @@
directions - 10min (100m)… sorry no routing yet - default options + +