|
@@ -4,6 +4,7 @@ from mptt.forms import TreeNodeChoiceField
|
|
|
import re
|
|
|
|
|
|
from django import forms
|
|
|
+from django.contrib.auth.models import User
|
|
|
from django.contrib.postgres.forms.array import SimpleArrayField
|
|
|
from django.db.models import Count, Q
|
|
|
|
|
@@ -376,10 +377,11 @@ class RackFilterForm(BootstrapMixin, CustomFieldFilterForm):
|
|
|
|
|
|
class RackReservationForm(BootstrapMixin, forms.ModelForm):
|
|
|
units = SimpleArrayField(forms.IntegerField(), widget=ArrayFieldSelectMultiple(attrs={'size': 10}))
|
|
|
+ user = forms.ModelChoiceField(queryset=User.objects.order_by('username'))
|
|
|
|
|
|
class Meta:
|
|
|
model = RackReservation
|
|
|
- fields = ['units', 'description']
|
|
|
+ fields = ['units', 'user', 'description']
|
|
|
|
|
|
def __init__(self, *args, **kwargs):
|
|
|
|
|
@@ -411,6 +413,15 @@ class RackReservationFilterForm(BootstrapMixin, forms.Form):
|
|
|
)
|
|
|
|
|
|
|
|
|
+class RackReservationBulkEditForm(BootstrapMixin, BulkEditForm):
|
|
|
+ pk = forms.ModelMultipleChoiceField(queryset=RackReservation.objects.all(), widget=forms.MultipleHiddenInput)
|
|
|
+ user = forms.ModelChoiceField(queryset=User.objects.order_by('username'), required=False)
|
|
|
+ description = forms.CharField(max_length=100, required=False)
|
|
|
+
|
|
|
+ class Meta:
|
|
|
+ nullable_fields = []
|
|
|
+
|
|
|
+
|
|
|
|
|
|
|
|
|
|