amahi/platform

View on GitHub
app/views/aliases/_one.html.slim

Summary

Maintainability
Test Coverage
- name = [h(one.alias), @domain].join '.'
- name = h($1) if one.alias =~ /(.*)\.\z/
- (base, addr) = case one.address
-   when ''
-     [@net, @self]
-   when /\A\d+\z/
-     [@net, [@net, h(one.address)].join('.')]
-   else
-     ['', h(one.address)]
- end
- delete_icon = theme_image_tag("delete", :title => t('delete_alias'))
- uid = one.id.to_s
- toggler = update_page do |page|
-   row = "alias_row_" + uid
-   info = "alias_info_" + uid
-   page.toggle info
-   page[row].toggle_class_name "settings-row-open"
- end

table.settings.stretchtoggle id="alias_row_#{uid}" onmouseup="#{h toggler}"
  tr
    td.settings-col1.aliases-col1
      = link_to(h(name), '')
    td.settings-col2.aliases-col2 id="alias_ip_#{uid}"
      = h(addr)

.settings-stretcher id="alias_info_#{uid}" style="display:none;"
  .alias-manage
    fieldset
      legend
        |   #{t 'edit_alias'}
        b
          = h(one.alias)
      .settings-actions
        = spinner uid
        = t 'delete_alias'
        b
          = h one.alias
        = link_to_remote( delete_icon, \
           :update => 'aliases-table', \
           :confirm => t('are_you_sure_you_want_to_delete_alias', :name => name), \
           :before => "Element.show('spinner-#{uid}')", \
           :success => "Element.hide('spinner-#{uid}')", \
           :url => { :controller => 'aliases', :action => 'delete', :id => uid })
      .settings-fields
        table
          tr
            td
              = t 'ip_address'
            td  
              |  
            td
              = base.blank? ? '' : base + '.'
              = editable_content(                     \
                :content => {                         \
                  :element => 'span',                 \
                  :text => h(one.address),            \
                  :options => {                       \
                    :id => "alias_address_#{uid}",    \
                    :class => 'editable'              \
                  }                                   \
                },                                    \
                :url => {                             \
                  :controller => 'aliases',           \
                  :action => 'update_address',        \
                  :id => uid                          \
                })
          tr
            td  
              |  
            td  
              |  
            td  
              |  
          tr
            td
              = t 'location'
              | \:
            td  
              |  
            td
              = link_to h(name), "http://# h(name)}", { :target => "_blank" }