browsercms 3.1.4 → 3.1.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (164) hide show
  1. data/app/controllers/cms/content_block_controller.rb +2 -2
  2. data/app/controllers/cms/section_nodes_controller.rb +6 -1
  3. data/app/controllers/cms/sections_controller.rb +1 -1
  4. data/app/helpers/cms/application_helper.rb +1 -1
  5. data/app/helpers/cms/content_block_helper.rb +27 -0
  6. data/app/helpers/cms/section_nodes_helper.rb +43 -5
  7. data/app/models/abstract_file_block.rb +16 -1
  8. data/app/models/attachment.rb +17 -35
  9. data/app/models/file_block.rb +0 -12
  10. data/app/models/image_block.rb +0 -12
  11. data/app/models/link.rb +4 -21
  12. data/app/models/page.rb +31 -34
  13. data/app/models/section.rb +82 -44
  14. data/app/models/section_node.rb +39 -24
  15. data/app/models/user.rb +5 -0
  16. data/app/views/cms/blocks/index.html.erb +4 -4
  17. data/app/views/cms/file_blocks/_form.html.erb +1 -1
  18. data/app/views/cms/image_blocks/_form.html.erb +1 -1
  19. data/app/views/cms/section_nodes/_link.html.erb +6 -3
  20. data/app/views/cms/section_nodes/_node.html.erb +11 -1
  21. data/app/views/cms/section_nodes/_page.html.erb +13 -7
  22. data/app/views/cms/section_nodes/_section.html.erb +24 -8
  23. data/app/views/cms/section_nodes/index.html.erb +28 -16
  24. data/app/views/layouts/templates/default.html.erb +17 -0
  25. data/browsercms.gemspec +28 -1413
  26. data/db/migrate/20120117144039_browsercms315.rb +94 -0
  27. data/db/migrate/{20081114172307_load_seed_data.rb → 20121114172307_load_seeds.rb} +8 -1
  28. data/lib/acts_as_list.rb +1 -1
  29. data/lib/browsercms.rb +2 -0
  30. data/lib/cms/addressable.rb +83 -0
  31. data/lib/cms/behaviors/attaching.rb +44 -24
  32. data/lib/cms/behaviors/connecting.rb +2 -1
  33. data/lib/cms/behaviors/publishing.rb +12 -3
  34. data/lib/cms/behaviors/versioning.rb +83 -53
  35. data/lib/cms/content_rendering_support.rb +3 -3
  36. data/lib/cms/error_pages.rb +8 -0
  37. data/lib/cms/init.rb +5 -3
  38. data/lib/cms/version.rb +1 -1
  39. data/templates/blank.rb +2 -0
  40. data/templates/demo.rb +2 -0
  41. data/templates/module.rb +2 -0
  42. data/test/custom_assertions.rb +7 -1
  43. data/test/factories.rb +3 -1
  44. data/test/factories/sitemap_factories.rb +28 -0
  45. data/test/fixtures/connectors.yml +97 -0
  46. data/test/fixtures/content_type_groups.yml +13 -0
  47. data/test/fixtures/content_types.yml +50 -0
  48. data/test/fixtures/dynamic_view_versions.yml +26 -0
  49. data/test/fixtures/dynamic_views.yml +26 -0
  50. data/test/fixtures/group_permissions.yml +16 -0
  51. data/test/fixtures/group_sections.yml +31 -0
  52. data/test/fixtures/group_type_permissions.yml +11 -0
  53. data/test/fixtures/group_types.yml +25 -0
  54. data/test/fixtures/groups.yml +25 -0
  55. data/test/fixtures/html_block_versions.yml +67 -0
  56. data/test/fixtures/html_blocks.yml +63 -0
  57. data/test/fixtures/page_versions.yml +265 -0
  58. data/test/fixtures/pages.yml +85 -0
  59. data/test/fixtures/permissions.yml +28 -0
  60. data/test/fixtures/section_nodes.yml +46 -0
  61. data/test/fixtures/sections.yml +19 -0
  62. data/test/fixtures/sites.yml +9 -0
  63. data/test/fixtures/user_group_memberships.yml +11 -0
  64. data/test/fixtures/users.yml +15 -0
  65. data/test/functional/cms/content_controller_test.rb +6 -1
  66. data/test/functional/cms/file_blocks_controller_test.rb +1 -0
  67. data/test/functional/cms/html_blocks_controller_test.rb +1 -0
  68. data/test/functional/cms/image_blocks_controller_test.rb +39 -32
  69. data/test/functional/cms/section_nodes_controller_test.rb +48 -20
  70. data/test/functional/cms/sections_controller_test.rb +3 -1
  71. data/test/functional/tests/pretend_controller_test.rb +6 -3
  72. data/test/integration/cms/ckeditor_test.rb +5 -2
  73. data/test/integration/sitemap_performance_test.rb +26 -0
  74. data/test/selenium-core/Blank.html +7 -0
  75. data/test/selenium-core/InjectedRemoteRunner.html +8 -0
  76. data/test/selenium-core/RemoteRunner.html +110 -0
  77. data/test/selenium-core/SeleniumLog.html +109 -0
  78. data/test/selenium-core/TestPrompt.html +145 -0
  79. data/test/selenium-core/TestRunner-splash.html +55 -0
  80. data/test/selenium-core/TestRunner.hta +176 -0
  81. data/test/selenium-core/TestRunner.html +176 -0
  82. data/test/selenium-core/domviewer/butmin.gif +0 -0
  83. data/test/selenium-core/domviewer/butplus.gif +0 -0
  84. data/test/selenium-core/domviewer/domviewer.css +298 -0
  85. data/test/selenium-core/domviewer/domviewer.html +16 -0
  86. data/test/selenium-core/domviewer/selenium-domviewer.js +205 -0
  87. data/test/selenium-core/icons/all.png +0 -0
  88. data/test/selenium-core/icons/continue.png +0 -0
  89. data/test/selenium-core/icons/continue_disabled.png +0 -0
  90. data/test/selenium-core/icons/pause.png +0 -0
  91. data/test/selenium-core/icons/pause_disabled.png +0 -0
  92. data/test/selenium-core/icons/selected.png +0 -0
  93. data/test/selenium-core/icons/step.png +0 -0
  94. data/test/selenium-core/icons/step_disabled.png +0 -0
  95. data/test/selenium-core/iedoc-core.xml +1515 -0
  96. data/test/selenium-core/iedoc.xml +1469 -0
  97. data/test/selenium-core/lib/cssQuery/cssQuery-p.js +6 -0
  98. data/test/selenium-core/lib/cssQuery/src/cssQuery-level2.js +142 -0
  99. data/test/selenium-core/lib/cssQuery/src/cssQuery-level3.js +150 -0
  100. data/test/selenium-core/lib/cssQuery/src/cssQuery-standard.js +53 -0
  101. data/test/selenium-core/lib/cssQuery/src/cssQuery.js +356 -0
  102. data/test/selenium-core/lib/prototype.js +2006 -0
  103. data/test/selenium-core/lib/scriptaculous/builder.js +101 -0
  104. data/test/selenium-core/lib/scriptaculous/controls.js +815 -0
  105. data/test/selenium-core/lib/scriptaculous/dragdrop.js +915 -0
  106. data/test/selenium-core/lib/scriptaculous/effects.js +958 -0
  107. data/test/selenium-core/lib/scriptaculous/scriptaculous.js +47 -0
  108. data/test/selenium-core/lib/scriptaculous/slider.js +283 -0
  109. data/test/selenium-core/lib/scriptaculous/unittest.js +383 -0
  110. data/test/selenium-core/scripts/find_matching_child.js +69 -0
  111. data/test/selenium-core/scripts/htmlutils.js +894 -0
  112. data/test/selenium-core/scripts/injection.html +72 -0
  113. data/test/selenium-core/scripts/js2html.js +70 -0
  114. data/test/selenium-core/scripts/narcissus-defs.js +175 -0
  115. data/test/selenium-core/scripts/narcissus-exec.js +1054 -0
  116. data/test/selenium-core/scripts/narcissus-parse.js +1003 -0
  117. data/test/selenium-core/scripts/se2html.js +63 -0
  118. data/test/selenium-core/scripts/selenium-api.js +2409 -0
  119. data/test/selenium-core/scripts/selenium-browserbot.js +2203 -0
  120. data/test/selenium-core/scripts/selenium-browserdetect.js +150 -0
  121. data/test/selenium-core/scripts/selenium-commandhandlers.js +377 -0
  122. data/test/selenium-core/scripts/selenium-executionloop.js +175 -0
  123. data/test/selenium-core/scripts/selenium-logging.js +147 -0
  124. data/test/selenium-core/scripts/selenium-remoterunner.js +571 -0
  125. data/test/selenium-core/scripts/selenium-testrunner.js +1333 -0
  126. data/test/selenium-core/scripts/selenium-version.js +5 -0
  127. data/test/selenium-core/scripts/user-extensions.js +3 -0
  128. data/test/selenium-core/scripts/user-extensions.js.sample +75 -0
  129. data/test/selenium-core/scripts/xmlextras.js +153 -0
  130. data/test/selenium-core/selenium-logo.png +0 -0
  131. data/test/selenium-core/selenium-test.css +43 -0
  132. data/test/selenium-core/selenium.css +299 -0
  133. data/test/selenium-core/xpath/dom.js +428 -0
  134. data/test/selenium-core/xpath/misc.js +252 -0
  135. data/test/selenium-core/xpath/xpath.js +2223 -0
  136. data/test/selenium/_login_as_cmsadmin.rsel +4 -0
  137. data/test/selenium/dashboard.rsel +5 -0
  138. data/test/selenium/html_blocks.rsel +4 -0
  139. data/test/selenium/login/failed_login.rsel +8 -0
  140. data/test/selenium/login/successful_login.rsel +9 -0
  141. data/test/selenium/page_templates.rsel +12 -0
  142. data/test/selenium/pages/edit_properties.rsel +5 -0
  143. data/test/selenium/site/view_home_page.rsel +4 -0
  144. data/test/selenium/sitemap/move_page.rsel +9 -0
  145. data/test/selenium/sitemap/open_section.rsel +6 -0
  146. data/test/selenium/sitemap/select_page.rsel +12 -0
  147. data/test/selenium/sitemap/select_section.rsel +17 -0
  148. data/test/test_helper.rb +30 -12
  149. data/test/unit/behaviors/attaching_test.rb +4 -6
  150. data/test/unit/behaviors/connectable_test.rb +29 -0
  151. data/test/unit/behaviors/publishable_test.rb +40 -9
  152. data/test/unit/behaviors/versioning_test.rb +36 -0
  153. data/test/unit/helpers/menu_helper_test.rb +5 -2
  154. data/test/unit/helpers/page_helper_test.rb +2 -0
  155. data/test/unit/lib/cms/sitemap_test.rb +206 -0
  156. data/test/unit/models/attachment_test.rb +51 -31
  157. data/test/unit/models/file_block_test.rb +74 -55
  158. data/test/unit/models/link_test.rb +44 -0
  159. data/test/unit/models/page_test.rb +290 -224
  160. data/test/unit/models/sections_test.rb +144 -44
  161. data/test/unit/models/user_test.rb +28 -18
  162. metadata +581 -350
  163. data/app/views/cms/section_nodes/_section_node.html.erb +0 -10
  164. data/test/unit/models/section_node_test.rb +0 -92
@@ -2,37 +2,46 @@ require File.join(File.dirname(__FILE__), '/../../test_helper')
2
2
 
3
3
  class SectionTest < ActiveSupport::TestCase
4
4
 
5
+ def setup
6
+ @root = Factory(:root_section)
7
+ end
8
+
5
9
  def test_not_allow_slash_in_name
6
10
  section = Factory.build(:section, :name => "OMG / WTF / BBQ")
7
11
  assert !section.valid?
8
12
  assert_has_error_on section, :name, "cannot contain '/'"
9
13
  end
10
-
14
+
15
+ test "sections return all child sections of a section" do
16
+ s = Factory(:public_section)
17
+ assert_equal [s], s.parent.sections
18
+ end
19
+
11
20
  def test_create_sub_section
12
- sub = Factory(:section, :name => "Sub Section", :parent => root_section)
13
- assert_equal sub, root_section.sections.last
14
- assert_equal root_section, sub.parent
21
+ sub = Factory(:section, :name => "Sub Section", :parent => @root)
22
+ assert_equal sub, @root.sections.last
23
+ assert_equal @root, sub.parent
15
24
  end
16
25
 
17
26
  def test_move_into_another_section
18
- foo = Factory(:section, :name => "Foo", :parent => root_section)
19
- bar = Factory(:section, :name => "Bar", :parent => root_section)
20
- assert_equal root_section, foo.parent
27
+ foo = Factory(:section, :name => "Foo", :parent => @root)
28
+ bar = Factory(:section, :name => "Bar", :parent => @root)
29
+ assert_equal @root, foo.parent
21
30
  assert foo.move_to(bar)
22
31
  assert_equal bar, foo.parent
23
32
  end
24
33
 
25
34
  def test_cannot_move_root_section
26
- foo = Factory(:section, :name => "Foo", :parent => root_section)
27
- assert !root_section.move_to(foo)
35
+ foo = Factory(:section, :name => "Foo", :parent => @root)
36
+ assert !@root.move_to(foo)
28
37
  end
29
38
 
30
39
  def test_find_first_page_or_link_in_section_page
31
- @a = Factory(:section, :parent => root_section, :name => "A")
40
+ @a = Factory(:section, :parent => @root, :name => "A")
32
41
  @a1 = Factory(:section, :parent => @a, :name => "A1")
33
42
  @a1a = Factory(:section, :parent => @a1, :name => "A1a")
34
43
  @foo = Factory(:page, :section => @a1a, :name => "Foo")
35
- @b = Factory(:section, :parent => root_section, :name => "B")
44
+ @b = Factory(:section, :parent => @root, :name => "B")
36
45
 
37
46
  assert_equal @foo, @a.first_page_or_link
38
47
  assert_equal @foo, @a1.first_page_or_link
@@ -41,7 +50,7 @@ class SectionTest < ActiveSupport::TestCase
41
50
  end
42
51
 
43
52
  def test_find_first_page_or_link_in_section_link
44
- @a = Factory(:section, :parent => root_section, :name => "A")
53
+ @a = Factory(:section, :parent => @root, :name => "A")
45
54
  @a1 = Factory(:link, :section => @a, :name => "A1")
46
55
  @a2 = Factory(:page, :section => @a, :name => "A2")
47
56
 
@@ -53,7 +62,7 @@ class SectionTest < ActiveSupport::TestCase
53
62
  end
54
63
 
55
64
  def test_find_first_page_or_link_after_delete
56
- @a = Factory(:section, :parent => root_section, :name => "A")
65
+ @a = Factory(:section, :parent => @root, :name => "A")
57
66
  @a1 = Factory(:page, :section => @a, :name => "A1")
58
67
  @a2 = Factory(:page, :section => @a, :name => "A2")
59
68
  @a3 = Factory(:page, :section => @a, :name => "A3")
@@ -63,35 +72,29 @@ class SectionTest < ActiveSupport::TestCase
63
72
  assert_equal @a2, @a.first_page_or_link
64
73
  end
65
74
 
66
-
67
- def test_find_by_name_path
68
- @a = Factory(:section, :parent => root_section, :name => "A")
69
- @b = Factory(:section, :parent => @a, :name => "B")
70
- @c = Factory(:section, :parent => @b, :name => "C")
71
-
72
- assert_equal root_section, Section.find_by_name_path("/")
73
- assert_equal @a, Section.find_by_name_path("/A/")
74
- assert_equal @b, Section.find_by_name_path("/A/B/")
75
- assert_equal @c, Section.find_by_name_path("/A/B/C/")
76
- end
77
-
78
- def test_section_with_sub_section
79
- @section = Factory(:section, :parent => root_section)
75
+ def test_section_with_child_sections_should_not_be_deletable
76
+ @section = Factory(:section, :parent => @root)
80
77
  Factory(:section, :parent => @section)
81
78
 
82
79
  assert !@section.empty?
83
80
  assert !@section.deletable?
84
81
 
85
- section_count = Section.count
86
- assert !@section.destroy
87
- assert_equal section_count, Section.count
82
+ assert_no_difference 'Section.count; SectionNode.count' do
83
+ @section.destroy
84
+ end
88
85
  end
89
-
90
- def test_section_with_page
91
- @section = Factory(:section, :parent => root_section)
86
+
87
+ test "sections with pages should not be empty?" do
88
+ @section = Factory(:section, :parent => @root)
89
+ Factory(:page, :section => @section)
90
+
91
+ assert_equal false, @section.empty?
92
+ end
93
+
94
+ def test_section_with_page_should_not_be_deletable
95
+ @section = Factory(:section, :parent => @root)
92
96
  Factory(:page, :section => @section)
93
97
 
94
- assert !@section.empty?
95
98
  assert !@section.deletable?
96
99
 
97
100
  section_count = Section.count
@@ -99,26 +102,28 @@ class SectionTest < ActiveSupport::TestCase
99
102
  assert_equal section_count, Section.count
100
103
  end
101
104
 
102
- def test_root_section
103
- @section = root_section
105
+ def test_a_root_section_shouldnt_be_deletable_even_without_children
106
+ root = Factory(:root_section)
104
107
 
105
- assert !@section.empty?
106
- assert !@section.deletable?
107
-
108
- section_count = Section.count
109
- assert !@section.destroy
110
- assert_equal section_count, Section.count
108
+ assert root.empty?
109
+ assert !root.deletable?
110
+
111
+ assert_no_difference 'Section.count' do
112
+ assert !root.destroy
113
+ end
111
114
  end
112
115
 
113
116
  def test_empty_section
114
- @section = Factory(:section, :parent => root_section)
117
+ @section = Factory(:section, :parent => @root)
115
118
 
116
119
  assert @section.empty?
117
120
  assert @section.deletable?
118
-
121
+
119
122
  section_count = Section.count
123
+ section_node_count = SectionNode.count
120
124
  assert @section.destroy
121
125
  assert_decremented section_count, Section.count
126
+ assert_decremented section_node_count, SectionNode.count
122
127
  end
123
128
 
124
129
  def test_creating_page_with_reserved_path
@@ -162,3 +167,98 @@ class SectionTest < ActiveSupport::TestCase
162
167
  assert_equal Group.count, Section.with_path("/").first.groups.size
163
168
  end
164
169
  end
170
+
171
+ class TestsWithoutFixtures < ActiveSupport::TestCase
172
+ def setup
173
+ remove_all_sitemap_fixtures_to_avoid_bugs
174
+ end
175
+
176
+ def test_find_by_name_path
177
+ @a = Factory(:section, :parent => root_section, :name => "A")
178
+ @b = Factory(:section, :parent => @a, :name => "B")
179
+ @c = Factory(:section, :parent => @b, :name => "C")
180
+
181
+ assert_equal root_section, Section.find_by_name_path("/")
182
+ assert_equal @a, Section.find_by_name_path("/A/")
183
+ assert_equal @b, Section.find_by_name_path("/A/B/")
184
+ assert_equal @c, Section.find_by_name_path("/A/B/C/")
185
+ end
186
+ end
187
+
188
+ class TestAncestors < ActiveSupport::TestCase
189
+
190
+ def setup
191
+ remove_all_sitemap_fixtures_to_avoid_bugs
192
+ @visible_section = Factory(:public_section, :parent=>root_section)
193
+ @hidden_section = Factory(:public_section, :parent=>root_section, :hidden=>true)
194
+ @visible_page = Factory(:public_page, :section=>root_section)
195
+ @hidden_page = Factory(:public_page, :hidden => true, :section=>root_section)
196
+ @file_block = Factory(:file_block, :attachment_section => root_section, :attachment_file =>mock_file)
197
+ end
198
+
199
+ test "visible_child_nodes should include non-hidden sections and non-hidden pages" do
200
+ assert_equal [@visible_section.node, @visible_page.node], root_section.visible_child_nodes
201
+ end
202
+
203
+ test "ancestors :include_self" do
204
+ assert_equal [root_section], @visible_section.ancestors
205
+ assert_equal [root_section, @visible_section], @visible_section.ancestors(:include_self=>true)
206
+ end
207
+
208
+ test "#ancestry_path delegates to SectionNode" do
209
+ assert_equal @visible_section.node.ancestry_path, @visible_section.ancestry_path
210
+ end
211
+
212
+ test "#build_section creates a new section within this section" do
213
+ new_section = @visible_section.build_section
214
+ assert_equal @visible_section, new_section.parent
215
+ end
216
+
217
+ test "#partial_for" do
218
+ assert_equal "section", @visible_section.partial_for
219
+ assert_equal "page", @visible_page.partial_for
220
+ assert_equal "link", Factory(:link, :section=>root_section).partial_for
221
+ end
222
+
223
+ test "#status is cached" do
224
+ assert_equal :unlocked, @visible_section.status
225
+ assert_equal :unlocked, @visible_section.instance_variable_get(:@status)
226
+ end
227
+
228
+ test "Section#section_node should be the same object " do
229
+ sn = root_section.section_node
230
+ assert_equal sn.object_id, sn.node.section_node.object_id, "Should be the same object"
231
+ end
232
+
233
+ test "Page#section_node should be the same object" do
234
+ sn = @visible_page.section_node
235
+ assert_equal sn.object_id, sn.node.section_node.object_id
236
+ end
237
+
238
+ test "Link#section_node should be the same object" do
239
+ link = Factory(:link, :section=>root_section)
240
+ sn = link.section_node
241
+ assert_equal sn.object_id, sn.node.section_node.object_id
242
+ end
243
+
244
+ test "#public?" do
245
+ assert @visible_section.public?
246
+ refute Factory(:section).public?
247
+ end
248
+
249
+ test "#sitemap" do
250
+ sitemap = Section.sitemap
251
+ assert_equal root_section.node, sitemap.keys.first
252
+ assert_equal [@visible_section, @hidden_section, @visible_page , @hidden_page].map {|n|n.section_node}, sitemap[root_section.node].keys
253
+ end
254
+
255
+ test "#master_section_list" do
256
+ subsection = Factory(:public_section, :parent=>@visible_section, :name=>"Child 1")
257
+ sections = root_section.master_section_list
258
+ assert_equal [@visible_section, subsection, @hidden_section], sections
259
+ assert_equal "#{@visible_section.name}", sections[0].full_path
260
+ assert_equal "#{@visible_section.name} / #{subsection.name}", sections[1].full_path
261
+ assert_equal "#{@hidden_section.name}", sections[2].full_path
262
+ end
263
+
264
+ end
@@ -151,6 +151,31 @@ class UserAbleToViewTest < ActiveSupport::TestCase
151
151
 
152
152
  end
153
153
 
154
+
155
+ class PageEdittingPermissions < ActiveSupport::TestCase
156
+ def setup
157
+ given_a_site_exists
158
+ @content_editor = Factory(:content_editor)
159
+ @private_section = Factory(:section, :parent=>root_section)
160
+ @private_page = Factory(:public_page, :section=>@private_section)
161
+ @editable_page = Factory(:public_page, :section=>root_section)
162
+ end
163
+
164
+ test "#able_to_edit" do
165
+ assert_equal false, @content_editor.able_to_edit?(@private_page)
166
+ assert_equal true, @content_editor.able_to_edit?(@editable_page)
167
+ end
168
+
169
+ test "#able_to_publish?" do
170
+ assert_equal false, @content_editor.able_to_publish?(@private_page)
171
+ assert_equal true, @content_editor.able_to_publish?(@editable_page)
172
+ end
173
+
174
+ test "#section_blacklist" do
175
+ assert_equal [root_section], @content_editor.modifiable_sections
176
+ end
177
+ end
178
+
154
179
  class UserPermissionsTest < ActiveSupport::TestCase
155
180
  def setup
156
181
  @user = Factory(:user)
@@ -255,22 +280,6 @@ class UserPermissionsTest < ActiveSupport::TestCase
255
280
  assert @user.able_to_view?(@page)
256
281
  end
257
282
 
258
- test "cms user who can edit content" do
259
- @group = Factory(:group, :name => "Test", :group_type => Factory(:group_type, :name => "CMS User", :cms_access => true))
260
- @group.permissions << create_or_find_permission_named("edit_content")
261
- @user.groups << @group
262
-
263
- node = stub
264
-
265
- @user.stubs(:able_to_modify?).with(node).returns(true)
266
- assert @user.able_to_edit?(node)
267
- assert !@user.able_to_publish?(node)
268
-
269
- @user.stubs(:able_to_modify?).with(node).returns(false)
270
- assert !@user.able_to_edit?(node)
271
- assert !@user.able_to_publish?(node)
272
- end
273
-
274
283
  test "cms user who can publish content" do
275
284
  @group = Factory(:group, :name => "Test", :group_type => Factory(:group_type, :name => "CMS User", :cms_access => true))
276
285
  @group.permissions << create_or_find_permission_named("publish_content")
@@ -291,10 +300,11 @@ end
291
300
 
292
301
  class GuestUserTest < ActiveSupport::TestCase
293
302
  def setup
303
+ @root = Factory(:root_section)
294
304
  @user = User.guest
295
305
  @guest_group = Group.guest
296
- @public_page = Factory(:page, :section => root_section)
297
- @protected_section = Factory(:section, :parent => root_section)
306
+ @public_page = Factory(:page, :section => @root)
307
+ @protected_section = Factory(:section, :parent => @root)
298
308
  @protected_page = Factory(:page, :section => @protected_section)
299
309
  end
300
310
 
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: browsercms
3
3
  version: !ruby/object:Gem::Version
4
- hash: 11
4
+ hash: 9
5
5
  prerelease:
6
6
  segments:
7
7
  - 3
8
8
  - 1
9
- - 4
10
- version: 3.1.4
9
+ - 5
10
+ version: 3.1.5
11
11
  platform: ruby
12
12
  authors:
13
13
  - BrowserMedia
@@ -15,10 +15,41 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-10-12 00:00:00 -04:00
18
+ date: 2012-01-24 00:00:00 -05:00
19
19
  default_executable:
20
- dependencies: []
21
-
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ name: rails
23
+ prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ hash: 31
30
+ segments:
31
+ - 2
32
+ - 3
33
+ - 14
34
+ version: 2.3.14
35
+ type: :runtime
36
+ version_requirements: *id001
37
+ - !ruby/object:Gem::Dependency
38
+ name: ancestry
39
+ prerelease: false
40
+ requirement: &id002 !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ hash: 23
46
+ segments:
47
+ - 1
48
+ - 2
49
+ - 4
50
+ version: 1.2.4
51
+ type: :runtime
52
+ version_requirements: *id002
22
53
  description: General purpose Web Content Management in Rails.
23
54
  email: github@browsermedia.com
24
55
  executables:
@@ -30,332 +61,97 @@ extra_rdoc_files:
30
61
  - LICENSE.txt
31
62
  - README.markdown
32
63
  files:
33
- - app/controllers/application_controller.rb
34
- - app/controllers/cms/application_controller.rb
35
- - app/controllers/cms/attachments_controller.rb
36
- - app/controllers/cms/base_controller.rb
37
- - app/controllers/cms/cache_controller.rb
38
- - app/controllers/cms/categories_controller.rb
39
- - app/controllers/cms/category_types_controller.rb
40
- - app/controllers/cms/connectors_controller.rb
41
- - app/controllers/cms/content_block_controller.rb
42
- - app/controllers/cms/content_controller.rb
43
- - app/controllers/cms/content_types_controller.rb
44
- - app/controllers/cms/dashboard_controller.rb
45
- - app/controllers/cms/dynamic_views_controller.rb
46
- - app/controllers/cms/email_messages_controller.rb
47
- - app/controllers/cms/error_handling.rb
48
- - app/controllers/cms/file_blocks_controller.rb
49
- - app/controllers/cms/groups_controller.rb
50
- - app/controllers/cms/home_controller.rb
51
- - app/controllers/cms/html_blocks_controller.rb
52
- - app/controllers/cms/image_blocks_controller.rb
53
- - app/controllers/cms/links_controller.rb
54
- - app/controllers/cms/page_route_conditions_controller.rb
55
- - app/controllers/cms/page_route_options_controller.rb
56
- - app/controllers/cms/page_route_requirements_controller.rb
57
- - app/controllers/cms/page_routes_controller.rb
58
- - app/controllers/cms/pages_controller.rb
59
- - app/controllers/cms/portlet_controller.rb
60
- - app/controllers/cms/portlets_controller.rb
61
- - app/controllers/cms/redirects_controller.rb
62
- - app/controllers/cms/resource_controller.rb
63
- - app/controllers/cms/routes_controller.rb
64
- - app/controllers/cms/section_nodes_controller.rb
65
- - app/controllers/cms/sections_controller.rb
66
- - app/controllers/cms/sessions_controller.rb
67
- - app/controllers/cms/tags_controller.rb
68
- - app/controllers/cms/tasks_controller.rb
69
- - app/controllers/cms/toolbar_controller.rb
70
- - app/controllers/cms/users_controller.rb
71
- - app/controllers/tests/pretend_controller.rb
72
- - app/helpers/application_helper.rb
73
- - app/helpers/cms/application_helper.rb
74
- - app/helpers/cms/form_builder.rb
75
- - app/helpers/cms/form_tag_helper.rb
76
- - app/helpers/cms/menu_helper.rb
77
- - app/helpers/cms/page_helper.rb
78
- - app/helpers/cms/path_helper.rb
79
- - app/helpers/cms/rendering_helper.rb
80
- - app/helpers/cms/section_nodes_helper.rb
81
- - app/helpers/cms/template_support.rb
82
- - app/models/abstract_file_block.rb
83
- - app/models/attachment.rb
84
- - app/models/category.rb
85
- - app/models/category_type.rb
86
- - app/models/connector.rb
87
- - app/models/content_type.rb
88
- - app/models/content_type_group.rb
89
- - app/models/dynamic_view.rb
90
- - app/models/email_message.rb
91
- - app/models/email_message_mailer.rb
92
- - app/models/file_block.rb
93
- - app/models/forgot_password_mailer.rb
94
- - app/models/group.rb
95
- - app/models/group_permission.rb
96
- - app/models/group_section.rb
97
- - app/models/group_type.rb
98
- - app/models/group_type_permission.rb
99
- - app/models/guest_user.rb
100
- - app/models/html_block.rb
101
- - app/models/image_block.rb
102
- - app/models/link.rb
103
- - app/models/page.rb
104
- - app/models/page_partial.rb
105
- - app/models/page_route.rb
106
- - app/models/page_route_condition.rb
107
- - app/models/page_route_option.rb
108
- - app/models/page_route_requirement.rb
109
- - app/models/page_template.rb
110
- - app/models/permission.rb
111
- - app/models/portlet.rb
112
- - app/models/redirect.rb
113
- - app/models/section.rb
114
- - app/models/section_node.rb
115
- - app/models/site.rb
116
- - app/models/tag.rb
117
- - app/models/tagging.rb
118
- - app/models/task.rb
119
- - app/models/templates.rb
120
- - app/models/user.rb
121
- - app/models/user_group_membership.rb
122
- - app/portlets/dynamic_portlet.rb
123
- - app/portlets/email_page_portlet.rb
124
- - app/portlets/forgot_password_portlet.rb
125
- - app/portlets/login_portlet.rb
126
- - app/portlets/reset_password_portlet.rb
127
- - app/portlets/tag_cloud_portlet.rb
128
- - app/views/cms/blocks/_hidden_fields.html.erb
129
- - app/views/cms/blocks/_toolbar.html.erb
130
- - app/views/cms/blocks/_toolbar_for_collection.html.erb
131
- - app/views/cms/blocks/_toolbar_for_member.html.erb
132
- - app/views/cms/blocks/edit.html.erb
133
- - app/views/cms/blocks/index.html.erb
134
- - app/views/cms/blocks/new.html.erb
135
- - app/views/cms/blocks/show.html.erb
136
- - app/views/cms/blocks/usages.html.erb
137
- - app/views/cms/blocks/versions.html.erb
138
- - app/views/cms/cache/show.html.erb
139
- - app/views/cms/categories/_form.html.erb
140
- - app/views/cms/category_types/_form.html.erb
141
- - app/views/cms/connectors/new.html.erb
142
- - app/views/cms/content/no_page.html.erb
143
- - app/views/cms/content/show.html.erb
144
- - app/views/cms/content_types/index.html.erb
145
- - app/views/cms/dashboard/_page_drafts.html.erb
146
- - app/views/cms/dashboard/_tasks.html.erb
147
- - app/views/cms/dashboard/index.html.erb
148
- - app/views/cms/dynamic_views/_form.html.erb
149
- - app/views/cms/dynamic_views/edit.html.erb
150
- - app/views/cms/dynamic_views/index.html.erb
151
- - app/views/cms/dynamic_views/new.html.erb
152
- - app/views/cms/email_messages/index.html.erb
153
- - app/views/cms/email_messages/show.html.erb
154
- - app/views/cms/file_blocks/_form.html.erb
155
- - app/views/cms/file_blocks/render.html.erb
156
- - app/views/cms/forgot_password_mailer/reset_password.text.html.erb
157
- - app/views/cms/forgot_password_mailer/reset_password.text.plain.erb
158
- - app/views/cms/form_builder/_cms_check_box.html.erb
159
- - app/views/cms/form_builder/_cms_date_picker.html.erb
160
- - app/views/cms/form_builder/_cms_datetime_select.html.erb
161
- - app/views/cms/form_builder/_cms_drop_down.html.erb
162
- - app/views/cms/form_builder/_cms_fancy_drop_down.html.erb
163
- - app/views/cms/form_builder/_cms_file_field.html.erb
164
- - app/views/cms/form_builder/_cms_instructions.html.erb
165
- - app/views/cms/form_builder/_cms_tag_list.html.erb
166
- - app/views/cms/form_builder/_cms_template_editor.html.erb
167
- - app/views/cms/form_builder/_cms_text_area.html.erb
168
- - app/views/cms/form_builder/_cms_text_editor.html.erb
169
- - app/views/cms/form_builder/_cms_text_field.html.erb
170
- - app/views/cms/groups/_form.html.erb
171
- - app/views/cms/groups/_permissions.html.erb
172
- - app/views/cms/groups/_sections.html.erb
173
- - app/views/cms/groups/edit.html.erb
174
- - app/views/cms/groups/index.html.erb
175
- - app/views/cms/groups/new.html.erb
176
- - app/views/cms/html_blocks/_form.html.erb
177
- - app/views/cms/html_blocks/render.html.erb
178
- - app/views/cms/image_blocks/_form.html.erb
179
- - app/views/cms/image_blocks/render.html.erb
180
- - app/views/cms/links/_form.html.erb
181
- - app/views/cms/links/destroy.js.rjs
182
- - app/views/cms/links/edit.html.erb
183
- - app/views/cms/links/new.html.erb
184
- - app/views/cms/menus/_menu.html.erb
185
- - app/views/cms/menus/_menu_item.html.erb
186
- - app/views/cms/page_routes/_form.html.erb
187
- - app/views/cms/page_routes/edit.html.erb
188
- - app/views/cms/page_routes/index.html.erb
189
- - app/views/cms/page_routes/new.html.erb
190
- - app/views/cms/page_routes/show.html.erb
191
- - app/views/cms/pages/_edit_connector.html.erb
192
- - app/views/cms/pages/_edit_container.html.erb
193
- - app/views/cms/pages/_form.html.erb
194
- - app/views/cms/pages/edit.html.erb
195
- - app/views/cms/pages/new.html.erb
196
- - app/views/cms/pages/versions.html.erb
197
- - app/views/cms/redirects/_form.html.erb
198
- - app/views/cms/redirects/edit.html.erb
199
- - app/views/cms/redirects/index.html.erb
200
- - app/views/cms/redirects/new.html.erb
201
- - app/views/cms/routes/index.html.erb
202
- - app/views/cms/section_nodes/_link.html.erb
203
- - app/views/cms/section_nodes/_node.html.erb
204
- - app/views/cms/section_nodes/_page.html.erb
205
- - app/views/cms/section_nodes/_section.html.erb
206
- - app/views/cms/section_nodes/_section_node.html.erb
207
- - app/views/cms/section_nodes/index.html.erb
208
- - app/views/cms/sections/_form.html.erb
209
- - app/views/cms/sections/_page.html.erb
210
- - app/views/cms/sections/_section.html.erb
211
- - app/views/cms/sections/destroy.js.rjs
212
- - app/views/cms/sections/edit.html.erb
213
- - app/views/cms/sections/file_browser.xml.builder
214
- - app/views/cms/sections/index.html.erb
215
- - app/views/cms/sections/new.html.erb
216
- - app/views/cms/sessions/new.html.erb
217
- - app/views/cms/shared/_admin_sidebar.html.erb
218
- - app/views/cms/shared/_exception.html.erb
219
- - app/views/cms/shared/_pagination.html.erb
220
- - app/views/cms/shared/_version_conflict_diff.html.erb
221
- - app/views/cms/shared/_version_conflict_error.html.erb
222
- - app/views/cms/shared/access_denied.html.erb
223
- - app/views/cms/shared/error.html.erb
224
- - app/views/cms/tags/_form.html.erb
225
- - app/views/cms/tags/render.html.erb
226
- - app/views/cms/tasks/new.html.erb
227
- - app/views/cms/toolbar/index.html.erb
228
- - app/views/cms/users/_form.html.erb
229
- - app/views/cms/users/_groups.html.erb
230
- - app/views/cms/users/_password.html.erb
231
- - app/views/cms/users/_toolbar.html.erb
232
- - app/views/cms/users/_user_fields.html.erb
233
- - app/views/cms/users/change_password.html.erb
234
- - app/views/cms/users/edit.html.erb
235
- - app/views/cms/users/index.html.erb
236
- - app/views/cms/users/new.html.erb
237
- - app/views/cms/users/show.html.erb
238
- - app/views/layouts/_cms_toolbar.html.erb
239
- - app/views/layouts/_page_toolbar.html.erb
240
- - app/views/layouts/application.html.erb
241
- - app/views/layouts/cms/_footer.erb
242
- - app/views/layouts/cms/_head.html.erb
243
- - app/views/layouts/cms/administration.html.erb
244
- - app/views/layouts/cms/application.html.erb
245
- - app/views/layouts/cms/content_library.html.erb
246
- - app/views/layouts/cms/dashboard.html.erb
247
- - app/views/layouts/cms/login.html.erb
248
- - app/views/layouts/cms/section_nodes.html.erb
249
- - app/views/layouts/cms/thickbox.html.erb
250
- - app/views/layouts/cms/toolbar.html.erb
251
- - app/views/portlets/dynamic/_form.html.erb
252
- - app/views/portlets/email_page/_form.html.erb
253
- - app/views/portlets/email_page/render.html.erb
254
- - app/views/portlets/forgot_password/_form.html.erb
255
- - app/views/portlets/forgot_password/render.html.erb
256
- - app/views/portlets/login/_form.html.erb
257
- - app/views/portlets/login/render.html.erb
258
- - app/views/portlets/portlets/_form.html.erb
259
- - app/views/portlets/reset_password/_form.html.erb
260
- - app/views/portlets/reset_password/render.html.erb
261
- - app/views/portlets/tag_cloud/_form.html.erb
262
- - app/views/portlets/tag_cloud/render.html.erb
263
- - app/views/tests/pretend/open_with_layout.html.erb
64
+ - rails/init.rb
65
+ - bin/browsercms
66
+ - bin/bcms
67
+ - LICENSE.txt
68
+ - README.markdown
264
69
  - browsercms.gemspec
265
- - db/demo/data.rb
266
- - db/demo/page_partials/_footer.html.erb
267
- - db/demo/page_partials/_header.html.erb
268
- - db/demo/page_templates/home_page.html.erb
269
- - db/demo/page_templates/sub_page.html.erb
270
- - db/migrate/20080815014337_browsercms_3_0_0.rb
271
- - db/migrate/20081114172307_load_seed_data.rb
272
- - db/migrate/20091109175123_browsercms_3_0_5.rb
273
70
  - doc/app/classes/AbstractFileBlock.html
274
- - doc/app/classes/ActiveRecord.html
275
71
  - doc/app/classes/ActiveRecord/ConnectionAdapters/SchemaStatements.html
276
- - doc/app/classes/ActiveSupport.html
277
- - doc/app/classes/ActiveSupport/Cache.html
72
+ - doc/app/classes/ActiveRecord.html
278
73
  - doc/app/classes/ActiveSupport/Cache/FileStore.html
279
- - doc/app/classes/ActsAsList.html
74
+ - doc/app/classes/ActiveSupport/Cache.html
75
+ - doc/app/classes/ActiveSupport.html
280
76
  - doc/app/classes/ActsAsList/ClassMethods.html
281
77
  - doc/app/classes/ActsAsList/InstanceMethods.html
78
+ - doc/app/classes/ActsAsList.html
282
79
  - doc/app/classes/ApplicationController.html
283
80
  - doc/app/classes/ApplicationHelper.html
284
81
  - doc/app/classes/Attachment.html
285
82
  - doc/app/classes/Category.html
286
83
  - doc/app/classes/CategoryType.html
287
- - doc/app/classes/Cms.html
288
- - doc/app/classes/Cms/Acts.html
289
- - doc/app/classes/Cms/Acts/ContentBlock.html
290
- - doc/app/classes/Cms/Acts/ContentBlock/MacroMethods.html
291
84
  - doc/app/classes/Cms/Acts/ContentBlock/MacroMethods/InstanceMethods.html
292
- - doc/app/classes/Cms/Acts/ContentPage.html
85
+ - doc/app/classes/Cms/Acts/ContentBlock/MacroMethods.html
86
+ - doc/app/classes/Cms/Acts/ContentBlock.html
293
87
  - doc/app/classes/Cms/Acts/ContentPage/ClassMethods.html
88
+ - doc/app/classes/Cms/Acts/ContentPage.html
89
+ - doc/app/classes/Cms/Acts.html
294
90
  - doc/app/classes/Cms/ApplicationController.html
295
91
  - doc/app/classes/Cms/ApplicationHelper.html
296
92
  - doc/app/classes/Cms/AttachmentsController.html
297
- - doc/app/classes/Cms/Authentication.html
298
93
  - doc/app/classes/Cms/Authentication/Controller.html
299
- - doc/app/classes/Cms/Authentication/Model.html
300
94
  - doc/app/classes/Cms/Authentication/Model/ClassMethods.html
301
95
  - doc/app/classes/Cms/Authentication/Model/InstanceMethods.html
96
+ - doc/app/classes/Cms/Authentication/Model.html
97
+ - doc/app/classes/Cms/Authentication.html
302
98
  - doc/app/classes/Cms/BaseController.html
303
- - doc/app/classes/Cms/Behaviors.html
304
- - doc/app/classes/Cms/Behaviors/Archiving.html
305
99
  - doc/app/classes/Cms/Behaviors/Archiving/InstanceMethods.html
306
100
  - doc/app/classes/Cms/Behaviors/Archiving/MacroMethods.html
307
- - doc/app/classes/Cms/Behaviors/Attaching.html
101
+ - doc/app/classes/Cms/Behaviors/Archiving.html
308
102
  - doc/app/classes/Cms/Behaviors/Attaching/InstanceMethods.html
309
103
  - doc/app/classes/Cms/Behaviors/Attaching/MacroMethods.html
310
- - doc/app/classes/Cms/Behaviors/Categorizing.html
104
+ - doc/app/classes/Cms/Behaviors/Attaching.html
311
105
  - doc/app/classes/Cms/Behaviors/Categorizing/ClassMethods.html
312
106
  - doc/app/classes/Cms/Behaviors/Categorizing/InstanceMethods.html
313
107
  - doc/app/classes/Cms/Behaviors/Categorizing/MacroMethods.html
108
+ - doc/app/classes/Cms/Behaviors/Categorizing.html
314
109
  - doc/app/classes/Cms/Behaviors/ClassMethods.html
315
- - doc/app/classes/Cms/Behaviors/Connecting.html
316
110
  - doc/app/classes/Cms/Behaviors/Connecting/ClassMethods.html
317
111
  - doc/app/classes/Cms/Behaviors/Connecting/InstanceMethods.html
318
112
  - doc/app/classes/Cms/Behaviors/Connecting/MacroMethods.html
319
- - doc/app/classes/Cms/Behaviors/DynamicAttributes.html
113
+ - doc/app/classes/Cms/Behaviors/Connecting.html
320
114
  - doc/app/classes/Cms/Behaviors/DynamicAttributes/InstanceMethods.html
321
115
  - doc/app/classes/Cms/Behaviors/DynamicAttributes/MacroMethods.html
322
- - doc/app/classes/Cms/Behaviors/FlushCacheOnChange.html
116
+ - doc/app/classes/Cms/Behaviors/DynamicAttributes.html
323
117
  - doc/app/classes/Cms/Behaviors/FlushCacheOnChange/InstanceMethods.html
324
118
  - doc/app/classes/Cms/Behaviors/FlushCacheOnChange/MacroMethods.html
325
- - doc/app/classes/Cms/Behaviors/Hiding.html
119
+ - doc/app/classes/Cms/Behaviors/FlushCacheOnChange.html
326
120
  - doc/app/classes/Cms/Behaviors/Hiding/ClassMethods.html
327
121
  - doc/app/classes/Cms/Behaviors/Hiding/InstanceMethods.html
328
122
  - doc/app/classes/Cms/Behaviors/Hiding/MacroMethods.html
123
+ - doc/app/classes/Cms/Behaviors/Hiding.html
329
124
  - doc/app/classes/Cms/Behaviors/InstanceMethods.html
330
- - doc/app/classes/Cms/Behaviors/Pagination.html
331
125
  - doc/app/classes/Cms/Behaviors/Pagination/ClassMethods.html
332
126
  - doc/app/classes/Cms/Behaviors/Pagination/Collection.html
333
127
  - doc/app/classes/Cms/Behaviors/Pagination/InvalidPage.html
334
- - doc/app/classes/Cms/Behaviors/Publishing.html
128
+ - doc/app/classes/Cms/Behaviors/Pagination.html
335
129
  - doc/app/classes/Cms/Behaviors/Publishing/ClassMethods.html
336
130
  - doc/app/classes/Cms/Behaviors/Publishing/InstanceMethods.html
337
131
  - doc/app/classes/Cms/Behaviors/Publishing/MacroMethods.html
338
- - doc/app/classes/Cms/Behaviors/Rendering.html
132
+ - doc/app/classes/Cms/Behaviors/Publishing.html
339
133
  - doc/app/classes/Cms/Behaviors/Rendering/MacroMethods.html
340
- - doc/app/classes/Cms/Behaviors/Searching.html
134
+ - doc/app/classes/Cms/Behaviors/Rendering.html
341
135
  - doc/app/classes/Cms/Behaviors/Searching/ClassMethods.html
342
136
  - doc/app/classes/Cms/Behaviors/Searching/MacroMethods.html
343
- - doc/app/classes/Cms/Behaviors/SoftDeleting.html
137
+ - doc/app/classes/Cms/Behaviors/Searching.html
344
138
  - doc/app/classes/Cms/Behaviors/SoftDeleting/ClassMethods.html
345
139
  - doc/app/classes/Cms/Behaviors/SoftDeleting/InstanceMethods.html
346
140
  - doc/app/classes/Cms/Behaviors/SoftDeleting/MacroMethods.html
347
- - doc/app/classes/Cms/Behaviors/Taggable.html
141
+ - doc/app/classes/Cms/Behaviors/SoftDeleting.html
348
142
  - doc/app/classes/Cms/Behaviors/Taggable/ClassMethods.html
349
143
  - doc/app/classes/Cms/Behaviors/Taggable/InstanceMethods.html
350
144
  - doc/app/classes/Cms/Behaviors/Taggable/MacroMethods.html
351
- - doc/app/classes/Cms/Behaviors/Userstamping.html
145
+ - doc/app/classes/Cms/Behaviors/Taggable.html
352
146
  - doc/app/classes/Cms/Behaviors/Userstamping/ClassMethods.html
353
147
  - doc/app/classes/Cms/Behaviors/Userstamping/InstanceMethods.html
354
148
  - doc/app/classes/Cms/Behaviors/Userstamping/MacroMethods.html
355
- - doc/app/classes/Cms/Behaviors/Versioning.html
149
+ - doc/app/classes/Cms/Behaviors/Userstamping.html
356
150
  - doc/app/classes/Cms/Behaviors/Versioning/ClassMethods.html
357
151
  - doc/app/classes/Cms/Behaviors/Versioning/InstanceMethods.html
358
152
  - doc/app/classes/Cms/Behaviors/Versioning/MacroMethods.html
153
+ - doc/app/classes/Cms/Behaviors/Versioning.html
154
+ - doc/app/classes/Cms/Behaviors.html
359
155
  - doc/app/classes/Cms/CacheController.html
360
156
  - doc/app/classes/Cms/Caching.html
361
157
  - doc/app/classes/Cms/CategoriesController.html
@@ -371,18 +167,18 @@ files:
371
167
  - doc/app/classes/Cms/DynamicViewsController.html
372
168
  - doc/app/classes/Cms/EmailMessagesController.html
373
169
  - doc/app/classes/Cms/ErrorHandling.html
374
- - doc/app/classes/Cms/Errors.html
375
170
  - doc/app/classes/Cms/Errors/AccessDenied.html
376
- - doc/app/classes/Cms/Extensions.html
377
- - doc/app/classes/Cms/Extensions/ActionView.html
171
+ - doc/app/classes/Cms/Errors.html
378
172
  - doc/app/classes/Cms/Extensions/ActionView/Base.html
379
- - doc/app/classes/Cms/Extensions/ActiveRecord.html
173
+ - doc/app/classes/Cms/Extensions/ActionView.html
380
174
  - doc/app/classes/Cms/Extensions/ActiveRecord/Base.html
381
175
  - doc/app/classes/Cms/Extensions/ActiveRecord/Errors.html
176
+ - doc/app/classes/Cms/Extensions/ActiveRecord.html
382
177
  - doc/app/classes/Cms/Extensions/Hash.html
383
178
  - doc/app/classes/Cms/Extensions/Integer.html
384
179
  - doc/app/classes/Cms/Extensions/NilClass.html
385
180
  - doc/app/classes/Cms/Extensions/String.html
181
+ - doc/app/classes/Cms/Extensions.html
386
182
  - doc/app/classes/Cms/FileBlocksController.html
387
183
  - doc/app/classes/Cms/FormBuilder.html
388
184
  - doc/app/classes/Cms/FormTagHelper.html
@@ -415,6 +211,7 @@ files:
415
211
  - doc/app/classes/Cms/TemplateSupport.html
416
212
  - doc/app/classes/Cms/ToolbarController.html
417
213
  - doc/app/classes/Cms/UsersController.html
214
+ - doc/app/classes/Cms.html
418
215
  - doc/app/classes/CommandLine.html
419
216
  - doc/app/classes/Connector.html
420
217
  - doc/app/classes/ContentType.html
@@ -458,8 +255,8 @@ files:
458
255
  - doc/app/classes/Tagging.html
459
256
  - doc/app/classes/Task.html
460
257
  - doc/app/classes/Templates.html
461
- - doc/app/classes/Tests.html
462
258
  - doc/app/classes/Tests/PretendController.html
259
+ - doc/app/classes/Tests.html
463
260
  - doc/app/classes/User.html
464
261
  - doc/app/classes/UserGroupMembership.html
465
262
  - doc/app/created.rid
@@ -627,7 +424,6 @@ files:
627
424
  - doc/guides/html/images/content_blocks/add_field_to_form.png
628
425
  - doc/guides/html/images/content_blocks/add_second_block.png
629
426
  - doc/guides/html/images/dot.png
630
- - doc/guides/html/images/icons/README
631
427
  - doc/guides/html/images/icons/callouts/1.png
632
428
  - doc/guides/html/images/icons/callouts/10.png
633
429
  - doc/guides/html/images/icons/callouts/11.png
@@ -650,6 +446,7 @@ files:
650
446
  - doc/guides/html/images/icons/next.png
651
447
  - doc/guides/html/images/icons/note.png
652
448
  - doc/guides/html/images/icons/prev.png
449
+ - doc/guides/html/images/icons/README
653
450
  - doc/guides/html/images/icons/tip.png
654
451
  - doc/guides/html/images/icons/up.png
655
452
  - doc/guides/html/images/icons/warning.png
@@ -661,13 +458,254 @@ files:
661
458
  - doc/guides/html/portlets.html
662
459
  - doc/guides/html/user_guide.html
663
460
  - doc/guides/html/writing_guides.html
461
+ - app/controllers/application_controller.rb
462
+ - app/controllers/cms/application_controller.rb
463
+ - app/controllers/cms/attachments_controller.rb
464
+ - app/controllers/cms/base_controller.rb
465
+ - app/controllers/cms/cache_controller.rb
466
+ - app/controllers/cms/categories_controller.rb
467
+ - app/controllers/cms/category_types_controller.rb
468
+ - app/controllers/cms/connectors_controller.rb
469
+ - app/controllers/cms/content_block_controller.rb
470
+ - app/controllers/cms/content_controller.rb
471
+ - app/controllers/cms/content_types_controller.rb
472
+ - app/controllers/cms/dashboard_controller.rb
473
+ - app/controllers/cms/dynamic_views_controller.rb
474
+ - app/controllers/cms/email_messages_controller.rb
475
+ - app/controllers/cms/error_handling.rb
476
+ - app/controllers/cms/file_blocks_controller.rb
477
+ - app/controllers/cms/groups_controller.rb
478
+ - app/controllers/cms/home_controller.rb
479
+ - app/controllers/cms/html_blocks_controller.rb
480
+ - app/controllers/cms/image_blocks_controller.rb
481
+ - app/controllers/cms/links_controller.rb
482
+ - app/controllers/cms/page_route_conditions_controller.rb
483
+ - app/controllers/cms/page_route_options_controller.rb
484
+ - app/controllers/cms/page_route_requirements_controller.rb
485
+ - app/controllers/cms/page_routes_controller.rb
486
+ - app/controllers/cms/pages_controller.rb
487
+ - app/controllers/cms/portlet_controller.rb
488
+ - app/controllers/cms/portlets_controller.rb
489
+ - app/controllers/cms/redirects_controller.rb
490
+ - app/controllers/cms/resource_controller.rb
491
+ - app/controllers/cms/routes_controller.rb
492
+ - app/controllers/cms/section_nodes_controller.rb
493
+ - app/controllers/cms/sections_controller.rb
494
+ - app/controllers/cms/sessions_controller.rb
495
+ - app/controllers/cms/tags_controller.rb
496
+ - app/controllers/cms/tasks_controller.rb
497
+ - app/controllers/cms/toolbar_controller.rb
498
+ - app/controllers/cms/users_controller.rb
499
+ - app/controllers/tests/pretend_controller.rb
500
+ - app/helpers/application_helper.rb
501
+ - app/helpers/cms/application_helper.rb
502
+ - app/helpers/cms/content_block_helper.rb
503
+ - app/helpers/cms/form_builder.rb
504
+ - app/helpers/cms/form_tag_helper.rb
505
+ - app/helpers/cms/menu_helper.rb
506
+ - app/helpers/cms/page_helper.rb
507
+ - app/helpers/cms/path_helper.rb
508
+ - app/helpers/cms/rendering_helper.rb
509
+ - app/helpers/cms/section_nodes_helper.rb
510
+ - app/helpers/cms/template_support.rb
511
+ - app/models/abstract_file_block.rb
512
+ - app/models/attachment.rb
513
+ - app/models/category.rb
514
+ - app/models/category_type.rb
515
+ - app/models/connector.rb
516
+ - app/models/content_type.rb
517
+ - app/models/content_type_group.rb
518
+ - app/models/dynamic_view.rb
519
+ - app/models/email_message.rb
520
+ - app/models/email_message_mailer.rb
521
+ - app/models/file_block.rb
522
+ - app/models/forgot_password_mailer.rb
523
+ - app/models/group.rb
524
+ - app/models/group_permission.rb
525
+ - app/models/group_section.rb
526
+ - app/models/group_type.rb
527
+ - app/models/group_type_permission.rb
528
+ - app/models/guest_user.rb
529
+ - app/models/html_block.rb
530
+ - app/models/image_block.rb
531
+ - app/models/link.rb
532
+ - app/models/page.rb
533
+ - app/models/page_partial.rb
534
+ - app/models/page_route.rb
535
+ - app/models/page_route_condition.rb
536
+ - app/models/page_route_option.rb
537
+ - app/models/page_route_requirement.rb
538
+ - app/models/page_template.rb
539
+ - app/models/permission.rb
540
+ - app/models/portlet.rb
541
+ - app/models/redirect.rb
542
+ - app/models/section.rb
543
+ - app/models/section_node.rb
544
+ - app/models/site.rb
545
+ - app/models/tag.rb
546
+ - app/models/tagging.rb
547
+ - app/models/task.rb
548
+ - app/models/templates.rb
549
+ - app/models/user.rb
550
+ - app/models/user_group_membership.rb
551
+ - app/portlets/dynamic_portlet.rb
552
+ - app/portlets/email_page_portlet.rb
553
+ - app/portlets/forgot_password_portlet.rb
554
+ - app/portlets/login_portlet.rb
555
+ - app/portlets/reset_password_portlet.rb
556
+ - app/portlets/tag_cloud_portlet.rb
557
+ - app/views/cms/blocks/_hidden_fields.html.erb
558
+ - app/views/cms/blocks/_toolbar.html.erb
559
+ - app/views/cms/blocks/_toolbar_for_collection.html.erb
560
+ - app/views/cms/blocks/_toolbar_for_member.html.erb
561
+ - app/views/cms/blocks/edit.html.erb
562
+ - app/views/cms/blocks/index.html.erb
563
+ - app/views/cms/blocks/new.html.erb
564
+ - app/views/cms/blocks/show.html.erb
565
+ - app/views/cms/blocks/usages.html.erb
566
+ - app/views/cms/blocks/versions.html.erb
567
+ - app/views/cms/cache/show.html.erb
568
+ - app/views/cms/categories/_form.html.erb
569
+ - app/views/cms/category_types/_form.html.erb
570
+ - app/views/cms/connectors/new.html.erb
571
+ - app/views/cms/content/no_page.html.erb
572
+ - app/views/cms/content/show.html.erb
573
+ - app/views/cms/content_types/index.html.erb
574
+ - app/views/cms/dashboard/_page_drafts.html.erb
575
+ - app/views/cms/dashboard/_tasks.html.erb
576
+ - app/views/cms/dashboard/index.html.erb
577
+ - app/views/cms/dynamic_views/_form.html.erb
578
+ - app/views/cms/dynamic_views/edit.html.erb
579
+ - app/views/cms/dynamic_views/index.html.erb
580
+ - app/views/cms/dynamic_views/new.html.erb
581
+ - app/views/cms/email_messages/index.html.erb
582
+ - app/views/cms/email_messages/show.html.erb
583
+ - app/views/cms/file_blocks/_form.html.erb
584
+ - app/views/cms/file_blocks/render.html.erb
585
+ - app/views/cms/forgot_password_mailer/reset_password.text.html.erb
586
+ - app/views/cms/forgot_password_mailer/reset_password.text.plain.erb
587
+ - app/views/cms/form_builder/_cms_check_box.html.erb
588
+ - app/views/cms/form_builder/_cms_date_picker.html.erb
589
+ - app/views/cms/form_builder/_cms_datetime_select.html.erb
590
+ - app/views/cms/form_builder/_cms_drop_down.html.erb
591
+ - app/views/cms/form_builder/_cms_fancy_drop_down.html.erb
592
+ - app/views/cms/form_builder/_cms_file_field.html.erb
593
+ - app/views/cms/form_builder/_cms_instructions.html.erb
594
+ - app/views/cms/form_builder/_cms_tag_list.html.erb
595
+ - app/views/cms/form_builder/_cms_template_editor.html.erb
596
+ - app/views/cms/form_builder/_cms_text_area.html.erb
597
+ - app/views/cms/form_builder/_cms_text_editor.html.erb
598
+ - app/views/cms/form_builder/_cms_text_field.html.erb
599
+ - app/views/cms/groups/_form.html.erb
600
+ - app/views/cms/groups/_permissions.html.erb
601
+ - app/views/cms/groups/_sections.html.erb
602
+ - app/views/cms/groups/edit.html.erb
603
+ - app/views/cms/groups/index.html.erb
604
+ - app/views/cms/groups/new.html.erb
605
+ - app/views/cms/html_blocks/_form.html.erb
606
+ - app/views/cms/html_blocks/render.html.erb
607
+ - app/views/cms/image_blocks/_form.html.erb
608
+ - app/views/cms/image_blocks/render.html.erb
609
+ - app/views/cms/links/_form.html.erb
610
+ - app/views/cms/links/destroy.js.rjs
611
+ - app/views/cms/links/edit.html.erb
612
+ - app/views/cms/links/new.html.erb
613
+ - app/views/cms/menus/_menu.html.erb
614
+ - app/views/cms/menus/_menu_item.html.erb
615
+ - app/views/cms/page_routes/_form.html.erb
616
+ - app/views/cms/page_routes/edit.html.erb
617
+ - app/views/cms/page_routes/index.html.erb
618
+ - app/views/cms/page_routes/new.html.erb
619
+ - app/views/cms/page_routes/show.html.erb
620
+ - app/views/cms/pages/_edit_connector.html.erb
621
+ - app/views/cms/pages/_edit_container.html.erb
622
+ - app/views/cms/pages/_form.html.erb
623
+ - app/views/cms/pages/edit.html.erb
624
+ - app/views/cms/pages/new.html.erb
625
+ - app/views/cms/pages/versions.html.erb
626
+ - app/views/cms/redirects/_form.html.erb
627
+ - app/views/cms/redirects/edit.html.erb
628
+ - app/views/cms/redirects/index.html.erb
629
+ - app/views/cms/redirects/new.html.erb
630
+ - app/views/cms/routes/index.html.erb
631
+ - app/views/cms/section_nodes/_link.html.erb
632
+ - app/views/cms/section_nodes/_node.html.erb
633
+ - app/views/cms/section_nodes/_page.html.erb
634
+ - app/views/cms/section_nodes/_section.html.erb
635
+ - app/views/cms/section_nodes/index.html.erb
636
+ - app/views/cms/sections/_form.html.erb
637
+ - app/views/cms/sections/_page.html.erb
638
+ - app/views/cms/sections/_section.html.erb
639
+ - app/views/cms/sections/destroy.js.rjs
640
+ - app/views/cms/sections/edit.html.erb
641
+ - app/views/cms/sections/file_browser.xml.builder
642
+ - app/views/cms/sections/index.html.erb
643
+ - app/views/cms/sections/new.html.erb
644
+ - app/views/cms/sessions/new.html.erb
645
+ - app/views/cms/shared/_admin_sidebar.html.erb
646
+ - app/views/cms/shared/_exception.html.erb
647
+ - app/views/cms/shared/_pagination.html.erb
648
+ - app/views/cms/shared/_version_conflict_diff.html.erb
649
+ - app/views/cms/shared/_version_conflict_error.html.erb
650
+ - app/views/cms/shared/access_denied.html.erb
651
+ - app/views/cms/shared/error.html.erb
652
+ - app/views/cms/tags/_form.html.erb
653
+ - app/views/cms/tags/render.html.erb
654
+ - app/views/cms/tasks/new.html.erb
655
+ - app/views/cms/toolbar/index.html.erb
656
+ - app/views/cms/users/_form.html.erb
657
+ - app/views/cms/users/_groups.html.erb
658
+ - app/views/cms/users/_password.html.erb
659
+ - app/views/cms/users/_toolbar.html.erb
660
+ - app/views/cms/users/_user_fields.html.erb
661
+ - app/views/cms/users/change_password.html.erb
662
+ - app/views/cms/users/edit.html.erb
663
+ - app/views/cms/users/index.html.erb
664
+ - app/views/cms/users/new.html.erb
665
+ - app/views/cms/users/show.html.erb
666
+ - app/views/layouts/_cms_toolbar.html.erb
667
+ - app/views/layouts/_page_toolbar.html.erb
668
+ - app/views/layouts/application.html.erb
669
+ - app/views/layouts/cms/_footer.erb
670
+ - app/views/layouts/cms/_head.html.erb
671
+ - app/views/layouts/cms/administration.html.erb
672
+ - app/views/layouts/cms/application.html.erb
673
+ - app/views/layouts/cms/content_library.html.erb
674
+ - app/views/layouts/cms/dashboard.html.erb
675
+ - app/views/layouts/cms/login.html.erb
676
+ - app/views/layouts/cms/section_nodes.html.erb
677
+ - app/views/layouts/cms/thickbox.html.erb
678
+ - app/views/layouts/cms/toolbar.html.erb
679
+ - app/views/layouts/templates/default.html.erb
680
+ - app/views/portlets/dynamic/_form.html.erb
681
+ - app/views/portlets/email_page/_form.html.erb
682
+ - app/views/portlets/email_page/render.html.erb
683
+ - app/views/portlets/forgot_password/_form.html.erb
684
+ - app/views/portlets/forgot_password/render.html.erb
685
+ - app/views/portlets/login/_form.html.erb
686
+ - app/views/portlets/login/render.html.erb
687
+ - app/views/portlets/portlets/_form.html.erb
688
+ - app/views/portlets/reset_password/_form.html.erb
689
+ - app/views/portlets/reset_password/render.html.erb
690
+ - app/views/portlets/tag_cloud/_form.html.erb
691
+ - app/views/portlets/tag_cloud/render.html.erb
692
+ - app/views/tests/pretend/open_with_layout.html.erb
693
+ - db/migrate/20080815014337_browsercms_3_0_0.rb
694
+ - db/migrate/20091109175123_browsercms_3_0_5.rb
695
+ - db/migrate/20120117144039_browsercms315.rb
696
+ - db/migrate/20121114172307_load_seeds.rb
697
+ - db/demo/data.rb
698
+ - db/demo/page_partials/_footer.html.erb
699
+ - db/demo/page_partials/_header.html.erb
700
+ - db/demo/page_templates/home_page.html.erb
701
+ - db/demo/page_templates/sub_page.html.erb
664
702
  - lib/acts_as_list.rb
665
703
  - lib/browsercms.rb
666
704
  - lib/cms/acts/content_block.rb
667
705
  - lib/cms/acts/content_page.rb
706
+ - lib/cms/addressable.rb
668
707
  - lib/cms/authentication/controller.rb
669
708
  - lib/cms/authentication/model.rb
670
- - lib/cms/behaviors.rb
671
709
  - lib/cms/behaviors/archiving.rb
672
710
  - lib/cms/behaviors/attaching.rb
673
711
  - lib/cms/behaviors/categorizing.rb
@@ -683,11 +721,12 @@ files:
683
721
  - lib/cms/behaviors/taggable.rb
684
722
  - lib/cms/behaviors/userstamping.rb
685
723
  - lib/cms/behaviors/versioning.rb
724
+ - lib/cms/behaviors.rb
686
725
  - lib/cms/caching.rb
687
726
  - lib/cms/content_rendering_support.rb
688
727
  - lib/cms/data_loader.rb
689
728
  - lib/cms/domain_support.rb
690
- - lib/cms/extensions.rb
729
+ - lib/cms/error_pages.rb
691
730
  - lib/cms/extensions/action_view/base.rb
692
731
  - lib/cms/extensions/active_record/base.rb
693
732
  - lib/cms/extensions/active_record/connection_adapters/abstract/schema_statements.rb
@@ -697,6 +736,7 @@ files:
697
736
  - lib/cms/extensions/integer.rb
698
737
  - lib/cms/extensions/nil.rb
699
738
  - lib/cms/extensions/string.rb
739
+ - lib/cms/extensions.rb
700
740
  - lib/cms/init.rb
701
741
  - lib/cms/routes.rb
702
742
  - lib/cms/version.rb
@@ -706,6 +746,62 @@ files:
706
746
  - lib/tasks/cms.rake
707
747
  - lib/tasks/db.rake
708
748
  - lib/tasks/dev.rake
749
+ - rails_generators/browser_cms/browser_cms_generator.rb
750
+ - rails_generators/browser_cms/templates/README
751
+ - rails_generators/browser_cms/USAGE
752
+ - rails_generators/browser_cms_demo_site/browser_cms_demo_site_generator.rb
753
+ - rails_generators/browser_cms_demo_site/templates/migration.rb
754
+ - rails_generators/browser_cms_demo_site/USAGE
755
+ - rails_generators/content_block/content_block_generator.rb
756
+ - rails_generators/content_block/templates/_form.html.erb
757
+ - rails_generators/content_block/templates/content_block.rb
758
+ - rails_generators/content_block/templates/controller.rb
759
+ - rails_generators/content_block/templates/functional_test.erb
760
+ - rails_generators/content_block/templates/migration.rb
761
+ - rails_generators/content_block/templates/render.html.erb
762
+ - rails_generators/content_block/templates/unit_test.erb
763
+ - rails_generators/content_block/USAGE
764
+ - rails_generators/portlet/portlet_generator.rb
765
+ - rails_generators/portlet/templates/_form.html.erb
766
+ - rails_generators/portlet/templates/portlet.rb
767
+ - rails_generators/portlet/templates/portlet_helper.rb
768
+ - rails_generators/portlet/templates/render.html.erb
769
+ - rails_generators/portlet/templates/unit_test.erb
770
+ - rails_generators/portlet/USAGE
771
+ - rails_generators/template/template_generator.rb
772
+ - rails_generators/template/templates/template.erb
773
+ - rails_generators/template/USAGE
774
+ - public/stylesheets/cms/administration.css
775
+ - public/stylesheets/cms/application.css
776
+ - public/stylesheets/cms/block.css
777
+ - public/stylesheets/cms/buttons.css
778
+ - public/stylesheets/cms/content_library.css
779
+ - public/stylesheets/cms/content_types.css
780
+ - public/stylesheets/cms/dashboard.css
781
+ - public/stylesheets/cms/data_table.css
782
+ - public/stylesheets/cms/date_picker.css
783
+ - public/stylesheets/cms/form_layout.css
784
+ - public/stylesheets/cms/jquery.contextMenu.css
785
+ - public/stylesheets/cms/login.css
786
+ - public/stylesheets/cms/menu.css
787
+ - public/stylesheets/cms/nav.css
788
+ - public/stylesheets/cms/page_toolbar.css
789
+ - public/stylesheets/cms/reset.css
790
+ - public/stylesheets/cms/selectbox.css
791
+ - public/stylesheets/cms/sitemap.css
792
+ - public/stylesheets/cms/taglist.css
793
+ - public/stylesheets/cms/thickbox.css
794
+ - public/javascripts/jquery-ui.js
795
+ - public/javascripts/jquery.contextMenu.js
796
+ - public/javascripts/jquery.cookie.js
797
+ - public/javascripts/jquery.dimensions.js
798
+ - public/javascripts/jquery.js
799
+ - public/javascripts/jquery.selectbox-0.5.js
800
+ - public/javascripts/jquery.taglist.js
801
+ - public/javascripts/jquery.thickbox.js
802
+ - public/javascripts/cms/application.js
803
+ - public/javascripts/cms/content_library.js
804
+ - public/javascripts/cms/sitemap.js
709
805
  - public/bcms/ckeditor/ckeditor.js
710
806
  - public/bcms/ckeditor/config.js
711
807
  - public/bcms/ckeditor/core/_bootstrap.js
@@ -716,7 +812,6 @@ files:
716
812
  - public/bcms/ckeditor/core/command.js
717
813
  - public/bcms/ckeditor/core/commanddefinition.js
718
814
  - public/bcms/ckeditor/core/config.js
719
- - public/bcms/ckeditor/core/dom.js
720
815
  - public/bcms/ckeditor/core/dom/document.js
721
816
  - public/bcms/ckeditor/core/dom/documentfragment.js
722
817
  - public/bcms/ckeditor/core/dom/domobject.js
@@ -729,6 +824,7 @@ files:
729
824
  - public/bcms/ckeditor/core/dom/text.js
730
825
  - public/bcms/ckeditor/core/dom/walker.js
731
826
  - public/bcms/ckeditor/core/dom/window.js
827
+ - public/bcms/ckeditor/core/dom.js
732
828
  - public/bcms/ckeditor/core/dtd.js
733
829
  - public/bcms/ckeditor/core/editor.js
734
830
  - public/bcms/ckeditor/core/editor_basic.js
@@ -736,7 +832,6 @@ files:
736
832
  - public/bcms/ckeditor/core/event.js
737
833
  - public/bcms/ckeditor/core/eventInfo.js
738
834
  - public/bcms/ckeditor/core/focusmanager.js
739
- - public/bcms/ckeditor/core/htmlparser.js
740
835
  - public/bcms/ckeditor/core/htmlparser/basicwriter.js
741
836
  - public/bcms/ckeditor/core/htmlparser/cdata.js
742
837
  - public/bcms/ckeditor/core/htmlparser/comment.js
@@ -744,6 +839,7 @@ files:
744
839
  - public/bcms/ckeditor/core/htmlparser/filter.js
745
840
  - public/bcms/ckeditor/core/htmlparser/fragment.js
746
841
  - public/bcms/ckeditor/core/htmlparser/text.js
842
+ - public/bcms/ckeditor/core/htmlparser.js
747
843
  - public/bcms/ckeditor/core/imagecacher.js
748
844
  - public/bcms/ckeditor/core/lang.js
749
845
  - public/bcms/ckeditor/core/loader.js
@@ -1050,8 +1146,8 @@ files:
1050
1146
  - public/bcms/ckeditor/tests/core/event.html
1051
1147
  - public/bcms/ckeditor/tests/core/htmlparser/fragment.html
1052
1148
  - public/bcms/ckeditor/tests/core/htmlparser/htmlparser.html
1053
- - public/bcms/ckeditor/tests/core/plugins.html
1054
1149
  - public/bcms/ckeditor/tests/core/plugins/myplugins/sample/my_plugin.js
1150
+ - public/bcms/ckeditor/tests/core/plugins.html
1055
1151
  - public/bcms/ckeditor/tests/core/scriptloader.html
1056
1152
  - public/bcms/ckeditor/tests/core/tools.html
1057
1153
  - public/bcms/ckeditor/tests/core/xml.html
@@ -1066,6 +1162,7 @@ files:
1066
1162
  - public/bcms/ckeditor/tests/testall.html
1067
1163
  - public/bcms/ckeditor/tests/yuitest.js
1068
1164
  - public/bcms/ckeditor/themes/default/theme.js
1165
+ - public/site/customconfig.js
1069
1166
  - public/images/cms/administration/user_browser_bg.gif
1070
1167
  - public/images/cms/bg.png
1071
1168
  - public/images/cms/bl_curve.png
@@ -1167,7 +1264,6 @@ files:
1167
1264
  - public/images/cms/lt_button_bg.gif
1168
1265
  - public/images/cms/lt_button_l.gif
1169
1266
  - public/images/cms/lt_button_r.gif
1170
- - public/images/cms/menu.png
1171
1267
  - public/images/cms/menu/block_cap_h.gif
1172
1268
  - public/images/cms/menu/bottom_cap.png
1173
1269
  - public/images/cms/menu/bottom_cap_menu.png
@@ -1176,12 +1272,13 @@ files:
1176
1272
  - public/images/cms/menu/selected_block_cap.gif
1177
1273
  - public/images/cms/menu/top_cap.png
1178
1274
  - public/images/cms/menu/top_cap_menu_header.png
1275
+ - public/images/cms/menu.png
1179
1276
  - public/images/cms/menu_h.gif
1180
1277
  - public/images/cms/menu_header.png
1181
1278
  - public/images/cms/menu_open.png
1182
1279
  - public/images/cms/menu_open_bg.gif
1183
- - public/images/cms/nav.png
1184
1280
  - public/images/cms/nav/on_bg.gif
1281
+ - public/images/cms/nav.png
1185
1282
  - public/images/cms/nav_admin.gif
1186
1283
  - public/images/cms/nav_admin_h.gif
1187
1284
  - public/images/cms/nav_admin_on.gif
@@ -1285,74 +1382,35 @@ files:
1285
1382
  - public/images/cms/user_search_submit.gif
1286
1383
  - public/images/cms/usercontrols_bg.png
1287
1384
  - public/images/cms/usercontrols_bg_cap.png
1288
- - public/javascripts/cms/application.js
1289
- - public/javascripts/cms/content_library.js
1290
- - public/javascripts/cms/sitemap.js
1291
- - public/javascripts/jquery-ui.js
1292
- - public/javascripts/jquery.contextMenu.js
1293
- - public/javascripts/jquery.cookie.js
1294
- - public/javascripts/jquery.dimensions.js
1295
- - public/javascripts/jquery.js
1296
- - public/javascripts/jquery.selectbox-0.5.js
1297
- - public/javascripts/jquery.taglist.js
1298
- - public/javascripts/jquery.thickbox.js
1299
- - public/site/customconfig.js
1300
- - public/stylesheets/cms/administration.css
1301
- - public/stylesheets/cms/application.css
1302
- - public/stylesheets/cms/block.css
1303
- - public/stylesheets/cms/buttons.css
1304
- - public/stylesheets/cms/content_library.css
1305
- - public/stylesheets/cms/content_types.css
1306
- - public/stylesheets/cms/dashboard.css
1307
- - public/stylesheets/cms/data_table.css
1308
- - public/stylesheets/cms/date_picker.css
1309
- - public/stylesheets/cms/form_layout.css
1310
- - public/stylesheets/cms/jquery.contextMenu.css
1311
- - public/stylesheets/cms/login.css
1312
- - public/stylesheets/cms/menu.css
1313
- - public/stylesheets/cms/nav.css
1314
- - public/stylesheets/cms/page_toolbar.css
1315
- - public/stylesheets/cms/reset.css
1316
- - public/stylesheets/cms/selectbox.css
1317
- - public/stylesheets/cms/sitemap.css
1318
- - public/stylesheets/cms/taglist.css
1319
- - public/stylesheets/cms/thickbox.css
1320
1385
  - public/themes/blue_steel/images/logo.jpg
1321
1386
  - public/themes/blue_steel/images/splash.jpg
1322
1387
  - public/themes/blue_steel/stylesheets/style.css
1323
- - rails/init.rb
1324
- - rails_generators/browser_cms/USAGE
1325
- - rails_generators/browser_cms/browser_cms_generator.rb
1326
- - rails_generators/browser_cms/templates/README
1327
- - rails_generators/browser_cms_demo_site/USAGE
1328
- - rails_generators/browser_cms_demo_site/browser_cms_demo_site_generator.rb
1329
- - rails_generators/browser_cms_demo_site/templates/migration.rb
1330
- - rails_generators/content_block/USAGE
1331
- - rails_generators/content_block/content_block_generator.rb
1332
- - rails_generators/content_block/templates/_form.html.erb
1333
- - rails_generators/content_block/templates/content_block.rb
1334
- - rails_generators/content_block/templates/controller.rb
1335
- - rails_generators/content_block/templates/functional_test.erb
1336
- - rails_generators/content_block/templates/migration.rb
1337
- - rails_generators/content_block/templates/render.html.erb
1338
- - rails_generators/content_block/templates/unit_test.erb
1339
- - rails_generators/portlet/USAGE
1340
- - rails_generators/portlet/portlet_generator.rb
1341
- - rails_generators/portlet/templates/_form.html.erb
1342
- - rails_generators/portlet/templates/portlet.rb
1343
- - rails_generators/portlet/templates/portlet_helper.rb
1344
- - rails_generators/portlet/templates/render.html.erb
1345
- - rails_generators/portlet/templates/unit_test.erb
1346
- - rails_generators/template/USAGE
1347
- - rails_generators/template/template_generator.rb
1348
- - rails_generators/template/templates/template.erb
1349
1388
  - templates/blank.rb
1350
1389
  - templates/demo.rb
1351
1390
  - templates/module.rb
1352
- - LICENSE.txt
1353
- - README.markdown
1354
1391
  - test/custom_assertions.rb
1392
+ - test/factories/sitemap_factories.rb
1355
1393
  - test/factories.rb
1394
+ - test/fixtures/connectors.yml
1395
+ - test/fixtures/content_type_groups.yml
1396
+ - test/fixtures/content_types.yml
1397
+ - test/fixtures/dynamic_view_versions.yml
1398
+ - test/fixtures/dynamic_views.yml
1399
+ - test/fixtures/group_permissions.yml
1400
+ - test/fixtures/group_sections.yml
1401
+ - test/fixtures/group_type_permissions.yml
1402
+ - test/fixtures/group_types.yml
1403
+ - test/fixtures/groups.yml
1404
+ - test/fixtures/html_block_versions.yml
1405
+ - test/fixtures/html_blocks.yml
1406
+ - test/fixtures/page_versions.yml
1407
+ - test/fixtures/pages.yml
1408
+ - test/fixtures/permissions.yml
1409
+ - test/fixtures/section_nodes.yml
1410
+ - test/fixtures/sections.yml
1411
+ - test/fixtures/sites.yml
1412
+ - test/fixtures/user_group_memberships.yml
1413
+ - test/fixtures/users.yml
1356
1414
  - test/functional/cms/cache_controller_test.rb
1357
1415
  - test/functional/cms/categories_controller_test.rb
1358
1416
  - test/functional/cms/connectors_controller_test.rb
@@ -1378,13 +1436,90 @@ files:
1378
1436
  - test/integration/cms/ckeditor_test.rb
1379
1437
  - test/integration/cms/password_management_test.rb
1380
1438
  - test/integration/login_test.rb
1439
+ - test/integration/sitemap_performance_test.rb
1440
+ - test/selenium/_login_as_cmsadmin.rsel
1441
+ - test/selenium/dashboard.rsel
1442
+ - test/selenium/html_blocks.rsel
1443
+ - test/selenium/login/failed_login.rsel
1444
+ - test/selenium/login/successful_login.rsel
1445
+ - test/selenium/page_templates.rsel
1446
+ - test/selenium/pages/edit_properties.rsel
1447
+ - test/selenium/site/view_home_page.rsel
1448
+ - test/selenium/sitemap/move_page.rsel
1449
+ - test/selenium/sitemap/open_section.rsel
1450
+ - test/selenium/sitemap/select_page.rsel
1451
+ - test/selenium/sitemap/select_section.rsel
1452
+ - test/selenium-core/Blank.html
1453
+ - test/selenium-core/domviewer/butmin.gif
1454
+ - test/selenium-core/domviewer/butplus.gif
1455
+ - test/selenium-core/domviewer/domviewer.css
1456
+ - test/selenium-core/domviewer/domviewer.html
1457
+ - test/selenium-core/domviewer/selenium-domviewer.js
1458
+ - test/selenium-core/icons/all.png
1459
+ - test/selenium-core/icons/continue.png
1460
+ - test/selenium-core/icons/continue_disabled.png
1461
+ - test/selenium-core/icons/pause.png
1462
+ - test/selenium-core/icons/pause_disabled.png
1463
+ - test/selenium-core/icons/selected.png
1464
+ - test/selenium-core/icons/step.png
1465
+ - test/selenium-core/icons/step_disabled.png
1466
+ - test/selenium-core/iedoc-core.xml
1467
+ - test/selenium-core/iedoc.xml
1468
+ - test/selenium-core/InjectedRemoteRunner.html
1469
+ - test/selenium-core/lib/cssQuery/cssQuery-p.js
1470
+ - test/selenium-core/lib/cssQuery/src/cssQuery-level2.js
1471
+ - test/selenium-core/lib/cssQuery/src/cssQuery-level3.js
1472
+ - test/selenium-core/lib/cssQuery/src/cssQuery-standard.js
1473
+ - test/selenium-core/lib/cssQuery/src/cssQuery.js
1474
+ - test/selenium-core/lib/prototype.js
1475
+ - test/selenium-core/lib/scriptaculous/builder.js
1476
+ - test/selenium-core/lib/scriptaculous/controls.js
1477
+ - test/selenium-core/lib/scriptaculous/dragdrop.js
1478
+ - test/selenium-core/lib/scriptaculous/effects.js
1479
+ - test/selenium-core/lib/scriptaculous/scriptaculous.js
1480
+ - test/selenium-core/lib/scriptaculous/slider.js
1481
+ - test/selenium-core/lib/scriptaculous/unittest.js
1482
+ - test/selenium-core/RemoteRunner.html
1483
+ - test/selenium-core/scripts/find_matching_child.js
1484
+ - test/selenium-core/scripts/htmlutils.js
1485
+ - test/selenium-core/scripts/injection.html
1486
+ - test/selenium-core/scripts/js2html.js
1487
+ - test/selenium-core/scripts/narcissus-defs.js
1488
+ - test/selenium-core/scripts/narcissus-exec.js
1489
+ - test/selenium-core/scripts/narcissus-parse.js
1490
+ - test/selenium-core/scripts/se2html.js
1491
+ - test/selenium-core/scripts/selenium-api.js
1492
+ - test/selenium-core/scripts/selenium-browserbot.js
1493
+ - test/selenium-core/scripts/selenium-browserdetect.js
1494
+ - test/selenium-core/scripts/selenium-commandhandlers.js
1495
+ - test/selenium-core/scripts/selenium-executionloop.js
1496
+ - test/selenium-core/scripts/selenium-logging.js
1497
+ - test/selenium-core/scripts/selenium-remoterunner.js
1498
+ - test/selenium-core/scripts/selenium-testrunner.js
1499
+ - test/selenium-core/scripts/selenium-version.js
1500
+ - test/selenium-core/scripts/user-extensions.js
1501
+ - test/selenium-core/scripts/user-extensions.js.sample
1502
+ - test/selenium-core/scripts/xmlextras.js
1503
+ - test/selenium-core/selenium-logo.png
1504
+ - test/selenium-core/selenium-test.css
1505
+ - test/selenium-core/selenium.css
1506
+ - test/selenium-core/SeleniumLog.html
1507
+ - test/selenium-core/TestPrompt.html
1508
+ - test/selenium-core/TestRunner-splash.html
1509
+ - test/selenium-core/TestRunner.hta
1510
+ - test/selenium-core/TestRunner.html
1511
+ - test/selenium-core/xpath/dom.js
1512
+ - test/selenium-core/xpath/misc.js
1513
+ - test/selenium-core/xpath/xpath.js
1381
1514
  - test/test_helper.rb
1382
1515
  - test/test_logging.rb
1383
1516
  - test/unit/behaviors/attaching_test.rb
1517
+ - test/unit/behaviors/connectable_test.rb
1384
1518
  - test/unit/behaviors/dynamic_attributes_test.rb
1385
1519
  - test/unit/behaviors/publishable_test.rb
1386
1520
  - test/unit/behaviors/searching_test.rb
1387
1521
  - test/unit/behaviors/taggable_test.rb
1522
+ - test/unit/behaviors/versioning_test.rb
1388
1523
  - test/unit/extensions/active_record/base_test.rb
1389
1524
  - test/unit/extensions/hash_test.rb
1390
1525
  - test/unit/extensions/integer_test.rb
@@ -1395,6 +1530,7 @@ files:
1395
1530
  - test/unit/helpers/path_helper_test.rb
1396
1531
  - test/unit/lib/acts_as_content_page_test.rb
1397
1532
  - test/unit/lib/cms/authentication/controller_test.rb
1533
+ - test/unit/lib/cms/sitemap_test.rb
1398
1534
  - test/unit/lib/cms_domain_support_test.rb
1399
1535
  - test/unit/lib/command_line_test.rb
1400
1536
  - test/unit/lib/content_block_test.rb
@@ -1417,14 +1553,11 @@ files:
1417
1553
  - test/unit/models/page_test.rb
1418
1554
  - test/unit/models/permission_test.rb
1419
1555
  - test/unit/models/portlet_test.rb
1420
- - test/unit/models/section_node_test.rb
1421
1556
  - test/unit/models/sections_test.rb
1422
1557
  - test/unit/models/site_test.rb
1423
1558
  - test/unit/models/task_test.rb
1424
1559
  - test/unit/models/user_test.rb
1425
1560
  - test/unit/schema_statements_test.rb
1426
- - bin/browsercms
1427
- - bin/bcms
1428
1561
  has_rdoc: true
1429
1562
  homepage: http://www.browsercms.org
1430
1563
  licenses: []
@@ -1455,13 +1588,34 @@ required_rubygems_version: !ruby/object:Gem::Requirement
1455
1588
  requirements: []
1456
1589
 
1457
1590
  rubyforge_project: browsercms
1458
- rubygems_version: 1.6.2
1591
+ rubygems_version: 1.5.2
1459
1592
  signing_key:
1460
1593
  specification_version: 3
1461
1594
  summary: BrowserCMS is a general purpose, open source Web Content Management System (CMS) written in Ruby on Rails. Designed for web developers who want to create great looking websites while using standard Rails tools for customizing it.
1462
1595
  test_files:
1463
1596
  - test/custom_assertions.rb
1597
+ - test/factories/sitemap_factories.rb
1464
1598
  - test/factories.rb
1599
+ - test/fixtures/connectors.yml
1600
+ - test/fixtures/content_type_groups.yml
1601
+ - test/fixtures/content_types.yml
1602
+ - test/fixtures/dynamic_view_versions.yml
1603
+ - test/fixtures/dynamic_views.yml
1604
+ - test/fixtures/group_permissions.yml
1605
+ - test/fixtures/group_sections.yml
1606
+ - test/fixtures/group_type_permissions.yml
1607
+ - test/fixtures/group_types.yml
1608
+ - test/fixtures/groups.yml
1609
+ - test/fixtures/html_block_versions.yml
1610
+ - test/fixtures/html_blocks.yml
1611
+ - test/fixtures/page_versions.yml
1612
+ - test/fixtures/pages.yml
1613
+ - test/fixtures/permissions.yml
1614
+ - test/fixtures/section_nodes.yml
1615
+ - test/fixtures/sections.yml
1616
+ - test/fixtures/sites.yml
1617
+ - test/fixtures/user_group_memberships.yml
1618
+ - test/fixtures/users.yml
1465
1619
  - test/functional/cms/cache_controller_test.rb
1466
1620
  - test/functional/cms/categories_controller_test.rb
1467
1621
  - test/functional/cms/connectors_controller_test.rb
@@ -1487,13 +1641,90 @@ test_files:
1487
1641
  - test/integration/cms/ckeditor_test.rb
1488
1642
  - test/integration/cms/password_management_test.rb
1489
1643
  - test/integration/login_test.rb
1644
+ - test/integration/sitemap_performance_test.rb
1645
+ - test/selenium/_login_as_cmsadmin.rsel
1646
+ - test/selenium/dashboard.rsel
1647
+ - test/selenium/html_blocks.rsel
1648
+ - test/selenium/login/failed_login.rsel
1649
+ - test/selenium/login/successful_login.rsel
1650
+ - test/selenium/page_templates.rsel
1651
+ - test/selenium/pages/edit_properties.rsel
1652
+ - test/selenium/site/view_home_page.rsel
1653
+ - test/selenium/sitemap/move_page.rsel
1654
+ - test/selenium/sitemap/open_section.rsel
1655
+ - test/selenium/sitemap/select_page.rsel
1656
+ - test/selenium/sitemap/select_section.rsel
1657
+ - test/selenium-core/Blank.html
1658
+ - test/selenium-core/domviewer/butmin.gif
1659
+ - test/selenium-core/domviewer/butplus.gif
1660
+ - test/selenium-core/domviewer/domviewer.css
1661
+ - test/selenium-core/domviewer/domviewer.html
1662
+ - test/selenium-core/domviewer/selenium-domviewer.js
1663
+ - test/selenium-core/icons/all.png
1664
+ - test/selenium-core/icons/continue.png
1665
+ - test/selenium-core/icons/continue_disabled.png
1666
+ - test/selenium-core/icons/pause.png
1667
+ - test/selenium-core/icons/pause_disabled.png
1668
+ - test/selenium-core/icons/selected.png
1669
+ - test/selenium-core/icons/step.png
1670
+ - test/selenium-core/icons/step_disabled.png
1671
+ - test/selenium-core/iedoc-core.xml
1672
+ - test/selenium-core/iedoc.xml
1673
+ - test/selenium-core/InjectedRemoteRunner.html
1674
+ - test/selenium-core/lib/cssQuery/cssQuery-p.js
1675
+ - test/selenium-core/lib/cssQuery/src/cssQuery-level2.js
1676
+ - test/selenium-core/lib/cssQuery/src/cssQuery-level3.js
1677
+ - test/selenium-core/lib/cssQuery/src/cssQuery-standard.js
1678
+ - test/selenium-core/lib/cssQuery/src/cssQuery.js
1679
+ - test/selenium-core/lib/prototype.js
1680
+ - test/selenium-core/lib/scriptaculous/builder.js
1681
+ - test/selenium-core/lib/scriptaculous/controls.js
1682
+ - test/selenium-core/lib/scriptaculous/dragdrop.js
1683
+ - test/selenium-core/lib/scriptaculous/effects.js
1684
+ - test/selenium-core/lib/scriptaculous/scriptaculous.js
1685
+ - test/selenium-core/lib/scriptaculous/slider.js
1686
+ - test/selenium-core/lib/scriptaculous/unittest.js
1687
+ - test/selenium-core/RemoteRunner.html
1688
+ - test/selenium-core/scripts/find_matching_child.js
1689
+ - test/selenium-core/scripts/htmlutils.js
1690
+ - test/selenium-core/scripts/injection.html
1691
+ - test/selenium-core/scripts/js2html.js
1692
+ - test/selenium-core/scripts/narcissus-defs.js
1693
+ - test/selenium-core/scripts/narcissus-exec.js
1694
+ - test/selenium-core/scripts/narcissus-parse.js
1695
+ - test/selenium-core/scripts/se2html.js
1696
+ - test/selenium-core/scripts/selenium-api.js
1697
+ - test/selenium-core/scripts/selenium-browserbot.js
1698
+ - test/selenium-core/scripts/selenium-browserdetect.js
1699
+ - test/selenium-core/scripts/selenium-commandhandlers.js
1700
+ - test/selenium-core/scripts/selenium-executionloop.js
1701
+ - test/selenium-core/scripts/selenium-logging.js
1702
+ - test/selenium-core/scripts/selenium-remoterunner.js
1703
+ - test/selenium-core/scripts/selenium-testrunner.js
1704
+ - test/selenium-core/scripts/selenium-version.js
1705
+ - test/selenium-core/scripts/user-extensions.js
1706
+ - test/selenium-core/scripts/user-extensions.js.sample
1707
+ - test/selenium-core/scripts/xmlextras.js
1708
+ - test/selenium-core/selenium-logo.png
1709
+ - test/selenium-core/selenium-test.css
1710
+ - test/selenium-core/selenium.css
1711
+ - test/selenium-core/SeleniumLog.html
1712
+ - test/selenium-core/TestPrompt.html
1713
+ - test/selenium-core/TestRunner-splash.html
1714
+ - test/selenium-core/TestRunner.hta
1715
+ - test/selenium-core/TestRunner.html
1716
+ - test/selenium-core/xpath/dom.js
1717
+ - test/selenium-core/xpath/misc.js
1718
+ - test/selenium-core/xpath/xpath.js
1490
1719
  - test/test_helper.rb
1491
1720
  - test/test_logging.rb
1492
1721
  - test/unit/behaviors/attaching_test.rb
1722
+ - test/unit/behaviors/connectable_test.rb
1493
1723
  - test/unit/behaviors/dynamic_attributes_test.rb
1494
1724
  - test/unit/behaviors/publishable_test.rb
1495
1725
  - test/unit/behaviors/searching_test.rb
1496
1726
  - test/unit/behaviors/taggable_test.rb
1727
+ - test/unit/behaviors/versioning_test.rb
1497
1728
  - test/unit/extensions/active_record/base_test.rb
1498
1729
  - test/unit/extensions/hash_test.rb
1499
1730
  - test/unit/extensions/integer_test.rb
@@ -1504,6 +1735,7 @@ test_files:
1504
1735
  - test/unit/helpers/path_helper_test.rb
1505
1736
  - test/unit/lib/acts_as_content_page_test.rb
1506
1737
  - test/unit/lib/cms/authentication/controller_test.rb
1738
+ - test/unit/lib/cms/sitemap_test.rb
1507
1739
  - test/unit/lib/cms_domain_support_test.rb
1508
1740
  - test/unit/lib/command_line_test.rb
1509
1741
  - test/unit/lib/content_block_test.rb
@@ -1526,7 +1758,6 @@ test_files:
1526
1758
  - test/unit/models/page_test.rb
1527
1759
  - test/unit/models/permission_test.rb
1528
1760
  - test/unit/models/portlet_test.rb
1529
- - test/unit/models/section_node_test.rb
1530
1761
  - test/unit/models/sections_test.rb
1531
1762
  - test/unit/models/site_test.rb
1532
1763
  - test/unit/models/task_test.rb