From 6c579ba9328a7c1a0c11ae0469d704105fa7aa40 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9gis=20Hanol?= Date: Mon, 21 Mar 2016 23:09:36 +0100 Subject: [PATCH] FIX: close existing polls in closed topics to keep old behaviour --- ...60321164925_close_polls_in_closed_topics.rb | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 plugins/poll/db/migrate/20160321164925_close_polls_in_closed_topics.rb diff --git a/plugins/poll/db/migrate/20160321164925_close_polls_in_closed_topics.rb b/plugins/poll/db/migrate/20160321164925_close_polls_in_closed_topics.rb new file mode 100644 index 00000000000..5ca969c68dc --- /dev/null +++ b/plugins/poll/db/migrate/20160321164925_close_polls_in_closed_topics.rb @@ -0,0 +1,18 @@ +class ClosePollsInClosedTopics < ActiveRecord::Migration + + def up + PostCustomField.joins(post: :topic) + .where("post_custom_fields.name = 'polls'") + .where("topics.closed") + .find_each do |pcf| + polls = ::JSON.parse(pcf.value || "{}") + polls.values.each { |poll| poll["status"] = "closed" } + pcf.value = polls.to_json + pcf.save + end + end + + def down + end + +end