Skip to content

Commit

Permalink
removed _node and _fields partials (which were overwriting radiants) …
Browse files Browse the repository at this point in the history
…and moved all helpers to lib/page_roles
  • Loading branch information
kbingman committed Mar 23, 2010
1 parent efc4c10 commit 4ffc2ce
Show file tree
Hide file tree
Showing 7 changed files with 55 additions and 117 deletions.
28 changes: 0 additions & 28 deletions app/helpers/page_roles_helper.rb

This file was deleted.

60 changes: 0 additions & 60 deletions app/views/admin/pages/_fields.html.haml

This file was deleted.

27 changes: 0 additions & 27 deletions app/views/admin/pages/_node.html.haml

This file was deleted.

4 changes: 4 additions & 0 deletions app/views/admin/pages/_page_roles_select.html.haml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
- if admin? or designer?
%p
= f.label :role, t('required_role')
= f.select :role, available_roles(@page.parent.required_role)
30 changes: 30 additions & 0 deletions lib/page_roles/application_helper_extensions.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
module PageRoles::ApplicationHelperExtensions

def self.included(base)
base.module_eval do

def verify_roles(role)
case
when role == 'admin' && admin? : true
when role == 'designer' && (admin? || designer?) : true
when role == 'all' : true
else
false
end
end

def available_roles(role)
case
when role == 'admin' && admin? : [[t('select.inherit'), ''], [t('admin'),'admin']]
# when role == 'designer' && admin? : [[t('select.inherit'), ''], [t('designer'),'designer'], [t('admin'),'admin']]
when designer? && !admin? : [[t('select.inherit'), ''], [t('designer'),'designer']]
when admin? : [[t('select.inherit'), ''], [t('designer'),'designer'], [t('admin'),'admin']]
else
[[t('select.inherit'), '']]
end
end

end
end

end
18 changes: 18 additions & 0 deletions lib/page_roles/node_helper_extensions.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
module PageRoles::NodeHelperExtensions
include PageRoles::ApplicationHelperExtensions

def self.included(base)
base.module_eval do

def render_node(page, locals = {})
@current_node = page
if verify_roles(page.required_role)
locals.reverse_merge!(:level => 0, :simple => false).merge!(:page => page)
render :partial => 'node', :locals => locals
end
end

end
end

end
5 changes: 3 additions & 2 deletions page_roles_extension.rb
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,11 @@ class PageRolesExtension < Radiant::Extension

def activate
Page.send :include, PageRoles::PageExtensions
ApplicationHelper.send :include, PageRolesHelper
ApplicationHelper.send :include, PageRoles::ApplicationHelperExtensions
Admin::NodeHelper.send :include, PageRoles::NodeHelperExtensions
Admin::PagesController.send :include, PageRoles::PagesControllerExtensions

# admin.pages.edit.add :layout_row, "admin/pages/page_roles"
admin.pages.edit.add :layout_row, "admin/pages/page_roles_select"
admin.page.index.add :sitemap_head, 'admin/pages/roles_th', :after => 'status_column_header'
admin.page.index.add :node, 'admin/pages/roles_td', :after => 'status_column'

Expand Down

0 comments on commit 4ffc2ce

Please sign in to comment.