using brewery name in refernce to the beer
git-svn-id: http://svn.barleysodas.com/barleysodas/trunk@148 0f7b21a7-9e3a-4941-bbeb-ce5c7c368fa7master
parent
bdbe5cb319
commit
2003fe1d52
|
@ -9,8 +9,10 @@ class BeersController < ApplicationController
|
||||||
format.html do
|
format.html do
|
||||||
@content_title = 'The Beers'
|
@content_title = 'The Beers'
|
||||||
@secondary_title = 'Browsing all beers'
|
@secondary_title = 'Browsing all beers'
|
||||||
@pages, @beers = paginate :beers, :include => 'page', :per_page => per_page,
|
@pages, @beers = paginate :beers, :include => [ 'page', 'brewery' ],
|
||||||
:order => 'beers.title ASC'
|
:order => 'breweries.title ASC, beers.title ASC',
|
||||||
|
:per_page => per_page
|
||||||
|
@breweries = @beers.collect { |b| b.brewery }.uniq
|
||||||
flash.now[:notice] = 'There are no beers yet.' if @beers.empty?
|
flash.now[:notice] = 'There are no beers yet.' if @beers.empty?
|
||||||
@tags = Page.tags(:limit => 25, :order => "name DESC",
|
@tags = Page.tags(:limit => 25, :order => "name DESC",
|
||||||
:owner_type => 'Beer')
|
:owner_type => 'Beer')
|
||||||
|
|
|
@ -49,11 +49,16 @@ class TagImagesController < ApplicationController
|
||||||
@results = {}
|
@results = {}
|
||||||
cond_ary = [ 'title ILIKE :title' ]
|
cond_ary = [ 'title ILIKE :title' ]
|
||||||
cond_var = { :title => "%#{params[:name]}%" }
|
cond_var = { :title => "%#{params[:name]}%" }
|
||||||
|
limit = 50
|
||||||
TagImage.types_for_select.flatten.each do |ctype|
|
TagImage.types_for_select.flatten.each do |ctype|
|
||||||
|
next if ctype == 'Beer'
|
||||||
klass = Class.class_eval(ctype)
|
klass = Class.class_eval(ctype)
|
||||||
@results[ctype] = klass.find :all, :order => 'title ASC',
|
@results[ctype] = klass.find :all, :order => 'title ASC',
|
||||||
:conditions => [ cond_ary.join(' AND '), cond_var ]
|
:conditions => [ cond_ary.join(' AND '), cond_var ], :limit => limit
|
||||||
end
|
end
|
||||||
|
@results['Beer'] = Beer.find :all, :include => [ 'brewery' ],
|
||||||
|
:order => 'breweries.title ASC, beers.title ASC', :limit => limit,
|
||||||
|
:conditions => [ 'beers.title ILIKE :title OR breweries.title ILIKE :title', cond_var ]
|
||||||
render :partial => 'taggable_results'
|
render :partial => 'taggable_results'
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
module BeersHelper
|
module BeersHelper
|
||||||
|
include BreweriesHelper
|
||||||
|
|
||||||
def new_beer_link
|
def new_beer_link
|
||||||
link_to 'New Beer', new_beer_path, { :title => 'Create a new beer' }
|
link_to 'New Beer', new_beer_path, { :title => 'Create a new beer' }
|
||||||
end
|
end
|
||||||
|
|
|
@ -10,6 +10,10 @@ class Beer < ActiveRecord::Base
|
||||||
has_many :experiences, :dependent => :destroy
|
has_many :experiences, :dependent => :destroy
|
||||||
has_many :people, :through => :experiences
|
has_many :people, :through => :experiences
|
||||||
|
|
||||||
|
def name
|
||||||
|
"#{self.brewery.title} :: #{self.title}"
|
||||||
|
end
|
||||||
|
|
||||||
##
|
##
|
||||||
# Returns a list of attributes for the Page partial.
|
# Returns a list of attributes for the Page partial.
|
||||||
#
|
#
|
||||||
|
|
|
@ -1,6 +1,9 @@
|
||||||
|
<% for brewery in @breweries -%>
|
||||||
|
<h4><%= show_brewery_link(brewery) -%></h4>
|
||||||
<ul>
|
<ul>
|
||||||
<% for beer in @beers %><li><%= link_to beer.title, beer_path(beer.page.title_for_url) %></li><% end %>
|
<% for beer in @beers.select { |b| b.brewery_id == brewery.id } -%><li><%= show_beer_link(beer) -%></li><% end %>
|
||||||
</ul>
|
</ul>
|
||||||
|
<% end -%>
|
||||||
|
|
||||||
<%= render :partial => 'shared/pagination_links' %>
|
<%= render :partial => 'shared/pagination_links' %>
|
||||||
|
|
||||||
|
|
|
@ -3,8 +3,8 @@
|
||||||
<% if @tag_images.empty? -%>
|
<% if @tag_images.empty? -%>
|
||||||
None.
|
None.
|
||||||
<% elsif (read_only ||= false) -%>
|
<% elsif (read_only ||= false) -%>
|
||||||
<%= @tag_images.collect { |t| "<span onmouseover=\"show_tag_at(#{t.x}, #{t.y})\" onmouseout=\"hide_tag_box()\">#{t.tagged.title} (<em>#{t.tagged_type}</em>)</span>" }.join(', ') %>
|
<%= @tag_images.collect { |t| "<span onmouseover=\"show_tag_at(#{t.x}, #{t.y})\" onmouseout=\"hide_tag_box()\">#{(t.tagged.respond_to?(:name) ? t.tagged.name : t.tagged.title)} (<em>#{t.tagged_type}</em>)</span>" }.join(', ') %>
|
||||||
<% else -%>
|
<% else -%>
|
||||||
<%= @tag_images.collect { |t| "<span onmouseover=\"show_tag_at(#{t.x}, #{t.y})\" onmouseout=\"hide_tag_box()\">#{t.tagged.title} (<em>#{t.tagged_type}</em> | #{link_to_remote('Remove', :url => tag_image_path(t), :update => 'tag_images', :method => :delete)})</span>" }.join(', ') -%>
|
<%= @tag_images.collect { |t| "<span onmouseover=\"show_tag_at(#{t.x}, #{t.y})\" onmouseout=\"hide_tag_box()\">#{(t.tagged.respond_to?(:name) ? t.tagged.name : t.tagged.title)} (<em>#{t.tagged_type}</em> | #{link_to_remote('Remove', :url => tag_image_path(t), :update => 'tag_images', :method => :delete)})</span>" }.join(', ') -%>
|
||||||
<% end -%>
|
<% end -%>
|
||||||
</p>
|
</p>
|
|
@ -2,7 +2,7 @@
|
||||||
<% next if @results[ctype].empty? -%>
|
<% next if @results[ctype].empty? -%>
|
||||||
<h3><%= ctype.pluralize -%></h3>
|
<h3><%= ctype.pluralize -%></h3>
|
||||||
<p>
|
<p>
|
||||||
<%= @results[ctype].collect { |r| link_to_function(r.title, "set_taggable_item(#{r.id}, '#{r.title}', '#{ctype}');") }.join(', ') %>
|
<%= @results[ctype].collect { |r| link_to_function((r.respond_to?(:name) ? r.name : r.title), "set_taggable_item(#{r.id}, '#{(r.respond_to?(:name) ? r.name : r.title)}', '#{ctype}');") }.join(', ') %>
|
||||||
</p>
|
</p>
|
||||||
<% end -%>
|
<% end -%>
|
||||||
<% unless @results.detect { |key, val| !val.empty? } -%>
|
<% unless @results.detect { |key, val| !val.empty? } -%>
|
||||||
|
|
Reference in New Issue