1 require_dependency "locmare/form/field"
2 require_dependency "locmare/form/extend_field"
7 attr :form_name, :item, :mounted, :operators, :template_dir,
9 def initialize form_name, item, mounted, operators
10 @form_name = form_name
13 @operators = operators
15 @manifest = LocalManifest.manifest.forms[@form_name]
16 @template_dir = 'templates/r/form/'
22 @manifest.field_names.each do |field_name|
23 yield field_name, @fields[field_name]
27 def template_file_name
32 self.template_dir + self.template_file_name
35 def fields_template_name
36 self.template_dir + 'fields'
48 def initialize form_name, item, mounted, submit, operators
49 super form_name, item, mounted, operators
56 @manifest.each_field do |field_name, field_manifest|
57 if boost_name = @item.class.find_boost_name(field_name)
58 extend_form_name = @item.boosters[boost_name].model_name
59 extend_form_manifest = LocalManifest.manifest.forms[extend_form_name]
60 @fields[field_name] = ExtendForm.new self, extend_form_name, @item, @mounted, @operators
62 @fields[field_name] = Field.new self, field_name, field_manifest
69 @item.table_name + '.submit.new'
71 @item.table_name + '.submit.edit'
75 def submit_template_dir
76 self.template_dir + 'submit/'
79 def submit_template_name
81 self.submit_template_dir + 'submit'
83 self.submit_template_dir + 'none'
89 class ExtendForm < FormBase
92 def initialize parent, form_name, item, mounted, submit, operators
94 super form_name, item, mounted, operators
98 @manifest.each_field do |field_name, field_manifest|
99 if boost_name = @item.class.find_boost_name(field_name)
100 extend_form_name = @item.boosters[boost_name].model_name
101 extend_form_manifest = LocalManifest.manifest.forms[extend_form_name]
102 @fields[field_name] = ExtendField.new self, field_name, field_manifest, @item.boosters[n].extend_item
104 @fields[field_name] = Field.new self, field_name, field_manifest