<% excluded_columns ||= [] %> <% nested_resource ||= false %> <% relationships ||= {} %> <% box_class ||= 'primary' %> <% display_mode ||= 'table' %> <% form_fields ||= (object.class.respond_to?('form_fields') ? object.class.form_fields : {}) %> <% form_ordered_fields ||= (form_fields.empty? ? object.class.column_names : form_fields.keys) %>

<%= object.class.model_name.human %>

<% if can? :edit, object %> <%= link_to eval_with_rescue("new_#{controller_name.singularize}_path"), class: "btn btn-#{box_class} btn-xs", data: { toggle: 'tooltip', placement: 'top', title: 'Cadastrar' } do %> Cadastrar <% end %> <% end %> <% if can? :edit, object %> <%= link_to eval_with_rescue("edit_#{controller_name.singularize}_path(#{object.id})"), class: "btn btn-warning btn-xs", data: { toggle: 'tooltip', placement: 'top', title: 'Editar' } do %> Editar <% end %> <% end %> <% if nested_resource %> <%= link_to 'Listagem', eval_with_rescue("#{parent_resource.class.model_name.to_s.downcase}_#{controller_name}_path(#{parent_resource.id})"), class: "btn btn-default btn-xs" %> <% else %> <%= link_to 'Listagem', eval_with_rescue("#{controller_name}_path"), class: "btn btn-default btn-xs" %> <% end %>
<% if display_mode == 'dt' %>
<% (form_ordered_fields - ['id', 'created_at', 'updated_at', 'deleted_at'] - excluded_columns).each do |column| %> <% wphtml = "col-md-#{(form_fields[column.to_sym].class == Hash ? form_fields[column.to_sym][:size] : form_fields[column.to_sym] ) || 12}" %> <% icon = (form_fields[column.to_sym].class == Hash ? (form_fields[column.to_sym][:icon].blank? ? 'id-card-o' : form_fields[column.to_sym][:icon]) : 'id-card-o') %>
<% if /_id$/ =~ column && object.respond_to?(column.split('_id')[0]) %> <%= object.class.human_attribute_name(column.split("_id")[0]) %> <% else %> <%= object.class.human_attribute_name(column) %> <% end %>
<% if object.send(column).class == Date or object.send(column).class == DateTime or object.send(column).class == ActiveSupport::TimeWithZone or object.send(column).class == Time %> <%=l object.send(column) %> <% elsif /_id$/ =~ column && object.respond_to?(column.split('_id')[0]) %> <%= object.send(column.split("_id")[0])&.name %> <% else %> <%= object.send(column) %> <% end %>  
<% end %>
<% end %> <% if display_mode == 'table' %> <% (object.class.column_names - ['id', 'created_at', 'updated_at', 'deleted_at'] - excluded_columns).each do |column| %> <% end %>
<% if /_id$/ =~ column && object.respond_to?(column.split('_id')[0]) %> <%= object.class.human_attribute_name(column.split("_id")[0]) %> <% else %> <%= object.class.human_attribute_name(column) %> <% end %> <% if object.send(column).class == Date or object.send(column).class == DateTime or object.send(column).class == ActiveSupport::TimeWithZone or object.send(column).class == Time %> <%=l object.send(column) %> <% elsif /_id$/ =~ column && object.respond_to?(column.split('_id')[0]) %> <%= object.send(column.split("_id")[0])&.name %> <% else %> <%= object.send(column) %> <% end %>
<% end %>
<% if relationships.size > 0 %> <% relationships.each do |key, value| %>

<%= Kernel.const_get(key.to_s.singularize.camelize).model_name.human.pluralize %>

<% value.each do |v| %> <% end %> <% object.send(key.to_s).each do |r| %> <% value.each do |v| %> <% end %>
<% if /_id$/ =~ v && Kernel.const_get(key.to_s.singularize.camelize).new.respond_to?(v.split('_id')[0]) %> <%= Kernel.const_get(key.to_s.singularize.camelize).human_attribute_name(v.split('_id')[0]) %> <% else %> <%= Kernel.const_get(key.to_s.singularize.camelize).human_attribute_name(v) %> <% end %>
<% if r.send(v).class == Date or r.send(v).class == DateTime or r.send(v).class == ActiveSupport::TimeWithZone or r.send(v).class == Time %> <%=l r.send(v) %> <% elsif /_id$/ =~ v && r.respond_to?(v.split('_id')[0]) %> <%= r.send(v.split("_id")[0])&.name %> <% else %> <%= r.send(v) %> <% end %> <% end %>
<% end %> <% end %>