drg_cms 0.4.39 → 0.4.53

Sign up to get free protection for your applications and to get access to all the features.
Files changed (104) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +49 -0
  3. data/app/assets/images/drg_cms/file_manager.png +0 -0
  4. data/app/assets/javascripts/drg_cms/drg_cms.js +8 -8
  5. data/app/assets/stylesheets/drg_cms/drg_cms.css +22 -20
  6. data/app/controllers/cmsedit_controller.rb +170 -114
  7. data/app/controllers/dc_application_controller.rb +142 -56
  8. data/app/controllers/dc_common_controller.rb +56 -34
  9. data/app/controllers/dc_main_controller.rb +1 -4
  10. data/app/controllers/drgcms_controls/dc_page_controls.rb +3 -0
  11. data/app/forms/all_options.yml +3 -0
  12. data/app/forms/cms_menu.yml +100 -117
  13. data/app/forms/dc_design.yml +1 -1
  14. data/app/forms/dc_ident.yml +37 -0
  15. data/app/forms/dc_menu_item.yml +1 -1
  16. data/app/forms/dc_permission.yml +1 -1
  17. data/app/forms/dc_site.yml +4 -0
  18. data/app/helpers/cmsedit_helper.rb +44 -80
  19. data/app/helpers/dc_ad_renderer.rb +27 -15
  20. data/app/helpers/dc_application_helper.rb +433 -196
  21. data/app/helpers/dc_big_menu_renderer.rb +40 -40
  22. data/app/helpers/dc_captcha_renderer.rb +38 -25
  23. data/app/helpers/dc_common_renderer.rb +15 -48
  24. data/app/helpers/dc_menu_renderer.rb +30 -20
  25. data/app/helpers/dc_page_renderer.rb +14 -18
  26. data/app/helpers/dc_part_renderer.rb +45 -16
  27. data/app/helpers/dc_piece_renderer.rb +23 -29
  28. data/app/helpers/dc_poll_renderer.rb +31 -20
  29. data/app/helpers/dc_renderer.rb +5 -4
  30. data/app/helpers/dc_simple_menu_renderer.rb +90 -68
  31. data/app/models/{__dc_global_data.rb → __dc_stat.rb} +20 -21
  32. data/app/models/dc_ad.rb +13 -1
  33. data/app/models/dc_ad_stat.rb +6 -0
  34. data/app/models/dc_big_menu.rb +15 -2
  35. data/app/models/dc_big_table.rb +27 -4
  36. data/app/models/dc_big_table_locale.rb +7 -0
  37. data/app/models/dc_big_table_value.rb +7 -0
  38. data/app/models/dc_category.rb +9 -3
  39. data/app/models/dc_design.rb +50 -0
  40. data/app/models/dc_dummy.rb +41 -1
  41. data/app/models/dc_folder_permission.rb +9 -2
  42. data/app/models/{dc_global_data.rb → dc_ident.rb} +20 -22
  43. data/app/models/dc_journal.rb +9 -1
  44. data/app/models/dc_key_value_store.rb +41 -4
  45. data/app/models/dc_link.rb +7 -0
  46. data/app/models/dc_menu.rb +20 -3
  47. data/app/models/dc_menu_item.rb +7 -0
  48. data/app/models/dc_page.rb +31 -12
  49. data/app/models/dc_part.rb +34 -4
  50. data/app/models/dc_permission.rb +32 -12
  51. data/app/models/dc_piece.rb +32 -4
  52. data/app/models/dc_policy.rb +17 -11
  53. data/app/models/dc_policy_role.rb +12 -7
  54. data/app/models/dc_policy_rule.rb +32 -4
  55. data/app/models/dc_poll.rb +8 -0
  56. data/app/models/dc_poll_item.rb +6 -0
  57. data/app/models/dc_simple_menu.rb +18 -3
  58. data/app/models/dc_simple_menu_item.rb +20 -2
  59. data/app/models/dc_site.rb +13 -3
  60. data/app/models/dc_stat.rb +8 -1
  61. data/app/models/dc_user.rb +18 -2
  62. data/app/models/dc_user_role.rb +7 -0
  63. data/app/models/dc_visit.rb +5 -0
  64. data/app/{helpers → models}/drgcms_form_field.rb +171 -73
  65. data/app/views/__dc_at_the_beginning/create.html.erb +9 -0
  66. data/app/views/__dc_at_the_beginning/index.html.erb +19 -0
  67. data/app/views/cmsedit/_edit_stuff.html.erb +2 -0
  68. data/app/views/cmsedit/_form.html.erb +0 -1
  69. data/app/views/dc_mail/subscribe.html.erb +0 -0
  70. data/config/initializers/kaminari_patch.rb +5 -4
  71. data/config/locales/drgcms_en.yml +4 -0
  72. data/config/locales/drgcms_sl.yml +1 -0
  73. data/config/locales/models_en.yml +14 -3
  74. data/config/locales/models_sl.yml +13 -4
  75. data/drg_cms.gemspec +4 -4
  76. data/lib/drg_cms.rb +37 -8
  77. data/lib/drg_cms/engine.rb +2 -2
  78. data/lib/drg_cms/version.rb +3 -2
  79. data/lib/tasks/at_the_beginning.yml +0 -0
  80. data/lib/tasks/dc_at_the_beginning.rake +118 -0
  81. data/lib/tasks/dc_cleanup.rake +19 -7
  82. data/lib/tasks/log_statistics.rb +66 -0
  83. data/lib/tasks/site_statistics.rake +29 -12
  84. data/test/dummy/app/controllers/application_controller.rb +1 -1
  85. data/test/dummy/app/helpers/application_helper.rb +1 -1
  86. metadata +15 -26
  87. data/README.rdoc +0 -3
  88. data/app/controllers/dc_at_the_beginning_controller.rb +0 -120
  89. data/app/controllers/dc_mail_controller.rb +0 -89
  90. data/app/forms/dc_forum_cat.yml +0 -54
  91. data/app/forms/dc_forum_forum.yml +0 -53
  92. data/app/forms/dc_forum_msg.yml +0 -124
  93. data/app/forms/dc_forum_privmsg.yml +0 -125
  94. data/app/forms/dc_forum_topic.yml +0 -131
  95. data/app/forms/dc_mail.yml +0 -88
  96. data/app/forms/dc_mail_address.yml +0 -56
  97. data/app/forms/dc_mail_list.yml +0 -44
  98. data/app/forms/dc_mail_list_member.yml +0 -42
  99. data/app/helpers/dc_mail_renderer.rb +0 -76
  100. data/app/models/dc_mail.rb +0 -64
  101. data/app/models/dc_mail_address.rb +0 -69
  102. data/app/models/dc_mail_list.rb +0 -48
  103. data/app/models/dc_mail_list_member.rb +0 -34
  104. data/app/models/dc_sendmail.rb +0 -48
@@ -0,0 +1,66 @@
1
+ ##################################################################
2
+ # Short and quick log statistics
3
+ ##################################################################
4
+
5
+
6
+ ##################################################################
7
+ # Return list of selected files.
8
+ ##################################################################
9
+ def selected_files
10
+ Dir["#{ARGV.first}*.log"]
11
+ end
12
+
13
+ ###################################################################
14
+ # Init some internal vars
15
+ ###################################################################
16
+ def init
17
+ @by_day = []
18
+ end
19
+
20
+ ###################################################################
21
+ # Collects total number of requests and respond time for calculating
22
+ # average response time.
23
+ ###################################################################
24
+ def response_by_days
25
+ i = 0
26
+ selected_files.each do |file_name|
27
+ result = [file_name[0,6], 0, 0]
28
+ File.readlines(file_name).each do |line|
29
+ next unless line.match 'Completed 200 OK in'
30
+ time = $'.split('ms').first.strip.to_i
31
+ result[1] += 1
32
+ result[2] += time
33
+ end
34
+ p result
35
+ @by_day << result
36
+ # break if (i+=1) > 4
37
+ end
38
+ end
39
+
40
+ ###################################################################
41
+ # Prints links which resultet in 404 error.
42
+ ###################################################################
43
+ def analyze_404
44
+ i = 0
45
+ selected_files.each do |file_name|
46
+ result = [file_name[0,6], 0, 0]
47
+ url = ''
48
+ File.readlines(file_name).each do |line|
49
+ if m = /Started(.*?)for/.match(line)
50
+ url = m[1]
51
+ end
52
+ if m = /404/.match(line)
53
+ p url.gsub('"','')
54
+ end
55
+ end
56
+ end
57
+ end
58
+
59
+ #analyze_404
60
+ #exit 0
61
+
62
+ init
63
+ response_by_days
64
+ p @by_day
65
+ c = @by_day.inject('') {|result, e| result << e.join("\t") + "\n"}
66
+ File.open('result.txt','w') {|f| f.write(c) }
@@ -46,23 +46,40 @@ reduce =
46
46
  p stat
47
47
  end
48
48
  =end
49
- totals = {}
50
- visits = DcVisit.only(:session_id, :time).where(:time.gt => @date_from, :time.lt => @date_to).order_by('time asc')
49
+ p 'Reading visits collection ...'
50
+ totals = {}
51
+ totals_ip = {}
52
+ visits = DcVisit.only(:session_id, :time,:ip).where(:time.gt => @date_from, :time.lt => @date_to).order_by('time asc')
51
53
  visits.each do |visit|
52
- key = visit.time.strftime('%Y%m%d') + '_' + visit.session_id
54
+ key = visit.time.strftime('%Y%m%d') + '_' + visit.session_id.to_s
53
55
  totals[key] ||= 0
54
56
  totals[key] += 1
57
+
58
+ key = visit.time.strftime('%Y%m%d') + '_' + visit.ip.to_s
59
+ totals_ip[key] ||= 0
60
+ totals_ip[key] += 1
61
+ end
62
+ p 'Calculating totals ....'
63
+ # Totals by unique
64
+ date_totals = {}
65
+ totals.each do |total|
66
+ date = total.first[0,8]
67
+ date_totals[date] ||= [0,0,0]
68
+ date_totals[date][0] += total.last
69
+ date_totals[date][1] += 1
70
+ end
71
+ # Totals by ip
72
+ totals_ip.each do |total|
73
+ date = total.first[0,8]
74
+ date_totals[date][2] += 1
55
75
  end
56
- output,old_date,unique,count = '','',0,0
57
- totals.to_a.sort! {|x,y| x <=> y}.each do |e|
58
- if e.first[0,8] != old_date
59
- output << "#{old_date}\t#{unique}\t#{count}\n" unless old_date == ''
60
- old_date,unique,count = e.first[0,8], 0, 0
61
- end
62
- unique += 1
63
- count += e.last
76
+ # Create output file
77
+ p 'Creating output ....'
78
+ output = "date\tunique\tunique_by_ip\tvisits\n"
79
+ old_date,unique,count = 0,0
80
+ date_totals.to_a.sort! {|x,y| x <=> y}.each do |e|
81
+ output << [e.first, e.last[1], e.last[2], e.last[0] ].join("\t") + "\n"
64
82
  end
65
- output << "#{old_date}\t#{unique}\t#{count}\n"
66
83
  filename = Rails.root.join('tmp/','statistics.txt')
67
84
  File.open(filename,'w') {|f| f.write(output) }
68
85
  p "Statistics saved to #{filename}."
@@ -1,3 +1,3 @@
1
- class ApplicationController < ActionController::Base
1
+ class ApplicationController < ActionController::Base #:nodoc:
2
2
  protect_from_forgery
3
3
  end
@@ -1,2 +1,2 @@
1
- module ApplicationHelper
1
+ module ApplicationHelper #:nodoc:
2
2
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: drg_cms
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.39
4
+ version: 0.4.53
5
5
  platform: ruby
6
6
  authors:
7
7
  - Damjan Rems
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-11-02 00:00:00.000000000 Z
11
+ date: 2015-02-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -108,15 +108,15 @@ dependencies:
108
108
  - - ">="
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
- description: 'DRGCMS: Content management system for Ruby, Rails and MongoDB'
111
+ description: 'DRG CMS: Content management system for Ruby, Rails and MongoDB'
112
112
  email:
113
- - drgcms@gmail.com
113
+ - damjan.rems@gmail.com
114
114
  executables: []
115
115
  extensions: []
116
116
  extra_rdoc_files: []
117
117
  files:
118
118
  - MIT-LICENSE
119
- - README.rdoc
119
+ - README.md
120
120
  - Rakefile
121
121
  - app/assets/images/drg_cms/add.png
122
122
  - app/assets/images/drg_cms/arrow_in.png
@@ -129,6 +129,7 @@ files:
129
129
  - app/assets/images/drg_cms/edit_design.png
130
130
  - app/assets/images/drg_cms/edit_page.png
131
131
  - app/assets/images/drg_cms/edit_site.png
132
+ - app/assets/images/drg_cms/file_manager.png
132
133
  - app/assets/images/drg_cms/html.png
133
134
  - app/assets/images/drg_cms/pin.png
134
135
  - app/assets/images/drg_cms/printer.png
@@ -152,9 +153,7 @@ files:
152
153
  - app/assets/stylesheets/drg_cms_cms.css
153
154
  - app/controllers/cmsedit_controller.rb
154
155
  - app/controllers/dc_application_controller.rb
155
- - app/controllers/dc_at_the_beginning_controller.rb
156
156
  - app/controllers/dc_common_controller.rb
157
- - app/controllers/dc_mail_controller.rb
158
157
  - app/controllers/dc_main_controller.rb
159
158
  - app/controllers/drgcms_controls/dc_page_controls.rb
160
159
  - app/forms/all_options.yml
@@ -167,17 +166,9 @@ files:
167
166
  - app/forms/dc_category.yml
168
167
  - app/forms/dc_design.yml
169
168
  - app/forms/dc_folder_permission.yml
170
- - app/forms/dc_forum_cat.yml
171
- - app/forms/dc_forum_forum.yml
172
- - app/forms/dc_forum_msg.yml
173
- - app/forms/dc_forum_privmsg.yml
174
- - app/forms/dc_forum_topic.yml
169
+ - app/forms/dc_ident.yml
175
170
  - app/forms/dc_journal.yml
176
171
  - app/forms/dc_link.yml
177
- - app/forms/dc_mail.yml
178
- - app/forms/dc_mail_address.yml
179
- - app/forms/dc_mail_list.yml
180
- - app/forms/dc_mail_list_member.yml
181
172
  - app/forms/dc_menu.yml
182
173
  - app/forms/dc_menu_item.yml
183
174
  - app/forms/dc_page.yml
@@ -202,7 +193,6 @@ files:
202
193
  - app/helpers/dc_big_menu_renderer.rb
203
194
  - app/helpers/dc_captcha_renderer.rb
204
195
  - app/helpers/dc_common_renderer.rb
205
- - app/helpers/dc_mail_renderer.rb
206
196
  - app/helpers/dc_menu_renderer.rb
207
197
  - app/helpers/dc_page_renderer.rb
208
198
  - app/helpers/dc_part_renderer.rb
@@ -210,8 +200,7 @@ files:
210
200
  - app/helpers/dc_poll_renderer.rb
211
201
  - app/helpers/dc_renderer.rb
212
202
  - app/helpers/dc_simple_menu_renderer.rb
213
- - app/helpers/drgcms_form_field.rb
214
- - app/models/__dc_global_data.rb
203
+ - app/models/__dc_stat.rb
215
204
  - app/models/dc_ad.rb
216
205
  - app/models/dc_ad_stat.rb
217
206
  - app/models/dc_big_menu.rb
@@ -222,14 +211,10 @@ files:
222
211
  - app/models/dc_design.rb
223
212
  - app/models/dc_dummy.rb
224
213
  - app/models/dc_folder_permission.rb
225
- - app/models/dc_global_data.rb
214
+ - app/models/dc_ident.rb
226
215
  - app/models/dc_journal.rb
227
216
  - app/models/dc_key_value_store.rb
228
217
  - app/models/dc_link.rb
229
- - app/models/dc_mail.rb
230
- - app/models/dc_mail_address.rb
231
- - app/models/dc_mail_list.rb
232
- - app/models/dc_mail_list_member.rb
233
218
  - app/models/dc_menu.rb
234
219
  - app/models/dc_menu_item.rb
235
220
  - app/models/dc_page.rb
@@ -241,7 +226,6 @@ files:
241
226
  - app/models/dc_policy_rule.rb
242
227
  - app/models/dc_poll.rb
243
228
  - app/models/dc_poll_item.rb
244
- - app/models/dc_sendmail.rb
245
229
  - app/models/dc_simple_menu.rb
246
230
  - app/models/dc_simple_menu_item.rb
247
231
  - app/models/dc_site.rb
@@ -249,6 +233,9 @@ files:
249
233
  - app/models/dc_user.rb
250
234
  - app/models/dc_user_role.rb
251
235
  - app/models/dc_visit.rb
236
+ - app/models/drgcms_form_field.rb
237
+ - app/views/__dc_at_the_beginning/create.html.erb
238
+ - app/views/__dc_at_the_beginning/index.html.erb
252
239
  - app/views/cmsedit/_edit_stuff.html.erb
253
240
  - app/views/cmsedit/_edit_stuff.js.erb
254
241
  - app/views/cmsedit/_form.html.erb
@@ -282,8 +269,10 @@ files:
282
269
  - lib/drg_cms/engine.rb
283
270
  - lib/drg_cms/version.rb
284
271
  - lib/tasks/at_the_beginning.yml
272
+ - lib/tasks/dc_at_the_beginning.rake
285
273
  - lib/tasks/dc_cleanup.rake
286
274
  - lib/tasks/drg_cms_tasks.rake
275
+ - lib/tasks/log_statistics.rb
287
276
  - lib/tasks/send_mail.rake
288
277
  - lib/tasks/site_statistics.rake
289
278
  - test/drg_cms_test.rb
@@ -340,7 +329,7 @@ rubyforge_project:
340
329
  rubygems_version: 2.2.2
341
330
  signing_key:
342
331
  specification_version: 4
343
- summary: 'DRGCMS: CMS for Ruby, Rails and MongoDB'
332
+ summary: 'DRG CMS: CMS for Ruby, Rails and MongoDB'
344
333
  test_files:
345
334
  - test/test_helper.rb
346
335
  - test/drg_cms_test.rb
@@ -1,3 +0,0 @@
1
- = DrgCms
2
-
3
- This project rocks and uses MIT-LICENSE.
@@ -1,120 +0,0 @@
1
- #--
2
- # Copyright (c) 2012-2013 Damjan Rems
3
- #
4
- # Permission is hereby granted, free of charge, to any person obtaining
5
- # a copy of this software and associated documentation files (the
6
- # "Software"), to deal in the Software without restriction, including
7
- # without limitation the rights to use, copy, modify, merge, publish,
8
- # distribute, sublicense, and/or sell copies of the Software, and to
9
- # permit persons to whom the Software is furnished to do so, subject to
10
- # the following conditions:
11
- #
12
- # The above copyright notice and this permission notice shall be
13
- # included in all copies or substantial portions of the Software.
14
- #
15
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16
- # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17
- # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18
- # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19
- # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20
- # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21
- # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22
- #++
23
-
24
- ########################################################################
25
- #
26
- ########################################################################
27
- class DcAtTheBeginningController < DcApplicationController
28
-
29
- before_filter :check_if_ok
30
-
31
- ########################################################################
32
- #
33
- ########################################################################
34
- def index
35
- end
36
-
37
- ########################################################################
38
- #
39
- ########################################################################
40
- def create
41
- if params['password1'] != params['password2']
42
- flash[:error] = "Password doesn't match!"
43
- return render action: 'index'
44
- end
45
- if params['password1'].size < 8
46
- flash[:error] = "Please be more creative. Password should be at least 8 characters long!"
47
- return render action: 'index'
48
- end
49
- # New role
50
- role = DcPolicyRole.new
51
- role.name = 'superadmin'
52
- role.system_name = 'superadmin'
53
- role.save
54
- # User
55
- usr = DcUser.new
56
- usr.username = params['username']
57
- usr.password = params['password1']
58
- usr.password_confirmation = params['password2']
59
- usr.first_name = 'superadmin'
60
- usr.save
61
- # user role
62
- r = usr.dc_user_roles.new
63
- r.dc_policy_role_id = role._id
64
- r.save
65
- # cmsedit permission
66
- permission = DcPermission.new
67
- permission.table_name = 'Default permission'
68
- permission.is_default = true
69
- permission.save
70
- #
71
- r = permission.dc_policy_rules.new
72
- r.dc_policy_role_id = role._id
73
- r.permission = DcPermission::SUPERADMIN
74
- r.save
75
- # create login poll
76
- poll = DcPoll.new
77
- poll.name = 'login'
78
- poll.display = 'td'
79
- poll.operation = 'link'
80
- poll.parameters = '/dc_common/process_login'
81
- poll.title = 'Autocreated login form'
82
- poll.save
83
- #
84
- i = poll.dc_poll_items.new
85
- i.name = 'username'
86
- i.size = 15
87
- i.text = 'Username'
88
- i.type = 'text_field'
89
- i.save
90
- #
91
- i = poll.dc_poll_items.new
92
- i.name = 'password'
93
- i.size = 15
94
- i.text = 'Password'
95
- i.type = 'password_field'
96
- i.save
97
- #
98
- i = poll.dc_poll_items.new
99
- i.name = 'send'
100
- i.text = 'Login'
101
- i.type = 'submit_tag'
102
- i.save
103
-
104
- redirect_to '/cmsedit/login'
105
- end
106
-
107
- ########################################################################
108
- #
109
- ########################################################################
110
- def check_if_ok
111
- DcPermission.all.delete
112
- DcUserRole.all.delete
113
- DcUser.all.delete
114
- return dc_render_404('At the beginning: It can only be done in development!') if ENV["RAILS_ENV"] != 'development'
115
- return dc_render_404('At the beginning: Permissions table is not empty!') if DcPermission.all.size > 0
116
- return dc_render_404('At the beginning: Roles table is not empty!') if DcUserRole.all.size > 0
117
- return dc_render_404('At the beginning: Users table is not empty!') if DcUser.all.size > 0
118
- end
119
-
120
- end
@@ -1,89 +0,0 @@
1
- #--
2
- # Copyright (c) 2012+ Damjan Rems
3
- #
4
- # Permission is hereby granted, free of charge, to any person obtaining
5
- # a copy of this software and associated documentation files (the
6
- # "Software"), to deal in the Software without restriction, including
7
- # without limitation the rights to use, copy, modify, merge, publish,
8
- # distribute, sublicense, and/or sell copies of the Software, and to
9
- # permit persons to whom the Software is furnished to do so, subject to
10
- # the following conditions:
11
- #
12
- # The above copyright notice and this permission notice shall be
13
- # included in all copies or substantial portions of the Software.
14
- #
15
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16
- # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17
- # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18
- # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19
- # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20
- # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21
- # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22
- #++
23
-
24
- # params[:msg_error] = 'Test mail send!'
25
- # params[:record_from] = 'en@mail.com'
26
- # params['.div_dc-title'] = 'Nov naslov'
27
- # params['#div_dc-title'] = 'Nov naslov'
28
- # params['url_'] = 'http://www.ozs.si'
29
-
30
- class DcMailController < DcApplicationController
31
-
32
- ########################################################################
33
- # Sends test mail to test recipient
34
- ########################################################################
35
- def send_test_mail
36
- # Only if loged on
37
- if dc_edit_mode?
38
- call_rake 'drg_cms:sendmail:test', 'MAIL_ID' => params[:id]
39
- result = { msg_info: t('drgcms.dc_mail.test_mail_sent') }
40
- render json: result.to_json
41
- else
42
- render nothing: true
43
- end
44
- end
45
-
46
- ########################################################################
47
- # Starts sending mail
48
- ########################################################################
49
- def send_mail
50
- # Only if loged on
51
- if dc_edit_mode?
52
- doc = DcMail.find(params[:id])
53
- if doc.status == 1
54
- call_rake 'drg_cms:sendmail:sending', 'MAIL_ID' => params[:id]
55
- result = { msg_info: t('drgcms.dc_mail.mail_sent') }
56
- else
57
- result = { msg_error: t('drgcms.dc_mail.message_status_error') }
58
- end
59
- render json: result.to_json
60
- else
61
- render nothing: true
62
- end
63
- end
64
-
65
- ########################################################################
66
- #
67
- ########################################################################
68
- def subscribe
69
-
70
- end
71
-
72
- ########################################################################
73
- #
74
- ########################################################################
75
- def unsubscribe
76
-
77
- end
78
-
79
- private
80
- ########################################################################
81
- # Call rake task
82
- ########################################################################
83
- def call_rake(task, options = {})
84
- options[:rails_env] ||= Rails.env
85
- args = options.map { |n, v| "#{n.to_s.upcase}='#{v}'" }
86
- system "rake #{task} #{args.join(' ')} --trace 2>&1 >> #{Rails.root}/log/rake.log &"
87
- end
88
-
89
- end