radiant-archive_tabs-extension 1.0.0 → 1.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/app/views/admin/pages/_redirect_cancel.html.haml +2 -2
- data/archive_tabs_extension.rb +2 -0
- data/lib/radiant-archive_tabs-extension/admin/node_helper.rb +12 -17
- data/lib/radiant-archive_tabs-extension/admin/pages_controller.rb +15 -15
- data/lib/radiant-archive_tabs-extension/application_helper.rb +31 -0
- data/lib/radiant-archive_tabs-extension/version.rb +1 -1
- metadata +7 -6
@@ -1,7 +1,7 @@
|
|
1
|
-
- if
|
1
|
+
- if archive_page?(model.parent)
|
2
2
|
:javascript
|
3
3
|
function redirect_cancel(event) {
|
4
|
-
window.location = "#{url_for
|
4
|
+
window.location = "#{url_for index_page_for_model_with_archive}"
|
5
5
|
event.stop()
|
6
6
|
}
|
7
7
|
|
data/archive_tabs_extension.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'radiant-archive_tabs-extension/version'
|
2
|
+
require 'radiant-archive_tabs-extension/application_helper'
|
2
3
|
require 'radiant-archive_tabs-extension/admin/node_helper'
|
3
4
|
require 'radiant-archive_tabs-extension/admin/pages_controller'
|
4
5
|
|
@@ -8,6 +9,7 @@ class ArchiveTabsExtension < Radiant::Extension
|
|
8
9
|
url "http://github.com/jsntv200/radiant-archive_tabs-extension"
|
9
10
|
|
10
11
|
def activate
|
12
|
+
ApplicationHelper.send :include, RadiantArchiveTabsExtension::ApplicationHelper
|
11
13
|
Admin::NodeHelper.send :include, RadiantArchiveTabsExtension::Admin::NodeHelper
|
12
14
|
Admin::PagesController.send :include, RadiantArchiveTabsExtension::Admin::PagesController
|
13
15
|
|
@@ -3,36 +3,31 @@ module RadiantArchiveTabsExtension
|
|
3
3
|
module NodeHelper
|
4
4
|
def self.included(base)
|
5
5
|
base.class_eval do
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
alias_method_chain :expanded, :extract
|
12
|
-
alias_method_chain :expander, :extract
|
13
|
-
alias_method_chain :children_class, :extract
|
14
|
-
alias_method_chain :children_for, :extract
|
6
|
+
alias_method_chain :expanded, :archive
|
7
|
+
alias_method_chain :expander, :archive
|
8
|
+
alias_method_chain :children_class, :archive
|
9
|
+
alias_method_chain :children_for, :archive
|
15
10
|
end
|
16
11
|
end
|
17
12
|
|
18
13
|
# Never render the children on admin/pages
|
19
|
-
def
|
20
|
-
|
14
|
+
def expanded_with_archive
|
15
|
+
archive_page?(@current_node) ? false : expanded_without_archive
|
21
16
|
end
|
22
17
|
|
23
18
|
# Don't display the expander arrow on admin/pages
|
24
|
-
def
|
25
|
-
|
19
|
+
def expander_with_archive(level)
|
20
|
+
archive_page?(@current_node) ? '' : expander_without_archive(level)
|
26
21
|
end
|
27
22
|
|
28
23
|
# Force the no_children class to diable the SiteMapBehavior js on admin/pages
|
29
|
-
def
|
30
|
-
|
24
|
+
def children_class_with_archive
|
25
|
+
archive_page?(@current_node) ? ' no_children' : children_class_without_archive
|
31
26
|
end
|
32
27
|
|
33
28
|
# Disable adding children on the index page, admin/pages/:page_id/children
|
34
|
-
def
|
35
|
-
page.respond_to?(:parent) &&
|
29
|
+
def children_for_with_archive(page)
|
30
|
+
page.respond_to?(:parent) && archive_page?(page.parent) ? [] : children_for_without_archive(page)
|
36
31
|
end
|
37
32
|
end
|
38
33
|
end
|
@@ -3,41 +3,41 @@ module RadiantArchiveTabsExtension
|
|
3
3
|
module PagesController
|
4
4
|
def self.included(base)
|
5
5
|
base.class_eval do
|
6
|
-
# TODO: duplicated in
|
7
|
-
def
|
6
|
+
# TODO: duplicated in application_helper
|
7
|
+
def archive_page?(page)
|
8
8
|
page.class == ArchivePage
|
9
9
|
end
|
10
10
|
|
11
|
-
helper_method :
|
12
|
-
alias_method_chain :load_models, :
|
13
|
-
alias_method_chain :index, :
|
14
|
-
alias_method_chain :index_page_for_model, :
|
11
|
+
helper_method :archive_page?, :index_page_for_model_with_archive
|
12
|
+
alias_method_chain :load_models, :archive
|
13
|
+
alias_method_chain :index, :archive
|
14
|
+
alias_method_chain :index_page_for_model, :archive
|
15
15
|
end
|
16
16
|
end
|
17
17
|
|
18
|
-
def
|
18
|
+
def load_models_with_archive
|
19
19
|
if params[:page_id]
|
20
20
|
self.model = Page.find(params[:page_id])
|
21
21
|
|
22
|
-
if
|
22
|
+
if archive_page?(self.model)
|
23
23
|
acts_as_tree_options
|
24
24
|
self.class.paginate_models :per_page => Radiant.config['admin.pagination.per_page']
|
25
25
|
end
|
26
26
|
end
|
27
27
|
|
28
|
-
|
28
|
+
load_models_without_archive
|
29
29
|
end
|
30
30
|
|
31
|
-
def
|
32
|
-
if
|
31
|
+
def index_with_archive
|
32
|
+
if archive_page?(self.model)
|
33
33
|
render :action => 'archive_index'
|
34
34
|
else
|
35
|
-
|
35
|
+
index_without_archive
|
36
36
|
end
|
37
37
|
end
|
38
38
|
|
39
|
-
def
|
40
|
-
if model &&
|
39
|
+
def index_page_for_model_with_archive
|
40
|
+
if model && archive_page?(model.parent)
|
41
41
|
acts_as_tree_options
|
42
42
|
parts = {:action => "index", :page_id => model.parent_id}
|
43
43
|
|
@@ -48,7 +48,7 @@ module RadiantArchiveTabsExtension
|
|
48
48
|
|
49
49
|
parts
|
50
50
|
else
|
51
|
-
|
51
|
+
index_page_for_model_without_archive
|
52
52
|
end
|
53
53
|
end
|
54
54
|
|
@@ -0,0 +1,31 @@
|
|
1
|
+
module RadiantArchiveTabsExtension
|
2
|
+
module ApplicationHelper
|
3
|
+
def self.included(base)
|
4
|
+
base.class_eval do
|
5
|
+
# TODO: duplicated in pages_controller
|
6
|
+
def archive_page?(page)
|
7
|
+
page.class == ArchivePage
|
8
|
+
end
|
9
|
+
|
10
|
+
alias_method_chain :current_url?, :archive
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
def current_url_with_archive?(options)
|
15
|
+
if current_object.respond_to?(:parent) && archive_page?(current_object.parent)
|
16
|
+
parent_url = url_for index_page_for_model_with_archive
|
17
|
+
|
18
|
+
url = case options
|
19
|
+
when Hash
|
20
|
+
url_for options
|
21
|
+
else
|
22
|
+
options.to_s
|
23
|
+
end
|
24
|
+
|
25
|
+
parent_url == clean(url)
|
26
|
+
else
|
27
|
+
current_url_without_archive?(options)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: radiant-archive_tabs-extension
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 21
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 1.0.
|
9
|
+
- 1
|
10
|
+
version: 1.0.1
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Jason Taylor
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-05-
|
18
|
+
date: 2011-05-26 00:00:00 +10:00
|
19
19
|
default_executable:
|
20
20
|
dependencies: []
|
21
21
|
|
@@ -39,6 +39,7 @@ files:
|
|
39
39
|
- lib/radiant-archive_tabs-extension.rb
|
40
40
|
- lib/radiant-archive_tabs-extension/admin/node_helper.rb
|
41
41
|
- lib/radiant-archive_tabs-extension/admin/pages_controller.rb
|
42
|
+
- lib/radiant-archive_tabs-extension/application_helper.rb
|
42
43
|
- lib/radiant-archive_tabs-extension/version.rb
|
43
44
|
- lib/tasks/archive_tabs_extension_tasks.rake
|
44
45
|
- radiant-archive_tabs-extension.gemspec
|
@@ -51,7 +52,7 @@ has_rdoc: true
|
|
51
52
|
homepage: http://github.com/jsntv200/radiant-archive_tabs-extension
|
52
53
|
licenses: []
|
53
54
|
|
54
|
-
post_install_message: "\n Edit your Radiant environment.rb file and add the following :\n\n 1. Ensure Archive Tabs is loaded last\n\n config.extensions = [ :all, :archive_tabs ]\n\n 2. Load Archive Tabs by adding the gem\n\n config.gem 'radiant-archive_tabs-extension', :version => '1.0.
|
55
|
+
post_install_message: "\n Edit your Radiant environment.rb file and add the following :\n\n 1. Ensure Archive Tabs is loaded last\n\n config.extensions = [ :all, :archive_tabs ]\n\n 2. Load Archive Tabs by adding the gem\n\n config.gem 'radiant-archive_tabs-extension', :version => '1.0.1'\n "
|
55
56
|
rdoc_options: []
|
56
57
|
|
57
58
|
require_paths:
|
@@ -77,7 +78,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
77
78
|
requirements: []
|
78
79
|
|
79
80
|
rubyforge_project:
|
80
|
-
rubygems_version: 1.
|
81
|
+
rubygems_version: 1.6.2
|
81
82
|
signing_key:
|
82
83
|
specification_version: 3
|
83
84
|
summary: Archive tabs extension for Radiant CMS
|