Merge "Refactor StackMixin and RoleMixin"
This commit is contained in:
commit
22292aee00
@ -21,10 +21,10 @@ import django.utils.text
|
|||||||
from django.utils.translation import ugettext_lazy as _
|
from django.utils.translation import ugettext_lazy as _
|
||||||
import heatclient
|
import heatclient
|
||||||
import horizon.forms
|
import horizon.forms
|
||||||
from horizon.utils import memoized
|
|
||||||
|
|
||||||
from tuskar_ui import api
|
from tuskar_ui import api
|
||||||
from tuskar_ui.infrastructure.overview import forms
|
from tuskar_ui.infrastructure.overview import forms
|
||||||
|
from tuskar_ui.infrastructure import views
|
||||||
|
|
||||||
|
|
||||||
INDEX_URL = 'horizon:infrastructure:overview:index'
|
INDEX_URL = 'horizon:infrastructure:overview:index'
|
||||||
@ -98,14 +98,7 @@ def _get_role_data(plan, stack, form, role):
|
|||||||
return data
|
return data
|
||||||
|
|
||||||
|
|
||||||
class StackMixin(object):
|
class IndexView(horizon.forms.ModalFormView, views.StackMixin):
|
||||||
@memoized.memoized
|
|
||||||
def get_stack(self):
|
|
||||||
plan = api.tuskar.Plan.get_the_plan(self.request)
|
|
||||||
return api.heat.Stack.get_by_plan(self.request, plan)
|
|
||||||
|
|
||||||
|
|
||||||
class IndexView(horizon.forms.ModalFormView, StackMixin):
|
|
||||||
template_name = 'infrastructure/overview/index.html'
|
template_name = 'infrastructure/overview/index.html'
|
||||||
form_class = forms.EditPlan
|
form_class = forms.EditPlan
|
||||||
success_url = reverse_lazy(INDEX_URL)
|
success_url = reverse_lazy(INDEX_URL)
|
||||||
@ -258,7 +251,7 @@ class IndexView(horizon.forms.ModalFormView, StackMixin):
|
|||||||
}), mimetype='application/json')
|
}), mimetype='application/json')
|
||||||
|
|
||||||
|
|
||||||
class DeployConfirmationView(horizon.forms.ModalFormView, StackMixin):
|
class DeployConfirmationView(horizon.forms.ModalFormView, views.StackMixin):
|
||||||
form_class = forms.DeployOvercloud
|
form_class = forms.DeployOvercloud
|
||||||
template_name = 'infrastructure/overview/deploy_confirmation.html'
|
template_name = 'infrastructure/overview/deploy_confirmation.html'
|
||||||
submit_label = _("Deploy")
|
submit_label = _("Deploy")
|
||||||
@ -276,7 +269,7 @@ class DeployConfirmationView(horizon.forms.ModalFormView, StackMixin):
|
|||||||
return reverse(INDEX_URL)
|
return reverse(INDEX_URL)
|
||||||
|
|
||||||
|
|
||||||
class UndeployConfirmationView(horizon.forms.ModalFormView, StackMixin):
|
class UndeployConfirmationView(horizon.forms.ModalFormView, views.StackMixin):
|
||||||
form_class = forms.UndeployOvercloud
|
form_class = forms.UndeployOvercloud
|
||||||
template_name = 'infrastructure/overview/undeploy_confirmation.html'
|
template_name = 'infrastructure/overview/undeploy_confirmation.html'
|
||||||
submit_label = _("Undeploy")
|
submit_label = _("Undeploy")
|
||||||
@ -296,7 +289,7 @@ class UndeployConfirmationView(horizon.forms.ModalFormView, StackMixin):
|
|||||||
return initial
|
return initial
|
||||||
|
|
||||||
|
|
||||||
class PostDeployInitView(horizon.forms.ModalFormView, StackMixin):
|
class PostDeployInitView(horizon.forms.ModalFormView, views.StackMixin):
|
||||||
form_class = forms.PostDeployInit
|
form_class = forms.PostDeployInit
|
||||||
template_name = 'infrastructure/overview/post_deploy_init.html'
|
template_name = 'infrastructure/overview/post_deploy_init.html'
|
||||||
submit_label = _("Initialize")
|
submit_label = _("Initialize")
|
||||||
@ -316,7 +309,7 @@ class PostDeployInitView(horizon.forms.ModalFormView, StackMixin):
|
|||||||
return initial
|
return initial
|
||||||
|
|
||||||
|
|
||||||
class ScaleOutView(horizon.forms.ModalFormView, StackMixin):
|
class ScaleOutView(horizon.forms.ModalFormView, views.StackMixin):
|
||||||
form_class = forms.ScaleOut
|
form_class = forms.ScaleOut
|
||||||
template_name = "infrastructure/overview/scale_out.html"
|
template_name = "infrastructure/overview/scale_out.html"
|
||||||
submit_label = _("Deploy Changes")
|
submit_label = _("Deploy Changes")
|
||||||
|
@ -28,31 +28,14 @@ from openstack_dashboard.api import base as api_base
|
|||||||
from tuskar_ui import api
|
from tuskar_ui import api
|
||||||
from tuskar_ui.infrastructure.roles import tables
|
from tuskar_ui.infrastructure.roles import tables
|
||||||
from tuskar_ui.infrastructure.roles import workflows as role_workflows
|
from tuskar_ui.infrastructure.roles import workflows as role_workflows
|
||||||
import tuskar_ui.infrastructure.views as infrastructure_views
|
from tuskar_ui.infrastructure import views
|
||||||
from tuskar_ui.utils import metering as metering_utils
|
from tuskar_ui.utils import metering as metering_utils
|
||||||
|
|
||||||
|
|
||||||
INDEX_URL = 'horizon:infrastructure:roles:index'
|
INDEX_URL = 'horizon:infrastructure:roles:index'
|
||||||
|
|
||||||
|
|
||||||
class RoleMixin(object):
|
class IndexView(views.ItemCountMixin, horizon_tables.DataTableView):
|
||||||
@utils.memoized.memoized
|
|
||||||
def get_role(self, redirect=None):
|
|
||||||
role_id = self.kwargs['role_id']
|
|
||||||
role = api.tuskar.Role.get(self.request, role_id,
|
|
||||||
_error_redirect=redirect)
|
|
||||||
return role
|
|
||||||
|
|
||||||
|
|
||||||
class StackMixin(object):
|
|
||||||
@utils.memoized.memoized
|
|
||||||
def get_stack(self):
|
|
||||||
plan = api.tuskar.Plan.get_the_plan(self.request)
|
|
||||||
return api.heat.Stack.get_by_plan(self.request, plan)
|
|
||||||
|
|
||||||
|
|
||||||
class IndexView(infrastructure_views.ItemCountMixin,
|
|
||||||
horizon_tables.DataTableView):
|
|
||||||
table_class = tables.RolesTable
|
table_class = tables.RolesTable
|
||||||
template_name = "infrastructure/roles/index.html"
|
template_name = "infrastructure/roles/index.html"
|
||||||
|
|
||||||
@ -79,7 +62,8 @@ class IndexView(infrastructure_views.ItemCountMixin,
|
|||||||
return roles
|
return roles
|
||||||
|
|
||||||
|
|
||||||
class DetailView(horizon_tables.DataTableView, RoleMixin, StackMixin):
|
class DetailView(horizon_tables.DataTableView, views.RoleMixin,
|
||||||
|
views.StackMixin):
|
||||||
table_class = tables.NodeTable
|
table_class = tables.NodeTable
|
||||||
template_name = 'infrastructure/roles/detail.html'
|
template_name = 'infrastructure/roles/detail.html'
|
||||||
|
|
||||||
@ -175,7 +159,7 @@ class UpdateView(workflows.WorkflowView):
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
class PerformanceView(base.TemplateView, RoleMixin, StackMixin):
|
class PerformanceView(base.TemplateView, views.RoleMixin, views.StackMixin):
|
||||||
def get(self, request, *args, **kwargs):
|
def get(self, request, *args, **kwargs):
|
||||||
meter = request.GET.get('meter')
|
meter = request.GET.get('meter')
|
||||||
date_options = request.GET.get('date_options')
|
date_options = request.GET.get('date_options')
|
||||||
|
@ -12,6 +12,10 @@
|
|||||||
# License for the specific language governing permissions and limitations
|
# License for the specific language governing permissions and limitations
|
||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
|
from horizon.utils import memoized
|
||||||
|
|
||||||
|
from tuskar_ui import api
|
||||||
|
|
||||||
|
|
||||||
class ItemCountMixin(object):
|
class ItemCountMixin(object):
|
||||||
def get_items_count(self):
|
def get_items_count(self):
|
||||||
@ -21,3 +25,19 @@ class ItemCountMixin(object):
|
|||||||
context = super(ItemCountMixin, self).get_context_data(**kwargs)
|
context = super(ItemCountMixin, self).get_context_data(**kwargs)
|
||||||
context['items_count'] = self.get_items_count()
|
context['items_count'] = self.get_items_count()
|
||||||
return context
|
return context
|
||||||
|
|
||||||
|
|
||||||
|
class StackMixin(object):
|
||||||
|
@memoized.memoized
|
||||||
|
def get_stack(self):
|
||||||
|
plan = api.tuskar.Plan.get_the_plan(self.request)
|
||||||
|
return api.heat.Stack.get_by_plan(self.request, plan)
|
||||||
|
|
||||||
|
|
||||||
|
class RoleMixin(object):
|
||||||
|
@memoized.memoized
|
||||||
|
def get_role(self, redirect=None):
|
||||||
|
role_id = self.kwargs['role_id']
|
||||||
|
role = api.tuskar.Role.get(self.request, role_id,
|
||||||
|
_error_redirect=redirect)
|
||||||
|
return role
|
||||||
|
Loading…
Reference in New Issue
Block a user