From c5e73830a69c5e8674265dc9485b747a98079ce2 Mon Sep 17 00:00:00 2001 From: Steve Yonkeu Date: Fri, 3 Oct 2025 09:27:38 +0100 Subject: [PATCH 1/2] feat: implement submissions page to display event ideas and their review status Signed-off-by: Steve Yonkeu --- events/forms.py | 1 + events/templates/events/base.html | 27 +++++ events/templates/events/home.html | 114 ++++++++----------- events/templates/events/includes/footer.html | 3 + events/templates/events/includes/head.html | 17 +++ events/templates/events/submissions.html | 80 +++++++++++++ events/urls.py | 1 + events/views.py | 11 ++ 8 files changed, 186 insertions(+), 68 deletions(-) create mode 100644 events/templates/events/base.html create mode 100644 events/templates/events/includes/footer.html create mode 100644 events/templates/events/includes/head.html create mode 100644 events/templates/events/submissions.html diff --git a/events/forms.py b/events/forms.py index 3c68006..e2b8b14 100644 --- a/events/forms.py +++ b/events/forms.py @@ -36,4 +36,5 @@ def save(self, commit: bool = True) -> Event: instance.is_published = False if commit: instance.save() + self.save_m2m() return instance diff --git a/events/templates/events/base.html b/events/templates/events/base.html new file mode 100644 index 0000000..c8426d2 --- /dev/null +++ b/events/templates/events/base.html @@ -0,0 +1,27 @@ +{% load static %} + + + + + {% include 'events/includes/head.html' %} + {% block extra_head %}{% endblock %} + + + + {% block header %} +
+
+
+ {% block header_content %}{% endblock %} +
+
+ {% endblock %} + +
+ {% block content %}{% endblock %} +
+ + {% include 'events/includes/footer.html' %} + + + diff --git a/events/templates/events/home.html b/events/templates/events/home.html index ac521a6..480bf4f 100644 --- a/events/templates/events/home.html +++ b/events/templates/events/home.html @@ -1,66 +1,51 @@ -{% load static %} - - +{% extends 'events/base.html' %} - - - - Eventator | Hacktoberfest 2025 x Django Cameroon - - - - - - +{% block main_class %}mx-auto flex max-w-6xl flex-col gap-16 px-6 py-16{% endblock %} - -
-
-
-
- Hacktoberfest 2025 • Django Cameroon
- {% if messages %} -
- {% for message in messages %} -
- {{ message }} -
- {% endfor %} -
- {% endif %} -

- Eventator keeps our community inspired. -

-

- Browse upcoming gatherings, coding nights, and contribution sprints. Submit your idea and let's grow the Django - Cameroon footprint during Hacktoberfest 2025. -

-
- - - {{ events|length }} - live events - - - - {{ pending_count }} - ideas in review - -
-
-
- -
+{% block content %}

Upcoming & Featured Events

@@ -175,11 +160,4 @@

Share your event idea

-
- -
- Built for the communuitu by the Django Cameroon community — Hacktoberfest 2025 edition. -
- - - \ No newline at end of file +{% endblock %} \ No newline at end of file diff --git a/events/templates/events/includes/footer.html b/events/templates/events/includes/footer.html new file mode 100644 index 0000000..642f2d1 --- /dev/null +++ b/events/templates/events/includes/footer.html @@ -0,0 +1,3 @@ +
+ Built for the community by the Django Cameroon community — Hacktoberfest 2025 edition. +
diff --git a/events/templates/events/includes/head.html b/events/templates/events/includes/head.html new file mode 100644 index 0000000..d442a85 --- /dev/null +++ b/events/templates/events/includes/head.html @@ -0,0 +1,17 @@ + + +{% block title %}Eventator | Hacktoberfest 2025 x Django Cameroon{% endblock %} + + + + + diff --git a/events/templates/events/submissions.html b/events/templates/events/submissions.html new file mode 100644 index 0000000..97335aa --- /dev/null +++ b/events/templates/events/submissions.html @@ -0,0 +1,80 @@ +{% extends 'events/base.html' %} + +{% block title %}Submissions | Eventator{% endblock %} + +{% block header_content %} +
+ Hacktoberfest 2025 • Django Cameroon
+

+ All Submissions & Review Status +

+

+ Track all submitted event ideas and their current review status. +

+ +{% endblock %} + +{% block content %} +
+
+
+ + + + + + + + + + + + {% for submission in submissions %} + + + + + + + + {% empty %} + + + + {% endfor %} + +
TitleDateLocationStatusSubmitted
+
{{ submission.title }}
+
{{ submission.description }}
+
{{ submission.event_date|date:"M d, Y" }}{{ submission.location }} + {% if submission.is_published %} + + + Published + + {% else %} + + + Under Review + + {% endif %} + {{ submission.created_at|date:"M d, Y" }}
+ No submissions yet. Be the first to share an idea! +
+
+
+
+{% endblock %} diff --git a/events/urls.py b/events/urls.py index 58003a4..4981e2b 100644 --- a/events/urls.py +++ b/events/urls.py @@ -6,4 +6,5 @@ urlpatterns = [ path("", views.home, name="home"), + path("submissions/", views.submissions, name="submissions"), ] diff --git a/events/views.py b/events/views.py index b5f49fc..134ea40 100644 --- a/events/views.py +++ b/events/views.py @@ -30,3 +30,14 @@ def home(request): "form": form, } return render(request, "events/home.html", context) + + +def submissions(request): + """Page showing all submitted content with review status.""" + + all_events = Event.objects.all().order_by("-created_at") + + context = { + "submissions": all_events, + } + return render(request, "events/submissions.html", context) From 8046252ae2e6c4ae2025e57029a7293f8ba4f2f9 Mon Sep 17 00:00:00 2001 From: Steve Yonkeu Date: Fri, 3 Oct 2025 12:29:09 +0100 Subject: [PATCH 2/2] Merge main into fix/idea-form Resolved conflicts in home.html by keeping template inheritance pattern. Added Angular Cameroon collaboration event from main branch. --- data/events.json | 10 +++++++++- events/templates/events/home.html | 2 +- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/data/events.json b/data/events.json index 7ad1c40..feb7937 100644 --- a/data/events.json +++ b/data/events.json @@ -30,5 +30,13 @@ "location": "Douala", "organizer": "Django Cameroon", "registration_url": "https://www.django-cmr.org/djangocon-2025" - } + }, + { + "title": "Angular Cameroon Hacktoberfest Collaboration Day", + "description": "Join Angular Cameroon and Django Cameroon for a day of cross-community collaboration! Contribute to open-source projects, attend lightning talks, and learn from experienced mentors.", + "event_date": "2025-10-20", + "location": "Bamenda Tech Hub", + "organizer": "Angular Cameroon x Django Cameroon", + "registration_url": "https://lu.ma/14ixmc37" + } ] diff --git a/events/templates/events/home.html b/events/templates/events/home.html index 480bf4f..559cf9a 100644 --- a/events/templates/events/home.html +++ b/events/templates/events/home.html @@ -160,4 +160,4 @@

Share your event idea

-{% endblock %} \ No newline at end of file +{% endblock %}