drg_cms 0.4.39 → 0.4.53

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.
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