radiant 0.6.3 → 0.6.4

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of radiant might be problematic. Click here for more details.

Files changed (197) hide show
  1. data/CHANGELOG +61 -7
  2. data/CONTRIBUTORS +15 -0
  3. data/app/controllers/admin/export_controller.rb +1 -1
  4. data/app/controllers/admin/page_controller.rb +1 -0
  5. data/app/controllers/admin/user_controller.rb +2 -1
  6. data/app/controllers/application.rb +7 -8
  7. data/app/helpers/admin/node_helper.rb +84 -0
  8. data/app/helpers/admin/page_helper.rb +1 -19
  9. data/app/helpers/application_helper.rb +15 -9
  10. data/app/models/file_not_found_page.rb +2 -2
  11. data/app/models/page.rb +22 -18
  12. data/app/models/page_context.rb +9 -0
  13. data/app/models/radiant/config.rb +4 -2
  14. data/app/models/response_cache.rb +18 -12
  15. data/app/models/standard_tags.rb +111 -50
  16. data/app/views/admin/extension/index.rhtml +2 -2
  17. data/app/views/admin/layout/edit.rhtml +2 -2
  18. data/app/views/admin/layout/remove.rhtml +2 -2
  19. data/app/views/admin/page/_node.rhtml +4 -26
  20. data/app/views/admin/page/_part.rhtml +9 -14
  21. data/app/views/admin/page/edit.rhtml +38 -121
  22. data/app/views/admin/page/index.rhtml +2 -6
  23. data/app/views/admin/page/remove.rhtml +2 -2
  24. data/app/views/admin/snippet/edit.rhtml +3 -3
  25. data/app/views/admin/snippet/index.rhtml +2 -2
  26. data/app/views/admin/snippet/remove.rhtml +2 -2
  27. data/app/views/admin/user/edit.rhtml +4 -4
  28. data/app/views/admin/user/preferences.rhtml +2 -2
  29. data/app/views/admin/welcome/login.rhtml +1 -1
  30. data/config/environment.rb +79 -78
  31. data/db/schema.rb +2 -0
  32. data/lib/local_time.rb +12 -0
  33. data/lib/plugins/extension_patches/lib/fixture_loading_extension.rb +1 -1
  34. data/lib/plugins/extension_patches/lib/mailer_view_paths_extension.rb +3 -3
  35. data/lib/radiant.rb +1 -1
  36. data/lib/radiant/extension.rb +9 -3
  37. data/lib/radiant/extension_loader.rb +2 -2
  38. data/lib/tasks/extensions.rake +23 -8
  39. data/public/javascripts/admin.js +89 -0
  40. data/public/javascripts/controls.js +486 -354
  41. data/public/javascripts/dragdrop.js +90 -58
  42. data/public/javascripts/effects.js +398 -364
  43. data/public/javascripts/pngfix.js +37 -37
  44. data/public/javascripts/prototype.js +2764 -1095
  45. data/public/javascripts/ruledtable.js +10 -25
  46. data/public/javascripts/sitemap.js +74 -112
  47. data/public/javascripts/string.js +1 -7
  48. data/public/javascripts/tabcontrol.js +71 -86
  49. data/public/javascripts/tag_reference_search.js +19 -26
  50. data/public/stylesheets/admin/main.css +11 -5
  51. data/test/fixtures/extensions/01_basic/lib/new_module.rb +2 -0
  52. data/test/fixtures/page_parts.yml +16 -1
  53. data/test/fixtures/pages.yml +47 -84
  54. data/test/functional/extension_initialization_test.rb +11 -0
  55. data/test/helpers/login_test_helper.rb +12 -1
  56. data/test/helpers/page_test_helper.rb +6 -0
  57. data/test/helpers/render_test_helper.rb +11 -8
  58. data/test/test_helper.rb +1 -12
  59. data/test/unit/file_not_found_page_test.rb +5 -1
  60. data/test/unit/local_time_test.rb +45 -0
  61. data/test/unit/page_context_test.rb +32 -1
  62. data/test/unit/page_test.rb +45 -11
  63. data/test/unit/radiant/config_test.rb +1 -1
  64. data/test/unit/response_cache_test.rb +27 -2
  65. data/test/unit/standard_tags_test.rb +60 -15
  66. data/vendor/extensions/archive/README +29 -0
  67. data/vendor/extensions/archive/Rakefile +25 -0
  68. data/{app → vendor/extensions/archive/app}/models/archive_day_index_page.rb +0 -0
  69. data/{app → vendor/extensions/archive/app}/models/archive_finder.rb +8 -6
  70. data/{app → vendor/extensions/archive/app}/models/archive_month_index_page.rb +0 -0
  71. data/{app → vendor/extensions/archive/app}/models/archive_page.rb +0 -0
  72. data/{app → vendor/extensions/archive/app}/models/archive_year_index_page.rb +0 -0
  73. data/vendor/extensions/archive/archive_extension.rb +19 -0
  74. data/{lib → vendor/extensions/archive/lib}/archive_index_tags_and_methods.rb +0 -0
  75. data/vendor/extensions/archive/lib/tasks/archive_extension_tasks.rake +28 -0
  76. data/vendor/extensions/archive/test/fixtures/pages.yml +397 -0
  77. data/vendor/extensions/archive/test/functional/archive_extension_test.rb +16 -0
  78. data/{test → vendor/extensions/archive/test}/helpers/archive_index_test_helper.rb +0 -0
  79. data/vendor/extensions/archive/test/test_helper.rb +19 -0
  80. data/{test → vendor/extensions/archive/test}/unit/archive_day_index_page_test.rb +0 -0
  81. data/{test → vendor/extensions/archive/test}/unit/archive_month_index_page_test.rb +0 -0
  82. data/{test → vendor/extensions/archive/test}/unit/archive_page_test.rb +7 -1
  83. data/{test → vendor/extensions/archive/test}/unit/archive_year_index_page_test.rb +0 -0
  84. data/vendor/rails/actionmailer/CHANGELOG +10 -0
  85. data/vendor/rails/actionmailer/Rakefile +1 -1
  86. data/vendor/rails/actionmailer/lib/action_mailer/version.rb +1 -1
  87. data/vendor/rails/actionpack/CHANGELOG +51 -2
  88. data/vendor/rails/actionpack/Rakefile +1 -1
  89. data/vendor/rails/actionpack/lib/action_controller/assertions/dom_assertions.rb +2 -2
  90. data/vendor/rails/actionpack/lib/action_controller/assertions/model_assertions.rb +1 -1
  91. data/vendor/rails/actionpack/lib/action_controller/assertions/response_assertions.rb +3 -0
  92. data/vendor/rails/actionpack/lib/action_controller/assertions/routing_assertions.rb +1 -0
  93. data/vendor/rails/actionpack/lib/action_controller/assertions/selector_assertions.rb +2 -0
  94. data/vendor/rails/actionpack/lib/action_controller/base.rb +7 -1
  95. data/vendor/rails/actionpack/lib/action_controller/caching.rb +39 -38
  96. data/vendor/rails/actionpack/lib/action_controller/cgi_ext/pstore_performance_fix.rb +30 -0
  97. data/vendor/rails/actionpack/lib/action_controller/cgi_ext/raw_post_data_fix.rb +1 -1
  98. data/vendor/rails/actionpack/lib/action_controller/cgi_process.rb +13 -4
  99. data/vendor/rails/actionpack/lib/action_controller/cookies.rb +5 -3
  100. data/vendor/rails/actionpack/lib/action_controller/filters.rb +176 -77
  101. data/vendor/rails/actionpack/lib/action_controller/integration.rb +31 -21
  102. data/vendor/rails/actionpack/lib/action_controller/macros/in_place_editing.rb +1 -1
  103. data/vendor/rails/actionpack/lib/action_controller/pagination.rb +7 -1
  104. data/vendor/rails/actionpack/lib/action_controller/resources.rb +117 -32
  105. data/vendor/rails/actionpack/lib/action_controller/routing.rb +56 -23
  106. data/vendor/rails/actionpack/lib/action_controller/test_process.rb +5 -2
  107. data/vendor/rails/actionpack/lib/action_controller/url_rewriter.rb +4 -1
  108. data/vendor/rails/actionpack/lib/action_controller/verification.rb +1 -0
  109. data/vendor/rails/actionpack/lib/action_pack/version.rb +1 -1
  110. data/vendor/rails/actionpack/lib/action_view/base.rb +25 -19
  111. data/vendor/rails/actionpack/lib/action_view/compiled_templates.rb +2 -2
  112. data/vendor/rails/actionpack/lib/action_view/helpers/active_record_helper.rb +18 -18
  113. data/vendor/rails/actionpack/lib/action_view/helpers/debug_helper.rb +10 -0
  114. data/vendor/rails/actionpack/lib/action_view/helpers/deprecated_helper.rb +3 -0
  115. data/vendor/rails/actionpack/lib/action_view/helpers/prototype_helper.rb +33 -17
  116. data/vendor/rails/actionpack/test/activerecord/pagination_test.rb +9 -0
  117. data/vendor/rails/actionpack/test/controller/action_pack_assertions_test.rb +13 -0
  118. data/vendor/rails/actionpack/test/controller/addresses_render_test.rb +4 -1
  119. data/vendor/rails/actionpack/test/controller/base_test.rb +1 -1
  120. data/vendor/rails/actionpack/test/controller/caching_test.rb +3 -2
  121. data/vendor/rails/actionpack/test/controller/cookie_test.rb +11 -0
  122. data/vendor/rails/actionpack/test/controller/deprecation/deprecated_base_methods_test.rb +18 -0
  123. data/vendor/rails/actionpack/test/controller/filter_params_test.rb +1 -0
  124. data/vendor/rails/actionpack/test/controller/filters_test.rb +149 -26
  125. data/vendor/rails/actionpack/test/controller/integration_test.rb +93 -8
  126. data/vendor/rails/actionpack/test/controller/resources_test.rb +215 -36
  127. data/vendor/rails/actionpack/test/controller/routing_test.rb +2 -2
  128. data/vendor/rails/actionpack/test/controller/test_test.rb +16 -0
  129. data/vendor/rails/actionpack/test/controller/url_rewriter_test.rb +66 -10
  130. data/vendor/rails/actionpack/test/controller/verification_test.rb +15 -0
  131. data/vendor/rails/actionpack/test/fixtures/test/hello_world.rxml +2 -1
  132. data/vendor/rails/actionpack/test/template/asset_tag_helper_test.rb +5 -0
  133. data/vendor/rails/actionpack/test/template/compiled_templates_test.rb +29 -17
  134. data/vendor/rails/actionpack/test/template/javascript_helper_test.rb +4 -4
  135. data/vendor/rails/actionpack/test/template/number_helper_test.rb +1 -1
  136. data/vendor/rails/actionpack/test/template/prototype_helper_test.rb +13 -13
  137. data/vendor/rails/actionwebservice/CHANGELOG +14 -0
  138. data/vendor/rails/actionwebservice/Rakefile +2 -2
  139. data/vendor/rails/actionwebservice/lib/action_web_service/version.rb +1 -1
  140. data/vendor/rails/activerecord/CHANGELOG +34 -0
  141. data/vendor/rails/activerecord/Rakefile +1 -1
  142. data/vendor/rails/activerecord/lib/active_record/acts/list.rb +14 -2
  143. data/vendor/rails/activerecord/lib/active_record/acts/tree.rb +7 -0
  144. data/vendor/rails/activerecord/lib/active_record/associations.rb +29 -14
  145. data/vendor/rails/activerecord/lib/active_record/associations/association_collection.rb +5 -1
  146. data/vendor/rails/activerecord/lib/active_record/associations/has_many_association.rb +2 -2
  147. data/vendor/rails/activerecord/lib/active_record/associations/has_many_through_association.rb +10 -0
  148. data/vendor/rails/activerecord/lib/active_record/base.rb +12 -3
  149. data/vendor/rails/activerecord/lib/active_record/calculations.rb +2 -2
  150. data/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/quoting.rb +1 -1
  151. data/vendor/rails/activerecord/lib/active_record/connection_adapters/oracle_adapter.rb +1 -0
  152. data/vendor/rails/activerecord/lib/active_record/connection_adapters/sqlite_adapter.rb +2 -2
  153. data/vendor/rails/activerecord/lib/active_record/connection_adapters/sqlserver_adapter.rb +54 -38
  154. data/vendor/rails/activerecord/lib/active_record/deprecated_finders.rb +3 -3
  155. data/vendor/rails/activerecord/lib/active_record/fixtures.rb +1 -1
  156. data/vendor/rails/activerecord/lib/active_record/timestamp.rb +0 -9
  157. data/vendor/rails/activerecord/lib/active_record/version.rb +1 -1
  158. data/vendor/rails/activerecord/test/associations/eager_test.rb +13 -0
  159. data/vendor/rails/activerecord/test/associations/join_model_test.rb +10 -1
  160. data/vendor/rails/activerecord/test/associations_test.rb +36 -3
  161. data/vendor/rails/activerecord/test/base_test.rb +17 -4
  162. data/vendor/rails/activerecord/test/defaults_test.rb +15 -0
  163. data/vendor/rails/activerecord/test/fixtures/author.rb +1 -0
  164. data/vendor/rails/activerecord/test/fixtures/binaries.yml +437 -0
  165. data/vendor/rails/activerecord/test/fixtures/db_definitions/schema.rb +13 -0
  166. data/vendor/rails/activerecord/test/fixtures/developer.rb +10 -0
  167. data/vendor/rails/activerecord/test/fixtures_test.rb +9 -5
  168. data/vendor/rails/activerecord/test/migration_test.rb +9 -10
  169. data/vendor/rails/activerecord/test/mixin_test.rb +47 -0
  170. data/vendor/rails/activerecord/test/validations_test.rb +2 -2
  171. data/vendor/rails/activesupport/CHANGELOG +16 -0
  172. data/vendor/rails/activesupport/lib/active_support/core_ext/blank.rb +9 -3
  173. data/vendor/rails/activesupport/lib/active_support/core_ext/hash/conversions.rb +48 -3
  174. data/vendor/rails/activesupport/lib/active_support/core_ext/module/introspection.rb +14 -0
  175. data/vendor/rails/activesupport/lib/active_support/dependencies.rb +3 -3
  176. data/vendor/rails/activesupport/lib/active_support/json/encoders/core.rb +5 -3
  177. data/vendor/rails/activesupport/lib/active_support/multibyte/chars.rb +6 -6
  178. data/vendor/rails/activesupport/lib/active_support/version.rb +1 -1
  179. data/vendor/rails/activesupport/test/core_ext/hash_ext_test.rb +37 -0
  180. data/vendor/rails/activesupport/test/core_ext/module_test.rb +8 -0
  181. data/vendor/rails/activesupport/test/dependencies_test.rb +11 -0
  182. data/vendor/rails/activesupport/test/{json.rb → json_test.rb} +15 -5
  183. data/vendor/rails/railties/CHANGELOG +25 -1
  184. data/vendor/rails/railties/README +32 -3
  185. data/vendor/rails/railties/Rakefile +5 -5
  186. data/vendor/rails/railties/environments/boot.rb +12 -18
  187. data/vendor/rails/railties/environments/environment.rb +15 -15
  188. data/vendor/rails/railties/lib/dispatcher.rb +1 -2
  189. data/vendor/rails/railties/lib/initializer.rb +33 -9
  190. data/vendor/rails/railties/lib/rails/version.rb +1 -1
  191. data/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/scaffold_generator.rb +1 -1
  192. data/vendor/rails/railties/lib/rails_generator/generators/components/scaffold_resource/scaffold_resource_generator.rb +1 -0
  193. data/vendor/rails/railties/lib/railties_path.rb +1 -1
  194. data/vendor/rails/railties/lib/tasks/framework.rake +4 -4
  195. data/vendor/rails/railties/lib/tasks/routes.rake +17 -0
  196. data/vendor/rails/release.rb +2 -2
  197. metadata +1877 -1848
@@ -17,7 +17,7 @@
17
17
  <thead>
18
18
  <tr>
19
19
  <th class="extension">Extension</th>
20
- <th class="website">Website</td>
20
+ <th class="website">Website</th>
21
21
  <th class="version">Version</th>
22
22
  <th class="enabled">Enabled</th>
23
23
  </tr>
@@ -42,4 +42,4 @@
42
42
  // <![CDATA[
43
43
  new RuledTable('extensions');
44
44
  // ]]>
45
- </script>
45
+ </script>
@@ -4,7 +4,7 @@
4
4
  <h1>Edit Layout</h1>
5
5
  <% end -%>
6
6
 
7
- <form method="post">
7
+ <form method="post" action="">
8
8
  <%= hidden_field "layout", "lock_version" %>
9
9
  <div class="form-area">
10
10
  <p class="title">
@@ -36,4 +36,4 @@
36
36
  </p>
37
37
  </form>
38
38
 
39
- <%= focus 'layout_name' %>
39
+ <%= focus 'layout_name' %>
@@ -12,6 +12,6 @@
12
12
  </tbody>
13
13
  </table>
14
14
 
15
- <form method="post">
15
+ <form method="post" action="">
16
16
  <p class="buttons"><%= submit_tag "Delete Layout", :class => 'button' %> or <%= link_to 'Cancel', layout_index_url %></p>
17
- </form>
17
+ </form>
@@ -1,32 +1,11 @@
1
- <%
2
- count = page.children.count
3
- children = count > 0
4
- expanded = show_all? || expanded_rows.include?(page.id)
5
- padding_left = (level * 22) + 4
6
-
7
- children_class = children ? (expanded ? ' children-visible' : ' children-hidden') : ' no-children'
8
- virtual_class = page.virtual? ? " virtual": ""
9
-
10
- expander = children ? image((expanded ? "collapse" : "expand"), :class => "expander", :alt => 'toggle children', :title => '') : ""
11
-
12
- icon_name = page.virtual? ? "virtual-page" : "page"
13
- icon = image(icon_name, :class => "icon", :alt => 'page-icon', :title => '')
14
-
15
- title = %{<span class="title">#{ page.title }</span>}
16
-
17
- display_name = page.class.display_name
18
- page_type = display_name == 'Page' ? '' : %{<small class="info">(#{ display_name })</small>}
19
-
20
- spinner = image('spinner.gif', :class => 'busy', :id => "busy-#{page.id}", :alt => "", :title => "", :style => 'display: none;')
21
- -%>
22
1
  <tr id="page-<%= page.id %>" class="node level-<%= level %><%= children_class %><%= virtual_class %>">
23
- <td class="page" style="padding-left: <%= padding_left %>px">
2
+ <td class="page" style="padding-left: <%= padding_left(level) %>px">
24
3
  <span class="w1">
25
4
  <% if simple -%>
26
5
  <%= icon %>
27
- <%= title %>
6
+ <%= node_title %>
28
7
  <% else -%>
29
- <%= expander %><a href="<%= page_edit_url(:id => page) %>" title="<%= page.url %>"><%= icon %> <%= title %></a>
8
+ <%= expander %><a href="<%= page_edit_url(:id => page) %>" title="<%= page.url %>"><%= icon %> <%= node_title %></a>
30
9
  <%= page_type %>
31
10
  <%= spinner %>
32
11
  <% end -%>
@@ -38,12 +17,11 @@ spinner = image('spinner.gif', :class => 'busy', :id => "busy-#{page.id}", :alt
38
17
  <td class="remove"><%= link_to image('remove', :alt => 'remove page'), page_remove_url(:id => page) %></td>
39
18
  <% end -%>
40
19
  </tr>
41
- <% level = level + 1 -%>
42
20
  <%
43
21
  if expanded
44
22
  page.children.each do |child|
45
23
  -%>
46
- <%= render_node child, :level => level, :simple => simple -%>
24
+ <%= render_node child, :level => level + 1, :simple => simple -%>
47
25
  <%
48
26
  end
49
27
  end
@@ -1,18 +1,13 @@
1
- <%
2
- @part = part
3
- @index = (params[:index] || @index || 1).to_i
4
- -%>
5
- <div class="page" id="page-<%= @index %>">
6
- <div class="part" id="part-<%= @index %>">
7
- <%= hidden_field_tag "part[#{@index - 1}][name]", @part.name %>
1
+ <% @index ||= 0 -%>
2
+ <div class="page" id="page-<%= @index + 1 %>">
3
+ <div class="part" id="part-<%= @index + 1 %>">
4
+ <%= hidden_field_tag "part[#{@index}][name]", part.name, :id => "part_#{@index}_name" %>
8
5
  <p>
9
- <label for="part[<%= @index - 1 %>][filter_id]">Filter</label>
10
- <%= select_tag "part[#{@index - 1}][filter_id]", options_for_select([['<none>', '']] + TextFilter.descendants.map { |s| s.filter_name }.sort, @part.filter_id) %>
11
- <span id="reference-links">Reference: <span id="filter-reference-link-<%= @index-1 %>"><%= link_to_function "Filter", "load_filter_reference(#{@index - 1})" %></span> <span id="tag-reference-link-<%= @index -1 %>"><%= link_to_function 'Available Tags', "load_tag_reference(#{@index-1});" %></span></span>
6
+ <label for="part_<%= @index %>_filter_id">Filter</label>
7
+ <%= select_tag "part[#{@index}][filter_id]", options_for_select([['<none>', '']] + TextFilter.descendants.map { |s| s.filter_name }.sort, part.filter_id), :id => "part_#{@index}_filter_id" %>
8
+ <span id="reference-links">Reference: <span id="filter-reference-link-<%= @index %>"><%= link_to_function "Filter", "load_filter_reference(#{@index})" %></span> <span id="tag-reference-link-<%= @index %>"><%= link_to_function 'Available Tags', "load_tag_reference(#{@index});" %></span></span>
12
9
  </p>
13
- <div><%= text_area_tag "part[#{@index - 1}][content]", h(@part.content), :class => "textarea", :style => "width: 100%" %></div>
10
+ <div><%= text_area_tag "part[#{@index}][content]", h(part.content), :class => "textarea", :style => "width: 100%", :id => "part_#{@index}_content" %></div>
14
11
  </div>
15
12
  </div>
16
- <%
17
- @index += 1;
18
- -%>
13
+ <% @index += 1 -%>
@@ -1,87 +1,34 @@
1
1
  <% content_for('page_scripts') do -%>
2
- function part_added() {
3
- var partNameField = $('part-name-field');
4
- var partIndexField = $('part-index-field');
5
- var index = parseInt(partIndexField.value);
6
- var tab = 'tab-' + index;
7
- var caption = partNameField.value;
8
- var page = 'page-' + index;
9
- tabControl.addTab(tab, caption, page);
10
- Element.hide('add-part-popup');
11
- Element.hide('busy');
12
- partNameField.value = '';
13
- partIndexField.value = (index + 1).toString();
14
- $('add-part-button').disabled = false;
15
- Field.focus(partNameField);
16
- tabControl.select(tab);
17
- }
18
- function part_loading() {
19
- $('add-part-button').disabled = true;
20
- new Effect.Appear('busy');
21
- }
22
- function valid_part_name() {
23
- var partNameField = $('part-name-field');
24
- var name = partNameField.value.downcase().strip();
25
- var result = true;
26
- if (name == '') {
27
- alert('Part name cannot be empty.');
28
- return false;
29
- }
30
- tabControl.tabs.each(function(pair){
31
- if (tabControl.tabs[pair.key].caption == name) {
32
- result = false;
33
- alert('Part name must be unique.');
34
- throw $break;
35
- }
36
- })
37
- return result;
38
- }
39
- function center(element) {
40
- var header = $('header')
41
- element = $(element);
42
- element.style.position = 'absolute';
43
- var dim = Element.getDimensions(element);
44
- var top = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop;
45
- element.style.top = (top + 200) + 'px';
46
- element.style.left = ((header.offsetWidth - dim.width) / 2) + 'px';
47
- }
48
- function toggle_add_part_popup() {
49
- var popup = $('add-part-popup');
50
- var partNameField = $('part-name-field');
51
- center(popup);
52
- Element.toggle(popup);
53
- Field.focus(partNameField);
54
- }
55
- var last_type = "<%= @page.class_name %>";
56
- function load_tag_reference(part) {
57
- page_type = $F('page_class_name');
58
- popup = $('tag-reference-popup');
59
- if(last_type != page_type) {
60
- url = "<%= tag_reference_url %>";
61
- params = "class_name=" + page_type;
62
- new Effect.Highlight('tag-reference-link-'+ part);
63
- req = new Ajax.Request(url, { method: 'get', parameters: params, evalScripts: true });
64
- } else {
65
- center(popup);
66
- Element.toggle(popup);
67
- }
68
- return false;
69
- }
70
- var last_filter = "<%= default_filter_name %>";
71
- function load_filter_reference(part) {
72
- filter_type = $F("part[" + part + "][filter_id]");
73
- popup = $('filter-reference-popup');
74
- if(last_filter != filter_type) {
75
- url = "<%= filter_reference_url %>";
76
- params = "filter_name=" + filter_type;
77
- new Effect.Highlight('filter-reference-link-'+ part);
78
- req = new Ajax.Request(url, { method: 'get', parameters: params, evalScripts: true });
79
- } else {
80
- center(popup);
81
- Element.toggle(popup);
82
- }
83
- return false;
84
- }
2
+ var last_type = "<%= @page.class_name %>";
3
+ function load_tag_reference(part) {
4
+ page_type = $F('page_class_name');
5
+ popup = $('tag-reference-popup');
6
+ if(last_type != page_type) {
7
+ url = "<%= tag_reference_url %>";
8
+ params = "class_name=" + page_type;
9
+ new Effect.Highlight('tag-reference-link-'+ part);
10
+ req = new Ajax.Request(url, { method: 'get', parameters: params, evalScripts: true });
11
+ } else {
12
+ center(popup);
13
+ Element.toggle(popup);
14
+ }
15
+ return false;
16
+ }
17
+ var last_filter = "<%= default_filter_name %>";
18
+ function load_filter_reference(part) {
19
+ filter_type = $F("part_" + part + "_filter_id");
20
+ popup = $('filter-reference-popup');
21
+ if(last_filter != filter_type) {
22
+ url = "<%= filter_reference_url %>";
23
+ params = "filter_name=" + filter_type;
24
+ new Effect.Highlight('filter-reference-link-'+ part);
25
+ req = new Ajax.Request(url, { method: 'get', parameters: params, evalScripts: true });
26
+ } else {
27
+ center(popup);
28
+ Element.toggle(popup);
29
+ }
30
+ return false;
31
+ }
85
32
  <% end -%>
86
33
 
87
34
  <% content_for :page_css do %>
@@ -107,7 +54,7 @@
107
54
  <h1 id="edit_page">Edit Page</h1>
108
55
  <% end -%>
109
56
 
110
- <form method="post" enctype="multipart/form-data">
57
+ <form method="post" action="" enctype="multipart/form-data">
111
58
  <%= hidden_field "page", "lock_version" %>
112
59
  <div class="form-area">
113
60
  <p class="title">
@@ -115,25 +62,11 @@
115
62
  <%= text_field "page", "title", :class => 'textbox', :maxlength => 255 %>
116
63
  </p>
117
64
  <div id="extended-metadata" class="row"<%= meta_visible(:meta) %>>
118
- <table class="fieldset" cellpadding="0" cellspacing="0" border="0">
65
+ <table class="fieldset">
119
66
  <% for meta in @meta %>
120
67
  <%= render :partial => "meta_row", :object => meta %>
121
68
  <% end %>
122
- </table>
123
- <script type="text/javascript">
124
- // <![CDATA[
125
- $title = $('page_title');
126
- $slug = $('page_slug');
127
- $breadcrumb = $('page_breadcrumb');
128
- $old_title = $title.value || '';
129
- function title_updated() {
130
- if ($old_title.toSlug() == $slug.value) $slug.value = $title.value.toSlug();
131
- if ($old_title == $breadcrumb.value) $breadcrumb.value = $title.value;
132
- $old_title = $title.value;
133
- }
134
- new Form.Element.Observer('page_title', 0.15, title_updated);
135
- // ]]>
136
- </script>
69
+ </table>
137
70
  </div>
138
71
  <p class="more-or-less">
139
72
  <small>
@@ -152,21 +85,7 @@
152
85
  <%= render :partial => 'part', :collection => @page.parts %>
153
86
  </div>
154
87
  </div>
155
- <script type="text/javascript">
156
- // <![CDATA[
157
- var tabControl = new TabControl('tab-control');
158
- <%
159
- @index = 0
160
- for @part in @page.parts do
161
- @index += 1
162
- -%>
163
- tabControl.addTab('tab-<%= @index %>', '<%= @part.name %>', 'page-<%= @index %>');
164
- <%
165
- end
166
- -%>
167
- tabControl.select(tabControl.firstTab());
168
- // ]]>
169
- </script>
88
+
170
89
  <div class="row">
171
90
  <p><label for="page_layout_id">Layout</label>
172
91
  <%= select "page", "layout_id", [['<inherit>', '']] + Layout.find(:all).map { |s| [s.name, s.id] } %></p>
@@ -199,15 +118,15 @@ end
199
118
  :condition => 'valid_part_name()'
200
119
  ) do %>
201
120
  <div>
202
- <%= hidden_field_tag 'index', @index + 1, :id => 'part-index-field' %>
121
+ <%= hidden_field_tag 'index', @index, :id => 'part-index-field' %>
203
122
  <%= text_field_tag "part[name]", "", :id => 'part-name-field', :maxlength => 100 %>
204
123
  <%= submit_tag "Add Part", :id => 'add-part-button' %>
205
124
  </div>
206
- <p><%= link_to_function 'Close', "Element.hide('add-part-popup')", :class => 'close-link' %></p>
125
+ <p><%= link_to_function 'Close', "$(this).up('.popup').hide()", :class => 'close-link' %></p>
207
126
  <% end %>
208
127
  </div>
209
128
  <div class="popup" id="tag-reference-popup" style="display:none;">
210
- <div style="float:right">Search Tags: <input type="text" id="search-tag-reference"></div>
129
+ <div style="float:right">Search Tags: <input type="text" id="search-tag-reference" /></div>
211
130
  <%= javascript_tag "new Form.Element.Observer('search-tag-reference', 0.5, observeTagSearch);" %>
212
131
  <h3>Available Tags for <span id="page-type"><%= @page.class.display_name %></span></h3>
213
132
  <div id="tag-reference"><%= tag_reference(@page.class.name) %></div>
@@ -218,6 +137,4 @@ end
218
137
  <div id="filter-reference"><%= filter_reference(default_filter_name) %></div>
219
138
  <p><%= link_to_function 'Close', "Element.hide('filter-reference-popup')", :class => 'close-link' %></p>
220
139
  </div>
221
- <% end -%>
222
-
223
- <%= focus 'page_title' %>
140
+ <% end -%>
@@ -2,7 +2,7 @@
2
2
 
3
3
  <h1>Pages</h1>
4
4
 
5
- <table id="site-map" class="index" cellpadding="0" cellspacing="0" border="0">
5
+ <table id="site-map" class="index" summary="Page hierarchy of the current site">
6
6
  <thead>
7
7
  <tr>
8
8
  <th class="page">Page</th>
@@ -20,11 +20,7 @@
20
20
  <% end -%>
21
21
  </tbody>
22
22
  </table>
23
- <script type="text/javascript">
24
- // <![CDATA[
25
- new SiteMap('site-map', <%= expanded_rows.to_json %>);
26
- // ]]>
27
- </script>
23
+
28
24
  <form action="<%= clear_cache_url %>" method="post">
29
25
  <p>
30
26
  <% unless @homepage -%>
@@ -9,6 +9,6 @@
9
9
  </tbody>
10
10
  </table>
11
11
 
12
- <form method="post">
12
+ <form method="post" action="">
13
13
  <p class="buttons"><%= submit_tag "Delete #{pages}", :class => 'button' %> or <%= link_to 'Cancel', page_index_url %></p>
14
- </form>
14
+ </form>
@@ -4,7 +4,7 @@
4
4
  <h1>Edit Snippet</h1>
5
5
  <% end -%>
6
6
 
7
- <form method="post">
7
+ <form method="post" action="">
8
8
  <%= hidden_field "snippet", "lock_version" %>
9
9
  <div class="form-area">
10
10
  <p class="title">
@@ -17,7 +17,7 @@
17
17
  <%= text_area "snippet", "content", :class => "textarea", :style => "width: 100%" %></p>
18
18
  <p>
19
19
  <label for="snippet_filter">Filter</label>
20
- <%= select_tag "snippet[filter_id]", options_for_select([['none', '']] + TextFilter.descendants.map { |f| f.filter_name }.sort, @snippet.filter_id) %>
20
+ <%= select_tag "snippet[filter_id]", options_for_select([['none', '']] + TextFilter.descendants.map { |f| f.filter_name }.sort, @snippet.filter_id), :id => 'snippet_filter' %>
21
21
  </p>
22
22
  <%= updated_stamp @snippet %>
23
23
  </div>
@@ -26,4 +26,4 @@
26
26
  </p>
27
27
  </form>
28
28
 
29
- <%= focus 'snippet_name' %>
29
+ <%= focus 'snippet_name' %>
@@ -15,7 +15,7 @@
15
15
  <tr class="node level-1">
16
16
  <td class="snippet">
17
17
  <%= image "snippet", :class => "icon", :alt => 'snippet-icon', :title => '' %>
18
- <%= link_to snippet.name, snippet_edit_url(:id => snippet) %></span>
18
+ <span><%= link_to snippet.name, snippet_edit_url(:id => snippet) %></span>
19
19
  </td>
20
20
  <td class="remove"><%= link_to image('remove', :alt => 'Remove Snippet'), snippet_remove_url(:id => snippet) %></td>
21
21
  </tr>
@@ -33,4 +33,4 @@
33
33
  // ]]>
34
34
  </script>
35
35
 
36
- <p><%= link_to image('new-snippet', :alt => 'New Snippet'), snippet_new_url %></p>
36
+ <p><%= link_to image('new-snippet', :alt => 'New Snippet'), snippet_new_url %></p>
@@ -11,6 +11,6 @@
11
11
  </tbody>
12
12
  </table>
13
13
 
14
- <form method="post">
14
+ <form method="post" action="">
15
15
  <p class="buttons"><%= submit_tag "Delete Snippet", :class => 'button' %> or <%= link_to 'Cancel', snippet_index_url %></p>
16
- </form>
16
+ </form>
@@ -4,7 +4,7 @@
4
4
  <h1>Edit User</h1>
5
5
  <% end -%>
6
6
 
7
- <form method="post">
7
+ <form method="post" action="">
8
8
  <%= hidden_field "user", "lock_version" %>
9
9
  <table class="fieldset" cellpadding="0" cellspacing="0" border="0">
10
10
  <tr>
@@ -34,8 +34,8 @@
34
34
  <tr>
35
35
  <td class="label"><label for="user_admin">Roles</label></td>
36
36
  <td class="field">
37
- <span class="checkbox"><%= check_box "user", "admin" %>&nbsp;Administrator</span>
38
- <span class="checkbox"><%= check_box "user", "developer" %>&nbsp;Developer</span>
37
+ <span class="checkbox"><%= check_box "user", "admin" %>&nbsp;<label for="user_admin">Administrator</label></span>
38
+ <span class="checkbox"><%= check_box "user", "developer" %>&nbsp;<label for="user_developer">Developer</label></span>
39
39
  </td>
40
40
  <td class="help">Roles restrict user privileges and turn parts of the administrative interface on or off.</td>
41
41
  </tr>
@@ -51,4 +51,4 @@
51
51
  </p>
52
52
  </form>
53
53
 
54
- <%= focus 'user_name' %>
54
+ <%= focus 'user_name' %>
@@ -1,6 +1,6 @@
1
1
  <h1>User Preferences</h1>
2
2
 
3
- <form method="post">
3
+ <form method="post" action="">
4
4
  <table class="fieldset" cellpadding="0" cellspacing="0" border="0">
5
5
  <tr>
6
6
  <td class="label"><label for="user_password">Password</label></td>
@@ -26,4 +26,4 @@
26
26
  // <![CDATA[
27
27
  Field.focus('user_password');
28
28
  // ]]>
29
- </script>
29
+ </script>
@@ -37,7 +37,7 @@
37
37
  <div id="login">
38
38
  <h1>Please Login</h1>
39
39
 
40
- <form method="post">
40
+ <form method="post" action="">
41
41
  <p><label for="user_login">Username</label>
42
42
  <%= text_field "user", "login", :class => 'textbox', :value => '', :maxlength => 40 %></p>
43
43
  <p><label for="user_password">Password</label>