MiraitSystems/enju_trunk

View on GitHub
app/views/page/_search_tab_detail.html.erb

Summary

Maintainability
Test Coverage
<script>
$(function(){
  $('#pub_date_from').setCalendar({src:'/assets/calendar.png'});
  $('#pub_date_to').setCalendar({src:'/assets/calendar.png'});
  $('#acquired_from').setCalendar({src:'/assets/calendar.png'});
  $('#acquired_to').setCalendar({src:'/assets/calendar.png'});
  $('#removed_from').setCalendar({src:'/assets/calendar.png'});
  $('#removed_to').setCalendar({src:'/assets/calendar.png'});

  $("[name=commit]").click(function(){
    var arr = ["item_identifier"]
    <% if SystemConfiguration.get("manifestation.isbn_unique") %>
      arr.push("isbn")
    <% end %>
    for(i = 0; i < arr.length; i++) {
      var target = $("#" + arr[i]).val().replace(/ /g, '').replace(/ /g, '');
      if (target != '' && !target.match(/\*/)) {
        var input_other_form = false;
        $('input[type="search"]').each(function(){
          if ($(this).attr("id") != arr[i]) {
            var value = $(this).val().replace(/ /g, '').replace(/ /g, '');
            if (value != '') {
              input_other_form = true;
              return false;
            }
          }
        });
        if (input_other_form == true){
          if (arr[i] == "isbn")
            alert("<%= t('advanced_search.search_isbn') %>");
          else
            alert("<%= t('advanced_search.search_item_identifier') %>");
          return false;
        }
      }
    }
  });
});

</script>

<table style="width: 100%" id="advanced_search">
  <%- if SystemConfiguration.get('nacsis.use_cat') -%>
    <tr>
      <td><label><%= t('page.search_for') -%>:</label></td>
      <td>
        <%= radio_button_tag 'index', 'local', true -%><%= t('page.search_local', :library => "#{LibraryGroup.first.display_name}") -%>
        <%= radio_button_tag 'index', 'nacsis', false -%><%= t('page.search_nacsis') -%>
      </td>
    </tr>
  <%- end -%>
  <tr>
    <td><label><%= advanced_search_label(:query) -%>:</label></td>
    <td><%= search_field_tag 'query', params[:query], :class => 'search_form_short', :placeholder => t('page.search_term') -%> <%=advanced_search_merge_tag('query') -%>
      <br />
      <%= search_field_tag 'except_query', params[:except_query] -%><label><%= advanced_search_label(:except_query) %></label><br />
      <%= t('advanced_search.help_query') -%>
    </td>
  </tr>
  <% if defined?(EnjuBookmark) %>
    <tr class="local-only">
      <td><label><%= advanced_search_label(:tag) -%>:</label></td>
      <td><%= search_field_tag 'tag', params[:tag] -%></td>
    </tr>
  <%- end -%>
  <tr>
    <td><label><%= advanced_search_label(:title) -%>:</label></td>
    <td><%= search_field_tag 'title', params[:title] -%>
      <%= advanced_search_merge_tag('title') %>
      <br />
      <%= search_field_tag 'except_title', params[:except_title] -%><label><%= advanced_search_label(:except_title) %></label>
    </td>
  </tr>
  <tr>
    <td><label><%= advanced_search_label(:creator) -%>:</label></td>
    <td><%= search_field_tag 'creator', params[:creator] -%>
      <%= advanced_search_merge_tag('creator') %>
      <br />
      <%= search_field_tag 'except_creator', params[:except_creator] -%><label><%= advanced_search_label(:except_creator) %></label>
    </td>
  </tr>
  <tr class="nacsis-only">
    <td><label><%= advanced_search_label(:subject) -%></label></td>
    <td><%= search_field_tag 'subject', params[:subject] -%></td>
  </tr>
  <tr>
    <td><label><%= advanced_search_label(:publisher) -%>:</label></td>
    <td><%= search_field_tag 'publisher', params[:publisher] -%></td>
  </tr>
  <tr class="local-only">
    <td><label><%= advanced_search_label(:subject_text) -%>:</label></td>
    <td>
      <%= search_field_tag 'subject_text', params[:subject_text] -%>
      <%= advanced_search_merge_tag('subject_text') %>
    </td>
  </tr>
  <tr>
    <td><label><%= advanced_search_label(:isbn) -%>:</label></td>
    <td><%= search_field_tag 'isbn', params[:isbn] -%><%= t('advanced_search.help_isbn') -%></td>
  </tr>
  <tr>
    <td><label><%= advanced_search_label(:issn) -%>:</label></td>
    <td><%= search_field_tag 'issn', params[:issn] -%><%= t('advanced_search.help_issn') -%></td>
  </tr>
  <%- if SystemConfiguration.get('manifestation.use_identifiers') %>
    <tr>
      <td><nobr><label><%= advanced_search_label(:other_identifier) -%>:</label></nobr></td>
      <td>
        <%= select2_tag 'other_identifier_identifier_type',
          'other_identifier[identifier_type_id]',
          IdentifierType.all,
          (params[:other_identifier][:identifier_type_id].to_i rescue nil),
          select_attribute: :id,
          display_attribute: :display_name,
          include_blank: true,
          width: '200' %>
        <%= search_field_tag 'other_identifier[identifier]', (params[:other_identifier][:identifier] rescue nil) %>
      </td>
    </tr>
  <%- end -%>
  <tr>
  <%= render :partial => 'form_classification_field' -%>
  </tr>
  <tr>
    <td><label><%= t('page.number') -%>:</label></td>
    <td>
      <%= advanced_search_label(:edition_display_value) -%>
      <%= search_field_tag 'edition_display_value', params[:edition_display_value], :size => 8 -%>
      <%= advanced_search_label(:volume_number_string) -%>
      <%= search_field_tag 'volume_number_string', params[:volume_number_string], :size => 8 -%>
      <%= advanced_search_label(:issue_number_string) -%>
      <%= search_field_tag 'issue_number_string', params[:issue_number_string], :size => 8 -%>
      <%= advanced_search_label(:serial_number_string) -%>
      <%= search_field_tag 'serial_number_string', params[:serial_number_string], :size => 8 -%>
    </td>
  </tr>
  <tr class="nacsis-only">
    <td><label><%= advanced_search_label(:ncid) -%>:</label></td>
    <td><%= search_field_tag 'ncid', params[:ncid] -%>
  </tr>
  <% if current_user.try(:has_role?, 'Librarian') || SystemConfiguration.get("attributes.search.user.item.item_identifier") %>
    <tr class="local-only">
      <td><label><%= advanced_search_label(:item_identifier) -%>:</label></td>
      <td><%= search_field_tag 'item_identifier', params[:item_identifier] -%></td>
    </tr>
  <% end %>
  <% if current_user.try(:has_role?, 'Librarian') || SystemConfiguration.get("attributes.search.user.item.call_number") %>
    <tr class="local-only">
      <td><label><%= advanced_search_label(:call_number) -%>:</label></td>
      <td><%= search_field_tag 'call_number', params[:call_number] -%></td>
    </tr>
  <%- end -%>
  <% if current_user.try(:has_role?, 'Librarian') || SystemConfiguration.get("attributes.search.user.manifestation.identifier") %>
    <tr class="local-only">
      <td><label><%= advanced_search_label(:identifier) -%>:</label></td>
      <td><%= search_field_tag 'identifier', params[:identifier] -%></td>
    </tr>
  <% end %>
  <tr class="local-only">
    <td><label><%= advanced_search_label(:pub_date) -%>:</label></td>
    <td><%= t('advanced_search.from') -%> <%= search_field_tag 'pub_date_from', params[:pub_date_from], :class => 'wide_date_text_field', :placeholder => "#{t('page.example')}: 1978, 1978-04-12" -%>
      <%= t('advanced_search.to') -%> <%= search_field_tag 'pub_date_to', params[:pub_date_to], :class => 'wide_date_text_field', :placeholder => "#{t('page.example')}: 2011, 2011-04-12"-%></td>
  </tr>
  <tr class="local-only">
    <td><label><%= advanced_search_label(:acquired) -%>:</label></td>
    <td><%= t('advanced_search.from') -%> <%= search_field_tag 'acquired_from', params[:acquired_from], :class => 'wide_date_text_field', :placeholder => "#{t('page.example')}: 2005, 2005-04-01" -%>
      <%= t('advanced_search.to') -%> <%= search_field_tag 'acquired_to', params[:acquired_to], :class => 'wide_date_text_field', :placeholder => "#{t('page.example')}: 2011, 2011-03-31"-%></td>
  </tr>
  <% if current_user.try(:has_role?, 'Librarian') || SystemConfiguration.get("attributes.search.user.item.removed_at") %>
  <%# if user_signed_in? and current_user.has_role?('Librarian') %>
    <tr class="local-only">
      <td><label><%= advanced_search_label(:removed) %>:</label></td>
      <td>
        <%= t('advanced_search.from') %>
        <%= search_field_tag 'removed_from', params[:removed_from], :class => 'wide_date_text_field', :placeholder => "#{t('page.example')}: 2005, 2005-04-01" %>
        <%= t('advanced_search.to') %>
        <%= search_field_tag 'removed_to', params[:removed_to], :class => 'wide_date_text_field', :placeholder => "#{t('page.example')}: 2011, 2011-03-31" %>
      </td>
    </tr>
  <% end %>
  <% if false %>
    <tr>
      <td><label><%= advanced_search_label(:number_of_pages) -%>:</label></td>
        <td><%= t('advanced_search.from') -%> <%= search_field_tag 'number_of_pages_at_least', params[:number_of_pages_at_least], :size => 5 -%>
          <%= t('advanced_search.to') -%> <%= search_field_tag 'number_of_pages_at_most', params[:number_of_pages_at_most], :size => 5 -%></td>
    </tr>
  <% end %>
  <tr class="local-only">
    <td><label><%= advanced_search_label(:manifestation_types) -%>:</label></td>
    <td><div class='parent'>
      <% if selected_manifestation_types %>
        <%= check_box_tag 'all_manifestation_types', true, selected_manifestation_types.size == manifestation_types.size ? true : false, :class => 'check-parent' %><%= t('advanced_search.all', :model => t('activerecord.models.manifestation_type')) %><br />
      <% end %>
      <% manifestation_types.each_with_index do |manifestation_type, i| %>
        <% if params[:manifestation_types] %>
          <% manifestation_types = params[:manifestation_types] %>
          <%= check_box 'manifestation_types', manifestation_type.id, {:checked => manifestation_types.has_key?(manifestation_type.id.to_s), :class => 'check-child'}, true, false %>
          <%= manifestation_type.display_name.localize -%>
          <%- if [5,9].include?(i) %><br /><%- end -%>
        <% end %>
      <% end %>
    </div></td>
  </tr>
  <tr class="nacsis-only">
    <td><label><%= advanced_search_label(:manifestation_types) -%>:</label></td>
    <td><%= check_box_tag 'manifestation_type[]', :book, true -%><%= t('page.nacsis_book') -%>
        <%= check_box_tag 'manifestation_type[]', :serial, true -%><%= t('page.nacsis_serial') -%></td>
  </tr>
  <% unless SystemConfiguration.get("manifestation.show_all") %>
  <% if user_signed_in? and current_user.has_role?('Librarian') %>
    <tr class="local-only">
      <td></td>
      <td>
        <%= check_box_tag 'all_manifestations', true, params[:all_manifestations].present? %>
        <%= t('advanced_search.all_manifestations') %>
      </td>
    </tr>
  <% end %>
  <% end %>
  <!--
  <tr>
    <td><label><%= t('page.holding_library') -%>:</label></td>
    <td>
      <select id="library_top" name="library">
        <option value=""><%= t('advanced_search.all_libraries') -%></option>
        <%- @libraries.each do |library| -%>
          <option value="<%= library.name -%>"><%= library.display_name.localize -%></option>
        <%- end -%>
      </select>
    </td>
  </tr>
  -->
  <tr>
    <td></td>
    <td>
      <%= hidden_field_tag 'advanced_search', 'true' -%>
      <%= hidden_field_tag 'user_id', params[:user_id] if params[:user_id] -%>
      <%= hidden_field_tag 'series_statement_id', params[:series_statement_id] if params[:series_statement_id] %>
      <%= submit_tag t('page.search') -%>
      <%= button_to_function t('advanced_search.clear_query'), "clear_all()" %>
    </td>
  </tr>
</table>