imagine_cms 4.2.4 → 5.2.0

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.
Files changed (118) hide show
  1. checksums.yaml +5 -5
  2. data/.gitignore +4 -0
  3. data/.ruby-version +1 -1
  4. data/Dockerfile +61 -0
  5. data/README.md +50 -0
  6. data/app/assets/javascripts/imagine_cms/core.js +4 -2
  7. data/app/assets/javascripts/imagine_cms/legacy/misc.js +29 -31
  8. data/app/controllers/cms/content_controller.rb +29 -25
  9. data/app/controllers/manage/application_controller.rb +4 -0
  10. data/app/controllers/manage/cms_controller.rb +13 -0
  11. data/app/controllers/{management/cms_controller.rb → manage/cms_pages_controller.rb} +625 -711
  12. data/app/controllers/manage/cms_snippets_controller.rb +67 -0
  13. data/app/controllers/manage/cms_templates_controller.rb +71 -0
  14. data/app/controllers/management/application_controller.rb +1 -1
  15. data/app/controllers/management/user_controller.rb +7 -6
  16. data/app/controllers/management/users_controller.rb +56 -56
  17. data/app/controllers/util_controller.rb +0 -1
  18. data/app/helpers/cms_application_helper.rb +17 -19
  19. data/app/mailers/imagine_cms_mailer.rb +16 -0
  20. data/app/models/cms_page.rb +8 -23
  21. data/app/models/user.rb +1 -1
  22. data/app/sweepers/cms_content_sweeper.rb +3 -3
  23. data/app/views/cms/content/_photo_gallery.html.erb +4 -4
  24. data/app/views/cms/content/_search_result.html.erb +1 -1
  25. data/app/views/imagine_cms/_header.html.erb +1 -1
  26. data/app/views/imagine_cms/_toolbar.html.erb +12 -12
  27. data/app/views/imagine_cms_mailer/request_review.text.erb +10 -0
  28. data/app/views/layouts/management.html.erb +29 -5
  29. data/app/views/manage/cms/index.html.erb +7 -0
  30. data/app/views/{management/cms → manage/cms_pages}/_complete_gallery.html.erb +0 -0
  31. data/app/views/{management/cms → manage/cms_pages}/_create_file_link.html.erb +0 -0
  32. data/app/views/{management/cms → manage/cms_pages}/_crop_feature_image.html.erb +20 -5
  33. data/app/views/{management/cms → manage/cms_pages}/_crop_image.html.erb +20 -5
  34. data/app/views/{management/cms → manage/cms_pages}/_crop_results.html.erb +0 -0
  35. data/app/views/manage/cms_pages/_crop_results_feature_image.html.erb +1 -0
  36. data/app/views/manage/cms_pages/_crop_results_thumb.html.erb +1 -0
  37. data/app/views/{management/cms → manage/cms_pages}/_crop_thumb.html.erb +20 -5
  38. data/app/views/{management/cms → manage/cms_pages}/_edit_page.html.erb +37 -49
  39. data/app/views/{management/cms → manage/cms_pages}/_gallery_index.html.erb +0 -0
  40. data/app/views/{management/cms → manage/cms_pages}/_gallery_setup.html.erb +0 -0
  41. data/app/views/{management/cms → manage/cms_pages}/_image.html.erb +0 -0
  42. data/app/views/{management/cms → manage/cms_pages}/_image_details.html.erb +0 -0
  43. data/app/views/{management/cms → manage/cms_pages}/_image_draggable.html.erb +0 -0
  44. data/app/views/manage/cms_pages/_list_page.html.erb +8 -0
  45. data/app/views/{management/cms → manage/cms_pages}/_list_page_select.html.erb +0 -0
  46. data/app/views/{management/cms → manage/cms_pages}/_list_pages.html.erb +0 -0
  47. data/app/views/{management/cms → manage/cms_pages}/_list_pages_select.html.erb +0 -0
  48. data/app/views/{management/cms → manage/cms_pages}/_page_attribute.html.erb +0 -0
  49. data/app/views/{management/cms → manage/cms_pages}/_page_list.html.erb +2 -2
  50. data/app/views/{management/cms → manage/cms_pages}/_page_list_source_folder.html.erb +0 -0
  51. data/app/views/{management/cms → manage/cms_pages}/_page_list_source_tag.html.erb +0 -0
  52. data/app/views/{management/cms → manage/cms_pages}/_select_gallery.html.erb +0 -0
  53. data/app/views/{management/cms → manage/cms_pages}/_sort_images.html.erb +0 -0
  54. data/app/views/{management/cms → manage/cms_pages}/_template_options.html.erb +3 -3
  55. data/app/views/{management/cms → manage/cms_pages}/_upload_feature_image.html.erb +0 -0
  56. data/app/views/{management/cms → manage/cms_pages}/_upload_file.html.erb +0 -0
  57. data/app/views/{management/cms → manage/cms_pages}/_upload_image.html.erb +1 -1
  58. data/app/views/{management/cms → manage/cms_pages}/_upload_thumb.html.erb +0 -0
  59. data/app/views/{management/cms → manage/cms_pages}/edit_page_content.html.erb +7 -0
  60. data/app/views/{management/cms → manage/cms_pages}/gallery_management.html.erb +1 -1
  61. data/app/views/{management/cms/pages.html.erb → manage/cms_pages/index.html.erb} +1 -1
  62. data/app/views/{management/cms/page_tags_for_lookup.html.erb → manage/cms_pages/page_tags_for_lookup.js.erb} +0 -0
  63. data/app/views/{management/cms → manage/cms_pages}/select_page.html.erb +0 -0
  64. data/app/views/{management/cms → manage/cms_pages}/toolbar_edit.html.erb +0 -0
  65. data/app/views/{management/cms → manage/cms_pages}/toolbar_preview.html.erb +6 -6
  66. data/app/views/manage/cms_snippets/_cms_snippet.html.erb +3 -0
  67. data/app/views/manage/cms_snippets/edit.html.erb +25 -0
  68. data/app/views/{management/cms/snippets.html.erb → manage/cms_snippets/index.html.erb} +2 -2
  69. data/app/views/manage/cms_templates/_cms_template.html.erb +3 -0
  70. data/app/views/{management/cms → manage/cms_templates}/_template_reference.html.erb +2 -2
  71. data/app/views/manage/cms_templates/edit.html.erb +26 -0
  72. data/app/views/{management/cms/templates.html.erb → manage/cms_templates/index.html.erb} +2 -2
  73. data/app/views/management/default/index.html.erb +3 -1
  74. data/app/views/management/users/edit.html.erb +2 -2
  75. data/app/views/management/users/index.html.erb +2 -2
  76. data/app/views/management/users/new.html.erb +1 -1
  77. data/config/initializers/constants.rb +3 -0
  78. data/config/routes.rb +57 -10
  79. data/db/migrate/20121108004747_add_settings_table.rb +8 -12
  80. data/db/migrate/20121108005110_add_tasks_table.rb +7 -11
  81. data/db/migrate/20121115083748_add_logs_table.rb +13 -18
  82. data/db/migrate/20121115083811_add_users_tables.rb +26 -26
  83. data/db/migrate/20121115084028_add_cms_tables.rb +91 -90
  84. data/db/migrate/20140423085357_add_redirect_fields_to_cms_pages.rb +2 -2
  85. data/db/migrate/20140423085358_add_redirect_fields_to_cms_page_versions.rb +2 -2
  86. data/docker-compose.override.yml.example +43 -0
  87. data/docker-compose.yml +21 -0
  88. data/docker/conf/.my.cnf +3 -0
  89. data/docker/conf/my.local.cnf +14 -0
  90. data/docker/conf/my.prod.cnf +9 -0
  91. data/docker/conf/nginx-vhost.conf +14 -0
  92. data/docker/services/memcached.sh +3 -0
  93. data/docker/services/sidekiq.sh +3 -0
  94. data/docker/services/webpack.sh +3 -0
  95. data/docker/startup/101_mkdir.sh +15 -0
  96. data/docker/startup/201_bundler.sh +4 -0
  97. data/docker/startup/211_yarn.sh +4 -0
  98. data/imagine_cms.gemspec +12 -11
  99. data/lib/extensions/action_controller_extensions.rb +4 -2
  100. data/lib/imagine_cms/engine.rb +6 -7
  101. data/lib/imagine_cms/version.rb +1 -1
  102. data/lib/upload_progress/lib/upload_progress.rb +3 -3
  103. data/test/dummy/app/assets/javascripts/application.js +0 -1
  104. metadata +94 -74
  105. data/.ruby-gemset +0 -1
  106. data/README.rdoc +0 -98
  107. data/app/views/management/cms/_crop_results_feature_image.html.erb +0 -1
  108. data/app/views/management/cms/_crop_results_thumb.html.erb +0 -1
  109. data/app/views/management/cms/_list_page.html.erb +0 -8
  110. data/app/views/management/cms/_snippet.html.erb +0 -3
  111. data/app/views/management/cms/_temp.html.erb +0 -3
  112. data/app/views/management/cms/edit_master.html.erb +0 -48
  113. data/app/views/management/cms/edit_snippet.html.erb +0 -25
  114. data/app/views/management/cms/edit_template.html.erb +0 -25
  115. data/app/views/management/cms/index.html.erb +0 -7
  116. data/app/views/management/cms/permission_denied.html.erb +0 -1
  117. data/lib/hash_object.rb +0 -39
  118. data/lib/hash_wrapper.rb +0 -17
@@ -0,0 +1,8 @@
1
+ <div id="<%= "cb_item_#{list_page.id}" %>" class="cb_item" style="width: 148px; overflow: hidden; margin: 2px; float: left; cursor: pointer" onclick="$('view_link').href = '<%= list_page.path.blank? ? '' : '/' + list_page.path %>/version/<%= list_page.published_version > 0 ? list_page.published_version : list_page.version %>'; $('new_link').onclick = function () { editProperties('<%=raw url_for action: 'new', mode: 'ajax_new', parent_id: list_page %>', 'Create New Page under /<%= list_page.path %>'); return false; }; $('edit_link').onclick = function () { editProperties('<%=raw url_for action: 'edit_page', id: list_page, mode: 'ajax_edit' %>', 'Page Properties: <%= list_page.name %>'); return false; }; $('edit_content_link').href = '<%=raw url_for action: 'edit_page_content', id: list_page %>'; $('delete_link').href = '<%=raw url_for action: 'delete_page', id: list_page.id %>'; setTimeout('cbSelectItem(\'' + this.id + '\', <%= @page_level %>, \'<%=raw url_for action: 'list_pages', level: @page_level + 1, parent_id: list_page.id %>\');', 200);" ondblclick="$('edit_content_link').click();">
2
+ <table cellpadding="0" cellspacing="0" border="0">
3
+ <tr>
4
+ <td valign="top"><%= image_tag 'management/icon_page.gif', style: 'margin: 2px 5px 0 0;' %></td>
5
+ <td<%= list_page.published_version >= 0 ? '' : ' style="color: gray"'.html_safe %>><%= list_page.name %></td>
6
+ </tr>
7
+ </table>
8
+ </div>
@@ -29,8 +29,8 @@
29
29
 
30
30
  <table>
31
31
  <tr>
32
- <td><%= button_to_function('Add Page/Folder', "new Ajax.Updater('page_list_#{key}-source-list', '/manage/cms/page_list_add_folder?key=#{key}&i=' + $('page_objects_#{key}-sources-folder-count').value, {asynchronous:true, evalScripts:true, insertion:Insertion.Bottom}); $('page_objects_#{key}-sources-folder-count').value++;", :class => 'form_button') %></td>
33
- <td><%= button_to_function('Add Tag', "new Ajax.Updater('page_list_#{key}-source-list', '/manage/cms/page_list_add_tag?key=#{key}&i=' + $('page_objects_#{key}-sources-tag-count').value, {asynchronous:true, evalScripts:true, insertion:Insertion.Bottom}); $('page_objects_#{key}-sources-tag-count').value++;", :class => 'form_button') %></td>
32
+ <td><%= button_to_function('Add Page/Folder', "new Ajax.Updater('page_list_#{key}-source-list', '/manage/cms_pages/page_list_add_folder?key=#{key}&i=' + $('page_objects_#{key}-sources-folder-count').value, {asynchronous:true, evalScripts:true, insertion:Insertion.Bottom}); $('page_objects_#{key}-sources-folder-count').value++;", class: 'form_button') %></td>
33
+ <td><%= button_to_function('Add Tag', "new Ajax.Updater('page_list_#{key}-source-list', '/manage/cms_pages/page_list_add_tag?key=#{key}&i=' + $('page_objects_#{key}-sources-tag-count').value, {asynchronous:true, evalScripts:true, insertion:Insertion.Bottom}); $('page_objects_#{key}-sources-tag-count').value++;", class: 'form_button') %></td>
34
34
  <td>
35
35
  <%= check_box :page_objects, "#{key}-include-expired", { class: 'form', style: '' }, 'true', 'false' %>
36
36
  <label for="page_objects_<%= key %>-include-expired">Include expired items</label>
@@ -1,7 +1,7 @@
1
- <%- unless @template_options.empty? -%>
1
+ <%- unless @template_options.to_h.empty? -%>
2
2
  <div style="background-color: white; width: 100%; border: 1px solid #aaaaaa;">
3
- <%- @template_options.each do |name, type| -%>
4
- <%- key = name.gsub(/[^\w\d]/, '_') -%>
3
+ <%- @template_options.to_h.each do |name, type| -%>
4
+ <%- key = name.to_s.gsub(/[^\w\d]/, '_') -%>
5
5
  <table width="100%">
6
6
  <col width="55%" /><col width="45%" />
7
7
  <tr>
@@ -59,7 +59,7 @@
59
59
  </tr>
60
60
  </table>
61
61
  <%- end -%>
62
- </fieldset><br/>
62
+ </fieldset><br>
63
63
 
64
64
  <%= form_remote_tag(:update => 'insert_image_dialog_content', :html => { :id => 'mainform' },
65
65
  :url => { :action => 'crop_image', :id => @pg }) do -%>
@@ -1,3 +1,10 @@
1
+ <script type="text/javascript">
2
+ taglist = new Array(<%= @taglist.size %>)
3
+ <%- @taglist.each_with_index do |tag, i| -%>
4
+ taglist[<%= i %>]="<%=j tag %>";
5
+ <%- end -%>
6
+ </script>
7
+
1
8
  <%= form_tag({}, id: 'page_content_form') do %>
2
9
  <%= submit_tag 'Save', id: 'btn_save', style: 'display: none' %>
3
10
  <%= render inline: @template_content %>
@@ -11,7 +11,7 @@
11
11
  <%= form_remote_tag :url => { :action => 'select_gallery', :id => @pg },
12
12
  :update => 'select_gallery' do -%>
13
13
  Current Gallery:
14
- <select name="gallery_id" onchange="new Ajax.Updater('gallery_container', '/manage/cms/select_gallery/<%= @pg.id %>', {asynchronous:true, evalScripts:true, parameters:Form.serialize(this.form)}); return false;">
14
+ <select name="gallery_id" onchange="new Ajax.Updater('gallery_container', '/manage/cms_pages/<%= @pg.id %>/select_gallery', {asynchronous:true, evalScripts:true, parameters:Form.serialize(this.form)}); return false;">
15
15
  <%-
16
16
  @galleries.each do |gallery|
17
17
  unless session[:broken_galleries].include?(File.basename(gallery))
@@ -68,7 +68,7 @@ EOF
68
68
  cbNumColumns = <%= @page_levels.size - 1 %>;
69
69
  $('columnBrowserLevel' + cbNumColumns).scrollIntoView();
70
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: 'edit_page', mode: 'ajax_new', parent_id: list_page, authenticity_token: form_authenticity_token.to_s) %>', 'Create New Page under /<%= list_page.path %>'); return false; };
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
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
73
  $('edit_content_link').href = '<%=raw url_for action: 'edit_page_content', id: list_page, authenticity_token: form_authenticity_token.to_s %>';
74
74
  $('delete_link').href = '<%=raw url_for action: 'delete_page', id: list_page.id %>';
@@ -3,13 +3,13 @@
3
3
  <tbody>
4
4
  <tr valign="top" align="left">
5
5
  <% if @pg -%>
6
- <td onclick="location.href = '<%= url_for :controller => '/management/cms', :action => 'edit_page_content', :id => @pg, :version => params[:version] %>';">
6
+ <td onclick="location.href = '<%= url_for controller: '/manage/cms_pages', action: 'edit_page_content', id: @pg, version: params[:version] %>';">
7
7
  <!-- save -->
8
8
  <span class="iconContainer">
9
9
  <span title="Edit" class="dojoE2TBIcon dojoE2TBIcon_Save">&nbsp;</span>
10
10
  </span>
11
11
  </td>
12
- <td onclick="location.href = '<%= url_for :controller => '/management/cms', :action => 'edit_page_content', :id => @pg, :version => params[:version] %>';" style="vertical-align: middle; cursor: pointer">
12
+ <td onclick="location.href = '<%= url_for controller: '/manage/cms_pages', action: 'edit_page_content', id: @pg, version: params[:version] %>';" style="vertical-align: middle; cursor: pointer">
13
13
  <span title="Edit" style="font-family: Arial">Edit</span>
14
14
  </td>
15
15
 
@@ -30,8 +30,8 @@
30
30
  </span>
31
31
  </td>
32
32
 
33
- <td onclick="location.href = '<%= url_for :controller => '/management/cms', :action => 'pages', :path => (@pg ? @pg.path : nil) %>';" style="vertical-align: middle; cursor: pointer">
34
- <a href="<%= url_for :controller => '/management/cms', :action => 'pages', :path => (@pg ? @pg.path : nil) %>" style="text-decoration: none"><span title="Manage Pages" style="font-family: Arial; color: #3c3c3c;">Pages</span></a>
33
+ <td onclick="location.href = '<%= url_for controller: '/manage/cms_pages', action: 'index', path: (@pg ? @pg.path : nil) %>';" style="vertical-align: middle; cursor: pointer">
34
+ <a href="<%= url_for controller: '/manage/cms_pages', action: 'index', path: (@pg ? @pg.path : nil) %>" style="text-decoration: none"><span title="Manage Pages" style="font-family: Arial; color: #3c3c3c;">Pages</span></a>
35
35
  </td>
36
36
 
37
37
  <td isSpacer="true">
@@ -65,7 +65,7 @@
65
65
 
66
66
  <td style="vertical-align: middle;">
67
67
  <%- if !UseCmsAccessLevels || user_has_permission?(:manage_cms_publishing) -%>
68
- <%= form_remote_tag(:url => { :controller => '/management/cms', :action => 'set_page_version', :id => @pg },
68
+ <%= form_remote_tag(:url => { :controller => '/manage/cms_pages', :action => 'set_page_version', :id => @pg },
69
69
  :loading => "$('set_page_version_loading').show();",
70
70
  :complete => "$('set_page_version_loading').hide();" + (@pg ? "$('pg_published_version_container').style.borderColor = ($('pg_published_version').value == '0' || $('pg_published_version').value == '#{@pg.versions.last.version}') ? '#EBEBEB' : 'red';" : '')) do -%>
71
71
  <div id="pg_published_version_container" style="border-color: <%= @pg && (@pg.published_version == 0 || @pg.published_version == @pg.versions.last.version) ? '#EBEBEB' : 'red' %>; border-style: solid; border-width: 2px;">
@@ -78,7 +78,7 @@
78
78
  <% end %>
79
79
  <%- else -%>
80
80
  <%- if params[:version] && params[:version].to_i != @pg.published_version && !(@pg.published_version == 0 && params[:version].to_i == @pg.versions.count) -%>
81
- <%= form_remote_tag(:url => { :controller => '/management/cms', :action => 'request_review', :id => @pg, :version => (params[:version] || @pg.published_version) },
81
+ <%= form_remote_tag(:url => { :controller => '/manage/cms_pages', :action => 'request_review', :id => @pg, :version => (params[:version] || @pg.published_version) },
82
82
  :loading => "$('set_page_version_loading').show();",
83
83
  :complete => "$('set_page_version_loading').hide();") do -%>
84
84
  <%= submit_tag "Submit Version #{(params[:version])} for Review" %>
@@ -0,0 +1,3 @@
1
+ <tr>
2
+ <td><%= link_to cms_snippet.name, action: 'edit', id: cms_snippet %></td>
3
+ </tr>
@@ -0,0 +1,25 @@
1
+ <%= flash_message %>
2
+
3
+ <h2><%= params[:action].titlecase %> Snippet</h2>
4
+
5
+ <%= form_with(model: ['manage', @cms_snippet], local: true) do |f| %>
6
+ <%= f.text_field :name, placeholder: 'Snippet Name', :size => '50' %>
7
+ <div class="codemirror-html-container">
8
+ <%= f.text_area :content, class: 'codemirror-html autocomplete-off' %>
9
+ </div>
10
+ <%= f.submit 'Save Snippet', class: 'form_button' %>
11
+ <button onclick="jQuery('#preview_frame').show(); jQuery('#preview_frame')[0].scrollIntoView(); jQuery('#preview_content').val(jQuery('textarea[name=\'cms_snippet[content]\']').val()); jQuery('#preview_form').submit(); return false;" class="form_button">Preview</button>
12
+ <%= link_to 'Cancel', action: 'index' %>
13
+ <br>
14
+
15
+ <br>
16
+ <%= render partial: '/manage/cms_templates/template_reference' %>
17
+ <br>
18
+
19
+ <iframe id="preview_frame" name="preview_frame"></iframe>
20
+ <% end %>
21
+
22
+ <%= form_tag(url_for(controller: '/cms/content', action: 'preview_template'), id: 'preview_form', target: 'preview_frame') do %>
23
+ <%= text_area_tag 'content', '', id: 'preview_content', style: 'display: none;' %>
24
+ <%= hidden_field_tag 'mode', 'preview' %>
25
+ <% end %>
@@ -1,6 +1,6 @@
1
1
  <h2>CMS &raquo; Snippets</h2>
2
2
 
3
- <p><%= button_to 'Create New Snippet', { action: 'edit_snippet' }, method: :get %></p>
3
+ <p><%= button_to 'Create New Snippet', new_manage_cms_snippet_path, method: :get %></p>
4
4
 
5
5
  <%= flash_message %>
6
6
 
@@ -8,5 +8,5 @@
8
8
  <tr>
9
9
  <th>Name</th>
10
10
  </tr>
11
- <%= render partial: 'snippet', collection: @snippets %>
11
+ <%= render @cms_snippets %>
12
12
  </table>
@@ -0,0 +1,3 @@
1
+ <tr>
2
+ <td><%= link_to cms_template.name, action: 'edit', id: cms_template %></td>
3
+ </tr>
@@ -14,8 +14,8 @@
14
14
  &lt;%= snippet('Top Nav') %&gt;
15
15
  &lt;%= page_list('My Page List',
16
16
  template: 'html', header: 'html', footer: 'html',
17
- folders: 'f1,f2', include_tags: 't1,t2',
18
- exclude_tags: 't3,t4', require_tags: 't5,t6',
17
+ folders: 'f1,f2', pages: 'p1,p2',
18
+ include_tags: 't1,t2', exclude_tags: 't3,t4', require_tags: 't5,t6',
19
19
  primary_sort_key: 'article_date', primary_sort_direction: 'asc',
20
20
  item_count: 5, item_offset: 1, use_pagination: 1,
21
21
  empty_message: 'Coming soon!') %&gt;
@@ -0,0 +1,26 @@
1
+ <%= flash_message %>
2
+
3
+ <h2><%= params[:action].titlecase %> Template</h2>
4
+
5
+ <%= form_with(model: [:manage, @cms_template], local: true) do |f| %>
6
+ <%= f.text_field :name, placeholder: 'Template Name', size: '50' %>
7
+ <div class="codemirror-html-container">
8
+ <%= f.text_area :content, class: 'codemirror-html autocomplete-off' %>
9
+ </div>
10
+ <%= f.submit 'Save Template', class: 'form_button' %>
11
+ <button onclick="window.CodemirrorInstances.forEach((cm) => { cm.save(); }); jQuery('#preview_frame').show(); jQuery('#preview_frame')[0].scrollIntoView(); jQuery('#preview_content').val(jQuery('textarea[name=\'cms_template[content]\']').val()); jQuery('#preview_form').submit(); return false;" class="form_button">Preview</button>
12
+ <%= link_to 'Cancel', action: 'index' %>
13
+ <br>
14
+
15
+ <br>
16
+ <%= render partial: 'template_reference' %>
17
+ <br>
18
+
19
+ <iframe id="preview_frame" name="preview_frame"></iframe>
20
+ <% end %>
21
+
22
+ <%= form_tag(url_for(controller: '/cms/content', action: 'preview_template'), id: 'preview_form', target: 'preview_frame') do %>
23
+ <%= text_area_tag 'content', '', id: 'preview_content', style: 'display: none;' %>
24
+ <%= hidden_field_tag 'mode', 'preview' %>
25
+ <%= hidden_field_tag 'id', params[:id] %>
26
+ <% end %>
@@ -1,6 +1,6 @@
1
1
  <h2>CMS &raquo; Templates</h2>
2
2
 
3
- <p><%= button_to 'Create New Template', { action: 'edit_template' }, method: :get %></p>
3
+ <p><%= button_to 'Create New Template', new_manage_cms_template_path, method: :get %></p>
4
4
 
5
5
  <%= flash_message %>
6
6
 
@@ -8,5 +8,5 @@
8
8
  <tr>
9
9
  <th>Name</th>
10
10
  </tr>
11
- <%= render partial: 'temp', collection: @temps %>
11
+ <%= render @cms_templates %>
12
12
  </table>
@@ -3,10 +3,12 @@
3
3
  Manage Your Site
4
4
  </h2>
5
5
 
6
+ <%= flash_message %>
7
+
6
8
  <p>
7
9
  <ul>
8
10
  <%- if user_has_permission? :manage_cms -%>
9
- <li><%= link_to 'CMS', :controller => '/management/cms', :action => 'index' %>
11
+ <li><%= link_to 'CMS', manage_cms_path %>
10
12
  - Manage content management system</li>
11
13
  <%- end -%>
12
14
  <%- if user_has_permission? :manage_users -%>
@@ -1,6 +1,6 @@
1
1
  <%= flash_message %>
2
2
 
3
- <%= form_for(@user) do |f| %>
3
+ <%= form_for(@usr) do |f| %>
4
4
  <table>
5
5
  <tr>
6
6
  <td>First name:</td>
@@ -28,7 +28,7 @@
28
28
  <td><%= f.password_field :password_confirmation %></td>
29
29
  </tr>
30
30
 
31
- <%- if @user.username != session[:user_username] -%>
31
+ <%- if @usr.username != session[:user_username] -%>
32
32
  <tr>
33
33
  <td>This user is allowed to:</td>
34
34
  <td>
@@ -13,14 +13,14 @@
13
13
  <td bgcolor="#dedede" width="10%">&nbsp;</td>
14
14
  <td bgcolor="#dedede" width="10%">&nbsp;</td>
15
15
  </tr>
16
- <%- @users.each do |u| %>
16
+ <%- @usrs.each do |u| %>
17
17
  <tr>
18
18
  <td><%= link_to u.username, :action => 'edit', :id => u %></td>
19
19
  <td><%= u.first_name %></td>
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', :data => { :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', :onclick => "return 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>
@@ -2,7 +2,7 @@
2
2
 
3
3
  <%= flash_message %>
4
4
 
5
- <%= form_for(@user) do |f| %>
5
+ <%= form_for(@usr) do |f| %>
6
6
  <table>
7
7
  <tr>
8
8
  <td>First name:</td>
@@ -14,6 +14,9 @@ UseCmsPageCaching = false unless defined? UseCmsPageCaching
14
14
  UseCmsAccessLevels = false unless defined? UseCmsAccessLevels
15
15
  EnableAssetTimestamping = true unless defined? EnableAssetTimestamping
16
16
 
17
+ CmsImageMaxWidth = 2500 unless defined? CmsImageMaxWidth
18
+ CmsImageMaxHeight = 2500 unless defined? CmsImageMaxHeight
19
+
17
20
  # CMS gallery setup
18
21
  GalleryMaxWidth = 586 unless defined? GalleryMaxWidth
19
22
  GalleryMaxHeight = 400 unless defined? GalleryMaxHeight
@@ -3,21 +3,68 @@ Rails.application.routes.draw do
3
3
  match 'manage' => 'management/default#index', :via => [ :get ]
4
4
  match 'manage/login' => 'management/user#login', :via => [ :get, :post ]
5
5
  match 'manage/logout' => 'management/user#logout', :via => [ :get, :post ]
6
- match 'manage/user(/:action(/:id))' => 'management/user', :via => [ :get, :post ]
7
-
8
6
  match 'manage/cms/preview_template' => 'cms/content#preview_template', :via => [ :post ]
9
- match 'manage/cms(/:action(/:id))' => 'management/cms', :via => [ :get, :post ]
10
7
 
11
- # slowly convert to resourceful routes
12
- # match 'manage/users(/:action(/:id))' => 'management/users'
13
- resources :users, :path => 'manage/users', :controller => 'management/users' do
8
+ namespace :manage do
9
+ get 'cms' => 'cms#index'
10
+
11
+ resources :cms_pages do
12
+ collection do
13
+ get :list_pages, :select_page, :list_pages_select
14
+ post :list_pages, :select_page, :list_pages_select
15
+ get :toolbar_preview
16
+ get :page_attribute
17
+
18
+ # for new pages (no id yet)
19
+ get :show_template_options
20
+ post :edit_page
21
+
22
+ # page list dialog functions
23
+ post :page_list_add_folder, :page_list_add_tag
24
+ end
14
25
  member do
15
- post :enable
16
- post :disable
17
- post :edit # COMPAT: Remove for 3.1
26
+ get :toolbar_preview, :toolbar_edit
27
+ post :set_page_version, :request_review
28
+
29
+ get :edit_page, :show_template_options
30
+ post :edit_page
31
+ post :delete_page
32
+
33
+ get :edit_page_content, :insert_page_object_config
34
+ post :edit_page_content
35
+
36
+ get :create_file_link, :upload_file, :receive_file
37
+ post :create_file_link, :upload_file, :receive_file
38
+
39
+ get :upload_image, :receive_image, :crop_image, :save_crop, :upload_status
40
+ post :upload_image, :receive_image, :crop_image, :save_crop, :upload_status
41
+ get :upload_thumb, :crop_thumb, :save_crop_thumb
42
+ post :upload_thumb, :crop_thumb, :save_crop_thumb
43
+ get :upload_feature_image, :crop_feature_image, :save_crop_feature_image
44
+ post :upload_feature_image, :crop_feature_image, :save_crop_feature_image
45
+
46
+
47
+ get :receive_gallery, :complete_gallery, :gallery_setup, :add_to_gallery
48
+ post :receive_gallery, :complete_gallery, :gallery_setup, :add_to_gallery
49
+ get :gallery_management, :select_gallery, :set_gallery_order, :save_gallery_settings
50
+ post :gallery_management, :select_gallery, :set_gallery_order, :save_gallery_settings
51
+ get :sort_images, :sort_images_save
52
+ post :sort_images, :sort_images_save
53
+ get :image_details, :update_caption
54
+ post :image_details, :update_caption
55
+ # get :delete_photo, :delete_gallery
56
+ post :delete_photo, :delete_gallery
18
57
  end
19
58
  end
20
- # end
59
+ resources :cms_templates
60
+ resources :cms_snippets
61
+ end
62
+
63
+ resources :users, path: 'manage/users', controller: 'management/users' do
64
+ member do
65
+ post :enable, :disable
66
+ end
67
+ end
21
68
 
22
69
  match 'util/date_picker' => 'util#date_picker', :as => :date_picker, :via => [ :get, :post ]
23
70
 
@@ -1,18 +1,14 @@
1
- class AddSettingsTable < ActiveRecord::Migration
1
+ class AddSettingsTable < ActiveRecord::Migration[4.2]
2
2
 
3
- def up
4
- create_table "settings" do |t|
5
- t.column "name", :string, :null => false
6
- t.column "value", :text
3
+ def change
4
+ create_table :settings do |t|
5
+ t.string :name, null: false
6
+ t.text :value
7
7
 
8
- t.column "created_on", :timestamp
9
- t.column "updated_on", :timestamp
8
+ t.datetime :created_on
9
+ t.datetime :updated_on
10
10
  end
11
- add_index "settings", ["name"], :name => "UN_settings_name", :unique => true
12
- end
13
-
14
- def down
15
- drop_table "settings"
11
+ add_index "settings", ["name"], name: "UN_settings_name", unique: true
16
12
  end
17
13
 
18
14
  end
@@ -1,17 +1,13 @@
1
- class AddTasksTable < ActiveRecord::Migration
1
+ class AddTasksTable < ActiveRecord::Migration[4.2]
2
2
 
3
- def up
4
- create_table "tasks" do |t|
5
- t.column "name", :string, :null => false
3
+ def change
4
+ create_table :tasks do |t|
5
+ t.string :name, null: false
6
6
 
7
- t.column "created_on", :timestamp
8
- t.column "updated_on", :timestamp
7
+ t.datetime :created_on
8
+ t.datetime :updated_on
9
9
  end
10
- add_index "tasks", ["name"], :name => "UN_tasks_name", :unique => true
11
- end
12
-
13
- def down
14
- drop_table "tasks"
10
+ add_index "tasks", ["name"], name: "UN_tasks_name", unique: true
15
11
  end
16
12
 
17
13
  end