فهرست منبع

cimmot vom 20241026 23:13

root 1 سال پیش
والد
کامیت
faea09afc6
5فایلهای تغییر یافته به همراه28 افزوده شده و 6 حذف شده
  1. BIN
      db.sqlite3
  2. 18 2
      main/forms.py
  3. 3 0
      main/models.py
  4. 5 2
      main/views.py
  5. 2 2
      templates/main/current_week_shifts.html

BIN
db.sqlite3


+ 18 - 2
main/forms.py

@@ -2,24 +2,40 @@ from django import forms
 from .models import Shift, Employee, Event, Helper, Reinigung
 from django.utils.translation import gettext_lazy as _
 
+
 class MultipleShiftForm(forms.Form):
+
+    #class Meta:
+       # model = Shift
+       # fields = ['employees', 'date', 'start', 'end', 'shifttype', 'info']
+        #widgets = {
+          #  'employees': forms.ModelMultipleChoiceField(queryset=Employee.objects.all(), widget=forms.CheckboxSelectMultiple),
+          #  'date': forms.widgets.DateInput(attrs={'type': 'date'}),
+          #  'start': forms.TimeField(required=False, widget=forms.TimeInput(format='%H:%M')),
+          #  'end': forms.TimeField(required=False, widget=forms.TimeInput(format='%H:%M')),
+          #  'shifttype': forms.ChoiceField(choices=Shift.ShiftType.choices),
+          #  'info': forms.Textarea()
+        #}
+
     employees = forms.ModelMultipleChoiceField(queryset=Employee.objects.all(), widget=forms.CheckboxSelectMultiple)
     date = forms.DateField(widget=forms.DateInput)
     start = forms.TimeField(required=False, widget=forms.TimeInput(format='%H:%M'))
     end = forms.TimeField(required=False, widget=forms.TimeInput(format='%H:%M'))
     shifttype = forms.ChoiceField(choices=Shift.ShiftType.choices)
+    info = forms.CharField(widget=forms.Textarea)
 
 
 class ShiftForm(forms.ModelForm):
     class Meta:
         model = Shift
-        fields = ['date', 'start', 'end', 'shifttype', 'employee']
+        fields = ['date', 'start', 'end', 'shifttype', 'employee', 'info']
 
 
 class EventForm(forms.ModelForm):
     class Meta:
         model = Event
-        fields = ['date', 'name', 'event_type', 'location', 'cvd', 'cvt']
+        fields = ['date', 'name', 'event_type', 'location', 'cvd', 'cvt', 'info']
+
 
 class ReinigungForm(forms.ModelForm):
     class Meta:

+ 3 - 0
main/models.py

@@ -60,6 +60,7 @@ class Shift(models.Model):
         null=True,
     )
     employee = models.ForeignKey(Employee, on_delete=models.CASCADE)
+    info = models.TextField(null=True, blank=True)
 
     def __str__(self):
         return f"{self.date} - {self.get_shifttype_display()}"
@@ -93,6 +94,8 @@ class Event(models.Model):
     location = models.ForeignKey(Location, on_delete=models.CASCADE)
     cvd = models.ForeignKey(Employee, related_name='cvt', on_delete=models.SET_NULL, null=True, blank=True)
     cvt = models.ForeignKey(Employee, related_name='cvd', on_delete=models.SET_NULL, null=True, blank=True)
+    info = models.TextField(null=True, blank=True)
+
 
     def __str__(self):
         return f"{self.date} - {self.name}"

+ 5 - 2
main/views.py

@@ -21,6 +21,8 @@ def create_multiple_shifts(request):
             start = form.cleaned_data['start']
             end = form.cleaned_data['end']
             shifttype = form.cleaned_data['shifttype']
+            info = form.cleaned_data['info']
+
 
             for employee in employees:
                 Shift.objects.create(
@@ -28,7 +30,8 @@ def create_multiple_shifts(request):
                     date=date,
                     start=start,
                     end=end,
-                    shifttype=shifttype
+                    shifttype=shifttype,
+                    info=info
                 )
             return redirect('current_week_shifts')  # Annahme, dass Sie eine Erfolgsmeldung anzeigen möchten
     else:
@@ -220,7 +223,7 @@ def public(request):
 
     helpers = Helper.objects.filter(date__range=[start_of_week, end_of_week])
 
-    print(events)
+
     # Fülle das Dictionary mit den Schichtdaten
     for shift in shifts:
         employee = shift.employee

+ 2 - 2
templates/main/current_week_shifts.html

@@ -110,7 +110,7 @@
                                 {% if event == None %}
                                     <td class="shift-none" onclick="window.location.href='{% url 'create_event' %}?date={{ date }}'"></td>
                                 {% else %}
-                                    <td class="shift-none" onclick="window.location.href='{% url 'edit_event' pk=event.id %}'" data-bs-toggle="tooltip" data-bs-placement="top" data-bs-html="true" title="Name: {{ event.name }}<br> Location: {{ event.location }}<br> CVD: {{ event.cvd }}<br> CVT: {{ event.cvt }}">
+                                    <td class="shift-none" onclick="window.location.href='{% url 'edit_event' pk=event.id %}'" data-bs-toggle="tooltip" data-bs-placement="top" data-bs-html="true" title="Name: {{ event.name }}<br> Location: {{ event.location }}<br> CVD: {{ event.cvd }}<br> CVT: {{ event.cvt }}<br> Info: {{ event.info }}">
                                             {% if event.name %}
                                                 {{ event.name }}
                                             {% else %}
@@ -189,7 +189,7 @@
                                         {% else %}
                                             shift-other
                                         {% endif %}
-                                    " onclick="window.location.href='{% url 'edit_shift' pk=shift.id %}'">
+                                    " onclick="window.location.href='{% url 'edit_shift' pk=shift.id %}'" data-bs-toggle="tooltip" data-bs-placement="top" data-bs-html="true" title="Info: {{ shift.info }}">
                                             {% if shift.start and shift.end %}
                                                 {{ shift.start|time:"H:i" }} - {{ shift.end|time:"H:i" }}
                                             {% else %}