feat: add is_featured/is_top_event fields and API endpoints

- Event model: added is_featured, is_top_event BooleanFields
- Migration 0007 applied to DB
- EventForm: checkboxes for both new fields
- EventAdmin: list_display, list_editable, list_filter for both flags
- FeaturedEventsAPI: POST /api/events/featured-events/ -> is_featured=True events
- TopEventsAPI: POST /api/events/top-events/ -> is_top_event=True events
This commit is contained in:
Ubuntu
2026-03-24 12:20:34 +00:00
parent b54439a4c2
commit aaaab190da
6 changed files with 88 additions and 7 deletions

View File

@@ -1,7 +1,7 @@
from django import forms
from .models import Event
from .models import EventImages
from django_summernote.widgets import SummernoteWidget
class EventForm(forms.ModelForm):
class Meta:
@@ -11,7 +11,7 @@ class EventForm(forms.ModelForm):
'name': forms.TextInput(attrs={'class': 'form-control'}),
'description': forms.Textarea(attrs={'class': 'form-control'}),
'title': forms.TextInput(attrs={'class': 'form-control'}),
'important_information': forms.Textarea(attrs={'class': 'form-control'}),
'important_information': SummernoteWidget(attrs={'summernote': {'width': '100%', 'height': '400px'}}),
'venue_name': forms.TextInput(attrs={'class': 'form-control'}),
'start_date': forms.DateInput(attrs={'class': 'form-control', 'type': 'date', 'id': 'id_start_date'}),
'end_date': forms.DateInput(attrs={'class': 'form-control', 'type': 'date', 'id': 'id_end_date'}),
@@ -30,6 +30,8 @@ class EventForm(forms.ModelForm):
'cancelled_reason': forms.Textarea(attrs={'class': 'form-control'}),
'is_bookable': forms.CheckboxInput(attrs={'class': 'form-check-input'}),
'is_eventify_event': forms.CheckboxInput(attrs={'class': 'form-check-input'}),
'is_featured': forms.CheckboxInput(attrs={'class': 'form-check-input', 'id': 'id_is_featured'}),
'is_top_event': forms.CheckboxInput(attrs={'class': 'form-check-input', 'id': 'id_is_top_event'}),
}
def __init__(self, *args, **kwargs):