MiraitSystems/enju_trunk

View on GitHub
app/views/users/index.html.erb

Summary

Maintainability
Test Coverage
<script>
  function push_submit(format) {
    var o = document.getElementById('form');
    if(format == 'pdf')
      o.action = "<%= users_path(:format => 'pdf') %>";
    else if(format == 'tsv')
      o.action = "<%= users_path(:format => 'tsv') %>";
    else
      o.action = "<%= users_path %>";
    o.submit();
  }
</script>

<div id="content_detail" class="ui-corner-all">
<h1 class="title"><%= t('page.listing', :model => t('activerecord.models.user')) -%></h1>
<div id="content_list">
<div style="color: green"><%= flash[:message] -%></div>
<script>
$(function(){
  $('#birth_date').setCalendar({src:'/assets/calendar.png'});
});
</script>
<%= form_for :users, :url => users_path, :html => {:method => 'get', :id => 'form'} do -%>
  <p>
  <%= t('page.search_term') -%>: <%= search_field_tag 'query', h(@query), {:id => 'search_form_top', :class => 'search_form', :placeholder => t('page.search_term'), autofocus: true} -%>
    <% if !@query.empty? %><input type="button" value="<%= t('page.search_clear') -%>" onclick="$('#search_form_top').val('')"><% end %><br />
    <%= t('activerecord.attributes.user.birth_date') -%>: <%= text_field_tag 'birth_date', @date_of_birth, :class => 'wide_date_text_field', :placeholder => "#{t('page.example')}: 2011-04-12" -%>
    <%= t('activerecord.attributes.user.adddress') -%>: <%= text_field_tag 'address', @address, :class => 'search_form' -%>
    <br />

    <%= t('activerecord.attributes.user.user_group') -%>: <%= select2_tag(:user_group, "user_group", @user_groups, @user_group, :select_attribute => 'name', :display_attribute => 'display_name', :width => 300, :include_blank => true) -%>
    <%= t('activerecord.attributes.user.department') -%>: <%= select2_tag(:department, "department", @departments, @department, :select_attribute => 'name', :display_attribute => 'display_name', :width => 300, :include_blank => true) -%>
    <br />

    <%= hidden_field_tag 'agent_id', @agent.id if @agent -%>
    <%= hidden_field_tag 'library', params[:library] if params[:library] -%>
    <%= hidden_field_tag 'role', params[:role] if params[:role] -%>
    <%= submit_tag t('page.search'), :onclick => "push_submit(null);" -%>
    <%= submit_tag t('page.output_pdf', :model => t('page.listing', :model => t('activerecord.models.user'))), :onclick => "push_submit('pdf');" -%>

    <% if SystemConfiguration.get("set_output_format_type") == false %>
      <%= submit_tag t('page.output_csv', :model => t('page.listing', :model => t('activerecord.models.user'))), :onclick => "push_submit('tsv');" -%>     
    <% else %>
      <%= submit_tag t('page.output_tsv', :model => t('page.listing', :model => t('activerecord.models.user'))), :onclick => "push_submit('tsv');" -%>
    <% end %>
  </p>
<%- end -%>

<table class="index">
  <tr>
    <th>
      <%= t('activerecord.attributes.user.username') -%>
      <%= link_to image_tag('icons/arrow_up.png', :size => '16x16', :alt => t('page.asc'), :title => t('tooltip.asc')), url_for(params.merge(:sort_by => 'username', :order => 'asc')) -%>
      <%= link_to image_tag('icons/arrow_down.png', :size => '16x16', :alt => t('page.desc'), :title => t('tooltip.desc')), url_for(params.merge(:sort_by => 'username', :order => 'desc')) -%><br />
      <%= t('activerecord.attributes.agent.full_name') -%>
      <%= link_to image_tag('icons/arrow_up.png', :size => '16x16', :alt => t('page.asc'), :title => t('tooltip.asc')), url_for(params.merge(:sort_by => 'full_name', :order => 'asc')) -%>
      <%= link_to image_tag('icons/arrow_down.png', :size => '16x16', :alt => t('page.desc'), :title => t('tooltip.desc')), url_for(params.merge(:sort_by => 'full_name', :order => 'desc')) -%>
    </th>
    <th>
      <%= t('activerecord.attributes.user.user_number') -%>
      <%= link_to image_tag('icons/arrow_up.png', :size => '16x16', :alt => t('page.asc'), :title => t('tooltip.asc')), url_for(params.merge(:sort_by => 'user_number', :order => 'asc')) -%>
      <%= link_to image_tag('icons/arrow_down.png', :size => '16x16', :alt => t('page.desc'), :title => t('tooltip.desc')), url_for(params.merge(:sort_by => 'user_number', :order => 'desc')) -%>
    </th>
    <th>
      <%= t('activerecord.attributes.user.user_group') -%>
      <%= link_to image_tag('icons/arrow_up.png', :size => '16x16', :alt => t('page.asc'), :title => t('tooltip.asc')), url_for(params.merge(:sort_by => 'user_group', :order => 'asc')) -%>
      <%= link_to image_tag('icons/arrow_down.png', :size => '16x16', :alt => t('page.desc'), :title => t('tooltip.desc')), url_for(params.merge(:sort_by => 'user_group', :order => 'desc')) -%>
    </th>
     <th>
      <%= t('activerecord.attributes.user.department') -%>
      <%= link_to image_tag('icons/arrow_up.png', :size => '16x16', :alt => t('page.asc'), :title => t('tooltip.asc')), url_for(params.merge(:sort_by => 'department', :order => 'asc')) -%>
      <%= link_to image_tag('icons/arrow_down.png', :size => '16x16', :alt => t('page.desc'), :title => t('tooltip.desc')), url_for(params.merge(:sort_by => 'department', :order => 'desc')) -%>
    </th>
    <% if false %>
    <th>
      <%= t('activerecord.attributes.agent.telephone_number') -%>
      <%= link_to image_tag('icons/arrow_up.png', :size => '16x16', :alt => t('page.asc'), :title => t('tooltip.asc')), url_for(params.merge(:sort_by => 'telephone_number_1', :order => 'asc')) -%>
      <%= link_to image_tag('icons/arrow_down.png', :size => '16x16', :alt => t('page.desc'), :title => t('tooltip.desc')), url_for(params.merge(:sort_by => 'telephone_number_1', :order => 'desc')) -%>
    </th>
    <% end %>
    <% if false %>
    <th>
      <%= t('page.created_at') -%>
      <%= link_to image_tag('icons/arrow_up.png', :size => '16x16', :alt => t('page.asc'), :title => t('tooltip.asc')), url_for(params.merge(:sort_by => 'created_at', :order => 'asc')) -%>
      <%= link_to image_tag('icons/arrow_down.png', :size => '16x16', :alt => t('page.desc'), :title => t('tooltip.desc')), url_for(params.merge(:sort_by => 'created_at', :order => 'desc')) -%>
    </th>
    <% end %>
    <th><%= t('activerecord.models.checkout') -%></th>
    <th><%= t('activerecord.models.reserve') -%></th>
    <th><%= t('page.edit') -%></th>
  </tr>

<%- @users.each_with_index do |user, i| -%>
  <tr class="line<%= cycle("0", "1") -%>" style="background-color:<%= user.set_color -%>">
    <td>
      <%= link_to user.username, user -%>
      <br />
      <%- if user.agent -%>
        <%= link_to user.agent.full_name, user -%>
      <%- end -%>
      <%- if user.user_status.state_id == 3 or user.unable == true -%>
        <br/>
        (<%= t('activerecord.attributes.user.unable') if user.unable == true -%><%- if user.user_status.state_id == 3 and user.unable == true -%>&nbsp;<%- end -%><%= t('activerecord.attributes.user.locked') if user.user_status.state_id == 3 -%>)
      <%- end -%>
    </td>
    <td><%= user.user_number -%></td>
    <td><%= user.user_group.display_name if user.user_group -%></td>
    <td><%= user.department.display_name if user.department -%></td>
    <% if false %>
    <td>
     <%- if user.agent -%>
       <%= user.agent.telephone_number_1 -%>
       <br />
       <%= user.agent.telephone_number_2 -%>
     <%- end -%>
    </td>
    <% end %>
    <% if false %>
    <td><%= l(user.created_at) if user.created_at -%></td>
    <% end %>
    <td>
      <%- if user.active_for_authentication? -%>
        <%= link_to t('activerecord.models.checkout'), new_basket_path(:user_number => user.user_number) unless user.user_number.blank? -%>
      <%- end -%>
      <%= link_to t('activerecord.models.checkin'), checkins_path unless user.user_number.blank? -%>
      <br />
      (<%= link_to t('page.checkout_history'), user_checkouts_path(user) -%>)
    </td>
    <td><%= link_to t('activerecord.models.reserve'), user_reserves_path(user) unless user.user_number.blank? -%></td>
    <td>
      <%= link_to t('page.edit'), edit_user_path(user) -%><br />
      <% if SystemConfiguration.get("use_family") -%>
        <% if user.agent and user.agent.agent_type_id == 1 %>
          <%= link_to t('user.create_family'), new_user_path(:family_user_id => user.id) -%>
        <% end %>
      <% end %>
    </td>
  </tr>
<%- end -%>
</table>

<br />
<%= paginate(@users) -%>

</div>
</div>

<div id="submenu" class="ui-corner-all">
  <h3><%= link_to h("#{t('page.total')}: #{@count[:query_result]}"), url_for(params.merge(:action => 'index', :library => nil, :role => nil, :agent_type => nil))  -%></h3>
  <%- if @users && (@users.total_entries > 0) -%>
    <%= render 'users/all_facet' -%>
    <br />
  <%- end -%>

  <ul>
    <%- if user_signed_in? && current_user.has_role?('Librarian') -%>
      <li><%= link_to t('page.new', :model => t('activerecord.models.user')), new_user_path -%></li>
      <%- if SystemConfiguration.get('use_family') %><li><%= link_to t('user.manage_family'), families_path -%></li><%- end -%>
      <li><%= link_to t('page.listing', :model => t('activerecord.models.unablelist')), unablelist_path -%></li>
      <li><%= link_to t('page.import_from_file'), new_agent_import_file_path -%></li>
      <li><%= link_to t('activerecord.models.checkin'), checkins_path -%>
    <%- end -%>
  </ul>
</div>