Commit d8556255ecac57dba7870a2dabcf4c2c032804a8
1 parent
0e71f121
Exists in
master
and in
11 other branches
Set locations for a proposal
Showing
4 changed files
with
22 additions
and
0 deletions
Show diff stats
lib/proposals_discussion_plugin/proposal.rb
| @@ -5,6 +5,8 @@ class ProposalsDiscussionPlugin::Proposal < TinyMceArticle | @@ -5,6 +5,8 @@ class ProposalsDiscussionPlugin::Proposal < TinyMceArticle | ||
| 5 | 5 | ||
| 6 | belongs_to :topic, :foreign_key => :parent_id, :class_name => 'ProposalsDiscussionPlugin::Topic' | 6 | belongs_to :topic, :foreign_key => :parent_id, :class_name => 'ProposalsDiscussionPlugin::Topic' |
| 7 | 7 | ||
| 8 | + has_many :locations, :class_name => 'Region', :through => :article_categorizations, :source => :category | ||
| 9 | + | ||
| 8 | def self.short_description | 10 | def self.short_description |
| 9 | _("Proposal") | 11 | _("Proposal") |
| 10 | end | 12 | end |
public/style.css
| @@ -40,6 +40,12 @@ | @@ -40,6 +40,12 @@ | ||
| 40 | float: left; | 40 | float: left; |
| 41 | clear: both; | 41 | clear: both; |
| 42 | } | 42 | } |
| 43 | +.proposals_list .proposal .locations { | ||
| 44 | + float: right; | ||
| 45 | + clear: both; | ||
| 46 | + color: rgb(155, 155, 155); | ||
| 47 | + font-weight: bold; | ||
| 48 | +} | ||
| 43 | .proposal .author { | 49 | .proposal .author { |
| 44 | display: table-cell; | 50 | display: table-cell; |
| 45 | font-size: 10px; | 51 | font-size: 10px; |
test/unit/proposal_test.rb
| @@ -117,4 +117,11 @@ class ProposalTest < ActiveSupport::TestCase | @@ -117,4 +117,11 @@ class ProposalTest < ActiveSupport::TestCase | ||
| 117 | assert !proposal.allow_vote? | 117 | assert !proposal.allow_vote? |
| 118 | end | 118 | end |
| 119 | 119 | ||
| 120 | + should 'set a proposal location' do | ||
| 121 | + location = fast_create(Region) | ||
| 122 | + proposal.save! | ||
| 123 | + proposal.add_category(location) | ||
| 124 | + assert_equal [location], proposal.locations | ||
| 125 | + end | ||
| 126 | + | ||
| 120 | end | 127 | end |
views/content_viewer/_proposal_card.html.erb
| @@ -27,6 +27,13 @@ | @@ -27,6 +27,13 @@ | ||
| 27 | <span title="<%= normalized_score %>" style="background-position-y: -<%= pos %>px"> </span> | 27 | <span title="<%= normalized_score %>" style="background-position-y: -<%= pos %>px"> </span> |
| 28 | <% end %> | 28 | <% end %> |
| 29 | </div> | 29 | </div> |
| 30 | + <% if proposal_card.locations.present? %> | ||
| 31 | + <div class="locations"> | ||
| 32 | + <% proposal_card.locations.each do |location| %> | ||
| 33 | + <span class="location"><%= location.name %></span> | ||
| 34 | + <% end %> | ||
| 35 | + </div> | ||
| 36 | + <% end %> | ||
| 30 | <% if !proposal_card.tags.empty? %> | 37 | <% if !proposal_card.tags.empty? %> |
| 31 | <div class="tags" id="article-tags"> | 38 | <div class="tags" id="article-tags"> |
| 32 | <%= proposal_card.tags.map { |t| link_to(t, :controller => 'profile', :profile => @profile.identifier, :action => 'tags', :id => t.name ) }.join("\n") %> | 39 | <%= proposal_card.tags.map { |t| link_to(t, :controller => 'profile', :profile => @profile.identifier, :action => 'tags', :id => t.name ) }.join("\n") %> |