diff options
| author | Daniel Schadt <kingdread@gmx.de> | 2025-12-28 21:50:28 +0100 |
|---|---|---|
| committer | Daniel Schadt <kingdread@gmx.de> | 2025-12-30 19:16:32 +0100 |
| commit | 8dbdfd8c042dcb8b4640e989077cc308d1879cc6 (patch) | |
| tree | 494090f7f465d07d4f7e419a9e9fedf1566d0c96 | |
| parent | aeab3749f487755001d11c20c714cf6f6d82e53f (diff) | |
| download | fietsboek-8dbdfd8c042dcb8b4640e989077cc308d1879cc6.tar.gz fietsboek-8dbdfd8c042dcb8b4640e989077cc308d1879cc6.tar.bz2 fietsboek-8dbdfd8c042dcb8b4640e989077cc308d1879cc6.zip | |
make journey link secrets work
| -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)) |
