Activate library policy
This commit adds support to activate a library policy. Partially-Implements blueprint add-policy-library-gui Depends-On: I0c4a70002bd172c0b5842cc7de1c9bb5ad0bcf5a I9d038dd4c33ed509261f6b404ab278bd33318d3b Change-Id: Ibe3223b08ae402037c6efe5ef50d05ba6e4d0379
This commit is contained in:
parent
b2d848640b
commit
a3fb879779
@ -55,6 +55,7 @@ And enable it in Horizon
|
|||||||
$ ln -s <congress-dashboard>/congress_dashboard/enabled/_60_policies.py <horizon>/openstack_dashboard/local/enabled
|
$ ln -s <congress-dashboard>/congress_dashboard/enabled/_60_policies.py <horizon>/openstack_dashboard/local/enabled
|
||||||
$ ln -s <congress-dashboard>/congress_dashboard/enabled/_70_datasources.py <horizon>/openstack_dashboard/local/enabled
|
$ ln -s <congress-dashboard>/congress_dashboard/enabled/_70_datasources.py <horizon>/openstack_dashboard/local/enabled
|
||||||
$ ln -s <congress-dashboard>/congress_dashboard/enabled/_75_monitoring.py <horizon>/openstack_dashboard/local/enabled
|
$ ln -s <congress-dashboard>/congress_dashboard/enabled/_75_monitoring.py <horizon>/openstack_dashboard/local/enabled
|
||||||
|
$ ln -s <congress-dashboard>/congress_dashboard/enabled/_80_library.py <horizon>/openstack_dashboard/local/enabled
|
||||||
|
|
||||||
Restart Apache server
|
Restart Apache server
|
||||||
|
|
||||||
|
@ -134,10 +134,10 @@ def policies_list(request):
|
|||||||
return policies
|
return policies
|
||||||
|
|
||||||
|
|
||||||
def policy_create(request, args):
|
def policy_create(request, args, library_policy_id=None):
|
||||||
"""Create a policy with the given properties."""
|
"""Create a policy with the given properties."""
|
||||||
client = congressclient(request)
|
client = congressclient(request)
|
||||||
policy = client.create_policy(args)
|
policy = client.create_policy(args, library_policy_id)
|
||||||
return policy
|
return policy
|
||||||
|
|
||||||
|
|
||||||
|
@ -15,6 +15,7 @@
|
|||||||
from django.core.urlresolvers import reverse
|
from django.core.urlresolvers import reverse
|
||||||
from django.template.defaultfilters import linebreaksbr
|
from django.template.defaultfilters import linebreaksbr
|
||||||
from django.utils.translation import ugettext_lazy as _
|
from django.utils.translation import ugettext_lazy as _
|
||||||
|
from django.utils.translation import ungettext_lazy
|
||||||
from horizon import tables
|
from horizon import tables
|
||||||
|
|
||||||
from congress_dashboard.api import congress
|
from congress_dashboard.api import congress
|
||||||
@ -24,6 +25,31 @@ def get_policy_link(datum):
|
|||||||
return reverse('horizon:admin:library:detail', args=(datum['id'],))
|
return reverse('horizon:admin:library:detail', args=(datum['id'],))
|
||||||
|
|
||||||
|
|
||||||
|
class ActivatePolicy(tables.BatchAction):
|
||||||
|
name = 'activate_policy'
|
||||||
|
verbose_name = _('Activate')
|
||||||
|
icon = 'plus'
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def action_present(count):
|
||||||
|
return ungettext_lazy(
|
||||||
|
u"Activate Policy",
|
||||||
|
u"Activate Policy",
|
||||||
|
count
|
||||||
|
)
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def action_past(count):
|
||||||
|
return ungettext_lazy(
|
||||||
|
u"Activated Policy",
|
||||||
|
u"Activated Policy",
|
||||||
|
count
|
||||||
|
)
|
||||||
|
|
||||||
|
def action(self, request, obj_id):
|
||||||
|
congress.policy_create(request, {}, obj_id)
|
||||||
|
|
||||||
|
|
||||||
class LibraryTable(tables.DataTable):
|
class LibraryTable(tables.DataTable):
|
||||||
id = tables.Column("id", verbose_name=_("Policy ID"), hidden=True,
|
id = tables.Column("id", verbose_name=_("Policy ID"), hidden=True,
|
||||||
sortable=False)
|
sortable=False)
|
||||||
@ -35,6 +61,7 @@ class LibraryTable(tables.DataTable):
|
|||||||
class Meta(object):
|
class Meta(object):
|
||||||
name = "policy_library"
|
name = "policy_library"
|
||||||
verbose_name = _("Policy Library")
|
verbose_name = _("Policy Library")
|
||||||
|
row_actions = (ActivatePolicy, )
|
||||||
hidden_title = True
|
hidden_title = True
|
||||||
|
|
||||||
|
|
||||||
|
@ -70,5 +70,9 @@ class DetailView(tables.DataTableView):
|
|||||||
policy, _ = congress.show_library_policy(self.request, policy_id)
|
policy, _ = congress.show_library_policy(self.request, policy_id)
|
||||||
context['policy'] = policy
|
context['policy'] = policy
|
||||||
return context
|
return context
|
||||||
except Exception:
|
except Exception as e:
|
||||||
raise
|
margs = {'id': policy_id, 'error': str(e)}
|
||||||
|
msg = _('Unable to get library policy %(id)s: %(error)s') % margs
|
||||||
|
LOG.exception(msg)
|
||||||
|
messages.error(self.request, msg)
|
||||||
|
return []
|
||||||
|
@ -0,0 +1,4 @@
|
|||||||
|
---
|
||||||
|
features:
|
||||||
|
- New panel 'Library' is added to list/show/activate library policies from
|
||||||
|
dashboard.
|
Loading…
x
Reference in New Issue
Block a user