trusty-cms 7.0.8 → 7.0.10
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/Gemfile +3 -3
- data/Gemfile.lock +3 -2
- data/app/assets/javascripts/admin/dropdown.js +33 -12
- data/app/assets/stylesheets/admin/modules/_buttons.scss +2 -0
- data/app/assets/stylesheets/admin/partials/_forms.scss +8 -0
- data/app/controllers/admin/layouts_controller.rb +1 -1
- data/app/controllers/admin/pages_controller.rb +37 -8
- data/app/helpers/admin/node_helper.rb +20 -4
- data/app/helpers/admin/pages_helper.rb +6 -0
- data/app/models/menu_renderer.rb +3 -1
- data/app/models/page.rb +8 -0
- data/app/views/admin/layouts/_site_chooser.html.haml +1 -1
- data/app/views/admin/pages/_fields.html.haml +5 -1
- data/app/views/admin/pages/_search_form.html.haml +8 -0
- data/app/views/admin/pages/index.html.haml +4 -3
- data/app/views/admin/pages/search.html.haml +24 -0
- data/config/locales/en.yml +3 -0
- data/config/routes.rb +1 -0
- data/lib/trusty_cms/admin_ui.rb +5 -1
- data/lib/trusty_cms/version.rb +1 -1
- data/trusty_cms.gemspec +2 -1
- data/vendor/extensions/multi-site-extension/lib/multi_site/pages_controller_extensions.rb +0 -8
- data/vendor/extensions/multi-site-extension/lib/multi_site/site_chooser_helper.rb +1 -1
- data/vendor/extensions/multi-site-extension/multi_site_extension.rb +1 -0
- metadata +25 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c63368c558d26f890749954b24ddf5d6802059d20c0785d9bc593e44816ec0cb
|
4
|
+
data.tar.gz: 80ffc339a2e63778cad2e73f9a8fc6cf0601afdf6208766c4614fe220c8e1746
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 241df4d13c4d4d1edd897492450bfc611c703d738ee9064bab79772ee2fba4aedbbb74829672f29d8026c164357097b4f461a5d1474c263a092f17173f9e262c
|
7
|
+
data.tar.gz: a7224d0f909fd5edd57f96755e036c8fb82e90956d564387252ee7d078324a08813828664d556a539c91efba772922ee2f25819da941c33cffbc9e8b97e5655b
|
data/Gemfile
CHANGED
@@ -7,9 +7,6 @@ source 'https://rubygems.org'
|
|
7
7
|
# requires trusty and therefore pulls in every
|
8
8
|
# dependency mentioned in trusty.gemspec.
|
9
9
|
|
10
|
-
gem 'paper_trail', '~> 16.0.0'
|
11
|
-
gem 'paper_trail-association_tracking', '~> 2.2.1'
|
12
|
-
gem 'psych', '5.2.2'
|
13
10
|
gem 'trustygems', '~> 0.2.0'
|
14
11
|
|
15
12
|
gemspec
|
@@ -22,8 +19,11 @@ group :development, :test do
|
|
22
19
|
gem 'file_validators'
|
23
20
|
gem 'launchy', '~> 3.0.1'
|
24
21
|
gem 'mysql2'
|
22
|
+
gem 'paper_trail', '~> 16.0.0'
|
23
|
+
gem 'paper_trail-association_tracking', '~> 2.2.1'
|
25
24
|
gem 'poltergeist', '~> 1.18.1'
|
26
25
|
gem 'pry-byebug'
|
26
|
+
gem 'psych', '5.2.2'
|
27
27
|
gem 'rails-observers'
|
28
28
|
gem 'ransack'
|
29
29
|
gem 'rspec-rails'
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
trusty-cms (7.0.
|
4
|
+
trusty-cms (7.0.9)
|
5
5
|
RedCloth (= 4.3.3)
|
6
6
|
activestorage-validator
|
7
7
|
acts_as_list (>= 0.9.5, < 1.3.0)
|
@@ -23,12 +23,13 @@ PATH
|
|
23
23
|
mysql2
|
24
24
|
paper_trail (~> 16.0.0)
|
25
25
|
paper_trail-association_tracking (~> 2.2.1)
|
26
|
+
psych (= 5.2.2)
|
26
27
|
rack (>= 2.0.1, < 3.2.0)
|
27
28
|
rack-cache (~> 1.7)
|
28
29
|
radius (~> 0.7)
|
29
30
|
rails (~> 7.0.0)
|
30
31
|
rake (< 14.0)
|
31
|
-
ransack
|
32
|
+
ransack (~> 4.2.1)
|
32
33
|
rdoc (>= 5.1, < 7.0)
|
33
34
|
roadie-rails
|
34
35
|
sass-rails
|
@@ -1,26 +1,47 @@
|
|
1
1
|
(function(Dropdown, $) {
|
2
2
|
Dropdown.setup = function(link) {
|
3
|
-
var
|
4
|
-
if ($(menuToWrap).parent("div").length == 0) {
|
5
|
-
menuToWrap.wrap("<div class='dropdown_wrapper' style='position: absolute; display: none'></div>");
|
3
|
+
var menu = Dropdown.findMenu(link);
|
6
4
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
5
|
+
// Attach click handler to toggle dropdown
|
6
|
+
$(link).off('click').on('click', function(event) {
|
7
|
+
event.preventDefault();
|
8
|
+
event.stopPropagation();
|
9
|
+
var $link = $(this);
|
10
|
+
var $menuWrapper = $link.siblings("div.dropdown_wrapper");
|
11
|
+
|
12
|
+
if ($menuWrapper.is(':visible')) {
|
13
|
+
// If already visible, hide it
|
14
|
+
$menuWrapper.css('z-index', '').slideUp();
|
15
|
+
$link.removeClass('selected');
|
16
|
+
} else {
|
17
|
+
// Close other dropdowns
|
18
|
+
$('.dropdown_wrapper').css('z-index', '').slideUp();
|
19
|
+
$('a.dropdown').removeClass('selected');
|
20
|
+
|
21
|
+
// Show the current dropdown with priority z-index
|
22
|
+
$menuWrapper.css('z-index', '1000').slideDown();
|
23
|
+
$link.addClass('selected');
|
24
|
+
}
|
25
|
+
});
|
26
|
+
};
|
14
27
|
|
15
28
|
Dropdown.findMenu = function(link) {
|
16
29
|
var match = $(link).attr('href').match(/#(.+)$/)[1];
|
17
30
|
return $('#' + match);
|
18
|
-
}
|
31
|
+
};
|
32
|
+
|
33
|
+
// Close dropdown when clicking anywhere else
|
34
|
+
$(document).on('click', function(event) {
|
35
|
+
if (!$(event.target).closest('.dropdown_wrapper, a.dropdown').length) {
|
36
|
+
$('.dropdown_wrapper').css('z-index', '').slideUp();
|
37
|
+
$('a.dropdown').removeClass('selected');
|
38
|
+
}
|
39
|
+
});
|
19
40
|
|
20
41
|
}(window.Dropdown = window.Dropdown || {}, jQuery));
|
21
42
|
|
22
43
|
$(function () {
|
23
|
-
$('a.dropdown').each(function(){
|
44
|
+
$('a.dropdown').each(function() {
|
24
45
|
Dropdown.setup(this);
|
25
46
|
});
|
26
47
|
});
|
@@ -1,7 +1,7 @@
|
|
1
1
|
class Admin::LayoutsController < Admin::ResourceController
|
2
2
|
paginate_models
|
3
3
|
before_action :authorize_role
|
4
|
-
only_allow_access_to :index, :show, :new, :create, :edit, :update, :remove, :destroy,
|
4
|
+
only_allow_access_to :index, :show, :new, :create, :edit, :update, :remove, :destroy, :search,
|
5
5
|
when: %i[designer admin],
|
6
6
|
denied_url: { controller: 'admin/pages', action: 'index' },
|
7
7
|
denied_message: 'You must have at least editor privileges to perform this action.'
|
@@ -3,6 +3,7 @@ class Admin::PagesController < Admin::ResourceController
|
|
3
3
|
before_action :count_deleted_pages, only: [:destroy]
|
4
4
|
before_action :set_page, only: %i[edit restore]
|
5
5
|
rescue_from ActiveRecord::RecordInvalid, with: :validation_error
|
6
|
+
include Admin::PagesHelper
|
6
7
|
|
7
8
|
class PreviewStop < ActiveRecord::Rollback
|
8
9
|
def message
|
@@ -23,10 +24,19 @@ class Admin::PagesController < Admin::ResourceController
|
|
23
24
|
end
|
24
25
|
|
25
26
|
def index
|
26
|
-
|
27
|
+
set_site_and_homepage
|
28
|
+
@q = initialize_search
|
27
29
|
response_for :plural
|
28
30
|
end
|
29
31
|
|
32
|
+
def search
|
33
|
+
@site_id = params[:site_id] || Page.current_site.id
|
34
|
+
@q = initialize_search
|
35
|
+
|
36
|
+
@pages = fetch_search_results if search_title_present?
|
37
|
+
render
|
38
|
+
end
|
39
|
+
|
30
40
|
def new
|
31
41
|
assets = Asset.order('created_at DESC')
|
32
42
|
@term = assets.ransack(params[:search] || '')
|
@@ -67,6 +77,25 @@ class Admin::PagesController < Admin::ResourceController
|
|
67
77
|
@page = Page.find(params[:id])
|
68
78
|
end
|
69
79
|
|
80
|
+
def set_site_and_homepage
|
81
|
+
@site ||= Page.current_site
|
82
|
+
@homepage = @site&.homepage || Page.homepage
|
83
|
+
@site_id = @site&.id
|
84
|
+
end
|
85
|
+
|
86
|
+
def initialize_search
|
87
|
+
Page.ransack(params[:search] || '')
|
88
|
+
end
|
89
|
+
|
90
|
+
def fetch_search_results
|
91
|
+
@title = params.dig(:search, :title)
|
92
|
+
Page.ransack(title_cont: @title, site_id_eq: @site_id).result
|
93
|
+
end
|
94
|
+
|
95
|
+
def search_title_present?
|
96
|
+
params.dig(:search, :title).present?
|
97
|
+
end
|
98
|
+
|
70
99
|
def validation_error(e)
|
71
100
|
flash[:error] = e.message
|
72
101
|
render :new
|
@@ -85,13 +114,13 @@ class Admin::PagesController < Admin::ResourceController
|
|
85
114
|
versions
|
86
115
|
.sort_by(&:created_at).reverse
|
87
116
|
.map do |version|
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
117
|
+
{
|
118
|
+
index: version&.index,
|
119
|
+
update_date: version&.created_at&.strftime('%B %d, %Y'),
|
120
|
+
update_time: version&.created_at&.strftime('%I:%M %p'),
|
121
|
+
updated_by: User.unscoped.find_by(id: version&.whodunnit)&.name || 'Unknown User',
|
122
|
+
}
|
123
|
+
end
|
95
124
|
end
|
96
125
|
|
97
126
|
def restore_page_version(page, index)
|
@@ -7,13 +7,15 @@ module Admin::NodeHelper
|
|
7
7
|
|
8
8
|
def render_node(page, index, parent_index = nil, simple = false)
|
9
9
|
@current_node = prepare_page(page)
|
10
|
-
|
11
|
-
@rendered_html += (render partial: 'admin/pages/node',
|
12
|
-
locals: { level: index, index: index, parent_index: parent_index,
|
13
|
-
page: page, simple: simple, branch: (page.children.count.positive?) })
|
10
|
+
@rendered_html += render_partial(page, index:, parent_index:, simple:)
|
14
11
|
index
|
15
12
|
end
|
16
13
|
|
14
|
+
def render_search_node(page)
|
15
|
+
@current_node = prepare_page(page)
|
16
|
+
@rendered_html = render_partial(page, index: 0, parent_index: nil, simple: false)
|
17
|
+
end
|
18
|
+
|
17
19
|
def prepare_page(page)
|
18
20
|
page.extend MenuRenderer
|
19
21
|
page.view = self
|
@@ -90,4 +92,18 @@ module Admin::NodeHelper
|
|
90
92
|
alt: '', title: '',
|
91
93
|
style: 'display: none;')
|
92
94
|
end
|
95
|
+
|
96
|
+
private
|
97
|
+
|
98
|
+
def render_partial(page, index:, parent_index:, simple:)
|
99
|
+
render partial: 'admin/pages/node',
|
100
|
+
locals: {
|
101
|
+
level: index,
|
102
|
+
index: index,
|
103
|
+
parent_index: parent_index,
|
104
|
+
page: page,
|
105
|
+
simple: simple,
|
106
|
+
branch: page.children.count.positive?,
|
107
|
+
}
|
108
|
+
end
|
93
109
|
end
|
@@ -17,4 +17,10 @@ module Admin::PagesHelper
|
|
17
17
|
def clean_page_description(page)
|
18
18
|
page.description.to_s.strip.gsub(/\t/, '').gsub(/\s+/, ' ')
|
19
19
|
end
|
20
|
+
|
21
|
+
def parent_page_options(current_site, page)
|
22
|
+
parent_pages = Page.parent_pages(current_site.homepage_id)
|
23
|
+
selected_page_id = page.id.presence_in(parent_pages.pluck(:id)) || page.parent_id.presence_in(parent_pages.pluck(:id))
|
24
|
+
options_for_select(parent_pages.map { |p| [p.title, p.id] }, selected_page_id)
|
25
|
+
end
|
20
26
|
end
|
data/app/models/menu_renderer.rb
CHANGED
@@ -62,7 +62,9 @@ module MenuRenderer
|
|
62
62
|
end
|
63
63
|
|
64
64
|
def menu_list
|
65
|
-
view.content_tag :
|
65
|
+
view.content_tag :div, class: 'dropdown_wrapper', style: 'position: absolute; display: none' do
|
66
|
+
view.content_tag :ul, menu_items.join.html_safe, class: 'menu', id: "allowed_children_#{id}"
|
67
|
+
end
|
66
68
|
end
|
67
69
|
|
68
70
|
def remove_link
|
data/app/models/page.rb
CHANGED
@@ -155,6 +155,14 @@ class Page < ActiveRecord::Base
|
|
155
155
|
end
|
156
156
|
end
|
157
157
|
|
158
|
+
def self.ransackable_attributes(auth_object = nil)
|
159
|
+
['site_id', 'title']
|
160
|
+
end
|
161
|
+
|
162
|
+
def self.parent_pages(homepage_id)
|
163
|
+
where(parent_id: homepage_id).or(where(id: homepage_id))
|
164
|
+
end
|
165
|
+
|
158
166
|
private :set_response_headers
|
159
167
|
|
160
168
|
def set_content_type(response)
|
@@ -1,4 +1,4 @@
|
|
1
|
-
- if current_user.scoped_site? && defined?(Site) && defined?(controller) && controller.sited_model? &&
|
1
|
+
- if current_user.scoped_site? && defined?(Site) && defined?(controller) && controller.sited_model? && Site.several?
|
2
2
|
.site_chooser
|
3
3
|
%ul.nav
|
4
4
|
%li
|
@@ -1,7 +1,6 @@
|
|
1
1
|
= fields.hidden_field :lock_version
|
2
2
|
= fields.hidden_field :parent_id
|
3
3
|
= fields.hidden_field :class_name
|
4
|
-
|
5
4
|
= render_region :form_top, :locals => {:f => fields}
|
6
5
|
|
7
6
|
- render_region :form, :locals => {:f => fields} do |form|
|
@@ -43,6 +42,10 @@
|
|
43
42
|
.page-type
|
44
43
|
= fields.label :class_name, t('page_type')
|
45
44
|
= fields.select :class_name, [[t('select.normal'), '']] + Page.descendants.map { |p| [p.display_name, p.name] }.sort_by { |p| p.first }
|
45
|
+
- layout.edit_parent do
|
46
|
+
.parent-page
|
47
|
+
= fields.label :parent_id, t('parent_page')
|
48
|
+
= fields.select :parent_id, parent_page_options(current_site, @page)
|
46
49
|
- layout.edit_status do
|
47
50
|
- if current_user.admin? || current_user.editor?
|
48
51
|
.status
|
@@ -56,6 +59,7 @@
|
|
56
59
|
class: 'datetime',
|
57
60
|
type: 'datetime-local',
|
58
61
|
value: (@page.published_at? ? @page.published_at.strftime('%Y-%m-%dT%H:%M') : nil)
|
62
|
+
|
59
63
|
= render_region :layout_row, :locals => {:f => fields}
|
60
64
|
|
61
65
|
.error.hidden
|
@@ -0,0 +1,8 @@
|
|
1
|
+
= search_form_for @q, url: search_admin_pages_path, html: { method: :get, class: 'search-form' } do |f|
|
2
|
+
= hidden_field_tag :site_id, @site_id
|
3
|
+
.page-search
|
4
|
+
%i.fas.fa-search
|
5
|
+
= f.search_field :title, value: title, placeholder: 'Search by Page Title', id: 'search-input'
|
6
|
+
%input.button{ type: 'submit', value: 'Search' }
|
7
|
+
- if show_view_all_button
|
8
|
+
= link_to t("view_all_pages"), admin_pages_path, class: 'button'
|
@@ -2,7 +2,8 @@
|
|
2
2
|
|
3
3
|
.outset
|
4
4
|
= render_region :top
|
5
|
-
|
5
|
+
= render 'search_form', title: nil, show_view_all_button: false
|
6
|
+
%table.index.tablesaw#pages{ :summary => t('page_hierarchy') }
|
6
7
|
%thead
|
7
8
|
%tr
|
8
9
|
- render_region :sitemap_head do |sitemap_head|
|
@@ -17,13 +18,13 @@
|
|
17
18
|
= render_nodes(@homepage, 0).html_safe
|
18
19
|
- else
|
19
20
|
%tr.sortable
|
20
|
-
%td.empty{:colspan => admin.page.index.node.length}= t('no_pages')
|
21
|
+
%td.empty{ :colspan => admin.page.index.node.length }= t('no_pages')
|
21
22
|
= render_region :bottom
|
22
23
|
|
23
24
|
- unless @homepage
|
24
25
|
#actions
|
25
26
|
%ul
|
26
27
|
%li
|
27
|
-
= link_to
|
28
|
+
= link_to admin_pages_path, :class => 'action_button' do
|
28
29
|
%i.fas.fa-plus-circle
|
29
30
|
= t("new_homepage")
|
@@ -0,0 +1,24 @@
|
|
1
|
+
- @page_title = t('pages') + ' - ' + default_page_title
|
2
|
+
|
3
|
+
.outset
|
4
|
+
= render_region :top
|
5
|
+
= render 'search_form', title: @title, show_view_all_button: true
|
6
|
+
%table.index.tablesaw#pages{ :summary => t('page_hierarchy') }
|
7
|
+
%thead
|
8
|
+
%tr
|
9
|
+
- render_region :sitemap_head do |sitemap_head|
|
10
|
+
- sitemap_head.title_column_header do
|
11
|
+
%th.name= t('page')
|
12
|
+
- sitemap_head.status_column_header do
|
13
|
+
%th.status= t('status')
|
14
|
+
- sitemap_head.actions_column_header do
|
15
|
+
%th.actions= t('modify')
|
16
|
+
%tbody
|
17
|
+
- if @pages.present?
|
18
|
+
- @pages.each do |page|
|
19
|
+
= render_search_node(page).html_safe
|
20
|
+
- else
|
21
|
+
%tr.sortable
|
22
|
+
%td.empty{ :colspan => admin.page.index.node.length }= t('no_pages_found')
|
23
|
+
|
24
|
+
= render_region :bottom
|
data/config/locales/en.yml
CHANGED
@@ -216,6 +216,7 @@ en:
|
|
216
216
|
'no': 'No'
|
217
217
|
no_layouts: 'No Layouts'
|
218
218
|
no_pages: 'No Pages'
|
219
|
+
no_pages_found: 'No Pages Found'
|
219
220
|
normal_page: 'Normal Page'
|
220
221
|
notes: 'Notes'
|
221
222
|
optional: 'Optional'
|
@@ -230,6 +231,7 @@ en:
|
|
230
231
|
removed_many: "The pages were successfully removed from the site."
|
231
232
|
removed_one: "The page was successfully removed from the site."
|
232
233
|
saved: "Your page has been saved below."
|
234
|
+
parent_page: 'Parent Page'
|
233
235
|
password: 'Password'
|
234
236
|
password_confirmation: 'Confirm New Password'
|
235
237
|
personal: 'Personal'
|
@@ -326,6 +328,7 @@ en:
|
|
326
328
|
users_controller:
|
327
329
|
cannot_delete_self: 'You cannot delete yourself.'
|
328
330
|
version: 'Version'
|
331
|
+
view_all_pages: 'View All Pages'
|
329
332
|
view_site: 'View Site'
|
330
333
|
warning: 'Warning'
|
331
334
|
website: 'Website'
|
data/config/routes.rb
CHANGED
@@ -14,6 +14,7 @@ TrustyCms::Application.routes.draw do
|
|
14
14
|
resources :children, controller: 'pages'
|
15
15
|
get 'remove', on: :member
|
16
16
|
put 'restore/:version_index', on: :member, to: 'pages#restore', as: :restore_version
|
17
|
+
get 'search', on: :collection, to: 'pages#search', as: :search
|
17
18
|
end
|
18
19
|
resources :layouts do
|
19
20
|
get 'remove', on: :member
|
data/lib/trusty_cms/admin_ui.rb
CHANGED
@@ -170,13 +170,17 @@ module TrustyCms
|
|
170
170
|
page.edit = RegionSet.new do |edit|
|
171
171
|
edit.main.concat %w{edit_header edit_form edit_popups}
|
172
172
|
edit.form.concat %w{edit_title edit_extended_metadata edit_page_parts}
|
173
|
-
edit.layout.concat %w{edit_layout edit_type edit_status edit_published_at}
|
173
|
+
edit.layout.concat %w{edit_layout edit_type edit_parent edit_status edit_published_at}
|
174
174
|
edit.form_bottom.concat %w{edit_buttons edit_timestamp}
|
175
175
|
end
|
176
176
|
page.index = RegionSet.new do |index|
|
177
177
|
index.sitemap_head.concat %w{title_column_header status_column_header actions_column_header}
|
178
178
|
index.node.concat %w{title_column status_column actions_column}
|
179
179
|
end
|
180
|
+
page.search = RegionSet.new do |search|
|
181
|
+
search.sitemap_head.concat %w{title_column_header status_column_header actions_column_header}
|
182
|
+
search.node.concat %w{title_column status_column actions_column}
|
183
|
+
end
|
180
184
|
page.remove = page.children = page.index
|
181
185
|
page.new = page._part = page.edit
|
182
186
|
end
|
data/lib/trusty_cms/version.rb
CHANGED
data/trusty_cms.gemspec
CHANGED
@@ -45,12 +45,13 @@ a general purpose content management system--not merely a blogging engine.'
|
|
45
45
|
s.add_dependency 'mysql2'
|
46
46
|
s.add_dependency 'paper_trail', '~> 16.0.0'
|
47
47
|
s.add_dependency 'paper_trail-association_tracking', '~> 2.2.1'
|
48
|
+
s.add_dependency 'psych', '5.2.2'
|
48
49
|
s.add_dependency 'rack', '>= 2.0.1', '< 3.2.0'
|
49
50
|
s.add_dependency 'rack-cache', '~> 1.7'
|
50
51
|
s.add_dependency 'radius', '~> 0.7'
|
51
52
|
s.add_dependency 'rails', '~> 7.0.0'
|
52
53
|
s.add_dependency 'rake', '< 14.0'
|
53
|
-
s.add_dependency 'ransack'
|
54
|
+
s.add_dependency 'ransack', '~> 4.2.1'
|
54
55
|
s.add_dependency 'rdoc', '>= 5.1', '< 7.0'
|
55
56
|
s.add_dependency 'RedCloth', '4.3.3'
|
56
57
|
s.add_dependency 'roadie-rails'
|
@@ -5,7 +5,6 @@ module MultiSite::PagesControllerExtensions
|
|
5
5
|
alias_method :discover_current_site, :discover_current_site_with_root
|
6
6
|
|
7
7
|
alias_method :index_without_site, :index
|
8
|
-
alias_method :index, :index_with_site
|
9
8
|
|
10
9
|
alias_method :continue_url_without_site, :continue_url
|
11
10
|
alias_method :continue_url, :continue_url_with_site
|
@@ -37,13 +36,6 @@ module MultiSite::PagesControllerExtensions
|
|
37
36
|
end
|
38
37
|
end
|
39
38
|
|
40
|
-
def index_with_site
|
41
|
-
@site ||= Page.current_site
|
42
|
-
@homepage ||= @site.homepage if @site
|
43
|
-
@homepage ||= Page.homepage
|
44
|
-
response_for :plural
|
45
|
-
end
|
46
|
-
|
47
39
|
def remove_with_back
|
48
40
|
session[:came_from] = request.env["HTTP_REFERER"]
|
49
41
|
remove_without_back
|
@@ -1,7 +1,7 @@
|
|
1
1
|
module MultiSite::SiteChooserHelper
|
2
2
|
|
3
3
|
def sites_chooser_thing
|
4
|
-
return "" unless current_user.admin? && defined?(Site) && defined?(controller) && controller.sited_model? &&
|
4
|
+
return "" unless current_user.admin? && defined?(Site) && defined?(controller) && controller.sited_model? && Site.several?
|
5
5
|
options = Site.all.map { |site| "<li>" + link_to(site.name, "#{request.path}?site_id=#{site.id}", :class => site == current_site ? 'fg' : '') + "</li>" }.join("")
|
6
6
|
chooser = %{<div id="site_chooser">}
|
7
7
|
# chooser << link_to("sites", admin_sites_url, {:id => 'show_site_list', :class => 'expandable'})
|
@@ -24,6 +24,7 @@ class MultiSiteExtension < TrustyCms::Extension
|
|
24
24
|
admin.layouts.index.add(:before_nav, "admin/layouts/site_chooser")
|
25
25
|
admin.pages.index.add(:before_nav, "admin/layouts/site_chooser")
|
26
26
|
admin.snippets.index.add(:before_nav, "admin/layouts/site_chooser")
|
27
|
+
admin.pages.search.add(:before_nav, "admin/layouts/site_chooser")
|
27
28
|
Layout.send :is_site_scoped
|
28
29
|
Snippet.send :is_site_scoped
|
29
30
|
User.send :is_site_scoped, :shareable => true
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: trusty-cms
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 7.0.
|
4
|
+
version: 7.0.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- TrustyCms CMS dev team
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2025-01-
|
11
|
+
date: 2025-01-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activestorage-validator
|
@@ -320,6 +320,20 @@ dependencies:
|
|
320
320
|
- - "~>"
|
321
321
|
- !ruby/object:Gem::Version
|
322
322
|
version: 2.2.1
|
323
|
+
- !ruby/object:Gem::Dependency
|
324
|
+
name: psych
|
325
|
+
requirement: !ruby/object:Gem::Requirement
|
326
|
+
requirements:
|
327
|
+
- - '='
|
328
|
+
- !ruby/object:Gem::Version
|
329
|
+
version: 5.2.2
|
330
|
+
type: :runtime
|
331
|
+
prerelease: false
|
332
|
+
version_requirements: !ruby/object:Gem::Requirement
|
333
|
+
requirements:
|
334
|
+
- - '='
|
335
|
+
- !ruby/object:Gem::Version
|
336
|
+
version: 5.2.2
|
323
337
|
- !ruby/object:Gem::Dependency
|
324
338
|
name: rack
|
325
339
|
requirement: !ruby/object:Gem::Requirement
|
@@ -400,16 +414,16 @@ dependencies:
|
|
400
414
|
name: ransack
|
401
415
|
requirement: !ruby/object:Gem::Requirement
|
402
416
|
requirements:
|
403
|
-
- - "
|
417
|
+
- - "~>"
|
404
418
|
- !ruby/object:Gem::Version
|
405
|
-
version:
|
419
|
+
version: 4.2.1
|
406
420
|
type: :runtime
|
407
421
|
prerelease: false
|
408
422
|
version_requirements: !ruby/object:Gem::Requirement
|
409
423
|
requirements:
|
410
|
-
- - "
|
424
|
+
- - "~>"
|
411
425
|
- !ruby/object:Gem::Version
|
412
|
-
version:
|
426
|
+
version: 4.2.1
|
413
427
|
- !ruby/object:Gem::Dependency
|
414
428
|
name: rdoc
|
415
429
|
requirement: !ruby/object:Gem::Requirement
|
@@ -819,11 +833,13 @@ files:
|
|
819
833
|
- app/views/admin/pages/_node.html.haml
|
820
834
|
- app/views/admin/pages/_popups.html.haml
|
821
835
|
- app/views/admin/pages/_previous_versions.haml
|
836
|
+
- app/views/admin/pages/_search_form.html.haml
|
822
837
|
- app/views/admin/pages/children.html.haml
|
823
838
|
- app/views/admin/pages/edit.html.haml
|
824
839
|
- app/views/admin/pages/index.html.haml
|
825
840
|
- app/views/admin/pages/new.html.haml
|
826
841
|
- app/views/admin/pages/remove.html.haml
|
842
|
+
- app/views/admin/pages/search.html.haml
|
827
843
|
- app/views/admin/preferences/edit.html.haml
|
828
844
|
- app/views/admin/references/_tag_reference.haml
|
829
845
|
- app/views/admin/references/filters.haml
|
@@ -1193,7 +1209,7 @@ homepage: https://github.com/pgharts/trusty-cms
|
|
1193
1209
|
licenses:
|
1194
1210
|
- MIT
|
1195
1211
|
metadata: {}
|
1196
|
-
post_install_message:
|
1212
|
+
post_install_message:
|
1197
1213
|
rdoc_options:
|
1198
1214
|
- "--title"
|
1199
1215
|
- TrustyCms -- Content Management You Can Trust
|
@@ -1242,7 +1258,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
1242
1258
|
version: 1.3.1
|
1243
1259
|
requirements: []
|
1244
1260
|
rubygems_version: 3.2.33
|
1245
|
-
signing_key:
|
1261
|
+
signing_key:
|
1246
1262
|
specification_version: 4
|
1247
1263
|
summary: A no-fluff content management system designed for small teams.
|
1248
1264
|
test_files:
|