1
0
Fork 0
mirror of https://github.com/Findus23/RPGnotes.git synced 2024-09-19 15:43:45 +02:00

add session and make them unique

This commit is contained in:
Lukas Winkler 2022-06-19 14:27:57 +02:00
parent 97dc9ba75f
commit c549707bca
Signed by: lukas
GPG key ID: 54DE4D798D244853
6 changed files with 47 additions and 5 deletions

View file

@ -1,4 +1,4 @@
from django.forms import ModelForm, ModelMultipleChoiceField, CheckboxSelectMultiple from django.forms import ModelForm, ModelMultipleChoiceField, CheckboxSelectMultiple, DateInput
from days.models import Session, IngameDay from days.models import Session, IngameDay
@ -12,3 +12,9 @@ class DayForm(ModelForm):
class Meta: class Meta:
model = IngameDay model = IngameDay
fields = ["day", "description_md", "sessions"] fields = ["day", "description_md", "sessions"]
class SessionForm(ModelForm):
class Meta:
model = Session
fields = ["date"]

View file

@ -0,0 +1,24 @@
# Generated by Django 4.0.5 on 2022-06-19 12:25
import datetime
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('days', '0005_alter_historicalingameday_options_and_more'),
]
operations = [
migrations.AlterField(
model_name='historicalsession',
name='date',
field=models.DateField(db_index=True, default=datetime.date.today, verbose_name='Date'),
),
migrations.AlterField(
model_name='session',
name='date',
field=models.DateField(default=datetime.date.today, unique=True, verbose_name='Date'),
),
]

View file

@ -9,7 +9,7 @@ from common.models import DescriptionModel, HistoryModel
class Session(HistoryModel, models.Model): class Session(HistoryModel, models.Model):
date = models.DateField(_("Date"), default=date.today) date = models.DateField(_("Date"), default=date.today, unique=True)
class Meta: class Meta:
ordering = ["-date"] ordering = ["-date"]

View file

@ -5,6 +5,7 @@ from days import views
urlpatterns=[ urlpatterns=[
path("", views.list_day_redirect, name="daylist"), path("", views.list_day_redirect, name="daylist"),
path("add", views.DayCreateView.as_view(), name="dayadd"), path("add", views.DayCreateView.as_view(), name="dayadd"),
path("add/session", views.SessionCreateView.as_view(), name="sessionadd"),
path("<int:day>", views.DayDetailView.as_view(), name="daydetail"), path("<int:day>", views.DayDetailView.as_view(), name="daydetail"),
path("<int:day>/edit", views.DayEditView.as_view(), name="dayedit"), path("<int:day>/edit", views.DayEditView.as_view(), name="dayedit"),
path("<int:day>/delete", views.DayDeleteView.as_view(), name="daydelete"), path("<int:day>/delete", views.DayDeleteView.as_view(), name="daydelete"),

View file

@ -2,8 +2,8 @@ from django.shortcuts import redirect
from django.urls import reverse_lazy from django.urls import reverse_lazy
from django.views import generic from django.views import generic
from days.forms import DayForm from days.forms import DayForm, SessionForm
from days.models import IngameDay from days.models import IngameDay, Session
def list_day_redirect(request, *args, **kwargs): def list_day_redirect(request, *args, **kwargs):
@ -34,6 +34,14 @@ class DayCreateView(generic.CreateView):
context_object_name = "object" context_object_name = "object"
class SessionCreateView(generic.CreateView):
template_name = "loot/edit.jinja"
model = Session
form_class = SessionForm
context_object_name = "object"
success_url = reverse_lazy("daylist")
class DayEditView(generic.UpdateView): class DayEditView(generic.UpdateView):
template_name = "loot/edit.jinja" template_name = "loot/edit.jinja"
model = IngameDay model = IngameDay
@ -48,6 +56,7 @@ class DayEditView(generic.UpdateView):
return IngameDay.objects.get(day=self.kwargs['day']) return IngameDay.objects.get(day=self.kwargs['day'])
class DayDeleteView(generic.DeleteView): class DayDeleteView(generic.DeleteView):
template_name = "common/confirm_delete.jinja" template_name = "common/confirm_delete.jinja"
model = IngameDay model = IngameDay

View file

@ -18,7 +18,9 @@
{% endblock %} {% endblock %}
{% block content %} {% block content %}
{% if request.resolver_match.view_name == "dayedit" %}
<a href="{{ url("sessionadd") }}" class="btn btn-secondary">{% trans %}Add Session{% endtrans %}</a>
{% endif %}
<form method="post" {% if form.is_multipart %}enctype="multipart/form-data"{% endif %}> <form method="post" {% if form.is_multipart %}enctype="multipart/form-data"{% endif %}>
{% csrf_token %} {% csrf_token %}
<input type="submit" class="btn btn-primary" <input type="submit" class="btn btn-primary"