mirror of
https://github.com/ansible/awx.git
synced 2026-01-13 11:00:03 -03:30
Adds a type field to group to support racks and sites
* Add type support to Group
This commit is contained in:
parent
9dc4e22fe6
commit
d153d5f907
@ -24,6 +24,10 @@ from awx.network_ui.models import DataType
|
||||
|
||||
from awx.network_ui.models import DataSheet
|
||||
|
||||
from awx.network_ui.models import Stream
|
||||
|
||||
from awx.network_ui.models import Process
|
||||
|
||||
|
||||
class DeviceAdmin(admin.ModelAdmin):
|
||||
fields = ('topology', 'name', 'x', 'y', 'id', 'type', 'interface_id_seq',)
|
||||
@ -42,8 +46,8 @@ admin.site.register(Link, LinkAdmin)
|
||||
|
||||
|
||||
class TopologyAdmin(admin.ModelAdmin):
|
||||
fields = ('name', 'scale', 'panX', 'panY', 'device_id_seq', 'link_id_seq', 'group_id_seq',)
|
||||
raw_id_fields = ()
|
||||
fields = ('name', 'scale', 'panX', 'panY', 'device_id_seq', 'link_id_seq', 'group_id_seq', 'stream_id_seq',)
|
||||
raw_id_fields = ('group_id_seq',)
|
||||
|
||||
|
||||
admin.site.register(Topology, TopologyAdmin)
|
||||
@ -82,7 +86,7 @@ admin.site.register(Interface, InterfaceAdmin)
|
||||
|
||||
|
||||
class GroupAdmin(admin.ModelAdmin):
|
||||
fields = ('id', 'name', 'x1', 'y1', 'x2', 'y2', 'topology',)
|
||||
fields = ('id', 'name', 'x1', 'y1', 'x2', 'y2', 'topology', 'type',)
|
||||
raw_id_fields = ('topology',)
|
||||
|
||||
|
||||
@ -119,3 +123,19 @@ class DataSheetAdmin(admin.ModelAdmin):
|
||||
|
||||
|
||||
admin.site.register(DataSheet, DataSheetAdmin)
|
||||
|
||||
|
||||
class StreamAdmin(admin.ModelAdmin):
|
||||
fields = ('from_device', 'to_device', 'label', 'id',)
|
||||
raw_id_fields = ('stream_id', 'from_device', 'to_device', 'label',)
|
||||
|
||||
|
||||
admin.site.register(Stream, StreamAdmin)
|
||||
|
||||
|
||||
class ProcessAdmin(admin.ModelAdmin):
|
||||
fields = ('device', 'name', 'type', 'id',)
|
||||
raw_id_fields = ('device',)
|
||||
|
||||
|
||||
admin.site.register(Process, ProcessAdmin)
|
||||
|
||||
@ -441,12 +441,14 @@ class _Persistence(object):
|
||||
x2='x2',
|
||||
y2='y2',
|
||||
name='name',
|
||||
id='id'), group)
|
||||
id='id',
|
||||
type='type'), group)
|
||||
d, _ = DeviceGroup.objects.get_or_create(topology_id=topology_id, id=group['id'], defaults=group)
|
||||
d.x1 = group['x1']
|
||||
d.y1 = group['y1']
|
||||
d.x2 = group['x2']
|
||||
d.y2 = group['y2']
|
||||
d.type = group['type']
|
||||
d.save()
|
||||
(Topology.objects
|
||||
.filter(topology_id=topology_id, group_id_seq__lt=group['id'])
|
||||
|
||||
@ -82,6 +82,11 @@ models:
|
||||
type: IntegerField
|
||||
- default: 0
|
||||
name: group_id_seq
|
||||
ref: Topology
|
||||
ref_field: group_id_seq
|
||||
type: IntegerField
|
||||
- default: 0
|
||||
name: stream_id_seq
|
||||
type: IntegerField
|
||||
name: Topology
|
||||
x: 111
|
||||
@ -168,6 +173,9 @@ models:
|
||||
ref: Topology
|
||||
ref_field: topology_id
|
||||
type: ForeignKey
|
||||
- len: 200
|
||||
name: type
|
||||
type: CharField
|
||||
name: Group
|
||||
x: 407
|
||||
y: -379
|
||||
@ -241,6 +249,53 @@ models:
|
||||
name: DataSheet
|
||||
x: -207
|
||||
y: -282
|
||||
- fields:
|
||||
- name: stream_id
|
||||
pk: true
|
||||
ref: Stream
|
||||
ref_field: stream_id
|
||||
type: AutoField
|
||||
- name: from_device
|
||||
ref: Stream
|
||||
ref_field: from_device
|
||||
related_name: from_stream
|
||||
type: ForeignKey
|
||||
- name: to_device
|
||||
ref: Stream
|
||||
ref_field: to_device
|
||||
related_name: to_stream
|
||||
type: ForeignKey
|
||||
- len: 200
|
||||
name: label
|
||||
ref: Stream
|
||||
ref_field: label
|
||||
type: CharField
|
||||
- default: 0
|
||||
name: id
|
||||
type: IntegerField
|
||||
name: Stream
|
||||
x: 709
|
||||
y: 527
|
||||
- fields:
|
||||
- name: process_id
|
||||
pk: true
|
||||
type: AutoField
|
||||
- name: device
|
||||
ref: Device
|
||||
ref_field: device_id
|
||||
type: ForeignKey
|
||||
- len: 200
|
||||
name: name
|
||||
type: CharField
|
||||
- len: 200
|
||||
name: type
|
||||
type: CharField
|
||||
- default: 0
|
||||
name: id
|
||||
type: IntegerField
|
||||
name: Process
|
||||
x: 654
|
||||
y: 778
|
||||
modules: []
|
||||
view:
|
||||
panX: 213.72955551921206
|
||||
|
||||
50
awx/network_ui/migrations/0018_auto_20170821_1557.py
Normal file
50
awx/network_ui/migrations/0018_auto_20170821_1557.py
Normal file
@ -0,0 +1,50 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('network_ui', '0017_auto_20170717_1813'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='Process',
|
||||
fields=[
|
||||
('process_id', models.AutoField(serialize=False, primary_key=True)),
|
||||
('name', models.CharField(max_length=200)),
|
||||
('type', models.CharField(max_length=200)),
|
||||
('id', models.IntegerField(default=0)),
|
||||
('device', models.ForeignKey(to='network_ui.Device')),
|
||||
],
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='Stream',
|
||||
fields=[
|
||||
('stream_id', models.AutoField(serialize=False, verbose_name=b'Stream', primary_key=True)),
|
||||
('label', models.CharField(max_length=200, verbose_name=b'Stream')),
|
||||
('id', models.IntegerField(default=0)),
|
||||
('from_device', models.ForeignKey(related_name='from_stream', to='network_ui.Stream')),
|
||||
('to_device', models.ForeignKey(related_name='to_stream', to='network_ui.Stream')),
|
||||
],
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='group',
|
||||
name='type',
|
||||
field=models.CharField(default='', max_length=200),
|
||||
preserve_default=False,
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='topology',
|
||||
name='stream_id_seq',
|
||||
field=models.IntegerField(default=0),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='topology',
|
||||
name='group_id_seq',
|
||||
field=models.IntegerField(default=0, verbose_name=b'Topology'),
|
||||
),
|
||||
]
|
||||
@ -36,7 +36,8 @@ class Topology(models.Model):
|
||||
panY = models.FloatField()
|
||||
device_id_seq = models.IntegerField(default=0)
|
||||
link_id_seq = models.IntegerField(default=0)
|
||||
group_id_seq = models.IntegerField(default=0)
|
||||
group_id_seq = models.IntegerField('Topology', default=0)
|
||||
stream_id_seq = models.IntegerField(default=0)
|
||||
|
||||
def __unicode__(self):
|
||||
return self.name
|
||||
@ -88,6 +89,7 @@ class Group(models.Model):
|
||||
x2 = models.IntegerField()
|
||||
y2 = models.IntegerField()
|
||||
topology = models.ForeignKey('Topology',)
|
||||
type = models.CharField(max_length=200,)
|
||||
|
||||
|
||||
class GroupDevice(models.Model):
|
||||
@ -121,3 +123,21 @@ class DataSheet(models.Model):
|
||||
name = models.CharField(max_length=200,)
|
||||
topology = models.ForeignKey('Topology',)
|
||||
client = models.ForeignKey('Client',)
|
||||
|
||||
|
||||
class Stream(models.Model):
|
||||
|
||||
stream_id = models.AutoField('Stream', primary_key=True,)
|
||||
from_device = models.ForeignKey('Stream', related_name='from_stream',)
|
||||
to_device = models.ForeignKey('Stream', related_name='to_stream',)
|
||||
label = models.CharField('Stream', max_length=200,)
|
||||
id = models.IntegerField(default=0)
|
||||
|
||||
|
||||
class Process(models.Model):
|
||||
|
||||
process_id = models.AutoField(primary_key=True,)
|
||||
device = models.ForeignKey('Device',)
|
||||
name = models.CharField(max_length=200,)
|
||||
type = models.CharField(max_length=200,)
|
||||
id = models.IntegerField(default=0)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user