components/openstack/horizon/files/overrides.py
changeset 6856 356aeea98c39
parent 5640 47302747b363
child 6912 d4b1a12dae66
--- a/components/openstack/horizon/files/overrides.py	Wed Sep 07 14:48:42 2016 -0700
+++ b/components/openstack/horizon/files/overrides.py	Wed Sep 07 14:48:42 2016 -0700
@@ -26,39 +26,40 @@
 from openstack_dashboard import api
 from openstack_dashboard.dashboards.admin.instances.forms import \
     LiveMigrateForm
-from openstack_dashboard.dashboards.admin.instances import tables \
-    as admin_tables
-from openstack_dashboard.dashboards.admin.networks.forms import CreateNetwork
-from openstack_dashboard.dashboards.admin.networks.ports.forms import \
-    CreatePort
-from openstack_dashboard.dashboards.admin.networks.ports.tables import \
-    DeletePort, PortsTable
-from openstack_dashboard.dashboards.admin.networks.subnets.tables import \
-    DeleteSubnet, SubnetsTable
-from openstack_dashboard.dashboards.admin.networks.tables import \
-    DeleteNetwork, NetworksTable
+from openstack_dashboard.dashboards.admin.instances.tables import \
+    AdminInstancesTable, MigrateInstance
 from openstack_dashboard.dashboards.project.access_and_security.tabs import \
     AccessAndSecurityTabs, APIAccessTab, FloatingIPsTab, KeypairsTab
 from openstack_dashboard.dashboards.project.images.images.tables import \
-    EditImage, DeleteImage, ImagesTable, LaunchImage
+    ImagesTable, CreateVolumeFromImage
 from openstack_dashboard.dashboards.project.instances import tables \
     as project_tables
+from openstack_dashboard.dashboards.project.instances.tables import \
+    InstancesTable, TogglePause, EditInstanceSecurityGroups
 from openstack_dashboard.dashboards.project.instances.workflows import \
     create_instance, update_instance
-from openstack_dashboard.dashboards.project.networks.ports.tables import \
-    PortsTable as projectPortsTable
-from openstack_dashboard.dashboards.project.networks.subnets.tables import \
-    DeleteSubnet as projectDeleteSubnet
-from openstack_dashboard.dashboards.project.networks.subnets.tables import \
-    SubnetsTable as projectSubnetsTable
-from openstack_dashboard.dashboards.project.networks.tables import \
-    CreateSubnet as projectCreateSubnet
-from openstack_dashboard.dashboards.project.networks.tables import \
-    DeleteNetwork as projectDeleteNetwork
-from openstack_dashboard.dashboards.project.networks.tables import \
-    NetworksTable as projectNetworksTable
-from openstack_dashboard.dashboards.project.networks.workflows import \
-    CreateNetworkInfoAction, CreateSubnetDetailAction
+
+
+# Remove Security Groups from the LaunchInstance workflow
+
+class SolarisSetAccessControlsAction(create_instance.SetAccessControlsAction):
+    def __init__(self, request, *args, **kwargs):
+        super(SolarisSetAccessControlsAction, self).__init__(request,
+                                                             *args,
+                                                             **kwargs)
+
+        del self.fields['groups']
+
+    class Meta(object):
+        name = _("Access & Security")
+        help_text = _("Control access to your instance via key pairs, "
+                      "and other mechanisms.")
+
+    def populate_groups_choices(self, request, context):
+        return []
+
+create_instance.SetAccessControls.action_class = SolarisSetAccessControlsAction
+
 
 # Bootargs feature:
 # Add bootargs feature to 'SetAdvanced' workflow action.
@@ -120,11 +121,6 @@
         create_instance.SetAdvanced,
     )
 
-# Disable 'Security Groups' in Project/Instances/Launch Instance/Access &
-# Security. Note that this is unchecked by default.
-groups_widget = create_instance.SetAccessControlsAction.base_fields['groups']
-groups_widget.widget.attrs['disabled'] = True
-
 
 # Bootargs feature:
 # Add bootargs feature to 'UpdateInstance' workflow action class.
@@ -191,48 +187,24 @@
 
 # Remove 'TogglePause', 'MigrateInstance' actions from
 # Admin/System/Instances/Actions
-admin_tables.AdminInstancesTable._meta.row_actions = (
-    project_tables.ConfirmResize,
-    project_tables.RevertResize,
-    admin_tables.AdminEditInstance,
-    project_tables.ConsoleLink,
-    project_tables.LogLink,
-    project_tables.CreateSnapshot,
-    project_tables.ToggleSuspend,
-    admin_tables.LiveMigrateInstance,
-    project_tables.SoftRebootInstance,
-    project_tables.RebootInstance,
-    project_tables.TerminateInstance
-)
+temp = list(AdminInstancesTable._meta.row_actions)
+temp.remove(MigrateInstance)
+temp.remove(TogglePause)
+AdminInstancesTable._meta.row_actions = tuple(temp)
 
 # Remove 'EditInstanceSecurityGroups', 'TogglePause' actions from
 # Project/Compute/Instances/Actions
-project_tables.InstancesTable._meta.row_actions = (
-    project_tables.StartInstance,
-    project_tables.ConfirmResize,
-    project_tables.RevertResize,
-    project_tables.CreateSnapshot,
-    project_tables.SimpleAssociateIP,
-    project_tables.AssociateIP,
-    project_tables.SimpleDisassociateIP,
-    project_tables.EditInstance,
-    project_tables.DecryptInstancePassword,
-    project_tables.ConsoleLink,
-    project_tables.LogLink,
-    project_tables.ResizeLink,
-    project_tables.ToggleSuspend,
-    project_tables.SoftRebootInstance,
-    project_tables.RebootInstance,
-    project_tables.StopInstance,
-    project_tables.RebuildInstance,
-    project_tables.TerminateInstance
-)
+temp = list(InstancesTable._meta.row_actions)
+temp.remove(EditInstanceSecurityGroups)
+temp.remove(TogglePause)
+InstancesTable._meta.row_actions = tuple(temp)
 
 # Bootargs feature:
 # If locally configured to do so add 'EditBootargs' to
 # Project/Compute/Instances/Actions
 if getattr(settings, 'SOLARIS_BOOTARGS', True):
-    project_tables_row_actions = project_tables.InstancesTable._meta.row_actions
+    project_tables_row_actions = \
+        project_tables.InstancesTable._meta.row_actions
     pos = project_tables.InstancesTable._meta.row_actions.index(
         project_tables.ConsoleLink
     )
@@ -247,51 +219,7 @@
 LiveMigrateForm.base_fields['disk_over_commit'].widget.attrs['disabled'] = True
 LiveMigrateForm.base_fields['block_migration'].widget.attrs['disabled'] = True
 
-# Disable 'admin_state' in Admin/System/Networks/Create Network
-admin_state = CreateNetwork.base_fields['admin_state']
-admin_state.widget.attrs['disabled'] = True
-admin_state.widget.value_from_datadict = lambda *args: True
-
-# Disable 'shared' in Admin/System/Networks/Create Network. Note that this is
-# unchecked by default.
-CreateNetwork.base_fields['shared'].widget.attrs['disabled'] = True
-
-# Disable 'admin_state' in Admin/System/Networks/Network Name/Create Port
-admin_state = CreatePort.base_fields['admin_state']
-admin_state.widget.attrs['disabled'] = True
-admin_state.widget.value_from_datadict = lambda *args: True
-
-# Remove 'UpdatePort' action from Admin/System/Networks/Network Name/Actions
-PortsTable._meta.row_actions = (DeletePort,)
-
-# Remove 'UpdateSubnet' action from
-# Admin/System/Networks/Network Name/Subnets/Actions
-SubnetsTable._meta.row_actions = (DeleteSubnet,)
-
-# Remove the 'EditNetwork' action from Admin/System/Networks/Actions
-NetworksTable._meta.row_actions = (DeleteNetwork,)
-
-# Remove the 'UpdatePort' action from
-# Project/Network/Networks/Name/Ports/Actions
-projectPortsTable._meta.row_actions = ()
-
-# Remove the 'UpdateSubnet' action from
-# Project/Network/Networks/Name/Subnets/Actions
-projectSubnetsTable._meta.row_actions = (projectDeleteSubnet,)
-
-# Remove the 'EditNetwork' action from Project/Network/Networks/Actions
-projectNetworksTable._meta.row_actions = (projectCreateSubnet,
-                                          projectDeleteNetwork)
-
-# Disable 'admin_state' in Project/Network/Networks/Create Network/Network
-admin_state = CreateNetworkInfoAction.base_fields['admin_state']
-admin_state.widget.attrs['disabled'] = True
-admin_state.widget.value_from_datadict = lambda *args: True
-
 # Remove 'CreateVolumeFromImage' checkbox from Project/Compute/Images/Actions
-ImagesTable._meta.row_actions = (LaunchImage, EditImage, DeleteImage,)
-
-# Change 'host_routes' field to read-only in
-# Project/Network/Networks/Create Network/Subnet Detail
-base_fields = CreateSubnetDetailAction.base_fields
-base_fields['host_routes'].widget.attrs['readonly'] = 'readonly'
+temp = list(ImagesTable._meta.row_actions)
+temp.remove(CreateVolumeFromImage)
+ImagesTable._meta.row_actions = tuple(temp)