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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 31aa0b6c5076624acd107471ba082d927e096cb5
4
- data.tar.gz: bf9048314d21555c052cca5394b7723fac605e85
3
+ metadata.gz: fd80aba913afa715795f1a5e814d44400b5f7f0a
4
+ data.tar.gz: ee6d578127bd8196b70f07b97e0b3245e4deb861
5
5
  SHA512:
6
- metadata.gz: 6e1df8ad23c73f14ad9094a7dc132dea6ceecebb2aadb89ec800a909007ff859b16d5b7f3f6b652b8dfc0b0c97623e69552f8dc107bae18d79485cff833aa9b4
7
- data.tar.gz: d6dc1617e911aa3924f0f8e00a546b4e9eb45c0a49e3352bd8d40523550feabf80b61858ec2e85a5ac5751e796e139b7789224de3a2b35153516c7f52e4d482c
6
+ metadata.gz: 857de918747abfe9c56afbe92ee350d60947f641f16648135474157ac0bf3faddec43194abffdf644dbaa1cfebb8c3a24b04e74cb0d98f57ba027f2bd3876903
7
+ data.tar.gz: 4a888718ed39eb65e58fd611feb82444121e53c2f218c6c0e1a6866c2840a87774f60f5c681752fc0f14c79f540b8e356e8d123cf7288d006807eac9077c7c89
@@ -241,7 +241,6 @@ background-color: #888;
241
241
  border: 0px;
242
242
  color: #888;
243
243
  font-weight: bold;
244
- font-size: 12px;
245
244
  box-shadow: none;
246
245
  background: none;
247
246
  /* background-color: none; */
@@ -18,10 +18,5 @@
18
18
  *= require font-awesome
19
19
  */
20
20
 
21
-
22
- /* IMPORTANT
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.each {|k,v| return v if v['name'] == name }
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: nil, edit_only: 'body' )
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><br>\n"
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='poll-data-submit'>#{field_html}#{yaml['separator']}</span>"
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 = @parent.params[:poll_id] || @opts[: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'] ||= 'poll-submit') if item.type == 'submit_tag'
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><br /></div>"
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:+ date_select (required)
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: date_time_select
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:+ date_time_picker (required)
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: date_time_picker
993
+ # type: datetime_picker
994
994
  # options: 'step: 60'
995
995
  ###########################################################################
996
996
  class DatetimePicker < DrgcmsField
@@ -1,4 +1,4 @@
1
1
  module DrgCms #:nodoc:
2
2
  # drg_cms gem version
3
- VERSION = "0.5.1"
3
+ VERSION = "0.5.2"
4
4
  end
@@ -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
- # New role
46
+ # Guest role first
47
47
  role = DcPolicyRole.new
48
- role.name = 'superadmin'
49
- role.system_name = 'superadmin'
48
+ role.name = 'guest'
49
+ role.system_name = 'guest'
50
50
  role.save
51
- # User
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 = 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 = 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.1
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-24 00:00:00.000000000 Z
11
+ date: 2015-05-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails