roseweixel/lacquer-lover

View on GitHub
app/views/lacquers/show.html.erb

Summary

Maintainability
Test Coverage
<div class="row">
  <div class="well">
      <legend id="top" style="font-size: 2em;">
    <div class="row">
          <div class="col-xs-7" style="vertical-align: bottom; margin-top: 15px;">
          <%= @lacquer.name %> - <%= link_to @lacquer.brand.name, brand_path(@lacquer.brand) %>
      </div>
      <div class="col-xs-5">
      <span class="pull-right" style="font-size: .5em; padding-bottom: 5px;">
        <span class="lacquer-show-favorite" id="favorite-wrapper" lacquer_id = "<%= @lacquer.id %>">
        <%= render partial: 'favorite', locals: {result: @lacquer} %>
        </span><br>
        <% if current_user  %>
          <span class="pull-right" style="width: 100%; text-align: right;">
          <% if current_user.lacquers.include? @lacquer %>
            <% user_lacquer = current_user.user_lacquers.find_by(lacquer: @lacquer) %>
            <%= render 'user_lacquers/remove_button', lacquer: @lacquer, user_lacquer: user_lacquer %>
          <% else %>
            <%= render 'user_lacquers/add_button', lacquer: @lacquer %>
          <% end %>
          </span>
        <% else %>
         <%= link_to "Sign in to favorite & add<br>this lacquer to your collection!".html_safe, "/auth/facebook", class: "btn btn-primary btn-xs pull-right", id: "brand-show-sign-in" %>
        <% end %>
      </span>
      </div>
      </div>
        <% if current_user %>
        <div class="row" style="font-size: 0.5em; line-height: -0.5em; width: 100%; padding: 0; margin: 0; white-space: nowrap;">
          <div>
          <%= @lacquer.users.count %> lacquer <%= 'lover'.pluralize(@lacquer.users.count) %> 
           <%= I18n.t('has', count: @lacquer.users.count) %> this lacquer
          <% if @friends_who_have_this_lacquer.any? || current_user.lacquers.include?(@lacquer) %>
           including <%= ((current_user.lacquers.include?(@lacquer) ? ['<strong>you</strong>'.html_safe] : []) + name_links(@friends_who_have_this_lacquer)).to_sentence.html_safe %>
          <% end %>
          <% if @friends_you_can_borrow_this_lacquer_from_right_now.any? %> | 
            Borrow this lacquer from <%= name_links(@friends_you_can_borrow_this_lacquer_from_right_now).to_sentence(:last_word_connector => ' or ') %> 
          <% end %> 
          | <%= link_to 'buy it', @lacquer.url_for_buy_it_link, target: '_blank'  %>
          </div>
        </div>
        <% end %>
      </legend>

    <div class="row" style="margin-top: 20px;">
        <div class="col-md-12 horizontal-scroll">
        <% if @lacquer.picture && valid?(@lacquer.picture) %>
          <div class="thumbnail list-group" style="display: inline-block; float: left; height: 311px; width: 270px;">
            <div class="col-md-12" style="padding: 10px;">
            </div>
            <a data-toggle="modal" href="#imageModal-0"><%= image_tag @lacquer.picture, style:"height: 255px;" %></a>
            <%= render 'image_modal', id: 0, image: @lacquer.picture %>
          </div>
        <% end %>
        <% if @lacquer.swatches.any? %>
          <% @lacquer.swatches.each.with_index do |swatch, index| %>
            <% if swatch.image.file? %>
                <div class="<%='fl' if index == 0 || index == 1 %> swatch thumbnail list-group" style="display: inline-block; height: 311px;">
                  <div style="padding: 10px;">
                    <a data-toggle="modal" href="#imageModal-<%= index + 1 %>">
                      <%= image_tag(swatch.image.url, style: "height: 220px;") %>
                    </a>
                    <%= render 'image_modal', id: index + 1, image: swatch.image.url %> 
                  </div>
                  <div class="caption col-md-12">
                    <% if current_user && swatch.user %>
                    added by <%= link_to swatch.user.name, user_path(swatch.user) %> on <%= swatch.created_at.strftime("%m/%d/%Y")  %><br>
                    <% end %>
                    <% if swatch.user == current_user %>
                      <%= link_to 'delete this swatch', swatch_path(swatch), method: 'DELETE' %>
                    <% end %>
                  </div>
              </div>
            <% end %>
          <% end %>
        <% end %>
        <% if @lacquer.swatches.count < 5 %>
          <% (5 - @lacquer.swatches.count).times do %>
            <div class="thumbnail list-group" style="display: inline-block; height: 311px;">
              <div style="padding: 10px;">
                <%= image_tag('swatch-placeholder-image.png', height: "220px") %>
              </div>
            </div>
          <% end %>
        <% end %>
      </div>

        <div class="col-sm-3">
        <h3><strong>Color Tags</strong></h3>
        <% if @lacquer.color_tags.count > 0 %>
            <% @lacquer.color_tags.each do |color_tag| %>
                <span style="font-size:20px;">#<%= color_tag %></span>
            <% end %>
        <% else %>
            No color tags yet!
        <% end %>

        <h3><strong>Finish Tags</strong></h3>
        <% if @lacquer.color_tags.count > 0 %>
            <% @lacquer.finish_tags.each do |finish_tag| %>
                <span style="font-size:20px;">#<%= finish_tag %></span>
            <% end %>
        <% else %>
            No finish tags yet!
        <% end %>

        </div>

      <div class="col-sm-9">
        <h3 style="margin-left: 2.5px;">
        <strong>Reviews for <%= @lacquer.name %></strong> 
        <span id="new_review_link_wrapper"> 
          <%= render 'new_review', lacquer: @lacquer %>
        </span>
          <%= link_to "", "#newReviewModal", :style => "display: none;", :id => "hidden-review-modal-link", "data-toggle" => "modal" %>
        <br>
        <% if !@lacquer.reviews.any? %>
          No reviews yet!
        <% else %>
          average rating: <%= @lacquer.average_rating %>/5
        <% end %>
        </h3>
          <div class="masonry-style-row">
          <% @lacquer.reviews.each do |review| %>
            <div class="menu-category panel panel-default">
              <div class="panel-heading">
                <div class="panel-title" style="font-size: 1em;">
                  Rating:
                  <% review.rating.times do %>
                  <i class='fa fa-heart small-red-heart'></i>
                  <% end %>
                  <br>
                  by <%= review.user.name %> on <%= review.created_at.strftime("%m/%d/%Y") %>
                </div>
              </div>
              <div class="panel-body">
                <%= review.comments %>
              </div>
              <% if current_user && current_user == review.user %>
                <div class="delete-review">
                <%= link_to 'delete', review_path(review), method:'delete' %> | 
                <%= link_to 'edit', edit_review_path(review), remote: true %>
                <%= render 'reviews/form_modal', review: review, id: review.id %>
                <%= link_to "", "#newReviewModal#{review.id}", :style => "display: none;", :id => "hidden-review-modal-link-#{review.id}", "data-toggle" => "modal" %>
                </div>
              <% end %>
            </div>
          <% end %>
          </div>
      </div>

    </div>

    <span id="edit_user_lacquer_wrapper">
      <%= render 'edit_user_lacquer', lacquer: @lacquer %>
    </span>

  </div>
</div>
<% if current_user %>
<%= render 'reviews/form_modal', review: @lacquer.reviews.new, id: nil %>
<% end %>