dm_forum 4.2.1.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/MIT-LICENSE +23 -0
- data/README.md +33 -0
- data/Rakefile +30 -0
- data/app/assets/javascripts/dm_forum/admin.js +20 -0
- data/app/assets/javascripts/dm_forum/application.js +16 -0
- data/app/assets/javascripts/dm_forum/dm_forum.js +3 -0
- data/app/assets/stylesheets/dm_forum/admin.css +2 -0
- data/app/assets/stylesheets/dm_forum/application.css +12 -0
- data/app/controllers/dm_forum/admin/admin_controller.rb +13 -0
- data/app/controllers/dm_forum/admin/dashboard_controller.rb +12 -0
- data/app/controllers/dm_forum/admin/forum_categories_controller.rb +80 -0
- data/app/controllers/dm_forum/admin/forum_sites_controller.rb +40 -0
- data/app/controllers/dm_forum/admin/forums_controller.rb +113 -0
- data/app/controllers/dm_forum/application_controller.rb +25 -0
- data/app/controllers/dm_forum/forum_comments_controller.rb +88 -0
- data/app/controllers/dm_forum/forum_topics_controller.rb +93 -0
- data/app/controllers/dm_forum/forums_controller.rb +45 -0
- data/app/datatables/forum_user_datatable.rb +79 -0
- data/app/helpers/dm_forum/application_helper.rb +5 -0
- data/app/helpers/dm_forum/forum_helper.rb +109 -0
- data/app/mailers/forum_notification_mailer.rb +27 -0
- data/app/models/dm_forum/concerns/ability.rb +50 -0
- data/app/models/dm_forum/concerns/user.rb +37 -0
- data/app/models/dm_forum/permitted_params.rb +38 -0
- data/app/models/forum.rb +74 -0
- data/app/models/forum_category.rb +14 -0
- data/app/models/forum_comment.rb +93 -0
- data/app/models/forum_site.rb +27 -0
- data/app/models/forum_topic.rb +146 -0
- data/app/presenters/forum_comment_presenter.rb +8 -0
- data/app/presenters/forum_common_presenter.rb +31 -0
- data/app/presenters/forum_presenter.rb +14 -0
- data/app/views/dm_forum/admin/dashboard/_widget_forum_comments.html.erb +38 -0
- data/app/views/dm_forum/admin/dashboard/widget_forum_comments.js.erb +1 -0
- data/app/views/dm_forum/admin/forum_categories/_content_toolbar.html.erb +5 -0
- data/app/views/dm_forum/admin/forum_categories/_form.html.erb +18 -0
- data/app/views/dm_forum/admin/forum_categories/edit.html.erb +3 -0
- data/app/views/dm_forum/admin/forum_categories/index.html.erb +25 -0
- data/app/views/dm_forum/admin/forum_categories/new.html.erb +3 -0
- data/app/views/dm_forum/admin/forum_categories/show.html.erb +41 -0
- data/app/views/dm_forum/admin/forum_sites/_form.html.erb +18 -0
- data/app/views/dm_forum/admin/forum_sites/edit.html.erb +2 -0
- data/app/views/dm_forum/admin/forum_sites/show.html.erb +12 -0
- data/app/views/dm_forum/admin/forums/_content_toolbar.html.erb +5 -0
- data/app/views/dm_forum/admin/forums/_form.html.erb +24 -0
- data/app/views/dm_forum/admin/forums/edit.html.erb +2 -0
- data/app/views/dm_forum/admin/forums/new.html.erb +2 -0
- data/app/views/dm_forum/admin/forums/show.html.erb +68 -0
- data/app/views/dm_forum/forum_comments/_formatting.html.erb +12 -0
- data/app/views/dm_forum/forum_comments/edit.html.erb +15 -0
- data/app/views/dm_forum/forum_topics/_comment_item.html.erb +26 -0
- data/app/views/dm_forum/forum_topics/_comments_list.html.erb +63 -0
- data/app/views/dm_forum/forum_topics/_follow_button.html.erb +3 -0
- data/app/views/dm_forum/forum_topics/_form.html.erb +24 -0
- data/app/views/dm_forum/forum_topics/edit.html.erb +13 -0
- data/app/views/dm_forum/forum_topics/new.html.erb +13 -0
- data/app/views/dm_forum/forum_topics/show.html.erb +49 -0
- data/app/views/dm_forum/forum_topics/toggle_follow.js.coffee +5 -0
- data/app/views/dm_forum/forums/_category_side_list.html.erb +28 -0
- data/app/views/dm_forum/forums/_forum_header.html.erb +14 -0
- data/app/views/dm_forum/forums/_no_forums.html.erb +1 -0
- data/app/views/dm_forum/forums/_topics_list.html.erb +86 -0
- data/app/views/dm_forum/forums/categories.html.erb +32 -0
- data/app/views/dm_forum/forums/list.html.erb +10 -0
- data/app/views/dm_forum/forums/show.html.erb +39 -0
- data/app/views/layouts/email_templates/forum_notification.html.erb +15 -0
- data/app/views/layouts/email_templates/forum_notification.text.erb +16 -0
- data/config/initializers/dm_forum.rb +0 -0
- data/config/locales/fms.cs.yml +104 -0
- data/config/locales/fms.de.yml +104 -0
- data/config/locales/fms.en.yml +104 -0
- data/config/locales/fms.fi.yml +104 -0
- data/config/locales/fms.ja.yml +104 -0
- data/config/routes.rb +43 -0
- data/db/migrate/20130103151149_create_forums.rb +72 -0
- data/db/migrate/20130424125513_add_public_forum.rb +13 -0
- data/db/migrate/20130430084925_add_forum_category.rb +7 -0
- data/db/migrate/20140201112134_delete_monitorships.rb +17 -0
- data/db/migrate/20140303121325_add_requires_subscription_forum.rb +5 -0
- data/db/migrate/20140423113420_add_forum_owner.rb +6 -0
- data/db/migrate/20160821150125_index_foreign_keys_in_fms_forum_sites.rb +5 -0
- data/db/migrate/20160821150126_index_foreign_keys_in_fms_forum_topics.rb +9 -0
- data/db/migrate/20160821150127_index_foreign_keys_in_fms_forums.rb +7 -0
- data/lib/dm_forum/engine.rb +9 -0
- data/lib/dm_forum/version.rb +3 -0
- data/lib/dm_forum.rb +4 -0
- data/lib/tasks/dm_forum_tasks.rake +4 -0
- data/spec/dummy/README.rdoc +28 -0
- data/spec/dummy/Rakefile +6 -0
- data/spec/dummy/app/assets/javascripts/application.js +13 -0
- data/spec/dummy/app/assets/stylesheets/application.css +15 -0
- data/spec/dummy/app/controllers/application_controller.rb +5 -0
- data/spec/dummy/app/helpers/application_helper.rb +2 -0
- data/spec/dummy/app/models/ability.rb +12 -0
- data/spec/dummy/app/models/user.rb +6 -0
- data/spec/dummy/app/views/layouts/application.html.erb +14 -0
- data/spec/dummy/bin/bundle +3 -0
- data/spec/dummy/bin/rails +4 -0
- data/spec/dummy/bin/rake +4 -0
- data/spec/dummy/config/application.rb +26 -0
- data/spec/dummy/config/boot.rb +5 -0
- data/spec/dummy/config/database.yml +25 -0
- data/spec/dummy/config/environment.rb +5 -0
- data/spec/dummy/config/environments/development.rb +37 -0
- data/spec/dummy/config/environments/production.rb +82 -0
- data/spec/dummy/config/environments/test.rb +39 -0
- data/spec/dummy/config/initializers/assets.rb +8 -0
- data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/spec/dummy/config/initializers/cookies_serializer.rb +3 -0
- data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
- data/spec/dummy/config/initializers/inflections.rb +16 -0
- data/spec/dummy/config/initializers/mime_types.rb +4 -0
- data/spec/dummy/config/initializers/session_store.rb +3 -0
- data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/spec/dummy/config/locales/en.yml +23 -0
- data/spec/dummy/config/routes.rb +17 -0
- data/spec/dummy/config/secrets.yml +22 -0
- data/spec/dummy/config.ru +4 -0
- data/spec/dummy/db/development.sqlite3 +0 -0
- data/spec/dummy/db/migrate/20141114170927_add_globalize_countries.dm_core.rb +50 -0
- data/spec/dummy/db/migrate/20141114170928_devise_create_users.dm_core.rb +46 -0
- data/spec/dummy/db/migrate/20141114170929_add_user_fields.dm_core.rb +14 -0
- data/spec/dummy/db/migrate/20141114170930_rolify_create_roles.dm_core.rb +20 -0
- data/spec/dummy/db/migrate/20141114170931_add_last_access.dm_core.rb +10 -0
- data/spec/dummy/db/migrate/20141114170932_create_versions.dm_core.rb +19 -0
- data/spec/dummy/db/migrate/20141114170933_add_object_changes_column_to_versions.dm_core.rb +12 -0
- data/spec/dummy/db/migrate/20141114170934_create_dm_core_accounts.dm_core.rb +13 -0
- data/spec/dummy/db/migrate/20141114170935_add_account_to_users.dm_core.rb +9 -0
- data/spec/dummy/db/migrate/20141114170936_create_preferences.dm_core.rb +13 -0
- data/spec/dummy/db/migrate/20141114170937_create_comments.dm_core.rb +22 -0
- data/spec/dummy/db/migrate/20141114170938_add_activity.dm_core.rb +21 -0
- data/spec/dummy/db/migrate/20141114170939_add_type_to_comments.dm_core.rb +9 -0
- data/spec/dummy/db/migrate/20141114170940_add_category.dm_core.rb +28 -0
- data/spec/dummy/db/migrate/20141114170941_create_email_table.dm_core.rb +26 -0
- data/spec/dummy/db/migrate/20141114170942_add_user_profile.dm_core.rb +46 -0
- data/spec/dummy/db/migrate/20141114170943_add_profile_email.dm_core.rb +14 -0
- data/spec/dummy/db/migrate/20141114170944_create_payment_history.dm_core.rb +37 -0
- data/spec/dummy/db/migrate/20141114170945_change_anchor_field.dm_core.rb +10 -0
- data/spec/dummy/db/migrate/20141114170946_create_user_site_profile.dm_core.rb +27 -0
- data/spec/dummy/db/migrate/20141114170947_add_avatar.dm_core.rb +12 -0
- data/spec/dummy/db/migrate/20141114170948_add_notify_to_payment_history.dm_core.rb +8 -0
- data/spec/dummy/db/migrate/20141114170949_acts_as_votable_migration.dm_core.rb +28 -0
- data/spec/dummy/db/migrate/20141114170950_add_user_site_profile_uuid.dm_core.rb +19 -0
- data/spec/dummy/db/migrate/20141114170951_add_invoice_id.dm_core.rb +7 -0
- data/spec/dummy/db/migrate/20141114170952_acts_as_follower_migration.dm_core.rb +18 -0
- data/spec/dummy/db/migrate/20141114170953_rename_invoice_id.dm_core.rb +12 -0
- data/spec/dummy/db/migrate/20141114170954_add_core_addresses.dm_core.rb +18 -0
- data/spec/dummy/db/migrate/20141114170955_papertrail_increase_column.dm_core.rb +9 -0
- data/spec/dummy/db/migrate/20141114170956_acts_as_taggable_on_migration.dm_core.rb +32 -0
- data/spec/dummy/db/migrate/20141114170957_add_missing_unique_indices.dm_core.rb +23 -0
- data/spec/dummy/db/migrate/20141114170958_add_taggings_counter_cache_to_tags.dm_core.rb +16 -0
- data/spec/dummy/db/migrate/20141114170959_create_custom_fields.dm_core.rb +40 -0
- data/spec/dummy/db/migrate/20141114170960_add_missing_taggable_index.dm_core.rb +11 -0
- data/spec/dummy/db/migrate/20141119112030_create_cms.dm_cms.rb +92 -0
- data/spec/dummy/db/migrate/20141119112031_add_account_to_cms.dm_cms.rb +11 -0
- data/spec/dummy/db/migrate/20141119112032_create_blog.dm_cms.rb +62 -0
- data/spec/dummy/db/migrate/20141119112033_add_notification_sent.dm_cms.rb +6 -0
- data/spec/dummy/db/migrate/20141119112034_add_blog_comment.dm_cms.rb +8 -0
- data/spec/dummy/db/migrate/20141119112035_add_blog_image.dm_cms.rb +6 -0
- data/spec/dummy/db/migrate/20141119112036_rename_snippet_slug.dm_cms.rb +14 -0
- data/spec/dummy/db/migrate/20141119112037_add_requires_subscription_blog.dm_cms.rb +8 -0
- data/spec/dummy/db/migrate/20141119112038_add_pages_ranked_model.dm_cms.rb +23 -0
- data/spec/dummy/db/migrate/20141119112039_add_blog_owner.dm_cms.rb +7 -0
- data/spec/dummy/db/migrate/20141119112040_create_media_files.dm_cms.rb +30 -0
- data/spec/dummy/db/migrate/20141119112041_add_cmspage_summary.dm_cms.rb +7 -0
- data/spec/dummy/db/migrate/20141119112042_add_blog_image_email_header.dm_cms.rb +6 -0
- data/spec/dummy/db/migrate/20141119112043_add_header_image.dm_cms.rb +10 -0
- data/spec/dummy/db/migrate/20160128144312_add_favored_locale.dm_core.rb +17 -0
- data/spec/dummy/db/migrate/20160128144313_update_papertrail_v4.dm_core.rb +41 -0
- data/spec/dummy/db/schema.rb +628 -0
- data/spec/dummy/public/404.html +67 -0
- data/spec/dummy/public/422.html +67 -0
- data/spec/dummy/public/500.html +66 -0
- data/spec/dummy/public/favicon.ico +0 -0
- data/spec/factories/accounts.rb +9 -0
- data/spec/factories/user_profiles.rb +10 -0
- data/spec/factories/users.rb +19 -0
- data/spec/models/forum_spec.rb +9 -0
- data/spec/rails_helper.rb +70 -0
- data/spec/spec_helper.rb +85 -0
- data/spec/support/accounts.rb +17 -0
- data/spec/support/devise.rb +44 -0
- data/spec/support/fix_locale.rb +57 -0
- metadata +337 -0
@@ -0,0 +1,104 @@
|
|
1
|
+
en:
|
2
|
+
fms:
|
3
|
+
count_forums:
|
4
|
+
zero: "no forum"
|
5
|
+
one: "1 forum"
|
6
|
+
other: "%{num} forums"
|
7
|
+
count_users:
|
8
|
+
zero: "no users"
|
9
|
+
one: "1 user"
|
10
|
+
other: "%{num} users"
|
11
|
+
count_users_active:
|
12
|
+
zero: "no active users"
|
13
|
+
one: "1 active user"
|
14
|
+
other: "%{num} active users"
|
15
|
+
count_users_lurking:
|
16
|
+
zero: "no lurking users"
|
17
|
+
one: "1 lurking user"
|
18
|
+
other: "%{num} lurking users"
|
19
|
+
count_voices:
|
20
|
+
zero: "no voices"
|
21
|
+
one: "1 voice"
|
22
|
+
other: "%{num} voices"
|
23
|
+
count_topics:
|
24
|
+
zero: "no topics"
|
25
|
+
one: "1 topic"
|
26
|
+
other: "%{num} topics"
|
27
|
+
count_comments:
|
28
|
+
zero: "no comments"
|
29
|
+
one: "1 comment"
|
30
|
+
other: "%{num} comments"
|
31
|
+
count_comments_found:
|
32
|
+
zero: "no comments found"
|
33
|
+
one: "1 comment found"
|
34
|
+
other: "%{count} comments found"
|
35
|
+
comment_age: "commented %{when} ago"
|
36
|
+
user_is_administrator: Administrator
|
37
|
+
user_is_moderator: Moderator
|
38
|
+
suspended_user_comment: This comment has been removed
|
39
|
+
post_edited: 'edited %{when} ago'
|
40
|
+
forums: Forums
|
41
|
+
page_nr: 'page %{nr}'
|
42
|
+
views_forums:
|
43
|
+
recent_activity: Recent activity
|
44
|
+
no_recent_activity: No recent activity
|
45
|
+
comma_locked_topic: "This topic is locked."
|
46
|
+
unmoderated_html: 'This forum is currently unmoderated.<br />Please always be courteous.'
|
47
|
+
recent_posts: Recent Posts
|
48
|
+
searching_for: Searching for
|
49
|
+
by_user: 'by %{user}'
|
50
|
+
in_forum: 'in %{forum}'
|
51
|
+
views_posts:
|
52
|
+
formatting_help: Formatting Help
|
53
|
+
formatting_desc: is used for formatting text.
|
54
|
+
formatting_bold: '**bold**'
|
55
|
+
formatting_italics: '*italics*, _italics_'
|
56
|
+
formatting_blockquote: '> <span>(quotes)</span>'
|
57
|
+
formatting_icode: '`code`'
|
58
|
+
formatting_horizontal_rule: '*** <span>(horizontal rule)</span>'
|
59
|
+
formatting_list: '* <span>or</span> 1. <span>(lists)</span>'
|
60
|
+
save: 'Save post'
|
61
|
+
topic: Topic
|
62
|
+
locked: Locked
|
63
|
+
or: or
|
64
|
+
cancel: cancel
|
65
|
+
reply: Reply
|
66
|
+
admin:
|
67
|
+
edit_post: Edit post
|
68
|
+
suspended_user_post: This post has been removed
|
69
|
+
reply_to_topic: Reply to topic
|
70
|
+
views_topics:
|
71
|
+
topic: Name
|
72
|
+
body: Body
|
73
|
+
delete_sure: 'Delete this topic forever?'
|
74
|
+
locked_topic: 'This topic is locked.'
|
75
|
+
save_reply: Save reply
|
76
|
+
cancel: Cancel
|
77
|
+
lock_topic: Locked
|
78
|
+
sticky: Sticky
|
79
|
+
edit_topic: Edit topic
|
80
|
+
post_topic: Post topic
|
81
|
+
new_topic: New topic
|
82
|
+
voices: Voices
|
83
|
+
edit: edit
|
84
|
+
delete: delete
|
85
|
+
all: all topics
|
86
|
+
followed: only watched topics
|
87
|
+
started: Started by
|
88
|
+
comment_age: "%{when} ago"
|
89
|
+
by_user_html: "by %{user}"
|
90
|
+
moderator: Moderator
|
91
|
+
replies: replies
|
92
|
+
views: views
|
93
|
+
last_post_on: "Last post by %{user} :: %{date}"
|
94
|
+
comments_header: Comments
|
95
|
+
no_topics: Be the first to create a topic
|
96
|
+
no_followed_topics: There are currently no topics being followed
|
97
|
+
no_forums: The Forum section will be available soon
|
98
|
+
comment_notification_inform: You will automatically receive notification of any future comments
|
99
|
+
follow: Follow
|
100
|
+
follow_stop: Stop Following
|
101
|
+
topic_follow_section:
|
102
|
+
title: Follow Topic by Email
|
103
|
+
description: Follow this topic and receive email notifications of new comments
|
104
|
+
|
@@ -0,0 +1,104 @@
|
|
1
|
+
fi:
|
2
|
+
fms:
|
3
|
+
count_forums:
|
4
|
+
zero: "ei foorumia"
|
5
|
+
one: "1 foorumi"
|
6
|
+
other: "%{num} foorumia"
|
7
|
+
count_users:
|
8
|
+
zero: "ei käyttäjiä"
|
9
|
+
one: "1 käyttäjä"
|
10
|
+
other: "%{num} käyttäjää"
|
11
|
+
count_users_active:
|
12
|
+
zero: "ei aktiivisia käyttäjiä"
|
13
|
+
one: "1 aktiivinen käyttäjä"
|
14
|
+
other: "%{num} aktiivista käyttäjää"
|
15
|
+
count_users_lurking:
|
16
|
+
zero: "ei piileviä käyttäjiä"
|
17
|
+
one: "1 piilevä käyttäjä"
|
18
|
+
other: "%{num} piileviä käyttäjiä"
|
19
|
+
count_voices:
|
20
|
+
zero: "ei ääniä"
|
21
|
+
one: "1 ääni"
|
22
|
+
other: "%{num} ääntä"
|
23
|
+
count_topics:
|
24
|
+
zero: "ei aiheita"
|
25
|
+
one: "1 aihe"
|
26
|
+
other: "%{num} aihetta"
|
27
|
+
count_comments:
|
28
|
+
zero: "ei kommentteja"
|
29
|
+
one: "1 kommentti"
|
30
|
+
other: "%{num} kommenttia"
|
31
|
+
count_comments_found:
|
32
|
+
zero: "ei löydetty kommentteja"
|
33
|
+
one: "1 kommentti löydetty"
|
34
|
+
other: "%{count} kommenttia löydetty"
|
35
|
+
comment_age: "kommentoitu %{when} sitten"
|
36
|
+
user_is_administrator: Ylläpitäjä
|
37
|
+
user_is_moderator: Valvoja
|
38
|
+
suspended_user_comment: Tämä kommentti on poistettu
|
39
|
+
post_edited: 'muokattu %{when} sitten'
|
40
|
+
forums: Foorumit
|
41
|
+
page_nr: 'sivu %{nr}'
|
42
|
+
views_forums:
|
43
|
+
recent_activity: Viimeisimpiä tapahtumia
|
44
|
+
no_recent_activity: Ei tapahtumia äskettäin
|
45
|
+
comma_locked_topic: "Tämä aihe on lukittu."
|
46
|
+
unmoderated_html: 'Tämä foorumi on tällä hetkellä valvomaton.<br />Olethan kohtelias ja ystävällinen.'
|
47
|
+
recent_posts: Tuoreet viestit
|
48
|
+
searching_for: etsiminen
|
49
|
+
by_user: '%{user}'
|
50
|
+
in_forum: '%{forum}'
|
51
|
+
views_posts:
|
52
|
+
formatting_help: Formatting Help
|
53
|
+
formatting_desc: on käytetty muotoiltuun tekstiin.
|
54
|
+
formatting_bold: '**bold**'
|
55
|
+
formatting_italics: '*italics*, _italics_'
|
56
|
+
formatting_blockquote: '> <span>(quotes)</span>'
|
57
|
+
formatting_icode: '`code`'
|
58
|
+
formatting_horizontal_rule: '*** <span>(horizontal rule)</span>'
|
59
|
+
formatting_list: '* <span>or</span> 1. <span>(lists)</span>'
|
60
|
+
save: 'Säästä viesti'
|
61
|
+
topic: Aihe
|
62
|
+
locked: Lukittu
|
63
|
+
or: tai
|
64
|
+
cancel: peruuta
|
65
|
+
reply: Vastaa
|
66
|
+
admin:
|
67
|
+
edit_post: Muokkaa viestiä
|
68
|
+
suspended_user_post: Tämä viesti on poistettu
|
69
|
+
reply_to_topic: Vastaa aiheeseen
|
70
|
+
views_topics:
|
71
|
+
topic: Nimi
|
72
|
+
body: Body
|
73
|
+
delete_sure: 'Poista tämä aihe lopullisesti?'
|
74
|
+
locked_topic: 'Tämä aihe on lukittu.'
|
75
|
+
save_reply: Säästä vastaus
|
76
|
+
cancel: Peruuta
|
77
|
+
lock_topic: Lukittu
|
78
|
+
sticky: Sticky
|
79
|
+
edit_topic: Muokkaa aihetta
|
80
|
+
post_topic: Lähetä viesti
|
81
|
+
new_topic: Uusi aihe
|
82
|
+
voices: Ääniä
|
83
|
+
edit: muokkaa
|
84
|
+
delete: poista
|
85
|
+
all: kaikki aiheet
|
86
|
+
followed: vain valvottuja aiheita
|
87
|
+
started: Aloittaja
|
88
|
+
comment_age: "%{when} sitten"
|
89
|
+
by_user_html: "%{user}"
|
90
|
+
moderator: Valvoja
|
91
|
+
replies: vastaukset
|
92
|
+
views: katselukerrat
|
93
|
+
last_post_on: "Viimeinen viesti %{user} :: %{date}"
|
94
|
+
comments_header: Kommentit
|
95
|
+
no_topics: Ole ensimmäinen luomassa aihe
|
96
|
+
no_followed_topics: Tällä hetkellä ei ole valvottuja aiheita
|
97
|
+
no_forums: Foorumi osio on saatavilla pian
|
98
|
+
comment_notification_inform: Saat automaattisesti ilmoituksen mahdollisista tulevista kommentteja
|
99
|
+
follow: Seurata
|
100
|
+
follow_stop: Stop Following
|
101
|
+
topic_follow_section:
|
102
|
+
title: seuraa aihetta sähköpostein
|
103
|
+
description: seuraa aihetta ja vastaanota sähköposti-ilmoitus uusista kommenteista
|
104
|
+
|
@@ -0,0 +1,104 @@
|
|
1
|
+
ja:
|
2
|
+
fms:
|
3
|
+
count_forums:
|
4
|
+
zero: "no forum"
|
5
|
+
one: "1 forum"
|
6
|
+
other: "%{num} forums"
|
7
|
+
count_users:
|
8
|
+
zero: "no users"
|
9
|
+
one: "1 user"
|
10
|
+
other: "%{num} users"
|
11
|
+
count_users_active:
|
12
|
+
zero: "no active users"
|
13
|
+
one: "1 active user"
|
14
|
+
other: "%{num} active users"
|
15
|
+
count_users_lurking:
|
16
|
+
zero: "no lurking users"
|
17
|
+
one: "1 lurking user"
|
18
|
+
other: "%{num} lurking users"
|
19
|
+
count_voices:
|
20
|
+
zero: "no voices"
|
21
|
+
one: "1 voice"
|
22
|
+
other: "%{num} voices"
|
23
|
+
count_topics:
|
24
|
+
zero: "no topics"
|
25
|
+
one: "1 topic"
|
26
|
+
other: "%{num} topics"
|
27
|
+
count_comments:
|
28
|
+
zero: "no comments"
|
29
|
+
one: "1 comment"
|
30
|
+
other: "%{num} comments"
|
31
|
+
count_comments_found:
|
32
|
+
zero: "no comments found"
|
33
|
+
one: "1 comment found"
|
34
|
+
other: "%{count} comments found"
|
35
|
+
comment_age: "commented %{when} ago"
|
36
|
+
user_is_administrator: Administrator
|
37
|
+
user_is_moderator: Moderator
|
38
|
+
suspended_user_comment: This comment has been removed
|
39
|
+
post_edited: 'edited %{when} ago'
|
40
|
+
forums: Forums
|
41
|
+
page_nr: 'page %{nr}'
|
42
|
+
views_forums:
|
43
|
+
recent_activity: Recent activity
|
44
|
+
no_recent_activity: No recent activity
|
45
|
+
comma_locked_topic: "This topic is locked."
|
46
|
+
unmoderated_html: 'This forum is currently unmoderated.<br />Please always be courteous.'
|
47
|
+
recent_posts: Recent Posts
|
48
|
+
searching_for: Searching for
|
49
|
+
by_user: 'by %{user}'
|
50
|
+
in_forum: 'in %{forum}'
|
51
|
+
views_posts:
|
52
|
+
formatting_help: Formatting Help
|
53
|
+
formatting_desc: is used for formatting text.
|
54
|
+
formatting_bold: '**bold**'
|
55
|
+
formatting_italics: '*italics*, _italics_'
|
56
|
+
formatting_blockquote: '> <span>(quotes)</span>'
|
57
|
+
formatting_icode: '`code`'
|
58
|
+
formatting_horizontal_rule: '*** <span>(horizontal rule)</span>'
|
59
|
+
formatting_list: '* <span>or</span> 1. <span>(lists)</span>'
|
60
|
+
save: 'Save post'
|
61
|
+
topic: Topic
|
62
|
+
locked: Locked
|
63
|
+
or: or
|
64
|
+
cancel: cancel
|
65
|
+
reply: Reply
|
66
|
+
admin:
|
67
|
+
edit_post: Edit post
|
68
|
+
suspended_user_post: This post has been removed
|
69
|
+
reply_to_topic: Reply to topic
|
70
|
+
views_topics:
|
71
|
+
topic: Name
|
72
|
+
body: Body
|
73
|
+
delete_sure: 'Delete this topic forever?'
|
74
|
+
locked_topic: 'This topic is locked.'
|
75
|
+
save_reply: Save reply
|
76
|
+
cancel: Cancel
|
77
|
+
lock_topic: Locked
|
78
|
+
sticky: Sticky
|
79
|
+
edit_topic: Edit topic
|
80
|
+
post_topic: Post topic
|
81
|
+
new_topic: New topic
|
82
|
+
voices: Voices
|
83
|
+
edit: edit
|
84
|
+
delete: delete
|
85
|
+
all: all topics
|
86
|
+
followed: only watched topics
|
87
|
+
started: Started by
|
88
|
+
comment_age: "%{when} ago"
|
89
|
+
by_user_html: "by %{user}"
|
90
|
+
moderator: Moderator
|
91
|
+
replies: replies
|
92
|
+
views: views
|
93
|
+
last_post_on: "Last post by %{user} :: %{date}"
|
94
|
+
comments_header: Comments
|
95
|
+
no_topics: Be the first to create a topic
|
96
|
+
no_followed_topics: There are currently no topics being followed
|
97
|
+
no_forums: The Forum section will be available soon
|
98
|
+
comment_notification_inform: あなたは自動的に将来のコメントの通知を受け取ります
|
99
|
+
follow: 購読する
|
100
|
+
follow_stop: 購読停止する
|
101
|
+
topic_follow_section:
|
102
|
+
title: Follow Topic by Email
|
103
|
+
description: Follow this topic and receive email notifications of new comments
|
104
|
+
|
data/config/routes.rb
ADDED
@@ -0,0 +1,43 @@
|
|
1
|
+
DmForum::Engine.routes.draw do
|
2
|
+
|
3
|
+
#--- for some reason, just having this in the main app's routes didn't work, so also added here
|
4
|
+
themes_for_rails
|
5
|
+
|
6
|
+
scope ":locale" do
|
7
|
+
namespace :admin do
|
8
|
+
get '/dashboard/widget_forum_comments(/:comment_day)', :controller => 'dashboard', :action => :widget_forum_comments, :as => :widget_forum_comments
|
9
|
+
scope 'fms' do
|
10
|
+
resource :forum_site
|
11
|
+
post '/forum_categories/sort', :controller => 'forum_categories', :action => :sort, :as => :forum_category_sort
|
12
|
+
resources :forum_categories do
|
13
|
+
resources :forums
|
14
|
+
end
|
15
|
+
post '/forums/sort', :controller => 'forums', :action => :sort, :as => :forum_sort
|
16
|
+
resources :forums do
|
17
|
+
member do
|
18
|
+
get 'forum_users', :action => :forum_users, :as => :forum_users
|
19
|
+
match 'forum_add_member', :action => :forum_add_member, :as => :forum_add_member, :via => [:get, :post]
|
20
|
+
delete 'forum_delete_member', :action => :forum_delete_member, :as => :forum_delete_member
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
scope 'forum' do
|
27
|
+
get '/', :controller => 'forums', :action => :categories, :as => :forum_root
|
28
|
+
get '/:id', :controller => 'forums', :action => :show, :as => :forum_show
|
29
|
+
resources :forums do
|
30
|
+
resources :forum_topics do
|
31
|
+
resources :forum_comments
|
32
|
+
patch 'toggle_follow', :action => :toggle_follow
|
33
|
+
end
|
34
|
+
resources :posts
|
35
|
+
end
|
36
|
+
|
37
|
+
resources :forum_comments do
|
38
|
+
get :search, :on => :collection
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
end
|
@@ -0,0 +1,72 @@
|
|
1
|
+
class CreateForums < ActiveRecord::Migration
|
2
|
+
def up
|
3
|
+
|
4
|
+
create_table :fms_forums, :force => true do |t|
|
5
|
+
t.integer :account_id
|
6
|
+
t.integer :forum_site_id
|
7
|
+
t.string :name
|
8
|
+
t.text :description
|
9
|
+
t.integer :forum_topics_count, :default => 0
|
10
|
+
t.integer :comments_count, :default => 0
|
11
|
+
t.integer :row_order, :default => 0
|
12
|
+
t.text :description_html
|
13
|
+
t.string :state, :default => "public"
|
14
|
+
t.boolean :published, :default => false
|
15
|
+
t.string :slug
|
16
|
+
end
|
17
|
+
add_index :fms_forums, [:account_id, :slug]
|
18
|
+
|
19
|
+
create_table :fms_monitorships, :force => true do |t|
|
20
|
+
t.integer :account_id
|
21
|
+
t.integer :user_id
|
22
|
+
t.integer :forum_topic_id
|
23
|
+
t.datetime :created_at
|
24
|
+
t.datetime :updated_at
|
25
|
+
t.boolean :active, :default => true
|
26
|
+
end
|
27
|
+
add_index :fms_monitorships, :account_id
|
28
|
+
|
29
|
+
create_table :fms_forum_sites, :force => true do |t|
|
30
|
+
t.integer :account_id
|
31
|
+
t.boolean :enabled, :default => false
|
32
|
+
t.datetime :created_at
|
33
|
+
t.datetime :updated_at
|
34
|
+
t.integer :forum_topics_count, :default => 0
|
35
|
+
t.integer :comments_count, :default => 0
|
36
|
+
t.integer :users_count, :default => 0
|
37
|
+
t.text :description
|
38
|
+
t.text :tagline
|
39
|
+
end
|
40
|
+
|
41
|
+
create_table :fms_forum_topics, :force => true do |t|
|
42
|
+
t.integer :account_id
|
43
|
+
t.integer :forum_id
|
44
|
+
t.integer :user_id
|
45
|
+
t.string :title
|
46
|
+
t.datetime :created_at
|
47
|
+
t.datetime :updated_at
|
48
|
+
t.integer :hits, :default => 0
|
49
|
+
t.boolean :sticky, :default => false
|
50
|
+
t.integer :comments_count, :default => 0
|
51
|
+
t.boolean :locked, :default => false
|
52
|
+
t.integer :last_forum_comment_id
|
53
|
+
t.datetime :last_updated_at
|
54
|
+
t.integer :last_user_id
|
55
|
+
t.integer :forum_site_id
|
56
|
+
t.string :slug
|
57
|
+
end
|
58
|
+
|
59
|
+
add_index :fms_forum_topics, [:account_id, :forum_id, :slug]
|
60
|
+
add_index :fms_forum_topics, [:account_id, :last_updated_at, :forum_id], :name => 'index_forum_topics_last_updated_at_forum_id'
|
61
|
+
add_index :fms_forum_topics, [:account_id, :sticky, :last_updated_at, :forum_id], :name => 'index_forum_topics_sticky_last_updated_at_forum_id'
|
62
|
+
|
63
|
+
end
|
64
|
+
|
65
|
+
def down
|
66
|
+
drop_table :fms_forums
|
67
|
+
drop_table :fms_moderatorships
|
68
|
+
drop_table :fms_monitorships
|
69
|
+
drop_table :fms_forum_sites
|
70
|
+
drop_table :fms_forum_topics
|
71
|
+
end
|
72
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
class AddPublicForum < ActiveRecord::Migration
|
2
|
+
def up
|
3
|
+
add_column :fms_forums, :is_public, :boolean, :default => false
|
4
|
+
add_column :fms_forums, :requires_login, :boolean, :default => false
|
5
|
+
remove_column :fms_forums, :state
|
6
|
+
end
|
7
|
+
|
8
|
+
def down
|
9
|
+
remove_column :fms_forums, :is_public
|
10
|
+
remove_column :fms_forums, :requires_login
|
11
|
+
add_column :fms_forums, :state, :string, :default => 'public'
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
class DeleteMonitorships < ActiveRecord::Migration
|
2
|
+
def up
|
3
|
+
drop_table :fms_monitorships
|
4
|
+
end
|
5
|
+
|
6
|
+
def down
|
7
|
+
create_table :fms_monitorships, :force => true do |t|
|
8
|
+
t.integer :account_id
|
9
|
+
t.integer :user_id
|
10
|
+
t.integer :forum_topic_id
|
11
|
+
t.datetime :created_at
|
12
|
+
t.datetime :updated_at
|
13
|
+
t.boolean :active, :default => true
|
14
|
+
end
|
15
|
+
add_index :fms_monitorships, :account_id
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,9 @@
|
|
1
|
+
class IndexForeignKeysInFmsForumTopics < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
add_index :fms_forum_topics, :forum_id
|
4
|
+
add_index :fms_forum_topics, :forum_site_id
|
5
|
+
add_index :fms_forum_topics, :last_forum_comment_id
|
6
|
+
add_index :fms_forum_topics, :last_user_id
|
7
|
+
add_index :fms_forum_topics, :user_id
|
8
|
+
end
|
9
|
+
end
|
data/lib/dm_forum.rb
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
== README
|
2
|
+
|
3
|
+
This README would normally document whatever steps are necessary to get the
|
4
|
+
application up and running.
|
5
|
+
|
6
|
+
Things you may want to cover:
|
7
|
+
|
8
|
+
* Ruby version
|
9
|
+
|
10
|
+
* System dependencies
|
11
|
+
|
12
|
+
* Configuration
|
13
|
+
|
14
|
+
* Database creation
|
15
|
+
|
16
|
+
* Database initialization
|
17
|
+
|
18
|
+
* How to run the test suite
|
19
|
+
|
20
|
+
* Services (job queues, cache servers, search engines, etc.)
|
21
|
+
|
22
|
+
* Deployment instructions
|
23
|
+
|
24
|
+
* ...
|
25
|
+
|
26
|
+
|
27
|
+
Please feel free to use a different markup language if you do not plan to run
|
28
|
+
<tt>rake doc:app</tt>.
|
data/spec/dummy/Rakefile
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
// This is a manifest file that'll be compiled into application.js, which will include all the files
|
2
|
+
// listed below.
|
3
|
+
//
|
4
|
+
// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
|
5
|
+
// or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path.
|
6
|
+
//
|
7
|
+
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
|
8
|
+
// compiled file.
|
9
|
+
//
|
10
|
+
// Read Sprockets README (https://github.com/sstephenson/sprockets#sprockets-directives) for details
|
11
|
+
// about supported directives.
|
12
|
+
//
|
13
|
+
//= require_tree .
|
@@ -0,0 +1,15 @@
|
|
1
|
+
/*
|
2
|
+
* This is a manifest file that'll be compiled into application.css, which will include all the files
|
3
|
+
* listed below.
|
4
|
+
*
|
5
|
+
* Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
|
6
|
+
* or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path.
|
7
|
+
*
|
8
|
+
* You're free to add application-wide styles to this file and they'll appear at the bottom of the
|
9
|
+
* compiled file so the styles you add here take precedence over styles defined in any styles
|
10
|
+
* defined in the other CSS/SCSS files in this directory. It is generally better to create a new
|
11
|
+
* file per style scope.
|
12
|
+
*
|
13
|
+
*= require_tree .
|
14
|
+
*= require_self
|
15
|
+
*/
|
@@ -0,0 +1,12 @@
|
|
1
|
+
# Application's CanCan ability class, include all gem abilities
|
2
|
+
#------------------------------------------------------------------------------
|
3
|
+
class Ability
|
4
|
+
include CanCan::Ability
|
5
|
+
include DmCore::Concerns::Ability
|
6
|
+
include DmKnowledge::Concerns::Ability
|
7
|
+
|
8
|
+
def initialize(user)
|
9
|
+
dm_knowledge_abilities(user) if respond_to? :dm_knowlege_abilities
|
10
|
+
dm_core_abilities(user) if respond_to? :dm_core_abilities
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<title>Dummy</title>
|
5
|
+
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
|
6
|
+
<%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
|
7
|
+
<%= csrf_meta_tags %>
|
8
|
+
</head>
|
9
|
+
<body>
|
10
|
+
|
11
|
+
<%= yield %>
|
12
|
+
|
13
|
+
</body>
|
14
|
+
</html>
|
data/spec/dummy/bin/rake
ADDED