From c1211eab8c2c5e21fcf4bbd329192737afdefe0c Mon Sep 17 00:00:00 2001 From: Andrew vonderLuft Date: Thu, 31 Dec 2009 07:52:45 +0800 Subject: [PATCH 1/7] make extension 'require_dependency' backward-compatible --- page_group_permissions_extension.rb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/page_group_permissions_extension.rb b/page_group_permissions_extension.rb index 5592dfd..1faddde 100644 --- a/page_group_permissions_extension.rb +++ b/page_group_permissions_extension.rb @@ -2,7 +2,11 @@ require_dependency 'controller_extensions' # Uncomment this if you reference any of your controllers in activate -require_dependency 'application_controller' +begin + require_dependency 'application_controller' +rescue MissingSourceFile + require_dependency 'application' +end class PageGroupPermissionsExtension < Radiant::Extension version "0.2" From c9d05b79bb26b7a26b290f18c160d30432db959c Mon Sep 17 00:00:00 2001 From: Andrew vonderLuft Date: Thu, 31 Dec 2009 07:53:53 +0800 Subject: [PATCH 2/7] replace obsolete 'order_by' with 'named_scope' --- app/models/group.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/models/group.rb b/app/models/group.rb index 1098a77..e124c59 100644 --- a/app/models/group.rb +++ b/app/models/group.rb @@ -1,5 +1,5 @@ -class Group < ActiveRecord::Base - order_by 'name' +class Group < ActiveRecord::Base + named_scope :default, :order => "name" belongs_to :created_by, :class_name => 'User', :foreign_key => 'created_by' belongs_to :updated_by, :class_name => 'User', :foreign_key => 'updated_by' From 67b86d86d802bef0dabcacd9cebf4854a2ba8c68 Mon Sep 17 00:00:00 2001 From: Andrew vonderLuft Date: Thu, 31 Dec 2009 08:46:09 +0800 Subject: [PATCH 3/7] switch to default_scope --- app/models/group.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/models/group.rb b/app/models/group.rb index e124c59..df12e3a 100644 --- a/app/models/group.rb +++ b/app/models/group.rb @@ -1,5 +1,6 @@ class Group < ActiveRecord::Base - named_scope :default, :order => "name" + #named_scope :default, :order => "name" + default_scope :order => "name ASC" belongs_to :created_by, :class_name => 'User', :foreign_key => 'created_by' belongs_to :updated_by, :class_name => 'User', :foreign_key => 'updated_by' From f9061066b0a454f5e45df7183c0b4f14e8f6fb61 Mon Sep 17 00:00:00 2001 From: Andrew vonderLuft Date: Fri, 1 Jan 2010 05:46:08 +0800 Subject: [PATCH 4/7] backward-compatible for admin.tabs in >= 0.9 --- page_group_permissions_extension.rb | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/page_group_permissions_extension.rb b/page_group_permissions_extension.rb index 1faddde..741a1ec 100644 --- a/page_group_permissions_extension.rb +++ b/page_group_permissions_extension.rb @@ -32,8 +32,15 @@ def activate Page.module_eval &PageModelExtensions Admin::PagesController.module_eval &PageControllerExtensions UserActionObserver.instance.send :add_observer!, Group - - admin.tabs.add "Groups", "/admin/groups", :after => "Layouts", :visibility => [:admin] + + # admin.tabs is deprecated with 0.9 + if Radiant::Version.to_s >= "0.9.0" + add_tab "Settings" do + add_item "Groups", "/admin/groups", :after => "Users", :visibility => [:admin] + end + else + admin.tabs.add "Groups", "/admin/groups", :after => "Layouts", :visibility => [:admin] + end admin.pages.index.add :node, "page_group_td", :before => "status_column" admin.pages.index.add :sitemap_head, "page_group_th", :before => "status_column_header" admin.pages.edit.add :parts_bottom, "page_group_form_part", :after => "edit_timestamp" From 379096153db9d92db4e91f2494f5930b8afdf84e Mon Sep 17 00:00:00 2001 From: Andrew vonderLuft Date: Sat, 2 Jan 2010 02:56:28 +0800 Subject: [PATCH 5/7] simpler management of backward compatibility, per saturnflyer --- app/models/group.rb | 7 +++++-- page_group_permissions_extension.rb | 3 +-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/app/models/group.rb b/app/models/group.rb index df12e3a..a3b45ba 100644 --- a/app/models/group.rb +++ b/app/models/group.rb @@ -1,6 +1,9 @@ class Group < ActiveRecord::Base - #named_scope :default, :order => "name" - default_scope :order => "name ASC" + unless self.respond_to?(:order_by) + default_scope :order => "name ASC" + else + order_by :name + end belongs_to :created_by, :class_name => 'User', :foreign_key => 'created_by' belongs_to :updated_by, :class_name => 'User', :foreign_key => 'updated_by' diff --git a/page_group_permissions_extension.rb b/page_group_permissions_extension.rb index 741a1ec..c3eb313 100644 --- a/page_group_permissions_extension.rb +++ b/page_group_permissions_extension.rb @@ -33,8 +33,7 @@ def activate Admin::PagesController.module_eval &PageControllerExtensions UserActionObserver.instance.send :add_observer!, Group - # admin.tabs is deprecated with 0.9 - if Radiant::Version.to_s >= "0.9.0" + if self.respond_to?(:tab) add_tab "Settings" do add_item "Groups", "/admin/groups", :after => "Users", :visibility => [:admin] end From 18a9c2935232931c556aa61cd2ed343fb8cb73ec Mon Sep 17 00:00:00 2001 From: Andrew vonderLuft Date: Fri, 9 Jul 2010 02:37:13 +0800 Subject: [PATCH 6/7] backward compatible for pre 0.9 User role developer --- lib/controller_extensions.rb | 2 +- lib/model_extensions.rb | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/controller_extensions.rb b/lib/controller_extensions.rb index c9640a4..421a12b 100644 --- a/lib/controller_extensions.rb +++ b/lib/controller_extensions.rb @@ -6,7 +6,7 @@ :denied_message => "You must have group privileges to perform this action." def user_is_in_page_group - return true if current_user.admin? || current_user.developer? + return true if current_user.admin? || current_user.designer_or_developer? page = Page.find(params[:id] || params[:page_id] || params[:parent_id] || params[:page][:parent_id]) diff --git a/lib/model_extensions.rb b/lib/model_extensions.rb index bd91b07..fdc62c0 100644 --- a/lib/model_extensions.rb +++ b/lib/model_extensions.rb @@ -12,4 +12,7 @@ def group_name UserModelExtensions = Proc.new do has_and_belongs_to_many :groups + def designer_or_developer? + respond_to?(:designer) ? designer? : developer? + end end From cdd231be12da72df1111215caf29c97e66bd617c Mon Sep 17 00:00:00 2001 From: Jim Gay Date: Thu, 8 Jul 2010 12:41:28 -0700 Subject: [PATCH 7/7] check for the method with ? --- lib/model_extensions.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/model_extensions.rb b/lib/model_extensions.rb index fdc62c0..4c136b6 100644 --- a/lib/model_extensions.rb +++ b/lib/model_extensions.rb @@ -13,6 +13,6 @@ def group_name UserModelExtensions = Proc.new do has_and_belongs_to_many :groups def designer_or_developer? - respond_to?(:designer) ? designer? : developer? + respond_to?(:designer?) ? designer? : developer? end end