Commit graph

422 commits

Author SHA1 Message Date
Daniel Friesel
4c63efe4a1 Remove legacy action_type attributes 2019-04-23 23:04:04 +02:00
Daniel Friesel
79dcd4677e _checked_in: Fix uninitialized value warning 2019-04-23 23:03:02 +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
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
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
Daniel Friesel
fb3fda9736 More Mojo::Pg migrations 2019-04-22 09:58:39 +02:00
Daniel Friesel
eaf3f451c5 add "change password" tests 2019-04-22 09:43:00 +02:00
Daniel Friesel
9101207449 Add test for account (un)deletion 2019-04-22 08:45:26 +02:00
Daniel Friesel
2b54ecf7a9 Note that we need at least postgresql v9.4 2019-04-22 07:22:53 +02:00
Daniel Friesel
970cb57c68 Travis CI: looks like carton isn't needed 2019-04-22 07:15:21 +02:00
Daniel Friesel
481e158a49 travis.yml: Add libdb-dev (required for DB_File -> Cache) 2019-04-22 07:09:25 +02:00
Daniel Friesel
dcc161fbf8 Skip database tests if no database is configured 2019-04-22 07:02:14 +02:00
Daniel Friesel
45212811dd Travis CI: Add database tests 2019-04-22 07:01:59 +02:00
Daniel Friesel
ec93914f11 add Travis CI config 2019-04-21 18:19:06 +02:00
Daniel Friesel
cd942d0001 Add cpanfile for dependency management with Carton 2019-04-21 18:15:43 +02:00
Daniel Friesel
b860b46e52 database migrate: Use truncate 2019-04-21 17:45:25 +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
24d0943cdc refactor set_status_query and get_token_query 2019-04-19 15:56:54 -04:00
Daniel Friesel
f7db1c6a26 Update test section in README 2019-04-18 15:03:27 -04:00
Daniel Friesel
4aa83625d3 basic test: No DB needed; perltidy 2019-04-18 14:52:51 -04:00
Daniel Friesel
eff979081c Add a registration test 2019-04-18 14:51:45 -04:00
Daniel Friesel
015b51ba84 Add a basic test for static content 2019-04-18 12:22:17 -04:00
Daniel Friesel
065c844fde Refactor munin command to use Mojo::Pg 2019-04-17 13:36:01 -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
ecedc6a4f2 Add a dumpconfig command, mostly useful to debug Docker setups 2019-04-17 07:11:04 -04:00
Daniel Friesel
c23334896d Initiate transition to Mojo::Pg 2019-04-17 07:10:49 -04:00
Daniel Friesel
d9b82a4133 Sendmail: Actually print info log messages as documented 2019-04-17 07:07:05 -04:00
Daniel Friesel
1150021d2e add comments to example travelynx.conf 2019-04-16 21:13:14 -04:00
Daniel Friesel
e1e07d5811 Set version via config 2019-04-14 17:34:30 -04:00
Daniel Friesel
17e8b65957 Merge branch 'feuerrot-db_setup' 2019-04-14 08:46:00 +02:00
Daniel Friesel
c19f239d1d Do not print error when encountering an empty database 2019-04-14 08:44:27 +02:00
Daniel Friesel
a77f836f4c Merge branch 'db_setup' of https://github.com/feuerrot/travelynx into feuerrot-db_setup 2019-04-14 07:55:51 +02:00
Markus Witt
ed397093c2 database setup: merge setup and migration code paths 2019-04-13 23:36:58 +02:00
Daniel Friesel
d7d6f8f891 README: Add recommended modules and docker dependencies 2019-04-13 22:51:46 +02:00
Daniel Friesel
c6812f6083 Print db and host in development mode 2019-04-13 18:59:46 +02:00
Daniel Friesel
13dbcf8761 add explicit config toggle to disable sendmail 2019-04-13 18:56:06 +02:00
Daniel Friesel
4d413d06a3 "database" sub-command: Provide an exit status 2019-04-13 17:17:44 +02:00
Daniel Friesel
ee53b8f37e Pass config to sendmail helper 2019-04-13 17:09:10 +02:00
Daniel Friesel
6dc92bd88a
Merge pull request #7 from feuerrot/db_schema_fix
fix dbschema: add type for edited
2019-04-13 17:00:40 +02:00
Markus Witt
4bf62cf2a8 fix dbschema: add type for edited 2019-04-13 16:56:15 +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
61b1ef398e maintenance: Fix stats table name 2019-04-13 11:52: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