50fc32c577
- Users can delete their own bookings (confirmation page) - Crew page tree (/suff/staff/): book/pay/delete for any user, register new users, set/reset PINs - Anonymous walk-in user "anonym": bookings auto-create matching cash payment so balance stays at 0 - Self-signup: unknown name creates account (PIN required); known name without PIN and no activity allows claim (PIN required); known name without PIN but with activity blocks and points to bar crew - Crew-only PIN set/reset; no random PINs, PINs never displayed - Cyan .staff-target highlight on all crew pages - Updated suff.md with current feature state and open ideas Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
28 lines
670 B
Python
28 lines
670 B
Python
from django.db import migrations
|
|
|
|
|
|
ANONYMOUS_USERNAME = "anonym"
|
|
|
|
|
|
def create_anonymous(apps, schema_editor):
|
|
User = apps.get_model("gaehsnitz", "User")
|
|
User.objects.get_or_create(
|
|
username=ANONYMOUS_USERNAME,
|
|
defaults={"pin": "", "is_staff": False, "is_superuser": False},
|
|
)
|
|
|
|
|
|
def delete_anonymous(apps, schema_editor):
|
|
User = apps.get_model("gaehsnitz", "User")
|
|
User.objects.filter(username=ANONYMOUS_USERNAME).delete()
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
dependencies = [
|
|
("gaehsnitz", "0008_alter_drink_category"),
|
|
]
|
|
|
|
operations = [
|
|
migrations.RunPython(create_anonymous, delete_anonymous),
|
|
]
|