Commit graph

112 commits

Author SHA1 Message Date
Daniel Friesel
fa98aba3d3 Pre-select theme css in backend 2019-05-18 08:23:59 +02:00
Daniel Friesel
b85db3a10d Show web-hook test result immediately after saving it
Closes #12
2019-05-14 20:05:45 +02:00
Daniel Friesel
0f28fdfb85 get_journey_stats: Support uid override, fix uninitialized value warning 2019-05-11 15:23:29 +02:00
Daniel Friesel
59c677ba12 history: validate year and month 2019-05-11 01:35:57 +02:00
Daniel Friesel
269b8536f4 Add webhook to account page 2019-05-10 19:03:18 +02:00
Daniel Friesel
66a35a35eb set a custom user agent 2019-05-09 17:58:23 +02:00
Daniel Friesel
022465d2a7 Fix division by zero when calculating journey completion 2019-05-08 07:12:54 +02:00
Daniel Friesel
2ddab75644 basic webhook support, onwards to betatesting 2019-05-06 16:59:48 +02:00
Daniel Friesel
b36ba45aef WiP webhook support 2019-05-05 18:09:11 +02:00
Daniel Friesel
954638e7c7 data export: use station names, not IDs 2019-05-03 21:14:49 +02:00
Daniel Friesel
709919a962 Experimental PWA support (#13) 2019-05-03 20:43:46 +02:00
Daniel Friesel
9f3b80a859 use /account/... links for mail/password change 2019-05-03 18:57:24 +02:00
Daniel Friesel
b4bb68b7c3 Add worker command for Docker setups (#9) 2019-05-03 18:26:05 +02:00
Daniel Friesel
bc6a59d43e Do not show origin station in destination list 2019-05-03 10:52:30 +02:00
Daniel Friesel
bf2dae7c45 Add changelog 2019-05-03 10:32:58 +02:00
Daniel Friesel
af5c26bf8a Do not error out when receiving UIDs > INT_MAX 2019-05-02 11:34:52 +02:00
Daniel Friesel
be1e5dda23 Public API documentation 2019-05-02 11:29:43 +02:00
Daniel Friesel
fb2a06c59c work: Not finding a train at the destination is usually not an error 2019-05-02 10:05:49 +02:00
Daniel Friesel
3de5de7db2 Finish public-facing exposed user status (opt-in) 2019-05-02 10:05:15 +02:00
Daniel Friesel
f0d61a4083 Prepare settings and templates for opt-in public travel status 2019-04-30 23:23:49 +02:00
Daniel Friesel
2d7c75f877 show imprint and version on landing page 2019-04-30 18:18:09 +02:00
Daniel Friesel
048767149e use a separate table for registration tokens 2019-04-30 18:05:07 +02:00
Daniel Friesel
a57a24c2d6 add "active user count" munin command 2019-04-30 12:56:11 +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
4ad1a1d20e Move invalid input errors into common sub-template 2019-04-30 10:46:46 +02:00
Daniel Friesel
0226eba60a maintenance: Also delete pending_passwords entries 2019-04-29 20:32:04 +02:00
Daniel Friesel
25d0530e86 Add password reset functionality
Closes #5
2019-04-29 20:12:59 +02:00
Daniel Friesel
6ff397c9b3 add database table/column comments 2019-04-29 10:25:17 +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
e500c2e537 work: Update route and messages 2019-04-26 22:12:34 +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
2cae5a51d2 undo: Redirect to departure station when undoing a checkin 2019-04-25 09:22:54 +02:00
Daniel Friesel
aa0f9fdeea show recent delay/qos messages in checked_in view 2019-04-24 14:58:08 +02:00
Daniel Friesel
b992a6dc75 $render(status => ...) is a special variable. derp. 2019-04-24 09:00:30 +02:00
Daniel Friesel
fd314e327d maintenance, munin: Use journeys, not user_actions 2019-04-24 08:45:56 +02:00
Daniel Friesel
438319e63a Bump API to v1 2019-04-24 07:34:41 +02:00
Daniel Friesel
906ec60ea2 export: Add in_transit field 2019-04-24 07:13:38 +02:00
Daniel Friesel
4c63efe4a1 Remove legacy action_type attributes 2019-04-23 23:04:04 +02:00
Daniel Friesel
3389ca2bcf Fix checkin/checkout of cancelled journeys 2019-04-23 23:02:57 +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
c65232904f Use Mojo::Pg for migrations 2019-04-22 12:30:05 +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