def get_context_data(self, request): ruleid = self.tab_group.kwargs['policyrule_id'] actions = [] classifiers = [] try: policyrule = client.policyrule_get(request, ruleid) actions = client.policyaction_list( request, tenant_id=request.user.tenant_id, policyrule_id=ruleid) actions = [ item for item in actions if item.id in policyrule.policy_actions ] classifiers = client.policyclassifier_list( request, tenant_id=request.user.tenant_id, policyrule_id=ruleid) classifiers = [ item for item in classifiers if item.id == policyrule.policy_classifier_id ] except Exception: exceptions.handle(request, _('Unable to retrieve policyrule details.'), redirect=self.failure_url) return { 'policyrule': policyrule, 'classifiers': classifiers, 'actions': actions }
def __init__(self, request, *args, **kwargs): super(UpdatePolicyRuleForm, self).__init__(request, *args, **kwargs) try: policyrule_id = self.initial['policyrule_id'] rule = client.policyrule_get(request, policyrule_id) for item in ['name', 'description', 'policy_classifier_id', 'policy_actions', 'shared']: self.fields[item].initial = getattr(rule, item) actions = client.policyaction_list(request, tenant_id=request.user.tenant_id) for action in actions: action.set_id_as_name_if_empty() actions = sorted(actions, key=lambda action: action.name) action_list = [(a.id, a.name) for a in actions] self.fields['policy_actions'].choices = action_list classifiers = client.policyclassifier_list(request, tenant_id=request.user.tenant_id) classifier_list = [(c.id, c.name) for c in classifiers] self.fields['policy_classifier_id'].choices = classifier_list except Exception: exceptions.handle( request, _("Unable to retrive policy rule details."))
def update_pruleset_attributes(request, prset): rules = prset.policy_rules url = "horizon:project:application_policy:policyruledetails" value = ["<ul>"] li = lambda x: "<li><a href='" + \ reverse(url, kwargs={'policyrule_id': x.id}) + \ "'>" + x.name + "</a></li>" for rule in rules: r = client.policyrule_get(request, rule) value.append(li(r)) value.append("</ul>") value = "".join(value) setattr(prset, 'policy_rules', mark_safe(value)) return prset
def get_context_data(self, request): ruleid = self.tab_group.kwargs['policyrule_id'] actions = [] classifiers = [] try: policyrule = client.policyrule_get(request, ruleid) actions = client.policyaction_list(request, policyrule_id=ruleid) actions = [ item for item in actions if item.id in policyrule.policy_actions] classifiers = client.policyclassifier_list( request, policyrule_id=ruleid) classifiers = [ item for item in classifiers if item.id == policyrule.policy_classifier_id] except Exception: exceptions.handle(request, _('Unable to retrieve policyrule details.'), redirect=self.failure_url) return {'policyrule': policyrule, 'classifiers': classifiers, 'actions': actions}