diff --git a/app/defaults.py b/app/defaults.py index e70db5b6d3da1f6e1aef90ca6c048a50240c42d9..2f7f20c2e75fd60be12f87b8cbfe0fd4ca449768 100644 --- a/app/defaults.py +++ b/app/defaults.py @@ -21,5 +21,14 @@ defaults = [ models.Action(name='Set as parent'), models.Action(name='Update'), + models.DeviceType(name='Physical'), + models.DeviceType(name='Virtual Machine'), + models.DeviceType(name='Switch'), + models.DeviceType(name='Virtual IOC'), + models.DeviceType(name='Industrial PC IOC'), + models.DeviceType(name='MicroTCA IOC'), + models.DeviceType(name='VME IOC'), + models.DeviceType(name='PLC'), + models.Tag(name='gateway', admin_only=True), ] diff --git a/app/network/views.py b/app/network/views.py index be5780efaa2d86156f378055495ef866804da8e4..747d9f0e669244ac470f31dc666331d2bb612aa3 100644 --- a/app/network/views.py +++ b/app/network/views.py @@ -111,7 +111,7 @@ def edit_host(name): @login_groups_accepted('admin', 'create') def create_interface(hostname): host = models.Host.query.filter_by(name=hostname).first_or_404() - random_mac = host.device_type.name == 'Virtual' + random_mac = host.device_type.name.startsWith('Virtual') form = InterfaceForm(request.form, host_id=host.id, interface_name=host.name, random_mac=random_mac) if form.validate_on_submit(): diff --git a/app/static/js/hosts.js b/app/static/js/hosts.js index 9ec72da9f2548a1053c7fa598791014d37eec9c7..01e17b5495e6ed61223e19f5559760d8838cb263 100644 --- a/app/static/js/hosts.js +++ b/app/static/js/hosts.js @@ -15,10 +15,10 @@ $(document).ready(function() { // And check / uncheck random_mac checkbox function update_device_type_attributes() { var device_type = $("#device_type_id option:selected").text(); - if( device_type.startsWith("Physical") ) { - $("#random_mac").prop("checked", false).change(); - } else { + if( device_type.startsWith("Virtual") ) { $("#random_mac").prop("checked", true).change(); + } else { + $("#random_mac").prop("checked", false).change(); } } diff --git a/migrations/versions/8f135d5efde2_rename_virtual_device_type.py b/migrations/versions/8f135d5efde2_rename_virtual_device_type.py new file mode 100644 index 0000000000000000000000000000000000000000..8d18bd550274adf1966e90ce5cee4e338dc8a38f --- /dev/null +++ b/migrations/versions/8f135d5efde2_rename_virtual_device_type.py @@ -0,0 +1,26 @@ +"""Rename Virtual device type + +Revision ID: 8f135d5efde2 +Revises: 573560351033 +Create Date: 2018-04-23 07:43:43.195703 + +""" +from alembic import op +import sqlalchemy as sa + + +# revision identifiers, used by Alembic. +revision = '8f135d5efde2' +down_revision = '573560351033' +branch_labels = None +depends_on = None + + +def upgrade(): + device_type = sa.sql.table('device_type', sa.sql.column('id'), sa.sql.column('name')) + op.execute(device_type.update().where(device_type.c.name == 'Virtual').values(name='Virtual Machine')) + + +def downgrade(): + device_type = sa.sql.table('device_type', sa.sql.column('id'), sa.sql.column('name')) + op.execute(device_type.update().where(device_type.c.name == 'Virtual Machine').values(name='Virtual'))