• Mahmoud Aglan's avatar
    Add comprehensive conflict detection + flexible time to schedule builder · 4794a02c
    Mahmoud Aglan authored
    ScheduleConflictService checks ALL sources of trainer/group conflicts:
    - TrainingSchedule (recurring weekly assignments)
    - TrainingSession (specific date overrides)
    - TrainingGroup.head_trainer_id (implied trainer commitment)
    - Assignment model (formal polymorphic assignments)
    
    Schedule Builder improvements:
    - Flexible time picker (any minute interval, not just hourly)
    - Trainer availability indicators (green dot = free, orange = busy)
    - Group availability indicators (red warning if scheduled elsewhere)
    - Implied trainer warnings (group's head trainer conflict = soft warning)
    - New vs existing assignments visually distinct (green = unsaved)
    - Trainer name shown on existing reservations
    - Row/column/all selection helpers
    - Recurring booking checks group + trainer + space conflicts per date
    - Cancel series now deactivates the underlying TrainingSchedule
    - Final validation pass before commit (double-check for race conditions)
    Co-Authored-By: 's avatarClaude Opus 4.6 <noreply@anthropic.com>
    4794a02c
Name
Last commit
Last update
.claude/rules Loading commit data...
app Loading commit data...
bootstrap Loading commit data...
config Loading commit data...
database Loading commit data...
docker Loading commit data...
docs Loading commit data...
gap-filling-plans Loading commit data...
public Loading commit data...
resources Loading commit data...
routes Loading commit data...
scripts Loading commit data...
storage Loading commit data...
tests Loading commit data...
.dockerignore Loading commit data...
.editorconfig Loading commit data...
.env.example Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.npmrc Loading commit data...
Beanding Guide.txt Loading commit data...
CLAUDE.md Loading commit data...
Dockerfile Loading commit data...
README.md Loading commit data...
artisan Loading commit data...
captain-definition Loading commit data...
composer.json Loading commit data...
composer.lock Loading commit data...
deploy.sh Loading commit data...
elcaptain-sportsonly-db.md Loading commit data...
package-lock.json Loading commit data...
package.json Loading commit data...
phpunit.xml Loading commit data...
system info.txt Loading commit data...
vite.config.js Loading commit data...