diff --git a/app/assets/javascripts/discourse/components/small-action.js.es6 b/app/assets/javascripts/discourse/components/small-action.js.es6 index 941dd440c..48ab20a80 100644 --- a/app/assets/javascripts/discourse/components/small-action.js.es6 +++ b/app/assets/javascripts/discourse/components/small-action.js.es6 @@ -1,6 +1,8 @@ const icons = { 'closed.enabled': 'lock', 'closed.disabled': 'unlock-alt', + 'autoclosed.enabled': 'lock', + 'autoclosed.disabled': 'unlock-alt', 'archived.enabled': 'folder', 'archived.disabled': 'folder-open', 'pinned.enabled': 'thumb-tack', diff --git a/config/locales/client.en.yml b/config/locales/client.en.yml index 7c0c49ac6..e1c4b3c9e 100644 --- a/config/locales/client.en.yml +++ b/config/locales/client.en.yml @@ -120,6 +120,9 @@ en: email: 'send this link in an email' action_codes: + autoclosed: + enabled: 'closed this topic %{when}' + disabled: 'opened this topic %{when}' closed: enabled: 'closed this topic %{when}' disabled: 'opened this topic %{when}' diff --git a/db/migrate/20150729150523_migrate_auto_close_posts.rb b/db/migrate/20150729150523_migrate_auto_close_posts.rb new file mode 100644 index 000000000..26c2db812 --- /dev/null +++ b/db/migrate/20150729150523_migrate_auto_close_posts.rb @@ -0,0 +1,16 @@ +class MigrateAutoClosePosts < ActiveRecord::Migration + def up + strings = [] + %w(days hours lastpost_days lastpost_hours lastpost_minutes).map do |k| + strings << I18n.t("topic_statuses.autoclosed_enabled_#{k}.one") + strings << I18n.t("topic_statuses.autoclosed_enabled_#{k}.other").sub("%{count}", "\\d+") + end + + sql = "UPDATE posts SET action_code = 'autoclosed.enabled', post_type = 3 " + sql << "WHERE post_type = 2 AND (" + sql << strings.map {|s| "raw ~* #{ActiveRecord::Base.connection.quote(s)}" }.join(' OR ') + sql << ")" + + execute sql + end +end