From f8196331ea139f52b303eb87d0280152f06d9475 Mon Sep 17 00:00:00 2001 From: Akihiro Motoki Date: Thu, 22 Mar 2018 08:32:00 +0900 Subject: [PATCH] Add asterisk to conditionally required fields https://review.openstack.org/#/c/552247/ introduced a way to add asterisk mark to conditionally required fields. This commit covers several known forms: - Create Network / Create Subnet - Create Port - Attach Interface to Instance - Add Security Group Rule Change-Id: I809c23fd64dc2f379c3fdb585741c6b266ec5b1b Closes-Bug: #1420370 Closes-Bug: #1292165 Closes-Bug: #1755131 --- openstack_dashboard/dashboards/project/instances/forms.py | 1 + .../dashboards/project/networks/ports/workflows.py | 2 ++ openstack_dashboard/dashboards/project/networks/workflows.py | 2 ++ .../dashboards/project/security_groups/forms.py | 3 +++ 4 files changed, 8 insertions(+) diff --git a/openstack_dashboard/dashboards/project/instances/forms.py b/openstack_dashboard/dashboards/project/instances/forms.py index 71b7295276..dd232b0f4a 100644 --- a/openstack_dashboard/dashboards/project/instances/forms.py +++ b/openstack_dashboard/dashboards/project/instances/forms.py @@ -299,6 +299,7 @@ class AttachInterface(forms.SelfHandlingForm): required=False, widget=forms.ThemableSelectWidget(attrs={ 'class': 'switched', + 'data-required-when-shown': 'true', 'data-switch-on': 'specification_method', 'data-specification_method-port': _('Port'), })) diff --git a/openstack_dashboard/dashboards/project/networks/ports/workflows.py b/openstack_dashboard/dashboards/project/networks/ports/workflows.py index 0a21145341..1a49ac545a 100644 --- a/openstack_dashboard/dashboards/project/networks/ports/workflows.py +++ b/openstack_dashboard/dashboards/project/networks/ports/workflows.py @@ -85,6 +85,7 @@ class CreatePortInfoAction(workflows.Action): required=False, widget=forms.ThemableSelectWidget(attrs={ 'class': 'switched', + 'data-required-when-shown': 'true', 'data-switch-on': 'specify_ip', 'data-specify_ip-subnet_id': _('Subnet'), })) @@ -95,6 +96,7 @@ class CreatePortInfoAction(workflows.Action): version=forms.IPv4 | forms.IPv6, widget=forms.TextInput(attrs={ 'class': 'switched', + 'data-required-when-shown': 'true', 'data-switch-on': 'specify_ip', 'data-specify_ip-fixed_ip': _('Fixed IP Address'), })) diff --git a/openstack_dashboard/dashboards/project/networks/workflows.py b/openstack_dashboard/dashboards/project/networks/workflows.py index c9d23e8a5f..8106778f70 100644 --- a/openstack_dashboard/dashboards/project/networks/workflows.py +++ b/openstack_dashboard/dashboards/project/networks/workflows.py @@ -118,6 +118,7 @@ class CreateSubnetInfoAction(workflows.Action): label=_("Address pool"), widget=forms.ThemableSelectWidget(attrs={ 'class': 'switched switchable', + 'data-required-when-shown': 'true', 'data-slug': 'subnetpool', 'data-switch-on': 'source', 'data-source-subnetpool': _('Address pool')}, @@ -142,6 +143,7 @@ class CreateSubnetInfoAction(workflows.Action): initial="", widget=forms.TextInput(attrs={ 'class': 'switched', + 'data-required-when-shown': 'true', 'data-switch-on': 'source', 'data-source-manual': _("Network Address"), }), diff --git a/openstack_dashboard/dashboards/project/security_groups/forms.py b/openstack_dashboard/dashboards/project/security_groups/forms.py index 731c6ef9da..8524138437 100644 --- a/openstack_dashboard/dashboards/project/security_groups/forms.py +++ b/openstack_dashboard/dashboards/project/security_groups/forms.py @@ -147,6 +147,7 @@ class AddRule(forms.SelfHandlingForm): "between 1 and 65535."), widget=forms.TextInput(attrs={ 'class': 'switched', + 'data-required-when-shown': 'true', 'data-switch-on': 'range', 'data-range-port': _('Port')}), validators=[ @@ -158,6 +159,7 @@ class AddRule(forms.SelfHandlingForm): "between 1 and 65535."), widget=forms.TextInput(attrs={ 'class': 'switched', + 'data-required-when-shown': 'true', 'data-switch-on': 'range', 'data-range-range': _('From Port')}), validators=[ @@ -169,6 +171,7 @@ class AddRule(forms.SelfHandlingForm): "between 1 and 65535."), widget=forms.TextInput(attrs={ 'class': 'switched', + 'data-required-when-shown': 'true', 'data-switch-on': 'range', 'data-range-range': _('To Port')}), validators=[