Commit 9ea140875bd255ceae53fbab000af568490473f6

Authored by Victor Costa
1 parent c2da9657

proposals_discussion: small fixes

lib/proposals_discussion_plugin/discussion.rb
@@ -18,8 +18,9 @@ class ProposalsDiscussionPlugin::Discussion < Folder @@ -18,8 +18,9 @@ class ProposalsDiscussionPlugin::Discussion < Folder
18 end 18 end
19 19
20 def to_html(options = {}) 20 def to_html(options = {})
  21 + discussion = self
21 proc do 22 proc do
22 - render :file => 'content_viewer/discussion' 23 + render :file => 'content_viewer/discussion', :locals => {:discussion => discussion}
23 end 24 end
24 end 25 end
25 26
lib/proposals_discussion_plugin/proposal.rb
@@ -17,9 +17,10 @@ class ProposalsDiscussionPlugin::Proposal < TinyMceArticle @@ -17,9 +17,10 @@ class ProposalsDiscussionPlugin::Proposal < TinyMceArticle
17 17
18 18
19 def to_html(options = {}) 19 def to_html(options = {})
  20 + proposal = self
20 unless options[:feed] 21 unless options[:feed]
21 proc do 22 proc do
22 - render :file => 'content_viewer/proposal' 23 + render :file => 'content_viewer/proposal', :locals => {:proposal => proposal}
23 end 24 end
24 else 25 else
25 body 26 body
lib/proposals_discussion_plugin/topic.rb
@@ -23,8 +23,9 @@ class ProposalsDiscussionPlugin::Topic < Folder @@ -23,8 +23,9 @@ class ProposalsDiscussionPlugin::Topic < Folder
23 end 23 end
24 24
25 def to_html(options = {}) 25 def to_html(options = {})
  26 + topic = self
26 proc do 27 proc do
27 - render :file => 'content_viewer/topic', :locals => {:topic => @page} 28 + render :file => 'content_viewer/topic', :locals => {:topic => topic}
28 end 29 end
29 end 30 end
30 31
test/functional/proposals_discussion_plugin_public_controller_test.rb
@@ -50,17 +50,14 @@ class ProposalsDiscussionPluginPublicControllerTest < ActionController::TestCase @@ -50,17 +50,14 @@ class ProposalsDiscussionPluginPublicControllerTest < ActionController::TestCase
50 end 50 end
51 51
52 should 'load proposals with most recent order' do 52 should 'load proposals with most recent order' do
53 - proposal1 = fast_create(ProposalsDiscussionPlugin::Proposal, :name => 'z', :abstract => 'proposal abstract', :profile_id => profile.id, :parent_id => topic.id)  
54 - proposal2 = fast_create(ProposalsDiscussionPlugin::Proposal, :name => 'b', :abstract => 'proposal abstract', :profile_id => profile.id, :parent_id => topic.id)  
55 - proposal3 = fast_create(ProposalsDiscussionPlugin::Proposal, :name => 'k', :abstract => 'proposal abstract', :profile_id => profile.id, :parent_id => topic.id) 53 + proposal1 = fast_create(ProposalsDiscussionPlugin::Proposal, :name => 'z', :abstract => 'proposal abstract', :profile_id => profile.id, :parent_id => topic.id, :created_at => Date.today - 2.day)
  54 + proposal2 = fast_create(ProposalsDiscussionPlugin::Proposal, :name => 'b', :abstract => 'proposal abstract', :profile_id => profile.id, :parent_id => topic.id, :created_at => Date.today - 1.day)
  55 + proposal3 = fast_create(ProposalsDiscussionPlugin::Proposal, :name => 'k', :abstract => 'proposal abstract', :profile_id => profile.id, :parent_id => topic.id, :created_at => Date.today)
56 56
57 author = fast_create(Person) 57 author = fast_create(Person)
58 - Comment.create!(:source => proposal2, :body => 'text', :author => author)  
59 - Comment.create!(:source => proposal2, :body => 'text', :author => author)  
60 - Comment.create!(:source => proposal3, :body => 'text', :author => author)  
61 58
62 get :load_proposals, :profile => profile.identifier, :holder_id => topic.id, :order => 'recent' 59 get :load_proposals, :profile => profile.identifier, :holder_id => topic.id, :order => 'recent'
63 - assert_equal [proposal3, proposal2, proposal1], assigns(:proposals) 60 + assert_equal [proposal3, proposal2, proposal1].map(&:name), assigns(:proposals).map(&:name)
64 end 61 end
65 62
66 should 'load proposals with most recently commented order' do 63 should 'load proposals with most recently commented order' do
views/content_viewer/discussion.html.erb
1 <%= javascript_include_tag 'plugins/proposals_discussion/proposals_list.js' %> 1 <%= javascript_include_tag 'plugins/proposals_discussion/proposals_list.js' %>
2 2
3 -<%= add_rss_feed_to_head(@page.name, @page.feed.url) if @page.feed %> 3 +<%= add_rss_feed_to_head(discussion.name, discussion.feed.url) if discussion.feed %>
4 4
5 <div class="description"> 5 <div class="description">
6 - <%= @page.body %> 6 + <%= discussion.body %>
7 </div> 7 </div>
8 8
9 -<% if @page.allow_create?(user) %> 9 +<% if discussion.allow_create?(user) %>
10 <div class="actions"> 10 <div class="actions">
11 - <%= link_to url_for({:controller => 'cms', :action => 'new', :type => "ProposalsDiscussionPlugin::Topic", :parent_id => @page.id}), :class => 'button with-text icon-add' do %> 11 + <%= link_to url_for({:controller => 'cms', :action => 'new', :type => "ProposalsDiscussionPlugin::Topic", :parent_id => discussion.id}), :class => 'button with-text icon-add' do %>
12 <strong><%= _("New Topic") %></strong> 12 <strong><%= _("New Topic") %></strong>
13 <% end %> 13 <% end %>
14 </div> 14 </div>
@@ -17,11 +17,11 @@ @@ -17,11 +17,11 @@
17 <div class="topics js-masonry" data-masonry-options='{ "itemSelector": ".topic-item", "columnWidth": 200 }'> 17 <div class="topics js-masonry" data-masonry-options='{ "itemSelector": ".topic-item", "columnWidth": 200 }'>
18 <div class="actions topic-item"> 18 <div class="actions topic-item">
19 <div class="topic-color"></div> 19 <div class="topic-color"></div>
20 - <%= link_to url_for({:controller => 'proposals_discussion_plugin_myprofile', :action => 'select_topic', :parent_id => @page.id}), :class => 'button with-text icon-add' do %> 20 + <%= link_to url_for({:controller => 'proposals_discussion_plugin_myprofile', :action => 'select_topic', :parent_id => discussion.id}), :class => 'button with-text icon-add' do %>
21 <strong><%= _("Send your proposal!") %></strong> 21 <strong><%= _("Send your proposal!") %></strong>
22 <% end %> 22 <% end %>
23 </div> 23 </div>
24 - <% @page.topics.includes(:profile).each do |topic| %> 24 + <% discussion.topics.includes(:profile).each do |topic| %>
25 <div class="topic-item" id="topic-<%= topic.id %>"> 25 <div class="topic-item" id="topic-<%= topic.id %>">
26 <%= render :file => 'content_viewer/topic', :locals => {:topic => topic, :list_view => true} %> 26 <%= render :file => 'content_viewer/topic', :locals => {:topic => topic, :list_view => true} %>
27 </div> 27 </div>
views/content_viewer/proposal.html.erb
1 <div class="discussion"> 1 <div class="discussion">
2 - <h5><%= @page.topic.discussion.title %> </h5> 2 + <h5><%= proposal.topic.discussion.title %> </h5>
3 </div> 3 </div>
4 4
5 <% extend ProposalsDiscussionPlugin::TopicHelper %> 5 <% extend ProposalsDiscussionPlugin::TopicHelper %>
6 6
7 <div class="topic"> 7 <div class="topic">
8 - <%= topic_title @page.topic %> 8 + <%= topic_title proposal.topic %>
9 </div> 9 </div>
10 10
11 <div class="title"> 11 <div class="title">
12 <h5><%= _('Title') %></h4> 12 <h5><%= _('Title') %></h4>
13 - <div class="content"><%= @page.title %></div> 13 + <div class="content"><%= proposal.title %></div>
14 </div> 14 </div>
15 15
16 <div class="abstract"> 16 <div class="abstract">
17 <h5><%= _('Abstract') %></h4> 17 <h5><%= _('Abstract') %></h4>
18 - <div class="content"><%= @page.abstract %></div> 18 + <div class="content"><%= proposal.abstract %></div>
19 </div> 19 </div>
20 20
21 <div class="body"> 21 <div class="body">
22 - <h5><%= @page.topic.discussion.custom_body_label %></h4>  
23 - <div class="content"><%= @page.body %></div> 22 + <h5><%= proposal.topic.discussion.custom_body_label %></h4>
  23 + <div class="content"><%= proposal.body %></div>
24 </div> 24 </div>
25 25
26 -<% if @page.created_by == user && !@page.published %> 26 +<% if proposal.created_by == user && !proposal.published %>
27 <div class="actions"> 27 <div class="actions">
28 - <%= link_to url_for({:controller => 'proposals_discussion_plugin_myprofile', :action => 'publish_proposal', :proposal_id => @page.id}), :class => 'button with-text icon-suggest' do %> 28 + <%= link_to url_for({:controller => 'proposals_discussion_plugin_myprofile', :action => 'publish_proposal', :proposal_id => proposal.id}), :class => 'button with-text icon-suggest' do %>
29 <strong><%= _("Publish") %></strong> 29 <strong><%= _("Publish") %></strong>
30 <% end %> 30 <% end %>
31 </div> 31 </div>