diff --git a/src/django_project/web/admin.py b/src/django_project/web/admin.py index 452340c..714c02f 100644 --- a/src/django_project/web/admin.py +++ b/src/django_project/web/admin.py @@ -38,10 +38,10 @@ class PresentationRequestAdmin(admin.ModelAdmin): "email", "title", "description", - "target_audience", + "skill_level", ] - search_fields: list[str] = ["id", "presenter", "email", "title", "description", "target_audience"] - list_filter: list[str] = ["target_audience"] + search_fields: list[str] = ["id", "presenter", "email", "title", "description", "skill_level"] + list_filter: list[str] = ["skill_level"] class EventAdmin(admin.ModelAdmin): diff --git a/src/django_project/web/forms.py b/src/django_project/web/forms.py index 7e5095e..3850e67 100644 --- a/src/django_project/web/forms.py +++ b/src/django_project/web/forms.py @@ -1,2 +1,40 @@ # import models -# from web.models import () +from handyhelpers.forms import HtmxModelForm +from web.models import PresentationRequest, TopicSuggestion + + +class PresentationRequestForm(HtmxModelForm): + hx_post: str = "/presentation_request" + hx_target: str = "presentation-request-form" + submit_button_text: str = "submit" + success_message: str = "presentation request submitted; thanks!" + + class Meta: + model = PresentationRequest + fields: list[str] = ["presenter", "email", "title", "description", "skill_level"] + + labels: dict[str, str] = { + "presenter": "Presenter Name", + "email": "Email Address", + "title": "Presentation Title", + "description": "Presentation Description", + "skill_level": "Skill Level", + } + + +class TopicSuggestionForm(HtmxModelForm): + hx_post: str = "/topic_suggestion" + hx_target: str = "topic-suggestion-form" + submit_button_text: str = "submit" + success_message: str = "topic suggestion submitted; thanks!" + + class Meta: + model = TopicSuggestion + fields: list[str] = ["title", "description", "skill_level", "email"] + + labels: dict[str, str] = { + "title": "Topic Title", + "description": "Topic Description", + "skill_level": "Skill Level", + "email": "Email Address (optional)", + } diff --git a/src/django_project/web/migrations/0003_rename_target_audience_presentationrequest_skill_level.py b/src/django_project/web/migrations/0003_rename_target_audience_presentationrequest_skill_level.py new file mode 100644 index 0000000..93a5b99 --- /dev/null +++ b/src/django_project/web/migrations/0003_rename_target_audience_presentationrequest_skill_level.py @@ -0,0 +1,17 @@ +# Generated by Django 5.2.4 on 2025-07-29 16:23 + +from django.db import migrations + + +class Migration(migrations.Migration): + dependencies = [ + ("web", "0002_event_url"), + ] + + operations = [ + migrations.RenameField( + model_name="presentationrequest", + old_name="target_audience", + new_name="skill_level", + ), + ] diff --git a/src/django_project/web/models.py b/src/django_project/web/models.py index c81e242..4599aae 100644 --- a/src/django_project/web/models.py +++ b/src/django_project/web/models.py @@ -67,7 +67,7 @@ class PresentationRequest(HandyHelperBaseModel): email: models.EmailField = models.EmailField(max_length=254, null=False) title: models.CharField = models.CharField(max_length=128, null=False) description: models.TextField = models.TextField() - target_audience: models.CharField = models.CharField( + skill_level: models.CharField = models.CharField( max_length=64, null=False, choices=[ diff --git a/src/django_project/web/templates/web/full/index.html b/src/django_project/web/templates/web/full/index.html index 4c08f38..5da45be 100644 --- a/src/django_project/web/templates/web/full/index.html +++ b/src/django_project/web/templates/web/full/index.html @@ -6,10 +6,12 @@
- + - + @@ -96,6 +98,32 @@ } + + @@ -130,7 +158,8 @@A vibrant community of Python enthusiasts, learners, and professionals. Join us for engaging talks, workshops, and networking opportunities.
- Join Us + Join + Us @@ -201,7 +230,8 @@Check out what we've been up to
-Visit - - www.spokanetech.org - - for more local groups and events. + www.spokanetech.org for more local groups and events.