|
|
Index: /home/mislav/projects/radiant/app/controllers/application.rb
===================================================================
--- /home/mislav/projects/radiant/app/controllers/application.rb (revision 573)
+++ /home/mislav/projects/radiant/app/controllers/application.rb (working copy)
@@ -1,9 +1,5 @@
require_dependency 'radiant'
-ActionView::Base.field_error_proc = Proc.new do |html, instance|
- %{#{html} • #{[instance.error_message].flatten.first} }
-end
-
class ApplicationController < ActionController::Base
include LoginSystem
@@ -19,7 +15,9 @@
@config = Radiant::Config
end
+ # helpers to include additional assets from actions or views
helper_method :include_stylesheet, :include_javascript
+
def include_stylesheet(sheet)
@stylesheets << sheet
end
@@ -36,6 +34,7 @@
super
end
end
+
private
def set_current_user
@@ -43,7 +42,7 @@
end
def set_javascripts_and_stylesheets
- @stylesheets = ['admin/main']
- @javascripts = ['prototype', 'string', 'effects', 'dragdrop', 'controls', 'tabcontrol', 'ruledtable']
+ @stylesheets = %w(admin/main)
+ @javascripts = %w(prototype string effects tabcontrol ruledtable admin)
end
end
Index: /home/mislav/projects/radiant/app/controllers/admin/page_controller.rb
===================================================================
--- /home/mislav/projects/radiant/app/controllers/admin/page_controller.rb (revision 573)
+++ /home/mislav/projects/radiant/app/controllers/admin/page_controller.rb (working copy)
@@ -47,6 +47,7 @@
def add_part
part = PagePart.new(params[:part])
+ @index = params[:index].to_i if params[:index]
render(:partial => 'part', :object => part, :layout => false)
end
Index: /home/mislav/projects/radiant/app/controllers/admin/user_controller.rb
===================================================================
--- /home/mislav/projects/radiant/app/controllers/admin/user_controller.rb (revision 573)
+++ /home/mislav/projects/radiant/app/controllers/admin/user_controller.rb (working copy)
@@ -1,7 +1,8 @@
class Admin::UserController < Admin::AbstractModelController
model_class User
- only_allow_access_to :index, :new, :edit, :remove, :when => :admin,
+ only_allow_access_to :index, :new, :edit, :remove,
+ :when => :admin,
:denied_url => {:controller => 'page', :action => :index},
:denied_message => 'You must have administrative privileges to perform this action.'
Index: /home/mislav/projects/radiant/app/controllers/admin/export_controller.rb
===================================================================
--- /home/mislav/projects/radiant/app/controllers/admin/export_controller.rb (revision 573)
+++ /home/mislav/projects/radiant/app/controllers/admin/export_controller.rb (working copy)
@@ -1,6 +1,6 @@
class Admin::ExportController < ApplicationController
def yaml
response.headers['Content-Type'] = "text/yaml"
- render_text Radiant::Exporter.export
+ render :text => Radiant::Exporter.export
end
end
Index: /home/mislav/projects/radiant/app/views/admin/page/_part.rhtml
===================================================================
--- /home/mislav/projects/radiant/app/views/admin/page/_part.rhtml (revision 573)
+++ /home/mislav/projects/radiant/app/views/admin/page/_part.rhtml (working copy)
@@ -1,18 +1,13 @@
-<%
-@part = part
-@index = (params[:index] || @index || 1).to_i
--%>
-
-
- <%= hidden_field_tag "part[#{@index - 1}][name]", @part.name %>
+<% @index ||= 0 -%>
+
+
+ <%= hidden_field_tag "part[#{@index}][name]", part.name %>
-
- <%= select_tag "part[#{@index - 1}][filter_id]", options_for_select([['', '']] + TextFilter.descendants.map { |s| s.filter_name }.sort, @part.filter_id) %>
- Reference: <%= link_to_function "Filter", "load_filter_reference(#{@index - 1})" %> <%= link_to_function 'Available Tags', "load_tag_reference(#{@index-1});" %>
+
+ <%= select_tag "part[#{@index}][filter_id]", options_for_select([['', '']] + TextFilter.descendants.map { |s| s.filter_name }.sort, part.filter_id) %>
+ Reference: <%= link_to_function "Filter", "load_filter_reference(#{@index})" %> <%= link_to_function 'Available Tags', "load_tag_reference(#{@index});" %>
- <%= text_area_tag "part[#{@index - 1}][content]", h(@part.content), :class => "textarea", :style => "width: 100%" %>
+ <%= text_area_tag "part[#{@index}][content]", h(part.content), :class => "textarea", :style => "width: 100%" %>
-<%
-@index += 1;
--%>
\ No newline at end of file
+<% @index += 1 -%>
Index: /home/mislav/projects/radiant/app/views/admin/page/edit.rhtml
===================================================================
--- /home/mislav/projects/radiant/app/views/admin/page/edit.rhtml (revision 573)
+++ /home/mislav/projects/radiant/app/views/admin/page/edit.rhtml (working copy)
@@ -1,87 +1,34 @@
<% content_for('page_scripts') do -%>
- function part_added() {
- var partNameField = $('part-name-field');
- var partIndexField = $('part-index-field');
- var index = parseInt(partIndexField.value);
- var tab = 'tab-' + index;
- var caption = partNameField.value;
- var page = 'page-' + index;
- tabControl.addTab(tab, caption, page);
- Element.hide('add-part-popup');
- Element.hide('busy');
- partNameField.value = '';
- partIndexField.value = (index + 1).toString();
- $('add-part-button').disabled = false;
- Field.focus(partNameField);
- tabControl.select(tab);
- }
- function part_loading() {
- $('add-part-button').disabled = true;
- new Effect.Appear('busy');
- }
- function valid_part_name() {
- var partNameField = $('part-name-field');
- var name = partNameField.value.downcase().strip();
- var result = true;
- if (name == '') {
- alert('Part name cannot be empty.');
- return false;
- }
- tabControl.tabs.each(function(pair){
- if (tabControl.tabs.get(pair.key).caption == name) {
- result = false;
- alert('Part name must be unique.');
- throw $break;
- }
- })
- return result;
- }
- function center(element) {
- var header = $('header')
- element = $(element);
- element.style.position = 'absolute';
- var dim = Element.getDimensions(element);
- var top = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop;
- element.style.top = (top + 200) + 'px';
- element.style.left = ((header.offsetWidth - dim.width) / 2) + 'px';
- }
- function toggle_add_part_popup() {
- var popup = $('add-part-popup');
- var partNameField = $('part-name-field');
- center(popup);
- Element.toggle(popup);
- Field.focus(partNameField);
- }
- var last_type = "<%= @page.class_name %>";
- function load_tag_reference(part) {
- page_type = $F('page_class_name');
- popup = $('tag-reference-popup');
- if(last_type != page_type) {
- url = "<%= tag_reference_url %>";
- params = "class_name=" + page_type;
- new Effect.Highlight('tag-reference-link-'+ part);
- req = new Ajax.Request(url, { method: 'get', parameters: params, evalScripts: true });
- } else {
- center(popup);
- Element.toggle(popup);
- }
- return false;
- }
- var last_filter = "<%= default_filter_name %>";
- function load_filter_reference(part) {
- filter_type = $F("part[" + part + "][filter_id]");
- popup = $('filter-reference-popup');
- if(last_filter != filter_type) {
- url = "<%= filter_reference_url %>";
- params = "filter_name=" + filter_type;
- new Effect.Highlight('filter-reference-link-'+ part);
- req = new Ajax.Request(url, { method: 'get', parameters: params, evalScripts: true });
- } else {
- center(popup);
- Element.toggle(popup);
- }
- return false;
- }
+ var last_type = "<%= @page.class_name %>";
+ function load_tag_reference(part) {
+ page_type = $F('page_class_name');
+ popup = $('tag-reference-popup');
+ if(last_type != page_type) {
+ url = "<%= tag_reference_url %>";
+ params = "class_name=" + page_type;
+ new Effect.Highlight('tag-reference-link-'+ part);
+ req = new Ajax.Request(url, { method: 'get', parameters: params, evalScripts: true });
+ } else {
+ center(popup);
+ Element.toggle(popup);
+ }
+ return false;
+ }
+ var last_filter = "<%= default_filter_name %>";
+ function load_filter_reference(part) {
+ filter_type = $F("part[" + part + "][filter_id]");
+ popup = $('filter-reference-popup');
+ if(last_filter != filter_type) {
+ url = "<%= filter_reference_url %>";
+ params = "filter_name=" + filter_type;
+ new Effect.Highlight('filter-reference-link-'+ part);
+ req = new Ajax.Request(url, { method: 'get', parameters: params, evalScripts: true });
+ } else {
+ center(popup);
+ Element.toggle(popup);
+ }
+ return false;
+ }
<% end -%>
<% content_for :page_css do %>
@@ -115,25 +62,11 @@
<%= text_field "page", "title", :class => 'textbox', :maxlength => 255 %>
>
-
+
<% for meta in @meta %>
<%= render :partial => "meta_row", :object => meta %>
<% end %>
-
@@ -152,21 +85,7 @@
<%= render :partial => 'part', :collection => @page.parts %>
-
+
<%= select "page", "layout_id", [['', '']] + Layout.find(:all).map { |s| [s.name, s.id] } %>
@@ -199,11 +118,11 @@
:condition => 'valid_part_name()'
) do %>
- <%= hidden_field_tag 'index', @index + 1, :id => 'part-index-field' %>
+ <%= hidden_field_tag 'index', @index, :id => 'part-index-field' %>
<%= text_field_tag "part[name]", "", :id => 'part-name-field', :maxlength => 100 %>
<%= submit_tag "Add Part", :id => 'add-part-button' %>
- <%= link_to_function 'Close', "Element.hide('add-part-popup')", :class => 'close-link' %>
+ <%= link_to_function 'Close', "$(this).up('.popup').hide()", :class => 'close-link' %>
<% end %>
<% end -%>
-
-<%= focus 'page_title' %>
Index: /home/mislav/projects/radiant/app/views/admin/page/index.rhtml
===================================================================
--- /home/mislav/projects/radiant/app/views/admin/page/index.rhtml (revision 573)
+++ /home/mislav/projects/radiant/app/views/admin/page/index.rhtml (working copy)
@@ -2,7 +2,7 @@
Pages
-
+
| Page |
@@ -20,11 +20,7 @@
<% end -%>
-
+
|