effective_pages 1.1.0 → 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
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