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