LafayetteCollegeLibraries/spot

View on GitHub
app/views/hyrax/base/_form_visibility_component.html.erb

Summary

Maintainability
Test Coverage
<%# controls the display of visibility on the base hyrax form %>
<% if f.object.embargo_release_date %>
  <%= render 'form_permission_under_embargo', f: f %>
<% elsif f.object.lease_expiration_date %>
  <%= render 'form_permission_under_lease', f: f %>
<% else %>
    <fieldset>
      <legend class="legend-save-work">Visibility</legend>
      <ul class="visibility">
        <li class="radio">
          <label>
            <%= f.radio_button :visibility, Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_PUBLIC, data: { 'target': '#collapsePublic' } %>
            <%= visibility_badge(Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_PUBLIC) %>
            <br />
            <%= t('hyrax.visibility.open.note_html', type: f.object.human_readable_type) %>
            <div class="collapse" id="collapsePublic">
              <%= t('hyrax.visibility.open.warning_html', label: visibility_badge(Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_PUBLIC)) %>
            </div>
          </label>
        </li>
        <li class="radio">
          <label>
            <%= f.radio_button :visibility, Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_AUTHENTICATED %>
            <%= visibility_badge(Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_AUTHENTICATED) %>
            <br />
            <%= t('hyrax.visibility.authenticated.note_html', institution: institution_name) %>
          </label>
        </li>
        <li class="radio">
          <label>
            <%= f.radio_button :visibility, Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_EMBARGO, data: { 'target': '#collapseEmbargo' } %>
            <%= visibility_badge(Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_EMBARGO) %>
            <br />
            <%= t('hyrax.visibility.embargo.note_html') %>
            <div class="collapse" id="collapseEmbargo">
              <div class="form-inline">
                <%= f.input :visibility_during_embargo, wrapper: :inline, collection: visibility_options(:restrict), include_blank: false %>
                <%= t('hyrax.works.form.visibility_until') %>
                <%= f.date_field :embargo_release_date, wrapper: :inline, value: f.object.embargo_release_date || Date.tomorrow, class: 'datepicker form-control', min: Date.today %>
                <%= f.input :visibility_after_embargo, wrapper: :inline, collection: visibility_options(:loosen), include_blank: false %>
              </div>
            </div>
          </label>
        </li>
        <li class="radio">
          <label>
            <%= f.radio_button :visibility, Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_LEASE, data: { 'target': '#collapseLease' } %>
            <%= visibility_badge(Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_LEASE) %>
            <br />
            <%= t('hyrax.visibility.lease.note_html') %>
            <div class="collapse" id="collapseLease">
              <div class="form-inline">
                <%= f.input :visibility_during_lease, wrapper: :inline, collection: visibility_options(:loosen), include_blank: false %>
                <%= t('hyrax.works.form.visibility_until') %>
                <%= f.date_field :lease_expiration_date, wrapper: :inline, value: f.object.lease_expiration_date || Date.tomorrow, class: 'datepicker form-control', min: Date.tomorrow %>
                <%= f.input :visibility_after_lease, wrapper: :inline, collection: visibility_options(:restrict), include_blank: false %>
              </div>
            </div>
          </label>
        </li>
        <li class="radio">
          <label>
            <%= f.radio_button :visibility, 'metadata' %>
            <%= visibility_badge('metadata') %>
            <br />
            <%= t('hyrax.visibility.metadata.note_html') %>
          </label>
        </li>
        <li class="radio">
          <label>
            <%= f.radio_button :visibility, Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_PRIVATE %>
            <%= visibility_badge(Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_PRIVATE) %>
            <br />
            <%= t('hyrax.visibility.restricted.note_html') %>
          </label>
        </li>
      </ul>
    </fieldset>
<% end %>