Large uncommitted body of work accumulated across sessions on this branch -- committing as a checkpoint so it's tracked and future worktree-isolated agents see the real codebase instead of a stale ancestor commit. Covers the management app's dedicated Tailwind theme and templates, the club onboarding requirement/signup workflow (club/services/onboarding.py, requirement/status models, sign-up dashboard), fee/status auto-activation decoupling, referee management, and the new events calendar grid service layer. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01ECGMEwrc2k4D8VQuwjstj9
24 lines
949 B
Python
24 lines
949 B
Python
# Generated by Django 6.0.6 on 2026-08-17 17:49
|
|
|
|
import django.db.models.deletion
|
|
from django.db import migrations, models
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|
dependencies = [
|
|
('teams', '0009_team_referee_management'),
|
|
]
|
|
|
|
operations = [
|
|
migrations.AlterModelOptions(
|
|
name='team',
|
|
options={'ordering': ['name'], 'verbose_name': 'team', 'verbose_name_plural': 'teams'},
|
|
),
|
|
migrations.AlterField(
|
|
model_name='teammembership',
|
|
name='position',
|
|
field=models.ForeignKey(blank=True, help_text="Left blank for a member placed on the roster before their position is decided (e.g. from the Sign-up page) -- the team's own manager sets it once known.", limit_choices_to={'staff_position': False}, null=True, on_delete=django.db.models.deletion.PROTECT, related_name='team_memberships', to='teams.position', verbose_name='position'),
|
|
),
|
|
]
|