Sha256: 945faa064d830e7769054bacd9f675ce66c6d48f89c546f5fc7ac666f40da176

Contents?: true

Size: 1.28 KB

Versions: 1

Compression:

Stored size: 1.28 KB

Contents

module Formtastic
  class FormBuilder
    def localized_input(name, args = {})
      t = self.object.send("#{name}_translations")
      field = ActiveAdmin::Mongoid::Localize::Field.new(self.object, name)

      ret = ''
      self.semantic_fields_for "#{name}_translations", field do |lf|
        ::ActiveAdmin::Mongoid::Localize.locales.each do |locale|
          args[:input_html][:value] =  (t.nil? || t[locale.to_s].nil?) ? '' : t[locale.to_s]
          flag_code = locale.to_s.include?("-") ? locale.to_s.split("-")[1].downcase : locale.to_s

          # stupid fix to be removed
          flag_code = "catalonia" if flag_code == "ca" 

          label = CGI.escapeHTML(self.object.class.human_attribute_name(name)) + " #{template.image_tag "aml/flags/#{flag_code}.png", alt: locale.to_s, title: locale.to_s}"
          if args[:as] == :ckeditor
            prepend = "<h3 style='margin: 10px 0px 0px 10px;'>#{label}</h3>#{'<abbr>*</abbr>' if field.required?}".html_safe
            args[:label] = false
          else
            prepend = ''.html_safe
            args[:label] = label.html_safe
          end
          args[:required] = field.required?

          ret << prepend + lf.input(locale, args)
        end
      end

      ret.html_safe
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
activeadmin-mongoid-localize-1.0.0 lib/activeadmin-mongoid-localize/formtastic.rb