From 8488df7c1490e8fc22be37302d692cf9936cb23f Mon Sep 17 00:00:00 2001 From: Vivek Date: Sat, 20 Dec 2025 04:05:07 +0530 Subject: [PATCH] Changes in the event model to take the event source --- events/forms.py | 7 +++++++ events/migrations/0005_event_source.py | 18 ++++++++++++++++++ events/migrations/0006_alter_event_source.py | 18 ++++++++++++++++++ events/models.py | 6 ++++++ 4 files changed, 49 insertions(+) create mode 100644 events/migrations/0005_event_source.py create mode 100644 events/migrations/0006_alter_event_source.py diff --git a/events/forms.py b/events/forms.py index 08dcaa1..e38ca7b 100644 --- a/events/forms.py +++ b/events/forms.py @@ -34,6 +34,10 @@ class EventForm(forms.ModelForm): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) + # Set source to 'official' only and hide the field + self.fields['source'].initial = 'official' + self.fields['source'].widget = forms.HiddenInput() + # Check if all_year_event is True (from instance or initial data) all_year_event = False if self.instance and self.instance.pk: @@ -54,6 +58,9 @@ class EventForm(forms.ModelForm): cleaned_data = super().clean() all_year_event = cleaned_data.get('all_year_event', False) + # Force source to be 'official' only + cleaned_data['source'] = 'official' + # If all_year_event is True, clear date/time fields if all_year_event: cleaned_data['start_date'] = None diff --git a/events/migrations/0005_event_source.py b/events/migrations/0005_event_source.py new file mode 100644 index 0000000..f719437 --- /dev/null +++ b/events/migrations/0005_event_source.py @@ -0,0 +1,18 @@ +# Generated by Django 5.0 on 2025-12-19 22:31 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('events', '0004_event_all_year_event_alter_event_end_date_and_more'), + ] + + operations = [ + migrations.AddField( + model_name='event', + name='source', + field=models.CharField(blank=True, choices=[('eventify', 'Eventify'), ('community', 'Community')], max_length=250), + ), + ] diff --git a/events/migrations/0006_alter_event_source.py b/events/migrations/0006_alter_event_source.py new file mode 100644 index 0000000..79e005d --- /dev/null +++ b/events/migrations/0006_alter_event_source.py @@ -0,0 +1,18 @@ +# Generated by Django 5.0 on 2025-12-19 22:33 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('events', '0005_event_source'), + ] + + operations = [ + migrations.AlterField( + model_name='event', + name='source', + field=models.CharField(blank=True, choices=[('official', 'Official'), ('community', 'Community')], max_length=250), + ), + ] diff --git a/events/models.py b/events/models.py index cd457a4..3373701 100644 --- a/events/models.py +++ b/events/models.py @@ -1,3 +1,4 @@ +from random import choices from django.db import models from master_data.models import EventType @@ -38,6 +39,11 @@ class Event(models.Model): important_information = models.TextField(blank=True) venue_name = models.CharField(max_length=250, blank=True) + source = models.CharField(max_length=250, blank=True, choices=[ + ('official', 'Official'), + ('community', 'Community'), + ]) + def __str__(self): return f"{self.name} ({self.start_date})"