drg_blog_news_forum 0.5.52.3 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/app/assets/stylesheets/drg_blog_news_forum.css +27 -6
- data/app/controllers/drgcms_controls/dc_forum_topic_dc_reply_control.rb +3 -0
- data/app/controllers/drgcms_controls/reply_control.rb +18 -1
- data/app/forms/dc_blog.yml +32 -29
- data/app/forms/dc_forum_topic.yml +9 -3
- data/app/forms/dc_news.yml +27 -26
- data/app/forms/dc_reply.yml +1 -1
- data/app/forms/dc_reply_public.yml +37 -0
- data/app/forms/reply.yml +11 -7
- data/app/models/dc_blog.rb +4 -1
- data/app/models/dc_forum.rb +1 -0
- data/app/models/dc_forum_topic.rb +1 -2
- data/app/models/dc_news.rb +5 -2
- data/app/models/dc_reply.rb +4 -2
- data/app/{helpers → renderers}/dc_blog_renderer.rb +18 -11
- data/app/{helpers → renderers}/dc_forum_renderer.rb +3 -3
- data/app/{helpers → renderers}/dc_news_renderer.rb +3 -3
- data/app/views/dc_blog/_bloggers.html.erb +2 -1
- data/app/views/dc_blog/_list.html.erb +6 -2
- data/app/views/dc_blog/_show.html.erb +4 -4
- data/app/views/dc_forum/_forums.html.erb +17 -8
- data/app/views/dc_forum/_topic.html.erb +30 -40
- data/app/views/dc_forum/_topics.html.erb +15 -19
- data/app/views/dc_news/_list.html.erb +4 -2
- data/app/views/dc_news/_show.html.erb +2 -2
- data/app/views/dc_replay/_reply.html.erb +6 -6
- data/config/locales/dc_bnf_en.yml +1 -0
- data/config/locales/dc_bnf_sl.yml +1 -0
- data/config/locales/models_en.yml +2 -0
- data/config/locales/models_sl.yml +2 -0
- data/lib/drg_blog_news_forum/version.rb +1 -1
- metadata +7 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: e307b17051749b2428f07d7615dd33737f23f600ae71c753dccab91cd11ea180
|
4
|
+
data.tar.gz: f90a7aa381787ce561f8936b9ba018af524755392dc45cdaa48328d73bebb432
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7c8626aa7bb8a48b97a3ec7a04f8d09341082cce69980ba373e29091dd431b69d0d9cc95603f6358095423a5fc77aff03c2c55a55fa7e6b9696eb526137e6355
|
7
|
+
data.tar.gz: dd9b14a931d2720ac83d51fb1d0bacd91eac54e852d693028e1557f3d0d24516a9a7d6fefe84f77b64daa7e05a0ee70414cccb20ebd33aed53ba01e5f3a595dc
|
@@ -135,23 +135,32 @@ border-radius: 2px;
|
|
135
135
|
}
|
136
136
|
|
137
137
|
/******* dc_blog *******/
|
138
|
+
|
138
139
|
#blogs .title {
|
139
140
|
font-size: 1.4em;
|
140
141
|
padding-bottom: 5px;
|
141
142
|
}
|
142
|
-
|
143
|
-
|
143
|
+
|
144
|
+
#blogs h1 {
|
145
|
+
font-size: 2.2em;
|
146
|
+
font-weight: 600;
|
147
|
+
}
|
148
|
+
|
149
|
+
|
150
|
+
.blog-subject h1 {
|
151
|
+
font-size: 2.2em;
|
144
152
|
font-weight: bold;
|
145
153
|
}
|
146
154
|
.blog-date {
|
147
|
-
font-size:
|
155
|
+
font-size: 1.2em;
|
148
156
|
color: #aaa;
|
149
157
|
margin-bottom: 20px;
|
150
158
|
}
|
151
159
|
.blog-body {
|
152
160
|
font-size: 1.2em;
|
153
161
|
}
|
154
|
-
.blog-replies {
|
162
|
+
.blog-replies h2 {
|
163
|
+
font-size: 2em;
|
155
164
|
}
|
156
165
|
.reply-top.even {
|
157
166
|
padding:5px;
|
@@ -170,8 +179,8 @@ margin-bottom: 0em;
|
|
170
179
|
margin-top: 10px;
|
171
180
|
}
|
172
181
|
.blog-entry a {
|
173
|
-
font-size: 1.
|
174
|
-
font-weight:
|
182
|
+
font-size: 1.4em;
|
183
|
+
font-weight: 600;
|
175
184
|
}
|
176
185
|
|
177
186
|
.social-sites {
|
@@ -184,4 +193,16 @@ padding-bottom: 5px;
|
|
184
193
|
/**** news ****/
|
185
194
|
.news.one .author {
|
186
195
|
font-size: 1.2em;
|
196
|
+
font-weight: 600;
|
187
197
|
}
|
198
|
+
|
199
|
+
.news .body {
|
200
|
+
font-size: 1.2em;
|
201
|
+
}
|
202
|
+
.news .document {
|
203
|
+
font-size: 1.2em;
|
204
|
+
}
|
205
|
+
|
206
|
+
.news h2 {
|
207
|
+
font-size: 1.4em;
|
208
|
+
}
|
@@ -37,6 +37,9 @@ def dc_new_record()
|
|
37
37
|
@record.subject = "Re: #{replyto.subject}"
|
38
38
|
@record.body = "<div class='dc-forum-quote'>#{replyto.body}</div><br>"
|
39
39
|
end
|
40
|
+
@record.created_by_name = session[:user_name] if session[:user_name]
|
41
|
+
@record.doc_id = params[:parent_doc]
|
42
|
+
@record.doc_class = 'DcForum'
|
40
43
|
end
|
41
44
|
|
42
45
|
######################################################################
|
@@ -35,7 +35,12 @@ def dc_new_record()
|
|
35
35
|
if params[:reply_to]
|
36
36
|
replyto = DcReply.find(params[:reply_to])
|
37
37
|
@record.subject = (replyto.subject.match('Re:') ? '' : 'Re: ') + replyto.subject
|
38
|
-
@record.body = "<div class='dc-forum-quote'
|
38
|
+
@record.body = "<div class='dc-forum-quote'>[#{replyto.created_by_name}]#{replyto.body}</div><p><br></p>"
|
39
|
+
elsif params[:p_doc_id]
|
40
|
+
model = params[:p_doc_class].classify.constantize
|
41
|
+
doc = model.find(params[:p_doc_id])
|
42
|
+
@record.subject = "Re: #{doc.subject}"
|
43
|
+
|
39
44
|
end
|
40
45
|
@record.created_by_name = session[:user_name] if session[:user_name]
|
41
46
|
end
|
@@ -49,4 +54,16 @@ def dc_before_save()
|
|
49
54
|
return false unless params[:_record][:_honey].blank?
|
50
55
|
end
|
51
56
|
|
57
|
+
######################################################################
|
58
|
+
# Called after succesfull save.
|
59
|
+
######################################################################
|
60
|
+
def dc_after_save()
|
61
|
+
replies = DcReply.where(doc_id: @record.doc_id, active: true).count
|
62
|
+
parent = @record.doc_class.constantize
|
63
|
+
doc = parent.find_by(id: @record.doc_id)
|
64
|
+
doc.replies = replies
|
65
|
+
doc.updated_by_name = @record.created_by_name
|
66
|
+
doc.save
|
67
|
+
end
|
68
|
+
|
52
69
|
end
|
data/app/forms/dc_blog.yml
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
table: dc_blog
|
2
|
+
include: dc_seo
|
2
3
|
|
3
4
|
index:
|
4
5
|
filter: subject, created_by_name
|
@@ -10,6 +11,7 @@ result_set:
|
|
10
11
|
columns:
|
11
12
|
1:
|
12
13
|
name: subject
|
14
|
+
width: 30%
|
13
15
|
2:
|
14
16
|
name: created_by_name
|
15
17
|
4:
|
@@ -20,32 +22,33 @@ edit_title: subject
|
|
20
22
|
form:
|
21
23
|
actions: standard
|
22
24
|
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
25
|
+
tabs:
|
26
|
+
1base:
|
27
|
+
10:
|
28
|
+
name: subject
|
29
|
+
type: text_field
|
30
|
+
html:
|
31
|
+
size: 80
|
32
|
+
|
33
|
+
20:
|
34
|
+
name: link
|
35
|
+
type: text_field
|
36
|
+
html:
|
37
|
+
size: 80
|
38
|
+
|
39
|
+
30:
|
40
|
+
name: created_at
|
41
|
+
type: datetime_picker
|
42
|
+
|
43
|
+
40:
|
44
|
+
name: body
|
45
|
+
type: html_field
|
46
|
+
options: 'height: 500'
|
47
|
+
|
48
|
+
# 50:
|
49
|
+
# name: dc_replies
|
50
|
+
# type: embedded
|
51
|
+
# form_name: dc_reply
|
52
|
+
# table: dc_reply
|
53
|
+
# html:
|
54
|
+
# height: 400
|
@@ -2,10 +2,16 @@ table: dc_forum_topic
|
|
2
2
|
|
3
3
|
|
4
4
|
form:
|
5
|
-
height:
|
5
|
+
height: 625
|
6
6
|
labels_pos: top
|
7
7
|
actions:
|
8
|
-
|
8
|
+
5: save
|
9
|
+
|
10
|
+
1:
|
11
|
+
type: script
|
12
|
+
caption: drgcms.back
|
13
|
+
icon: arrow-left
|
14
|
+
js: parent.location.reload();
|
9
15
|
|
10
16
|
fields:
|
11
17
|
10:
|
@@ -20,7 +26,7 @@ form:
|
|
20
26
|
30:
|
21
27
|
name: body
|
22
28
|
type: html_field
|
23
|
-
options: "height: 420, toolbar: 'basic'"
|
29
|
+
options: "height: 420, width: 700, toolbar: 'basic'"
|
24
30
|
|
25
31
|
100:
|
26
32
|
name: dc_forum_id
|
data/app/forms/dc_news.yml
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
table: dc_news
|
2
|
+
include: dc_seo
|
2
3
|
|
3
4
|
index:
|
4
5
|
filter: subject, created_by_name
|
@@ -10,6 +11,8 @@ result_set:
|
|
10
11
|
columns:
|
11
12
|
1:
|
12
13
|
name: subject
|
14
|
+
width: 30%
|
15
|
+
|
13
16
|
2:
|
14
17
|
name: created_by_name
|
15
18
|
4:
|
@@ -20,33 +23,31 @@ edit_title: subject
|
|
20
23
|
form:
|
21
24
|
actions: standard
|
22
25
|
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
26
|
+
tabs:
|
27
|
+
1base:
|
28
|
+
10:
|
29
|
+
name: subject
|
30
|
+
type: text_field
|
28
31
|
size: 80
|
29
32
|
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
html:
|
33
|
+
20:
|
34
|
+
name: link
|
35
|
+
type: text_field
|
34
36
|
size: 80
|
35
37
|
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
38
|
+
30:
|
39
|
+
name: created_at
|
40
|
+
type: datetime_picker
|
41
|
+
|
42
|
+
40:
|
43
|
+
name: categories
|
44
|
+
type: select
|
45
|
+
multiple: true
|
46
|
+
eval: dc_big_table 'news-categories'
|
47
|
+
html:
|
48
|
+
include_blank: true
|
49
|
+
|
50
|
+
50:
|
51
|
+
name: body
|
52
|
+
type: html_field
|
53
|
+
options: 'height: 500'
|
data/app/forms/dc_reply.yml
CHANGED
@@ -0,0 +1,37 @@
|
|
1
|
+
table: dc_reply
|
2
|
+
|
3
|
+
form:
|
4
|
+
actions:
|
5
|
+
1:
|
6
|
+
type: save
|
7
|
+
5:
|
8
|
+
type: script
|
9
|
+
caption: Cancle
|
10
|
+
js: parent.reload();
|
11
|
+
|
12
|
+
height: 750
|
13
|
+
actions: standard
|
14
|
+
|
15
|
+
fields:
|
16
|
+
10:
|
17
|
+
name: doc_id
|
18
|
+
type: hidden_field
|
19
|
+
|
20
|
+
20:
|
21
|
+
name: doc_class
|
22
|
+
type: hidden_field
|
23
|
+
|
24
|
+
30:
|
25
|
+
name: created_by_name
|
26
|
+
type: text_field
|
27
|
+
size: 30
|
28
|
+
|
29
|
+
40:
|
30
|
+
name: subject
|
31
|
+
type: text_field
|
32
|
+
size: 80
|
33
|
+
|
34
|
+
50:
|
35
|
+
name: body
|
36
|
+
type: html_field
|
37
|
+
options: "height: 420, width: 800, toolbar: 'basic', allowedContent: false"
|
data/app/forms/reply.yml
CHANGED
@@ -4,28 +4,32 @@ title: Reply
|
|
4
4
|
controls: reply
|
5
5
|
|
6
6
|
form:
|
7
|
-
height:
|
7
|
+
height: 650
|
8
8
|
labels_pos: top
|
9
9
|
actions:
|
10
|
-
1:
|
10
|
+
1:
|
11
|
+
type: script
|
12
|
+
caption: drgcms.back
|
13
|
+
icon: arrow-left
|
14
|
+
js: parent.location.reload();
|
15
|
+
|
16
|
+
5: save
|
11
17
|
|
12
18
|
fields:
|
13
19
|
10:
|
14
20
|
name: created_by_name
|
15
21
|
type: text_field
|
16
|
-
|
17
|
-
size: 30
|
22
|
+
size: 30
|
18
23
|
|
19
24
|
20:
|
20
25
|
name: subject
|
21
26
|
type: text_field
|
22
|
-
|
23
|
-
size: 80
|
27
|
+
size: 80
|
24
28
|
|
25
29
|
30:
|
26
30
|
name: body
|
27
31
|
type: html_field
|
28
|
-
options: "height: 420, toolbar: 'basic', allowedContent: false"
|
32
|
+
options: "height: 420, width: 700, toolbar: 'basic', allowedContent: false"
|
29
33
|
40:
|
30
34
|
name: _honey
|
31
35
|
type: text_field
|
data/app/models/dc_blog.rb
CHANGED
@@ -51,6 +51,9 @@ included do
|
|
51
51
|
|
52
52
|
field :created_by, type: BSON::ObjectId
|
53
53
|
field :created_by_name, type: String
|
54
|
+
|
55
|
+
# SEO
|
56
|
+
include DcSeoConcern
|
54
57
|
|
55
58
|
embeds_many :dc_replies, as: :replies
|
56
59
|
|
@@ -66,7 +69,7 @@ included do
|
|
66
69
|
########################################################################
|
67
70
|
def do_before_save
|
68
71
|
if self.link.size < 5
|
69
|
-
self.link = UnicodeUtils.downcase(self.subject)
|
72
|
+
self.link = UnicodeUtils.downcase(DcPage.clear_link(self.subject)) + Time.now.strftime('-%Y-%m-%d')
|
70
73
|
end
|
71
74
|
if self.created_by_name.nil?
|
72
75
|
self.created_by_name = DcUser.find(self.created_by).name
|
data/app/models/dc_forum.rb
CHANGED
@@ -57,8 +57,7 @@ class DcForumTopic
|
|
57
57
|
field :created_by, type: BSON::ObjectId
|
58
58
|
field :updated_by, type: BSON::ObjectId
|
59
59
|
field :created_by_name, type: String
|
60
|
-
field :updated_by_name, type: String
|
61
|
-
|
60
|
+
field :updated_by_name, type: String
|
62
61
|
|
63
62
|
index( { dc_forum_id: 1 } )
|
64
63
|
|
data/app/models/dc_news.rb
CHANGED
@@ -52,6 +52,9 @@ class DcNews
|
|
52
52
|
field :valid_from, type: Date
|
53
53
|
field :valid_to, type: Date
|
54
54
|
field :categories, type: Array
|
55
|
+
|
56
|
+
# SEO
|
57
|
+
include DcSeoConcern
|
55
58
|
|
56
59
|
field :created_by, type: BSON::ObjectId
|
57
60
|
field :created_by_name, type: String
|
@@ -67,8 +70,8 @@ class DcNews
|
|
67
70
|
# Update link when left blank.
|
68
71
|
########################################################################
|
69
72
|
def do_before_save
|
70
|
-
if self.link.
|
71
|
-
self.link = UnicodeUtils.downcase(self.subject)
|
73
|
+
if self.link.blank?
|
74
|
+
self.link = UnicodeUtils.downcase(DcPage.clear_link(self.subject)) + Time.now.strftime('-%Y-%m-%d')
|
72
75
|
end
|
73
76
|
if self.created_by_name.nil?
|
74
77
|
self.created_by_name = DcUser.find(self.created_by).name
|
data/app/models/dc_reply.rb
CHANGED
@@ -49,8 +49,10 @@ class DcReply
|
|
49
49
|
|
50
50
|
field :created_by, type: BSON::ObjectId
|
51
51
|
field :created_by_name, type: String
|
52
|
+
|
53
|
+
index( { doc_id: 1 } )
|
52
54
|
|
53
|
-
validates_length_of :subject, minimum:
|
54
|
-
validates_length_of :body, minimum:
|
55
|
+
validates_length_of :subject, minimum: 5
|
56
|
+
validates_length_of :body, minimum: 5
|
55
57
|
validates_length_of :created_by_name, minimum: 5
|
56
58
|
end
|
@@ -33,6 +33,11 @@ include DcApplicationHelper
|
|
33
33
|
def show(link)
|
34
34
|
entry = DcBlog.find_by(link: link)
|
35
35
|
return t('dc_blog.entry_not_found') if entry.nil?
|
36
|
+
# SEO
|
37
|
+
@parent.page_title = entry.title.blank? ? entry.subject : entry.title
|
38
|
+
@parent.page.canonical_link = nil
|
39
|
+
@parent.dc_add_meta_tag(:name, 'description', entry.meta_description) unless entry.meta_description.blank?
|
40
|
+
@parent.dc_add_json_ld(entry.get_json_ld)
|
36
41
|
|
37
42
|
replies = DcReply.where(doc_id: entry.id, active: true).order(created_at: 1)
|
38
43
|
@parent.render partial: 'dc_blog/show', formats: [:html],
|
@@ -42,10 +47,13 @@ end
|
|
42
47
|
########################################################################
|
43
48
|
# List all blogs from single blogger
|
44
49
|
########################################################################
|
45
|
-
def list(
|
46
|
-
|
47
|
-
|
48
|
-
|
50
|
+
def list(path)
|
51
|
+
# get blogger id from document path
|
52
|
+
blogger_id = path.last.split('-').last
|
53
|
+
documents = DcBlog.only(:created_by, :link, :subject, :created_at)
|
54
|
+
.where(created_by: blogger_id, active: true).order_by(created_at: -1)
|
55
|
+
.page(@parent.params[:page]).per(10)
|
56
|
+
|
49
57
|
@parent.render partial: 'dc_blog/list', formats: [:html], locals: { documents: documents }
|
50
58
|
end
|
51
59
|
|
@@ -53,7 +61,8 @@ end
|
|
53
61
|
# List all bloggers
|
54
62
|
########################################################################
|
55
63
|
def list_bloggers
|
56
|
-
bloggers = DcBlog.
|
64
|
+
bloggers = DcBlog.distinct(:created_by)
|
65
|
+
bloggers = DcUser.only(:id, :name).where(:_id.in => bloggers).to_a
|
57
66
|
@parent.render partial: 'dc_blog/bloggers', formats: [:html], locals: { bloggers: bloggers }
|
58
67
|
end
|
59
68
|
|
@@ -65,16 +74,14 @@ def last_blogs
|
|
65
74
|
entries = DcBlog.only(:created_by_name, :link, :subject, :created_at).where(active: true)
|
66
75
|
entries = entries.and(created_by_name: @opts[:blogger]) if @opts[:blogger]
|
67
76
|
entries = entries.order_by(created_at: -1).limit(limit).to_a
|
68
|
-
|
69
77
|
entries.inject('') do |result, document|
|
70
78
|
result << @parent.link_to("/blog/#{document.created_by_name}/#{document.link}") do
|
71
|
-
%Q[
|
79
|
+
%Q[<div>
|
72
80
|
<span class="date">#{@parent.dc_pretty_date(document.created_at)} : </span>
|
73
|
-
<span class="title">#{document.subject}</span><br
|
74
|
-
].html_safe
|
81
|
+
<span class="title">#{document.subject}</span><br>
|
82
|
+
</div>].html_safe
|
75
83
|
end
|
76
84
|
end
|
77
|
-
|
78
85
|
end
|
79
86
|
|
80
87
|
|
@@ -86,7 +93,7 @@ def default
|
|
86
93
|
if @opts[:path].size == 1 or document_link == 'bloggers'
|
87
94
|
list_bloggers
|
88
95
|
elsif @opts[:path].size == 2
|
89
|
-
list(
|
96
|
+
list(@opts[:path])
|
90
97
|
else
|
91
98
|
show(document_link)
|
92
99
|
end
|
@@ -49,9 +49,9 @@ def topic
|
|
49
49
|
forum = DcForum.find(@parent.params[:forum])
|
50
50
|
topic = DcForumTopic.find(@parent.params[:topic])
|
51
51
|
replies = DcReply.where(doc_id: topic.id, active: true).order(created_at: 1)
|
52
|
-
.page(@parent.params[:page]).per(
|
52
|
+
.page(@parent.params[:page]).per(15)
|
53
53
|
@parent.render partial: 'dc_forum/topic', formats: [:html],
|
54
|
-
locals: { forum: forum, topic: topic, replies: replies }
|
54
|
+
locals: { forum: forum, topic: topic, replies: replies, opts: @opts }
|
55
55
|
end
|
56
56
|
|
57
57
|
########################################################################
|
@@ -64,7 +64,7 @@ def topics
|
|
64
64
|
topics = DcForumTopic.only(:id, :created_by_name, :updated_by_name, :subject, :created_at, :updated_at, :replies)
|
65
65
|
.where(dc_forum_id: forum._id, active: true).order(updated_at: -1)
|
66
66
|
.page(@parent.params[:page]).per(10)
|
67
|
-
@parent.render partial: 'dc_forum/topics', formats: [:html], locals: { forum: forum, topics: topics }
|
67
|
+
@parent.render partial: 'dc_forum/topics', formats: [:html], locals: { forum: forum, topics: topics, opts: @opts }
|
68
68
|
end
|
69
69
|
|
70
70
|
########################################################################
|
@@ -84,10 +84,10 @@ def last_news
|
|
84
84
|
|
85
85
|
entries.inject('') do |result, element|
|
86
86
|
result << @parent.link_to("/news/#{element.link}") do
|
87
|
-
%Q[
|
87
|
+
%Q[<div>
|
88
88
|
<span class="date">#{@parent.dc_pretty_date(element.created_at)} : </span>
|
89
|
-
<span class="title">#{element.subject}</span
|
90
|
-
].html_safe
|
89
|
+
<span class="title">#{element.subject}</span>
|
90
|
+
</div>].html_safe
|
91
91
|
end
|
92
92
|
end
|
93
93
|
end
|
@@ -2,12 +2,13 @@
|
|
2
2
|
<% if session[:edit_mode] > 1 %>
|
3
3
|
<%= dc_link_for_create(controller: 'cmsedit', table: 'dc_blog', title: 'dc_blog.new_entry' ) %>
|
4
4
|
<% end %>
|
5
|
+
|
5
6
|
<div class="blog-title">
|
6
7
|
<h1><%= t('dc_blog.bloggers') %></h1>
|
7
8
|
</div>
|
8
9
|
|
9
10
|
<% for blogger in bloggers %>
|
10
11
|
<div class="blog-entry">
|
11
|
-
<%= link_to( blogger, { path: "blog/#{blogger}"} )%>
|
12
|
+
<%= link_to( blogger.name, { path: "blog/#{blogger.name.downcase.gsub(' ','-')}-#{blogger.id}" } )%>
|
12
13
|
</div>
|
13
14
|
<% end %>
|
@@ -1,11 +1,15 @@
|
|
1
1
|
|
2
2
|
<div id="blogs">
|
3
|
-
<
|
3
|
+
<h1><%= t('dc_blog.blogs') %></h1>
|
4
4
|
|
5
5
|
<% for document in documents %>
|
6
6
|
<div class="entry">
|
7
7
|
<div class="date"><%= dc_pretty_date(document.created_at) %></div>
|
8
|
-
<div class="title"
|
8
|
+
<div class="title">
|
9
|
+
<%= link_to( path: "#{(@options[:path] << document.link).join('/')}" ) do %>
|
10
|
+
<h2><%= document.subject %> </h2>
|
11
|
+
<% end %>
|
12
|
+
</div>
|
9
13
|
</div>
|
10
14
|
<% end %>
|
11
15
|
</div>
|
@@ -7,11 +7,11 @@
|
|
7
7
|
<%= dc_link_for_edit(controller: 'cmsedit', table: 'dc_blog', title: 'dc_blog.edit_document', id: document.id ) %>
|
8
8
|
<% end %>
|
9
9
|
|
10
|
-
<div class="blog-subject"><
|
11
|
-
<div class="blog-date"
|
10
|
+
<div class="blog-subject"><h1><%= document.subject %></h1></div>
|
11
|
+
<div class="blog-date"><%= t('dc_blog.published') + ' ' + dc_pretty_date(document.created_at) %></div>
|
12
12
|
|
13
13
|
<div class="blog-body"><%= document.body.html_safe %></div>
|
14
|
-
<div class="social-sites"><%=
|
14
|
+
<div class="social-sites"><%= social_sites %></div>
|
15
15
|
|
16
16
|
<div class="blog-replies">
|
17
17
|
<h2><%= t('dc_blog.comments') %></h2>
|
@@ -23,7 +23,7 @@
|
|
23
23
|
</div>
|
24
24
|
|
25
25
|
<div class="column small-12 medium-3 more-blogs">
|
26
|
-
<
|
26
|
+
<h2>More blogs by<br><%= document.created_by_name %></h2>
|
27
27
|
<%= dc_render(:dc_blog, method: 'last_blogs', limit: 10, blogger: document.created_by_name) %>
|
28
28
|
</div>
|
29
29
|
|
@@ -1,11 +1,12 @@
|
|
1
|
-
|
1
|
+
|
2
|
+
<%= pp opts; "<div id=\"#{opts[:div_id]}\">".html_safe if opts[:div_id] %>
|
2
3
|
<%= if session[:edit_mode] > 1
|
3
4
|
dc_link_for_create(controller: 'cmsedit', table: 'dc_forum', title: 'dc_forum.add_new_forum' )
|
4
5
|
end %>
|
5
6
|
|
6
7
|
<div class="forum-topics">
|
7
8
|
<div class="forum-title">
|
8
|
-
<
|
9
|
+
<h3><%= t 'dc_forum.forums_list' %></h3>
|
9
10
|
</div>
|
10
11
|
|
11
12
|
<% for forum in forums %>
|
@@ -15,20 +16,28 @@
|
|
15
16
|
<div class="name">
|
16
17
|
<%= link_to(forum.name,{ path: params[:path], forum: forum.id} ) %>
|
17
18
|
</div>
|
18
|
-
<div class='description'>
|
19
|
-
<%= forum.description %><hr>
|
20
|
-
<b><%= t('dc_forum.topics') %>:</b>
|
21
|
-
<%= forum.topics %> |
|
22
19
|
|
20
|
+
<div class='description'>
|
21
|
+
<%= forum.description %><br>
|
22
|
+
<b><%= t('dc_forum.topics') %>:</b>
|
23
|
+
<%= forum.topics %> |
|
24
|
+
|
25
|
+
<% zadnja_sprememba = DcForumTopic.where(dc_forum_id: forum.id).order_by(updated_at: -1).first; if zadnja_sprememba %>
|
26
|
+
<b><%= t('dc_forum.last_change') %>:</b>
|
27
|
+
<%= dc_pretty_date(zadnja_sprememba.updated_at) %> |
|
28
|
+
<%= link_to(zadnja_sprememba.subject, { path: params[:path], forum: forum.id, topic: zadnja_sprememba._id } ) %>
|
29
|
+
<% end %>
|
30
|
+
|
31
|
+
<% if false %>
|
23
32
|
<b><%= t('dc_forum.replies') %>:</b>
|
24
33
|
<%= forum.replies %> |
|
25
34
|
|
26
35
|
<b><%= t('dc_forum.last') %>:</b>
|
27
36
|
<%= forum.updated_by_name %>
|
28
37
|
<%= dc_pretty_date(forum.updated_at) %>
|
29
|
-
|
38
|
+
<% end %>
|
30
39
|
</div>
|
31
40
|
</div>
|
32
41
|
<% end %>
|
33
|
-
</div>
|
34
42
|
</div>
|
43
|
+
<%= "</div>".html_safe if opts[:div_id] %>
|
@@ -1,53 +1,43 @@
|
|
1
|
-
|
1
|
+
|
2
|
+
<%= "<div id=\"#{opts[:div_id]}\">".html_safe if opts[:div_id] %>
|
3
|
+
|
2
4
|
<div class="forum-topics">
|
3
5
|
<div id="back-list">
|
4
6
|
<%= link_to( t('dc_forum.forums_list'), {path: params[:path]} ) %> /
|
5
7
|
<%= link_to( forum.name, {path: params[:path], forum: forum.id} ) %>
|
6
8
|
</div>
|
7
|
-
<table id="dc-forum-menu"><tr>
|
8
|
-
<td class="dc-link dc-animate" style="white-space: nowrap;">
|
9
|
-
<%= link_to( t('dc_forum.new_reply'), { controller: 'cmsedit', table: 'dc_forum_topic;dc_reply',
|
10
|
-
form_name: 'dc_reply', action: 'new', ids: topic.id, forum: forum._id},
|
11
|
-
target: 'iframe_edit') %>
|
12
|
-
</td>
|
13
|
-
<td style="text-align: right; width: 100%;"><%= paginate replies %></td>
|
14
|
-
</tr></table>
|
15
9
|
|
16
|
-
<div
|
17
|
-
|
10
|
+
<div id="dc-forum-menu">
|
11
|
+
<div class="dc-link">
|
12
|
+
<%= link_to( 'Nazaj', {path: params[:path], forum: forum.id}, class: 'dc-animate' ) %>
|
13
|
+
</div>
|
14
|
+
<div class="dc-link">
|
15
|
+
<%= link_to( t('dc_forum.new_reply'), { table: 'dc_reply', form_name: 'reply',
|
16
|
+
controller: :cmsedit, action: 'new',
|
17
|
+
p_doc_id: topic.id, p_doc_class: topic.class.to_s },
|
18
|
+
target: 'iframe_edit', class: 'dc-animate', ref: 'nofollow') %>
|
19
|
+
</div>
|
20
|
+
<div class="dc-link">
|
21
|
+
<%= link_to( t('dc_forum.new_topic'),
|
22
|
+
{controller: 'cmsedit', table: 'dc_forum_topic', form_name: 'dc_forum_topic',
|
23
|
+
action: 'new', forum: forum._id}, target: 'iframe_edit', class: 'dc-animate', ref: 'nofollow') %>
|
24
|
+
</div>
|
25
|
+
<div style="text-align: right; width: 100%;"><%= paginate replies %></div>
|
26
|
+
</div>
|
27
|
+
|
28
|
+
<h2><%= forum.name %></h2>
|
18
29
|
|
19
|
-
<div class="topic-top"><
|
30
|
+
<div class="topic-top"><h3><%= topic.subject %></h3>
|
20
31
|
<%= t('dc_forum.created_by') %>: <%= topic.created_by_name %> <%= dc_pretty_date(topic.created_at) %>
|
21
32
|
</div>
|
22
|
-
|
23
33
|
<div class="topic-body"><%= topic.body.html_safe %></div>
|
24
34
|
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
<%= link_to( t('dc_forum.new_reply'), { controller: 'cmsedit', table: 'dc_forum_topic;dc_reply',
|
31
|
-
form_name: 'dc_reply', action: 'new', ids: topic.id,
|
32
|
-
forum: forum._id, reply_to: reply.id}, target: 'iframe_edit') %>
|
33
|
-
</span>
|
34
|
-
<b><%= reply.subject %></b><br>
|
35
|
-
<%= t('dc_forum.replied_by') %>:
|
36
|
-
<%= reply.created_by_name %>,
|
37
|
-
<%= dc_pretty_date(reply.created_at) %>
|
38
|
-
</div>
|
39
|
-
<div class="reply-body-<%= oddeven %>"><%= reply.body.html_safe %></div>
|
40
|
-
<% end %>
|
41
|
-
|
42
|
-
<table id="dc-forum-menu"><tr>
|
43
|
-
<td class="dc-link dc-animate" style="white-space: nowrap;">
|
44
|
-
<%= link_to( t('dc_forum.new_reply'), { controller: 'cmsedit', table: 'dc_forum_topic;dc_reply',
|
45
|
-
form_name: 'dc_reply', action: 'new', ids: topic.id, forum: forum._id},
|
46
|
-
target: 'iframe_edit') %>
|
47
|
-
</td>
|
48
|
-
<td style="text-align: right; width: 100%;"><%= paginate replies %></td>
|
49
|
-
</tr></table>
|
35
|
+
<div class="news-replies">
|
36
|
+
<h4>Odgovori</h4>
|
37
|
+
<%= render partial: 'dc_replay/reply', formats: [:html],
|
38
|
+
locals: { replies: replies, parent_doc: topic } %>
|
39
|
+
</div>
|
50
40
|
</div>
|
51
|
-
|
41
|
+
|
52
42
|
<iframe id="iframe_edit" name="iframe_edit" scrolling="no"></iframe>
|
53
|
-
</div>
|
43
|
+
<%= "</div>".html_safe if opts[:div_id] %>
|
@@ -1,23 +1,26 @@
|
|
1
|
-
|
1
|
+
|
2
|
+
<%= "<div id=\"#{opts[:div_id]}\">".html_safe if opts[:div_id] %>
|
3
|
+
|
2
4
|
<div class="forum-topics">
|
3
5
|
<div id="back-list"><%= link_to( t('dc_forum.forums_list'), { path: params[:path] }) %> </div>
|
4
|
-
|
5
|
-
<
|
6
|
-
<
|
6
|
+
|
7
|
+
<div id="dc-forum-menu">
|
8
|
+
<div class="dc-link" style="white-space: nowrap;">
|
7
9
|
<%= link_to( t('dc_forum.new_topic'),
|
8
10
|
{controller: 'cmsedit', table: 'dc_forum_topic', form_name: 'dc_forum_topic',
|
9
|
-
action: 'new', forum: forum._id}, target: 'iframe_edit') %>
|
10
|
-
</
|
11
|
-
<
|
12
|
-
</
|
11
|
+
action: 'new', forum: forum._id}, target: 'iframe_edit', class: 'dc-animate', ref: 'nofollow') %>
|
12
|
+
</div>
|
13
|
+
<div style="text-align: right; width: 100%;"><%= paginate topics %></div>
|
14
|
+
</div>
|
13
15
|
|
14
16
|
<div class="forum-title">
|
15
|
-
<
|
17
|
+
<h2><%= forum.name %></h2>
|
16
18
|
</div>
|
17
19
|
|
18
20
|
<% for topic in topics %>
|
19
21
|
<div class="topic-<%= cycle("odd", "even") %>">
|
20
|
-
|
22
|
+
<%= link_to(topic.subject, { path: params[:path], forum: params[:forum], topic: topic._id } ) %><br>
|
23
|
+
|
21
24
|
<b><%= t('dc_forum.created_by') %>:</b> <%= topic.created_by_name %>
|
22
25
|
<%= dc_pretty_date(topic.created_at) %> |
|
23
26
|
|
@@ -32,15 +35,8 @@
|
|
32
35
|
</div>
|
33
36
|
<% end %>
|
34
37
|
|
35
|
-
<table id="dc-forum-menu"><tr>
|
36
|
-
<td class="dc-link dc-animate" style="white-space: nowrap;">
|
37
|
-
<%= link_to( t('dc_forum.new_topic'),
|
38
|
-
{controller: 'cmsedit', table: 'dc_forum_topic', form_name: 'dc_forum_topic',
|
39
|
-
action: 'new', forum: forum._id}, target: 'iframe_edit') %>
|
40
|
-
</td>
|
41
|
-
<td style="text-align: right; width: 100%;"><%= paginate topics %></td>
|
42
|
-
</tr></table>
|
43
38
|
</div>
|
44
39
|
|
45
40
|
<iframe id="iframe_edit" name="iframe_edit" scrolling="no"></iframe>
|
46
|
-
</div>
|
41
|
+
<%= "</div>".html_safe if opts[:div_id] %>
|
42
|
+
|
@@ -10,7 +10,7 @@ title = opts.dig(:settings, opts[:element], 'title') || t('dc_news.news')
|
|
10
10
|
|
11
11
|
<div class="<%= clas %>">
|
12
12
|
<%= news_settings(opts) %>
|
13
|
-
<% unless title == '-' %><
|
13
|
+
<% unless title == '-' %><h1><%= title %></h1><% end %>
|
14
14
|
<%= if opts[:edit_mode] > 1
|
15
15
|
dc_link_for_create(controller: 'cmsedit', table: 'dc_news', title: 'dc_blog.new_entry' )
|
16
16
|
end %>
|
@@ -18,7 +18,9 @@ title = opts.dig(:settings, opts[:element], 'title') || t('dc_news.news')
|
|
18
18
|
<% for document in documents %>
|
19
19
|
<div class="document">
|
20
20
|
<%= dc_pretty_date(document.created_at) %>
|
21
|
-
|
21
|
+
<%= link_to( { path: "#{link}/#{document.link}" } ) do %>
|
22
|
+
<h2><%= document.subject %></h2>
|
23
|
+
<% end %>
|
22
24
|
</div>
|
23
25
|
<% end %>
|
24
26
|
</div>
|
@@ -8,9 +8,9 @@ clas = (opts.dig(:settings, opts[:element], 'clas') || 'news') + ' one'
|
|
8
8
|
<%= dc_link_for_create( table: 'dc_news', title: 'dc_news.new_document' ) %>
|
9
9
|
<% end %>
|
10
10
|
|
11
|
-
<
|
11
|
+
<h1><%= document.subject %></h1>
|
12
12
|
<div class="author">
|
13
|
-
<%= "#{t('dc_blog.author')} #{document.created_by_name}, #{dc_pretty_date(document.created_at)}" %>
|
13
|
+
<%= "#{t('dc_blog.author')}: #{document.created_by_name}, #{dc_pretty_date(document.created_at)}" %>
|
14
14
|
</div><br>
|
15
15
|
|
16
16
|
<div class="body"><%= document.body.html_safe %></div>
|
@@ -2,25 +2,25 @@
|
|
2
2
|
<% for reply in replies %>
|
3
3
|
<% oddeven = cycle("odd", "even") %>
|
4
4
|
<div class="reply-top <%= oddeven %>">
|
5
|
-
<span style="float:
|
5
|
+
<span style="float:right;">
|
6
6
|
<%= link_to( t('dc_forum.new_reply'), { table: 'dc_reply', form_name: 'reply',
|
7
7
|
controller: :cmsedit, action: 'new', reply_to: reply.id,
|
8
8
|
p_doc_id: parent_doc.id, p_doc_class: parent_doc.class.to_s },
|
9
|
-
target: 'iframe_edit') %>
|
9
|
+
target: 'iframe_edit', ref: 'nofollow') %>
|
10
10
|
</span>
|
11
11
|
<b><%= reply.subject %></b><br>
|
12
12
|
<%= t('dc_forum.replied_by') %>: <%= reply.created_by_name %>,
|
13
|
-
<%= dc_pretty_date(reply.created_at) %> <br
|
14
|
-
<div class="reply-body <%= oddeven %>"><%= reply.body.html_safe %></div>
|
13
|
+
<%= dc_pretty_date(reply.created_at) %> <br>
|
15
14
|
</div>
|
15
|
+
<div class="reply-body <%= oddeven %>"><%= reply.body.html_safe %></div>
|
16
16
|
<% end %>
|
17
17
|
|
18
18
|
<div id="dc-reply-menu">
|
19
19
|
<div class="dc-link dc-animate" style="float: left;">
|
20
|
-
<%= link_to( t('dc_forum.
|
20
|
+
<%= link_to( t('dc_forum.new_reply'), { controller: 'cmsedit', table: "dc_reply",
|
21
21
|
form_name: 'reply', action: 'new',
|
22
22
|
p_doc_id: parent_doc.id, p_doc_class: parent_doc.class.to_s},
|
23
|
-
{target: 'iframe_edit', class: 'dc-animate'}) %>
|
23
|
+
{target: 'iframe_edit', class: 'dc-animate', ref: 'nofollow'}) %>
|
24
24
|
</div>
|
25
25
|
<%# = paginate replies %>
|
26
26
|
</div>
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: drg_blog_news_forum
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Damjan Rems
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-12-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -61,20 +61,21 @@ files:
|
|
61
61
|
- app/forms/dc_forum_topic.yml
|
62
62
|
- app/forms/dc_news.yml
|
63
63
|
- app/forms/dc_reply.yml
|
64
|
+
- app/forms/dc_reply_public.yml
|
64
65
|
- app/forms/forum_settings.yml
|
65
66
|
- app/forms/news_settings.yml
|
66
67
|
- app/forms/reply.yml
|
67
68
|
- app/helpers/application_helper.rb
|
68
|
-
- app/helpers/dc_blog_renderer.rb
|
69
69
|
- app/helpers/dc_bnf_helper.rb
|
70
|
-
- app/helpers/dc_forum_renderer.rb
|
71
|
-
- app/helpers/dc_news_renderer.rb
|
72
70
|
- app/models/dc_blog.rb
|
73
71
|
- app/models/dc_forum.rb
|
74
72
|
- app/models/dc_forum_policy_rule.rb
|
75
73
|
- app/models/dc_forum_topic.rb
|
76
74
|
- app/models/dc_news.rb
|
77
75
|
- app/models/dc_reply.rb
|
76
|
+
- app/renderers/dc_blog_renderer.rb
|
77
|
+
- app/renderers/dc_forum_renderer.rb
|
78
|
+
- app/renderers/dc_news_renderer.rb
|
78
79
|
- app/views/dc_blog/_blog.html.erb
|
79
80
|
- app/views/dc_blog/_bloggers.html.erb
|
80
81
|
- app/views/dc_blog/_last_blogs.erb
|
@@ -117,8 +118,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
117
118
|
- !ruby/object:Gem::Version
|
118
119
|
version: '0'
|
119
120
|
requirements: []
|
120
|
-
|
121
|
-
rubygems_version: 2.6.14.1
|
121
|
+
rubygems_version: 3.0.3
|
122
122
|
signing_key:
|
123
123
|
specification_version: 4
|
124
124
|
summary: 'DRG CMS: Blog, news and forum plugin for DRG CMS'
|