<% content_for :title, @waf_policy.name %>

<%= @waf_policy.name %>

<%= @waf_policy.description %>

<%= link_to "← Back to Policies", waf_policies_path, class: "inline-flex items-center px-4 py-2 border border-gray-300 rounded-md shadow-sm text-sm font-medium text-gray-700 bg-white hover:bg-gray-50" %> <%= link_to "Edit", edit_waf_policy_path(@waf_policy), class: "inline-flex items-center px-4 py-2 border border-gray-300 rounded-md shadow-sm text-sm font-medium text-gray-700 bg-white hover:bg-gray-50" %>

📋 Policy Details

Policy Type
<%= @waf_policy.policy_type.humanize %>
Policy Action
<%= @waf_policy.policy_action.upcase %>
Targets
<% if @waf_policy.targets.any? %>
<% @waf_policy.targets.each do |target| %> <% if @waf_policy.country_policy? %> <%= CountryHelper.display_with_flag(target) %> <% else %> <%= target %> <% end %> <% end %>
<% else %> No targets configured <% end %>
Status
<%= @waf_policy.active? ? 'Active' : 'Inactive' %> <% if @waf_policy.active? %> <%= link_to "Deactivate", deactivate_waf_policy_path(@waf_policy), method: :post, data: { confirm: "Are you sure you want to deactivate this policy?" }, class: "text-sm text-red-600 hover:text-red-900" %> <% else %> <%= link_to "Activate", activate_waf_policy_path(@waf_policy), method: :post, class: "text-sm text-green-600 hover:text-green-900" %> <% end %>
Expires At
<% if @waf_policy.expires_at.present? %> <%= @waf_policy.expires_at.strftime("%B %d, %Y at %I:%M %p") %> <% if @waf_policy.expired? %> Expired <% end %> <% else %> Never expires <% end %>
Created By
<%= @waf_policy.user.email_address %>
Created
<%= @waf_policy.created_at.strftime("%B %d, %Y at %I:%M %p") %>
<% if @waf_policy.additional_data && @waf_policy.additional_data.any? %>
Additional Config
<% @waf_policy.additional_data.each do |key, value| %>
<%= key.humanize %>: <%= value %>
<% end %>
<% end %>
Generated Rules
<%= @waf_policy.generated_rules_count %>
Active Rules
<%= @waf_policy.active_rules_count %>
Rules Last 7 Days
<%= @waf_policy.effectiveness_stats[:rules_last_7_days] %>
Efficiency Rate
<%= @waf_policy.active_rules_count.to_f / [@waf_policy.generated_rules_count, 1].max * 100 %>%
<% if @generated_rules.any? %>

🔧 Generated Rules

Specific rules created by this policy that are enforced by baffle-agents.

    <% @generated_rules.each do |rule| %>
  • <%= link_to "📋", rule_path(rule), class: "text-blue-600 hover:text-blue-900" %>
    Rule #<%= rule.id %> - <%= rule.network_range&.cidr || "Unknown" %>
    <%= rule.action.upcase %> • Created <%= time_ago_in_words(rule.created_at) %> ago <% if rule.redirect_action? %> • Redirect to <%= rule.redirect_url %> <% elsif rule.challenge_action? %> • <%= rule.challenge_type.humanize %> challenge <% end %>
    <% if rule.active? %> Active <% else %> Inactive <% end %>
  • <% end %>
<% end %>