def populate_policy_rules_choices(self, request, context): try: rules = client.policyrule_list(request) for r in rules: r.set_id_as_name_if_empty() rules = sorted(rules, key=lambda rule: rule.name) rule_list = [(rule.id, rule.name) for rule in rules] except Exception as e: rule_list = [] exceptions.handle( request, _('Unable to retrieve rules (%(error)s).') % {'error': str(e)}) return rule_list
def get_policyrulestable_data(self): try: policy_rules = client.policyrule_list(self.tab_group.request) policy_rules = [gfilters.update_policyrule_attributes( self.request, item) for item in policy_rules] except Exception: policy_rules = [] exceptions.handle(self.tab_group.request, _('Unable to retrieve policy-rule list.')) for rule in policy_rules: rule.set_id_as_name_if_empty() return policy_rules
def populate_policy_rules_choices(self, request, context): try: rules = client.policyrule_list(request) for r in rules: r.set_id_as_name_if_empty() rules = sorted(rules, key=lambda rule: rule.name) rule_list = [(rule.id, rule.name) for rule in rules] except Exception as e: rule_list = [] exceptions.handle(request, _('Unable to retrieve rules (%(error)s).') % { 'error': str(e)}) return rule_list
def __init__(self, request, *args, **kwargs): super(UpdatePolicyRuleSetForm, self).__init__(request, *args, **kwargs) rules = [] try: items = client.policyrule_list(request) rules = [(p.id, p.name) for p in items] policy_rule_set = client.policy_rule_set_get(request, self.initial["policy_rule_set_id"]) if policy_rule_set: self.fields["name"].initial = policy_rule_set.name self.fields["description"].initial = policy_rule_set.description self.fields["shared"].initial = policy_rule_set.shared existing = [item for item in policy_rule_set.policy_rules] self.fields["rules"].initial = existing except Exception: exceptions.handle(request, _("Unable to retrieve policy rules")) self.fields["rules"].choices = rules
def __init__(self, request, *args, **kwargs): super(UpdatePolicyRuleSetForm, self).__init__(request, *args, **kwargs) rules = [] try: items = client.policyrule_list(request) rules = [(p.id, p.name) for p in items] policy_rule_set = client.policy_rule_set_get( request, self.initial['policy_rule_set_id']) if policy_rule_set: self.fields['name'].initial = policy_rule_set.name self.fields[ 'description'].initial = policy_rule_set.description existing = [item for item in policy_rule_set.policy_rules] self.fields['rules'].initial = existing except Exception: exceptions.handle(request, _('Unable to retrieve policy rules')) self.fields['rules'].choices = rules
def get_context_data(self, request): cid = self.tab_group.kwargs['policy_rule_set_id'] try: policy_rule_set = client.policy_rule_set_get(request, cid) rules = client.policyrule_list( request, tenant_id=request.user.tenant_id, policy_rule_set_id=policy_rule_set.id) rules = [ item for item in rules if item.id in policy_rule_set.policy_rules ] rules_with_details = [] for rule in rules: r = {} r['name'] = rule.name r['id'] = rule.id action_list = [] for aid in rule.policy_actions: action = client.policyaction_get(request, aid) a = {'id': action.id} if action.action_value: if action.action_type == 'redirect': scspec = client.get_servicechain_spec( request, action.action_value) a['name'] = "Redirect:%s" % scspec.name else: values = (str(action.action_type), str(action.action_value)) name = "%s:%s" % values a['name'] = name else: a['name'] = str(action.action_type) action_list.append(a) r['actions'] = action_list r['classifier'] = client.policyclassifier_get( request, rule.policy_classifier_id) rules_with_details.append(r) except Exception as e: msg = _('Unable to retrieve policy_rule_set details.') % (str(e)) exceptions.handle(request, msg, redirect=self.failure_url) return { 'policy_rule_set': policy_rule_set, 'rules_with_details': rules_with_details }
def __init__(self, request, *args, **kwargs): super(UpdatePolicyRuleSetForm, self).__init__(request, *args, **kwargs) rules = [] try: items = client.policyrule_list(request, tenant_id=request.user.tenant_id) rules = [(p.id, p.name) for p in items] policy_rule_set = client.policy_rule_set_get( request, self.initial['policy_rule_set_id']) if policy_rule_set: self.fields['name'].initial = policy_rule_set.name self.fields[ 'description'].initial = policy_rule_set.description self.fields['shared'].initial = policy_rule_set.shared existing = [item for item in policy_rule_set.policy_rules] self.fields['policy_rules'].initial = existing except Exception: exceptions.handle(request, _('Unable to retrieve policy rules')) self.fields['policy_rules'].choices = rules
def get_context_data(self, request): cid = self.tab_group.kwargs['policy_rule_set_id'] try: policy_rule_set = client.policy_rule_set_get(request, cid) rules = client.policyrule_list( request, tenant_id=request.user.tenant_id, policy_rule_set_id=policy_rule_set.id) rules = [ item for item in rules if item.id in policy_rule_set.policy_rules] rules_with_details = [] for rule in rules: r = {} r['name'] = rule.name r['id'] = rule.id action_list = [] for aid in rule.policy_actions: action = client.policyaction_get(request, aid) a = {'id': action.id} if action.action_value: if action.action_type == 'redirect': scspec = client.get_servicechain_spec(request, action.action_value) a['name'] = "Redirect:%s" % scspec.name else: values = (str(action.action_type), str(action.action_value)) name = "%s:%s" % values a['name'] = name else: a['name'] = str(action.action_type) action_list.append(a) r['actions'] = action_list r['classifier'] = client.policyclassifier_get( request, rule.policy_classifier_id) rules_with_details.append(r) except Exception as e: msg = _('Unable to retrieve policy_rule_set details.') % (str(e)) exceptions.handle(request, msg, redirect=self.failure_url) return {'policy_rule_set': policy_rule_set, 'rules_with_details': rules_with_details}