From db733a35b6b4732ada28cb39ad4fd65db112c7db Mon Sep 17 00:00:00 2001 From: root Date: Mon, 30 Oct 2017 15:52:08 -0500 Subject: [PATCH] shows option in creation now --- netbox/dcim/forms.py | 4 ++-- .../migrations/0049_rackreservation_tenant.py | 22 +++++++++++++++++++ netbox/dcim/models.py | 1 + netbox/dcim/views.py | 4 ---- 4 files changed, 25 insertions(+), 6 deletions(-) create mode 100644 netbox/dcim/migrations/0049_rackreservation_tenant.py diff --git a/netbox/dcim/forms.py b/netbox/dcim/forms.py index 0545df111..2527ab94b 100644 --- a/netbox/dcim/forms.py +++ b/netbox/dcim/forms.py @@ -374,12 +374,12 @@ class RackFilterForm(BootstrapMixin, CustomFieldFilterForm): # Rack reservations # -class RackReservationForm(BootstrapMixin, forms.ModelForm): +class RackReservationForm(BootstrapMixin, TenancyForm, forms.ModelForm): units = SimpleArrayField(forms.IntegerField(), widget=ArrayFieldSelectMultiple(attrs={'size': 10})) class Meta: model = RackReservation - fields = ['units', 'description'] + fields = ['units', 'description', 'tenant_group', 'tenant'] def __init__(self, *args, **kwargs): diff --git a/netbox/dcim/migrations/0049_rackreservation_tenant.py b/netbox/dcim/migrations/0049_rackreservation_tenant.py new file mode 100644 index 000000000..0cf652226 --- /dev/null +++ b/netbox/dcim/migrations/0049_rackreservation_tenant.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.6 on 2017-10-30 20:43 +from __future__ import unicode_literals + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('tenancy', '0003_unicode_literals'), + ('dcim', '0048_rack_serial'), + ] + + operations = [ + migrations.AddField( + model_name='rackreservation', + name='tenant', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, related_name='rackreservations', to='tenancy.Tenant'), + ), + ] diff --git a/netbox/dcim/models.py b/netbox/dcim/models.py index e86c702f4..7056eed6e 100644 --- a/netbox/dcim/models.py +++ b/netbox/dcim/models.py @@ -417,6 +417,7 @@ class RackReservation(models.Model): rack = models.ForeignKey('Rack', related_name='reservations', on_delete=models.CASCADE) units = ArrayField(models.PositiveSmallIntegerField()) created = models.DateTimeField(auto_now_add=True) + tenant = models.ForeignKey(Tenant, blank=True, null=True, related_name='rackreservations', on_delete=models.PROTECT) user = models.ForeignKey(User, editable=False, on_delete=models.PROTECT) description = models.CharField(max_length=100) diff --git a/netbox/dcim/views.py b/netbox/dcim/views.py index c54a128e5..9dda12adc 100644 --- a/netbox/dcim/views.py +++ b/netbox/dcim/views.py @@ -394,10 +394,6 @@ class RackBulkDeleteView(PermissionRequiredMixin, BulkDeleteView): class RackReservationListView(ObjectListView): queryset = RackReservation.objects.select_related( 'site', 'tenant' - ).prefetch_related( - 'devices__device_type' - ).annotate( - device_count=Count('devices', distinct=True) ) filter = filters.RackReservationFilter filter_form = forms.RackReservationFilterForm