From eedddccb43d48af5c31d6a099ca860ccdbf78835 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Alexa=20Valentov=C3=A1?= <git@imaniti.org>
Date: Tue, 10 Dec 2024 13:30:43 +0100
Subject: [PATCH] prepare for form

---
 main/forms.py  |  5 +++++
 main/models.py | 28 +++++++++++++++++++++++++++-
 2 files changed, 32 insertions(+), 1 deletion(-)

diff --git a/main/forms.py b/main/forms.py
index 5f75fcee..fb710b04 100644
--- a/main/forms.py
+++ b/main/forms.py
@@ -1,5 +1,6 @@
 import os
 import tempfile
+from django import forms
 
 from shared.forms import ArticlesPageForm as SharedArticlesPageForm
 from shared.forms import JekyllImportForm as SharedJekyllImportForm
@@ -7,6 +8,10 @@ from shared.forms import JekyllImportForm as SharedJekyllImportForm
 from .tasks import import_jekyll_articles
 
 
+class CareerSubmissionForm(forms.Form):
+    pass
+
+
 class JekyllImportForm(SharedJekyllImportForm):
     def handle_import(self):
         lock_file_name = os.path.join(
diff --git a/main/models.py b/main/models.py
index 4920c4a7..0a59148c 100644
--- a/main/models.py
+++ b/main/models.py
@@ -9,6 +9,8 @@ from wagtail.fields import RichTextField, StreamField
 from wagtail.models import Page
 from wagtailmetadata.models import MetadataPageMixin
 from datetime import date
+from django.contrib import messages
+from django.shortcuts import render
 
 from shared import blocks as shared_blocks
 from shared.const import RICH_TEXT_DEFAULT_FEATURES
@@ -32,7 +34,7 @@ from shared.models import (  # MenuMixin,
 from shared.utils import make_promote_panels
 
 from . import blocks
-from .forms import MainArticlesPageForm
+from .forms import MainArticlesPageForm, CareerSubmissionForm
 
 
 class MainHomePage(MainHomePageMixin):
@@ -520,6 +522,30 @@ class MainCareerPage(
 
     parent_page_types = ["main.MainCareersPage"]
 
+    def serve(self, request):
+        form = None
+
+        if request.method == 'POST':
+            form = CareerSubmissionForm(request.POST)
+
+            if form.is_valid():
+                # TODO
+                pass
+            
+                messages.add_message(
+                    request,
+                    messages.SUCCESS,
+                    "Přihláška odeslána."
+                )
+        else:
+            form = CareerSubmissionForm()
+
+        return render(request, self.template, {
+            'page': self,
+            'self': self,
+            'form': form,
+        })
+
     class Meta:
         verbose_name = "Pracovní nabídka"
 
-- 
GitLab