Daniel Friesel
83954508f0
move get_connecting_trains helper to Traveling controller
2022-07-30 10:27:57 +02:00
Daniel Friesel
1712694011
mov get_connection_targets helper to Journeys Model
2022-07-29 10:10:34 +02:00
Daniel Friesel
116becccb0
.
2022-07-16 20:34:11 +02:00
Daniel Friesel
8c15966bd1
dbf: link to currently checked in train
2022-07-15 22:26:50 +02:00
Daniel Friesel
e2214dfdcd
repair /offline.html
2022-07-15 19:27:47 +02:00
Daniel Friesel
5eab0c14f4
optionally link to external departure boards where sensible (WiP)
2022-07-11 22:09:26 +02:00
Daniel Friesel
4deb0bde0b
.
2022-07-11 22:08:02 +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
582bfbe661
Traewelling: more consistent error messages
2022-02-17 21:40:47 +01:00
Daniel Friesel
6e95180a3c
handle missing 'base_url' in travelynx.conf
2022-02-16 21:29:28 +01:00
Daniel Friesel
167b01fa42
link traewelling profile from travelynx profile; show traewelling status
2022-02-16 20:56:28 +01:00
Daniel Friesel
6fc21cac41
Use correct base URL when running a command job (work/maintenance)
2022-02-14 21:41:32 +01:00
Daniel Friesel
1233796866
Traewelling: Use API v1 for pull sync
...
API v0 has occasional performance issues and is not a preferable
maintenance target
2022-01-08 14:36:31 +01:00
Daniel Friesel
e8054faf76
checkout: throw an error when called with empty $station
2021-12-12 17:13:51 +01:00
Daniel Friesel
ed0054fa50
Allow usage of custom hafas-rest-api instances
2021-10-30 10:02:58 +02:00
Daniel Friesel
79b55c430d
allow registration to be disabled via config
2021-09-12 08:15:59 +02:00
Daniel Friesel
9d4f3f8ce1
Ensure that database timezone matches IRIS time zone
...
All travelynx and IRIS timestamps are Europe/Berlin. And the DateTime objects
know that they are Europe/Berlin. However, when inserting into a timestamp with
time zone column, Mojo::Pg or one of the backend DBI/DBD libraries does not
respect the time zone. So, UTC+1 or UTC+2 timestamps are treated as UTC+0,
resulting in major mayhem.
2021-09-03 20:24:54 +02:00
Daniel Friesel
6cee1e20ef
allow users to change their name
2021-06-12 19:00:42 +02:00
Daniel Friesel
08abde269b
user_status: Use first available dep_info
2021-06-12 17:33:16 +02:00
Daniel Friesel
0358cd51d5
also show wagon order when sections are unknown
2021-03-08 21:02:19 +01:00
Daniel Friesel
9666a2c6bc
Do not warn on HAFAS "extra content at the end" (that's just an in-band 404)
2021-02-08 18:08:19 +01:00
Daniel Friesel
9223ba5fa1
fall back to apps-bahn if ist-wr does not know about a train
2021-02-06 12:31:35 +01:00
Daniel Friesel
a4ff5e8ad8
Switch to AGPL3+
2021-01-29 18:32:13 +01:00
Daniel Friesel
5e29b99d61
remove superfluous ->app call
2020-12-17 20:58:47 +01:00
Daniel Friesel
2ee5332ee5
warn if a connecting train may not be reached
2020-12-07 19:44:18 +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
bed4ebe4cc
another log level adjustment
2020-11-09 22:58:56 +01:00
Daniel Friesel
c8832e410e
add_route_timestamps: adjust log severity
...
we can't do anything about "trainlink not found", so it really shouldn't be
a warning.
2020-11-08 18:44:32 +01:00
Daniel Friesel
e61550f751
Move remaining journeys queries to journeys model class
2020-10-11 21:08:22 +02:00
Daniel Friesel
b1348c7d4a
move in_transit queries to an InTransit model class
2020-10-11 19:38:01 +02:00
Daniel Friesel
b6330217f0
calculate tripid from trainsearch.exe.
...
Removes the need for an additional transport.rest request.
2020-10-11 12:04:33 +02:00
Daniel Friesel
3ca18af9b6
make unknown stations warning more helpful
2020-10-08 20:04:25 +02:00
Daniel Friesel
e8ff730320
Stats: Fix handling of negative cumulative arrival/departure delays
2020-10-06 19:28:00 +02:00
Daniel Friesel
9acc9822e4
also allow regionalExpress, just to be safe
2020-10-04 13:09:47 +02:00
Daniel Friesel
ce88fe440c
HAFAS "national" trips are also trains
2020-10-04 13:04:52 +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
e27e37190e
add explicit empty return statements to promise handlers
2020-09-20 10:01:03 +02:00
Daniel Friesel
874de11298
handle rejected promises; do not accidentally duplicate rejections
2020-09-10 21:20:26 +02:00
Daniel Friesel
4171fe22ca
add DBDB helper for wagonorder and stationinfo
2020-09-06 12:55:25 +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
d9624ee308
Remove now-useless include
2020-08-15 08:25:24 +02:00
Daniel Friesel
717cc18a40
Move get_departures to a separate IRIS helper
2020-08-06 16:04:12 +02:00
Daniel Friesel
56c275875c
Move HAFAS helpers to a separate Helper module
2020-07-28 13:01:44 +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
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
a3cfa598a6
use german locale in epoch_to_dt helper
2020-04-19 17:09:02 +02:00
Daniel Friesel
0a87135e35
get_top_destinations: order by count desc
...
order is ascending by default, resulting in flop instead of top destinations.
2020-04-19 16:50:50 +02:00
Daniel Friesel
94932c4102
add commute stats. not linked from nav yet.
2020-04-19 16:49:31 +02:00
Daniel Friesel
ac2a23c3fa
Fix occasionally incorrect TripIDs (and thus incorrect polylines)
...
Until now, tripIDs were cached based on station and departure timestamp.
These are identical for any two trains departing at the same time at the same
station, leading to one of those getting being assigned a wrong tripID.
From now on, only the JSON reported by transport.rest is cached -- tripIDs
are always recomputed based on it.
2020-04-16 09:47:31 +02:00
Daniel Friesel
d66cf00d9d
log train number when encountering a timestamp error
2020-04-16 04:55:04 +02:00
Daniel Friesel
e5f273ced3
ignore missing timestamps when performing a force checkout
2020-04-16 04:54:41 +02:00
Daniel Friesel
4cc510d710
use polyline when computing monthly/yearly distance travelled
...
Closes #40
2020-04-14 18:22:49 +02:00
Daniel Friesel
6826c03386
show select past departures in checkin suggestion list
...
Previously, for each destination, up to two departures between now and
now + 40 minutes were shown.
When performing a fresh checkin (i.e., the has not logged a journey in the
past few minutes and is not currently checked in), the departure list now
additionally contains all departures between now - 5 minutes and now.
When checking in from a train (i.e., the user has recently checked out at
the station or is still checked in), it additionally contains all departures
between arrival time and now.
Closes #33
2020-04-14 17:45:09 +02:00
Daniel Friesel
e6b74ef087
show QoS pictograms in connection list
2020-03-03 18:29:37 +01:00
Daniel Friesel
3c897ad62a
polyline sanity check: Handle border stations and incomplete IRIS routes
2020-02-25 21:25:53 +01:00
Daniel Friesel
1d2b37f849
Ignore polylines which do not agree with IRIS route
2020-02-25 17:55:19 +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
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
a830acc698
Handle cancelled arrival at checkout when departure at checkin is not cancelled
2020-02-12 20:38:24 +01:00
Daniel Friesel
ee38d48a55
Add another fix for invalid HAFAS XML
2020-02-12 20:35:27 +01:00
Daniel Friesel
eb3f4aed05
allow checkin and checkout station to be edited
2020-02-01 16:15:20 +01:00
Daniel Friesel
5439dbad34
Fix cancellation line in journey view.
...
Broken by 993f6be6c9
2020-02-01 14:28:10 +01:00
Daniel Friesel
a29568711f
fix uninitialized value warning when handling odd trains (trains without type)
2020-02-01 10:59:46 +01:00
Daniel Friesel
aa7a7db2bc
map: show polylines by default
2020-01-31 18:16:00 +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
fca6a5df6c
journey_sanity_check: handle duration == 0
2020-01-28 20:01:00 +01:00
Daniel Friesel
b47a29d484
Store journey polylines in DB
...
Squashed commit of the following:
commit d60c7d3c98d88a8f5b0e3ced6c11b56053e1e44b
Author: Daniel Friesel <derf@finalrewind.org>
Date: Mon Jan 27 20:22:46 2020 +0100
fix bugs related to users without past journeys
commit 707fcc937ac7f6bc3dc29024273f5e74963f7f15
Author: Daniel Friesel <derf@finalrewind.org>
Date: Mon Jan 27 20:19:14 2020 +0100
work around Cache::file turning floats into strings
commit 55831121eb30bc30ed20134bbb48e4bee9772feb
Author: Daniel Friesel <derf@finalrewind.org>
Date: Mon Jan 27 19:43:29 2020 +0100
store journey polylines for later use
commit 1971d511037ff2b8fbc9699cb98e4f8fd51261e5
Author: Daniel Friesel <derf@finalrewind.org>
Date: Sat Jan 25 16:49:48 2020 +0100
set preliminary database schema for polyline storage.
deduplication will follow at a later stage
2020-01-27 20:32:15 +01:00
Daniel Friesel
47171500b7
fix bugs related to users without past journeys
2020-01-27 20:25:02 +01:00
Daniel Friesel
21234707fc
add_journey: allow up to 99 journeys per 24 hours
2020-01-26 15:31:01 +01:00
Daniel Friesel
ba62df34ea
validate_journey: handle 0 timestamps
2020-01-26 10:48:14 +01:00
Daniel Friesel
ce6237b9fb
status API: nextStops -> intermediateStops; documentation
2020-01-26 09:59:45 +01:00
Daniel Friesel
3e9807b393
map, journey view: handle renamed stations
2020-01-25 15:46:42 +01:00
Daniel Friesel
8157f38854
JSON Status API: Add experimental and undocumented nextStops key
2020-01-23 18:18:50 +01:00
Daniel Friesel
cda8e53b34
has_wagonorder: Fix promise result mixup
2020-01-22 20:18:37 +01:00
Daniel Friesel
243302b9bb
Fix IOLoop crashes caused by using log->warning instead of log->warn
...
The issue manifested itself by the ioloop using 100%cpu without making any
progress.
2020-01-15 22:13:20 +01:00
Daniel Friesel
263fe6da63
do not store wagonorder error results in database
2020-01-15 21:48:50 +01:00
Daniel Friesel
e8b610f3e6
fetch trip ID when checked in
2020-01-08 18:42:17 +01:00
Daniel Friesel
172c8a3d00
move old station names to external JSON as well
2020-01-06 18:24:28 +01:00
Daniel Friesel
8a73a65656
Switch back to JSON::XS for decoding
2020-01-06 18:03:50 +01:00
Daniel Friesel
f99e069928
Move ICE names to a separate JSON file
2020-01-06 17:59:40 +01:00
Markus Heinrich
d1c005606c
remove unnecessary whitespace
2020-01-06 11:22:03 +01:00
Daniel Friesel
62b68b5010
map ICE train numbers to names where possible
2020-01-04 18:48:46 +01:00
Daniel Friesel
5435f34aa1
Set travelynx UserAgent for webhook requests
2019-12-29 23:06:51 +01:00
Daniel Friesel
6fde013585
Strip newline from version string
2019-12-29 23:06:39 +01:00
Daniel Friesel
f8436b9b4b
perltidy
2019-12-28 15:01:21 +01:00
Knuspel
d8b46dff89
Added links for old/new station names.
2019-12-28 14:35:07 +01:00
Daniel Friesel
fe6340abeb
Handle undefined user data in conncetion suggestion with no previous journey
...
Closes #30
2019-12-26 21:39:24 +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
e0a2b9aa26
save all the wagon orders we can get
2019-12-19 20:16:10 +01:00
Daniel Friesel
f895d34f31
undo: pass UID to invalidate_stats_cache
2019-12-19 18:18:26 +01:00
Daniel Friesel
934a9ac21a
api/import: More helpful errors, fix "lax" support
2019-12-17 20:09:02 +01:00