47d46e8e6f
Self-service drink tab at /suff/ for festival attendees. Users log in with username + 3-digit PIN stored in a separate User.pin field, so staff/admin accounts can keep their strong password for /admin/ and also use the drink tool with the same username. PINs for staff users must be set from the admin panel via a dedicated "PIN setzen" view to prevent account takeover by name collision. Time-gated to the festival window (Thu–Sun in Berlin tz) with phases before/booking/readonly/closed; in non-production mode the tool is always in booking phase for local testing. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
23 lines
625 B
Python
23 lines
625 B
Python
# Generated by Django 6.0.5 on 2026-05-14 09:36
|
|
|
|
from django.db import migrations, models
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
dependencies = [
|
|
("gaehsnitz", "0002_remove_donation_from_user_remove_payment_from_user_and_more"),
|
|
]
|
|
|
|
operations = [
|
|
migrations.AddField(
|
|
model_name="consumption",
|
|
name="created_at",
|
|
field=models.DateTimeField(auto_now_add=True, null=True),
|
|
),
|
|
migrations.AddField(
|
|
model_name="user",
|
|
name="pin",
|
|
field=models.CharField(blank=True, default="", max_length=128),
|
|
),
|
|
]
|