diff --git a/db.sqlite3 b/db.sqlite3 index f0815c5..3314e3f 100644 Binary files a/db.sqlite3 and b/db.sqlite3 differ diff --git a/web/admin.py b/web/admin.py index e56974e..4f74177 100644 --- a/web/admin.py +++ b/web/admin.py @@ -9,7 +9,9 @@ from web.models import ( EventDivision, EventDivisionAdmin, SharedEvent, - SharedEventAdmin + SharedEventAdmin, + EventGuest, + EventGuestAdmin ) @@ -19,3 +21,4 @@ admin.site.register(EventComment) admin.site.register(EventCommentReaction, EventCommentReactionAdmin) admin.site.register(EventDivision, EventDivisionAdmin) admin.site.register(SharedEvent, SharedEventAdmin) +admin.site.register(EventGuest, EventGuestAdmin) diff --git a/web/migrations/0004_remove_event_participants_alter_eventcomment_event_and_more.py b/web/migrations/0004_remove_event_participants_alter_eventcomment_event_and_more.py new file mode 100644 index 0000000..8add9fd --- /dev/null +++ b/web/migrations/0004_remove_event_participants_alter_eventcomment_event_and_more.py @@ -0,0 +1,38 @@ +# Generated by Django 4.2.16 on 2025-03-31 02:28 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('web', '0003_alter_event_participants'), + ] + + operations = [ + migrations.RemoveField( + model_name='event', + name='participants', + ), + migrations.AlterField( + model_name='eventcomment', + name='event', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='comments', to='web.event'), + ), + migrations.CreateModel( + name='EventGuest', + fields=[ + ('created_at', models.DateTimeField(auto_now_add=True, null=True)), + ('updated_at', models.DateTimeField(auto_now=True, null=True)), + ('active', models.BooleanField(default=True)), + ('id', models.AutoField(primary_key=True, serialize=False)), + ('guest_email', models.TextField()), + ('guest_hash', models.TextField()), + ('event', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='web.event')), + ], + options={ + 'db_table': 'event_guests', + }, + ), + ] diff --git a/web/models/__init__.py b/web/models/__init__.py index 46b6566..a503139 100644 --- a/web/models/__init__.py +++ b/web/models/__init__.py @@ -4,4 +4,4 @@ from .event_comment import EventComment, EventCommentAdmin from .event_comment_reaction import EventCommentReaction, EventCommentReactionAdmin from .event_division import EventDivision, EventDivisionAdmin from .shared_event import SharedEvent, SharedEventAdmin - +from .event_guest import EventGuest, EventGuestAdmin diff --git a/web/models/event_guest.py b/web/models/event_guest.py new file mode 100644 index 0000000..a0b6758 --- /dev/null +++ b/web/models/event_guest.py @@ -0,0 +1,20 @@ +from django.contrib import admin +from django.contrib.auth.models import User +from django.db import models + +from web.models.base import BaseModel +from web.models.event import Event + + +class EventGuest(BaseModel): + id = models.AutoField(primary_key=True) + event = models.ForeignKey(Event, on_delete=models.CASCADE) + guest_email = models.TextField(blank=False, null=False) + guest_hash = models.TextField(blank=False, null=False) + + class Meta: + db_table = 'event_guests' + + +class EventGuestAdmin(admin.ModelAdmin): + list_display = ('event', 'guest_email', 'guest_hash')