Skip to content

Commit cbde6f8

Browse files
committed
handle edge cases
1 parent a6c4cde commit cbde6f8

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

plugin.rb

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ module ::CommunityCustomFields
5050
topic.custom_fields[:status] = "new"
5151

5252
if !user.admin
53-
topic.custom_fields[:waiting_since] = Time.now.utc.iso8601
53+
topic.custom_fields[:waiting_since] = Time.current.iso8601
5454
topic.custom_fields[:waiting_id] = user.id
5555
end
5656

@@ -70,7 +70,7 @@ module ::CommunityCustomFields
7070
topic.custom_fields[:waiting_id] = nil
7171
else
7272
if user.id != topic.custom_fields[:waiting_id].to_i
73-
topic.custom_fields[:waiting_since] = Time.now.utc.iso8601
73+
topic.custom_fields[:waiting_since] = Time.current.iso8601
7474
topic.custom_fields[:waiting_id] = user.id
7575
end
7676

@@ -80,12 +80,15 @@ module ::CommunityCustomFields
8080
end
8181

8282
if topic.custom_fields[:status] == "closed"
83+
# this handles an edge case where `closed_at` was never assigned
84+
topic.custom_fields[:closed_at] ||= Time.current.iso8601
85+
8386
if topic.custom_fields[:last_assigned_to_id].nil? || Time.iso8601(topic.custom_fields[:closed_at]) < 1.month.ago.iso8601
8487
topic.custom_fields[:status] = "new"
8588
else
8689
topic.custom_fields[:status] = "open"
8790
topic.custom_fields[:assignee_id] = topic.custom_fields[:last_assigned_to_id]
88-
topic.custom_fields[:last_assigned_at] = Time.now.utc.iso8601
91+
topic.custom_fields[:last_assigned_at] = Time.current.iso8601
8992
end
9093
topic.custom_fields[:outcome] = nil
9194
topic.custom_fields[:closed_at] = nil

0 commit comments

Comments
 (0)