thredded 0.12.1 → 0.12.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/app/commands/thredded/at_notification_extractor.rb +1 -0
- data/app/commands/thredded/autofollow_users.rb +1 -0
- data/app/commands/thredded/create_messageboard.rb +1 -0
- data/app/commands/thredded/mark_all_read.rb +1 -0
- data/app/commands/thredded/moderate_post.rb +1 -0
- data/app/commands/thredded/notify_following_users.rb +1 -0
- data/app/commands/thredded/notify_private_topic_users.rb +1 -0
- data/app/controllers/concerns/thredded/new_post_params.rb +1 -0
- data/app/controllers/concerns/thredded/new_private_post_params.rb +1 -0
- data/app/controllers/concerns/thredded/new_private_topic_params.rb +1 -0
- data/app/controllers/concerns/thredded/new_topic_params.rb +1 -0
- data/app/controllers/concerns/thredded/render_preview.rb +1 -0
- data/app/controllers/thredded/application_controller.rb +1 -0
- data/app/controllers/thredded/autocomplete_users_controller.rb +1 -0
- data/app/controllers/thredded/messageboards_controller.rb +4 -3
- data/app/controllers/thredded/moderation_controller.rb +1 -0
- data/app/controllers/thredded/post_permalinks_controller.rb +1 -0
- data/app/controllers/thredded/post_previews_controller.rb +1 -0
- data/app/controllers/thredded/posts_controller.rb +1 -0
- data/app/controllers/thredded/preferences_controller.rb +4 -3
- data/app/controllers/thredded/private_post_permalinks_controller.rb +1 -0
- data/app/controllers/thredded/private_post_previews_controller.rb +1 -0
- data/app/controllers/thredded/private_posts_controller.rb +1 -0
- data/app/controllers/thredded/private_topic_previews_controller.rb +1 -0
- data/app/controllers/thredded/private_topics_controller.rb +1 -0
- data/app/controllers/thredded/read_states_controller.rb +1 -0
- data/app/controllers/thredded/theme_previews_controller.rb +1 -0
- data/app/controllers/thredded/topic_previews_controller.rb +1 -0
- data/app/controllers/thredded/topics_controller.rb +5 -4
- data/app/forms/thredded/edit_topic_form.rb +1 -0
- data/app/forms/thredded/post_form.rb +2 -0
- data/app/forms/thredded/private_post_form.rb +2 -0
- data/app/forms/thredded/private_topic_form.rb +1 -0
- data/app/forms/thredded/topic_form.rb +1 -0
- data/app/forms/thredded/user_preferences_form.rb +1 -0
- data/app/helpers/thredded/application_helper.rb +1 -0
- data/app/helpers/thredded/nav_helper.rb +7 -6
- data/app/helpers/thredded/render_helper.rb +1 -0
- data/app/helpers/thredded/urls_helper.rb +1 -0
- data/app/jobs/thredded/activity_updater_job.rb +1 -0
- data/app/jobs/thredded/auto_follow_and_notify_job.rb +1 -0
- data/app/jobs/thredded/notify_private_topic_users_job.rb +1 -0
- data/app/mailer_previews/thredded/base_mailer_preview.rb +2 -1
- data/app/mailer_previews/thredded/post_mailer_preview.rb +3 -2
- data/app/mailer_previews/thredded/private_topic_mailer_preview.rb +2 -1
- data/app/mailers/thredded/base_mailer.rb +1 -0
- data/app/mailers/thredded/post_mailer.rb +1 -0
- data/app/mailers/thredded/private_topic_mailer.rb +1 -0
- data/app/models/concerns/thredded/content_moderation_state.rb +1 -0
- data/app/models/concerns/thredded/friendly_id_reserved_words_and_pagination.rb +1 -0
- data/app/models/concerns/thredded/moderation_state.rb +2 -1
- data/app/models/concerns/thredded/notifier_preference.rb +1 -0
- data/app/models/concerns/thredded/post_common.rb +1 -0
- data/app/models/concerns/thredded/search_parser.rb +3 -2
- data/app/models/concerns/thredded/topic_common.rb +2 -1
- data/app/models/concerns/thredded/topics_search.rb +1 -0
- data/app/models/concerns/thredded/user_topic_read_state_common.rb +1 -0
- data/app/models/thredded/category.rb +2 -1
- data/app/models/thredded/messageboard.rb +5 -4
- data/app/models/thredded/messageboard_group.rb +1 -0
- data/app/models/thredded/messageboard_notifications_for_followed_topics.rb +2 -1
- data/app/models/thredded/messageboard_user.rb +1 -0
- data/app/models/thredded/notifications_for_followed_topics.rb +2 -1
- data/app/models/thredded/notifications_for_private_topics.rb +2 -1
- data/app/models/thredded/null_user.rb +1 -0
- data/app/models/thredded/null_user_topic_read_state.rb +1 -0
- data/app/models/thredded/post.rb +4 -3
- data/app/models/thredded/post_moderation_record.rb +3 -2
- data/app/models/thredded/private_post.rb +3 -2
- data/app/models/thredded/private_topic.rb +4 -3
- data/app/models/thredded/private_user.rb +2 -1
- data/app/models/thredded/stats.rb +1 -0
- data/app/models/thredded/topic.rb +6 -5
- data/app/models/thredded/topic_category.rb +1 -0
- data/app/models/thredded/user_detail.rb +2 -1
- data/app/models/thredded/user_extender.rb +2 -1
- data/app/models/thredded/user_messageboard_preference.rb +2 -1
- data/app/models/thredded/user_permissions/admin/if_admin_column_true.rb +1 -0
- data/app/models/thredded/user_permissions/admin/none.rb +1 -0
- data/app/models/thredded/user_permissions/message/readers_of_writeable_boards.rb +1 -0
- data/app/models/thredded/user_permissions/moderate/if_moderator_column_true.rb +1 -0
- data/app/models/thredded/user_permissions/moderate/none.rb +1 -0
- data/app/models/thredded/user_permissions/read/all.rb +1 -0
- data/app/models/thredded/user_permissions/write/all.rb +1 -0
- data/app/models/thredded/user_permissions/write/none.rb +1 -0
- data/app/models/thredded/user_post_notification.rb +2 -1
- data/app/models/thredded/user_preference.rb +2 -1
- data/app/models/thredded/user_private_topic_read_state.rb +2 -1
- data/app/models/thredded/user_topic_follow.rb +3 -2
- data/app/models/thredded/user_topic_read_state.rb +2 -1
- data/app/notifiers/thredded/base_notifier.rb +1 -1
- data/app/notifiers/thredded/email_notifier.rb +1 -0
- data/app/policies/thredded/messageboard_group_policy.rb +1 -0
- data/app/policies/thredded/messageboard_policy.rb +1 -0
- data/app/policies/thredded/post_policy.rb +1 -0
- data/app/policies/thredded/private_post_policy.rb +1 -0
- data/app/policies/thredded/private_topic_policy.rb +1 -0
- data/app/policies/thredded/topic_policy.rb +1 -0
- data/app/view_hooks/thredded/all_view_hooks.rb +1 -0
- data/app/view_models/thredded/base_topic_view.rb +1 -0
- data/app/view_models/thredded/messageboard_group_view.rb +1 -0
- data/app/view_models/thredded/post_view.rb +1 -0
- data/app/view_models/thredded/posts_page_view.rb +1 -0
- data/app/view_models/thredded/private_topic_view.rb +1 -0
- data/app/view_models/thredded/private_topics_page_view.rb +1 -0
- data/app/view_models/thredded/topic_email_view.rb +1 -0
- data/app/view_models/thredded/topic_posts_page_view.rb +1 -0
- data/app/view_models/thredded/topic_view.rb +1 -0
- data/app/view_models/thredded/topics_page_view.rb +1 -0
- data/app/views/thredded/messageboards/index.html.erb +2 -2
- data/app/views/thredded/posts_common/actions/_edit.html.erb +2 -1
- data/app/views/thredded/private_topics/_header.html.erb +2 -1
- data/app/views/thredded/topics/_header.html.erb +2 -1
- data/app/views/thredded/topics/index.html.erb +1 -1
- data/bin/rails +1 -0
- data/bin/rubocop +1 -0
- data/config/routes.rb +13 -12
- data/db/migrate/20160329231848_create_thredded.rb +75 -66
- data/db/upgrade_migrations/20160611094616_upgrade_v0_5_to_v0_6.rb +6 -3
- data/db/upgrade_migrations/20160723012349_upgrade_v0_6_to_v0_7.rb +4 -1
- data/db/upgrade_migrations/20161019150201_upgrade_v0_7_to_v0_8.rb +4 -1
- data/db/upgrade_migrations/20161113161801_upgrade_v0_8_to_v0_9.rb +11 -8
- data/db/upgrade_migrations/20170125033319_upgrade_v0_9_to_v0_10.rb +12 -6
- data/db/upgrade_migrations/20170312131417_upgrade_thredded_v0_10_to_v0_11.rb +6 -3
- data/db/upgrade_migrations/20170420163138_upgrade_thredded_v0_11_to_v0_12.rb +4 -1
- data/lib/generators/thredded/install/install_generator.rb +1 -0
- data/lib/generators/thredded/install/templates/initializer.rb +1 -0
- data/lib/tasks/thredded_tasks.rake +1 -0
- data/lib/thredded.rb +7 -0
- data/lib/thredded/base_migration.rb +14 -0
- data/lib/thredded/collection_to_strings_with_cache_renderer.rb +1 -0
- data/lib/thredded/content_formatter.rb +7 -6
- data/lib/thredded/database_seeder.rb +1 -0
- data/lib/thredded/db_tools.rb +9 -8
- data/lib/thredded/email_transformer.rb +1 -0
- data/lib/thredded/email_transformer/onebox.rb +1 -0
- data/lib/thredded/engine.rb +3 -2
- data/lib/thredded/errors.rb +1 -0
- data/lib/thredded/formatting_demo_content.rb +1 -0
- data/lib/thredded/html_pipeline/at_mention_filter.rb +3 -2
- data/lib/thredded/html_pipeline/autolink_filter.rb +1 -0
- data/lib/thredded/html_pipeline/kramdown_filter.rb +2 -1
- data/lib/thredded/html_pipeline/onebox_filter.rb +2 -1
- data/lib/thredded/html_pipeline/wrap_iframes_filter.rb +1 -0
- data/lib/thredded/version.rb +2 -1
- data/lib/thredded/view_hooks/config.rb +1 -0
- data/lib/thredded/view_hooks/renderer.rb +1 -0
- metadata +5 -7
- data/db/upgrade_migrations/20160410111522_upgrade_v0_2_to_v0_3.rb +0 -63
- data/db/upgrade_migrations/20160429222452_upgrade_v0_3_to_v0_4.rb +0 -13
- data/db/upgrade_migrations/20160501151908_upgrade_v0_4_to_v0_5.rb +0 -56
@@ -1,63 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
# rubocop:disable Metrics/MethodLength
|
3
|
-
# rubocop:disable Metrics/LineLength
|
4
|
-
class UpgradeV02ToV03 < ActiveRecord::Migration
|
5
|
-
def up
|
6
|
-
remove_index :thredded_notification_preferences, name: :index_thredded_notification_preferences_on_messageboard_id
|
7
|
-
remove_index :thredded_notification_preferences, name: :index_thredded_notification_preferences_on_user_id
|
8
|
-
rename_table :thredded_notification_preferences, :thredded_user_messageboard_preferences
|
9
|
-
remove_column :thredded_user_messageboard_preferences, :notifications_for_private_topics
|
10
|
-
change_column_null :thredded_user_messageboard_preferences, :notify_on_mention, false
|
11
|
-
add_column :thredded_user_preferences, :notify_on_mention, :boolean, default: true, null: false
|
12
|
-
add_column :thredded_user_preferences, :notify_on_message, :boolean, default: true, null: false
|
13
|
-
add_index :thredded_user_messageboard_preferences, [:user_id, :messageboard_id], unique: true, name: :thredded_user_messageboard_preferences_user_id_messageboard_id
|
14
|
-
remove_column :thredded_user_preferences, :time_zone
|
15
|
-
remove_column :thredded_messageboards, :filter
|
16
|
-
remove_column :thredded_posts, :filter
|
17
|
-
remove_column :thredded_private_posts, :filter
|
18
|
-
drop_table :thredded_user_topic_reads
|
19
|
-
%i(topic private_topic).each do |topics_table|
|
20
|
-
table_name = :"thredded_user_#{topics_table}_read_states"
|
21
|
-
create_table table_name do |t|
|
22
|
-
t.integer :user_id, null: false
|
23
|
-
t.integer :postable_id, null: false
|
24
|
-
t.integer :page, default: 1, null: false
|
25
|
-
t.timestamp :read_at, null: false
|
26
|
-
end
|
27
|
-
add_index table_name, [:user_id, :postable_id], name: :"#{table_name}_user_postable", unique: true
|
28
|
-
end
|
29
|
-
remove_column :thredded_private_users, :read
|
30
|
-
remove_index :thredded_private_users, name: :index_thredded_private_users_on_read
|
31
|
-
end
|
32
|
-
|
33
|
-
def down
|
34
|
-
add_column :thredded_private_users, :read, :boolean, default: false
|
35
|
-
add_index :thredded_private_users, :read, name: :index_thredded_private_users_on_read
|
36
|
-
drop_table :thredded_user_topic_read_states
|
37
|
-
drop_table :thredded_user_private_topic_read_states
|
38
|
-
create_table :thredded_user_topic_reads do |t|
|
39
|
-
t.integer :user_id, null: false
|
40
|
-
t.integer :topic_id, null: false
|
41
|
-
t.integer :post_id, null: false
|
42
|
-
t.integer :posts_count, default: 0, null: false
|
43
|
-
t.integer :page, default: 1, null: false
|
44
|
-
t.timestamps null: false
|
45
|
-
end
|
46
|
-
add_index :thredded_user_topic_reads, [:topic_id], name: :index_thredded_user_topic_reads_on_topic_id
|
47
|
-
add_index :thredded_user_topic_reads, [:user_id, :topic_id], name: :index_thredded_user_topic_reads_on_user_id_and_topic_id, unique: true
|
48
|
-
add_column :thredded_private_posts, :filter, :string, default: 'markdown', null: false
|
49
|
-
add_column :thredded_posts, :filter, :string, default: 'markdown', null: false
|
50
|
-
add_column :thredded_messageboards, :filter, :string, default: 'markdown', null: false
|
51
|
-
add_column :thredded_user_preferences, :time_zone, :string, limit: 191, default: 'Eastern Time (US & Canada)'
|
52
|
-
change_column_null :thredded_user_messageboard_preferences, :notify_on_mention, true
|
53
|
-
remove_index :thredded_user_messageboard_preferences, name: :thredded_user_messageboard_preferences_user_id_messageboard_id
|
54
|
-
rename_table :thredded_user_messageboard_preferences, :thredded_notification_preferences
|
55
|
-
add_index :thredded_notification_preferences, [:messageboard_id], name: :index_thredded_notification_preferences_on_messageboard_id
|
56
|
-
add_index :thredded_notification_preferences, [:user_id], name: :index_thredded_notification_preferences_on_user_id
|
57
|
-
add_column :thredded_notification_preferences, :notify_on_message, :boolean, default: true
|
58
|
-
remove_column :thredded_user_preferences, :notify_on_mention
|
59
|
-
remove_column :thredded_user_preferences, :notify_on_message
|
60
|
-
end
|
61
|
-
end
|
62
|
-
# rubocop:enable Metrics/LineLength
|
63
|
-
# rubocop:enable Metrics/MethodLength
|
@@ -1,13 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
class UpgradeV03ToV04 < ActiveRecord::Migration
|
3
|
-
def up
|
4
|
-
create_table :thredded_messageboard_groups do |t|
|
5
|
-
t.string :name
|
6
|
-
t.timestamps null: false
|
7
|
-
end
|
8
|
-
|
9
|
-
add_column :thredded_messageboards, :messageboard_group_id, :integer
|
10
|
-
add_index :thredded_messageboards, [:messageboard_group_id],
|
11
|
-
name: :index_thredded_messageboards_on_messageboard_group_id
|
12
|
-
end
|
13
|
-
end
|
@@ -1,56 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
# rubocop:disable Metrics/MethodLength
|
3
|
-
class UpgradeV04ToV05 < ActiveRecord::Migration
|
4
|
-
def change
|
5
|
-
# Topic following
|
6
|
-
create_table :thredded_user_topic_follows do |t|
|
7
|
-
t.integer :user_id, null: false
|
8
|
-
t.integer :topic_id, null: false
|
9
|
-
t.datetime :created_at, null: false
|
10
|
-
t.integer :reason, limit: 1
|
11
|
-
t.index [:user_id, :topic_id], name: :thredded_user_topic_follows_user_topic, unique: true
|
12
|
-
end
|
13
|
-
|
14
|
-
# Moderation
|
15
|
-
change_table :thredded_posts, bulk: true do |t|
|
16
|
-
t.integer :moderation_state, null: false, default: 1
|
17
|
-
t.index [:moderation_state, :updated_at],
|
18
|
-
order: { updated_at: :asc },
|
19
|
-
name: :index_thredded_posts_for_display
|
20
|
-
end
|
21
|
-
change_column_default :thredded_posts, :moderation_state, from: 1, to: nil
|
22
|
-
|
23
|
-
change_table :thredded_topics, bulk: true do |t|
|
24
|
-
t.integer :moderation_state, null: false, default: 1
|
25
|
-
t.index %i(moderation_state sticky updated_at),
|
26
|
-
order: { sticky: :desc, updated_at: :desc },
|
27
|
-
name: :index_thredded_topics_for_display
|
28
|
-
end
|
29
|
-
change_column_default :thredded_topics, :moderation_state, from: 1, to: nil
|
30
|
-
|
31
|
-
change_table :thredded_user_details do |t|
|
32
|
-
t.integer :moderation_state, null: false, default: 1
|
33
|
-
t.timestamp :moderation_state_changed_at
|
34
|
-
t.index %i(moderation_state moderation_state_changed_at),
|
35
|
-
order: { moderation_state_changed_at: :desc },
|
36
|
-
name: :index_thredded_user_details_for_moderations
|
37
|
-
end
|
38
|
-
change_column_default :thredded_user_details, :moderation_state, from: 1, to: 0 # pending_moderation
|
39
|
-
|
40
|
-
create_table :thredded_post_moderation_records do |t|
|
41
|
-
t.references :post
|
42
|
-
t.references :messageboard
|
43
|
-
t.text :post_content, limit: 65_535
|
44
|
-
t.references :post_user
|
45
|
-
t.text :post_user_name
|
46
|
-
t.references :moderator
|
47
|
-
t.integer :moderation_state, null: false
|
48
|
-
t.integer :previous_moderation_state, null: false
|
49
|
-
t.timestamp :created_at, null: false
|
50
|
-
t.index [:messageboard_id, :created_at],
|
51
|
-
order: { created_at: :desc },
|
52
|
-
name: :index_thredded_moderation_records_for_display
|
53
|
-
end
|
54
|
-
end
|
55
|
-
end
|
56
|
-
# rubocop:enable Metrics/MethodLength
|