From 450d3597d2a2aef1e87557ce7e3069df9709e6ad Mon Sep 17 00:00:00 2001 From: Matthias Nagel Date: Thu, 2 Oct 2025 14:04:17 +0200 Subject: [PATCH] =?UTF-8?q?feat:=20Implementierung=20des=20'Heimspiel'-Sta?= =?UTF-8?q?tus=20f=C3=BCr=20Spiele?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- calendars/__pycache__/forms.cpython-313.pyc | Bin 3689 -> 3829 bytes calendars/__pycache__/models.cpython-313.pyc | Bin 4208 -> 4284 bytes calendars/__pycache__/views.cpython-313.pyc | Bin 7814 -> 8164 bytes calendars/forms.py | 4 ++- .../migrations/0004_game_is_home_game.py | 18 +++++++++++++ .../0004_game_is_home_game.cpython-313.pyc | Bin 0 -> 798 bytes calendars/models.py | 1 + calendars/templates/calendars/event_form.html | 24 ++++++++++++++++-- calendars/views.py | 8 +++++- dashboard/templates/dashboard/dashboard.html | 14 ++++++++-- db.sqlite3 | Bin 303104 -> 311296 bytes templates/base.html | 1 + 12 files changed, 64 insertions(+), 6 deletions(-) create mode 100644 calendars/migrations/0004_game_is_home_game.py create mode 100644 calendars/migrations/__pycache__/0004_game_is_home_game.cpython-313.pyc diff --git a/calendars/__pycache__/forms.cpython-313.pyc b/calendars/__pycache__/forms.cpython-313.pyc index 8af97fd8798c8c1158d1e483e74004508fa43fce..7c428133880be7d27f2e97b2abc4947205fee692 100644 GIT binary patch delta 489 zcmaDU^HrAjGcPX}0}$NKyqD3qk=KBo@z!L2#>Ff#EI~q(3)w}LIfA(?8H>0i7?c=- zxuqC_c}$r=>KPb{xPy6%c+&Ya`6vHnH)hdfEE1or%i+%^0hH6^p4`L{#dnJ*vp7B@ zKQ}c#Jux?R@*NIOEs$(6Kagl+xFI0Y!TO1bL8yeOo2^I-WTXy=Py!Nun!J-Iu!-t2 zg9P+Igg%In0}=8-;ueonetu4BVxC)OYEDX#BS>6l@&+~uehUy2L&)mfxrsLpNIvA1WsIHtpVwKPow0z5j9zm(^Cw@E#?OjZ45UAL^@bMF);|GFin2Krat)|Cm-X&$!|GlaDQiF zVohQC!T=;EFW@@DC^b2i`vIfdWH%l=85fXwthZQ-Q*+X8u_P9y7vEybE(g&?Zj%@A z$T50N-p?b&C_DKU&tyjL$$7j=R_;J8MP4966G+_RjgL>xNh~f-PR+@QkJn@@3IK{0 zGXe>RB5jZ=Cm10$`4q1+qtj$QzBnM6%O}eiJ-M6DS%{S}g{h;ozrM5n3j>J#g>Ui$ GK2ZQ4kxxbd diff --git a/calendars/__pycache__/models.cpython-313.pyc b/calendars/__pycache__/models.cpython-313.pyc index e1c44e0811bbe64872eccc5dbe9ad9ccbaa07d36..b6336c482446e5bc16f864aa4ea8ea82b819224a 100644 GIT binary patch delta 318 zcmeyMut$;iGcPX}0}$+qx|dA|;M*qo)n9tTFR z&HH#*7#TGtALb1J>J#BhW7M5o%@-vd4^*NH#Kr7DqK)B(ly*0Nks^>?lrs4PpQ}P5 zh{*;bl0bwukhsNGT#{H)T3nO@1(F7v pDGy}b;;_lhPbtkwwJXY=94uhL$I6(>*kSsG0Yrb{n>XhFC%+faV~m?DAYddVqTk?qQ%G(`^<^RL2Jf#dtgMm{ zrQwrf*(4{I3b-%^Pu?X^&Xow#4m;T*b^<6a^HSEFjv;QxpSIpaLSI zCa)C@WK5m>U(}Je94K&$H8~?QC#5KNvai^3);6F>#O9x3Gng4uCQp*GWsI79K}wXd zbMiAOQ^t>7|sMH42^ jl9gqgHF<|@ogf#Z|}xL1^l delta 306 zcmaE2-)77AnU|M~0SM$|?`HIiZsaTAXEc~x&o4T;k4=)DrHDJ7Rg-PL$mF8#$v@;|8K+Jb cldltGVbr-Grm;eQht(GbAo~l?ljA6n2uFi`%BrIrh$U#s(nBx5-xLaJuF-QK|o88gg}SweAl~Kwv`W5!WYs$lA24fXqtScuO)3}E5+X=}` zwPx2b9;HGSS(>w)n>1xw2W9y%Wl|V(mG_v^r{-AU7+QP6dB#XyZmB@aUOIgnV_9g| zhnN(FNC%UGNsNUtYpx$quOl-_G|oxFvgoDYhwP|e(SS%cAX$dFNJySaQg9Ld^C()~ zWu)EOUAT4CmF?qq!dP1d17t^sk1%t=-<{dkE%*KNSpfdcsn&!n zTW5`}FZ8sr^Rw#s!OV6W?uV{uF3;Kz9p%$Qk|%td4oWvl4;EiDb1iCH8Y%D5!s9)$ kp{f4OLEhD2W+R0DxPZc6ZVkDggK2&9w7&TpG%36P0)|u1SpWb4 literal 0 HcmV?d00001 diff --git a/calendars/models.py b/calendars/models.py index a19db7f..16ebcd4 100644 --- a/calendars/models.py +++ b/calendars/models.py @@ -27,6 +27,7 @@ class Game(Event): meeting_minutes_before_game = models.PositiveIntegerField(default=60) season = models.CharField(max_length=255, blank=True) min_players = models.PositiveIntegerField(default=9) + is_home_game = models.BooleanField(default=True) opened_for_teams = models.ManyToManyField('clubs.Team', related_name='opened_games', blank=True) class GameResult(models.Model): diff --git a/calendars/templates/calendars/event_form.html b/calendars/templates/calendars/event_form.html index bf821aa..9ca22e2 100644 --- a/calendars/templates/calendars/event_form.html +++ b/calendars/templates/calendars/event_form.html @@ -1,4 +1,5 @@ {% extends "base.html" %} +{% load l10n %} {% block content %}
@@ -10,11 +11,30 @@
{% csrf_token %} - {{ form.as_p }} + + {% for field in form %} +
+ + {% if object and field.name == 'start_time' %} +

Current: {{ object.start_time|localize }}

+ {% endif %} + {% if object and field.name == 'end_time' %} +

Current: {{ object.end_time|localize }}

+ {% endif %} + {{ field }} + {% if field.help_text %} + {{ field.help_text }} + {% endif %} + {% for error in field.errors %} +
{{ error }}
+ {% endfor %} +
+ {% endfor %} +
-{% endblock %} \ No newline at end of file +{% endblock %} diff --git a/calendars/views.py b/calendars/views.py index 340192d..e7225ff 100644 --- a/calendars/views.py +++ b/calendars/views.py @@ -70,10 +70,16 @@ class GameCreateView(LoginRequiredMixin, CreateView): class EventUpdateView(LoginRequiredMixin, CoachCheckMixin, UpdateView): model = Event - form_class = EventForm template_name = 'calendars/event_form.html' success_url = reverse_lazy('dashboard') + def get_form_class(self): + if hasattr(self.object, 'game'): + return GameForm + if hasattr(self.object, 'training'): + return TrainingForm + return EventForm + class EventDeleteView(LoginRequiredMixin, CoachCheckMixin, DeleteView): model = Event template_name = 'calendars/event_confirm_delete.html' diff --git a/dashboard/templates/dashboard/dashboard.html b/dashboard/templates/dashboard/dashboard.html index 614caf1..b464f9d 100644 --- a/dashboard/templates/dashboard/dashboard.html +++ b/dashboard/templates/dashboard/dashboard.html @@ -28,7 +28,12 @@ {% endif %} ">
-
{{ item.event.title }}
+
+ {{ item.event.title }} + {% if item.event.game.is_home_game %} + + {% endif %} +
{{ item.event.start_time|localize }}

Team: {{ item.event.team.name }}

@@ -104,7 +109,12 @@ {% endif %} ">
-
{{ item.event.title }}
+
+ {{ item.event.title }} + {% if item.event.game.is_home_game %} + + {% endif %} +
{{ item.event.start_time|localize }}

Team: {{ item.event.team.name }}

diff --git a/db.sqlite3 b/db.sqlite3 index bdf6883157800c58bf553fca1dd8f1930f4f7f19..ada38563211112cee3acf9184fbf0388ed4d7cf3 100644 GIT binary patch delta 797 zcmZ`%OH30%7@pbL?ew{SK?!JyZV6G>0Nr*eNI`@cPgYuA2NM%$aU&$qk`^?2p$HK* z9;gKO$^l;|qm8UF9yI8IlY&7GhJctDNQ|wC#s@JvJPvqpk}s2g=F9iZ|NWDCmY+&( z8FJ{+HudGv)5+4l59WJ=QCMRwL?`8_IdE} zu6C_MYSVhUH7U}QJU=m(xY)hfR}C<0Mfvy0r|321B#t>FS4Ny9lb6cEaM)QSVAgi! zTA2q)DVOiQo(Tgk_k5NyE873@}q3V{A52eJV@TdpMw)A(6{^bV2OpQ6e?f^9jmJBr zrqBtg>0~e{vxxHk$ z*4h@+64Jp)A`;aiv1Hxqcr9*jonjIGPr(}${o?_$!%85#5eGAQzaE9dLbS!?{7QCwMWqxIaBh z2q`ALTcyT$p3Xig-vb*pXPUY@5uNf1W;8RB9a1%Cg?NprvF5Xr%T#S%&z0!tTsK$m z=BVuEl+&@rt(f4LbIE>W#mV7EOUC2OWtN@jD_A1u<1edDRVF1FX6=f?Gi0Udk>fkMLc7I5S zXs@!1u7(c5cl^N`I_TqF68t$tXM^Pv)Fb$b%|vSrpU_LtGPcb`{~tSIZS&1!Bk_{X pYx-&j%09SP$s|UG9ujBXE?YtB!9c-0XI#<4Xv&?}WmxCs;s0Esj}-s_ diff --git a/templates/base.html b/templates/base.html index 121de5b..8278537 100644 --- a/templates/base.html +++ b/templates/base.html @@ -4,6 +4,7 @@ Baseball Organisator +