inline_forms 0.9.1 → 0.9.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/VERSION +1 -1
 - data/app/controllers/inline_forms_controller.rb +2 -2
 - data/app/helpers/inline_forms_helper.rb +25 -12
 - data/app/views/inline_forms/_header.html.erb +1 -1
 - data/app/views/inline_forms/_index.html.erb +2 -6
 - data/app/views/inline_forms/index.html.erb +2 -5
 - data/inline_forms.gemspec +1 -3
 - data/lib/inline_forms.rb +3 -2
 - metadata +3 -5
 - data/app/helpers/form_elements/associated.rb +0 -94
 - data/app/views/inline_forms/_subform.html.erb +0 -20
 
    
        data/VERSION
    CHANGED
    
    | 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            0.9. 
     | 
| 
      
 1 
     | 
    
         
            +
            0.9.2
         
     | 
| 
         @@ -83,9 +83,9 @@ class InlineFormsController < ApplicationController 
     | 
|
| 
       83 
83 
     | 
    
         
             
                  send("#{form_element.to_s}_update", object, attribute) unless form_element == :associated
         
     | 
| 
       84 
84 
     | 
    
         
             
                end
         
     | 
| 
       85 
85 
     | 
    
         
             
                if object.save
         
     | 
| 
       86 
     | 
    
         
            -
                  flash[:success] = "Successfully created  
     | 
| 
      
 86 
     | 
    
         
            +
                  flash[:success] = "Successfully created #{object.class.to_s.downcase}."
         
     | 
| 
       87 
87 
     | 
    
         
             
                else
         
     | 
| 
       88 
     | 
    
         
            -
                  flash[:error] = " 
     | 
| 
      
 88 
     | 
    
         
            +
                  flash[:error] = "Failed to create #{object.class.to_s.downcase}."
         
     | 
| 
       89 
89 
     | 
    
         
             
                end
         
     | 
| 
       90 
90 
     | 
    
         
             
                @objects = @Klass.paginate :page => params[:page], :order => 'created_at DESC'
         
     | 
| 
       91 
91 
     | 
    
         
             
                respond_to do |format|
         
     | 
| 
         @@ -37,7 +37,11 @@ module InlineFormsHelper 
     | 
|
| 
       37 
37 
     | 
    
         
             
                  value_cell = content_tag :td, :valign=>'top' do
         
     | 
| 
       38 
38 
     | 
    
         
             
                    content_tag :div, :class=> "attribute_value attribute_#{attribute} form_element_#{form_element}" do
         
     | 
| 
       39 
39 
     | 
    
         
             
                      content_tag :span, :id => css_class_id do
         
     | 
| 
       40 
     | 
    
         
            -
                         
     | 
| 
      
 40 
     | 
    
         
            +
                        if form_element == :associated
         
     | 
| 
      
 41 
     | 
    
         
            +
                          inline_forms_list(object.send(attribute.to_s.pluralize), attribute )
         
     | 
| 
      
 42 
     | 
    
         
            +
                        else
         
     | 
| 
      
 43 
     | 
    
         
            +
                          send("#{form_element}_show", object, attribute)
         
     | 
| 
      
 44 
     | 
    
         
            +
                        end
         
     | 
| 
       41 
45 
     | 
    
         
             
                      end
         
     | 
| 
       42 
46 
     | 
    
         
             
                    end
         
     | 
| 
       43 
47 
     | 
    
         
             
                  end
         
     | 
| 
         @@ -53,8 +57,16 @@ module InlineFormsHelper 
     | 
|
| 
       53 
57 
     | 
    
         
             
              # associated records are NOT shown!
         
     | 
| 
       54 
58 
     | 
    
         
             
              #
         
     | 
| 
       55 
59 
     | 
    
         
             
              def inline_forms_new_record(object, attributes=nil)
         
     | 
| 
       56 
     | 
    
         
            -
                attributes ||= object.inline_forms_attribute_list
         
     | 
| 
       57 
60 
     | 
    
         
             
                out = String.new
         
     | 
| 
      
 61 
     | 
    
         
            +
                out += content_tag :tr do
         
     | 
| 
      
 62 
     | 
    
         
            +
                  content_tag :th, :colspan => 2, :valign=>'top' do
         
     | 
| 
      
 63 
     | 
    
         
            +
                    content_tag :div, :class=> "object_presentation" do
         
     | 
| 
      
 64 
     | 
    
         
            +
                      "New #{object.class.to_s}"
         
     | 
| 
      
 65 
     | 
    
         
            +
                    end
         
     | 
| 
      
 66 
     | 
    
         
            +
                  end
         
     | 
| 
      
 67 
     | 
    
         
            +
                end
         
     | 
| 
      
 68 
     | 
    
         
            +
                out << "\n"
         
     | 
| 
      
 69 
     | 
    
         
            +
                attributes ||= object.inline_forms_attribute_list
         
     | 
| 
       58 
70 
     | 
    
         
             
                attributes.each do | attribute, name, form_element |
         
     | 
| 
       59 
71 
     | 
    
         
             
                  unless form_element.to_sym == :associated
         
     | 
| 
       60 
72 
     | 
    
         
             
                    css_class_id = "attribute_#{attribute}_#{object.id}"
         
     | 
| 
         @@ -77,29 +89,30 @@ module InlineFormsHelper 
     | 
|
| 
       77 
89 
     | 
    
         
             
              end
         
     | 
| 
       78 
90 
     | 
    
         | 
| 
       79 
91 
     | 
    
         
             
              # display a list of objects
         
     | 
| 
       80 
     | 
    
         
            -
              def inline_forms_list(objects,  
     | 
| 
      
 92 
     | 
    
         
            +
              def inline_forms_list(objects, attribute )
         
     | 
| 
       81 
93 
     | 
    
         
             
                t = String.new
         
     | 
| 
      
 94 
     | 
    
         
            +
                # link to new
         
     | 
| 
      
 95 
     | 
    
         
            +
                update_span = attribute.to_s.underscore + '_list'
         
     | 
| 
      
 96 
     | 
    
         
            +
                t += content_tag :li, :class => "new_record_link_li" do
         
     | 
| 
      
 97 
     | 
    
         
            +
                  link_to "New",
         
     | 
| 
      
 98 
     | 
    
         
            +
                    send('new_' + attribute.to_s.singularize.underscore + '_path', :update => update_span),
         
     | 
| 
      
 99 
     | 
    
         
            +
                    :remote => true
         
     | 
| 
      
 100 
     | 
    
         
            +
                end
         
     | 
| 
      
 101 
     | 
    
         
            +
                # list of objects
         
     | 
| 
       82 
102 
     | 
    
         
             
                objects.each do |object|
         
     | 
| 
       83 
103 
     | 
    
         
             
                  css_class_id = object.class.to_s.underscore + '_' + object.id.to_s
         
     | 
| 
       84 
     | 
    
         
            -
                  t += content_tag  
     | 
| 
      
 104 
     | 
    
         
            +
                  t += content_tag :li, :id => css_class_id, :class => cycle("odd", "even") do
         
     | 
| 
       85 
105 
     | 
    
         
             
                    link_to h(object._presentation),
         
     | 
| 
       86 
106 
     | 
    
         
             
                      send( object.class.to_s.underscore + '_path', object, :update => css_class_id),
         
     | 
| 
       87 
107 
     | 
    
         
             
                      :remote => true
         
     | 
| 
       88 
108 
     | 
    
         
             
                  end
         
     | 
| 
       89 
109 
     | 
    
         
             
                end
         
     | 
| 
       90 
     | 
    
         
            -
                t = content_tag :ul, :class => "inline_forms_list" do
         
     | 
| 
      
 110 
     | 
    
         
            +
                t = content_tag :ul, :id => update_span, :class => "inline_forms_list" do
         
     | 
| 
       91 
111 
     | 
    
         
             
                  t.html_safe
         
     | 
| 
       92 
112 
     | 
    
         
             
                end
         
     | 
| 
       93 
113 
     | 
    
         
             
                return t
         
     | 
| 
       94 
114 
     | 
    
         
             
              end
         
     | 
| 
       95 
115 
     | 
    
         | 
| 
       96 
     | 
    
         
            -
              # link for new item
         
     | 
| 
       97 
     | 
    
         
            -
              def inline_forms_new_record_link(text='new', update_span='inline_forms_list')
         
     | 
| 
       98 
     | 
    
         
            -
                link_to text,
         
     | 
| 
       99 
     | 
    
         
            -
                  send('new_' + @Klass.to_s.underscore + '_path', :update => update_span),
         
     | 
| 
       100 
     | 
    
         
            -
                  :remote => true
         
     | 
| 
       101 
     | 
    
         
            -
              end
         
     | 
| 
       102 
     | 
    
         
            -
              
         
     | 
| 
       103 
116 
     | 
    
         
             
              private
         
     | 
| 
       104 
117 
     | 
    
         | 
| 
       105 
118 
     | 
    
         
             
              # close icon
         
     | 
| 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            <div id="Header"> 
     | 
| 
      
 1 
     | 
    
         
            +
            <div id="Header">Inline Forms</div>
         
     | 
| 
         @@ -1,10 +1,6 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            <% flash.each do |key, value| %>
         
     | 
| 
       2 
     | 
    
         
            -
              <div class="flash <%= key %>"><%= value %></div>
         
     | 
| 
      
 2 
     | 
    
         
            +
              <div id="flash" class="flash <%= key %>"><%= value %></div>
         
     | 
| 
       3 
3 
     | 
    
         
             
            <% end %>
         
     | 
| 
       4 
     | 
    
         
            -
             
     | 
| 
       5 
     | 
    
         
            -
            <li class="inline_forms_new_record">
         
     | 
| 
       6 
     | 
    
         
            -
              <%= inline_forms_new_record_link %>
         
     | 
| 
       7 
     | 
    
         
            -
            </li>
         
     | 
| 
       8 
     | 
    
         
            -
            <%= inline_forms_list(@objects) %>
         
     | 
| 
      
 4 
     | 
    
         
            +
            <%= inline_forms_list(@objects, @Klass.to_s.pluralize) %>
         
     | 
| 
       9 
5 
     | 
    
         
             
            <%= will_paginate @objects %>
         
     | 
| 
       10 
6 
     | 
    
         
             
            <div id="paginate_info"><%= page_entries_info @objects %></div>
         
     | 
| 
         @@ -1,10 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            <% flash.each do |key, value| %>
         
     | 
| 
       2 
     | 
    
         
            -
              <div class="flash <%= key %>"><%= value %></div>
         
     | 
| 
      
 2 
     | 
    
         
            +
              <div id="flash" class="flash <%= key %>"><%= value %></div>
         
     | 
| 
       3 
3 
     | 
    
         
             
            <% end %>
         
     | 
| 
       4 
4 
     | 
    
         | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
       6 
     | 
    
         
            -
              <%= inline_forms_new_record_link %>
         
     | 
| 
       7 
     | 
    
         
            -
            </li>
         
     | 
| 
       8 
     | 
    
         
            -
            <%= inline_forms_list(@objects) %>
         
     | 
| 
      
 5 
     | 
    
         
            +
            <%= inline_forms_list(@objects, @Klass.to_s.pluralize) %>
         
     | 
| 
       9 
6 
     | 
    
         
             
            <%= will_paginate @objects %>
         
     | 
| 
       10 
7 
     | 
    
         
             
            <div id="paginate_info"><%= page_entries_info @objects %></div>
         
     | 
    
        data/inline_forms.gemspec
    CHANGED
    
    | 
         @@ -5,7 +5,7 @@ 
     | 
|
| 
       5 
5 
     | 
    
         | 
| 
       6 
6 
     | 
    
         
             
            Gem::Specification.new do |s|
         
     | 
| 
       7 
7 
     | 
    
         
             
              s.name = %q{inline_forms}
         
     | 
| 
       8 
     | 
    
         
            -
              s.version = "0.9. 
     | 
| 
      
 8 
     | 
    
         
            +
              s.version = "0.9.2"
         
     | 
| 
       9 
9 
     | 
    
         | 
| 
       10 
10 
     | 
    
         
             
              s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
         
     | 
| 
       11 
11 
     | 
    
         
             
              s.authors = ["Ace Suares"]
         
     | 
| 
         @@ -25,7 +25,6 @@ Gem::Specification.new do |s| 
     | 
|
| 
       25 
25 
     | 
    
         
             
                "Rakefile",
         
     | 
| 
       26 
26 
     | 
    
         
             
                "VERSION",
         
     | 
| 
       27 
27 
     | 
    
         
             
                "app/controllers/inline_forms_controller.rb",
         
     | 
| 
       28 
     | 
    
         
            -
                "app/helpers/form_elements/associated.rb",
         
     | 
| 
       29 
28 
     | 
    
         
             
                "app/helpers/form_elements/check_box.rb",
         
     | 
| 
       30 
29 
     | 
    
         
             
                "app/helpers/form_elements/check_list.rb",
         
     | 
| 
       31 
30 
     | 
    
         
             
                "app/helpers/form_elements/date.rb",
         
     | 
| 
         @@ -45,7 +44,6 @@ Gem::Specification.new do |s| 
     | 
|
| 
       45 
44 
     | 
    
         
             
                "app/views/inline_forms/_header.html.erb",
         
     | 
| 
       46 
45 
     | 
    
         
             
                "app/views/inline_forms/_index.html.erb",
         
     | 
| 
       47 
46 
     | 
    
         
             
                "app/views/inline_forms/_new.html.erb",
         
     | 
| 
       48 
     | 
    
         
            -
                "app/views/inline_forms/_subform.html.erb",
         
     | 
| 
       49 
47 
     | 
    
         
             
                "app/views/inline_forms/index.html.erb",
         
     | 
| 
       50 
48 
     | 
    
         
             
                "app/views/layouts/inline_forms.rhtml",
         
     | 
| 
       51 
49 
     | 
    
         
             
                "inline_forms.gemspec",
         
     | 
    
        data/lib/inline_forms.rb
    CHANGED
    
    | 
         @@ -86,8 +86,9 @@ module InlineForms 
     | 
|
| 
       86 
86 
     | 
    
         
             
              #   :country => [ "country", :dropdown ],
         
     | 
| 
       87 
87 
     | 
    
         
             
              # to the inline_forms_attribute_list in the model.
         
     | 
| 
       88 
88 
     | 
    
         
             
              #
         
     | 
| 
       89 
     | 
    
         
            -
              SPECIAL_COLUMN_TYPES = { 
     | 
| 
       90 
     | 
    
         
            -
             
     | 
| 
      
 89 
     | 
    
         
            +
              SPECIAL_COLUMN_TYPES = {
         
     | 
| 
      
 90 
     | 
    
         
            +
                :associated => :no_migration
         
     | 
| 
      
 91 
     | 
    
         
            +
              }
         
     | 
| 
       91 
92 
     | 
    
         
             
              # When a column has the type of :references or :belongs_to, then
         
     | 
| 
       92 
93 
     | 
    
         
             
              # there will be a line in the migration reflecting that, but not in the model.
         
     | 
| 
       93 
94 
     | 
    
         
             
              # == Why?
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,13 +1,13 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification 
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: inline_forms
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version 
         
     | 
| 
       4 
     | 
    
         
            -
              hash:  
     | 
| 
      
 4 
     | 
    
         
            +
              hash: 63
         
     | 
| 
       5 
5 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       6 
6 
     | 
    
         
             
              segments: 
         
     | 
| 
       7 
7 
     | 
    
         
             
              - 0
         
     | 
| 
       8 
8 
     | 
    
         
             
              - 9
         
     | 
| 
       9 
     | 
    
         
            -
              -  
     | 
| 
       10 
     | 
    
         
            -
              version: 0.9. 
     | 
| 
      
 9 
     | 
    
         
            +
              - 2
         
     | 
| 
      
 10 
     | 
    
         
            +
              version: 0.9.2
         
     | 
| 
       11 
11 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       12 
12 
     | 
    
         
             
            authors: 
         
     | 
| 
       13 
13 
     | 
    
         
             
            - Ace Suares
         
     | 
| 
         @@ -96,7 +96,6 @@ files: 
     | 
|
| 
       96 
96 
     | 
    
         
             
            - Rakefile
         
     | 
| 
       97 
97 
     | 
    
         
             
            - VERSION
         
     | 
| 
       98 
98 
     | 
    
         
             
            - app/controllers/inline_forms_controller.rb
         
     | 
| 
       99 
     | 
    
         
            -
            - app/helpers/form_elements/associated.rb
         
     | 
| 
       100 
99 
     | 
    
         
             
            - app/helpers/form_elements/check_box.rb
         
     | 
| 
       101 
100 
     | 
    
         
             
            - app/helpers/form_elements/check_list.rb
         
     | 
| 
       102 
101 
     | 
    
         
             
            - app/helpers/form_elements/date.rb
         
     | 
| 
         @@ -116,7 +115,6 @@ files: 
     | 
|
| 
       116 
115 
     | 
    
         
             
            - app/views/inline_forms/_header.html.erb
         
     | 
| 
       117 
116 
     | 
    
         
             
            - app/views/inline_forms/_index.html.erb
         
     | 
| 
       118 
117 
     | 
    
         
             
            - app/views/inline_forms/_new.html.erb
         
     | 
| 
       119 
     | 
    
         
            -
            - app/views/inline_forms/_subform.html.erb
         
     | 
| 
       120 
118 
     | 
    
         
             
            - app/views/inline_forms/index.html.erb
         
     | 
| 
       121 
119 
     | 
    
         
             
            - app/views/layouts/inline_forms.rhtml
         
     | 
| 
       122 
120 
     | 
    
         
             
            - inline_forms.gemspec
         
     | 
| 
         @@ -1,94 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            InlineForms::SPECIAL_COLUMN_TYPES[:associated]=:no_migration
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
            # associated
         
     | 
| 
       4 
     | 
    
         
            -
            def associated_show(object, attribute)
         
     | 
| 
       5 
     | 
    
         
            -
              #show a list of records
         
     | 
| 
       6 
     | 
    
         
            -
              inline_forms_list(object.send(attribute.to_s.pluralize))
         
     | 
| 
       7 
     | 
    
         
            -
            end
         
     | 
| 
       8 
     | 
    
         
            -
            #
         
     | 
| 
       9 
     | 
    
         
            -
            #  out = String.new
         
     | 
| 
       10 
     | 
    
         
            -
            #  if @sub_id && @sub_id.to_i > 0
         
     | 
| 
       11 
     | 
    
         
            -
            #    # if it's not a new record (sub_id > 0) then just update the list-element
         
     | 
| 
       12 
     | 
    
         
            -
            #    out << '<li>'
         
     | 
| 
       13 
     | 
    
         
            -
            #    out << link_to( @associated_record._presentation,
         
     | 
| 
       14 
     | 
    
         
            -
            #      send('edit_' + @Klass.to_s.underscore + '_path', object,
         
     | 
| 
       15 
     | 
    
         
            -
            #        :attribute => attribute,
         
     | 
| 
       16 
     | 
    
         
            -
            #        :sub_id => @sub_id,
         
     | 
| 
       17 
     | 
    
         
            -
            #        :form_element => this_method.reverse.sub(/.*_/,'').reverse,
         
     | 
| 
       18 
     | 
    
         
            -
            #        :update => "attribute_#{attribute.to_s.singularize}_#{@sub_id.to_s}" ),
         
     | 
| 
       19 
     | 
    
         
            -
            #      :method => :get,
         
     | 
| 
       20 
     | 
    
         
            -
            #      :remote => true )
         
     | 
| 
       21 
     | 
    
         
            -
            #    out << '</li>'
         
     | 
| 
       22 
     | 
    
         
            -
            #  else
         
     | 
| 
       23 
     | 
    
         
            -
            #    # if it's a new record (sub_id == 0) then update the whole <ul> and redraw all list-elements
         
     | 
| 
       24 
     | 
    
         
            -
            #    out << "<ul class='associated #{attribute}' id='list_#{attribute}_#{object.id.to_s}'>" if @sub_id.nil?
         
     | 
| 
       25 
     | 
    
         
            -
            #    out << '<li class="associated_new">'
         
     | 
| 
       26 
     | 
    
         
            -
            #    out << link_to( 'new', send('edit_' + @Klass.to_s.underscore + '_path',
         
     | 
| 
       27 
     | 
    
         
            -
            #        object,
         
     | 
| 
       28 
     | 
    
         
            -
            #        :attribute => attribute,
         
     | 
| 
       29 
     | 
    
         
            -
            #        :sub_id => 0,
         
     | 
| 
       30 
     | 
    
         
            -
            #        :form_element => this_method.sub(/_[a-z]+$/,''),
         
     | 
| 
       31 
     | 
    
         
            -
            #        :update => "list_#{attribute}_#{object.id.to_s}" ),
         
     | 
| 
       32 
     | 
    
         
            -
            #      :method => :get,
         
     | 
| 
       33 
     | 
    
         
            -
            #      :remote => true )
         
     | 
| 
       34 
     | 
    
         
            -
            #    out << '</li>'
         
     | 
| 
       35 
     | 
    
         
            -
            #    if not object.send(attribute.to_s.pluralize).empty?
         
     | 
| 
       36 
     | 
    
         
            -
            #      # if there are things to show, show them
         
     | 
| 
       37 
     | 
    
         
            -
            #      object.send(attribute.to_s.pluralize).each do |m|
         
     | 
| 
       38 
     | 
    
         
            -
            #        out << "<span id='attribute_#{attribute.to_s.singularize}_#{m.id.to_s}'>"
         
     | 
| 
       39 
     | 
    
         
            -
            #        out << '<li>'
         
     | 
| 
       40 
     | 
    
         
            -
            #        out << link_to( m._presentation, send('edit_' + @Klass.to_s.underscore + '_path',
         
     | 
| 
       41 
     | 
    
         
            -
            #            object,
         
     | 
| 
       42 
     | 
    
         
            -
            #            :attribute => attribute,
         
     | 
| 
       43 
     | 
    
         
            -
            #            :sub_id => m.id,
         
     | 
| 
       44 
     | 
    
         
            -
            #            :form_element => this_method.sub(/_[a-z]+$/,''),
         
     | 
| 
       45 
     | 
    
         
            -
            #            :update => "attribute_#{attribute.to_s.singularize}_#{m.id.to_s}" ),
         
     | 
| 
       46 
     | 
    
         
            -
            #          :method => :get,
         
     | 
| 
       47 
     | 
    
         
            -
            #          :remote => true )
         
     | 
| 
       48 
     | 
    
         
            -
            #        out << '</li>'
         
     | 
| 
       49 
     | 
    
         
            -
            #        out << '</span>'
         
     | 
| 
       50 
     | 
    
         
            -
            #      end
         
     | 
| 
       51 
     | 
    
         
            -
            #    end
         
     | 
| 
       52 
     | 
    
         
            -
            #    # add a 'new' link for creating a new record
         
     | 
| 
       53 
     | 
    
         
            -
            #    out << '</ul>' if @sub_id.nil?
         
     | 
| 
       54 
     | 
    
         
            -
            #  end
         
     | 
| 
       55 
     | 
    
         
            -
            #  raw(out)
         
     | 
| 
       56 
     | 
    
         
            -
            # end
         
     | 
| 
       57 
     | 
    
         
            -
            #
         
     | 
| 
       58 
     | 
    
         
            -
            #def associated_edit(object, attribute)
         
     | 
| 
       59 
     | 
    
         
            -
            #  # @sub_id is the id of the associated record
         
     | 
| 
       60 
     | 
    
         
            -
            #  if @sub_id.to_i > 0
         
     | 
| 
       61 
     | 
    
         
            -
            #    # only if @sub_id > 0, means we have a associated record
         
     | 
| 
       62 
     | 
    
         
            -
            #    @associated_record_id = object.send(attribute.to_s.singularize + "_ids").index(@sub_id.to_i)
         
     | 
| 
       63 
     | 
    
         
            -
            #    @associated_record = object.send(attribute)[@associated_record_id]
         
     | 
| 
       64 
     | 
    
         
            -
            #    @update_span = "attribute_#{attribute.to_s.singularize}_#{@sub_id.to_s}"
         
     | 
| 
       65 
     | 
    
         
            -
            #  else
         
     | 
| 
       66 
     | 
    
         
            -
            #    # but if @sub_id = 0, then we are dealing with a new associated record
         
     | 
| 
       67 
     | 
    
         
            -
            #    # in that case, we .new a record, and the update_span is the whole <ul>
         
     | 
| 
       68 
     | 
    
         
            -
            #    @associated_record = attribute.to_s.singularize.capitalize.constantize.new
         
     | 
| 
       69 
     | 
    
         
            -
            #    @update_span = 'list_' + attribute.to_s + '_' + object.id.to_s
         
     | 
| 
       70 
     | 
    
         
            -
            #  end
         
     | 
| 
       71 
     | 
    
         
            -
            #  render :partial => "inline_forms/subform"
         
     | 
| 
       72 
     | 
    
         
            -
            #end
         
     | 
| 
       73 
     | 
    
         
            -
            #
         
     | 
| 
       74 
     | 
    
         
            -
            #def associated_update(object, attribute)
         
     | 
| 
       75 
     | 
    
         
            -
            #  return if object.id.nil?
         
     | 
| 
       76 
     | 
    
         
            -
            #  if @sub_id.to_i > 0
         
     | 
| 
       77 
     | 
    
         
            -
            #    # get the existing associated record
         
     | 
| 
       78 
     | 
    
         
            -
            #    @associated_record_id = object.send(attribute.to_s.singularize + "_ids").index(@sub_id.to_i)
         
     | 
| 
       79 
     | 
    
         
            -
            #    @associated_record = object.send(attribute)[@associated_record_id]
         
     | 
| 
       80 
     | 
    
         
            -
            #    @update_span = "attribute_" + attribute.to_s.singularize + '_' + @sub_id.to_s
         
     | 
| 
       81 
     | 
    
         
            -
            #  else
         
     | 
| 
       82 
     | 
    
         
            -
            #    # create a new associated record
         
     | 
| 
       83 
     | 
    
         
            -
            #    @associated_record = object.send(attribute.to_sym).new
         
     | 
| 
       84 
     | 
    
         
            -
            #    @update_span = 'list_' + attribute.to_s + '_' + object.id.to_s
         
     | 
| 
       85 
     | 
    
         
            -
            #  end
         
     | 
| 
       86 
     | 
    
         
            -
            #  # process the sub_form attributes (attributes). These are declared in the model!
         
     | 
| 
       87 
     | 
    
         
            -
            #  @associated_record.inline_forms_attribute_list.each do | @subform_description, @subform_attribute, @subform_element |
         
     | 
| 
       88 
     | 
    
         
            -
            #    # have no fear
         
     | 
| 
       89 
     | 
    
         
            -
            #    send("#{@subform_element}_update", @associated_record, @subform_attribute) unless @subform_element == :associated
         
     | 
| 
       90 
     | 
    
         
            -
            #  end
         
     | 
| 
       91 
     | 
    
         
            -
            #  @associated_record.save
         
     | 
| 
       92 
     | 
    
         
            -
            #end
         
     | 
| 
       93 
     | 
    
         
            -
            #
         
     | 
| 
       94 
     | 
    
         
            -
            #
         
     | 
| 
         @@ -1,20 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            <table cellpadding="0" cellspacing="0" class="subform">
         
     | 
| 
       2 
     | 
    
         
            -
              <% @associated_record.inline_forms_attribute_list.each do | @subform_field, @subform_description, @subform_element  | %>
         
     | 
| 
       3 
     | 
    
         
            -
                <tr>
         
     | 
| 
       4 
     | 
    
         
            -
                  <td valign="top">
         
     | 
| 
       5 
     | 
    
         
            -
                    <div class="subform_field-name">
         
     | 
| 
       6 
     | 
    
         
            -
                      <%= h(@subform_description) %>
         
     | 
| 
       7 
     | 
    
         
            -
                    </div>
         
     | 
| 
       8 
     | 
    
         
            -
                  </td>
         
     | 
| 
       9 
     | 
    
         
            -
                  <td valign="top">
         
     | 
| 
       10 
     | 
    
         
            -
                    <div class="subform_field-value">
         
     | 
| 
       11 
     | 
    
         
            -
                      <% if @subform_element == :associated -%>
         
     | 
| 
       12 
     | 
    
         
            -
                        <%= inline_forms_list @associated_record.send(@subform_field) %>
         
     | 
| 
       13 
     | 
    
         
            -
                      <% else %>
         
     | 
| 
       14 
     | 
    
         
            -
                        <%= send("#{@subform_element}_edit", @associated_record, @subform_field.to_s) %>
         
     | 
| 
       15 
     | 
    
         
            -
                      <% end %>
         
     | 
| 
       16 
     | 
    
         
            -
                    </div>
         
     | 
| 
       17 
     | 
    
         
            -
                  </td>
         
     | 
| 
       18 
     | 
    
         
            -
                </tr>
         
     | 
| 
       19 
     | 
    
         
            -
              <% end %>
         
     | 
| 
       20 
     | 
    
         
            -
            </table>
         
     |