Sha256: cce792dde0faaa3d6f7df5f5d8c171698bf51cd43fd9d1580e6c28dbf6132937

Contents?: true

Size: 1.27 KB

Versions: 60

Compression:

Stored size: 1.27 KB

Contents

ActiveScaffold::Config::Core.class_eval do
  def initialize_with_ancestry(model_id)
    initialize_without_ancestry(model_id)

    return unless self.model.respond_to? :ancestry_column
    
    self.columns << :parent_id
    self.columns[:parent_id].form_ui = :ancestry
    update.columns.exclude :ancestry
    create.columns.exclude :ancestry, :parent_id
    list.columns.exclude :ancestry, :parent_id
  end

  alias_method_chain :initialize, :ancestry
end

module ActiveScaffold
  module AncestryBridge
    module FormColumnHelpers
      def active_scaffold_input_ancestry(column, options)
        select_options = []
        select_control_options = {:selected => @record.parent_id}
        select_control_options[:include_blank] = as_(:_select_) if @record.parent_id.nil?
        traverse_ancestry = proc do|key, value|
          unless key == @record
            select_options << ["#{'__' * key.depth}#{key.to_label}", key.id]
            value.each(&traverse_ancestry) if value.is_a?(Hash) && !value.empty?
          end
        end
        @record.class.arrange.each(&traverse_ancestry)
        select(:record, :ancestry, select_options, select_control_options, options)
      end
    end
  end
end

ActionView::Base.class_eval do
  include ActiveScaffold::AncestryBridge::FormColumnHelpers
end

Version data entries

60 entries across 60 versions & 4 rubygems

Version Path
active_scaffold-3.0.22 lib/active_scaffold/bridges/ancestry/lib/ancestry_bridge.rb
active_scaffold-3.0.21 lib/active_scaffold/bridges/ancestry/lib/ancestry_bridge.rb
active_scaffold_vho-3.0.20 lib/active_scaffold/bridges/ancestry/lib/ancestry_bridge.rb
active_scaffold_vho-3.0.19 lib/active_scaffold/bridges/ancestry/lib/ancestry_bridge.rb
active_scaffold_san-3.0.18 lib/active_scaffold/bridges/ancestry/lib/ancestry_bridge.rb
active_scaffold_vho-3.0.18 lib/active_scaffold/bridges/ancestry/lib/ancestry_bridge.rb
active_scaffold_vho-3.0.17 lib/active_scaffold/bridges/ancestry/lib/ancestry_bridge.rb
active_scaffold_vho-3.0.16 lib/active_scaffold/bridges/ancestry/lib/ancestry_bridge.rb
active_scaffold_vho-3.0.15 lib/active_scaffold/bridges/ancestry/lib/ancestry_bridge.rb
active_scaffold_vho-3.0.14 lib/active_scaffold/bridges/ancestry/lib/ancestry_bridge.rb
active_scaffold_vho-3.0.13 lib/active_scaffold/bridges/ancestry/lib/ancestry_bridge.rb
active_scaffold_vho-3.0.12 lib/active_scaffold/bridges/ancestry/lib/ancestry_bridge.rb
active_scaffold_vho-3.0.11 lib/active_scaffold/bridges/ancestry/lib/ancestry_bridge.rb
active_scaffold-3.0.12 lib/active_scaffold/bridges/ancestry/lib/ancestry_bridge.rb
active_scaffold-3.0.11 lib/active_scaffold/bridges/ancestry/lib/ancestry_bridge.rb
active_scaffold_vho-3.0.10 lib/active_scaffold/bridges/ancestry/lib/ancestry_bridge.rb
active_scaffold_vho-3.0.9 lib/active_scaffold/bridges/ancestry/lib/ancestry_bridge.rb
active_scaffold_vho-3.0.8 lib/active_scaffold/bridges/ancestry/lib/ancestry_bridge.rb
active_scaffold_vho-3.0.7 lib/active_scaffold/bridges/ancestry/lib/ancestry_bridge.rb
active_scaffold_vho-3.0.6 lib/active_scaffold/bridges/ancestry/lib/ancestry_bridge.rb