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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 922310db05a57eef7ef291c30097716e2d81fca8
4
- data.tar.gz: c923e43f89d461bf5a2a13cd7051be76a45b748d
3
+ metadata.gz: ba132a8e040a61087a5fa782a1568d5cfeece1d1
4
+ data.tar.gz: 207faa7553505f9131e8d7fdae1f5820b46ab86f
5
5
  SHA512:
6
- metadata.gz: be05a9ddedd4958b5be1f04266f27aa9097d8f079caa5048c8ba31c4bdf4b4769457bcb7e85481dbb39b3d043268c11298104b15b685f1b69b982eb8e15ed06e
7
- data.tar.gz: 251b3d2b50834499f591137cb65db4bf7de386424d26e9a482e753d8d2cb355217e72c1e3fee931a3bcca78cb4b79576123b0665861faae2d79f4a1c9209290a
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.edit_admin_menu_path(@menu)
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 edit
38
+ def show
39
39
  @menu = Effective::Menu.find(params[:id])
40
- @page_title = 'Edit Menu'
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'
@@ -7,6 +7,7 @@ if defined?(EffectiveDatatables)
7
7
  default_entries :all
8
8
 
9
9
  table_column :id, visible: false
10
+ table_column :updated_at, visible: false
10
11
 
11
12
  table_column :title
12
13
  table_column :slug
@@ -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,4 +1,4 @@
1
- = link_to effective_pages.edit_admin_menu_path(menu), title: 'Settings' do
1
+ = link_to effective_pages.admin_menu_path(menu), title: 'Settings' do
2
2
  %span.glyphicon.glyphicon-cog
3
3
 
4
4
  - if defined?(EffectiveRegions)
@@ -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
- - if defined?(EffectiveRoles)
5
- %h2 Menu Item Visibility
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
- = ("&nbsp;&nbsp;" * (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
+ = ("&nbsp;&nbsp;" * (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?) ? :effective_select : :select), collection: EffectivePages.pages, include_blank: false
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?) ? :effective_select : :select), collection: EffectivePages.layouts, include_blank: false
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, :except => [:show]
11
- resources :menus, :except => [:show]
10
+ resources :pages, except: [:show]
11
+ resources :menus, only: [:index, :show, :new, :create]
12
12
  end
13
13
  end
14
14
 
@@ -1,3 +1,3 @@
1
1
  module EffectivePages
2
- VERSION = '1.1.0'.freeze
2
+ VERSION = '1.1.1'.freeze
3
3
  end
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.0
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-07 00:00:00.000000000 Z
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