From 6b2d8b73cb5f6f08b1f3f27c465fb2754d86f9d1 Mon Sep 17 00:00:00 2001 From: Ekaterina Fedorova Date: Thu, 13 Jun 2013 19:01:21 +0400 Subject: [PATCH] Fixed status ne env Change-Id: I56f789d2654244fddd8d583c058ebc0381a7dcda --- muranodashboard/panel/api.py | 11 +++++++++++ muranodashboard/panel/tables.py | 8 ++++---- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/muranodashboard/panel/api.py b/muranodashboard/panel/api.py index 8669c1cd7..28f960a65 100644 --- a/muranodashboard/panel/api.py +++ b/muranodashboard/panel/api.py @@ -90,6 +90,17 @@ def environments_list(request): log.debug('Environment::List') environments = muranoclient(request).environments.list() + for index, env in enumerate(environments): + environments[index].has_services = False + environment = environment_get(request, env.id) + for service_name, instance in environment.services.iteritems(): + if instance: + environments[index].has_services = True + break + if not environments[index].has_services: + if environments[index].status == u'ready': + environments[index].status = u'new' + log.debug('Environment::List {0}'.format(environments)) return environments diff --git a/muranodashboard/panel/tables.py b/muranodashboard/panel/tables.py index 9e3a8a2f9..8cfb8540b 100644 --- a/muranodashboard/panel/tables.py +++ b/muranodashboard/panel/tables.py @@ -27,6 +27,7 @@ LOG = logging.getLogger(__name__) STATUS_ID_READY = 'ready' STATUS_ID_PENDING = 'pending' STATUS_ID_DEPLOYING = 'deploying' +STATUS_ID_NEW = 'new' STATUS_CHOICES = ( (None, True), @@ -40,6 +41,7 @@ STATUS_DISPLAY_CHOICES = ( (STATUS_ID_READY, 'Ready'), (STATUS_ID_DEPLOYING, 'Deploy in progress'), (STATUS_ID_PENDING, 'Configuring'), + (STATUS_ID_NEW, 'Ready to configure'), ('', 'Ready to configure'), ) @@ -128,10 +130,8 @@ class DeployEnvironment(tables.BatchAction): def allowed(self, request, environment): status = getattr(environment, 'status', None) - if status not in [STATUS_ID_DEPLOYING]: - services_presence = api.check_for_services(request, environment.id) - if services_presence: - return True + if status not in [STATUS_ID_DEPLOYING] and environment.has_services: + return True else: return False