diff options
| author | Zog | 2018-05-25 15:09:20 +0200 | 
|---|---|---|
| committer | Zog | 2018-05-25 15:09:20 +0200 | 
| commit | 5a6ce6804f9d86c7dbb21ed20ebc08dbce552a91 (patch) | |
| tree | efc277289a196a07bf12bc97b25d804344e2b330 /app/helpers | |
| parent | c1ebc713fd0eb4692d679fc80e184cb802c98602 (diff) | |
| download | chouette-core-5a6ce6804f9d86c7dbb21ed20ebc08dbce552a91.tar.bz2 | |
Refs #7159; Updte options for netex exports
Diffstat (limited to 'app/helpers')
| -rw-r--r-- | app/helpers/exports_helper.rb | 37 | 
1 files changed, 31 insertions, 6 deletions
| diff --git a/app/helpers/exports_helper.rb b/app/helpers/exports_helper.rb index f30a80ed9..c095419bb 100644 --- a/app/helpers/exports_helper.rb +++ b/app/helpers/exports_helper.rb @@ -4,12 +4,37 @@ module ExportsHelper      import_status status    end -  def export_option_input form, export, attr, option_def, type -    opts = { required: option_def[:required], input_html: {value: export.try(attr) || option_def[:default_value]}, as: option_def[:type], selected:  export.try(attr) || option_def[:default_value]} -    opts[:collection] = option_def[:collection] if option_def.has_key?(:collection) -    opts[:collection] = export.instance_exec(&option_def[:collection]) if option_def[:collection].is_a?(Proc) -    opts[:label] = t "activerecord.attributes.export.#{type.name.demodulize.underscore}.#{attr}" -    form.input attr, opts +  def export_option_input form, export, attr, option_def, type, referentials +    if !!option_def[:depends_on_referential] +      out = "" +      referentials.each do |referential| +        out += content_tag :div, class: "slave", data: {master: "[name='export[referential_id]']", value: referential.id} do +          _opts = {depends_on_referential: false, collection: option_def[:collection].call(referential)}.reverse_update(option_def) +          export_option_input form, export, attr, _opts, type, referentials +        end +      end +      out.html_safe +    else +      opts = { required: option_def[:required], input_html: {value: export.try(attr) || option_def[:default_value]}, as: option_def[:type], selected:  export.try(attr) || option_def[:default_value]} + +      if option_def.has_key?(:collection) +        if option_def[:collection].is_a? Array +          opts[:collection] = option_def[:collection].map{|k| [export.class.tmf("#{type.name.demodulize.underscore}.#{attr}_collection.#{k}"), k]} +        else +          opts[:collection] = option_def[:collection] +        end +        opts[:collection] = export.instance_exec(&option_def[:collection]) if option_def[:collection].is_a?(Proc) +      end +      opts[:label] =  export.class.tmf("#{type.name.demodulize.underscore}.#{attr}") +      opts[:input_html]['data-select2ed'] = true if opts[:collection] +      out = form.input attr, opts +      if option_def[:depends] +        out = content_tag :div, class: "slave", data: {master: "[name='export[#{option_def[:depends][:option]}]']", value: option_def[:depends][:value]} do +          out +        end.html_safe +      end +      out +    end    end    def export_message_content message | 
