fromme
c7e0ad67e6
fix: put the guiding fee on one guide place only
2026-10-16 09:56:04 +02:00
fromme
96d49fc488
docs: drop code references to local plan files
2026-10-16 09:14:44 +02:00
fromme
c16e4bf53f
feat: update profile in buspro without the teamer's password
2026-10-16 08:59:39 +02:00
fromme
18fb3382c6
feat: redirect to the deeplink after the form login
2026-10-16 08:38:05 +02:00
fromme
0e2021e96d
refactor: derive the bus escort from the travel date
2026-10-16 08:36:54 +02:00
fromme
2fc9806c69
feat: generate draft assignments from a staffing matrix
2026-10-15 18:11:51 +02:00
fromme
3116d23199
fix: refuse deleting a document assigned to a season task
2026-10-15 13:02:13 +02:00
fromme
4aa2d7a5e6
fix: keep upload files until their deletion is committed
2026-10-15 12:49:48 +02:00
fromme and Claude Opus 5.5
7e182e3d51
feat: per-disposition feedback waiver
...
The overdue-feedback lists are a live query without stored state, so a
feedback nobody will provide any more could not be written off. The new
disposition.feedback_waived flag takes a placement out of the admin and
manager dashboards, the house-manager list and the reminder mail.
Statistics still count a waived placement as a missing feedback. The
flag has no UI yet and is set by SQL.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-13 13:53:25 +02:00
fromme
849da8d471
chore: upgrade phpunit to 12.5
2026-10-01 10:07:05 +02:00
fromme
2329fe17a0
fix: report an unresolvable hotel instead of failing on it
2026-09-29 15:27:44 +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
392e67448e
feat: order and format the pickup fields
2026-09-27 18:05:12 +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
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
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
af46c57bd1
feat: normalize email addresses to lowercase on write
2026-09-21 12:20:55 +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
d4908b6ab9
feat: rename ROLE_ADMIN to ROLE_TEAM_ADMIN since being too broad
2026-09-16 17:20:45 +02:00
fromme
d86eb1fd2e
feat: maintenance mode indicator for whitelisted ips
2026-09-11 08:29:51 +02:00
fromme
52926ec6cc
feat: additional receipts as attachments to teamer invoices
...
addresses #869dv97u9
2026-09-09 11:10:57 +02:00
fromme
66527515ef
feat: record application deleted event for statistics
2026-09-08 14:11:30 +02:00
fromme
df1e38b008
chore: fix deprecations after bumping doctrine
2026-09-01 15:46:14 +02:00
fromme
10ab2bd04b
fix: doctrine native lazy objects
2026-09-01 13:58:30 +02:00
fromme
2459af122f
feat: upgrade to symfony 7.4
2026-09-01 11:24:44 +02:00
fromme
496a707a16
feat: feedback export to excel
...
addresses #869dv9k9z
2026-09-01 10:20:31 +02:00
fromme
0d06bc4271
fix: drop status breakdown from applications-by-destination stats
2026-09-01 09:46:01 +02:00
fromme
f6667dcfc7
feat: default statistics filter to a rolling 12-month window
2026-09-01 09:45:53 +02:00