diff --git a/app/controllers/tmdb_controller.rb b/app/controllers/tmdb_controller.rb index d305900f..c53b0db5 100644 --- a/app/controllers/tmdb_controller.rb +++ b/app/controllers/tmdb_controller.rb @@ -77,20 +77,17 @@ def actor_search def two_actor_search if params[:actor] && params[:actor2] - @actor = I18n.transliterate(params[:actor]) - @actor2 = I18n.transliterate(params[:actor2]) - if params[:page] - @page = params[:page] - else - @page = 1 + params[:actor] = I18n.transliterate(params[:actor]) + params[:actor2] = I18n.transliterate(params[:actor2]) + if !params[:page].present? + params[:page] = 1 end - if params[:sort_by].present? - @sort_by = params[:sort_by] - else - @sort_by = "popularity" + if !params[:sort_by].present? + params[:sort_by] = "popularity" end + # binding.pry # tmdb_handler_two_actor_search(@name_one, @name_two) - tmdb_handler_discover_search(nil, nil, nil, nil, @actor, @actor2, nil, nil, @sort_by, @page) + tmdb_handler_discover_search(params) end end @@ -135,14 +132,19 @@ def director_search end def discover_search - #format date/year hash passed in params - params[:date].present? ? params[:year] = params[:date][:year] : params[:year] = nil + puts "params: #{params}" + #format date/year hash passed in params. otherwise year is passed directly on paginated pages + params[:year] = params[:date][:year] if params[:date].present? @cleaned_params = params.slice(:sort_by, :year, :genre, :actor, :actor2, :company, :mpaa_rating, :year_select, :page) + puts "cleaned params: #{@cleaned_params}" + @passed_params = @cleaned_params.select{ |k, v| v.present?} + puts "passed params: #{@passed_params}" + if @passed_params.any? parse_params(@passed_params) #module to help parse diff --git a/app/views/tmdb/discover_search.html.erb b/app/views/tmdb/discover_search.html.erb index 66be9f14..8797e765 100644 --- a/app/views/tmdb/discover_search.html.erb +++ b/app/views/tmdb/discover_search.html.erb @@ -2,7 +2,7 @@

Advanced Search

-<% if !@movies.present? %> +<% if !@movies.present? && !@not_found.present? %>

All fields are optional. Search by whatever you want.

diff --git a/app/views/tmdb/two_actor_search.html.erb b/app/views/tmdb/two_actor_search.html.erb index eb376e9d..ab740ddf 100644 --- a/app/views/tmdb/two_actor_search.html.erb +++ b/app/views/tmdb/two_actor_search.html.erb @@ -3,7 +3,7 @@

Find Common Movies Between 2 Actors

-<% if !@actor.present? && !@actor2.present? %> +<% if !@actor.present? && !@actor2.present? && !@not_found.present? %>

Enter two actors and see the movies they've been in together.

@@ -13,38 +13,35 @@ <%= submit_tag "Search", id: "search_button_two_actor_search", class: "form-control-submit search-form-submit" %> <% end %> -<% else %> - - <% if @not_found.present? %> -

Hmm. <%= @not_found %>

-

Check your spelling and try again.

-

<%= link_to "Search Again", two_actor_search_path %>

+<% elsif @not_found.present? %> - <% else %> -

<%= "Those two actors have been in #{@movies.size} movies together:" %>

-
+

Hmm. <%= @not_found %>

+

Check your spelling and try again.

+

<%= link_to "Search Again", two_actor_search_path %>

-
- <%= render partial: 'movies/movie_partial_loop', object: @movies %> -
+<% else %> +

<%= "Those two actors have been in #{@movies.size} movies together:" %>

+
-
-

<%= link_to "Search Again", two_actor_search_path, id: "two_actor_search_again_link" %>

-
+
+ <%= render partial: 'movies/movie_partial_loop', object: @movies %> +
- <%= "Page #{@page} of #{@total_pages}" %>
+
+

<%= link_to "Search Again", two_actor_search_path, id: "two_actor_search_again_link" %>

+
- <% if @previous_page.present? %> - <%= link_to "Previous page", actor_search_path(actor: I18n.transliterate("#{@actor}"), page: "#{@previous_page}") %>
- <% end %> + <%= "Page #{@page} of #{@total_pages}" %>
- <% if @next_page.present? %> - <%= link_to "Next page", actor_search_path(actor: I18n.transliterate("#{@actor}"), page: "#{@next_page}") %> - <% end %> + <% if @previous_page.present? %> + <%= link_to "Previous page", actor_search_path(actor: I18n.transliterate("#{@actor}"), page: "#{@previous_page}") %>
+ <% end %> - <% end %> + <% if @next_page.present? %> + <%= link_to "Next page", actor_search_path(actor: I18n.transliterate("#{@actor}"), page: "#{@next_page}") %> + <% end %> -<% end %> +<% end %>
diff --git a/lib/tmdb_handler.rb b/lib/tmdb_handler.rb index e874462e..30f59558 100644 --- a/lib/tmdb_handler.rb +++ b/lib/tmdb_handler.rb @@ -187,13 +187,21 @@ def tmdb_handler_discover_search(params) if @actor.present? @actor1_url = "https://api.themoviedb.org/3/search/person?query=#{@actor}&api_key=#{ENV['tmdb_api_key']}" @actor1_search_result = JSON.parse(open(@actor1_url).read, symbolize_names: true)[:results] - @actor1_search_result.present? ? @actor1_id = @actor1_search_result.first[:id] : @not_found = "No results for '#{actor}'." + if !@actor1_search_result.present? + return @not_found = "No results for '#{actor}'." + else + @actor1_id = @actor1_search_result.first[:id] + end end if @actor2.present? @actor2_url = "https://api.themoviedb.org/3/search/person?query=#{@actor2}&api_key=#{ENV['tmdb_api_key']}" @actor2_search_result = JSON.parse(open(@actor2_url).read, symbolize_names: true)[:results] - @actor2_search_result.present? ? @actor2_id = @actor2_search_result.first[:id] : @not_found = "No results for '#{actor2}'." + if !@actor2_search_result.present? + return @not_found = "No results for '#{actor2}'." + else + @actor2_id = @actor2_search_result.first[:id] + end end if @actor1_id.present? && @actor2_id.present?