commontator 0.2.4 → 0.3.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/app/assets/stylesheets/commontator/threads.css +4 -0
- data/app/assets/stylesheets/commontator/threads.css~ +1 -1
- data/app/controllers/commontator/application_controller.rb +5 -0
- data/app/controllers/commontator/application_controller.rb~ +8 -1
- data/app/controllers/commontator/comments_controller.rb +24 -31
- data/app/controllers/commontator/comments_controller.rb~ +25 -32
- data/app/controllers/commontator/subscriptions_controller.rb +8 -18
- data/app/controllers/commontator/subscriptions_controller.rb~ +10 -16
- data/app/controllers/commontator/threads_controller.rb +3 -5
- data/app/controllers/commontator/threads_controller.rb~ +3 -6
- data/app/helpers/commontator/application_helper.rb +2 -6
- data/app/helpers/commontator/application_helper.rb~ +4 -4
- data/app/helpers/commontator/commontator_helper.rb +2 -2
- data/app/helpers/commontator/commontator_helper.rb~ +2 -2
- data/app/helpers/commontator/threads_helper.rb +1 -1
- data/app/helpers/commontator/threads_helper.rb~ +5 -12
- data/app/mailers/commontator/subscriptions_mailer.rb +15 -11
- data/app/mailers/commontator/subscriptions_mailer.rb~ +15 -12
- data/app/models/commontator/comment.rb +2 -2
- data/app/models/commontator/thread.rb +11 -11
- data/app/models/commontator/thread.rb~ +7 -9
- data/app/views/commontator/comments/_actions.html.erb +13 -16
- data/app/views/commontator/comments/_actions.html.erb~ +13 -17
- data/app/views/commontator/comments/create.js.erb +1 -1
- data/app/views/commontator/comments/create.js.erb~ +2 -2
- data/app/views/commontator/comments/delete.js.erb +1 -1
- data/app/views/commontator/comments/delete.js.erb~ +2 -2
- data/app/views/commontator/comments/edit.js.erb +1 -1
- data/app/views/commontator/comments/edit.js.erb~ +2 -2
- data/app/views/commontator/comments/new.js.erb +1 -1
- data/app/views/commontator/comments/new.js.erb~ +2 -2
- data/app/views/commontator/comments/update.js.erb +1 -1
- data/app/views/commontator/comments/update.js.erb~ +2 -2
- data/app/views/commontator/comments/vote.js.erb +1 -1
- data/app/views/commontator/comments/vote.js.erb~ +2 -2
- data/app/views/commontator/{commontator/_thread.html.erb~ → shared/_thread_link.html.erb} +1 -3
- data/app/views/commontator/subscriptions/{index.html.erb → _index.html.erb~} +0 -0
- data/app/views/commontator/subscriptions/_link.html.erb +15 -0
- data/app/views/commontator/subscriptions/_link.html.erb~ +15 -0
- data/app/views/commontator/subscriptions/_subscription_link.html.erb~ +8 -7
- data/app/views/commontator/subscriptions/create.js.erb~ +4 -2
- data/app/views/commontator/subscriptions/subscribe.js.erb +5 -0
- data/app/views/commontator/subscriptions/subscribe.js.erb~ +5 -0
- data/app/views/commontator/subscriptions_mailer/comment_created_email.html.erb +4 -12
- data/app/views/commontator/subscriptions_mailer/comment_created_email.html.erb~ +4 -12
- data/app/views/commontator/threads/_actions.html.erb~ +28 -0
- data/app/views/commontator/{commontator/_thread.html.erb → threads/_link.html.erb~} +1 -1
- data/app/views/commontator/threads/_show.html.erb +30 -2
- data/app/views/commontator/threads/_show.html.erb~ +31 -3
- data/app/views/commontator/threads/close.js.erb~ +5 -0
- data/app/views/commontator/threads/{show.html.erb → show.html.erb~} +0 -0
- data/app/views/commontator/threads/show.js.erb +1 -1
- data/app/views/commontator/threads/show.js.erb~ +6 -0
- data/config/initializers/commontator.rb +17 -11
- data/config/initializers/commontator.rb~ +16 -11
- data/config/routes.rb +2 -4
- data/config/routes.rb~ +4 -2
- data/lib/commontator.rb +1 -1
- data/lib/commontator.rb~ +2 -2
- data/lib/commontator/version.rb +1 -1
- data/lib/commontator/version.rb~ +1 -1
- data/test/dummy/config/initializers/commontator.rb +23 -12
- data/test/dummy/config/initializers/commontator.rb~ +174 -0
- data/test/dummy/log/development.log +6 -0
- metadata +15 -11
- data/app/views/commontator/comments/edit.html.erb +0 -6
- data/app/views/commontator/comments/new.html.erb +0 -8
- data/app/views/commontator/subscriptions/_subscription_link.html.erb +0 -12
- data/app/views/commontator/subscriptions/create.js.erb +0 -5
- data/app/views/commontator/subscriptions/destroy.js.erb +0 -5
@@ -13,6 +13,11 @@ module Commontator
|
|
13
13
|
@thread = params[:thread_id].blank? ? \
|
14
14
|
Commontator::Thread.find(params[:id]) : \
|
15
15
|
Commontator::Thread.find(params[:thread_id])
|
16
|
+
get_commontable_url
|
17
|
+
end
|
18
|
+
|
19
|
+
def get_commontable_url
|
20
|
+
@commontable_url = @thread.config.commontable_url_proc.call(main_app, @thread.commontable)
|
16
21
|
end
|
17
22
|
end
|
18
23
|
end
|
@@ -10,7 +10,14 @@ module Commontator
|
|
10
10
|
end
|
11
11
|
|
12
12
|
def get_thread
|
13
|
-
@thread = params[:thread_id].blank? ?
|
13
|
+
@thread = params[:thread_id].blank? ? \
|
14
|
+
Commontator::Thread.find(params[:id]) : \
|
15
|
+
Commontator::Thread.find(params[:thread_id])
|
16
|
+
get_commontable_url
|
17
|
+
end
|
18
|
+
|
19
|
+
def get_commontable_url
|
20
|
+
@thread.config.commontable_url_proc.call(main_app, @thread.commontable)
|
14
21
|
end
|
15
22
|
end
|
16
23
|
end
|
@@ -1,7 +1,5 @@
|
|
1
1
|
module Commontator
|
2
2
|
class CommentsController < ApplicationController
|
3
|
-
include ThreadsHelper
|
4
|
-
|
5
3
|
before_filter :get_thread, :only => [:new, :create]
|
6
4
|
before_filter :get_comment_and_thread, :except => [:new, :create]
|
7
5
|
|
@@ -14,7 +12,7 @@ module Commontator
|
|
14
12
|
raise SecurityTransgression unless @comment.can_be_created_by?(@commontator)
|
15
13
|
|
16
14
|
respond_to do |format|
|
17
|
-
format.html
|
15
|
+
format.html { redirect_to @commontable_url }
|
18
16
|
format.js
|
19
17
|
end
|
20
18
|
|
@@ -27,21 +25,19 @@ module Commontator
|
|
27
25
|
@comment.commontator = @commontator
|
28
26
|
|
29
27
|
raise SecurityTransgression unless @comment.can_be_created_by?(@commontator)
|
28
|
+
|
29
|
+
if @comment.save
|
30
|
+
@thread.subscribe(@commontator) if @thread.config.auto_subscribe_on_comment
|
31
|
+
@thread.mark_as_unread_except_for(@commontator)
|
32
|
+
SubscriptionsMailer.comment_created_email(@comment, @commontable_url)
|
33
|
+
@thread.comment_created_callback(@commontator, @comment)
|
34
|
+
else
|
35
|
+
@errors = @comment.errors
|
36
|
+
end
|
30
37
|
|
31
38
|
respond_to do |format|
|
32
|
-
|
33
|
-
|
34
|
-
@thread.mark_as_unread_except_for(@commontator)
|
35
|
-
SubscriptionsMailer.comment_created_email(@comment)
|
36
|
-
@thread.comment_created_callback(@commontator, @comment)
|
37
|
-
flash[:notice] = @thread.config.comment_name + ' ' + @thread.config.comment_create_verb_past
|
38
|
-
format.html { redirect_to @thread }
|
39
|
-
format.js
|
40
|
-
else
|
41
|
-
@errors = @comment.errors
|
42
|
-
format.html { render :action => 'new' }
|
43
|
-
format.js
|
44
|
-
end
|
39
|
+
format.html { redirect_to @commontable_url }
|
40
|
+
format.js
|
45
41
|
end
|
46
42
|
end
|
47
43
|
|
@@ -50,7 +46,7 @@ module Commontator
|
|
50
46
|
raise SecurityTransgression unless @comment.can_be_edited_by?(@commontator)
|
51
47
|
|
52
48
|
respond_to do |format|
|
53
|
-
format.html
|
49
|
+
format.html { redirect_to @commontable_url }
|
54
50
|
format.js
|
55
51
|
end
|
56
52
|
end
|
@@ -58,17 +54,13 @@ module Commontator
|
|
58
54
|
# PUT /comments/1
|
59
55
|
def update
|
60
56
|
raise SecurityTransgression unless @comment.can_be_edited_by?(@commontator)
|
57
|
+
|
58
|
+
@thread.comment_edited_callback(@commontator, @comment) \
|
59
|
+
if @comment.update_attributes(params[:comment])
|
61
60
|
|
62
61
|
respond_to do |format|
|
63
|
-
|
64
|
-
|
65
|
-
@thread.comment_edited_callback(@commontator, @comment)
|
66
|
-
format.html { redirect_to @thread }
|
67
|
-
format.js
|
68
|
-
else
|
69
|
-
format.html { render :action => "edit" }
|
70
|
-
format.js
|
71
|
-
end
|
62
|
+
format.html { redirect_to @commontable_url }
|
63
|
+
format.js
|
72
64
|
end
|
73
65
|
end
|
74
66
|
|
@@ -80,7 +72,7 @@ module Commontator
|
|
80
72
|
@thread.comment_deleted_callback(@commontator, @comment)
|
81
73
|
|
82
74
|
respond_to do |format|
|
83
|
-
format.html { redirect_to @
|
75
|
+
format.html { redirect_to @commontable_url }
|
84
76
|
format.js { render :delete }
|
85
77
|
end
|
86
78
|
end
|
@@ -92,7 +84,7 @@ module Commontator
|
|
92
84
|
@comment.undelete
|
93
85
|
|
94
86
|
respond_to do |format|
|
95
|
-
format.html { redirect_to @
|
87
|
+
format.html { redirect_to @commontable_url }
|
96
88
|
format.js { render :delete }
|
97
89
|
end
|
98
90
|
end
|
@@ -104,7 +96,7 @@ module Commontator
|
|
104
96
|
@comment.upvote_from @commontator
|
105
97
|
|
106
98
|
respond_to do |format|
|
107
|
-
format.html { redirect_to @
|
99
|
+
format.html { redirect_to @commontable_url }
|
108
100
|
format.js { render :vote }
|
109
101
|
end
|
110
102
|
end
|
@@ -116,7 +108,7 @@ module Commontator
|
|
116
108
|
@comment.downvote_from @commontator
|
117
109
|
|
118
110
|
respond_to do |format|
|
119
|
-
format.html { redirect_to @
|
111
|
+
format.html { redirect_to @commontable_url }
|
120
112
|
format.js { render :vote }
|
121
113
|
end
|
122
114
|
end
|
@@ -128,7 +120,7 @@ module Commontator
|
|
128
120
|
@comment.unvote :voter => @commontator
|
129
121
|
|
130
122
|
respond_to do |format|
|
131
|
-
format.html { redirect_to @
|
123
|
+
format.html { redirect_to @commontable_url }
|
132
124
|
format.js { render :vote }
|
133
125
|
end
|
134
126
|
end
|
@@ -138,6 +130,7 @@ module Commontator
|
|
138
130
|
def get_comment_and_thread
|
139
131
|
@comment = Comment.find(params[:id])
|
140
132
|
@thread = @comment.thread
|
133
|
+
get_commontable_url
|
141
134
|
end
|
142
135
|
end
|
143
136
|
end
|
@@ -1,7 +1,5 @@
|
|
1
1
|
module Commontator
|
2
2
|
class CommentsController < ApplicationController
|
3
|
-
include ThreadsHelper
|
4
|
-
|
5
3
|
before_filter :get_thread, :only => [:new, :create]
|
6
4
|
before_filter :get_comment_and_thread, :except => [:new, :create]
|
7
5
|
|
@@ -14,7 +12,7 @@ module Commontator
|
|
14
12
|
raise SecurityTransgression unless @comment.can_be_created_by?(@commontator)
|
15
13
|
|
16
14
|
respond_to do |format|
|
17
|
-
format.html
|
15
|
+
format.html { redirect_to @commontable_url }
|
18
16
|
format.js
|
19
17
|
end
|
20
18
|
|
@@ -27,21 +25,19 @@ module Commontator
|
|
27
25
|
@comment.commontator = @commontator
|
28
26
|
|
29
27
|
raise SecurityTransgression unless @comment.can_be_created_by?(@commontator)
|
28
|
+
|
29
|
+
if @comment.save
|
30
|
+
@thread.subscribe(@commontator) if @thread.config.auto_subscribe_on_comment
|
31
|
+
@thread.mark_as_unread_except_for(@commontator)
|
32
|
+
SubscriptionsMailer.comment_created_email(@comment)
|
33
|
+
@thread.comment_created_callback(@commontator, @comment)
|
34
|
+
else
|
35
|
+
@errors = @comment.errors
|
36
|
+
end
|
30
37
|
|
31
38
|
respond_to do |format|
|
32
|
-
|
33
|
-
|
34
|
-
@thread.mark_as_unread_except_for(@commontator)
|
35
|
-
SubscriptionsMailer.comment_created_email(@comment)
|
36
|
-
@thread.comment_created_callback(@commontator, @comment)
|
37
|
-
flash[:notice] = @thread.config.comment_name + ' ' + @thread.config.comment_create_verb_past
|
38
|
-
format.html { redirect_to @thread }
|
39
|
-
format.js
|
40
|
-
else
|
41
|
-
@errors = @comment.errors
|
42
|
-
format.html { render :action => 'new' }
|
43
|
-
format.js
|
44
|
-
end
|
39
|
+
format.html { redirect_to @commontable_url }
|
40
|
+
format.js
|
45
41
|
end
|
46
42
|
end
|
47
43
|
|
@@ -50,7 +46,7 @@ module Commontator
|
|
50
46
|
raise SecurityTransgression unless @comment.can_be_edited_by?(@commontator)
|
51
47
|
|
52
48
|
respond_to do |format|
|
53
|
-
format.html
|
49
|
+
format.html { redirect_to @commontable_url }
|
54
50
|
format.js
|
55
51
|
end
|
56
52
|
end
|
@@ -58,17 +54,13 @@ module Commontator
|
|
58
54
|
# PUT /comments/1
|
59
55
|
def update
|
60
56
|
raise SecurityTransgression unless @comment.can_be_edited_by?(@commontator)
|
57
|
+
|
58
|
+
@thread.comment_edited_callback(@commontator, @comment) \
|
59
|
+
if @comment.update_attributes(params[:comment])
|
61
60
|
|
62
61
|
respond_to do |format|
|
63
|
-
|
64
|
-
|
65
|
-
@thread.comment_edited_callback(@commontator, @comment)
|
66
|
-
format.html { redirect_to @thread }
|
67
|
-
format.js
|
68
|
-
else
|
69
|
-
format.html { render :action => "edit" }
|
70
|
-
format.js
|
71
|
-
end
|
62
|
+
format.html { redirect_to @commontable_url }
|
63
|
+
format.js
|
72
64
|
end
|
73
65
|
end
|
74
66
|
|
@@ -80,7 +72,7 @@ module Commontator
|
|
80
72
|
@thread.comment_deleted_callback(@commontator, @comment)
|
81
73
|
|
82
74
|
respond_to do |format|
|
83
|
-
format.html { redirect_to @
|
75
|
+
format.html { redirect_to @commontable_url }
|
84
76
|
format.js { render :delete }
|
85
77
|
end
|
86
78
|
end
|
@@ -92,8 +84,8 @@ module Commontator
|
|
92
84
|
@comment.undelete
|
93
85
|
|
94
86
|
respond_to do |format|
|
95
|
-
format.html { redirect_to @
|
96
|
-
format.js { render :
|
87
|
+
format.html { redirect_to @commontable_url }
|
88
|
+
format.js { render :delete }
|
97
89
|
end
|
98
90
|
end
|
99
91
|
|
@@ -104,7 +96,7 @@ module Commontator
|
|
104
96
|
@comment.upvote_from @commontator
|
105
97
|
|
106
98
|
respond_to do |format|
|
107
|
-
format.html { redirect_to @
|
99
|
+
format.html { redirect_to @commontable_url }
|
108
100
|
format.js { render :vote }
|
109
101
|
end
|
110
102
|
end
|
@@ -116,7 +108,7 @@ module Commontator
|
|
116
108
|
@comment.downvote_from @commontator
|
117
109
|
|
118
110
|
respond_to do |format|
|
119
|
-
format.html { redirect_to @
|
111
|
+
format.html { redirect_to @commontable_url }
|
120
112
|
format.js { render :vote }
|
121
113
|
end
|
122
114
|
end
|
@@ -128,7 +120,7 @@ module Commontator
|
|
128
120
|
@comment.unvote :voter => @commontator
|
129
121
|
|
130
122
|
respond_to do |format|
|
131
|
-
format.html { redirect_to @
|
123
|
+
format.html { redirect_to @commontable_url }
|
132
124
|
format.js { render :vote }
|
133
125
|
end
|
134
126
|
end
|
@@ -138,6 +130,7 @@ module Commontator
|
|
138
130
|
def get_comment_and_thread
|
139
131
|
@comment = Comment.find(params[:id])
|
140
132
|
@thread = @comment.thread
|
133
|
+
get_commontable_url
|
141
134
|
end
|
142
135
|
end
|
143
136
|
end
|
@@ -1,26 +1,17 @@
|
|
1
1
|
module Commontator
|
2
2
|
class SubscriptionsController < ApplicationController
|
3
|
-
include ThreadsHelper
|
4
|
-
|
5
3
|
before_filter :get_thread, :except => :index
|
6
4
|
|
7
|
-
# GET /subscriptions
|
8
|
-
def index
|
9
|
-
@threads = Subscription.find_all_by_subscriber_id(@commontator.id)\
|
10
|
-
.collect { |cts| cts.thread }
|
11
|
-
end
|
12
|
-
|
13
5
|
# POST /1/subscribe
|
14
6
|
def create
|
15
7
|
raise SecurityTransgression unless @thread.can_subscribe?(@commontator)
|
16
8
|
|
17
|
-
|
18
|
-
|
19
|
-
end
|
9
|
+
@thread.errors.add(:base, "You are already subscribed to this thread") \
|
10
|
+
unless @thread.subscribe(@commontator)
|
20
11
|
|
21
12
|
respond_to do |format|
|
22
|
-
format.html { redirect_to @
|
23
|
-
format.js
|
13
|
+
format.html { redirect_to @commontable_url }
|
14
|
+
format.js { render :subscribe }
|
24
15
|
end
|
25
16
|
|
26
17
|
end
|
@@ -29,13 +20,12 @@ module Commontator
|
|
29
20
|
def destroy
|
30
21
|
raise SecurityTransgression unless @thread.can_subscribe?(@commontator)
|
31
22
|
|
32
|
-
|
33
|
-
|
34
|
-
end
|
23
|
+
@thread.errors.add(:base, "You are not subscribed to this thread") \
|
24
|
+
unless @thread.unsubscribe(@commontator)
|
35
25
|
|
36
26
|
respond_to do |format|
|
37
|
-
format.html { redirect_to @
|
38
|
-
format.js
|
27
|
+
format.html { redirect_to @commontable_url }
|
28
|
+
format.js { render :subscribe }
|
39
29
|
end
|
40
30
|
end
|
41
31
|
end
|
@@ -1,24 +1,19 @@
|
|
1
1
|
module Commontator
|
2
2
|
class SubscriptionsController < ApplicationController
|
3
|
+
helper ThreadsHelper
|
4
|
+
|
3
5
|
before_filter :get_thread, :except => :index
|
4
6
|
|
5
|
-
# GET /subscriptions
|
6
|
-
def index
|
7
|
-
@threads = Subscription.find_all_by_subscriber_id(@commontator.id)\
|
8
|
-
.collect { |cts| cts.thread }
|
9
|
-
end
|
10
|
-
|
11
7
|
# POST /1/subscribe
|
12
8
|
def create
|
13
9
|
raise SecurityTransgression unless @thread.can_subscribe?(@commontator)
|
14
10
|
|
15
|
-
|
16
|
-
|
17
|
-
end
|
11
|
+
@thread.errors.add(:base, "You are already subscribed to this thread") \
|
12
|
+
unless @thread.subscribe(@commontator)
|
18
13
|
|
19
14
|
respond_to do |format|
|
20
|
-
format.html { redirect_to @
|
21
|
-
format.js
|
15
|
+
format.html { redirect_to @commontable_url }
|
16
|
+
format.js { render :subscribe }
|
22
17
|
end
|
23
18
|
|
24
19
|
end
|
@@ -27,13 +22,12 @@ module Commontator
|
|
27
22
|
def destroy
|
28
23
|
raise SecurityTransgression unless @thread.can_subscribe?(@commontator)
|
29
24
|
|
30
|
-
|
31
|
-
|
32
|
-
end
|
25
|
+
@thread.errors.add(:base, "You are not subscribed to this thread") \
|
26
|
+
unless @thread.unsubscribe(@commontator)
|
33
27
|
|
34
28
|
respond_to do |format|
|
35
|
-
format.html { redirect_to @
|
36
|
-
format.js
|
29
|
+
format.html { redirect_to @commontable_url }
|
30
|
+
format.js { render :subscribe }
|
37
31
|
end
|
38
32
|
end
|
39
33
|
end
|
@@ -9,7 +9,7 @@ module Commontator
|
|
9
9
|
@thread.mark_as_read_for(@commontator)
|
10
10
|
|
11
11
|
respond_to do |format|
|
12
|
-
format.html
|
12
|
+
format.html { redirect_to @commontable_url }
|
13
13
|
format.js
|
14
14
|
end
|
15
15
|
end
|
@@ -22,8 +22,7 @@ module Commontator
|
|
22
22
|
@thread.thread_closed_callback(@commontator)
|
23
23
|
|
24
24
|
respond_to do |format|
|
25
|
-
format.html { redirect_to @
|
26
|
-
format.js
|
25
|
+
format.html { redirect_to @commontable_url }
|
27
26
|
end
|
28
27
|
end
|
29
28
|
|
@@ -34,8 +33,7 @@ module Commontator
|
|
34
33
|
@thread.reopen
|
35
34
|
|
36
35
|
respond_to do |format|
|
37
|
-
format.html { redirect_to @
|
38
|
-
format.js
|
36
|
+
format.html { redirect_to @commontable_url }
|
39
37
|
end
|
40
38
|
end
|
41
39
|
end
|
@@ -1,6 +1,5 @@
|
|
1
1
|
module Commontator
|
2
2
|
class ThreadsController < ApplicationController
|
3
|
-
|
4
3
|
before_filter :get_thread
|
5
4
|
|
6
5
|
# GET /threads/1
|
@@ -10,7 +9,7 @@ module Commontator
|
|
10
9
|
@thread.mark_as_read_for(@commontator)
|
11
10
|
|
12
11
|
respond_to do |format|
|
13
|
-
format.html
|
12
|
+
format.html { redirect_to commontable_url(@thread) }
|
14
13
|
format.js
|
15
14
|
end
|
16
15
|
end
|
@@ -23,8 +22,7 @@ module Commontator
|
|
23
22
|
@thread.thread_closed_callback(@commontator)
|
24
23
|
|
25
24
|
respond_to do |format|
|
26
|
-
format.html { redirect_to @thread }
|
27
|
-
format.js
|
25
|
+
format.html { redirect_to commontable_url(@thread) }
|
28
26
|
end
|
29
27
|
end
|
30
28
|
|
@@ -35,8 +33,7 @@ module Commontator
|
|
35
33
|
@thread.reopen
|
36
34
|
|
37
35
|
respond_to do |format|
|
38
|
-
format.html { redirect_to @thread }
|
39
|
-
format.js
|
36
|
+
format.html { redirect_to commontable_url(@thread) }
|
40
37
|
end
|
41
38
|
end
|
42
39
|
end
|