effective_pages 1.1.0 → 1.1.1
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/controllers/admin/menus_controller.rb +3 -32
- data/app/helpers/effective_breadcrumbs_helper.rb +1 -1
- data/app/helpers/effective_menus_helper.rb +1 -1
- data/app/models/effective/datatables/menus.rb +2 -1
- data/app/models/effective/datatables/pages.rb +1 -0
- data/app/models/effective/menu.rb +4 -0
- data/app/views/admin/menus/_actions.html.haml +1 -1
- data/app/views/admin/menus/_form.html.haml +3 -32
- data/app/views/admin/menus/show.html.haml +39 -0
- data/app/views/admin/pages/_form.html.haml +2 -2
- data/config/routes.rb +2 -2
- data/lib/effective_pages/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ba132a8e040a61087a5fa782a1568d5cfeece1d1
|
4
|
+
data.tar.gz: 207faa7553505f9131e8d7fdae1f5820b46ab86f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8049254713603cd2c4a71e48ae3ea5a2fa52487940f5b5c38561506d04a849f4a9bb192c1130c4fe680cc30dc71bc7370f82386612c972b92776704f20b9a982
|
7
|
+
data.tar.gz: 4f66f35feebb7fe492bbc7a32767b4791340099384591ed88a202471f029ce3f28afb816b43cb5adf544b4c79746bffcc37e5a60b9a95d6f605b09ffaff1b6eb
|
@@ -28,49 +28,20 @@ module Admin
|
|
28
28
|
|
29
29
|
if @menu.save
|
30
30
|
flash[:success] = 'Successfully created menu'
|
31
|
-
redirect_to effective_pages.
|
31
|
+
redirect_to effective_pages.admin_menu_path(@menu)
|
32
32
|
else
|
33
33
|
flash.now[:danger] = 'Unable to create menu'
|
34
34
|
render :action => :new
|
35
35
|
end
|
36
36
|
end
|
37
37
|
|
38
|
-
def
|
38
|
+
def show
|
39
39
|
@menu = Effective::Menu.find(params[:id])
|
40
|
-
@page_title =
|
40
|
+
@page_title = @menu.to_s
|
41
41
|
|
42
42
|
authorize_effective_menus!
|
43
43
|
end
|
44
44
|
|
45
|
-
def update
|
46
|
-
@menu = Effective::Menu.find(params[:id])
|
47
|
-
@page_title = 'Edit Menu'
|
48
|
-
|
49
|
-
authorize_effective_menus!
|
50
|
-
|
51
|
-
if @menu.update_attributes(menu_params)
|
52
|
-
flash[:success] = 'Successfully updated menu'
|
53
|
-
redirect_to effective_pages.edit_admin_menu_path(@menu)
|
54
|
-
else
|
55
|
-
flash.now[:danger] = 'Unable to update menu'
|
56
|
-
render :action => :edit
|
57
|
-
end
|
58
|
-
end
|
59
|
-
|
60
|
-
def destroy
|
61
|
-
@menu = Effective::Menu.find(params[:id])
|
62
|
-
|
63
|
-
authorize_effective_menus!
|
64
|
-
|
65
|
-
if @menu.destroy
|
66
|
-
flash[:success] = 'Successfully deleted menu'
|
67
|
-
else
|
68
|
-
flash[:danger] = 'Unable to delete menu'
|
69
|
-
end
|
70
|
-
|
71
|
-
redirect_to effective_pages.admin_menus_path
|
72
|
-
end
|
73
|
-
|
74
45
|
private
|
75
46
|
|
76
47
|
def authorize_effective_menus!
|
@@ -1,6 +1,6 @@
|
|
1
1
|
module EffectiveBreadcrumbsHelper
|
2
2
|
def render_breadcrumbs(menu, page)
|
3
|
-
menu = Effective::Menu.find_by_title(menu) if menu.kind_of?(String)
|
3
|
+
menu = Effective::Menu.find_by_title(menu.to_s) if menu.kind_of?(String) || menu.kind_of?(Symbol)
|
4
4
|
return "Menu '#{menu}' does not exist".html_safe unless menu.present?
|
5
5
|
|
6
6
|
return breadcrumbs_fallback(page) if !page.present?
|
@@ -1,6 +1,6 @@
|
|
1
1
|
module EffectiveMenusHelper
|
2
2
|
def render_menu(menu, options = {}, &block)
|
3
|
-
menu = Effective::Menu.find_by_title(menu) if menu.kind_of?(String)
|
3
|
+
menu = Effective::Menu.find_by_title(menu.to_s) if menu.kind_of?(String) || menu.kind_of?(Symbol)
|
4
4
|
return "<ul class='nav navbar-nav'><li>Menu '#{menu}' does not exist</li></ul>".html_safe if !menu.present?
|
5
5
|
|
6
6
|
if (effectively_editting? && EffectivePages.authorized?(controller, :edit, menu) rescue false)
|
@@ -3,7 +3,8 @@ if defined?(EffectiveDatatables)
|
|
3
3
|
module Datatables
|
4
4
|
class Menus < Effective::Datatable
|
5
5
|
datatable do
|
6
|
-
table_column :id
|
6
|
+
table_column :id, visible: false
|
7
|
+
table_column :updated_at, visible: false
|
7
8
|
|
8
9
|
table_column :title
|
9
10
|
actions_column partial: '/admin/menus/actions'
|
@@ -138,6 +138,10 @@ module Effective
|
|
138
138
|
options[:roles_mask] ||= 0 if (options.delete(:signed_in) || options.delete(:private))
|
139
139
|
options[:roles_mask] ||= -1 if (options.delete(:signed_out) || options.delete(:guest))
|
140
140
|
|
141
|
+
if options[:roles]
|
142
|
+
options[:roles_mask] = EffectiveRoles.roles_mask_for(options.delete(:roles))
|
143
|
+
end
|
144
|
+
|
141
145
|
options[:classes] = options.delete(:class)
|
142
146
|
|
143
147
|
if title == :divider || url == :divider || options[:divider] == true
|
@@ -1,35 +1,6 @@
|
|
1
1
|
= simple_form_for(menu, (EffectivePages.simple_form_options || {}).merge(:url => (menu.persisted? ? effective_pages.admin_menu_path(menu) : effective_pages.admin_menus_path))) do |f|
|
2
2
|
= f.input :title, :hint => "Give this menu a title"
|
3
3
|
|
4
|
-
-
|
5
|
-
|
6
|
-
|
7
|
-
%table.table
|
8
|
-
%thead
|
9
|
-
%th Menu Item
|
10
|
-
%th.text-center Public
|
11
|
-
%th.text-center Signed In
|
12
|
-
- EffectiveRoles.roles.each do |role|
|
13
|
-
%th.text-center= ":#{role}"
|
14
|
-
|
15
|
-
%tbody
|
16
|
-
- stack = [menu.menu_items.first]
|
17
|
-
- menu.menu_items.each_with_index do |menu_item, index|
|
18
|
-
- next if index == 0
|
19
|
-
- stack.pop while menu_item.rgt > stack.last.rgt if stack.size > 1
|
20
|
-
%tr
|
21
|
-
%td
|
22
|
-
= (" " * (stack.size-1)).html_safe
|
23
|
-
= (menu_item.divider? ? ':divider' : menu_item.title)
|
24
|
-
%td.text-center= visible_badge(menu_item, stack, Proc.new { |item| item.roles_mask == nil || item.roles_mask == -1 })
|
25
|
-
%td.text-center= visible_badge(menu_item, stack, Proc.new { |item| item.roles_mask == nil || item.roles_mask == 0 })
|
26
|
-
- EffectiveRoles.roles.each do |role|
|
27
|
-
%td.text-center= visible_badge(menu_item, stack, Proc.new { |item| item.visible_for?(role) })
|
28
|
-
- stack.push(menu_item)
|
29
|
-
|
30
|
-
.form-group
|
31
|
-
.col-xs-12
|
32
|
-
.form-group
|
33
|
-
.pull-right
|
34
|
-
= f.button :submit, 'Save', data: { disable_with: 'Saving...' }
|
35
|
-
= link_to 'Cancel', effective_pages.admin_menus_path
|
4
|
+
.pull-right
|
5
|
+
= f.button :submit, 'Save', data: { disable_with: 'Saving...' }
|
6
|
+
= link_to 'Cancel', effective_pages.admin_menus_path
|
@@ -0,0 +1,39 @@
|
|
1
|
+
%h1.effective-admin-heading= @page_title
|
2
|
+
|
3
|
+
- if defined?(EffectiveRegions)
|
4
|
+
.row.effective-admin-actions
|
5
|
+
.col-sm-6
|
6
|
+
%p
|
7
|
+
To edit the main menu, drag and drop items from the fullscreen editor.
|
8
|
+
.col-sm-6
|
9
|
+
%p.text-right
|
10
|
+
= link_to "Edit #{@menu}", effective_regions.edit_path('/'), class: 'btn btn-primary', 'data-no-turbolink': true, target: '_blank'
|
11
|
+
|
12
|
+
- if defined?(EffectiveRoles)
|
13
|
+
%h2 Menu Items
|
14
|
+
|
15
|
+
- if @menu.menu_items.length > 1
|
16
|
+
%table.table
|
17
|
+
%thead
|
18
|
+
%th Menu Item
|
19
|
+
%th.text-center Public
|
20
|
+
%th.text-center Signed In
|
21
|
+
- EffectiveRoles.roles.each do |role|
|
22
|
+
%th.text-center= ":#{role}"
|
23
|
+
|
24
|
+
%tbody
|
25
|
+
- stack = [@menu.menu_items.first]
|
26
|
+
- @menu.menu_items.each_with_index do |menu_item, index|
|
27
|
+
- next if index == 0
|
28
|
+
- stack.pop while menu_item.rgt > stack.last.rgt if stack.size > 1
|
29
|
+
%tr
|
30
|
+
%td
|
31
|
+
= (" " * (stack.size-1)).html_safe
|
32
|
+
= (menu_item.divider? ? ':divider' : menu_item.title)
|
33
|
+
%td.text-center= visible_badge(menu_item, stack, Proc.new { |item| item.roles_mask == nil || item.roles_mask == -1 })
|
34
|
+
%td.text-center= visible_badge(menu_item, stack, Proc.new { |item| item.roles_mask == nil || item.roles_mask == 0 })
|
35
|
+
- EffectiveRoles.roles.each do |role|
|
36
|
+
%td.text-center= visible_badge(menu_item, stack, Proc.new { |item| item.visible_for?(role) })
|
37
|
+
- stack.push(menu_item)
|
38
|
+
- else
|
39
|
+
%p No menu items.
|
@@ -16,12 +16,12 @@
|
|
16
16
|
- if EffectivePages.pages.length == 1
|
17
17
|
= f.input :template, as: :hidden, input_html: { value: EffectivePages.pages.first.first }
|
18
18
|
- else
|
19
|
-
= f.input :template, as: (defined?(EffectiveFormInputs
|
19
|
+
= f.input :template, as: (defined?(EffectiveFormInputs) ? :effective_select : :select), collection: EffectivePages.pages, include_blank: false
|
20
20
|
|
21
21
|
- if EffectivePages.layouts.length == 1
|
22
22
|
= f.input :layout, as: :hidden, value: EffectivePages.layouts.first
|
23
23
|
- else
|
24
|
-
= f.input :layout, as: (defined?(EffectiveFormInputs
|
24
|
+
= f.input :layout, as: (defined?(EffectiveFormInputs) ? :effective_select : :select), collection: EffectivePages.layouts, include_blank: false
|
25
25
|
|
26
26
|
- if f.object.respond_to?(:roles)
|
27
27
|
= f.input :roles, collection: EffectiveRoles.roles_collection(f.object), as: :check_boxes, hint: '* leave blank for a regular public page that anyone can view'
|
data/config/routes.rb
CHANGED
@@ -7,8 +7,8 @@ end
|
|
7
7
|
EffectivePages::Engine.routes.draw do
|
8
8
|
if defined?(EffectiveDatatables)
|
9
9
|
namespace :admin do
|
10
|
-
resources :pages, :
|
11
|
-
resources :menus, :
|
10
|
+
resources :pages, except: [:show]
|
11
|
+
resources :menus, only: [:index, :show, :new, :create]
|
12
12
|
end
|
13
13
|
end
|
14
14
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: effective_pages
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Code and Effect
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-12-
|
11
|
+
date: 2016-12-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -172,6 +172,7 @@ files:
|
|
172
172
|
- app/views/admin/menus/edit.html.haml
|
173
173
|
- app/views/admin/menus/index.html.haml
|
174
174
|
- app/views/admin/menus/new.html.haml
|
175
|
+
- app/views/admin/menus/show.html.haml
|
175
176
|
- app/views/admin/pages/_actions.html.haml
|
176
177
|
- app/views/admin/pages/_additional_fields.html.haml
|
177
178
|
- app/views/admin/pages/_asset_box_fields.html.haml
|