

def __init__(self, request, *args, **kwargs):
    super(InsertRuleToPolicy, self).__init__(request, *args, **kwargs)
    try:
        tenant_id = self.request.user.tenant_id
        all_rules = api.fwaas.rule_list_for_tenant(request, tenant_id)
        all_rules = sorted(all_rules, key=(lambda rule: rule.name_or_id))
        available_rules = [r for r in all_rules if (not r.firewall_policy_id)]
        current_rules = []
        for r in kwargs['initial']['firewall_rules']:
            r_obj = [rule for rule in all_rules if (r == rule.id)][0]
            current_rules.append(r_obj)
        available_choices = [(r.id, r.name_or_id) for r in available_rules]
        current_choices = [(r.id, r.name_or_id) for r in current_rules]
    except Exception as e:
        msg = (_('Failed to retrieve available rules: %s') % e)
        LOG.error(msg)
        redirect = reverse(self.failure_url)
        exceptions.handle(request, msg, redirect=redirect)
    self.fields['firewall_rule_id'].choices = available_choices
    self.fields['insert_before'].choices = ([('', '')] + current_choices)
    self.fields['insert_after'].choices = ([('', '')] + current_choices)

dataset/ETHPy150Open openstack/horizon/openstack_dashboard/dashboards/project/firewalls/forms.py InsertRuleToPolicy.__init__/original