imagine_cms 5.2.0 → 5.2.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (48) hide show
  1. checksums.yaml +4 -4
  2. data/Dockerfile +16 -42
  3. data/README.md +28 -11
  4. data/app/assets/javascripts/dojo/dojo.js +1 -1
  5. data/app/assets/javascripts/dojo/src/widget/templates/richtextframe.html +3 -0
  6. data/app/assets/javascripts/imagine_cms/core.js +31 -40
  7. data/app/assets/stylesheets/imagine_cms.css.scss +15 -7
  8. data/app/assets/stylesheets/imagine_controls.css.scss +45 -2
  9. data/app/controllers/cms/content_controller.rb +2 -2
  10. data/app/controllers/manage/cms_pages_controller.rb +34 -25
  11. data/app/helpers/cms_application_helper.rb +27 -27
  12. data/app/helpers/cms_custom_helper.rb +13 -0
  13. data/app/mailers/imagine_cms_mailer.rb +1 -1
  14. data/app/views/imagine_cms/_dialogs.html.erb +3 -3
  15. data/app/views/imagine_cms/_header.html.erb +8 -8
  16. data/app/views/imagine_cms_mailer/request_review.text.erb +0 -2
  17. data/app/views/layouts/management.html.erb +5 -4
  18. data/app/views/manage/cms_pages/_create_file_link.html.erb +16 -3
  19. data/app/views/manage/cms_pages/_crop_feature_image.html.erb +1 -1
  20. data/app/views/manage/cms_pages/_crop_image.html.erb +31 -29
  21. data/app/views/manage/cms_pages/_crop_thumb.html.erb +1 -1
  22. data/app/views/manage/cms_pages/_edit_page.html.erb +18 -4
  23. data/app/views/manage/cms_pages/_list_page.html.erb +28 -7
  24. data/app/views/manage/cms_pages/_list_page_select.html.erb +17 -7
  25. data/app/views/manage/cms_pages/_list_pages.html.erb +1 -1
  26. data/app/views/manage/cms_pages/_list_pages_select.html.erb +1 -1
  27. data/app/views/manage/cms_pages/_page_list.html.erb +5 -5
  28. data/app/views/manage/cms_pages/_page_list_source_tag.html.erb +6 -2
  29. data/app/views/manage/cms_pages/_upload_feature_image.html.erb +51 -11
  30. data/app/views/manage/cms_pages/_upload_file.html.erb +2 -2
  31. data/app/views/manage/cms_pages/_upload_image.html.erb +95 -23
  32. data/app/views/manage/cms_pages/_upload_thumb.html.erb +51 -11
  33. data/app/views/manage/cms_pages/gallery_management.html.erb +1 -1
  34. data/app/views/manage/cms_pages/index.html.erb +36 -35
  35. data/app/views/manage/cms_pages/select_page.html.erb +39 -39
  36. data/app/views/manage/cms_pages/toolbar_preview.html.erb +1 -1
  37. data/app/views/management/users/index.html.erb +1 -1
  38. data/docker-compose.override.yml.example +6 -19
  39. data/docker-compose.yml +5 -7
  40. data/docker/conf/{nginx-vhost.conf → nginx-vhost.conf.template} +3 -3
  41. data/docker/services/{memcached.sh → memcached} +0 -0
  42. data/docker/services/{sidekiq.sh → sidekiq} +0 -0
  43. data/docker/services/{webpack.sh → webpack} +0 -0
  44. data/lib/extensions/action_controller_extensions.rb +18 -17
  45. data/lib/imagine_cms/engine.rb +1 -0
  46. data/lib/imagine_cms/version.rb +1 -1
  47. data/lib/upload_progress/lib/multipart_progress.rb +1 -1
  48. metadata +11 -11
@@ -95,7 +95,7 @@
95
95
  <td></td>
96
96
  <td>
97
97
  <div id="upload_status_div" class="error"><%= upload_status_tag %></div>
98
- <%= submit_tag 'Next', :class => 'form_button', :style => 'width: 70px;', :onclick => "if ($('gallery_file_data').value == '') return false; this.disabled = true; this.value = 'Uploading...';" %>
98
+ <%= submit_tag 'Next', class: 'form_button', style: 'width: 70px;', data: { disable_with: 'Uploading...' } %>
99
99
  </td>
100
100
  </tr>
101
101
  </table>
@@ -1,36 +1,33 @@
1
- <%
1
+ <%-
2
2
  cbNumColumns = 0;
3
- cbColWidth = 170;
4
- cbColHeight = 300;
5
- cbBorderWidth = 1;
6
- cbColWidthFull = 172;
3
+ cbColWidth = 200;
4
+ cbColHeight = 400;
7
5
  -%>
8
- <%= javascript_tag <<-EOF
9
- dojo.require("dojo.widget.*");
10
- dojo.require("dojo.widget.Dialog");
11
-
12
- cbColWidth = '#{cbColWidth}px';
13
- cbColHeight = '#{cbColHeight}px';
14
- cbBorderWidth = '#{cbBorderWidth}px';
15
- cbColWidthFull = '#{cbColWidthFull}';
16
- EOF
17
- %>
6
+ <script type="text/javascript">
7
+ window.cbColWidth = <%= cbColWidth %>;
8
+ window.cbColHeight = <%= cbColHeight %>;
9
+ </script>
10
+ <style type="text/css">
11
+ .cb_column {
12
+ width: <%= cbColWidth %>px;
13
+ height: <%= cbColHeight %>px;
14
+ }
15
+ </style>
18
16
 
19
17
  <h2>CMS &raquo; Pages</h2>
20
18
 
21
19
  <%= flash_message %>
22
20
 
23
- <div id="columnBrowserToolbar" style="background-color: #ddd; padding: 5px 4px 0; margin: 0 0 5px;">
24
- <%= link_to image_tag('management/btn-top-new.png', style: 'margin-right: 2px;'), '#', id: 'new_link' %>
25
- <%= link_to image_tag('management/btn-top-edit.png', style: 'margin-right: 2px;'), '#', id: 'edit_content_link', target: '_blank' %>
26
- <%= link_to image_tag('management/btn-top-properties.png', style: 'margin-right: 2px;'), '#', id: 'edit_link' %>
27
- <%= link_to image_tag('management/btn-top-preview.png', style: 'margin-right: 2px;'), '#', id: 'view_link', target: '_blank' %>
28
- <%= link_to image_tag('management/btn-top-delete.png', style: 'margin: 0;'), '#', id: 'delete_link', target: '_blank', method: :post, data: { confirm: 'Are you sure you want to delete the selected page?' } %>
29
- <div class="clearer"></div>
21
+ <div id="columnBrowserToolbar">
22
+ <%= link_to image_tag('management/btn-top-new.png'), '#', id: 'new_link' %>
23
+ <%= link_to image_tag('management/btn-top-edit.png'), '#', id: 'edit_content_link' %>
24
+ <%= link_to image_tag('management/btn-top-properties.png'), '#', id: 'edit_link' %>
25
+ <%= link_to image_tag('management/btn-top-preview.png'), '#', id: 'view_link', target: '_blank' %>
26
+ <%= link_to image_tag('management/btn-top-delete.png'), '#', id: 'delete_link', method: :post, data: { confirm: 'Are you sure you want to delete the selected page?' } %>
30
27
  </div>
31
28
 
32
- <div id="columnBrowserContainer" style="width: 100%; height: <%= cbColHeight + 20 %>px; overflow: auto;">
33
- <div id="columnBrowser" style="width: <%= cbColWidthFull * (@page_levels.size) %>px;">
29
+ <div id="columnBrowserContainer" style="height: <%= cbColHeight + 2 %>px;">
30
+ <div id="columnBrowser" style="width: <%= (cbColWidth+1) * @page_levels.size %>px;">
34
31
  <%- @page_levels.each_with_index do |name, i| -%>
35
32
  <%-
36
33
  if name.present?
@@ -41,21 +38,21 @@ EOF
41
38
  @page = CmsPage.find_by_path @path
42
39
  @page_level = i
43
40
  @pages = @parent.children if @parent
44
-
41
+
45
42
  break_flag = false
46
-
43
+
47
44
  if !@page
48
45
  @page = @parent.children.first || @parent || CmsPage.first
49
46
  break_flag = true
50
47
  end
51
48
  -%>
52
- <div id="columnBrowserLevel<%= i %>" style="width: <%= cbColWidth %>px; height: <%= cbColHeight %>px; overflow: auto; float: left; border-width: <%= cbBorderWidth %>px <%= cbBorderWidth %>px <%= cbBorderWidth %>px <%= i == 0 ? "#{cbBorderWidth}px" : '0' %>; border-style: solid; border-color: gray;">
49
+ <div id="columnBrowserLevel<%= i %>" class="cb_column">
53
50
  <%- if i == 0 -%>
54
51
  <%= render partial: 'list_page', locals: { list_page: CmsPage.first } %>
55
52
  <%- else -%>
56
53
  <%= render partial: 'list_pages' %>
57
54
  <%- end -%>
58
- <%= javascript_tag "jQuery('#cb_item_#{@parent.id}').addClass('cb_item_selected');" if @parent %>
55
+ <%= javascript_tag "jQuery('#cb_item_#{@parent.id}').addClass('cb_item_selected')[0].scrollIntoView();" if @parent %>
59
56
  </div>
60
57
  <%- break if break_flag -%>
61
58
  <%- end -%>
@@ -65,13 +62,17 @@ EOF
65
62
  <%- list_page = @page -%>
66
63
 
67
64
  <script type="text/javascript">
68
- cbNumColumns = <%= @page_levels.size - 1 %>;
69
- $('columnBrowserLevel' + cbNumColumns).scrollIntoView();
70
- $('view_link').href = '<%= list_page.path.blank? ? '' : '/' + list_page.path %>/version/<%= list_page.published_version > 0 ? list_page.published_version : list_page.version %>';
71
- $('new_link').onclick = function () { editProperties('<%=raw url_for(action: 'new', mode: 'ajax_new', parent_id: list_page, authenticity_token: form_authenticity_token.to_s) %>', 'Create New Page under /<%= list_page.path %>'); return false; };
72
- $('edit_link').onclick = function () { editProperties('<%=raw url_for action: 'edit_page', id: list_page, mode: 'ajax_edit', authenticity_token: form_authenticity_token.to_s %>', 'Page Properties: <%= list_page.name %>'); return false; };
73
- $('edit_content_link').href = '<%=raw url_for action: 'edit_page_content', id: list_page, authenticity_token: form_authenticity_token.to_s %>';
74
- $('delete_link').href = '<%=raw url_for action: 'delete_page', id: list_page.id %>';
65
+ cbNumColumns = <%= @page_levels.size - 1 %>;
66
+ jQuery('#columnBrowserLevel' + cbNumColumns)[0].scrollIntoView();
67
+ jQuery('#view_link').prop('href', '<%= list_page.path.blank? ? '' : '/' + list_page.path %>/version/<%= list_page.published_version > 0 ? list_page.published_version : list_page.version %>');
68
+ jQuery('#new_link').on('click', () => { editProperties('<%=raw url_for(action: 'new', mode: 'ajax_new', parent_id: list_page, authenticity_token: form_authenticity_token.to_s) %>', 'Create New Page under /<%= list_page.path %>'); return false; });
69
+ jQuery('#edit_link').on('click', () => { editProperties('<%=raw url_for action: 'edit_page', id: list_page, mode: 'ajax_edit', authenticity_token: form_authenticity_token.to_s %>', 'Page Properties: <%= list_page.name %>'); return false; });
70
+ jQuery('#edit_content_link').prop('href', '<%=raw url_for action: 'edit_page_content', id: list_page, authenticity_token: form_authenticity_token.to_s %>');
71
+ jQuery('#delete_link').prop('href', '<%=raw url_for action: 'delete_page', id: list_page.id %>');
72
+ </script>
73
+ <script type="text/javascript" defer>
74
+ dojo.require("dojo.widget.*");
75
+ dojo.require("dojo.widget.Dialog");
75
76
  </script>
76
77
 
77
78
  <%= render '/imagine_cms/dialogs' %>
@@ -1,57 +1,57 @@
1
- <%
1
+ <%-
2
2
  cbNumColumns = 0;
3
- cbColWidth = 170;
4
- cbColHeight = 200;
5
- cbBorderWidth = 1;
6
- cbColWidthFull = 172;
3
+ cbColWidth = 200;
4
+ cbColHeight = 343;
7
5
  -%>
8
- <%= javascript_tag <<-EOF
9
- dojo.require("dojo.widget.*");
10
- dojo.require("dojo.widget.Dialog");
11
-
12
- cbColWidth = '#{cbColWidth}px';
13
- cbColHeight = '#{cbColHeight}px';
14
- cbBorderWidth = '#{cbBorderWidth}px';
15
- cbColWidthFull = '#{cbColWidthFull}';
16
- EOF
17
- %>
6
+ <script type="text/javascript">
7
+ window.cbColWidth = <%= cbColWidth %>;
8
+ window.cbColHeight = <%= cbColHeight %>;
9
+ </script>
10
+ <style type="text/css">
11
+ .cb_column {
12
+ width: <%= cbColWidth %>px;
13
+ height: <%= cbColHeight %>px;
14
+ }
15
+ </style>
18
16
 
19
- <div id="columnBrowserContainer" style="width: 100%; height: <%= cbColHeight + 20 %>px; overflow: auto;">
20
- <div id="columnBrowser" style="width: <%= cbColWidthFull * (@page_levels.size) %>px;">
21
- <% @page_levels.each_with_index do |name, i| %>
22
- <%
23
- if !name.blank?
24
- @path << '/' if !@path.blank?
17
+ <div id="columnBrowserContainer" style="height: <%= cbColHeight + 2 %>px;">
18
+ <div id="columnBrowser" style="width: <%= (cbColWidth+1) * @page_levels.size %>px;">
19
+ <%- @page_levels.each_with_index do |name, i| -%>
20
+ <%-
21
+ if name.present?
22
+ @path << '/' if @path.present?
25
23
  @path << name
26
24
  end
27
25
  @parent = @page
28
26
  @page = CmsPage.find_by_path @path
29
27
  @page_level = i
30
28
  @pages = @parent.children if @parent
31
-
29
+
32
30
  break_flag = false
33
-
31
+
34
32
  if !@page
35
- if @parent && @parent.children.first
36
- @page = @parent.children.first
37
- elsif @parent
38
- @page = @parent
39
- else
40
- @page = CmsPage.find(:first)
41
- end
33
+ @page = @parent.children.first || @parent || CmsPage.first
42
34
  break_flag = true
43
35
  end
44
36
  -%>
45
- <div id="columnBrowserLevel<%= i %>" style="width: <%= cbColWidth %>px; height: <%= cbColHeight %>px; overflow: auto; float: left; border: <%= cbBorderWidth %>px solid gray;">
46
- <% if i == 0 -%>
47
- <%= render :partial => 'list_page_select', :locals => { :list_page_select => CmsPage.find(1) } %>
48
- <% else -%>
49
- <%= render :partial => 'list_pages_select' %>
50
- <% end -%>
51
- <%= javascript_tag "$('cb_item_#{@parent.id}').className = 'cb_item cb_item_selected';" if @parent %>
37
+ <div id="columnBrowserLevel<%= i %>" class="cb_column">
38
+ <%- if i == 0 -%>
39
+ <%= render partial: 'list_page_select', locals: { list_page_select: CmsPage.first } %>
40
+ <%- else -%>
41
+ <%= render partial: 'list_pages_select' %>
42
+ <%- end -%>
43
+ <%= javascript_tag "jQuery('#cb_item_#{@parent.id}').addClass('cb_item_selected')[0].scrollIntoView();" if @parent %>
52
44
  </div>
53
45
  <%- break if break_flag -%>
54
- <% end -%>
46
+ <%- end -%>
55
47
  </div>
56
48
  </div>
57
- <%= javascript_tag "cbNumColumns = #{@page_levels.size - 1}; try { $('columnBrowserContainer').scrollLeft = $('columnBrowserContainer').scrollWidth; } catch (e) {}; $('page_browser_selection').value = '/#{@page.path}';" %>
49
+
50
+ <%- list_page = @page -%>
51
+
52
+ <script type="text/javascript">
53
+ cbNumColumns = <%= @page_levels.size - 1 %>;
54
+ jQuery('#columnBrowserLevel' + cbNumColumns)[0].scrollIntoView();
55
+
56
+ jQuery('#page_browser_selection').val('/<%= @page.path %>');
57
+ </script>
@@ -1,4 +1,4 @@
1
- <div class="ccs-toolbar EditorToolbarDomNode EditorToolbarSmallBg" style="height: 25px;">
1
+ <div class="ccs-toolbar EditorToolbarDomNode EditorToolbarSmallBg" style="height: 25px; min-width: 900px;">
2
2
  <table cellpadding="1" cellspacing="0" border="0">
3
3
  <tbody>
4
4
  <tr valign="top" align="left">
@@ -20,7 +20,7 @@
20
20
  <td><%= u.last_name %></td>
21
21
  <td><%= u.active? ? 'Y' : 'N' %>
22
22
  <td><%= button_to(u.active? ? 'Disable' : 'Enable', { :action => (u.active? ? 'disable' : 'enable'), :id => u}, :class => 'form_button') if u.username != session[:user_username] %></td>
23
- <td><%= button_to('Delete', { :action => 'destroy', :id => u }, :method => :delete, :class => 'form_button', :onclick => "return confirm('Are you sure you want to delete #{u.username}?');") if u.username != session[:user_username] %></td>
23
+ <td><%= button_to('Delete', { action: 'destroy', id: u }, method: :delete, class: 'form_button', data: { confirm: "Are you sure you want to delete #{u.username}?" }) if u.username != session[:user_username] %></td>
24
24
  </tr>
25
25
  <% end %>
26
26
  </table>
@@ -11,33 +11,20 @@ services:
11
11
  volumes:
12
12
  - ../mysite:/home/app/myapp:delegated # set to (relative) path to site you want to run
13
13
  # - .:/home/app/imagine_cms:delegated # when working on imagine itself
14
- # - ./prototype-rails:/home/app/prototype-rails:delegated # when working on imagine dependency prototype-rails
15
- - log:/home/app/myapp/log
16
- - node_modules:/home/app/myapp/node_modules
17
- - rvm:/usr/local/rvm
14
+ - /home/app/myapp/log
15
+ - /home/app/myapp/tmp
16
+ - gems:/usr/local/rvm/gems
18
17
  - ~/.gitconfig:/home/app/.gitconfig # if you want to commit from within the container
19
18
  # environment:
20
19
  # PASSENGER_APP_ENV: production
21
- # networks: # to use traefik, uncomment this along with the networks section at the bottom
22
- # - traefik
23
- # - default
24
- # labels:
25
- # traefik.docker.network: traefik
26
20
 
27
21
  db:
28
22
  ports: # access using mysql -P (not -p), ex: mysql -h 127.0.0.1 -P 33060 -u root
29
23
  # - '33060:3306' # <---- change the first number to set your local port
30
24
  - '3306' # <---- or omit the first number entirely to use a random local port (use `docker ps`)
31
25
  volumes:
32
- - db-data:/var/lib/mysql
26
+ - /var/lib/mysql
33
27
 
34
28
  volumes:
35
- db-data:
36
- log:
37
- node_modules:
38
- tmp:
39
- rvm:
40
-
41
- # networks:
42
- # traefik:
43
- # external: true
29
+ gems:
30
+ external: true
@@ -3,19 +3,17 @@ version: '3'
3
3
  services:
4
4
  web: # (passenger + sidekiq)
5
5
  build: .
6
- volumes:
7
- - ./docker/conf/nginx-vhost.conf:/etc/nginx/sites-enabled/webapp.conf:delegated
8
6
  environment:
9
7
  PASSENGER_APP_ENV: development
10
- MYSQL_HOST: db # if this is changed, update nginx-vhost.conf as well
11
- REDIS_URL: redis://redis:6379/1 # if this is changed, update nginx-vhost.conf as well
12
-
8
+ MYSQL_HOST: db
9
+ REDIS_URL: redis://redis:6379/1
10
+
13
11
  db:
14
- image: mariadb:10.3
12
+ image: mariadb:10.4
15
13
  volumes:
16
14
  - ./docker/conf/my.local.cnf:/etc/mysql/conf.d/my.local.cnf
17
15
  environment:
18
16
  MYSQL_ALLOW_EMPTY_PASSWORD: 1
19
17
 
20
18
  # redis:
21
- # image: redis:4.0-32bit # not really 32-bit, just compiled that way to reduce memory usage
19
+ # image: redis:5.0-32bit # not really 32-bit, just compiled that way to reduce memory usage
@@ -6,9 +6,9 @@ server {
6
6
  passenger_enabled on;
7
7
  passenger_user app;
8
8
 
9
- passenger_ruby /usr/bin/ruby2.5;
10
- passenger_env_var MYSQL_HOST db; # keep this in sync with value in docker-compose.yml
11
- passenger_env_var REDIS_URL redis://redis:6379/1;
9
+ passenger_ruby /usr/bin/ruby2.6;
10
+ passenger_env_var MYSQL_HOST '$MYSQL_HOST';
11
+ passenger_env_var REDIS_URL '$REDIS_URL';
12
12
 
13
13
  client_max_body_size 100M;
14
14
  }
File without changes
File without changes
@@ -144,7 +144,7 @@ module ActionControllerExtensions
144
144
 
145
145
  pages = page_list_items(@pg, key, options).compact.uniq
146
146
 
147
- options[:wrapper_div] = true
147
+ options[:wrapper_div] = true unless options.has_key?(:wrapper_div)
148
148
 
149
149
  render_page_list_segment(name, pages, options, html_options)
150
150
  end
@@ -233,29 +233,30 @@ module ActionControllerExtensions
233
233
  content << '</div>'
234
234
  content << <<-EOT
235
235
  <script type="text/javascript">
236
- jQuery('##{key}').css({ opacity: '1', cursor: 'default' });
237
- jQuery('.imagine_cms-paginator-link').not('.imagine_cms-paginator-link-selected').mouseover(function () {
238
- jQuery(this).addClass('imagine_cms-paginator-link-selected');
239
- }).mouseout(function () {
240
- jQuery(this).removeClass('imagine_cms-paginator-link-selected');
241
- });
242
-
236
+ setTimeout(() => {
237
+ jQuery('##{key}').css({ opacity: '1', cursor: 'default' });
238
+ jQuery('.imagine_cms-paginator-link').not('.imagine_cms-paginator-link-selected').mouseover(function () {
239
+ jQuery(this).addClass('imagine_cms-paginator-link-selected');
240
+ }).mouseout(function () {
241
+ jQuery(this).removeClass('imagine_cms-paginator-link-selected');
242
+ });
243
243
  EOT
244
244
  num_segments.times do |seg|
245
245
  start = seg * limit
246
246
  content << <<-EOT
247
- jQuery('##{key}-segment-#{seg}').click(function () {
248
- jQuery('##{key}').css({ cursor: 'wait', opacity: '0.5' });
249
- jQuery('html,body').animate({ scrollTop: jQuery('##{key}').position().top }, 200);
250
- jQuery.get('#{url_for(:content_path => @pg.path.split('/').concat([ 'segment', start.to_s, name ]), :only_path => true)}', function (data) {
251
- jQuery('##{key}').html(data);
252
- jQuery('##{key}').css({ cursor: 'default', opacity: '1' });
253
- });
254
- return false;
255
- })
247
+ jQuery('##{key}-segment-#{seg}').click(function () {
248
+ jQuery('##{key}').css({ cursor: 'wait', opacity: '0.5' });
249
+ jQuery('html,body').animate({ scrollTop: jQuery('##{key}').position().top }, 200);
250
+ jQuery.get('#{url_for(:content_path => @pg.path.split('/').concat([ 'segment', start.to_s, name ]), :only_path => true)}', function (data) {
251
+ jQuery('##{key}').html(data);
252
+ jQuery('##{key}').css({ cursor: 'default', opacity: '1' });
253
+ });
254
+ return false;
255
+ })
256
256
  EOT
257
257
  end
258
258
  content << <<-EOT
259
+ });
259
260
  </script>
260
261
  EOT
261
262
  end
@@ -51,6 +51,7 @@ module ImagineCms
51
51
  end
52
52
 
53
53
  initializer 'imagine_cms.load_helpers' do |app|
54
+ ActionController::Base.send :include, CmsCustomHelper
54
55
  ActionController::Base.send :include, CmsApplicationHelper
55
56
  end
56
57
 
@@ -1,3 +1,3 @@
1
1
  module ImagineCms
2
- VERSION = "5.2.0"
2
+ VERSION = "5.2.5"
3
3
  end
@@ -20,7 +20,7 @@
20
20
  #
21
21
  # class UploadController < ApplicationController
22
22
  # def upload_status
23
- # render :text => "Percent complete: " + @session[:uploads]['SOMEIDYOUSET'].completed_percent"
23
+ # render :plain => "Percent complete: " + @session[:uploads]['SOMEIDYOUSET'].completed_percent"
24
24
  # end
25
25
  # end
26
26
  #
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: imagine_cms
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.2.0
4
+ version: 5.2.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aaron Namba
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-11-22 00:00:00.000000000 Z
11
+ date: 2021-01-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -398,6 +398,7 @@ files:
398
398
  - app/controllers/management/users_controller.rb
399
399
  - app/controllers/util_controller.rb
400
400
  - app/helpers/cms_application_helper.rb
401
+ - app/helpers/cms_custom_helper.rb
401
402
  - app/mailers/imagine_cms_mailer.rb
402
403
  - app/models/cms_page.rb
403
404
  - app/models/cms_page_object.rb
@@ -492,10 +493,10 @@ files:
492
493
  - docker/conf/.my.cnf
493
494
  - docker/conf/my.local.cnf
494
495
  - docker/conf/my.prod.cnf
495
- - docker/conf/nginx-vhost.conf
496
- - docker/services/memcached.sh
497
- - docker/services/sidekiq.sh
498
- - docker/services/webpack.sh
496
+ - docker/conf/nginx-vhost.conf.template
497
+ - docker/services/memcached
498
+ - docker/services/sidekiq
499
+ - docker/services/webpack
499
500
  - docker/startup/101_mkdir.sh
500
501
  - docker/startup/201_bundler.sh
501
502
  - docker/startup/211_yarn.sh
@@ -595,7 +596,7 @@ homepage: https://github.com/anamba/imagine_cms
595
596
  licenses:
596
597
  - AGPLv3
597
598
  metadata: {}
598
- post_install_message:
599
+ post_install_message:
599
600
  rdoc_options: []
600
601
  require_paths:
601
602
  - lib
@@ -610,9 +611,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
610
611
  - !ruby/object:Gem::Version
611
612
  version: 1.8.11
612
613
  requirements: []
613
- rubyforge_project:
614
- rubygems_version: 2.7.7
615
- signing_key:
614
+ rubygems_version: 3.0.3
615
+ signing_key:
616
616
  specification_version: 4
617
617
  summary: Imagine Content Management System for Rails
618
618
  test_files: