Daniel Friesel
|
1c46f56b50
|
fix comment visibilitiy check
|
2023-03-02 18:34:01 +01:00 |
|
Daniel Friesel
|
792ab9fe23
|
journey details: require valid token if too old
|
2023-03-02 18:31:17 +01:00 |
|
Daniel Friesel
|
d35c49b55d
|
user status: only redirect to journey if journey is visible
|
2023-03-02 17:54:09 +01:00 |
|
Daniel Friesel
|
77ac39f389
|
user status: pass token to journey on redirect
|
2023-03-01 17:59:20 +01:00 |
|
Daniel Friesel
|
ba483a9daf
|
journey: add token to share link if non-public
|
2023-02-28 19:45:27 +01:00 |
|
Daniel Friesel
|
6d261197e3
|
set visibility per journey (wip)
some odds and ends left to polish, but ready for testing
|
2023-02-27 22:14:54 +01:00 |
|
Daniel Friesel
|
fb3878665b
|
update ze copyright
|
2023-02-19 09:35:38 +01:00 |
|
Daniel Friesel
|
978c7b03c2
|
journey: add share button
|
2023-02-15 20:01:43 +01:00 |
|
Daniel Friesel
|
1e1c71cfd8
|
journey details: include delay and distance in og card
|
2023-02-14 21:31:46 +01:00 |
|
Daniel Friesel
|
1c63574245
|
users: rename "add_user" to "add" and "get_data" to "get"
|
2023-01-22 12:44:19 +01:00 |
|
Daniel Friesel
|
8e94fcea5f
|
move token type to ID map from Travelynx.pm to Model/Users
|
2023-01-22 12:33:02 +01:00 |
|
Daniel Friesel
|
59e9a24aa6
|
move get_api_token to users model
|
2023-01-22 11:34:53 +01:00 |
|
Daniel Friesel
|
af82c46d57
|
get latets stations: remove duplicates
|
2023-01-22 10:32:06 +01:00 |
|
Daniel Friesel
|
3e2491a9bc
|
API documentation: do not perform database requests from template helpers
|
2023-01-21 08:36:25 +01:00 |
|
Daniel Friesel
|
e937324617
|
landing page: show past stops if geolocation is unavailable
|
2023-01-18 18:13:35 +01:00 |
|
Daniel Friesel
|
9b57a74831
|
webfinger: remove superfluous acct: in response
|
2023-01-08 10:02:45 +01:00 |
|
Daniel Friesel
|
ad253e48e8
|
webfinger queries are prefixed with acct:
|
2023-01-08 10:01:51 +01:00 |
|
Daniel Friesel
|
04817690e8
|
... derp
|
2023-01-08 10:00:42 +01:00 |
|
Daniel Friesel
|
6c96626214
|
webfinger: obtain base urls
|
2023-01-08 09:58:58 +01:00 |
|
Daniel Friesel
|
7b2cd23c39
|
add webfinger "profile-page" support (for public profiles only)
|
2023-01-08 09:40:49 +01:00 |
|
Daniel Friesel
|
04d096014e
|
Api: Fix 'uninitialized value' warning when no token is set
|
2023-01-03 10:12:53 +01:00 |
|
Daniel Friesel
|
dc53e4774b
|
review: shop travelynx version
|
2022-12-30 16:46:56 +01:00 |
|
Daniel Friesel
|
ccc93413a2
|
review: link to list of all single-trip checkins
|
2022-12-29 14:14:12 +01:00 |
|
Daniel Friesel
|
3abe6aed5c
|
it's a secret to everybody.
|
2022-12-27 11:07:16 +01:00 |
|
Daniel Friesel
|
68bc276bff
|
connecting trains: fix warning when encountering unknown platforms
|
2022-12-26 20:47:43 +01:00 |
|
Daniel Friesel
|
d256a1956a
|
history: return 404 if no journeys have been logged for requested period
|
2022-12-26 16:50:39 +01:00 |
|
Daniel Friesel
|
f12bec530a
|
yearly/monthly history: return 404 for invalid dates
|
2022-12-26 15:35:33 +01:00 |
|
Daniel Friesel
|
2f9ba6e017
|
switch to internal station database; add out-of-service stations for old journeys
|
2022-12-07 19:42:48 +01:00 |
|
Daniel Friesel
|
90d2e0357c
|
show expected load of suggested connections, if available
|
2022-11-12 18:37:00 +01:00 |
|
Daniel Friesel
|
c26c8820f2
|
Switch to internal HAFAS client for connection details
|
2022-11-09 18:14:07 +01:00 |
|
Daniel Friesel
|
6f107754fb
|
get_connecting_trains: departure delay is relevant for connecting trains
|
2022-09-28 19:40:31 +02:00 |
|
Daniel Friesel
|
9f06b52a00
|
get_connecting_trains_p: leave loops when done
|
2022-09-28 19:37:20 +02:00 |
|
Daniel Friesel
|
f3ad5a5ef3
|
connecting trains: HAFAS: Handle delay and pass it to frontend
|
2022-09-25 16:54:06 +02:00 |
|
Daniel Friesel
|
e54130ad6e
|
optionally show local transit connections as well
|
2022-09-24 18:53:04 +02:00 |
|
Daniel Friesel
|
e83cfc5303
|
connections: show expected arrival at destination
|
2022-09-24 16:11:51 +02:00 |
|
Daniel Friesel
|
906a8a4f55
|
departure board: add footer
|
2022-09-23 19:25:17 +02:00 |
|
Daniel Friesel
|
8198c9fe23
|
Static: remove unused $travelynx_version
|
2022-09-23 19:22:22 +02:00 |
|
Daniel Friesel
|
4367085887
|
add legend (not referenced yet)
|
2022-09-23 17:35:02 +02:00 |
|
Daniel Friesel
|
6bae226d5c
|
always show 'run' icon when an interchange is short
|
2022-09-23 17:32:27 +02:00 |
|
Daniel Friesel
|
8c511f955c
|
Controller/Traveling: perltidy
|
2022-09-07 18:08:27 +02:00 |
|
Daniel Friesel
|
ffeeb11e5a
|
get_connecting_trains_p: remove trains with identical routes to current one
|
2022-09-05 21:06:05 +02:00 |
|
Daniel Friesel
|
0a7188d2e2
|
get_connecting_trains_p: use has_str_in_list helper more often
|
2022-09-05 21:00:20 +02:00 |
|
Daniel Friesel
|
3b9db4bfd4
|
get_connecting_trains_p: handle uninitialized arr_countdown
|
2022-09-03 17:58:12 +02:00 |
|
Daniel Friesel
|
dd151dc686
|
get_connecting_trains_p: we're doing boolean arithmetic here
(fixes 'useless use of numeric lt in void context' warning)
|
2022-09-03 16:58:54 +02:00 |
|
Daniel Friesel
|
2f2624a80a
|
get_connecting_trains: set lookahead to (expected arrival // now) + 40 minutes
|
2022-09-03 16:46:48 +02:00 |
|
Daniel Friesel
|
6aca1692e4
|
get_connecting_trains_p: increase lookahead to 60
|
2022-08-26 18:56:50 +02:00 |
|
Daniel Friesel
|
ff317c5c2a
|
show connections up to 40 minutes before arrival (rather than just 20)
|
2022-08-26 18:38:54 +02:00 |
|
Daniel Friesel
|
1a2ff8262d
|
... 'status' is a reserved renderer key. oops.
|
2022-08-04 14:07:25 +02:00 |
|
Daniel Friesel
|
d0c061569d
|
Traveling: Rename log_action to travel_action
|
2022-08-02 22:22:10 +02:00 |
|
Daniel Friesel
|
d3c8daf84c
|
fetch connecting trains asynchronously
|
2022-08-01 10:07:24 +02:00 |
|
Daniel Friesel
|
c06d653195
|
Traveling: sort helpers <-> controllers
|
2022-07-30 10:47:18 +02:00 |
|
Daniel Friesel
|
de73024f1b
|
Passengerrights: section headers; perltidy
|
2022-07-30 10:45:18 +02:00 |
|
Daniel Friesel
|
aa19f4b00c
|
Api: section headers for helpers / controllers; perltidy
|
2022-07-30 10:42:21 +02:00 |
|
Daniel Friesel
|
0e01485952
|
Account: Move helpers to a separate section
|
2022-07-30 10:41:31 +02:00 |
|
Daniel Friesel
|
83954508f0
|
move get_connecting_trains helper to Traveling controller
|
2022-07-30 10:27:57 +02:00 |
|
Daniel Friesel
|
2da48e05be
|
move get_connecting_trains call from _checkeed_in to controller
|
2022-07-27 13:54:20 +02:00 |
|
Daniel Friesel
|
52ff756577
|
only show cancellation alternatives at original station
|
2022-07-26 15:36:45 +02:00 |
|
Daniel Friesel
|
1594ba9327
|
_checked_out: move get_connecting_trains call to controller
|
2022-07-26 15:36:22 +02:00 |
|
Daniel Friesel
|
960de27f0e
|
move get_connecting_trains out of _cancelled_departure template
|
2022-07-26 14:51:57 +02:00 |
|
Daniel Friesel
|
35338125bc
|
departure board: move get_connecting_trains call to controller
this is in preparation for turning it into a promise
|
2022-07-26 13:19:29 +02:00 |
|
Daniel Friesel
|
bb6acc0c6b
|
Use async IRIS API for /s/
|
2022-07-26 10:41:44 +02:00 |
|
Daniel Friesel
|
ff290c78e0
|
services: add marudor.de/regional
|
2022-07-16 13:55:36 +02:00 |
|
Daniel Friesel
|
5eab0c14f4
|
optionally link to external departure boards where sensible (WiP)
|
2022-07-11 22:09:26 +02:00 |
|
Daniel Friesel
|
5ff9e5c7a1
|
history map: allow filtering by train type
|
2022-04-02 18:14:21 +02:00 |
|
Daniel Friesel
|
5dfbdd8644
|
history map: add filter by date
|
2022-04-02 15:24:39 +02:00 |
|
Daniel Friesel
|
13b4572a2f
|
limit password length to 10000 characters
that should be sufficient…
|
2022-03-07 18:12:43 +01:00 |
|
Daniel Friesel
|
01aec7e977
|
fix ajax refresh of public status card (trim .html suffix)
|
2022-02-20 21:45:51 +01:00 |
|
Daniel Friesel
|
209e291821
|
Move webhook database queries to Users model
|
2022-02-20 17:35:30 +01:00 |
|
Daniel Friesel
|
167b01fa42
|
link traewelling profile from travelynx profile; show traewelling status
|
2022-02-16 20:56:28 +01:00 |
|
Daniel Friesel
|
ef3252863e
|
Traewelling::get: Use named args
|
2022-02-16 20:39:49 +01:00 |
|
Daniel Friesel
|
170c7e420e
|
Controller/Account: refactor mail notifications into separate functions
|
2022-01-19 19:25:03 +01:00 |
|
Daniel Friesel
|
ac3c70597d
|
Account: do not disclose denylist filename on open error
|
2021-10-30 10:03:40 +02:00 |
|
Daniel Friesel
|
39ab6e57d3
|
allow registration to be denied for certain IPs, e.g. known spammers
(yes, there are actually spambots flooding people with unsolicited
registration e-mails)
|
2021-08-20 22:52:02 +02:00 |
|
Daniel Friesel
|
95674ee2ea
|
Add explanation to name change page
|
2021-06-14 19:30:58 +02:00 |
|
Daniel Friesel
|
1803a1723c
|
move user name validation to Users model
|
2021-06-13 08:48:08 +02:00 |
|
Daniel Friesel
|
581aae081d
|
Model/Users: Remove superfluous "check_if_" prefix from check functions
|
2021-06-13 06:20:21 +02:00 |
|
Daniel Friesel
|
6cee1e20ef
|
allow users to change their name
|
2021-06-12 19:00:42 +02:00 |
|
Daniel Friesel
|
aad2a53459
|
attempt to prevent registration spam
|
2021-04-20 21:59:17 +02:00 |
|
Daniel Friesel
|
a4ff5e8ad8
|
Switch to AGPL3+
|
2021-01-29 18:32:13 +01:00 |
|
Daniel Friesel
|
77ecd6d034
|
move statistics cache to a separate model class
|
2020-11-28 21:03:51 +01:00 |
|
Daniel Friesel
|
b70ecc7c7c
|
Add a bunch of licensing data
|
2020-11-27 22:12:56 +01:00 |
|
Daniel Friesel
|
b1348c7d4a
|
move in_transit queries to an InTransit model class
|
2020-10-11 19:38:01 +02:00 |
|
Daniel Friesel
|
562dd7ccae
|
add toot and tweet settings to traewelling checkin
|
2020-10-04 12:27:20 +02:00 |
|
Daniel Friesel
|
89e709d8d5
|
Allow linking a Träwelling account, auto-sync Träwelling→travelynx
travelynx→Träwelling is still work-in-progress
Squashed commit of the following:
commit 97faa6e2e6c8d20fba30f2d0f6e78187ceeb72e6
Author: Daniel Friesel <derf@finalrewind.org>
Date: Wed Sep 30 18:50:05 2020 +0200
improve traewelling log and tx handling
commit 487d7dd728b9d45b731bdc7098cf3358ea2e206e
Author: Daniel Friesel <derf@finalrewind.org>
Date: Wed Sep 30 18:02:41 2020 +0200
add missing traewelling template
commit 0148da2f48d9a52dcddc0ab81f83d8f8ac3062ab
Author: Daniel Friesel <derf@finalrewind.org>
Date: Wed Sep 30 18:02:35 2020 +0200
improve traewelling pull sync
commit 4861a9750f9f2d7621043361d0af6b0a8869a0df
Author: Daniel Friesel <derf@finalrewind.org>
Date: Tue Sep 29 22:14:24 2020 +0200
wip checkin from traewelling
commit f6aeb6f06998a2a7a80f63a7b1b688b1a26b66bd
Author: Daniel Friesel <derf@finalrewind.org>
Date: Tue Sep 29 18:37:53 2020 +0200
refactor traewelling integration. login and logout are less of a hack now.
checkin and checkout are not supported at the moment.
|
2020-09-30 19:12:29 +02:00 |
|
Daniel Friesel
|
952740969c
|
add opengraph metadata output
|
2020-09-21 20:31:08 +02:00 |
|
Daniel Friesel
|
362db912fa
|
add twitter card to public journey view
|
2020-09-21 20:15:01 +02:00 |
|
Daniel Friesel
|
eb93ee40c9
|
passengerrights: fix a typo
|
2020-09-08 21:15:46 +02:00 |
|
Daniel Friesel
|
a3149adddd
|
Fix checkin via API. Broken by 717cc18a40
Closes #44
|
2020-09-05 21:51:52 +02:00 |
|
Daniel Friesel
|
7eb5f967f2
|
profile: limit history to four weeks by default
|
2020-09-04 18:38:35 +02:00 |
|
Daniel Friesel
|
482fa975b5
|
add public profile page and public journey details
|
2020-09-03 22:27:50 +02:00 |
|
Daniel Friesel
|
47b957361e
|
Move most journey code to newly introduced Journey model
|
2020-08-16 21:20:23 +02:00 |
|
Daniel Friesel
|
717cc18a40
|
Move get_departures to a separate IRIS helper
|
2020-08-06 16:04:12 +02:00 |
|
Daniel Friesel
|
f08bdaca5c
|
Move user model to a separate module
|
2020-07-27 18:53:22 +02:00 |
|
Daniel Friesel
|
f5fd6d42e1
|
Add CSV Export
|
2020-04-19 18:26:20 +02:00 |
|
Daniel Friesel
|
346f1474bb
|
commute stats: attempt to weed out non-work stations for auto-fill
|
2020-04-19 17:49:14 +02:00 |
|
Daniel Friesel
|
5ce4bc6995
|
improve commute station heuristic
Select top station on work days (Mo .. Fr) with arrival < 13:00 or
departure >= 13:00.
|
2020-04-19 17:40:39 +02:00 |
|
Daniel Friesel
|
94ea5a089f
|
Commute stats: count days, not journeys
|
2020-04-19 17:03:02 +02:00 |
|
Daniel Friesel
|
94932c4102
|
add commute stats. not linked from nav yet.
|
2020-04-19 16:49:31 +02:00 |
|
Daniel Friesel
|
d7f251e51f
|
public user status: show polyline if available
|
2020-02-26 18:43:34 +01:00 |
|
Daniel Friesel
|
5c05ed609f
|
journey details: show route on map if available
|
2020-02-23 19:04:05 +01:00 |
|
Daniel Friesel
|
82f043e734
|
Move map data generation to a global helper function
|
2020-02-23 18:35:56 +01:00 |
|
Daniel Friesel
|
a15dc1791c
|
calculate journey distance using polyline, if available
|
2020-02-21 23:31:50 +01:00 |
|
Daniel Friesel
|
0011e4a18d
|
user_status: Improve TS lookup performance
|
2020-02-20 20:58:58 +01:00 |
|
Daniel Friesel
|
57f686b688
|
allow showing past journeys on shared status page
|
2020-02-19 20:58:38 +01:00 |
|
Daniel Friesel
|
cc7439dd5e
|
handle departure cancellation after checkin
|
2020-02-17 21:13:07 +01:00 |
|
Daniel Friesel
|
a1865fa69e
|
add privacy setting for showing history and latest arrival timestamp
|
2020-02-14 16:29:44 +01:00 |
|
Daniel Friesel
|
3ddd1a1cf4
|
Improve map performance by passing actual polylines for train routes
|
2020-02-07 23:19:01 +01:00 |
|
Daniel Friesel
|
eb3f4aed05
|
allow checkin and checkout station to be edited
|
2020-02-01 16:15:20 +01:00 |
|
Daniel Friesel
|
aa7a7db2bc
|
map: show polylines by default
|
2020-01-31 18:16:00 +01:00 |
|
Daniel Friesel
|
dadb0f6637
|
map: improve polyline duplicate detection
|
2020-01-29 19:54:32 +01:00 |
|
Daniel Friesel
|
993f6be6c9
|
map: set bounds on stations; move polyline feature to staging
|
2020-01-29 18:48:58 +01:00 |
|
Daniel Friesel
|
cc25a56864
|
Api: Import: Set correct route key for add_journey
|
2020-01-26 16:04:08 +01:00 |
|
Daniel Friesel
|
d7c69acf41
|
import API: route -> intermediateStops
|
2020-01-26 10:50:21 +01:00 |
|
Daniel Friesel
|
c31254e996
|
import API: Add deprecated field, remove development check
|
2020-01-26 10:47:51 +01:00 |
|
Daniel Friesel
|
1723f8c1fb
|
import API: invalidate stats cache after adding a journey
|
2020-01-26 10:08:46 +01:00 |
|
Daniel Friesel
|
3e9807b393
|
map, journey view: handle renamed stations
|
2020-01-25 15:46:42 +01:00 |
|
Daniel Friesel
|
1028e47a35
|
map: list skipped journeys
|
2020-01-25 14:55:51 +01:00 |
|
Daniel Friesel
|
ee1285e8fa
|
map: support multiple polyline groups with different colors
|
2020-01-25 14:41:33 +01:00 |
|
Daniel Friesel
|
9232cdaa5f
|
Return HTTP 404 for unknown journeys
|
2020-01-19 19:21:14 +01:00 |
|
Daniel Friesel
|
2764826da0
|
/journey/🆔 verify that id is numeric
As a side effect, this turns the response of GET /journey/edit (which should
never happen in the first place) from an exception into a 404 error (#36)
|
2020-01-19 19:15:53 +01:00 |
|
Daniel Friesel
|
a9a7fa4492
|
Release Travel API
|
2019-12-31 13:27:14 +01:00 |
|
Daniel Friesel
|
61889603f7
|
Checkin API: error out if fromStation / toStation are ambiguous
|
2019-12-30 01:31:26 +01:00 |
|
Daniel Friesel
|
d9126b927f
|
fix connections display
|
2019-12-26 22:48:50 +01:00 |
|
Daniel Friesel
|
f9f1eec499
|
Use EVA IDs instead of travelynx-internal station IDs. Not 100% tested yet.
|
2019-12-23 22:57:45 +01:00 |
|
Daniel Friesel
|
e7f278574f
|
more travel API documentation
|
2019-12-20 18:33:59 +01:00 |
|
Daniel Friesel
|
11a2e94a04
|
travel API: more helpful errors on invalid input
|
2019-12-20 16:39:15 +01:00 |
|
Daniel Friesel
|
bd372d57e2
|
Travel API: Add "deprecated" field
|
2019-12-20 16:23:41 +01:00 |
|
Daniel Friesel
|
ebb7c22a4b
|
checkin api: only set comment if checkin was successful
|
2019-12-20 16:18:32 +01:00 |
|
Daniel Friesel
|
69f961a23c
|
disable import and checkin API endpoints in production mode
|
2019-12-19 19:20:06 +01:00 |
|
Daniel Friesel
|
c8695ecb1c
|
travel, import API: Verify that payload is a hash
|
2019-12-17 20:41:36 +01:00 |
|
Daniel Friesel
|
934a9ac21a
|
api/import: More helpful errors, fix "lax" support
|
2019-12-17 20:09:02 +01:00 |
|
Daniel Friesel
|
ae21896982
|
API: Add lax option
|
2019-12-17 20:01:39 +01:00 |
|
Daniel Friesel
|
7ae60f2ea4
|
Travel API: comment support
|
2019-12-14 23:46:36 +01:00 |
|
Daniel Friesel
|
46fc64de48
|
Add travel (checkin/checkout/undo) API
|
2019-12-14 21:53:23 +01:00 |
|
Daniel Friesel
|
5fe4174feb
|
Add API entry point for journey import
|
2019-12-14 20:46:02 +01:00 |
|
Daniel Friesel
|
315a94affe
|
allow a journey's cancellation status to be edited
Closes #27
|
2019-12-08 19:46:45 +01:00 |
|
Daniel Friesel
|
561ff4574b
|
Allow status visibility to be limited to travelynx users
|
2019-12-08 11:06:17 +01:00 |
|
Daniel Friesel
|
402a5597f5
|
Account: unset public_comment when public_status is disabled
|
2019-12-08 10:32:22 +01:00 |
|
Daniel Friesel
|
fb126c6928
|
optionally show journey comment in public user status
Closes #19
|
2019-12-06 21:44:31 +01:00 |
|
Daniel Friesel
|
094c536eb4
|
Allow comments to be entered while still in transit
|
2019-12-06 21:40:51 +01:00 |
|
Daniel Friesel
|
119f0a6b7d
|
Do not show cancelled journeys without substitute in passengerrights list
|
2019-11-27 21:09:49 +01:00 |
|
Daniel Friesel
|
0e2e8cd78e
|
history map: Add checkbox to display manually added journeys
|
2019-11-27 18:26:15 +01:00 |
|
Daniel Friesel
|
613f7d6087
|
Passengerrights: Fix typo
|
2019-11-24 20:32:24 +01:00 |
|
Daniel Friesel
|
b3b0a055b9
|
improve get_user_travels performance, most notably when rendering map
only create DateTime objects when needed
|
2019-11-24 20:29:52 +01:00 |
|
Daniel Friesel
|
57f47d2a3c
|
allow routes to be edited after recording a journey
|
2019-11-20 17:41:21 +01:00 |
|
Daniel Friesel
|
b80613b8a8
|
allow route input when adding journeys manually (#26)
|
2019-11-19 19:46:39 +01:00 |
|
Daniel Friesel
|
13e59b3aa1
|
add journey: make realtime data optional (default to schedule data)
Closes #25
|
2019-11-18 21:02:57 +01:00 |
|
Daniel Friesel
|
783a540cb0
|
history map: show time range; handle users with no journeys
|
2019-11-16 23:47:18 +01:00 |
|
Daniel Friesel
|
e0187c5308
|
history map: Do not show route for manually added journeys
|
2019-11-16 23:46:45 +01:00 |
|
Daniel Friesel
|
cea4b71ca3
|
history map: skip duplicates earlier
|
2019-11-16 21:24:35 +01:00 |
|