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 CHANGED
@@ -1 +1 @@
1
- 0.9.1
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 product."
86
+ flash[:success] = "Successfully created #{object.class.to_s.downcase}."
87
87
  else
88
- flash[:error] = "NOT Successfully created product."
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
- send("#{form_element}_show", object, attribute)
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, tag=:li)
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 tag, :id => css_class_id, :class => cycle("odd", "even") do
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">Hello Header</div>
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
- <li class="inline_forms_new_record_link">
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>
@@ -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.1"
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",
@@ -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: 57
4
+ hash: 63
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 9
9
- - 1
10
- version: 0.9.1
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>