simple_discussion 0.9.5 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/app/controllers/simple_discussion/forum_threads_controller.rb +1 -1
- data/app/models/forum_thread.rb +5 -5
- data/app/views/layouts/simple_discussion.html.erb +46 -11
- data/app/views/simple_discussion/forum_posts/_form.html.erb +2 -2
- data/app/views/simple_discussion/forum_posts/_forum_post.html.erb +3 -3
- data/app/views/simple_discussion/forum_posts/edit.html.erb +6 -2
- data/app/views/simple_discussion/forum_threads/_form.html.erb +7 -7
- data/app/views/simple_discussion/forum_threads/_forum_thread.html.erb +3 -3
- data/app/views/simple_discussion/forum_threads/edit.html.erb +1 -1
- data/app/views/simple_discussion/forum_threads/show.html.erb +2 -2
- data/config/locales/en.yml +37 -0
- data/config/locales/es.yml +37 -0
- data/lib/simple_discussion/version.rb +1 -1
- metadata +5 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 8eb44f9da87f2a9e1cbf3ad42d69c10f4b010a3b6f09dd9dca27ce224aa1d7b3
|
4
|
+
data.tar.gz: 213e7b06dc339780bacd1cd4d079abda4efb465479d0c2fd05b966c834839cf1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ffe0817f1d31c617bd23aa09cd6d8e3b696321194bfacdcb897ccbe4121a3ae523e6f09dd21e0b9ff49205f753641ef9cf7fdb6ec81fe7a9c7212e0847c2d1f3
|
7
|
+
data.tar.gz: aac23697656f675a651c24a5a8c88ec09c3db39916a15fcee6fffc51e7efd3f9ead467c48423369b5c7439eb3cf4719366c04d1c81abb757fef588610580ec2f
|
@@ -54,7 +54,7 @@ class SimpleDiscussion::ForumThreadsController < SimpleDiscussion::ApplicationCo
|
|
54
54
|
|
55
55
|
def update
|
56
56
|
if @forum_thread.update(forum_thread_params)
|
57
|
-
redirect_to simple_discussion.forum_thread_path(@forum_thread), notice:
|
57
|
+
redirect_to simple_discussion.forum_thread_path(@forum_thread), notice: I18n.t('your_changes_were_saved')
|
58
58
|
else
|
59
59
|
render action: :edit
|
60
60
|
end
|
data/app/models/forum_thread.rb
CHANGED
@@ -56,20 +56,20 @@ class ForumThread < ApplicationRecord
|
|
56
56
|
end
|
57
57
|
|
58
58
|
def subscribed_reason(user)
|
59
|
-
return
|
59
|
+
return I18n.t('.not_receiving_notifications') if user.nil?
|
60
60
|
|
61
61
|
subscription = subscription_for(user)
|
62
62
|
|
63
63
|
if subscription.present?
|
64
64
|
if subscription.subscription_type == "optout"
|
65
|
-
|
65
|
+
I18n.t('.ignoring_thread')
|
66
66
|
elsif subscription.subscription_type == "optin"
|
67
|
-
|
67
|
+
I18n.t('.receiving_notifications_because_subscribed')
|
68
68
|
end
|
69
69
|
elsif forum_posts.where(user_id: user.id).any?
|
70
|
-
|
70
|
+
I18n.t('.receiving_notifications_because_posted')
|
71
71
|
else
|
72
|
-
|
72
|
+
I18n.t('.not_receiving_notifications')
|
73
73
|
end
|
74
74
|
end
|
75
75
|
|
@@ -1,29 +1,63 @@
|
|
1
1
|
<div class="row col-md-12">
|
2
|
-
<h1>
|
2
|
+
<h1>
|
3
|
+
<%= t('community') %>
|
4
|
+
</h1>
|
3
5
|
</div>
|
4
6
|
|
5
7
|
<div class="row simple_discussion">
|
6
8
|
<div class="col-md-3 mb-3">
|
7
9
|
|
8
10
|
<div class="card card-body">
|
9
|
-
<%= link_to '
|
11
|
+
<%= link_to t('ask_a_question'), simple_discussion.new_forum_thread_path, class: "btn btn-outline-primary btn-block" %>
|
10
12
|
<hr />
|
11
13
|
|
12
14
|
<div class="forum-thread-filters">
|
13
|
-
<h5
|
14
|
-
|
15
|
+
<h5>
|
16
|
+
<strong>
|
17
|
+
<%= t('filters') %>
|
18
|
+
</strong>
|
19
|
+
</h5>
|
20
|
+
<div>
|
21
|
+
<%= forum_link_to simple_discussion.forum_threads_path, exact: true do %>
|
22
|
+
<%= icon "bars" %>
|
23
|
+
<%= t('.all_threads') %>
|
24
|
+
<% end %>
|
25
|
+
</div>
|
15
26
|
<% if user_signed_in? %>
|
16
|
-
<div
|
17
|
-
|
27
|
+
<div>
|
28
|
+
<%= forum_link_to simple_discussion.mine_forum_threads_path do %><%= icon "user-circle-o" %>
|
29
|
+
<%= t('.my_questions') %>
|
30
|
+
<% end %>
|
31
|
+
</div>
|
32
|
+
<div>
|
33
|
+
<%= forum_link_to simple_discussion.participating_forum_threads_path do %>
|
34
|
+
<%= icon "comments-o" %>
|
35
|
+
<%= t('.participating') %>
|
36
|
+
<% end %>
|
37
|
+
</div>
|
18
38
|
<% end %>
|
19
|
-
<div
|
20
|
-
|
39
|
+
<div>
|
40
|
+
<%= forum_link_to simple_discussion.answered_forum_threads_path do %>
|
41
|
+
<%= icon "check" %>
|
42
|
+
<%= t('.answered') %>
|
43
|
+
<% end %>
|
44
|
+
</div>
|
45
|
+
<div>
|
46
|
+
<%= forum_link_to simple_discussion.unanswered_forum_threads_path do %>
|
47
|
+
<%= icon "question" %>
|
48
|
+
<%= t('.unanswered') %>
|
49
|
+
<% end %>
|
50
|
+
</div>
|
21
51
|
</div>
|
22
52
|
|
23
53
|
<hr />
|
24
54
|
|
25
55
|
<div class="forum-thread-filters">
|
26
|
-
<h6
|
56
|
+
<h6>
|
57
|
+
<strong>
|
58
|
+
<%= t('.by_category') %>
|
59
|
+
</strong>
|
60
|
+
</h6>
|
27
61
|
<div><%= forum_link_to simple_discussion.forum_threads_path, exact: true do %><%= icon "circle" %> All<% end %></div>
|
28
62
|
<% ForumCategory.sorted.each do |category| %>
|
29
63
|
<div>
|
@@ -39,13 +73,14 @@
|
|
39
73
|
<hr />
|
40
74
|
|
41
75
|
<%# User has not posted in the thread or subscribed %>
|
42
|
-
<h5
|
76
|
+
<h5><%= t('.notifications') %></h5>
|
43
77
|
|
44
78
|
<%= link_to simple_discussion.forum_thread_notifications_path(@forum_thread), method: :post, class: "btn btn-secondary btn-sm btn-block mb-2" do %>
|
45
79
|
<% if @forum_thread.subscribed? current_user %>
|
46
80
|
<%= icon "bell-slash" %> Unsubscribe
|
47
81
|
<% else %>
|
48
|
-
<%= icon "bell" %>
|
82
|
+
<%= icon "bell" %>
|
83
|
+
<%= t('.suscribe') %>
|
49
84
|
<% end %>
|
50
85
|
<% end %>
|
51
86
|
|
@@ -15,7 +15,7 @@
|
|
15
15
|
<% end %>
|
16
16
|
|
17
17
|
<div class="form-group">
|
18
|
-
<%= f.text_area :body, placeholder:
|
18
|
+
<%= f.text_area :body, placeholder: t('add_a_comment'), rows: 8, class: "form-control simplemde", data: { behavior: "comment-body" } %>
|
19
19
|
</div>
|
20
20
|
|
21
21
|
<div class="text-right">
|
@@ -26,7 +26,7 @@
|
|
26
26
|
</small>
|
27
27
|
</div>
|
28
28
|
|
29
|
-
<%= f.button "#{
|
29
|
+
<%= f.button "#{f.object.new_record? ? t('comment') : t('update_comment') }", class: "btn btn-primary", data: {disable_with: "<i class='fa fa-spinner fa-spin'></i> #{t('saving_comment')}"} %>
|
30
30
|
</div>
|
31
31
|
|
32
32
|
<% end %>
|
@@ -8,7 +8,7 @@
|
|
8
8
|
<%= link_to icon("pencil"), simple_discussion.edit_forum_thread_forum_post_path(@forum_thread, forum_post),
|
9
9
|
class: "text-muted",
|
10
10
|
data: { toggle: "tooltip", placement: "left" },
|
11
|
-
title:
|
11
|
+
title: t('edit_this_post')
|
12
12
|
%>
|
13
13
|
</div>
|
14
14
|
<% end %>
|
@@ -20,7 +20,7 @@
|
|
20
20
|
<%= forum_post.user.name %> <%= forum_user_badge(forum_post.user) %>
|
21
21
|
</strong>
|
22
22
|
<small>
|
23
|
-
|
23
|
+
<%= t('commented_on') %>
|
24
24
|
<%= link_to forum_post.created_at.strftime("%b %d, %Y"), simple_discussion.forum_thread_path(@forum_thread, anchor: "forum_post_#{forum_post.id}") %>:
|
25
25
|
</small>
|
26
26
|
</div>
|
@@ -49,7 +49,7 @@
|
|
49
49
|
<small>
|
50
50
|
<%= link_to simple_discussion.solved_forum_thread_forum_post_path(@forum_thread, forum_post), method: :put do %>
|
51
51
|
<%= icon("check") %>
|
52
|
-
|
52
|
+
<%= t('this_solved_my_question') %>
|
53
53
|
<% end %>
|
54
54
|
</small>
|
55
55
|
</div>
|
@@ -4,7 +4,8 @@
|
|
4
4
|
|
5
5
|
<p class="thread-details">
|
6
6
|
<strong><%= category_link(@forum_thread.forum_category) %></strong>
|
7
|
-
•
|
7
|
+
• <%= t('asked_time_ago', time: time_ago_in_words(@forum_thread.created_at), author: @forum_thread.user.name) %>
|
8
|
+
</p>
|
8
9
|
</p>
|
9
10
|
|
10
11
|
<br />
|
@@ -14,7 +15,10 @@
|
|
14
15
|
<div>
|
15
16
|
<%= avatar_tag(@forum_post.user.email) %>
|
16
17
|
<strong class="forum-post-user"><%= @forum_post.user.name %></strong>
|
17
|
-
<small>
|
18
|
+
<small>
|
19
|
+
<%= t('commented_on')%>
|
20
|
+
<%= link_to @forum_post.created_at.strftime("%b %d, %Y"), simple_discussion.forum_thread_url(@forum_thread, anchor: "forum_post_#{@forum_post.id}") %>:
|
21
|
+
</small>
|
18
22
|
</div>
|
19
23
|
</div>
|
20
24
|
|
@@ -15,29 +15,29 @@
|
|
15
15
|
<% end %>
|
16
16
|
|
17
17
|
<div class="form-group">
|
18
|
-
<%= f.label :forum_category_id,
|
19
|
-
<%= f.collection_select :forum_category_id, ForumCategory.sorted, :id, :name, {include_blank:
|
18
|
+
<%= f.label :forum_category_id, t('choose_a_category') %>
|
19
|
+
<%= f.collection_select :forum_category_id, ForumCategory.sorted, :id, :name, {include_blank: t('pick_a_category')}, {autofocus: true, class: "form-control"} %>
|
20
20
|
</div>
|
21
21
|
|
22
22
|
<div class="form-group">
|
23
|
-
<%= f.label
|
24
|
-
<%= f.text_field :title, placeholder:
|
23
|
+
<%= f.label t('title') %>
|
24
|
+
<%= f.text_field :title, placeholder: t('how_do_i'), class: "form-control" %>
|
25
25
|
</div>
|
26
26
|
|
27
27
|
<% if local_assigns.fetch(:posts, true) %>
|
28
28
|
<%= f.fields_for :forum_posts do |p| %>
|
29
29
|
<div class="form-group">
|
30
30
|
<%= p.label :body, "What do you need help with?" %>
|
31
|
-
<%= p.text_area :body, placeholder:
|
31
|
+
<%= p.text_area :body, placeholder: t('add_a_comment'), rows: 10, class: "form-control simplemde", data: { behavior: "comment-body" } %>
|
32
32
|
</div>
|
33
33
|
<% end %>
|
34
34
|
<% end %>
|
35
35
|
|
36
36
|
<div class="form-group text-right">
|
37
37
|
<% if f.object.new_record? %>
|
38
|
-
<%= f.button "Ask Your Question", class: "btn btn-primary", data: {disable_with: "<i class='fa fa-spinner fa-spin'></i>
|
38
|
+
<%= f.button "Ask Your Question", class: "btn btn-primary", data: {disable_with: "<i class='fa fa-spinner fa-spin'></i> #{t('saving')}"} %>
|
39
39
|
<% else %>
|
40
|
-
<%= f.button "Update Thread", class: "btn btn-primary", data: {disable_with: "<i class='fa fa-spinner fa-spin'></i>
|
40
|
+
<%= f.button "Update Thread", class: "btn btn-primary", data: {disable_with: "<i class='fa fa-spinner fa-spin'></i> #{t('saving')}"} %>
|
41
41
|
<% end %>
|
42
42
|
</div>
|
43
43
|
|
@@ -19,16 +19,16 @@
|
|
19
19
|
|
20
20
|
<div class="thread-details">
|
21
21
|
<strong><%= category_link(forum_thread.forum_category) %></strong>
|
22
|
-
•
|
22
|
+
• <%= t('asked_time_ago', time: time_ago_in_words(forum_thread.created_at), author: forum_thread.user.name) %>
|
23
23
|
</div>
|
24
24
|
|
25
25
|
<p class="text-muted"><%= truncate(forum_thread.forum_posts.first.body, length: 200) %></p>
|
26
26
|
</div>
|
27
27
|
|
28
|
-
<div class="col-sm-
|
28
|
+
<div class="col-sm-2 text-center">
|
29
29
|
<%= link_to simple_discussion.forum_thread_path(forum_thread), class: "thread-posts-count" do %>
|
30
30
|
<span class="count"><%= forum_thread.forum_posts_count %></span>
|
31
|
-
<small><%= "post"
|
31
|
+
<small><%= t("post", count: forum_thread.forum_posts_count) %></small>
|
32
32
|
<% end %>
|
33
33
|
</div>
|
34
34
|
|
@@ -8,7 +8,7 @@
|
|
8
8
|
<%= link_to icon("pencil"), simple_discussion.edit_forum_thread_path(@forum_thread),
|
9
9
|
class: "text-muted",
|
10
10
|
data: { toggle: "tooltip", placement: "left" },
|
11
|
-
title:
|
11
|
+
title: t('edit_this_thread') %>
|
12
12
|
</div>
|
13
13
|
<% end %>
|
14
14
|
|
@@ -16,7 +16,7 @@
|
|
16
16
|
|
17
17
|
<p class="thread-details">
|
18
18
|
<strong><%= category_link(@forum_thread.forum_category) %></strong>
|
19
|
-
•
|
19
|
+
• <%= t('asked_time_ago', time: time_ago_in_words(@forum_thread.created_at), author: @forum_thread.user.name) %>
|
20
20
|
</p>
|
21
21
|
|
22
22
|
<%= render partial: "simple_discussion/forum_posts/forum_post", collection: @forum_thread.forum_posts.includes(:user).sorted %>
|
@@ -0,0 +1,37 @@
|
|
1
|
+
en:
|
2
|
+
add_a_comment: Add A Comment
|
3
|
+
ask_a_question: Ask A Question
|
4
|
+
asked_time_ago: "Asked %{time} ago by %{author}"
|
5
|
+
choose_a_category: Choose a Category
|
6
|
+
comment: comment
|
7
|
+
commented_on: Commented on
|
8
|
+
community: Community
|
9
|
+
edit_this_post: Edit this post
|
10
|
+
edit_this_thread: Edit this thread
|
11
|
+
edit_thread: Edit thread
|
12
|
+
filters: Filters
|
13
|
+
how_do_i: How do I...?
|
14
|
+
ignoring_thread: You're ignoring this thread.
|
15
|
+
not_receiving_notifications: You’re not receiving notifications from this thread.
|
16
|
+
layouts:
|
17
|
+
simple_discussion:
|
18
|
+
all_threads: All Threads
|
19
|
+
answered: Answered
|
20
|
+
by_category: By Category
|
21
|
+
my_questions: My Questions
|
22
|
+
notifications: Notifications
|
23
|
+
participating: Participating
|
24
|
+
suscribe: Subscribe
|
25
|
+
unanswered: Unanswered
|
26
|
+
pick_a_category: Pick a category...
|
27
|
+
post:
|
28
|
+
one: post
|
29
|
+
other: posts
|
30
|
+
receiving_notifications_because_subscribed: You're receiving notifications because you've subscribed to this thread.
|
31
|
+
receiving_notifications_because_posted: You're receiving notifications because you've posted in this thread.
|
32
|
+
saving_comment: Saving comment...
|
33
|
+
saving: Saving
|
34
|
+
this_solved_my_question: This solved my question
|
35
|
+
title: title
|
36
|
+
update_comment: Update comment
|
37
|
+
your_changes_were_saved: Your changes were saved
|
@@ -0,0 +1,37 @@
|
|
1
|
+
es:
|
2
|
+
add_a_comment: Añade un comentario
|
3
|
+
ask_a_question: HAZ UNA PREGUNTA
|
4
|
+
asked_time_ago: "Preguntado hace %{time} por %{author}"
|
5
|
+
choose_a_category: Selecciona una categoría
|
6
|
+
comment: comenta
|
7
|
+
commented_on: Comentado en
|
8
|
+
community: Comunidad
|
9
|
+
edit_this_post: Edita esta publicación
|
10
|
+
edit_this_thread: Edita este tema
|
11
|
+
edit_thread: Edita el tema
|
12
|
+
filters: Filtros
|
13
|
+
how_do_i: Cómo puedo...?
|
14
|
+
ignoring_thread: "Estás ignorando este tema"
|
15
|
+
not_receiving_notifications: "No estás recibiendo notificaciones de este tema."
|
16
|
+
layouts:
|
17
|
+
simple_discussion:
|
18
|
+
all_threads: Todos Los Temas
|
19
|
+
answered: Respondidas
|
20
|
+
by_category: Por Categoría
|
21
|
+
my_questions: Mis Preguntas
|
22
|
+
notifications: Notificaciones
|
23
|
+
participating: Participando
|
24
|
+
suscribe: Suscribirse
|
25
|
+
unanswered: Sin Responder
|
26
|
+
pick_a_category: Elige una categoría...
|
27
|
+
post:
|
28
|
+
one: publicación
|
29
|
+
other: publicaciones
|
30
|
+
receiving_notifications_because_subscribed: Estás recibiendo notificaciones porque te suscribiste a este tema.
|
31
|
+
receiving_notifications_because_posted: Estás recibiendo notificaciones porque publicaste en este tema.
|
32
|
+
saving_comment: Guardando comentario...
|
33
|
+
saving: Guardando
|
34
|
+
this_solved_my_question: Esto resolvió mi pregunta
|
35
|
+
title: Título
|
36
|
+
update_comment: Actualiza tu comentario
|
37
|
+
your_changes_were_saved: Tus cambios fueron guardados
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: simple_discussion
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chris Oliver
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-02-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: font-awesome-sass
|
@@ -124,6 +124,8 @@ files:
|
|
124
124
|
- app/views/simple_discussion/user_mailer/new_thread.html.erb
|
125
125
|
- bin/console
|
126
126
|
- bin/setup
|
127
|
+
- config/locales/en.yml
|
128
|
+
- config/locales/es.yml
|
127
129
|
- config/routes.rb
|
128
130
|
- db/migrate/20170417012930_create_forum_categories.rb
|
129
131
|
- db/migrate/20170417012931_create_forum_threads.rb
|
@@ -158,8 +160,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
158
160
|
- !ruby/object:Gem::Version
|
159
161
|
version: '0'
|
160
162
|
requirements: []
|
161
|
-
|
162
|
-
rubygems_version: 2.6.13
|
163
|
+
rubygems_version: 3.0.1
|
163
164
|
signing_key:
|
164
165
|
specification_version: 4
|
165
166
|
summary: A simple, extensible Rails forum
|