amahi/platform

View on GitHub
app/views/firewall/_rule.html.slim

Summary

Maintainability
Test Coverage
-   name = fw_rule_type(rule.kind)
-     active = fw_rule_state(rule)
-     details = fw_rule_details(rule)
-     delete_icon = delete_icon "Delete Rule"
-     uid = rule.id.to_s
-     toggler = update_page do |page|
-             row = "fw_rule_row_" + uid
-             info = "fw_rule_info_" + uid
-             page.toggle info
-             page[row].toggle_class_name "rules-row-open"
-      end

table.settings.stretchtoggle id="fw_rule_row_#{uid}" onmouseup="#{h toggler}"
  tr
    td.settings-col1.fw-rules-col1
      = link_to(name, '')
    td.settings-col2.fw-rules-col2 id="fw_rule_state_#{uid}" 
      = active ? "Active" : "Inactive"
    td.settings-col3.fw-rules-col3 id="fw_rule_detail_#{uid}" 
      = rule.comment.blank? ? details : rule.comment

.settings-stretcher id="fw_rule_info_#{uid}" style="display:none;" 
  .fw_rule-manage
    fieldset
      legend
        |   #{t 'rule'}  
      .settings-actions
        = spinner uid
        = t 'delete_this_rule'
        |  
        = link_to_remote(delete_icon, \
           :update => 'fw-rules-table', \
           :confirm => t('are_you_sure_you_want_to_delete_the_static_ip', :name => name), \
           :before => "Element.show('spinner-#{uid}')", \
           :success => "Element.hide('spinner-#{uid}')", \
           :url => { :controller => 'firewall', :action => 'delete', :id => uid })}
      .settings-fields
        table
          tr
            td
              = t 'rule_type'
              | \:
            td  
              |  
            td
              = fw_rule_type(rule.kind)
          - case rule.kind
          - when 'port_filter'
            = render :partial => 'firewall/details_port_filter', :locals => { :rule => rule }
          - when 'ip_filter'
            = render :partial => 'firewall/details_ip_filter', :locals => { :rule => rule }
          - when 'mac_filter'
            = render :partial => 'firewall/details_mac_filter', :locals => { :rule => rule }
          - when 'url_filter'
            = render :partial => 'firewall/details_url_filter', :locals => { :rule => rule }
          - when 'port_forward'
            = render :partial => 'firewall/details_port_forward', :locals => { :rule => rule }