fromme and Claude 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
fromme and Claude 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