Sha256: 6f34419b593927e56090500c73dea27096c0d76727c71566dec284420bab9e7c

Contents?: true

Size: 1.9 KB

Versions: 3

Compression:

Stored size: 1.9 KB

Contents

<h1>Authorization Rules Graph</h1>
<p>Currently active rules in this application.</p>
<p><%= navigation %></p>

<% javascript_tag do %>
    function update_graph (form) {
        base_url = "<%= url_for :format => 'svg' %>";
        $('graph').data = base_url + '?' + form.serialize();
    }

    function set_filter (filter) {
        for (f in filter) {
            var select = $("filter_" + f);
            if (select) {
                var opt = select.down("option[value='"+ filter[f] + "']");
                if (opt) {
                    opt.selected = true;
                    update_graph(select.form);
                }
            }
        }
    }
<% end %>
<p>
  <% form_tag do %>
  <%#= link_to_graph "Rules" %>
  <%#= link_to_graph "Privilege hierarchy", :type => 'priv_hierarchy' %>
  
  <%= select_tag "filter_roles", options_for_select([["All roles",'']] + controller.authorization_engine.roles), :onchange => 'update_graph(this.form)' %>
  <%= select_tag "filter_contexts", options_for_select([["All contexts",'']] + controller.authorization_engine.auth_rules.collect {|ar| ar.contexts.to_a}.flatten.uniq), :onchange => 'update_graph(this.form)' %>
  <%= check_box_tag "effective_role_privs", "1", false, :onclick => 'update_graph(this.form)'  %> <%= label_tag "effective_role_privs", "Effective privileges"  %>
  <%= check_box_tag "privilege_hierarchy", "1", false, :onclick => 'update_graph(this.form)'  %> <%= label_tag "privilege_hierarchy", "Show full privilege hierarchy"  %>
  <% end %>
</p>
<div style="margin: 1em;border:1px solid #ccc;max-width:95%">
<object id="graph" data="<%= url_for :format => 'svg' %>" type="image/svg+xml" style="max-width:100%"/>
</div>
<%= button_to_function "Zoom in", '$("graph").style.maxWidth = "";$(this).toggle();$(this).next().toggle()' %>
<%= button_to_function "Zoom out", '$("graph").style.maxWidth = "100%";$(this).toggle();$(this).previous().toggle()', :style => 'display:none' %>

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
stffn-declarative_authorization-0.2.3 app/views/authorization_rules/graph.html.erb
stffn-declarative_authorization-0.2.4 app/views/authorization_rules/graph.html.erb
stffn-declarative_authorization-0.2.5 app/views/authorization_rules/graph.html.erb