diff options
Diffstat (limited to 'tuskar_ui/infrastructure/images/views.py')
-rw-r--r-- | tuskar_ui/infrastructure/images/views.py | 109 |
1 files changed, 0 insertions, 109 deletions
diff --git a/tuskar_ui/infrastructure/images/views.py b/tuskar_ui/infrastructure/images/views.py deleted file mode 100644 index 198fdf43..00000000 --- a/tuskar_ui/infrastructure/images/views.py +++ /dev/null @@ -1,109 +0,0 @@ -# -*- coding: utf8 -*- -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - -import logging - -from django.core.urlresolvers import reverse_lazy -from django.utils.translation import ugettext_lazy as _ -from horizon import exceptions -from horizon import tables as horizon_tables -from horizon.utils import memoized -from openstack_dashboard import api -from openstack_dashboard.dashboards.project.images.images import views - -from tuskar_ui import api as tuskar_api -from tuskar_ui.infrastructure.images import forms -from tuskar_ui.infrastructure.images import tables -import tuskar_ui.infrastructure.views as infrastructure_views -from tuskar_ui.utils import utils - -LOG = logging.getLogger(__name__) - - -class IndexView(infrastructure_views.ItemCountMixin, - horizon_tables.DataTableView): - table_class = tables.ImagesTable - template_name = "infrastructure/images/index.html" - - @memoized.memoized_method - def get_data(self): - images = [] - filters = self.get_filters() - - sort_dir = 'desc' - try: - images, self._more, self._prev = api.glance.image_list_detailed( - self.request, - paginate=False, - filters=filters, - sort_dir=sort_dir) - images = [image for image in images - if utils.check_image_type(image, - 'overcloud provisioning')] - except Exception: - msg = _('Unable to retrieve image list.') - exceptions.handle(self.request, msg) - - plan = tuskar_api.tuskar.Plan.get_the_plan(self.request) - for image in images: - image.roles = tuskar_api.tuskar.Role.get_by_image( - self.request, plan, image) - - return images - - def get_filters(self): - filters = {'is_public': None} - filter_field = self.table.get_filter_field() - filter_string = self.table.get_filter_string() - filter_action = self.table._meta._filter_action - if filter_field and filter_string and ( - filter_action.is_api_filter(filter_field)): - if filter_field in ['size_min', 'size_max']: - invalid_msg = ('API query is not valid and is ignored: %s=%s' - % (filter_field, filter_string)) - try: - filter_string = long(float(filter_string) * (1024 ** 2)) - if filter_string >= 0: - filters[filter_field] = filter_string - else: - LOG.warning(invalid_msg) - except ValueError: - LOG.warning(invalid_msg) - else: - filters[filter_field] = filter_string - return filters - - -class CreateView(views.CreateView): - submit_url = "horizon:infrastructure:images:create" - template_name = 'infrastructure/images/create.html' - success_url = reverse_lazy("horizon:infrastructure:images:index") - page_title = _("Create Image") - - -class UpdateView(views.UpdateView): - template_name = 'infrastructure/images/update.html' - form_class = forms.UpdateImageForm - success_url = reverse_lazy('horizon:infrastructure:images:index') - submit_url = "horizon:infrastructure:images:update" - submit_label = _("Update Image") - - @memoized.memoized_method - def get_object(self): - try: - return api.glance.image_get(self.request, self.kwargs['image_id']) - except Exception: - msg = _('Unable to retrieve image.') - url = reverse_lazy('horizon:infrastructure:images:index') - exceptions.handle(self.request, msg, redirect=url) |