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.
- checksums.yaml +4 -4
- data/README.md +49 -0
- data/app/assets/images/drg_cms/file_manager.png +0 -0
- data/app/assets/javascripts/drg_cms/drg_cms.js +8 -8
- data/app/assets/stylesheets/drg_cms/drg_cms.css +22 -20
- data/app/controllers/cmsedit_controller.rb +170 -114
- data/app/controllers/dc_application_controller.rb +142 -56
- data/app/controllers/dc_common_controller.rb +56 -34
- data/app/controllers/dc_main_controller.rb +1 -4
- data/app/controllers/drgcms_controls/dc_page_controls.rb +3 -0
- data/app/forms/all_options.yml +3 -0
- data/app/forms/cms_menu.yml +100 -117
- data/app/forms/dc_design.yml +1 -1
- data/app/forms/dc_ident.yml +37 -0
- data/app/forms/dc_menu_item.yml +1 -1
- data/app/forms/dc_permission.yml +1 -1
- data/app/forms/dc_site.yml +4 -0
- data/app/helpers/cmsedit_helper.rb +44 -80
- data/app/helpers/dc_ad_renderer.rb +27 -15
- data/app/helpers/dc_application_helper.rb +433 -196
- data/app/helpers/dc_big_menu_renderer.rb +40 -40
- data/app/helpers/dc_captcha_renderer.rb +38 -25
- data/app/helpers/dc_common_renderer.rb +15 -48
- data/app/helpers/dc_menu_renderer.rb +30 -20
- data/app/helpers/dc_page_renderer.rb +14 -18
- data/app/helpers/dc_part_renderer.rb +45 -16
- data/app/helpers/dc_piece_renderer.rb +23 -29
- data/app/helpers/dc_poll_renderer.rb +31 -20
- data/app/helpers/dc_renderer.rb +5 -4
- data/app/helpers/dc_simple_menu_renderer.rb +90 -68
- data/app/models/{__dc_global_data.rb → __dc_stat.rb} +20 -21
- data/app/models/dc_ad.rb +13 -1
- data/app/models/dc_ad_stat.rb +6 -0
- data/app/models/dc_big_menu.rb +15 -2
- data/app/models/dc_big_table.rb +27 -4
- data/app/models/dc_big_table_locale.rb +7 -0
- data/app/models/dc_big_table_value.rb +7 -0
- data/app/models/dc_category.rb +9 -3
- data/app/models/dc_design.rb +50 -0
- data/app/models/dc_dummy.rb +41 -1
- data/app/models/dc_folder_permission.rb +9 -2
- data/app/models/{dc_global_data.rb → dc_ident.rb} +20 -22
- data/app/models/dc_journal.rb +9 -1
- data/app/models/dc_key_value_store.rb +41 -4
- data/app/models/dc_link.rb +7 -0
- data/app/models/dc_menu.rb +20 -3
- data/app/models/dc_menu_item.rb +7 -0
- data/app/models/dc_page.rb +31 -12
- data/app/models/dc_part.rb +34 -4
- data/app/models/dc_permission.rb +32 -12
- data/app/models/dc_piece.rb +32 -4
- data/app/models/dc_policy.rb +17 -11
- data/app/models/dc_policy_role.rb +12 -7
- data/app/models/dc_policy_rule.rb +32 -4
- data/app/models/dc_poll.rb +8 -0
- data/app/models/dc_poll_item.rb +6 -0
- data/app/models/dc_simple_menu.rb +18 -3
- data/app/models/dc_simple_menu_item.rb +20 -2
- data/app/models/dc_site.rb +13 -3
- data/app/models/dc_stat.rb +8 -1
- data/app/models/dc_user.rb +18 -2
- data/app/models/dc_user_role.rb +7 -0
- data/app/models/dc_visit.rb +5 -0
- data/app/{helpers → models}/drgcms_form_field.rb +171 -73
- data/app/views/__dc_at_the_beginning/create.html.erb +9 -0
- data/app/views/__dc_at_the_beginning/index.html.erb +19 -0
- data/app/views/cmsedit/_edit_stuff.html.erb +2 -0
- data/app/views/cmsedit/_form.html.erb +0 -1
- data/app/views/dc_mail/subscribe.html.erb +0 -0
- data/config/initializers/kaminari_patch.rb +5 -4
- data/config/locales/drgcms_en.yml +4 -0
- data/config/locales/drgcms_sl.yml +1 -0
- data/config/locales/models_en.yml +14 -3
- data/config/locales/models_sl.yml +13 -4
- data/drg_cms.gemspec +4 -4
- data/lib/drg_cms.rb +37 -8
- data/lib/drg_cms/engine.rb +2 -2
- data/lib/drg_cms/version.rb +3 -2
- data/lib/tasks/at_the_beginning.yml +0 -0
- data/lib/tasks/dc_at_the_beginning.rake +118 -0
- data/lib/tasks/dc_cleanup.rake +19 -7
- data/lib/tasks/log_statistics.rb +66 -0
- data/lib/tasks/site_statistics.rake +29 -12
- data/test/dummy/app/controllers/application_controller.rb +1 -1
- data/test/dummy/app/helpers/application_helper.rb +1 -1
- metadata +15 -26
- data/README.rdoc +0 -3
- data/app/controllers/dc_at_the_beginning_controller.rb +0 -120
- data/app/controllers/dc_mail_controller.rb +0 -89
- data/app/forms/dc_forum_cat.yml +0 -54
- data/app/forms/dc_forum_forum.yml +0 -53
- data/app/forms/dc_forum_msg.yml +0 -124
- data/app/forms/dc_forum_privmsg.yml +0 -125
- data/app/forms/dc_forum_topic.yml +0 -131
- data/app/forms/dc_mail.yml +0 -88
- data/app/forms/dc_mail_address.yml +0 -56
- data/app/forms/dc_mail_list.yml +0 -44
- data/app/forms/dc_mail_list_member.yml +0 -42
- data/app/helpers/dc_mail_renderer.rb +0 -76
- data/app/models/dc_mail.rb +0 -64
- data/app/models/dc_mail_address.rb +0 -69
- data/app/models/dc_mail_list.rb +0 -48
- data/app/models/dc_mail_list_member.rb +0 -34
- data/app/models/dc_sendmail.rb +0 -48
@@ -0,0 +1,9 @@
|
|
1
|
+
|
2
|
+
<h2>Superadmin account created</h2>
|
3
|
+
Please write down username:<%= params[:username] %>
|
4
|
+
<br>password:<%= params[:password1] %>
|
5
|
+
<br>
|
6
|
+
<!-- <%= link_to('Start editing', controller: 'poll', poll_id: 'login', return_to: '/cmsedit/show') %> -->
|
7
|
+
|
8
|
+
<%= link_to('Start editing', controller: 'cmsedit', action: 'show') %>
|
9
|
+
|
@@ -0,0 +1,19 @@
|
|
1
|
+
|
2
|
+
<h2>At the beginning GOD created superadmin</h2>
|
3
|
+
<%= "<div style='color: red;'>#{flash[:error]}</div>".html_safe if flash[:error] %>
|
4
|
+
<%= form_tag action: 'create', method: :put do %>
|
5
|
+
<table>
|
6
|
+
<tr>
|
7
|
+
<td>Superadmin username:</td>
|
8
|
+
<td><%= text_field(nil, 'username') %>
|
9
|
+
</tr><tr>
|
10
|
+
<td>Superadmin password:</td>
|
11
|
+
<td><%= password_field(nil, 'password1') %>
|
12
|
+
</tr><tr>
|
13
|
+
<td>Repeat password:</td>
|
14
|
+
<td><%= password_field(nil, 'password2') %>
|
15
|
+
</tr><tr>
|
16
|
+
<td><%= submit_tag %></td>
|
17
|
+
</tr>
|
18
|
+
</table>
|
19
|
+
<% end %>
|
@@ -33,6 +33,8 @@
|
|
33
33
|
|
34
34
|
<%= link_to( image_tag('drg_cms/copy.png', class: 'dc-link-img', title: "#{t('drgcms.doc_paste_title')}"),
|
35
35
|
{controller: 'dc_common', action: 'paste_clipboard'}, target: 'iframe_cms') %>
|
36
|
+
|
37
|
+
<%= DrgcmsFormField::Elfinder.file_manager_url(self) %>
|
36
38
|
|
37
39
|
</td>
|
38
40
|
</tr>
|
File without changes
|
@@ -23,11 +23,12 @@
|
|
23
23
|
#++
|
24
24
|
|
25
25
|
###########################################################################
|
26
|
-
# This patch adds page param to url when page one is choosed.
|
26
|
+
# This patch adds page param to url when page one is choosed. This is needed
|
27
|
+
# for paging to work as expected.
|
27
28
|
###########################################################################
|
28
|
-
module Kaminari
|
29
|
-
module Helpers
|
30
|
-
class Tag
|
29
|
+
module Kaminari #:nodoc:
|
30
|
+
module Helpers #:nodoc:
|
31
|
+
class Tag #:nodoc:
|
31
32
|
def page_url_for(page)
|
32
33
|
@template.url_for @params.merge(@param_name => (page < 1 ? 1 : page))
|
33
34
|
end
|
@@ -43,6 +43,7 @@ en:
|
|
43
43
|
edit_design: 'Edit: Design'
|
44
44
|
edit_site: 'Edit: Site'
|
45
45
|
edit_page: 'Edit: Page'
|
46
|
+
file_manager: File manager
|
46
47
|
edit_selected: 'Edit: Selected table (collection)'
|
47
48
|
invalid_username: Invalid username or password!
|
48
49
|
system_menu: CMS system tables
|
@@ -93,4 +94,7 @@ en:
|
|
93
94
|
message_errors: "%{number} addresses were in error!"
|
94
95
|
report: Report
|
95
96
|
unsubscription: Unsubscription
|
97
|
+
|
98
|
+
dc_captcha:
|
99
|
+
simple_message: Please write in the name of month no %{number} in a year.
|
96
100
|
|
@@ -43,6 +43,7 @@ sl:
|
|
43
43
|
edit_design: 'Uredi: Dizajn'
|
44
44
|
edit_site: 'Uredi: Spletišče'
|
45
45
|
edit_page: 'Uredi: Stran'
|
46
|
+
file_manager: Organizator datotek
|
46
47
|
edit_selected: 'Uredi: Izbrano tabelo'
|
47
48
|
invalid_username: Napaka uporabnik ali geslo!
|
48
49
|
system_menu: CMS sistemske tabele
|
@@ -284,7 +284,7 @@ en:
|
|
284
284
|
script: Script
|
285
285
|
script_type: Script type
|
286
286
|
piece_id: Piece
|
287
|
-
div_id:
|
287
|
+
div_id: Position (div)
|
288
288
|
order: Order
|
289
289
|
updated_by: Updated by
|
290
290
|
updated_at: Last updated at
|
@@ -309,7 +309,7 @@ en:
|
|
309
309
|
script_type: Script type
|
310
310
|
piece_id: Piece
|
311
311
|
site_id: Site
|
312
|
-
div_id:
|
312
|
+
div_id: Position (div)
|
313
313
|
order: Order
|
314
314
|
updated_by: Updated by
|
315
315
|
updated_at: Last updated at
|
@@ -460,6 +460,12 @@ en:
|
|
460
460
|
ids: Parent ids
|
461
461
|
diff: Differences
|
462
462
|
|
463
|
+
dc_ident:
|
464
|
+
tabletitle: Additional identification
|
465
|
+
|
466
|
+
key: Id key
|
467
|
+
value: Value
|
468
|
+
|
463
469
|
# help for forms #####################################################
|
464
470
|
|
465
471
|
help:
|
@@ -675,7 +681,7 @@ en:
|
|
675
681
|
script: Script, if script is included in piece
|
676
682
|
script_type: Script type
|
677
683
|
site_id: Site name where this piece will belong to
|
678
|
-
div_id: Div (
|
684
|
+
div_id: Div (position name) id on design where this piece is rendered
|
679
685
|
order: Order to be used when pieces are positioned in the same div (location)
|
680
686
|
updated_by: Last updated by
|
681
687
|
updated_at: Last updated at
|
@@ -788,3 +794,8 @@ en:
|
|
788
794
|
id: Record id
|
789
795
|
ids: Parent ids
|
790
796
|
diff: Differences
|
797
|
+
|
798
|
+
dc_ident:
|
799
|
+
key: Key which defines ident
|
800
|
+
value: Ident value
|
801
|
+
|
@@ -313,7 +313,7 @@ sl:
|
|
313
313
|
script: Skripte
|
314
314
|
script_type: Vrsta skripte
|
315
315
|
piece_id: Sestavni element
|
316
|
-
div_id:
|
316
|
+
div_id: Lokacija (div)
|
317
317
|
order: Zaporedje
|
318
318
|
params: Parametri
|
319
319
|
updated_by: Spremenil
|
@@ -339,7 +339,7 @@ sl:
|
|
339
339
|
script: Skripte
|
340
340
|
script_type: Vrsta skripte
|
341
341
|
site_id: Spletišče
|
342
|
-
div_id:
|
342
|
+
div_id: Lokacija (div)
|
343
343
|
order: Zaporedje
|
344
344
|
params: Parametri
|
345
345
|
updated_by: Spremenil
|
@@ -466,6 +466,11 @@ sl:
|
|
466
466
|
ids: Nadrejeni id-ji
|
467
467
|
diff: Razlike
|
468
468
|
|
469
|
+
dc_ident:
|
470
|
+
tabletitle: Dodatne identifikacije
|
471
|
+
|
472
|
+
key: Ključ
|
473
|
+
value: Vrednost
|
469
474
|
|
470
475
|
# help pomoč na obrazcih ####################################################
|
471
476
|
|
@@ -690,7 +695,7 @@ sl:
|
|
690
695
|
script: Skripta, če element potrebuje tudi skripto
|
691
696
|
script_type: Vrsta skripte
|
692
697
|
piece_id: Sestavni element, če ga ta element uporablja
|
693
|
-
div_id:
|
698
|
+
div_id: Lokacija ali ime DIV razdelka na strani, kjer bo element prikazan
|
694
699
|
order: Zaporedje prikaza posameznih elementov
|
695
700
|
updated_by: Zadnjič je element spremenil
|
696
701
|
updated_at: Čas, ko je bil element spremenjen
|
@@ -710,7 +715,7 @@ sl:
|
|
710
715
|
script: Skripta, če element potrebuje tudi skripto
|
711
716
|
script_type: Vrsta skripte
|
712
717
|
site_id: Spletišče, kateremu pripada element
|
713
|
-
div_id:
|
718
|
+
div_id: Lokacija ali ime DIV razdelka na strani, kjer bo element prikazan
|
714
719
|
order: Zaporedje prikaza posameznih elementov
|
715
720
|
params: Dodatni parametri za prikaz elementa
|
716
721
|
updated_by: Zadnjič je element spremenil
|
@@ -803,3 +808,7 @@ sl:
|
|
803
808
|
id: ID zapisa
|
804
809
|
ids: Nadrejeni id-ji
|
805
810
|
diff: Razlike
|
811
|
+
|
812
|
+
dc_ident:
|
813
|
+
key: Ključ identifikacije
|
814
|
+
value: Vrednost
|
data/drg_cms.gemspec
CHANGED
@@ -8,13 +8,13 @@ Gem::Specification.new do |s|
|
|
8
8
|
s.name = "drg_cms"
|
9
9
|
s.version = DrgCms::VERSION
|
10
10
|
s.authors = ["Damjan Rems"]
|
11
|
-
s.email = ["
|
11
|
+
s.email = ["damjan.rems@gmail.com"]
|
12
12
|
s.homepage = "http://www.drgcms.org"
|
13
|
-
s.summary = "
|
14
|
-
s.description = "
|
13
|
+
s.summary = "DRG CMS: CMS for Ruby, Rails and MongoDB"
|
14
|
+
s.description = "DRG CMS: Content management system for Ruby, Rails and MongoDB"
|
15
15
|
s.license = "MIT-LICENSE"
|
16
16
|
|
17
|
-
s.files = Dir["{app,config,db,lib}/**/*"] + ["MIT-LICENSE", "Rakefile", "README.
|
17
|
+
s.files = Dir["{app,config,db,lib}/**/*"] + ["MIT-LICENSE", "Rakefile", "README.md", "drg_cms.gemspec"]
|
18
18
|
s.test_files = Dir["test/**/*"]
|
19
19
|
|
20
20
|
s.add_dependency 'rails' #, '~> 3.2.16'
|
data/lib/drg_cms.rb
CHANGED
@@ -1,7 +1,10 @@
|
|
1
1
|
require 'drg_cms/engine'
|
2
2
|
require 'drg_cms/version'
|
3
3
|
|
4
|
-
|
4
|
+
################################################################################
|
5
|
+
# DRG CMS plugin module.
|
6
|
+
################################################################################
|
7
|
+
module DrgCms
|
5
8
|
@@paths = {}
|
6
9
|
################################################################################
|
7
10
|
# Returns source file name of required model.
|
@@ -10,11 +13,12 @@ module DrgCms
|
|
10
13
|
# file is tricky to require since it is included in DrgCms gem and thus a moving
|
11
14
|
# target. Whenever gem version changes file location changes with it. This way
|
12
15
|
# end user doesn't have to care about actual source file location.
|
13
|
-
#
|
14
|
-
# @example
|
15
|
-
# require DrgCms.model 'dc_page'
|
16
16
|
#
|
17
|
-
#
|
17
|
+
# Parameters:
|
18
|
+
# [ model_name ] String. Must be passed in lower case, just like the file name is.
|
19
|
+
#
|
20
|
+
# Example:
|
21
|
+
# require DrgCms.model 'dc_page'
|
18
22
|
#
|
19
23
|
###############################################################################
|
20
24
|
def self.model(model_name)
|
@@ -22,9 +26,23 @@ def self.model(model_name)
|
|
22
26
|
end
|
23
27
|
|
24
28
|
###############################################################################
|
29
|
+
# When new plugin with its own DRG forms is added to application, path to
|
30
|
+
# forms directory must be send to DrgCms module. Paths are saved into @@paths hash variable.
|
31
|
+
#
|
32
|
+
# Adding path is best done in plugin mudule initialization code.
|
25
33
|
#
|
34
|
+
# Parameters:
|
35
|
+
# [path] String. Path to forms directory
|
36
|
+
#
|
37
|
+
# Example:
|
38
|
+
# # As used in MyPlugin plugin.
|
39
|
+
# require "my_plugin/engine"
|
40
|
+
# module MyPlugin
|
41
|
+
# end
|
42
|
+
#
|
43
|
+
# DrgCms.add_forms_path File.expand_path("../../app/forms", __FILE__)
|
26
44
|
###############################################################################
|
27
|
-
def self.
|
45
|
+
def self.add_forms_path(path)
|
28
46
|
if @@paths[:forms].nil?
|
29
47
|
@@paths[:forms] = []
|
30
48
|
# default application forms path
|
@@ -36,10 +54,21 @@ def self.add_form_path(path)
|
|
36
54
|
end
|
37
55
|
|
38
56
|
###############################################################################
|
57
|
+
###############################################################################
|
58
|
+
def self.add_form_path(path) #:nodoc:
|
59
|
+
p 'DrgCms.add_form_path will be deprecated. Use add_forms_path instead.'
|
60
|
+
self.add_forms_path(path)
|
61
|
+
end
|
62
|
+
|
63
|
+
###############################################################################
|
64
|
+
# Will return value saved to internal @@paths hash.
|
39
65
|
#
|
66
|
+
# Parameters:
|
67
|
+
# [key] String. Key
|
68
|
+
# forms_paths = DrgCms.paths(:forms)
|
40
69
|
###############################################################################
|
41
|
-
def self.paths
|
42
|
-
@@paths[
|
70
|
+
def self.paths(key)
|
71
|
+
@@paths[key]
|
43
72
|
end
|
44
73
|
|
45
74
|
end
|
data/lib/drg_cms/engine.rb
CHANGED
data/lib/drg_cms/version.rb
CHANGED
File without changes
|
@@ -0,0 +1,118 @@
|
|
1
|
+
#########################################################################
|
2
|
+
#
|
3
|
+
#########################################################################
|
4
|
+
def ok_to_start
|
5
|
+
p ''
|
6
|
+
DcPermission.all.delete
|
7
|
+
DcPolicyRole.all.delete
|
8
|
+
DcUser.all.delete
|
9
|
+
if DcPermission.all.size > 0
|
10
|
+
p 'DcPermission (Permissions) collection is not empty!'
|
11
|
+
return false
|
12
|
+
end
|
13
|
+
if DcPolicyRole.all.size > 0
|
14
|
+
p 'DcUserRole (User roles) collection is not empty!'
|
15
|
+
return false
|
16
|
+
end
|
17
|
+
if DcUser.all.size > 0
|
18
|
+
p 'DcUser (Users) collection is not empty!'
|
19
|
+
return false
|
20
|
+
end
|
21
|
+
true
|
22
|
+
end
|
23
|
+
|
24
|
+
#########################################################################
|
25
|
+
#
|
26
|
+
#########################################################################
|
27
|
+
def read_input(message, default='')
|
28
|
+
print "#{message} "
|
29
|
+
response = STDIN.gets.chomp
|
30
|
+
response.blank? ? default : response
|
31
|
+
end
|
32
|
+
|
33
|
+
########################################################################
|
34
|
+
#
|
35
|
+
########################################################################
|
36
|
+
def create_superadmin
|
37
|
+
username = read_input('Enter username for superadmin role:')
|
38
|
+
return p 'Username should be at least 6 character long' unless username.size >=6
|
39
|
+
#
|
40
|
+
password1 = read_input("Enter password for #{username} user :")
|
41
|
+
return p 'Password should be at least 8 character long' unless password1.size >=8
|
42
|
+
#
|
43
|
+
password2 = read_input("Please repeat password for #{username} user :")
|
44
|
+
return p 'Passwords are not equal' unless password2 == password1
|
45
|
+
#
|
46
|
+
# New role
|
47
|
+
role = DcPolicyRole.new
|
48
|
+
role.name = 'superadmin'
|
49
|
+
role.system_name = 'superadmin'
|
50
|
+
role.save
|
51
|
+
# User
|
52
|
+
usr = DcUser.new
|
53
|
+
usr.username = username
|
54
|
+
usr.password = password1
|
55
|
+
usr.password_confirmation = password2
|
56
|
+
usr.first_name = 'superadmin'
|
57
|
+
usr.save
|
58
|
+
# user role
|
59
|
+
# r = usr.dc_user_roles.new
|
60
|
+
# r.dc_policy_role_id = role._id
|
61
|
+
# r.save
|
62
|
+
r = DcUserRole.new
|
63
|
+
r.dc_policy_role_id = role._id
|
64
|
+
usr.dc_user_roles << r
|
65
|
+
# cmsedit permission
|
66
|
+
permission = DcPermission.new
|
67
|
+
permission.table_name = 'Default permission'
|
68
|
+
permission.is_default = true
|
69
|
+
permission.save
|
70
|
+
#
|
71
|
+
r = DcPolicyRule.new
|
72
|
+
r.dc_policy_role_id = role._id
|
73
|
+
r.permission = DcPermission::SUPERADMIN
|
74
|
+
permission.dc_policy_rules << r
|
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
|
+
p "Superadmin user created. Please remember login data #{username}/#{password1}"
|
105
|
+
end
|
106
|
+
|
107
|
+
|
108
|
+
#########################################################################
|
109
|
+
#
|
110
|
+
#########################################################################
|
111
|
+
namespace :drg_cms do
|
112
|
+
desc "At the beginning god created superadmin"
|
113
|
+
task :at_the_beginning => :environment do
|
114
|
+
if ok_to_start
|
115
|
+
create_superadmin
|
116
|
+
end
|
117
|
+
end
|
118
|
+
end
|
data/lib/tasks/dc_cleanup.rake
CHANGED
@@ -21,10 +21,20 @@
|
|
21
21
|
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
22
22
|
#++
|
23
23
|
|
24
|
+
########################################################################
|
25
|
+
# Task in this file are intend for cleaning up and making archive of statistics collections.
|
26
|
+
#
|
27
|
+
# rake drgcms:clear_sessions. This is just an example how to cleanup sessions collection.
|
28
|
+
#
|
29
|
+
# rake clear_visits. Will archive and delete dc_visits documents. You will be prompted to enter end_date.
|
30
|
+
#
|
31
|
+
# rake drgcms:clear_ad_stats. Will archive and delete dc_ad_stats collection. You will be prompted to enter end_date.
|
32
|
+
########################################################################
|
33
|
+
|
24
34
|
namespace :drg_cms do
|
25
35
|
desc 'Clears mongodb session collection.'
|
26
36
|
task :clear_sessions, [:name] => :environment do |t, args|
|
27
|
-
p 'This is just an example how to clear sessions collection.'
|
37
|
+
p 'This is just an example how to clear sessions collection. It wont do anything because of next line.'
|
28
38
|
return if true
|
29
39
|
ActionDispatch::Session::MongoidStore::Session.where(:updated_at.lt => 1.week.ago).delete
|
30
40
|
DcSite.collection.database.command(eval: "db.runCommand ( { compact: 'sessions' } )" )
|
@@ -33,7 +43,7 @@ namespace :drg_cms do
|
|
33
43
|
###########################################################################
|
34
44
|
desc 'Removes all statistics from dc_visits up to specified date and save them to visits_date.json.'
|
35
45
|
task :clear_visits, [:name] => :environment do |t, args|
|
36
|
-
date = read_input("Enter
|
46
|
+
date = read_input("Enter end date (yyyymmdd): ")
|
37
47
|
return unless date.size == 8
|
38
48
|
|
39
49
|
archive_file = "visits_#{date}.json"
|
@@ -45,7 +55,7 @@ namespace :drg_cms do
|
|
45
55
|
DcVisit.where(:time.lt => date_to).each do |visit|
|
46
56
|
save << visit.to_json + "\n"
|
47
57
|
# visit.delete
|
48
|
-
p "Deleted #{n}" if (n+=1)%
|
58
|
+
p "Deleted #{n}" if (n+=1)%10000 == 0
|
49
59
|
end
|
50
60
|
DcVisit.where(:time.lt => date_to).delete
|
51
61
|
File.open(archive_file,'w') {|f| f.write(save)}
|
@@ -55,7 +65,7 @@ namespace :drg_cms do
|
|
55
65
|
###########################################################################
|
56
66
|
desc "Removes all statistics of not active ads and save them to ads_#{Time.now.strftime('%Y%d%m')}.json."
|
57
67
|
task :clear_ad_stats, [:name] => :environment do |t, args|
|
58
|
-
input = read_input("Just press Enter to start. If you type in anything process
|
68
|
+
input = read_input("Just press Enter to start. If you type in anything process won't start.")
|
59
69
|
return unless input.to_s.size == 0
|
60
70
|
today = Time.now.beginning_of_day
|
61
71
|
n = 0
|
@@ -65,8 +75,7 @@ namespace :drg_cms do
|
|
65
75
|
save_ads << ad.to_json + "\n"
|
66
76
|
DcAdStat.where(:dc_ad_id => ad._id).each do |stat|
|
67
77
|
save_stat << stat.to_json + "\n"
|
68
|
-
#
|
69
|
-
p "Deleted #{n}" if (n+=1)%1000 == 0
|
78
|
+
p "Deleted #{n}" if (n+=1)%10000 == 0
|
70
79
|
end
|
71
80
|
DcAdStat.where(:dc_ad_id => ad._id).delete
|
72
81
|
end
|
@@ -76,8 +85,9 @@ namespace :drg_cms do
|
|
76
85
|
DcSite.collection.database.command(eval: "db.runCommand ( { compact: 'dc_ad_stats' } )" )
|
77
86
|
end
|
78
87
|
|
88
|
+
=begin
|
79
89
|
###########################################################################
|
80
|
-
desc "
|
90
|
+
desc "Correct error when ad_id ield is used instead of dc_ad_id."
|
81
91
|
task :repair_ad_stats, [:name] => :environment do |t, args|
|
82
92
|
input = read_input("Just press Enter to start. If you type in anything process won't start.")
|
83
93
|
return unless input.to_s.size == 0
|
@@ -91,4 +101,6 @@ namespace :drg_cms do
|
|
91
101
|
p n if (n+=1)%1000 == 0
|
92
102
|
end
|
93
103
|
end
|
104
|
+
=end
|
105
|
+
|
94
106
|
end
|