From 93c510cb8f54100007e23817a77652f3dd586d08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?U=C4=A3is=20Ozols?= Date: Mon, 23 Apr 2012 14:39:47 +0300 Subject: [PATCH] Add all generated attributes to attr_accessible whitelist. #1578. Conflicts: core/lib/generators/refinery/engine/templates/app/models/refinery/namespace/singular_name.rb --- .../app/models/refinery/namespace/singular_name.rb | 4 ++-- .../app/models/refinery/namespace/singular_name.rb | 8 +++++--- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/core/lib/generators/refinery/engine/templates/app/models/refinery/namespace/singular_name.rb b/core/lib/generators/refinery/engine/templates/app/models/refinery/namespace/singular_name.rb index bf842ca11e..0547a9f528 100644 --- a/core/lib/generators/refinery/engine/templates/app/models/refinery/namespace/singular_name.rb +++ b/core/lib/generators/refinery/engine/templates/app/models/refinery/namespace/singular_name.rb @@ -14,13 +14,12 @@ class Translation <% end -%> <% if (string_attributes = attributes.select{ |a| a.type.to_s =~ /string|text/ }.uniq).any? -%> - attr_accessible <%= string_attributes.first.name.to_sym.inspect %>, :position + attr_accessible <%= attributes.map { |attr| ":#{attr.name}" }.join(', ') %>, :position acts_as_indexed :fields => <%= string_attributes.map{|s| s.name.to_sym}.inspect %> validates <%= string_attributes.first.name.to_sym.inspect %>, :presence => true, :uniqueness => true <% else -%> - # def title was created automatically because you didn't specify a string field # when you ran the refinery:engine generator. <3 <3 Refinery CMS. def title @@ -34,6 +33,7 @@ def title <% attributes.select{|a| a.type.to_s == 'resource'}.uniq.each do |a| -%> belongs_to :<%= a.name.gsub("_id", "") %>, :class_name => '::Refinery::Resource' + <% end -%> end end diff --git a/core/lib/generators/refinery/form/templates/app/models/refinery/namespace/singular_name.rb b/core/lib/generators/refinery/form/templates/app/models/refinery/namespace/singular_name.rb index 084b5a63a6..6afab61c61 100644 --- a/core/lib/generators/refinery/form/templates/app/models/refinery/namespace/singular_name.rb +++ b/core/lib/generators/refinery/form/templates/app/models/refinery/namespace/singular_name.rb @@ -3,11 +3,13 @@ module <%= class_name.pluralize %> class <%= class_name %> < Refinery::Core::BaseModel <% if table_name == namespacing.underscore.pluralize -%> self.table_name = 'refinery_<%= plural_name %>' -<% end -%> -<% if (text_or_string_fields = attributes.map{ |a| a.name if a.type.to_s =~ /string|text/ }.compact.uniq).any? %> +<% end %> + attr_accessible <%= attributes.map { |attr| ":#{attr.name}" }.join(', ') %>, :position + +<% if (text_or_string_fields = attributes.map{ |a| a.name if a.type.to_s =~ /string|text/ }.compact.uniq).any? -%> acts_as_indexed :fields => [:<%= text_or_string_fields.join(", :") %>] <% end -%> -<% if (text_fields = attributes.map {|a| a.name if a.type.to_s == 'text'}.compact.uniq).any? && text_fields.detect{|a| a.to_s == 'message'}.nil? %> +<% if (text_fields = attributes.map {|a| a.name if a.type.to_s == 'text'}.compact.uniq).any? && text_fields.detect{|a| a.to_s == 'message'}.nil? -%> alias_attribute :message, :<%= text_fields.first %> <% elsif text_fields.empty? %> # def message was created automatically because you didn't specify a text field