def create_view_response(rtype, rstate, rules, sort_key, sort_order, search_query="", count_match=COUNT_MATCH): """ Filter out the rules for normal users :param rules: :param rstate: :return: """ res = make_response( render_template('pages/dashboard_view.j2', table_title=RULE_TYPE_DISPATCH[rtype]['title'], button_colspan=COLSPANS[rtype], rules_columns=RULE_TYPE_DISPATCH[rtype]['columns'], rules=rules, css_classes=active_css_rstate(rtype, rstate), sort_order=sort_order, sort_key=sort_key, search_query=search_query, count_match=count_match, rstate=rstate, rtype=rtype, rtype_int=RULE_TYPES[rtype], today=datetime.now())) encoded = create_rules_payload([], rtype) return res, encoded
def create_admin_responose(rtype, rstate, rules, sort_key, sort_order, search_query=""): """ Admin can see and edit any rules :param rtype: :param rstate: :param rules: :param all_actions: :param sort_order: :return: """ res = make_response( render_template('pages/dashboard_admin.j2', rules=rules, button_colspan=COLSPANS[rtype], table_title=RULE_TYPE_DISPATCH[rtype]['title'], rules_columns=RULE_TYPE_DISPATCH[rtype]['columns'], css_classes=active_css_rstate(rtype, rstate), sort_order=sort_order, sort_key=sort_key, search_query=search_query, rstate=rstate, rtype=rtype, rtype_int=RULE_TYPES[rtype], today=datetime.now())) encoded = create_rules_payload(rules, rtype) return res, encoded
def create_user_response(rtype, rstate, rules, sort_key, sort_order, search_query="", count_match=COUNT_MATCH): """ Filter out the rules for normal users :param rules: :param rstate: :return: """ net_ranges = models.get_user_nets(session['user_id']) if rtype == 'rtbh': rules_editable, read_only_rules = validators.split_rtbh_rules_for_user( net_ranges, rules) else: user_rules, read_only_rules = validators.split_rules_for_user( net_ranges, rules) user_actions = models.get_user_actions(session['user_role_ids']) user_actions = [act[0] for act in user_actions] rules_editable, rules_visible = flowspec.filter_rules_action( user_actions, user_rules) read_only_rules = read_only_rules + rules_visible # we don't want the read only rules if they are not active if rstate != 'active': read_only_rules = [] res = make_response( render_template('pages/dashboard_user.j2', table_title=RULE_TYPE_DISPATCH[rtype]['title'], button_colspan=COLSPANS[rtype], rules_columns=RULE_TYPE_DISPATCH[rtype]['columns'], rules_editable=rules_editable, rules_visible=read_only_rules, css_classes=active_css_rstate(rtype, rstate), sort_order=sort_order, sort_key=sort_key, search_query=search_query, count_match=count_match, rstate=rstate, rtype=rtype, rtype_int=RULE_TYPES[rtype], today=datetime.now())) encoded = create_rules_payload(rules_editable, rtype) return res, encoded