drg_cms 0.5.1 → 0.5.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/stylesheets/drg_cms/drg_cms.css +0 -1
- data/app/assets/stylesheets/drg_cms_cms.css +2 -7
- data/app/controllers/cmsedit_controller.rb +1 -0
- data/app/helpers/cmsedit_helper.rb +2 -2
- data/app/helpers/dc_application_helper.rb +1 -1
- data/app/helpers/dc_poll_renderer.rb +5 -6
- data/app/models/drgcms_form_fields.rb +4 -4
- data/lib/drg_cms/version.rb +1 -1
- data/lib/tasks/dc_at_the_beginning.rake +92 -12
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fd80aba913afa715795f1a5e814d44400b5f7f0a
|
4
|
+
data.tar.gz: ee6d578127bd8196b70f07b97e0b3245e4deb861
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 857de918747abfe9c56afbe92ee350d60947f641f16648135474157ac0bf3faddec43194abffdf644dbaa1cfebb8c3a24b04e74cb0d98f57ba027f2bd3876903
|
7
|
+
data.tar.gz: 4a888718ed39eb65e58fd611feb82444121e53c2f218c6c0e1a6866c2840a87774f60f5c681752fc0f14c79f540b8e356e8d123cf7288d006807eac9077c7c89
|
@@ -18,10 +18,5 @@
|
|
18
18
|
*= require font-awesome
|
19
19
|
*/
|
20
20
|
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
Don't forget to update elfinder.min.css and replace all occurences of ../img/ with /assets/elfinder/
|
25
|
-
and copy elfinder/img to images/elfinder folder.
|
26
|
-
|
27
|
-
*/
|
21
|
+
/* Required for link buttons to look alike */
|
22
|
+
.dc-link a, .dc-link-submit input {font-weight: bold; font-family: helvetica; font-size: 12px; }
|
@@ -743,6 +743,7 @@ def save_data
|
|
743
743
|
next if v['type'].match('embedded') # don't wipe embedded fields
|
744
744
|
next if params[:edit_only] and params[:edit_only] != v['name'] # otherwise other fields would be wiped
|
745
745
|
next unless @record.respond_to?(v['name']) # there can be temporary fields on the form
|
746
|
+
next if v['readonly'] # fields with readonly option don't retain value and would be wiped
|
746
747
|
# return value from form field definition
|
747
748
|
value = DrgcmsFormFields.const_get(v['type'].camelize).get_data(params, v['name'])
|
748
749
|
@record.send("#{v['name']}=", value)
|
@@ -114,7 +114,7 @@ EOT
|
|
114
114
|
end
|
115
115
|
|
116
116
|
############################################################################
|
117
|
-
# Will return field form definition. Subroutine of dc_div_filter
|
117
|
+
# Will return field form definition if field is defined on form. Subroutine of dc_div_filter
|
118
118
|
############################################################################
|
119
119
|
def _get_field_def(name) #:nodoc:
|
120
120
|
@form['form']['tabs'].each do |tab|
|
@@ -125,7 +125,7 @@ def _get_field_def(name) #:nodoc:
|
|
125
125
|
end if @form['form']['tabs'] # I know. But nice.
|
126
126
|
#
|
127
127
|
@form['form']['fields'].each do |field|
|
128
|
-
field.last
|
128
|
+
return field.last if field.last['name'] == name
|
129
129
|
end if @form['form']['fields']
|
130
130
|
nil
|
131
131
|
end
|
@@ -451,7 +451,7 @@ def dc_page_edit_menu(opts=@opts)
|
|
451
451
|
title = "#{t('drgcms.edit')}: #{@page.subject}"
|
452
452
|
dc_link_menu_tag(title) do |html|
|
453
453
|
opts[:editparams].merge!( controller: 'cmsedit', action: 'edit', 'icon' => 'edit' )
|
454
|
-
opts[:editparams].merge!( :id => @page.id, :table => _origin.site.page_table, formname:
|
454
|
+
opts[:editparams].merge!( :id => @page.id, :table => _origin.site.page_table, formname: opts[:formname], edit_only: 'body' )
|
455
455
|
html << dc_link_for_edit1( opts[:editparams], t('drgcms.edit_content') )
|
456
456
|
|
457
457
|
# opts[:editparams][:edit_only] = nil
|
@@ -95,7 +95,7 @@ def do_one_item(poll, yaml)
|
|
95
95
|
html << if poll.display == 'lr'
|
96
96
|
"</table><br>\n"
|
97
97
|
else
|
98
|
-
"</div
|
98
|
+
"</div>\n"
|
99
99
|
end
|
100
100
|
# captcha
|
101
101
|
if poll.captcha_type.to_s.size > 1
|
@@ -107,7 +107,7 @@ def do_one_item(poll, yaml)
|
|
107
107
|
@end_od_data = true
|
108
108
|
end
|
109
109
|
# submit and link tag
|
110
|
-
html << "<span class='
|
110
|
+
html << "<span class='dc-link-submit dc-animate'>#{field_html}#{yaml['separator']}</span>"
|
111
111
|
# other elements
|
112
112
|
else
|
113
113
|
html << if poll.display == 'lr'
|
@@ -123,7 +123,7 @@ end
|
|
123
123
|
########################################################################
|
124
124
|
def default
|
125
125
|
# poll_id may be defined in params or opts
|
126
|
-
poll_id = @
|
126
|
+
poll_id = @opts[:poll_id] || @parent.params[:poll_id]
|
127
127
|
return '<br>Poll id is not defined?<br>' if poll_id.nil?
|
128
128
|
#
|
129
129
|
poll = DcPoll.find(poll_id)
|
@@ -187,10 +187,9 @@ def default
|
|
187
187
|
yaml['name'] = item.name
|
188
188
|
yaml['html'] ||= {}
|
189
189
|
yaml['html']['size'] = item.size
|
190
|
-
(yaml['html']['class'] ||= '
|
190
|
+
(yaml['html']['class'] ||= 'dc-submit') if item.type == 'submit_tag'
|
191
191
|
yaml['text'] = item.text
|
192
192
|
yaml['mandatory'] = item.mandatory
|
193
|
-
# y['options'] = item.options
|
194
193
|
yaml['type'] = item.type
|
195
194
|
html << do_one_item(poll, yaml)
|
196
195
|
end
|
@@ -206,7 +205,7 @@ def default
|
|
206
205
|
html << @parent.hidden_field_tag('return_to_error', @parent.request.url )
|
207
206
|
html << @parent.hidden_field_tag('poll_id', poll_id )
|
208
207
|
html << @parent.hidden_field_tag('page_id', @parent.page.id )
|
209
|
-
html << "</form
|
208
|
+
html << "</form></div>"
|
210
209
|
|
211
210
|
@part_css = poll.css
|
212
211
|
html
|
@@ -854,7 +854,7 @@ end
|
|
854
854
|
# Create datetime_select form field
|
855
855
|
#
|
856
856
|
# ===Form options:
|
857
|
-
# * +type:+
|
857
|
+
# * +type:+ datetime_select (required)
|
858
858
|
# * +name:+ Field name (required)
|
859
859
|
# * +options:+ options which apply to date_select field (optional)
|
860
860
|
# * +html:+ html options which apply to password field (optional)
|
@@ -862,7 +862,7 @@ end
|
|
862
862
|
# Form example:
|
863
863
|
# 60:
|
864
864
|
# name: end_time
|
865
|
-
# type:
|
865
|
+
# type: datetime_select
|
866
866
|
# options:
|
867
867
|
# include_blank: true
|
868
868
|
###########################################################################
|
@@ -974,7 +974,7 @@ end
|
|
974
974
|
# Implementation of date_time_picker DRG CMS form field with help of jQuery DateTimePicker plugin
|
975
975
|
#
|
976
976
|
# ===Form options:
|
977
|
-
# * +type:+
|
977
|
+
# * +type:+ datetime_picker (required)
|
978
978
|
# * +name:+ Field name (required)
|
979
979
|
# * +options:+ options which apply to date_picker field. All options can be found here http://xdsoft.net/jqplugins/datetimepicker/ .
|
980
980
|
# Options can be defined in single line like:
|
@@ -990,7 +990,7 @@ end
|
|
990
990
|
# Form example:
|
991
991
|
# 10:
|
992
992
|
# name: valid_to
|
993
|
-
# type:
|
993
|
+
# type: datetime_picker
|
994
994
|
# options: 'step: 60'
|
995
995
|
###########################################################################
|
996
996
|
class DatetimePicker < DrgcmsField
|
data/lib/drg_cms/version.rb
CHANGED
@@ -3,19 +3,19 @@
|
|
3
3
|
#########################################################################
|
4
4
|
def ok_to_start
|
5
5
|
p ''
|
6
|
-
DcPermission.all.delete
|
7
|
-
DcPolicyRole.all.delete
|
8
|
-
DcUser.all.delete
|
6
|
+
# DcPermission.all.delete
|
7
|
+
# DcPolicyRole.all.delete
|
8
|
+
# DcUser.all.delete
|
9
9
|
if DcPermission.all.size > 0
|
10
|
-
p 'DcPermission (Permissions) collection is not empty!'
|
10
|
+
p 'DcPermission (Permissions) collection is not empty! Aborting.'
|
11
11
|
return false
|
12
12
|
end
|
13
13
|
if DcPolicyRole.all.size > 0
|
14
|
-
p 'DcUserRole (User roles) collection is not empty!'
|
14
|
+
p 'DcUserRole (User roles) collection is not empty! Aborting.'
|
15
15
|
return false
|
16
16
|
end
|
17
17
|
if DcUser.all.size > 0
|
18
|
-
p 'DcUser (Users) collection is not empty!'
|
18
|
+
p 'DcUser (Users) collection is not empty! Aborting.'
|
19
19
|
return false
|
20
20
|
end
|
21
21
|
true
|
@@ -43,12 +43,17 @@ def create_superadmin
|
|
43
43
|
password2 = read_input("Please repeat password for #{username} user :")
|
44
44
|
return p 'Passwords are not equal' unless password2 == password1
|
45
45
|
#
|
46
|
-
#
|
46
|
+
# Guest role first
|
47
47
|
role = DcPolicyRole.new
|
48
|
-
role.name = '
|
49
|
-
role.system_name = '
|
48
|
+
role.name = 'guest'
|
49
|
+
role.system_name = 'guest'
|
50
50
|
role.save
|
51
|
-
#
|
51
|
+
# Superadmin role
|
52
|
+
sa = DcPolicyRole.new
|
53
|
+
sa.name = 'superadmin'
|
54
|
+
sa.system_name = 'superadmin'
|
55
|
+
sa.save
|
56
|
+
# Superadmin user
|
52
57
|
usr = DcUser.new
|
53
58
|
usr.username = username
|
54
59
|
usr.password = password1
|
@@ -60,7 +65,7 @@ def create_superadmin
|
|
60
65
|
# r.dc_policy_role_id = role._id
|
61
66
|
# r.save
|
62
67
|
r = DcUserRole.new
|
63
|
-
r.dc_policy_role_id =
|
68
|
+
r.dc_policy_role_id = sa._id
|
64
69
|
usr.dc_user_roles << r
|
65
70
|
# cmsedit permission
|
66
71
|
permission = DcPermission.new
|
@@ -69,7 +74,7 @@ def create_superadmin
|
|
69
74
|
permission.save
|
70
75
|
#
|
71
76
|
r = DcPolicyRule.new
|
72
|
-
r.dc_policy_role_id =
|
77
|
+
r.dc_policy_role_id = sa._id
|
73
78
|
r.permission = DcPermission::SUPERADMIN
|
74
79
|
permission.dc_policy_rules << r
|
75
80
|
# create login poll
|
@@ -104,6 +109,75 @@ def create_superadmin
|
|
104
109
|
p "Superadmin user created. Please remember login data #{username}/#{password1}"
|
105
110
|
end
|
106
111
|
|
112
|
+
########################################################################
|
113
|
+
# Initial database seed
|
114
|
+
########################################################################
|
115
|
+
def seed
|
116
|
+
if DcSite.all.size > 0
|
117
|
+
p 'DcSite (Sites) collection is not empty! Aborting.'
|
118
|
+
return
|
119
|
+
end
|
120
|
+
#
|
121
|
+
if (sa = DcPolicyRole.find_by(system_name: 'superadmin')).nil?
|
122
|
+
p 'superadmin role not defined! Aborting.'
|
123
|
+
return
|
124
|
+
end
|
125
|
+
#
|
126
|
+
if (guest = DcPolicyRole.find_by(system_name: 'guest')).nil?
|
127
|
+
p 'guest role not defined! Aborting.'
|
128
|
+
return
|
129
|
+
end
|
130
|
+
# Site document
|
131
|
+
site = DcSite.new(
|
132
|
+
name: 'www.mysite.com',
|
133
|
+
homepage_link: "home",
|
134
|
+
menu_class: "DcSimpleMenu",
|
135
|
+
menu_name: "site-menu",
|
136
|
+
page_class: "DcPage",
|
137
|
+
page_table: "dc_page",
|
138
|
+
files_directory: "files",
|
139
|
+
settings: "ckeditor:\n config_file: /files/ck_config.js\n css_file: /files/ck_css.css\n",
|
140
|
+
site_layout: "content")
|
141
|
+
site.save
|
142
|
+
#
|
143
|
+
policy = DcPolicy.new(
|
144
|
+
description: "Default policy",
|
145
|
+
is_default: true,
|
146
|
+
message: "Access denied.",
|
147
|
+
name: "Default policy")
|
148
|
+
site.dc_policies << policy
|
149
|
+
#
|
150
|
+
rule = DcPolicyRule.new( dc_policy_role_id: sa._id, permission: 4)
|
151
|
+
policy << rule
|
152
|
+
rule = DcPolicyRule.new( dc_policy_role_id: guest._id, permission: 1)
|
153
|
+
policy << rule
|
154
|
+
# Design document
|
155
|
+
design = DcDesign.new(name: 'simple',description: 'Simple page')
|
156
|
+
design.body =<<EOT
|
157
|
+
<div id="site">
|
158
|
+
<div id="site-top">
|
159
|
+
<a href="/">SITE LOGO</a>
|
160
|
+
</div>
|
161
|
+
<div id="site-menu"
|
162
|
+
<%= dc_render(:dc_simple_menu, method: 'as_table') %>\
|
163
|
+
</div>
|
164
|
+
<div id="site-main">
|
165
|
+
<%= dc_render(:dc_page) %>
|
166
|
+
</div>
|
167
|
+
<div id="site-bottom">
|
168
|
+
<%= dc_render(:dc_piece, name: 'site-bottom') %>
|
169
|
+
</div>
|
170
|
+
</div>
|
171
|
+
EOT
|
172
|
+
design.save
|
173
|
+
#
|
174
|
+
page = DcPage.new(
|
175
|
+
subject: 'Home page',
|
176
|
+
subject_link: 'home',
|
177
|
+
dc_design_id: design._id,
|
178
|
+
dc_site_id: site._id,
|
179
|
+
)
|
180
|
+
end
|
107
181
|
|
108
182
|
#########################################################################
|
109
183
|
#
|
@@ -115,4 +189,10 @@ namespace :drg_cms do
|
|
115
189
|
create_superadmin
|
116
190
|
end
|
117
191
|
end
|
192
|
+
|
193
|
+
desc "Seed initial data"
|
194
|
+
task :seed => :environment do
|
195
|
+
seed
|
196
|
+
end
|
197
|
+
|
118
198
|
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.5.
|
4
|
+
version: 0.5.2
|
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-05-
|
11
|
+
date: 2015-05-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|