From bfecbffb97d10c6adc28bfe6f7fb35a51e341334 Mon Sep 17 00:00:00 2001 From: evazion Date: Sat, 5 May 2018 13:54:30 -0500 Subject: [PATCH] post approvals: add to post events page. --- app/models/post_event.rb | 24 +++++++++++++++--- app/views/post_events/index.html.erb | 25 +++++++------------ .../functional/post_events_controller_test.rb | 7 +++--- 3 files changed, 34 insertions(+), 22 deletions(-) diff --git a/app/models/post_event.rb b/app/models/post_event.rb index 8c57bb8ab..26a8cd1af 100644 --- a/app/models/post_event.rb +++ b/app/models/post_event.rb @@ -4,11 +4,11 @@ class PostEvent include ActiveModel::Serializers::Xml attr_accessor :event - delegate :creator, :creator_id, :reason, :is_resolved, :created_at, to: :event + delegate :created_at, to: :event def self.find_for_post(post_id) post = Post.find(post_id) - (post.appeals + post.flags).sort_by(&:created_at).reverse.map { |e| new(event: e) } + (post.appeals + post.flags + post.approvals).sort_by(&:created_at).reverse.map { |e| new(event: e) } end def type_name @@ -17,6 +17,8 @@ class PostEvent "flag" when PostAppeal "appeal" + when PostApproval + "approval" end end @@ -24,9 +26,25 @@ class PostEvent type_name.first end + def reason + event.try(:reason) || "" + end + + def is_resolved + event.try(:is_resolved) || false + end + + def creator_id + event.try(:creator_id) || event.try(:user_id) + end + + def creator + event.try(:creator) || event.try(:user) + end + def is_creator_visible?(user = CurrentUser.user) case event - when PostAppeal + when PostAppeal, PostApproval true when PostFlag flag = event diff --git a/app/views/post_events/index.html.erb b/app/views/post_events/index.html.erb index c04d46fd6..8ea0685d8 100644 --- a/app/views/post_events/index.html.erb +++ b/app/views/post_events/index.html.erb @@ -1,15 +1,14 @@
-

Flags & Appeals

+

Post Events

- +
- - - - - + + + + @@ -22,16 +21,10 @@ <% else %> hidden <% end %> +
<%= time_ago_in_words_tagged event.created_at %> - - - + + <% end %> diff --git a/test/functional/post_events_controller_test.rb b/test/functional/post_events_controller_test.rb index d8805fbff..3bd1cbfa7 100644 --- a/test/functional/post_events_controller_test.rb +++ b/test/functional/post_events_controller_test.rb @@ -9,15 +9,16 @@ class PostEventsControllerTest < ActionDispatch::IntegrationTest as_user do @post = create(:post) - @post_flag = PostFlag.create(:post => @post, :reason => "aaa", :is_resolved => false) - @post_appeal = PostAppeal.create(:post => @post, :reason => "aaa") + @post.flag!("aaa") + @post.appeal!("aaa") + @post.approve!(@mod) end end context "get /posts/:post_id/events" do should "render" do get_auth post_events_path(post_id: @post.id), @user - assert_response :ok + assert_response :ok end should "render for mods" do
TypeCreatorReasonResolved?DateTypeUserDescriptionResolved?
<%= format_text event.reason %> - <% if event.is_resolved %> - yes - <% else %> - no - <% end %> - <%= compact_time event.created_at %><%= format_text event.reason %><%= event.is_resolved %>