ephios-dev / ephios

ephios is a django web application for managing participation for services at events, like paramedics at a festival, lifeguards at the beach, referees and judges at competitions, etc.
https://ephios.de
MIT License
26 stars 8 forks source link

Add complex shift structure #1343

Closed felixrindt closed 2 months ago

felixrindt commented 3 months ago
coveralls commented 3 months ago

Coverage Status

coverage: 85.678% (-1.8%) from 87.448% when pulling 2b7867bddd86c3851451c0df1fdae67969bb4d70 on complex-structure into 41ce283e716ddf187d9c0ca2eb658ad5df691860 on main.

felixrindt commented 2 months ago

This is a "bug" I think we should address if we ever refactor the matching service:

Ronny is designated for the upper block, so that block should be shown as full (as no one else would be able to get in there). Because I can't know about the designation when scoring the other position with Ronny (because that info is only available on the position he's designated for) the algorithm considers the other position valid for him too and thus sees it as acceptable putting him there to put another person on the upper block.

image

Fixing this would require even more spaghetti-wrangling the matching code - or a whole rewrite. I think waiting to refactor the whole thing is a smart move, as this is just a minor bug with it.

You could of course also argue this is intended behavior, as for instant signup, as designation is not visible in the overview, and disposition doesn't have to be final etc.