Commit graph

58 commits

Author SHA1 Message Date
Daniel Friesel
048767149e use a separate table for registration tokens 2019-04-30 18:05:07 +02:00
Daniel Friesel
99aa3a4a0d Implement deletion of inactive accounts 2019-04-30 12:48:23 +02:00
Daniel Friesel
867a5d4afb allow users to change their mail address
Closes #6
2019-04-30 12:08:51 +02:00
Daniel Friesel
25d0530e86 Add password reset functionality
Closes #5
2019-04-29 20:12:59 +02:00
Daniel Friesel
fd6d12d355 Handle inconsistent data when calculating monthly/yearly stats
Closes #11
2019-04-28 22:33:09 +02:00
Daniel Friesel
d6e6c9992e History: Only show months and years with logged journeys 2019-04-27 09:11:42 +02:00
Daniel Friesel
a760274c7c Invalidate stats cache after adding a new journey 2019-04-26 20:39:44 +02:00
Daniel Friesel
d77566bba4 add_journey: Fix incorrect return in case of unmatched station 2019-04-26 19:56:03 +02:00
Daniel Friesel
e07063c52c Add manual journey entry
Closes #3
2019-04-26 19:53:01 +02:00
Daniel Friesel
aa0f9fdeea show recent delay/qos messages in checked_in view 2019-04-24 14:58:08 +02:00
Daniel Friesel
438319e63a Bump API to v1 2019-04-24 07:34:41 +02:00
Daniel Friesel
4c63efe4a1 Remove legacy action_type attributes 2019-04-23 23:04:04 +02:00
Daniel Friesel
6c1cae86f4 Primitive auto-refresh of current journey status
Todo: Redirect user to destination station upon arrival
2019-04-23 22:27:13 +02:00
Daniel Friesel
ffaa0c44a7 Automatic checkout \o/ 2019-04-23 21:30:31 +02:00
Daniel Friesel
e168d9cd39 Use one row per journey instead of split checkin/checkout entries
Whether a user is in transit or not is now determined by an entry in the
in_transit table instead of a dangling checkin.

All completed journeys are stored in the "journeys" table.

This does most of the work needed for automatic checkout. However, note that
the corresponding worker process is not implemented yet.
2019-04-23 18:08:07 +02:00
Daniel Friesel
812be4f0cb Finish transition from DBI to Mojo::Pg 2019-04-22 13:42:41 +02:00
Daniel Friesel
2aece36803 Use Mojo::Pg for all remaining Controller and Helper logic 2019-04-22 12:11:22 +02:00
Daniel Friesel
4ed24c5565 Also use Mojo::Pg for user_status and user_travels queries 2019-04-22 11:11:14 +02:00
Daniel Friesel
fb3fda9736 More Mojo::Pg migrations 2019-04-22 09:58:39 +02:00
Daniel Friesel
78b2d995ef Ignore stations without coordinates in distance calculation
Reported by @marudor
2019-04-21 15:46:19 +02:00
Daniel Friesel
24d0943cdc refactor set_status_query and get_token_query 2019-04-19 15:56:54 -04:00
Daniel Friesel
8ad05720a2 Refactor user_actions insert/update/delete statements with Mojo::Pg 2019-04-17 13:35:38 -04:00
Daniel Friesel
c23334896d Initiate transition to Mojo::Pg 2019-04-17 07:10:49 -04:00
Daniel Friesel
e1e07d5811 Set version via config 2019-04-14 17:34:30 -04:00
Daniel Friesel
13dbcf8761 add explicit config toggle to disable sendmail 2019-04-13 18:56:06 +02:00
Daniel Friesel
ee53b8f37e Pass config to sendmail helper 2019-04-13 17:09:10 +02:00
Daniel Friesel
80a6317ac5 Use travelynx.conf for configuration and secrets
This avoids having to specify secrets in the environment, where they can leak
easily.
2019-04-13 12:18:26 +02:00
Daniel Friesel
1ee185d26b work-in-progress manual journey entry. incomplete and not enabled yet. 2019-04-13 10:43:05 +02:00
Daniel Friesel
4ce9326495 Let us never talk of this again 2019-04-10 07:21:18 +02:00
Daniel Friesel
bba6721754 Allow journey editing, keep track of edited journey attributes
Provides a workaround for #2
2019-04-09 18:37:21 +02:00
Daniel Friesel
3ae6bda093 time travel is prohibited 2019-04-09 18:11:55 +02:00
Daniel Friesel
c0c7b1a589 Work-in-progress journey editor. Not ready for deployment. 2019-04-08 21:20:04 +02:00
Daniel Friesel
beb17acb84 Prepare forms for manual journey entry and editing 2019-04-07 20:20:37 +02:00
Daniel Friesel
ffee7177ac Refactor history template, add yearly stats 2019-04-07 18:44:33 +02:00
Daniel Friesel
fa621418bc drop cached statistics on checkout and journey deletion 2019-04-07 17:16:06 +02:00
Daniel Friesel
d0b6b7e052 Cache journey stats 2019-04-07 16:55:35 +02:00
Daniel Friesel
1405eb6ea3 Add password change form 2019-04-06 11:20:10 +02:00
Daniel Friesel
6630cdcd9e checkout: Do not cardcode action type 2019-04-05 21:45:40 +02:00
Daniel Friesel
7f84288db5 checkin: Fix checkout path if currently checked into cancelled train 2019-04-05 21:45:05 +02:00
Daniel Friesel
e2598df25b Allow journey deletion
See issue #3
2019-04-04 18:26:53 +02:00
Daniel Friesel
4787dbae15 move mailing to sendmail helper 2019-04-02 20:10:48 +02:00
Daniel Friesel
335ab8209f statistics: Add interchange wait time and journey count 2019-04-01 20:28:06 +02:00
Daniel Friesel
3ce1cfc55f Select journeys by ID 2019-03-31 19:32:41 +02:00
Daniel Friesel
8bf145b5c4 remove code related to undo-as-database-entry concept 2019-03-31 09:11:52 +02:00
Daniel Friesel
a8a3aa17ce Perform undo by deleting the erroneous database entry 2019-03-31 08:45:51 +02:00
Daniel Friesel
341665c79b sort journeys by departure time 2019-03-30 21:43:35 +01:00
Daniel Friesel
1aa5e786ed add history per month 2019-03-27 21:20:59 +01:00
Daniel Friesel
87a3ceb0c1 remove sleep(1) workaround in checkout-before-checkin code path
The unique constraint on (user id, timestamp) is no longer present
2019-03-25 21:37:11 +01:00
Daniel Friesel
a3688f64d5 Log SQL errors 2019-03-25 18:12:01 +01:00
Daniel Friesel
e2b78170a5 Postgres does not require decode() calls 2019-03-25 18:11:48 +01:00