drg_cms 0.5.2 → 0.5.3
Sign up to get free protection for your applications and to get access to all the features.
- 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
|