@manifest = LocalManifest.manifest.forms[@form_name]
@template_dir = 'templates/r/form/'
@fields = {}
- self.init_fields
end
def each_field
@manifest.each_field do |field_name, field_manifest|
if boost_name = @item.class.find_boost_name(field_name)
extend_form_name = @item.boosters[boost_name].model_name
- extend_form_manifest = LocalManifest.manifest.forms[extend_form_name]
- @fields[field_name] = ExtendForm.new self, extend_form_name, @item, @mounted, @operators
+ extend_item = @item.boosters[boost_name].extend_item
+ @fields[field_name] = ExtendForm.new self, extend_form_name, extend_item, @mounted, @operators, field_name
else
@fields[field_name] = Field.new self, field_name, field_manifest
end
end
class ExtendForm < FormBase
- attr :parent
+ attr :parent, :field_name
- def initialize parent, form_name, item, mounted, submit, operators
+ def initialize parent, form_name, item, mounted, operators, field_name
@parent = parent
+ @field_name = field_name
super form_name, item, mounted, operators
+ self.init_fields
end
def init_fields
@manifest.each_field do |field_name, field_manifest|
- if boost_name = @item.class.find_boost_name(field_name)
- extend_form_name = @item.boosters[boost_name].model_name
- extend_form_manifest = LocalManifest.manifest.forms[extend_form_name]
- @fields[field_name] = ExtendField.new self, field_name, field_manifest, @item.boosters[n].extend_item
- else
- @fields[field_name] = Field.new self, field_name, field_manifest
- end
+ @fields[field_name] = ExtendField.new self, field_name, field_manifest
end
end
+ def template_file_name
+ "extend_form"
+ end
+
+ def template_option
+ {:form=> self}
+ end
+
end
end