drg_cms 0.5.1 → 0.5.2
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/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
|