diff --git a/machines/admin.py b/machines/admin.py
index b2550c68..aa7d6bc5 100644
--- a/machines/admin.py
+++ b/machines/admin.py
@@ -14,7 +14,7 @@ class MachineTypeAdmin(VersionAdmin):
class ExtensionAdmin(VersionAdmin):
- list_display = ('name',)
+ list_display = ('name','origin')
class MxAdmin(VersionAdmin):
list_display = ('zone', 'priority', 'name')
diff --git a/machines/forms.py b/machines/forms.py
index d54427e1..0b2ceb87 100644
--- a/machines/forms.py
+++ b/machines/forms.py
@@ -112,17 +112,18 @@ class DelIpTypeForm(ModelForm):
class ExtensionForm(ModelForm):
class Meta:
model = Extension
- fields = ['name']
+ fields = ['name', 'origin']
def __init__(self, *args, **kwargs):
super(ExtensionForm, self).__init__(*args, **kwargs)
self.fields['name'].label = 'Extension à ajouter'
+ self.fields['origin'].label = 'Enregistrement A origin'
class DelExtensionForm(ModelForm):
extensions = forms.ModelMultipleChoiceField(queryset=Extension.objects.all(), label="Extensions actuelles", widget=forms.CheckboxSelectMultiple)
class Meta:
- exclude = ['name']
+ exclude = ['name', 'origin']
model = Extension
class MxForm(ModelForm):
diff --git a/machines/migrations/0032_auto_20161119_1850.py b/machines/migrations/0032_auto_20161119_1850.py
new file mode 100644
index 00000000..f5b643c6
--- /dev/null
+++ b/machines/migrations/0032_auto_20161119_1850.py
@@ -0,0 +1,25 @@
+# -*- coding: utf-8 -*-
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('machines', '0031_auto_20161119_1709'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='extension',
+ name='origin',
+ field=models.OneToOneField(null=True, to='machines.IpList', blank=True, on_delete=django.db.models.deletion.PROTECT),
+ ),
+ migrations.AlterField(
+ model_name='extension',
+ name='name',
+ field=models.CharField(max_length=255, unique=True),
+ ),
+ ]
diff --git a/machines/models.py b/machines/models.py
index 0ff636c2..2602c86d 100644
--- a/machines/models.py
+++ b/machines/models.py
@@ -43,7 +43,8 @@ class IpType(models.Model):
class Extension(models.Model):
PRETTY_NAME = "Extensions dns"
- name = models.CharField(max_length=255)
+ name = models.CharField(max_length=255, unique=True)
+ origin = models.OneToOneField('IpList', on_delete=models.PROTECT, blank=True, null=True)
def __str__(self):
return self.name
diff --git a/machines/templates/machines/aff_extension.html b/machines/templates/machines/aff_extension.html
index 1ae5ef8c..5753bf8d 100644
--- a/machines/templates/machines/aff_extension.html
+++ b/machines/templates/machines/aff_extension.html
@@ -2,13 +2,15 @@
{% for extension in extension_list %}
Extension
-
+ Enregistrement A origin
+