diff options
| -rw-r--r-- | fietsboek/templates/journey_details.jinja2 | 4 | ||||
| -rw-r--r-- | fietsboek/views/journey.py | 12 |
2 files changed, 16 insertions, 0 deletions
diff --git a/fietsboek/templates/journey_details.jinja2 b/fietsboek/templates/journey_details.jinja2 index 0133ed8..b669f13 100644 --- a/fietsboek/templates/journey_details.jinja2 +++ b/fietsboek/templates/journey_details.jinja2 @@ -56,7 +56,11 @@ </div> {% endif %} + {% if 'secret' in request.GET %} + {% set gpx_url = request.route_path("journey-gpx", journey_id=journey.id, _query=[('secret', request.GET['secret'])]) %} + {% else %} {% set gpx_url = request.route_path("journey-gpx", journey_id=journey.id) %} + {% endif %} <div id="mainmap" class="gpxview:{{ gpx_url }}:OSM" style="width:100%;height:600px"> <noscript><p>{{ _("page.noscript") }}<p></noscript> </div> diff --git a/fietsboek/views/journey.py b/fietsboek/views/journey.py index 75381a9..60ed433 100644 --- a/fietsboek/views/journey.py +++ b/fietsboek/views/journey.py @@ -98,6 +98,7 @@ def do_journey_new(request: Request): title=request.params.get("journeyTitle"), description=request.params.get("journeyDescription"), visibility=_extract_visibility(request), + link_secret=util.random_link_secret(), tracks=[], ) @@ -184,3 +185,14 @@ def do_journey_delete(request: Request): request.dbsession.delete(journey) request.session.flash(request.localizer.translate(_("journeys.deleted"))) return HTTPFound(request.route_url("journey-list")) + + +@view_config( + route_name="journey-invalidate-share", + permission="journey.edit", + request_method="POST", +) +def do_journey_invalidate_share(request: Request): + journey: Journey = request.context + journey.link_secret = util.random_link_secret() + return HTTPFound(request.route_url("journey-details", journey_id=journey.id)) |
