Commit 9ea140875bd255ceae53fbab000af568490473f6
1 parent
c2da9657
Exists in
master
and in
11 other branches
proposals_discussion: small fixes
Showing
6 changed files
with
24 additions
and
24 deletions
Show diff stats
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> |