Commit graph

184 commits

Author SHA1 Message Date
Daniel Friesel
973cccd494 checkin: lighter background color, more prominent destination selection 2019-05-03 10:49:14 +02:00
Daniel Friesel
bf2dae7c45 Add changelog 2019-05-03 10:32:58 +02:00
Daniel Friesel
be1e5dda23 Public API documentation 2019-05-02 11:29:43 +02:00
Daniel Friesel
3068652d35 oops 2019-05-02 10:24:05 +02:00
Daniel Friesel
3de5de7db2 Finish public-facing exposed user status (opt-in) 2019-05-02 10:05:15 +02:00
Daniel Friesel
1bf128936d account: move edit links to the left 2019-05-02 09:13:21 +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
ddea9abc6e show imprint/privacy/version on all public-facing pages 2019-04-30 18:24:30 +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
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
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
cc1a620041 checked_in: make sync-failed marker less obtrusive 2019-04-27 10:48:47 +02:00
Daniel Friesel
d6e6c9992e History: Only show months and years with logged journeys 2019-04-27 09:11:42 +02:00
Daniel Friesel
8c1888263b show marker when unable to sync 2019-04-26 22:27:07 +02:00
Daniel Friesel
e07063c52c Add manual journey entry
Closes #3
2019-04-26 19:53:01 +02:00
Daniel Friesel
1e2e33399f checked_in: distinguish between unknown and not-yet-known arrival 2019-04-25 07:52:51 +02:00
Daniel Friesel
35b3fc44e9 history: Use buttons for links 2019-04-24 15:15:53 +02:00
Daniel Friesel
aa0f9fdeea show recent delay/qos messages in checked_in view 2019-04-24 14:58:08 +02:00
Daniel Friesel
501038ce11 _checked_in: Do not skip last two minutes of departure countdown 2019-04-24 12:15:26 +02:00
Daniel Friesel
b992a6dc75 $render(status => ...) is a special variable. derp. 2019-04-24 09:00:30 +02:00
Daniel Friesel
14d2dd52eb _checked_out: Link to destination station 2019-04-24 07:58:22 +02:00
Daniel Friesel
49f81c0c52 oops 2019-04-24 07:52:37 +02:00
Daniel Friesel
def2fedf98 _checked_in: Clarify checkout/interchange UI 2019-04-24 07:50:31 +02:00
Daniel Friesel
e726d076c3 _checked_in: Fix misleading output on arrival_countdown == 0 2019-04-24 07:38:45 +02:00
Daniel Friesel
438319e63a Bump API to v1 2019-04-24 07:34:41 +02:00
Daniel Friesel
79dcd4677e _checked_in: Fix uninitialized value warning 2019-04-23 23:03:02 +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
5af134ef1e landingpage: Fix plural for "0 minutes" 2019-04-23 20:00:03 +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
07c6e8878b journey detail: gps_off -> location_off 2019-04-21 17:25:22 +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
c6812f6083 Print db and host in development mode 2019-04-13 18:59:46 +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
9df9f7c845 edit journey: use link to cancel
This bypasses form element validation, which doesn't make sense for
"cancel edit"
2019-04-13 10:45:57 +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
863a33b111 landingpage: Fix typo in required form element tag 2019-04-11 20:42:38 +02:00
Daniel Friesel
40d926e62d decrease minimum history width by hiding train number if line is available 2019-04-11 18:09:02 +02:00
Daniel Friesel
e91c540c8e history: Show time next to station 2019-04-10 17:51:51 +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
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
d4269a8fe4 journey: Fix typo in HTML tag 2019-04-07 19:19:50 +02:00
Daniel Friesel
ffee7177ac Refactor history template, add yearly stats 2019-04-07 18:44:33 +02:00
Daniel Friesel
216dd7c7ad history: Fix missing months for users registered on the 29th/30th/31st 2019-04-06 23:57:54 +02:00
Daniel Friesel
a1109bfce0 landingpage: Features++ 2019-04-06 21:32:18 +02:00
Daniel Friesel
4e33f1e706 hide unimplemented API endpoints in account view 2019-04-06 21:23:21 +02:00
Daniel Friesel
4e7f7a1d0e detect development mode for travelynx_dev* databases 2019-04-06 21:21:35 +02:00
Daniel Friesel
1405eb6ea3 Add password change form 2019-04-06 11:20:10 +02:00
Daniel Friesel
e2598df25b Allow journey deletion
See issue #3
2019-04-04 18:26:53 +02:00
Daniel Friesel
8883b02fe4 register: Explicitly state that the account was not created 2019-04-02 20:10:55 +02:00
Daniel Friesel
68718860e2 login, register; Do not doule-nest row/col classes 2019-04-02 19:40:04 +02:00
Daniel Friesel
d90734e2ec about: Add contact link 2019-04-01 20:59:03 +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
a8a3aa17ce Perform undo by deleting the erroneous database entry 2019-03-31 08:45:51 +02:00
Daniel Friesel
df34c58cc5 history: move time column next to date 2019-03-28 19:21:52 +01:00
Daniel Friesel
eb929811b2 add per-month links to history 2019-03-27 21:46:52 +01:00
Daniel Friesel
343e9ef20c history: more smartphone-friendly 2019-03-27 21:26:37 +01:00
Daniel Friesel
1aa5e786ed add history per month 2019-03-27 21:20:59 +01:00
Daniel Friesel
a30970eb8b distinguish prod/dev in nav bar 2019-03-25 21:34:49 +01:00
Daniel Friesel
0a9d2e4c88 journey: show average speed 2019-03-20 18:33:51 +01:00
Daniel Friesel
2366b193fe journey: show distance 2019-03-20 18:20:23 +01:00
Daniel Friesel
2e1cf30231 Show negative delay as "-X", not "+-X" 2019-03-20 17:50:14 +01:00
Daniel Friesel
0226713c1d use camelCase instead of snake_case in public API 2019-03-20 17:45:41 +01:00
Daniel Friesel
531f3b0a68 show cancelled trains in history 2019-03-19 21:23:06 +01:00
Daniel Friesel
01df965d66 support logging of cancelled journeys 2019-03-19 18:20:05 +01:00
Daniel Friesel
25f75928e7 add marker for cancelled departures 2019-03-19 17:17:53 +01:00
Daniel Friesel
9c32677365 API: Status: group properties, add station UIC/lon/lat 2019-03-19 17:02:30 +01:00
Daniel Friesel
56342f21d2 demand a valid password for account deletion 2019-03-18 18:55:39 +01:00
Daniel Friesel
07b3ea19a6 never call get_user_data directly 2019-03-18 18:49:00 +01:00
Daniel Friesel
b15d3456ac journey view: Move line break inside of message loop 2019-03-17 18:36:29 +01:00
Daniel Friesel
11d77d4bb9 add journey detail view 2019-03-17 18:34:33 +01:00
Daniel Friesel
629ca9e9f6 Show backend errors on station selection page 2019-03-16 21:49:47 +01:00
Daniel Friesel
42bb5cc493 add autocomplete for station form 2019-03-16 21:37:57 +01:00
Daniel Friesel
c8f9fc901b allow manual input of station name
Closes #1
2019-03-16 21:33:19 +01:00
Daniel Friesel
26da2b598c landing page: I can haz API! 2019-03-16 14:36:35 +01:00
Daniel Friesel
2bc167da9e Account: Wording 2019-03-16 14:17:02 +01:00
Daniel Friesel
d6264b5ca8 Add JSON API 2019-03-16 13:56:56 +01:00
Daniel Friesel
532fadabb4 fix failraptor.png for guests. derp. 2019-03-12 22:09:16 +01:00
Daniel Friesel
6ac88f4018 implement account deletion 2019-03-12 21:49:26 +01:00
Daniel Friesel
2604abad4e Allow two regstration attempts per mail 2019-03-11 17:17:15 +01:00
Daniel Friesel
558585895f oops 2019-03-10 19:34:10 +01:00
Daniel Friesel
5970a5a350 redirect users after login to protected page 2019-03-10 19:32:45 +01:00
Daniel Friesel
3ae14d47f9 add JSON export for history 2019-03-09 14:35:23 +01:00
Daniel Friesel
6f1b488d26 Slightly more helpful texts for checkin/checkout pages 2019-03-09 12:17:59 +01:00
Daniel Friesel
0f51f40661 show separate errors for 'invalid credentials' and 'not confirmed yet' 2019-03-09 08:40:46 +01:00
Daniel Friesel
844a95f77f registration form: note that user name must be alphanumeric 2019-03-09 08:30:18 +01:00
Daniel Friesel
98fc5a3aba add password manager hints to login/registration forms 2019-03-08 21:07:54 +01:00
Daniel Friesel
13d81d72ee show hint in case of geolocation error 2019-03-08 19:40:57 +01:00
Daniel Friesel
a0040bceb6 checkout UX 2019-03-08 19:12:45 +01:00
Daniel Friesel
c2be5fe97b account: Note that deletion is not implemented yet 2019-03-08 19:12:32 +01:00
Daniel Friesel
42385e4d55 add link to github issues 2019-03-08 19:12:23 +01:00
Daniel Friesel
ff6a7512d5 do not allow multiple pending registrations for one mail 2019-03-08 18:52:12 +01:00
Daniel Friesel
6e961420aa departures: Add hint (tap == checkin) 2019-03-08 18:02:18 +01:00
Daniel Friesel
da4f532fb3 add logout link to account page 2019-03-08 17:59:48 +01:00