Add 'is_enabled' attr to segment
Implements: blueprint enable-to-segment Change-Id: I378d98cc17afbfa9e56deb79ae479117dd231a7b
This commit is contained in:
parent
1a6d07c683
commit
fce116082b
|
@ -50,6 +50,11 @@ class CreateSegmentForm(forms.SelfHandlingForm):
|
|||
description = forms.CharField(
|
||||
label=_("Description"), widget=forms.Textarea(
|
||||
attrs={'rows': 4}), required=False)
|
||||
is_enabled = forms.BooleanField(
|
||||
label=_("Enabled"),
|
||||
required=False,
|
||||
initial=True,
|
||||
)
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(CreateSegmentForm, self).__init__(*args, **kwargs)
|
||||
|
@ -91,12 +96,19 @@ class UpdateForm(forms.SelfHandlingForm):
|
|||
attrs={'width': "100%", 'cols': "80", 'rows': "5", }),
|
||||
required=False
|
||||
)
|
||||
is_enabled = forms.BooleanField(
|
||||
label=_("Enabled"),
|
||||
required=False,
|
||||
)
|
||||
|
||||
def handle(self, request, data):
|
||||
try:
|
||||
fields_to_update = {'name': data['name'],
|
||||
'recovery_method': data['recovery_method'],
|
||||
'description': data['description']}
|
||||
fields_to_update = {
|
||||
'name': data['name'],
|
||||
'recovery_method': data['recovery_method'],
|
||||
'description': data['description'],
|
||||
'is_enabled': data['is_enabled'],
|
||||
}
|
||||
api.segment_update(request, data['uuid'], fields_to_update)
|
||||
msg = _('Successfully updated segment.')
|
||||
messages.success(request, msg)
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
from django.template import defaultfilters as filters
|
||||
from django.urls import reverse
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
from django.utils.translation import ungettext_lazy
|
||||
|
@ -45,6 +46,7 @@ class CreateSegment(tables.LinkAction):
|
|||
SEGMENT_FILTER_CHOICES = (
|
||||
('recovery_method', _("Recovery Method ="), True),
|
||||
('service_type', _("Service Type ="), True),
|
||||
('is_enabled', _("Enabled ="), True, _('e.g. Yes/No')),
|
||||
)
|
||||
|
||||
|
||||
|
@ -100,6 +102,9 @@ class FailoverSegmentTable(tables.DataTable):
|
|||
description = tables.WrappingColumn(
|
||||
'description', verbose_name=_("Description"),
|
||||
truncate=40)
|
||||
is_enabled = tables.Column('is_enabled', verbose_name=_('Enabled'),
|
||||
status=True,
|
||||
filters=(filters.yesno, filters.capfirst))
|
||||
|
||||
def get_object_id(self, datum):
|
||||
return datum.uuid
|
||||
|
|
|
@ -13,6 +13,8 @@
|
|||
<dd>{{ segment.recovery_method }}</dd>
|
||||
<dt>{% trans "Service Type" %}</dt>
|
||||
<dd>{{ segment.service_type }}</dd>
|
||||
<dt>{% trans "Enabled" %}</dt>
|
||||
<dd>{{ segment.is_enabled|yesno|capfirst }}</dd>
|
||||
<dt>{% trans "Created at" %}</dt>
|
||||
<dd>{{ segment.created_at|parse_isotime }}</dd>
|
||||
<dt>{% trans "Updated at" %}</dt>
|
||||
|
|
|
@ -55,7 +55,8 @@ class SegmentTest(test.TestCase):
|
|||
'name': segment.name,
|
||||
'recovery_method': segment.recovery_method,
|
||||
'service_type': segment.service_type,
|
||||
'description': segment.description
|
||||
'description': segment.description,
|
||||
'is_enabled': segment.is_enabled,
|
||||
}
|
||||
with mock.patch('masakaridashboard.api.api.segment_create',
|
||||
return_value=segment) as mocked_create:
|
||||
|
@ -199,7 +200,9 @@ class SegmentTest(test.TestCase):
|
|||
'uuid': segment_obj.uuid,
|
||||
'name': segment_obj.name,
|
||||
'recovery_method': segment_obj.recovery_method,
|
||||
'description': segment_obj.description}
|
||||
'description': segment_obj.description,
|
||||
'is_enabled': segment_obj.is_enabled,
|
||||
}
|
||||
|
||||
with mock.patch(
|
||||
'masakaridashboard.api.api.get_segment',
|
||||
|
@ -213,7 +216,9 @@ class SegmentTest(test.TestCase):
|
|||
data_to_update = {
|
||||
'name': segment_obj.name,
|
||||
'recovery_method': segment_obj.recovery_method,
|
||||
'description': segment_obj.description}
|
||||
'description': segment_obj.description,
|
||||
'is_enabled': segment_obj.is_enabled,
|
||||
}
|
||||
|
||||
mocked_update.assert_called_once_with(
|
||||
helpers.IsHttpRequest(),
|
||||
|
|
|
@ -171,10 +171,13 @@ class UpdateView(forms.ModalFormView):
|
|||
def get_initial(self, **kwargs):
|
||||
segment = self.get_object()
|
||||
|
||||
return {'uuid': self.kwargs['segment_id'],
|
||||
'name': segment.name,
|
||||
'recovery_method': segment.recovery_method,
|
||||
'description': segment.description}
|
||||
return {
|
||||
'uuid': self.kwargs['segment_id'],
|
||||
'name': segment.name,
|
||||
'recovery_method': segment.recovery_method,
|
||||
'description': segment.description,
|
||||
'is_enabled': segment.is_enabled,
|
||||
}
|
||||
|
||||
|
||||
class AddHostView(forms.ModalFormView):
|
||||
|
|
|
@ -32,15 +32,30 @@ def data(TEST):
|
|||
|
||||
TEST.masakari_segment = test_data_utils.TestDataContainer()
|
||||
|
||||
segment1 = segment.Segment(uuid=uuidsentinel.segment1, name='test',
|
||||
recovery_method='auto',
|
||||
service_type='service', description='demo')
|
||||
segment2 = segment.Segment(uuid=uuidsentinel.segment2,
|
||||
name='test2', recovery_method='auto',
|
||||
service_type='service', description='demo')
|
||||
segment3 = segment.Segment(uuid=uuidsentinel.segment3, name='test3',
|
||||
recovery_method='auto',
|
||||
service_type='service', description='demo')
|
||||
segment1 = segment.Segment(
|
||||
uuid=uuidsentinel.segment1,
|
||||
name='test',
|
||||
recovery_method='auto',
|
||||
service_type='service',
|
||||
description='demo',
|
||||
is_enabled=True,
|
||||
)
|
||||
segment2 = segment.Segment(
|
||||
uuid=uuidsentinel.segment2,
|
||||
name='test2',
|
||||
recovery_method='auto',
|
||||
service_type='service',
|
||||
description='demo',
|
||||
is_enabled=False,
|
||||
)
|
||||
segment3 = segment.Segment(
|
||||
uuid=uuidsentinel.segment3,
|
||||
name='test3',
|
||||
recovery_method='auto',
|
||||
service_type='service',
|
||||
description='demo',
|
||||
is_enabled=True,
|
||||
)
|
||||
|
||||
TEST.masakari_segment.add(segment1)
|
||||
TEST.masakari_segment.add(segment2)
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
features:
|
||||
- |
|
||||
Adds support for API microversion 1.2 with ``enabled`` flag for segments.
|
||||
`Blueprint enable-to-segment <https://blueprints.launchpad.net/masakari/+spec/enable-to-segment>`__
|
Loading…
Reference in New Issue