spud_cms 0.8.7 → 0.8.9
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.
- data/app/controllers/pages_controller.rb +3 -1
- data/app/models/spud_page.rb +1 -0
- data/app/models/spud_page_partial.rb +18 -0
- data/app/models/spud_page_partial_revision.rb +5 -0
- data/db/migrate/20120510195151_create_spud_page_partial_revisions.rb +13 -0
- data/lib/spud_cms/configuration.rb +2 -1
- data/lib/spud_cms/version.rb +1 -1
- metadata +26 -24
@@ -50,9 +50,11 @@ class PagesController < ApplicationController
|
|
50
50
|
end
|
51
51
|
end
|
52
52
|
if @page.is_private?
|
53
|
-
if
|
53
|
+
if defined?(require_user) && require_user == false
|
54
|
+
logger.debug("responds to require user!")
|
54
55
|
return
|
55
56
|
end
|
57
|
+
logger.debug("does not!")
|
56
58
|
end
|
57
59
|
|
58
60
|
layout = Spud::Cms.default_page_layout
|
data/app/models/spud_page.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
class SpudPage < ActiveRecord::Base
|
2
2
|
searchable
|
3
3
|
belongs_to :spud_page
|
4
|
+
has_many :spud_page_partial_revisions
|
4
5
|
belongs_to :spud_template,:foreign_key => :template_id
|
5
6
|
has_many :spud_pages, :dependent => :nullify
|
6
7
|
has_many :spud_page_partials,:dependent => :destroy
|
@@ -1,4 +1,22 @@
|
|
1
1
|
class SpudPagePartial < ActiveRecord::Base
|
2
2
|
belongs_to :spud_page
|
3
3
|
attr_accessible :name,:spud_page_id,:content,:format
|
4
|
+
before_save :maintain_revisions
|
5
|
+
|
6
|
+
|
7
|
+
def maintain_revisions
|
8
|
+
if !self.changed.include?('content')
|
9
|
+
return true
|
10
|
+
end
|
11
|
+
revision = SpudPagePartialRevision.new(:spud_page_id => self.spud_page_id,:name => self.name,:format => self.format,:content => self.content)
|
12
|
+
revision.save
|
13
|
+
if Spud::Cms.max_revisions > 0
|
14
|
+
revision_count = SpudPagePartialRevision.where(:spud_page_id => self.spud_page_id,:name => self.name).count
|
15
|
+
if revision_count > Spud::Cms.max_revisions
|
16
|
+
revision_bye = SpudPagePartialRevision.where(:spud_page_id => self.spud_page_id,:name => self.name).order("created_at ASC").first
|
17
|
+
revision_bye.destroy if !revision_bye.blank?
|
18
|
+
end
|
19
|
+
end
|
20
|
+
return true
|
21
|
+
end
|
4
22
|
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
class CreateSpudPagePartialRevisions < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
create_table :spud_page_partial_revisions do |t|
|
4
|
+
t.string :name
|
5
|
+
t.text :content
|
6
|
+
t.string :format
|
7
|
+
t.integer :spud_page_id
|
8
|
+
t.timestamps
|
9
|
+
end
|
10
|
+
|
11
|
+
add_index :spud_page_partial_revisions,[:spud_page_id,:name],:name => "revision_idx"
|
12
|
+
end
|
13
|
+
end
|
@@ -2,7 +2,7 @@ module Spud
|
|
2
2
|
module Cms
|
3
3
|
include ActiveSupport::Configurable
|
4
4
|
|
5
|
-
config_accessor :menus_enabled,:templates_enabled,:root_page_name,:default_page_parts,:yield_body_as_content_block,:default_page_layout,:enable_sitemap,:enable_full_page_caching,:enable_action_caching,:multisite_config
|
5
|
+
config_accessor :menus_enabled,:templates_enabled,:root_page_name,:default_page_parts,:yield_body_as_content_block,:default_page_layout,:enable_sitemap,:enable_full_page_caching,:enable_action_caching,:multisite_config,:max_revisions
|
6
6
|
|
7
7
|
self.root_page_name = "home"
|
8
8
|
self.menus_enabled = true
|
@@ -13,6 +13,7 @@ module Spud
|
|
13
13
|
self.enable_full_page_caching = false
|
14
14
|
self.enable_action_caching = false
|
15
15
|
self.enable_sitemap = true
|
16
|
+
self.max_revisions = 10
|
16
17
|
self.multisite_config = []
|
17
18
|
def self.site_config_for_short_name(short_name)
|
18
19
|
configs = Spud::Cms.multisite_config.select{|p| p[:short_name].to_s == short_name.to_s}
|
data/lib/spud_cms/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spud_cms
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.8.
|
4
|
+
version: 0.8.9
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-05-
|
12
|
+
date: 2012-05-24 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
16
|
-
requirement: &
|
16
|
+
requirement: &70196896877860 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 3.2.1
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70196896877860
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: spud_core
|
27
|
-
requirement: &
|
27
|
+
requirement: &70196896877140 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -35,10 +35,10 @@ dependencies:
|
|
35
35
|
version: 0.9.0
|
36
36
|
type: :runtime
|
37
37
|
prerelease: false
|
38
|
-
version_requirements: *
|
38
|
+
version_requirements: *70196896877140
|
39
39
|
- !ruby/object:Gem::Dependency
|
40
40
|
name: spud_permalinks
|
41
|
-
requirement: &
|
41
|
+
requirement: &70196896876340 !ruby/object:Gem::Requirement
|
42
42
|
none: false
|
43
43
|
requirements:
|
44
44
|
- - ~>
|
@@ -46,10 +46,10 @@ dependencies:
|
|
46
46
|
version: 0.0.4
|
47
47
|
type: :runtime
|
48
48
|
prerelease: false
|
49
|
-
version_requirements: *
|
49
|
+
version_requirements: *70196896876340
|
50
50
|
- !ruby/object:Gem::Dependency
|
51
51
|
name: codemirror-rails
|
52
|
-
requirement: &
|
52
|
+
requirement: &70196896875960 !ruby/object:Gem::Requirement
|
53
53
|
none: false
|
54
54
|
requirements:
|
55
55
|
- - ! '>='
|
@@ -57,10 +57,10 @@ dependencies:
|
|
57
57
|
version: '0'
|
58
58
|
type: :runtime
|
59
59
|
prerelease: false
|
60
|
-
version_requirements: *
|
60
|
+
version_requirements: *70196896875960
|
61
61
|
- !ruby/object:Gem::Dependency
|
62
62
|
name: mysql2
|
63
|
-
requirement: &
|
63
|
+
requirement: &70196896875480 !ruby/object:Gem::Requirement
|
64
64
|
none: false
|
65
65
|
requirements:
|
66
66
|
- - ! '>='
|
@@ -68,10 +68,10 @@ dependencies:
|
|
68
68
|
version: '0'
|
69
69
|
type: :development
|
70
70
|
prerelease: false
|
71
|
-
version_requirements: *
|
71
|
+
version_requirements: *70196896875480
|
72
72
|
- !ruby/object:Gem::Dependency
|
73
73
|
name: rspec
|
74
|
-
requirement: &
|
74
|
+
requirement: &70196896875000 !ruby/object:Gem::Requirement
|
75
75
|
none: false
|
76
76
|
requirements:
|
77
77
|
- - ! '>='
|
@@ -79,10 +79,10 @@ dependencies:
|
|
79
79
|
version: '0'
|
80
80
|
type: :development
|
81
81
|
prerelease: false
|
82
|
-
version_requirements: *
|
82
|
+
version_requirements: *70196896875000
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: rspec-rails
|
85
|
-
requirement: &
|
85
|
+
requirement: &70196896874580 !ruby/object:Gem::Requirement
|
86
86
|
none: false
|
87
87
|
requirements:
|
88
88
|
- - ! '>='
|
@@ -90,10 +90,10 @@ dependencies:
|
|
90
90
|
version: '0'
|
91
91
|
type: :development
|
92
92
|
prerelease: false
|
93
|
-
version_requirements: *
|
93
|
+
version_requirements: *70196896874580
|
94
94
|
- !ruby/object:Gem::Dependency
|
95
95
|
name: factory_girl
|
96
|
-
requirement: &
|
96
|
+
requirement: &70196896873800 !ruby/object:Gem::Requirement
|
97
97
|
none: false
|
98
98
|
requirements:
|
99
99
|
- - =
|
@@ -101,10 +101,10 @@ dependencies:
|
|
101
101
|
version: 2.5.0
|
102
102
|
type: :development
|
103
103
|
prerelease: false
|
104
|
-
version_requirements: *
|
104
|
+
version_requirements: *70196896873800
|
105
105
|
- !ruby/object:Gem::Dependency
|
106
106
|
name: mocha
|
107
|
-
requirement: &
|
107
|
+
requirement: &70196896873100 !ruby/object:Gem::Requirement
|
108
108
|
none: false
|
109
109
|
requirements:
|
110
110
|
- - =
|
@@ -112,10 +112,10 @@ dependencies:
|
|
112
112
|
version: 0.10.3
|
113
113
|
type: :development
|
114
114
|
prerelease: false
|
115
|
-
version_requirements: *
|
115
|
+
version_requirements: *70196896873100
|
116
116
|
- !ruby/object:Gem::Dependency
|
117
117
|
name: database_cleaner
|
118
|
-
requirement: &
|
118
|
+
requirement: &70196896872400 !ruby/object:Gem::Requirement
|
119
119
|
none: false
|
120
120
|
requirements:
|
121
121
|
- - =
|
@@ -123,7 +123,7 @@ dependencies:
|
|
123
123
|
version: 0.7.1
|
124
124
|
type: :development
|
125
125
|
prerelease: false
|
126
|
-
version_requirements: *
|
126
|
+
version_requirements: *70196896872400
|
127
127
|
description: Spud CMS is a full-featured light weight modular cms engine as a part
|
128
128
|
of the spud suite of rails gems. This particular gem comes with page management,
|
129
129
|
administrative dashboard, template management, menu management and more. It is also
|
@@ -156,6 +156,7 @@ files:
|
|
156
156
|
- app/models/spud_menu_item.rb
|
157
157
|
- app/models/spud_page.rb
|
158
158
|
- app/models/spud_page_partial.rb
|
159
|
+
- app/models/spud_page_partial_revision.rb
|
159
160
|
- app/models/spud_template.rb
|
160
161
|
- app/views/layouts/spud/admin/cms/detail.html.erb
|
161
162
|
- app/views/pages/show.html.erb
|
@@ -196,6 +197,7 @@ files:
|
|
196
197
|
- db/migrate/20120329132314_add_site_id_to_spud_pages.rb
|
197
198
|
- db/migrate/20120329132322_add_site_id_to_spud_templates.rb
|
198
199
|
- db/migrate/20120329132330_add_site_id_to_spud_menus.rb
|
200
|
+
- db/migrate/20120510195151_create_spud_page_partial_revisions.rb
|
199
201
|
- lib/spud_cms/configuration.rb
|
200
202
|
- lib/spud_cms/engine.rb
|
201
203
|
- lib/spud_cms/page_route.rb
|
@@ -257,7 +259,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
257
259
|
version: '0'
|
258
260
|
segments:
|
259
261
|
- 0
|
260
|
-
hash:
|
262
|
+
hash: 3473395814718108521
|
261
263
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
262
264
|
none: false
|
263
265
|
requirements:
|
@@ -266,7 +268,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
266
268
|
version: '0'
|
267
269
|
segments:
|
268
270
|
- 0
|
269
|
-
hash:
|
271
|
+
hash: 3473395814718108521
|
270
272
|
requirements: []
|
271
273
|
rubyforge_project:
|
272
274
|
rubygems_version: 1.8.15
|