diff --git a/openstack_dashboard/dashboards/project/database_backups/workflows/create_backup.py b/openstack_dashboard/dashboards/project/database_backups/workflows/create_backup.py index f3142772d9..f595e274ec 100644 --- a/openstack_dashboard/dashboards/project/database_backups/workflows/create_backup.py +++ b/openstack_dashboard/dashboards/project/database_backups/workflows/create_backup.py @@ -23,6 +23,9 @@ from horizon import forms from horizon import workflows from openstack_dashboard import api +from openstack_dashboard.dashboards.project.databases \ + import tables as project_tables + LOG = logging.getLogger(__name__) @@ -48,7 +51,8 @@ class BackupDetailsAction(workflows.Action): instances = [] msg = _("Unable to list database instance to backup.") exceptions.handle(request, msg) - return [(i.id, i.name) for i in instances] + return [(i.id, i.name) for i in instances + if i.status in project_tables.ACTIVE_STATES] class SetBackupDetails(workflows.Step): diff --git a/openstack_dashboard/dashboards/project/databases/tables.py b/openstack_dashboard/dashboards/project/databases/tables.py index a217f53301..efb53ded93 100644 --- a/openstack_dashboard/dashboards/project/databases/tables.py +++ b/openstack_dashboard/dashboards/project/databases/tables.py @@ -105,7 +105,8 @@ class CreateBackup(tables.LinkAction): classes = ("ajax-modal", "btn-camera") def allowed(self, request, instance=None): - return request.user.has_perm('openstack.services.object-store') + return (instance.status in ACTIVE_STATES and + request.user.has_perm('openstack.services.object-store')) def get_link_url(self, datam): url = urlresolvers.reverse(self.url)