app/views/admin/claims/_index.html.erb
<div class="row">
<div class='col-md-9 col-md-offset-3 panel-list'>
<%= form_tag(admin_claims_path, :method => "get", :class => "form-horizontal", :role => "form") do %>
<div id="search" class="input-group">
<%= search_field_tag :query, params[:query], :placeholder => "Search claim", :class => "form-control" %>
<div class="input-group-btn">
<button type="submit" class="btn btn-primary hidden-xs">Search</button>
</div>
</div>
<% if params[:query] || params[:created] || params[:user_id] || params[:source_id] || params[:claim_action] || params[:state] %>
<span class="help-block"> <%= link_to 'Reset All', admin_claims_path %></span>
<% end %>
<% end %>
</div>
</div>
<div class="row">
<div class='col-md-3'>
<div class="panel facets">
<% if @created.present? %>
<div class="panel-body">
<h4>Year Created</h4>
<ul>
<% @created.each do |created| %>
<li>
<% if params[:created] %>
<%= link_to "<i class='far fa-check-square'></i>".html_safe, admin_claims_path(query: params[:query], source_id: params[:source_id], user_id: params[:user_id], claim_action: params[:claim_action], state: params[:state]) %>
<% else %>
<%= link_to "<i class='far fa-square'></i>".html_safe, admin_claims_path(query: params[:query], source_id: params[:source_id], created: created["id"], user_id: params[:user_id], claim_action: params[:claim_action], state: params[:state]) %>
<% end %>
<div class="facet-title"><%= created["title"] %></div>
<span class="number pull-right"><%= number_with_delimiter(created["count"]) %></span>
<div class="clearfix"/>
</li>
<% end %>
</ul>
</div>
<% end %>
<% if @users.present? %>
<div class="panel-body">
<h4>User</h4>
<ul>
<% @users.each do |user| %>
<li>
<% if params[:user_id] %>
<%= link_to "<i class='far fa-check-square'></i>".html_safe, admin_claims_path(query: params[:query], source_id: params[:source_id], created: params[:created], claim_action: params[:claim_action], state: params[:state]) %>
<% else %>
<%= link_to "<i class='far fa-square'></i>".html_safe, admin_claims_path(query: params[:query], source_id: params[:source_id], created: params[:created], user_id: user["id"], claim_action: params[:claim_action], state: params[:state]) %>
<% end %>
<div class="facet-title"><%= user["title"] %></div>
<span class="number pull-right"><%= number_with_delimiter(user["count"]) %></span>
<div class="clearfix"/>
</li>
<% end %>
</ul>
</div>
<% end %>
<% if @sources.present? %>
<div class="panel-body">
<h4>Source</h4>
<ul>
<% @sources.each do |source| %>
<li>
<% if params[:source_id] %>
<%= link_to "<i class='far fa-check-square'></i>".html_safe, admin_claims_path(query: params[:query], user_id: params[:user_id], claim_action: params[:claim_action], state: params[:state]) %>
<% else %>
<%= link_to "<i class='far fa-square'></i>".html_safe, admin_claims_path(query: params[:query], source_id: source["id"], user_id: params[:user_id], claim_action: params[:claim_action], state: params[:state]) %>
<% end %>
<div class="facet-title"><%= source["title"] %></div>
<span class="number pull-right"><%= number_with_delimiter(source["count"]) %></span>
<div class="clearfix"/>
</li>
<% end %>
</ul>
</div>
<% end %>
<% if @claim_actions.present? %>
<div class="panel-body">
<h4>Action</h4>
<ul>
<% @claim_actions.each do |claim_action| %>
<li>
<% if params[:claim_action] %>
<%= link_to "<i class='far fa-check-square'></i>".html_safe, admin_claims_path(query: params[:query], user_id: params[:user_id], source_id: params[:source_id], state: params[:state]) %>
<% else %>
<%= link_to "<i class='far fa-square'></i>".html_safe, admin_claims_path(query: params[:query], source_id: params[:source_id], user_id: params[:user_id], claim_action: claim_action["id"], state: params[:state]) %>
<% end %>
<div class="facet-title"><%= claim_action["title"] %></div>
<span class="number pull-right"><%= number_with_delimiter(claim_action["count"]) %></span>
<div class="clearfix"/>
</li>
<% end %>
</ul>
</div>
<% end %>
<% if @states.present? %>
<div class="panel-body">
<h4>Status</h4>
<ul>
<% @states.each do |state| %>
<li>
<% if params[:state] %>
<%= link_to "<i class='far fa-check-square'></i>".html_safe, admin_claims_path(query: params[:query], user_id: params[:user_id], source_id: params[:source_id], claim_action: params[:claim_action]) %>
<% else %>
<%= link_to "<i class='far fa-square'></i>".html_safe, admin_claims_path(query: params[:query], source_id: params[:source_id], user_id: params[:user_id], claim_action: params[:claim_action], state: state["id"]) %>
<% end %>
<div class="facet-title"><%= state["title"] %></div>
<span class="number pull-right"><%= number_with_delimiter(state["count"]) %></span>
<div class="clearfix"/>
</li>
<% end %>
</ul>
</div>
<% end %>
</div>
</div>
<div class='col-md-9 panel-list'>
<% if @claims.size > 0 %>
<% @claims.each do |claim| %>
<div class="panel panel-default">
<% if can?(:manage, @claim) && @claim && @claim.uuid == claim.uuid && (controller.action_name == "edit" or (controller.action_name == "update" and @claim.errors.present?)) %>
<div class="panel-heading">
<h3 class="panel-title">
<% if claim.user %>
<%= claim.user.name %> – <%= claim.doi %>
<% else %>
<%= claim.user_id %> – <%= claim.doi %>
<% end %>
</h3>
</div>
<%= simple_form_for @claim, url: admin_claim_path(@claim), html: { role: "form", remote: true } do |f| %>
<div class="panel-body">
<%= f.input :aasm_state, collection: aasm_states, include_blank: false, label: "State", input_html: { class: "form-user" } %>
<%= f.input :put_code, label: "Put Code", input_html: { class: "form-user" } %>
</div>
<div class="panel-footer">
<div class="form-group pull-right">
<%= link_to 'Cancel', admin_claims_path(query: params[:query], source_id: params[:source_id], claim_action: params[:claim_action], state: params[:state]), { :remote => true, :class => 'btn btn-sm' } %>
<%= f.submit "Save ", class: "btn btn-sm btn-fill" %>
</div>
<div class="clearfix"/>
</div>
<% end %>
<% else %>
<div class="panel-heading">
<h3 class="panel-title">
<span class="label <%= state_label(claim.aasm_state) %> pull-right"><%= claim.aasm_state %></span>
<% if claim.user %>
<%= claim.user.name %> – <%= claim.doi %>
<% else %>
<%= claim.user_id %> – <%= claim.doi %>
<% end %>
</h3>
</div>
<div class="panel-body">
<h5>ORCID</h5>
<%= link_to h(claim.user_id), admin_users_path(query: "#{claim.user_id}") %>
<h5>DOI</h5>
<%= link_to h(claim.doi), "#{ENV['COMMONS_URL']}/doi.org/#{claim.doi}" %>
<h5>Put Code</h5>
<% if claim.put_code.present? %>
<%= claim.put_code %>
<% else %>
none
<% end %>
<% if claim.done? && claim.claimed_at %>
<h5>Claimed</h5>
<%= l DateTime.parse(claim.claimed), format: :medium %>
<% else %>
<h5>Updated</h5>
<%= l DateTime.parse(claim.updated), format: :medium %>
<% end %>
<% if claim.error_messages && claim.error_messages.length > 0 && claim.error_messages.first["status"].present? %>
<h5>Error Status</h5>
<%= h(claim.error_messages.first["status"]) %>
<% end %>
<% if claim.error_messages && claim.error_messages.length > 0 && claim.error_messages.first["title"].present? %>
<h5>Error Message</h5>
<%= h(claim.error_messages.first["title"]) %>
<% end %>
</div>
<% if can?(:manage, claim) %>
<div class="panel-footer">
<span class="title pull-left"><%= sources[claim.source_id] %></span>
<div class="btn-toolbar">
<div class="btn-group btn-group-sm pull-right">
<%= link_to "Delete".html_safe, admin_claim_path(claim.uuid, query: params[:query], source_id: params[:source_id], claim_action: params[:claim_action], state: params[:state], page: params[:page]), method: :delete, data: { confirm: 'Are you sure?' }, remote: true, class: 'btn btn-fill btn-sm', id: "#{claim.id}-delete" %>
</div>
<div class="btn-group btn-group-sm pull-right">
<%= link_to "Update".html_safe, edit_admin_claim_path(claim.uuid, query: params[:query], source_id: params[:source_id], claim_action: params[:claim_action], state: params[:state], page: params[:page]), remote: true, class: 'btn btn-sm', id: "#{claim.id}-edit" %>
</div>
</div>
</div>
<% end %>
<% end %>
</div>
<% end %>
<div class="text-center">
<%= paginate @claims %>
</div>
<% else %>
<div class="alert alert-warning">
There are no claims
<% unless params[:query].blank? %>
with query string <strong><%= params[:query] %></strong>.
<% end %>
</div>
<% end %>
</div>
</div>