Track events when reopening cards

This commit is contained in:
Jorge Manrubia
2025-06-04 15:25:04 +02:00
parent b790da9617
commit 84fdeb4a5e
5 changed files with 15 additions and 5 deletions
+1 -1
View File
@@ -7,7 +7,7 @@ class Cards::ClosuresController < ApplicationController
end
def destroy
@card.reopen
@card.reopen(user: Current.user)
render_card_replacement
end
end
+4 -2
View File
@@ -2,7 +2,7 @@ module EventsHelper
def event_columns(event_type, day_timeline)
case event_type
when "added"
events = day_timeline.events.where(action: "card_published")
events = day_timeline.events.where(action: [ "card_published", "card_reopened" ])
{
title: events.count > 0 ? "Added (#{events.count})" : "Added",
index: 1,
@@ -28,7 +28,7 @@ module EventsHelper
case event.action
when "card_closed"
3
when "card_published"
when "card_published", "card_reopened"
1
else
2
@@ -84,6 +84,8 @@ module EventsHelper
"#{ event_creator_name(event) } added <span style='color: var(--card-color)'>#{ title }</span>".html_safe
when "card_closed"
"#{ event_creator_name(event) } closed <span style='color: var(--card-color)'>#{ title }</span>".html_safe
when "card_reopened"
"#{ event_creator_name(event) } reopened <span style='color: var(--card-color)'>#{ title }</span>".html_safe
when "card_staged"
"#{event_creator_name(event)} moved <span style='color: var(--card-color)'>#{ title }</span> to the #{event.stage_name} stage".html_safe
when "card_unstaged"
+1
View File
@@ -12,6 +12,7 @@ module NotificationsHelper
case event_notification_action(event)
when "card_closed" then "Closed by #{name}"
when "card_reopened" then "Reopened by #{name}"
when "card_published" then "Added by #{name}"
when "comment_created" then comment_notification_body(event)
else name
+7 -2
View File
@@ -35,7 +35,12 @@ module Card::Closeable
end
end
def reopen
closure&.destroy
def reopen(user: Current.user)
if closed?
transaction do
closure&.destroy
track_event :reopened, creator: user
end
end
end
end
@@ -22,6 +22,8 @@ class Card::Eventable::SystemCommenter
"#{event.creator.name} moved this to '#{event.stage_name}'."
when "card_closed"
"Closed as “#{ card.closure.reason }” by #{ event.creator.name }"
when "card_reopened"
"Reopened by #{ event.creator.name }"
when "card_title_changed"
"#{event.creator.name} changed the title from '#{event.particulars.dig('particulars', 'old_title')}' to '#{event.particulars.dig('particulars', 'new_title')}'."
when "card_collection_changed"