drg_cms 0.5.2 → 0.5.3
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/app/assets/javascripts/drg_cms/drg_cms.js +1 -1
- data/app/controllers/dc_application_controller.rb +10 -3
- data/app/forms/dc_page.yml +13 -8
- data/app/forms/dc_user.yml +109 -113
- data/app/helpers/dc_application_helper.rb +3 -1
- data/app/helpers/dc_simple_menu_renderer.rb +6 -4
- data/app/models/dc_page.rb +1 -0
- data/app/views/cmsedit/_result.html.erb +1 -1
- data/config/locales/models_en.yml +3 -0
- data/config/locales/models_sl.yml +7 -4
- data/lib/drg_cms/version.rb +1 -1
- data/lib/examples/extend_database_model/dc_user.rb +19 -0
- data/lib/examples/extend_database_model/dc_user.yml +11 -0
- data/lib/examples/extend_database_model/locale_en.yml +13 -0
- data/lib/examples/extend_database_model/locale_sl.yml +13 -0
- data/lib/examples/image gallery/gallery.yml +58 -0
- data/lib/examples/image gallery/gallery_renderer.rb +74 -0
- data/lib/examples/picture gallery/gallery_renderer.rb +74 -0
- data/lib/examples/responsive/design.erb +35 -0
- data/lib/examples/responsive/mailing.rb +32 -0
- data/lib/examples/responsive/responsive.css +27 -0
- data/lib/examples/responsive/responsive_controller.rb +56 -0
- data/lib/examples/responsive/responsive_renderer.rb +104 -0
- data/lib/examples/responsive/responsive_views/_send_mail.erb +4 -0
- data/lib/tasks/dc_at_the_beginning.rake +103 -12
- metadata +15 -3
- data/lib/tasks/drg_cms_tasks.rake +0 -118
@@ -2,19 +2,20 @@
|
|
2
2
|
#
|
3
3
|
#########################################################################
|
4
4
|
def ok_to_start
|
5
|
-
p ''
|
5
|
+
p 'bla'
|
6
6
|
# DcPermission.all.delete
|
7
7
|
# DcPolicyRole.all.delete
|
8
8
|
# DcUser.all.delete
|
9
|
-
|
9
|
+
p DcPermission.all.to_a
|
10
|
+
if DcPermission.all.to_a.size > 0
|
10
11
|
p 'DcPermission (Permissions) collection is not empty! Aborting.'
|
11
12
|
return false
|
12
13
|
end
|
13
|
-
if DcPolicyRole.all.size > 0
|
14
|
+
if DcPolicyRole.all.to_a.size > 0
|
14
15
|
p 'DcUserRole (User roles) collection is not empty! Aborting.'
|
15
16
|
return false
|
16
17
|
end
|
17
|
-
if DcUser.all.size > 0
|
18
|
+
if DcUser.all.to_a.size > 0
|
18
19
|
p 'DcUser (Users) collection is not empty! Aborting.'
|
19
20
|
return false
|
20
21
|
end
|
@@ -113,6 +114,11 @@ end
|
|
113
114
|
# Initial database seed
|
114
115
|
########################################################################
|
115
116
|
def seed
|
117
|
+
DcSite.all.delete
|
118
|
+
DcSimpleMenu.all.delete
|
119
|
+
DcPage.all.delete
|
120
|
+
DcPiece.all.delete
|
121
|
+
|
116
122
|
if DcSite.all.size > 0
|
117
123
|
p 'DcSite (Sites) collection is not empty! Aborting.'
|
118
124
|
return
|
@@ -127,6 +133,11 @@ def seed
|
|
127
133
|
p 'guest role not defined! Aborting.'
|
128
134
|
return
|
129
135
|
end
|
136
|
+
# Test site document points to real site document
|
137
|
+
site = DcSite.new(
|
138
|
+
name: 'test',
|
139
|
+
alias_for: 'www.mysite.com')
|
140
|
+
site.save
|
130
141
|
# Site document
|
131
142
|
site = DcSite.new(
|
132
143
|
name: 'www.mysite.com',
|
@@ -138,19 +149,26 @@ def seed
|
|
138
149
|
files_directory: "files",
|
139
150
|
settings: "ckeditor:\n config_file: /files/ck_config.js\n css_file: /files/ck_css.css\n",
|
140
151
|
site_layout: "content")
|
152
|
+
# this should end in application css file
|
153
|
+
site.css =<<EOT
|
154
|
+
#site-top, #site-main, #site-bottom, #site-menu {
|
155
|
+
width: 960px;
|
156
|
+
margin: 0px auto;
|
157
|
+
padding-top: 5px;}
|
158
|
+
EOT
|
141
159
|
site.save
|
142
|
-
#
|
160
|
+
# Default site policy
|
143
161
|
policy = DcPolicy.new(
|
144
162
|
description: "Default policy",
|
145
163
|
is_default: true,
|
146
164
|
message: "Access denied.",
|
147
165
|
name: "Default policy")
|
148
166
|
site.dc_policies << policy
|
149
|
-
#
|
150
|
-
rule = DcPolicyRule.new( dc_policy_role_id: sa._id, permission:
|
151
|
-
policy << rule
|
152
|
-
rule = DcPolicyRule.new( dc_policy_role_id: guest._id, permission:
|
153
|
-
policy << rule
|
167
|
+
# Policy rules. Administrator can edit guest can view
|
168
|
+
rule = DcPolicyRule.new( dc_policy_role_id: sa._id, permission: DcPermission::CAN_EDIT)
|
169
|
+
policy.dc_policy_rules << rule
|
170
|
+
rule = DcPolicyRule.new( dc_policy_role_id: guest._id, permission: DcPermission::CAN_VIEW)
|
171
|
+
policy.dc_policy_rules << rule
|
154
172
|
# Design document
|
155
173
|
design = DcDesign.new(name: 'simple',description: 'Simple page')
|
156
174
|
design.body =<<EOT
|
@@ -158,7 +176,7 @@ def seed
|
|
158
176
|
<div id="site-top">
|
159
177
|
<a href="/">SITE LOGO</a>
|
160
178
|
</div>
|
161
|
-
<div id="site-menu"
|
179
|
+
<div id="site-menu">
|
162
180
|
<%= dc_render(:dc_simple_menu, method: 'as_table') %>\
|
163
181
|
</div>
|
164
182
|
<div id="site-main">
|
@@ -170,13 +188,86 @@ def seed
|
|
170
188
|
</div>
|
171
189
|
EOT
|
172
190
|
design.save
|
173
|
-
#
|
191
|
+
# Page document
|
174
192
|
page = DcPage.new(
|
175
193
|
subject: 'Home page',
|
176
194
|
subject_link: 'home',
|
177
195
|
dc_design_id: design._id,
|
178
196
|
dc_site_id: site._id,
|
197
|
+
publish_date: Time.now,
|
198
|
+
body: '<p>First page data</p>'
|
199
|
+
)
|
200
|
+
page.save
|
201
|
+
# Site bottom document
|
202
|
+
bottom = DcPiece.new(
|
203
|
+
name: 'site-bottom',
|
204
|
+
description: 'Site bottom document',
|
205
|
+
site_id: site._id,
|
206
|
+
body: '<p>(C)opyright by ME</p>'
|
179
207
|
)
|
208
|
+
bottom.save
|
209
|
+
# Menu
|
210
|
+
menu = DcSimpleMenu.new(
|
211
|
+
name: "site-menu",
|
212
|
+
description: "Menu for my Site",
|
213
|
+
)
|
214
|
+
menu.css =<<EOT
|
215
|
+
.site-menu {
|
216
|
+
width:500px;
|
217
|
+
margin: 0 auto;
|
218
|
+
border-spacing: 0px;
|
219
|
+
font-weight: bold;
|
220
|
+
border: none;
|
221
|
+
}
|
222
|
+
|
223
|
+
.td-site-menu-item {
|
224
|
+
font-size: 18px;
|
225
|
+
background-color: #fff;
|
226
|
+
border-left: 20px solid #fff;
|
227
|
+
border-right: 20px solid #fff;
|
228
|
+
padding: 10px;
|
229
|
+
text-align: center;
|
230
|
+
border-radius: 1px;
|
231
|
+
white-space: nowrap
|
232
|
+
}
|
233
|
+
|
234
|
+
.td-site-menu-item:hover {
|
235
|
+
background-color: #000;
|
236
|
+
}
|
237
|
+
|
238
|
+
.td-site-menu-selected {
|
239
|
+
font-size: 18px;
|
240
|
+
background-color: #000;
|
241
|
+
border-left: 20px solid white;
|
242
|
+
border-right: 20px solid white;
|
243
|
+
padding: 10px;
|
244
|
+
text-align: center;
|
245
|
+
white-space: nowrap;
|
246
|
+
}
|
247
|
+
|
248
|
+
.site-menu a {
|
249
|
+
color: #000;
|
250
|
+
}
|
251
|
+
|
252
|
+
.td-site-menu-item:hover a, .td-site-menu-selected a {
|
253
|
+
color: #fff;
|
254
|
+
}
|
255
|
+
|
256
|
+
EOT
|
257
|
+
|
258
|
+
menu.save
|
259
|
+
# Items
|
260
|
+
item = DcSimpleMenuItem.new(caption: 'Home', link: 'home', order: 10)
|
261
|
+
menu.dc_simple_menu_items << item
|
262
|
+
# This menu item will be selected when page is displayed
|
263
|
+
page.menu_id= item._id
|
264
|
+
page.save
|
265
|
+
item = DcSimpleMenuItem.new(caption: 'Menu item 2', link: 'menu-item-2', order: 20)
|
266
|
+
menu.dc_simple_menu_items << item
|
267
|
+
item = DcSimpleMenuItem.new(caption: 'My site', link: 'http://www.drgcms.org',
|
268
|
+
target: '_blank', order: 30)
|
269
|
+
menu.dc_simple_menu_items << item
|
270
|
+
p 'Seed data created succesfully.'
|
180
271
|
end
|
181
272
|
|
182
273
|
#########################################################################
|
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.5.
|
4
|
+
version: 0.5.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Damjan Rems
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-06-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -281,12 +281,24 @@ files:
|
|
281
281
|
- lib/drg_cms.rb
|
282
282
|
- lib/drg_cms/engine.rb
|
283
283
|
- lib/drg_cms/version.rb
|
284
|
+
- lib/examples/extend_database_model/dc_user.rb
|
285
|
+
- lib/examples/extend_database_model/dc_user.yml
|
286
|
+
- lib/examples/extend_database_model/locale_en.yml
|
287
|
+
- lib/examples/extend_database_model/locale_sl.yml
|
288
|
+
- lib/examples/image gallery/gallery.yml
|
289
|
+
- lib/examples/image gallery/gallery_renderer.rb
|
290
|
+
- lib/examples/picture gallery/gallery_renderer.rb
|
291
|
+
- lib/examples/responsive/design.erb
|
292
|
+
- lib/examples/responsive/mailing.rb
|
293
|
+
- lib/examples/responsive/responsive.css
|
294
|
+
- lib/examples/responsive/responsive_controller.rb
|
295
|
+
- lib/examples/responsive/responsive_renderer.rb
|
296
|
+
- lib/examples/responsive/responsive_views/_send_mail.erb
|
284
297
|
- lib/generators/new_drg_form/USAGE
|
285
298
|
- lib/generators/new_drg_form/new_drg_form_generator.rb
|
286
299
|
- lib/tasks/at_the_beginning.yml
|
287
300
|
- lib/tasks/dc_at_the_beginning.rake
|
288
301
|
- lib/tasks/dc_cleanup.rake
|
289
|
-
- lib/tasks/drg_cms_tasks.rake
|
290
302
|
- lib/tasks/log_statistics.rb
|
291
303
|
- lib/tasks/send_mail.rake
|
292
304
|
- lib/tasks/site_statistics.rake
|
@@ -1,118 +0,0 @@
|
|
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
|