From 11d84b162492a5339dd50eac3aa6a30deef580b7 Mon Sep 17 00:00:00 2001 From: "N. Geisler" <ngeisler@fachschaft.informatik.tu-darmstadt.de> Date: Sat, 19 Oct 2019 01:01:16 +0200 Subject: [PATCH] add basic AK submission form create form class create template configur urls create submission view --- AKSubmission/forms.py | 9 ++++++++ .../AKSubmission/submission_overview.html | 2 +- .../templates/AKSubmission/submit_new.html | 21 +++++++++++++++++++ AKSubmission/urls.py | 1 + AKSubmission/views.py | 13 +++++++++++- 5 files changed, 44 insertions(+), 2 deletions(-) create mode 100644 AKSubmission/forms.py create mode 100644 AKSubmission/templates/AKSubmission/submit_new.html diff --git a/AKSubmission/forms.py b/AKSubmission/forms.py new file mode 100644 index 00000000..7a3234fd --- /dev/null +++ b/AKSubmission/forms.py @@ -0,0 +1,9 @@ +from django import forms + +from AKModel.models import AK + + +class AKForm(forms.ModelForm): + class Meta: + model = AK + fields = '__all__' diff --git a/AKSubmission/templates/AKSubmission/submission_overview.html b/AKSubmission/templates/AKSubmission/submission_overview.html index 99eb5f83..7bab73f0 100644 --- a/AKSubmission/templates/AKSubmission/submission_overview.html +++ b/AKSubmission/templates/AKSubmission/submission_overview.html @@ -18,7 +18,7 @@ <div class="jumbotron" style="margin-top:20px;"> <h2>{% trans "Submit" %}</h2> - <a href="#" class="btn btn-primary">{% trans "New AK" %}</a> + <a href="{% url 'submit:submit_ak' event_slug=event.slug %}" class="btn btn-primary">{% trans "New AK" %}</a> <a href="#" class="btn btn-info">{% trans "New AK Wish" %}</a> </div> diff --git a/AKSubmission/templates/AKSubmission/submit_new.html b/AKSubmission/templates/AKSubmission/submit_new.html new file mode 100644 index 00000000..9fb7a1f2 --- /dev/null +++ b/AKSubmission/templates/AKSubmission/submit_new.html @@ -0,0 +1,21 @@ +{% extends 'base.html' %} + +{% load i18n %} +{% load bootstrap4 %} + +{% block title %}{{ event.slug }} - {% trans "New AK" %}{% endblock %} + +{% block breadcrumbs %} + <li class="breadcrumb-item"><a href="#">AKPlanning</a></li> + <li class="breadcrumb-item"><a href="#">{{ event.slug }}</a></li> + <li class="breadcrumb-item"><a href="#">{% trans "AK Submission" %}</a></li> + <li class="breadcrumb-item active">{% trans "New AK" %}</li> +{% endblock %} + +{% block content %} + <h2>{% trans 'New AK' %}</h2> + <form method="POST" class="post-form">{% csrf_token %} + {% bootstrap_form form %} + <button type="submit" class="save btn btn-default">Save</button> + </form> +{% endblock %} \ No newline at end of file diff --git a/AKSubmission/urls.py b/AKSubmission/urls.py index 54092fb6..f723f0cc 100644 --- a/AKSubmission/urls.py +++ b/AKSubmission/urls.py @@ -13,6 +13,7 @@ urlpatterns = [ path('aks/', views.AKListView.as_view(), name='ak_list'), path('aks/category/<int:category_pk>', views.AKListByCategoryView.as_view(), name='ak_list_by_category'), path('aks/tag/<int:tag_pk>', views.AKListByTagView.as_view(), name='ak_list_by_tag'), + path('new/', views.AKSubmissionView.as_view(), name='submit_ak'), ]) ), ] diff --git a/AKSubmission/views.py b/AKSubmission/views.py index 66426e55..f0955be6 100644 --- a/AKSubmission/views.py +++ b/AKSubmission/views.py @@ -1,9 +1,11 @@ from django.http import Http404 +from django.urls import reverse_lazy from django.utils.translation import gettext_lazy as _ -from django.views.generic import ListView, DetailView +from django.views.generic import ListView, DetailView, CreateView from AKModel.models import AK, AKCategory, AKTag from AKModel.views import FilterByEventSlugMixin +from AKSubmission.forms import AKForm class SubmissionOverviewView(FilterByEventSlugMixin, ListView): @@ -57,3 +59,12 @@ class AKListByTagView(AKListView): except AKTag.DoesNotExist: raise Http404 return super().get_queryset().filter(tags=self.tag) + + +class AKSubmissionView(CreateView): + model = AK + template_name = 'AKSubmission/submit_new.html' + form_class = AKForm + + def get_success_url(self): + return reverse_lazy('submit:submission_overview', kwargs={'event_slug': self.kwargs['event_slug']}) -- GitLab