Browse Source

ajout information de routage aux allocations

Élie Bouttier 8 years ago
parent
commit
f5a48a5f5c
4 changed files with 39 additions and 2 deletions
  1. 2 1
      services/admin.py
  2. 1 1
      services/forms.py
  3. 28 0
      services/migrations/0017_auto_20170509_1555.py
  4. 8 0
      services/models.py

+ 2 - 1
services/admin.py

@@ -8,7 +8,7 @@ from django.utils.html import format_html
 from djadhere.utils import get_active_filter
 from banking.models import Payment
 from banking.admin import PaymentInline
-from .models import Service, ServiceType, IPResource, ResourceAllocation
+from .models import Service, ServiceType, IPResource, Route, ResourceAllocation
 
 
 ### Filters
@@ -133,4 +133,5 @@ class ResourceAllocationAdmin(admin.ModelAdmin):
 admin.site.register(ServiceType)
 admin.site.register(Service, ServiceAdmin)
 admin.site.register(IPResource, IPResourceAdmin)
+admin.site.register(Route)
 admin.site.register(ResourceAllocation, ResourceAllocationAdmin)

+ 1 - 1
services/forms.py

@@ -19,7 +19,7 @@ class ServiceForm(ModelForm):
 class ResourceAllocationForm(ModelForm):
     class Meta:
         model = ResourceAllocation
-        fields = ('service', 'resource',)
+        fields = ('service', 'resource', 'route')
         widgets = {
             'service': Select2Widget(),
             'resource': Select2Widget(),

+ 28 - 0
services/migrations/0017_auto_20170509_1555.py

@@ -0,0 +1,28 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2017-05-09 13:55
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('services', '0016_resourceallocation_notes'),
+    ]
+
+    operations = [
+        migrations.CreateModel(
+            name='Route',
+            fields=[
+                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+                ('name', models.CharField(max_length=64)),
+            ],
+        ),
+        migrations.AddField(
+            model_name='resourceallocation',
+            name='route',
+            field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='allocations', related_query_name='allocation', to='services.Route', verbose_name='Route'),
+        ),
+    ]

+ 8 - 0
services/models.py

@@ -108,9 +108,17 @@ class Service(models.Model):
         return s
 
 
+class Route(models.Model):
+    name = models.CharField(max_length=64)
+
+    def __str__(self):
+        return self.name
+
+
 class ResourceAllocation(models.Model):
     resource = models.ForeignKey(IPResource, verbose_name='Ressource', related_name='allocations', related_query_name='allocation')
     service = models.ForeignKey(Service, related_name='allocations', related_query_name='allocation')
+    route = models.ForeignKey(Route, verbose_name='Route', related_name='allocations', related_query_name='allocation', null=True) # FIXME
     start = models.DateTimeField(verbose_name='Début de la période d’allocation', default=timezone.now)
     end = models.DateTimeField(null=True, blank=True, verbose_name='Fin de la période d’allocation')
     notes = models.TextField(blank=True, default='')