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 18 end
19 19  
20 20 def to_html(options = {})
  21 + discussion = self
21 22 proc do
22   - render :file => 'content_viewer/discussion'
  23 + render :file => 'content_viewer/discussion', :locals => {:discussion => discussion}
23 24 end
24 25 end
25 26  
... ...
lib/proposals_discussion_plugin/proposal.rb
... ... @@ -17,9 +17,10 @@ class ProposalsDiscussionPlugin::Proposal < TinyMceArticle
17 17  
18 18  
19 19 def to_html(options = {})
  20 + proposal = self
20 21 unless options[:feed]
21 22 proc do
22   - render :file => 'content_viewer/proposal'
  23 + render :file => 'content_viewer/proposal', :locals => {:proposal => proposal}
23 24 end
24 25 else
25 26 body
... ...
lib/proposals_discussion_plugin/topic.rb
... ... @@ -23,8 +23,9 @@ class ProposalsDiscussionPlugin::Topic < Folder
23 23 end
24 24  
25 25 def to_html(options = {})
  26 + topic = self
26 27 proc do
27   - render :file => 'content_viewer/topic', :locals => {:topic => @page}
  28 + render :file => 'content_viewer/topic', :locals => {:topic => topic}
28 29 end
29 30 end
30 31  
... ...
test/functional/proposals_discussion_plugin_public_controller_test.rb
... ... @@ -50,17 +50,14 @@ class ProposalsDiscussionPluginPublicControllerTest < ActionController::TestCase
50 50 end
51 51  
52 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 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 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 61 end
65 62  
66 63 should 'load proposals with most recently commented order' do
... ...
views/content_viewer/discussion.html.erb
1 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 5 <div class="description">
6   - <%= @page.body %>
  6 + <%= discussion.body %>
7 7 </div>
8 8  
9   -<% if @page.allow_create?(user) %>
  9 +<% if discussion.allow_create?(user) %>
10 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 12 <strong><%= _("New Topic") %></strong>
13 13 <% end %>
14 14 </div>
... ... @@ -17,11 +17,11 @@
17 17 <div class="topics js-masonry" data-masonry-options='{ "itemSelector": ".topic-item", "columnWidth": 200 }'>
18 18 <div class="actions topic-item">
19 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 21 <strong><%= _("Send your proposal!") %></strong>
22 22 <% end %>
23 23 </div>
24   - <% @page.topics.includes(:profile).each do |topic| %>
  24 + <% discussion.topics.includes(:profile).each do |topic| %>
25 25 <div class="topic-item" id="topic-<%= topic.id %>">
26 26 <%= render :file => 'content_viewer/topic', :locals => {:topic => topic, :list_view => true} %>
27 27 </div>
... ...
views/content_viewer/proposal.html.erb
1 1 <div class="discussion">
2   - <h5><%= @page.topic.discussion.title %> </h5>
  2 + <h5><%= proposal.topic.discussion.title %> </h5>
3 3 </div>
4 4  
5 5 <% extend ProposalsDiscussionPlugin::TopicHelper %>
6 6  
7 7 <div class="topic">
8   - <%= topic_title @page.topic %>
  8 + <%= topic_title proposal.topic %>
9 9 </div>
10 10  
11 11 <div class="title">
12 12 <h5><%= _('Title') %></h4>
13   - <div class="content"><%= @page.title %></div>
  13 + <div class="content"><%= proposal.title %></div>
14 14 </div>
15 15  
16 16 <div class="abstract">
17 17 <h5><%= _('Abstract') %></h4>
18   - <div class="content"><%= @page.abstract %></div>
  18 + <div class="content"><%= proposal.abstract %></div>
19 19 </div>
20 20  
21 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 24 </div>
25 25  
26   -<% if @page.created_by == user && !@page.published %>
  26 +<% if proposal.created_by == user && !proposal.published %>
27 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 29 <strong><%= _("Publish") %></strong>
30 30 <% end %>
31 31 </div>
... ...