Commit Graph
954 Commits
Author SHA1 Message Date
frommeandClaude Opus 5.5 c3cebae494 fix: teamer dashboard crashing on isContractDue() without deadline
489aafed made isContractDue() and isInvoiceDue() take the deadline days,
but teamer/index.html.twig still called them as bare getters, throwing an
ArgumentCountError for every teamer with an upcoming disposition. The
controller now resolves which reason applies and hands it to the template.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-06 15:01:00 +02:00
fromme 849da8d471 chore: upgrade phpunit to 12.5 2026-10-01 10:07:05 +02:00
fromme da039d0527 fix: resolve the remaining deprecations reported by phpunit 2026-10-01 10:06:59 +02:00
fromme 1446211d22 chore: bump project to php 8.5 2026-10-01 09:55:34 +02:00
fromme 838b8944a2 feat: rearranged admin menu, proper gendering 2026-10-01 08:23:06 +02:00
fromme a4206f51eb chore: update project dependencies 2026-09-29 15:43:21 +02:00
fromme 2329fe17a0 fix: report an unresolvable hotel instead of failing on it 2026-09-29 15:27:44 +02:00
fromme 72be779038 chore: name the current import command in the probe's docblock 2026-09-29 15:27:34 +02:00
fromme d8ff148f86 fix: adopt changed export api url 2026-09-29 14:45:51 +02:00
fromme db529d2dc9 refactor: slim the hotel and country base-data models 2026-09-29 13:06:20 +02:00
fromme aa66c50979 refactor: delete the BusProNet base-data read path 2026-09-29 13:06:12 +02:00
fromme 0f76c5a7b6 feat: import destinations from the MyE&P travel export 2026-09-29 12:57:54 +02:00
fromme 5c7e702eab fix: accept the ISO-2 country codes when authoring a destination 2026-09-29 12:47:25 +02:00
fromme 169a17e19c chore: verify the ISO-2 country move and renumber its migration 2026-09-29 12:47:25 +02:00
fromme 6c0a512c05 fix: refuse the import while MyE&P reports no cost unit or country code 2026-09-29 11:08:04 +02:00
Björn Fromme 2e9328fc51 feat: read BusProNet base data from the MyE&P API 2026-09-29 11:08:04 +02:00
fromme 1505f9b50b chore: update project dependencies 2026-09-27 18:10:15 +02:00
fromme 392e67448e feat: order and format the pickup fields 2026-09-27 18:05:12 +02:00
fromme 8da9af46f5 chore: update project dependencies 2026-09-26 12:13:59 +02:00
fromme ca4a73eb4f chore: cleanup ddev config 2026-09-26 12:13:59 +02:00
fromme 1a7c272414 feat: import work hours from SaaS and exchange signed time sheet 2026-09-26 12:13:59 +02:00
fromme 7cf39850e6 feat: email recipient whitelist 2026-09-26 12:13:37 +02:00
fromme 4cab57d136 feat: additional functionality and layout adjustments for season teamers 2026-09-26 12:13:16 +02:00
fromme 80c6016da3 fix: replace only missing uploads with dummy document 2026-09-26 12:13:16 +02:00
fromme 69b8e549ee feat: gate the upload replacement file behind a feature flag 2026-09-26 12:13:16 +02:00
fromme 77986776c2 feat: send season deadline summary to the office address 2026-09-26 12:13:16 +02:00
Björn Fromme cf876ed224 feat: all-season assignments 2026-09-26 12:13:16 +02:00
fromme 675cec1b69 chore: rename menu entry and view title 2026-09-26 10:32:42 +02:00
fromme e460b18661 fix: accept the German W as a gender on the application endpoint 2026-09-26 10:25:48 +02:00
fromme 5141673bcd chore: drop the teamer provisioning feature flag 2026-09-25 14:51:39 +02:00
fromme b530679658 feat: provision a teamer from a received application 2026-09-25 14:36:24 +02:00
fromme d5f4b12f0a chore: rename local project to align with prod 2026-09-25 09:36:59 +02:00
fromme aa728ddc99 feat: answer received form submissions by mail 2026-09-24 16:35:31 +02:00
fromme 19364df2db feat: mark a library document for a specific purpose 2026-09-24 16:35:24 +02:00
fromme cb2d64f2cd feat: review received form submissions in the admin ui 2026-09-24 16:35:18 +02:00
fromme f073a2014d fix: keep the log processors working on a stateless firewall 2026-09-24 16:35:12 +02:00
fromme 30ad5e8488 feat: accept form submissions from the websites over an API endpoint 2026-09-24 16:35:06 +02:00
fromme f48e53fdd0 fix: verify the oauth2 state before the error parameter 2026-09-23 17:48:24 +02:00
fromme 3f4586ce06 feat: harden the myep oauth2 client 2026-09-23 16:06:25 +02:00
frommeandClaude Opus 5 2a8649fc6d chore: run MariaDB 11.8 in ddev to match production
Development ran MySQL 8.4 while production runs MariaDB, so nothing engine-specific
was ever exercised on the engine it ships on.

DATABASE_URL carries serverVersion=mariadb-* now, which is what makes DBAL pick its
MariaDB platform. This matters most for the test environment: it reads DATABASE_URL
from the committed .env and not from .env.dev.local, so a MySQL version there had the
suite running on MySQL84Platform against a MariaDB server - and schema:validate
reporting every nullable and every json column as drift. With the platform right, a
db_test built from the mapping is in sync.

The post-start hooks create db_test and grant the db user, which ddev does not do on
its own, and sync the schema from the entity mapping. Without them the first test run
after a fresh start fails on the missing database.

The remaining changes in config.yaml are ddev's own regeneration of the commented
reference section.

Co-Authored-By: Claude Opus 5 <[email protected]>
2026-09-23 09:02:56 +02:00
fromme 161cfb9e62 chore: exclude secrets file from repository 2026-09-23 08:06:45 +02:00
fromme eac125517f fix: use a SortDirection instance for the availabilities ordering 2026-09-21 12:20:55 +02:00
fromme af46c57bd1 feat: normalize email addresses to lowercase on write 2026-09-21 12:20:55 +02:00
fromme d6327f033e fix: stagger cron triggered tasks between prod and staging 2026-09-20 13:32:48 +02:00
fromme 752db081b3 chore: update project dependencies 2026-09-20 13:32:23 +02:00
fromme 518f3a46d0 test: adopt the ROLE_TEAM_ADMIN label rename 2026-09-19 11:36:23 +02:00
fromme a05143bfbe fix: make BusProNet response failures diagnosable and non-fatal 2026-09-19 11:36:14 +02:00
fromme 29cedd5916 chore: disable unused ddev ssh-agent 2026-09-17 08:31:29 +02:00
fromme 5c57dc823f fix: add missing access checks 2026-09-16 18:03:04 +02:00
fromme d4908b6ab9 feat: rename ROLE_ADMIN to ROLE_TEAM_ADMIN since being too broad 2026-09-16 17:20:45 +02:00