fixed conflict after merge with dev branch for report query updated

This commit is contained in:
Nweni
2019-11-27 14:09:16 +06:30
75 changed files with 1509 additions and 1940 deletions

View File

@@ -0,0 +1,57 @@
module NumberFormattable
extend ActiveSupport::Concern
def precision
@precision ||= Lookup.number_formats.find { |f| f.name.parameterize.underscore == 'precision'}
if @precision
@precision.value.to_i
else
@print_settings ||= PrintSetting.get_precision_delimiter
if @print_settings
@print_settings.precision.to_i
end
end || 2
end
def delimiter
@delimiter ||= Lookup.number_formats.find { |f| f.name.parameterize.underscore == 'delimiter'}
if @delimiter
@delimiter_value ||= @delimiter.value.to_s.gsub(/\\u(\h{4})/) { |m| [$1].pack("H*").unpack("n*").pack("U*") }
else
@print_settings ||= PrintSetting.get_precision_delimiter
if @print_settings
"," if @print_settings.delimiter
end
end || ""
end
def strip_insignificant_zeros
@strip_insignificant_zeros ||= Lookup.number_formats.find { |f| f.name.parameterize.underscore == 'strip_insignificant_zeros'}
if @strip_insignificant_zeros
['1', 't', 'true', 'on', 'y', 'yes'].include? @strip_insignificant_zeros.value.to_s
end || false
end
def number_format(number, options = {})
options[:precision] = options[:precision] || precision
# options[:delimiter] = options[:delimiter] || delimiter
options[:strip_insignificant_zeros] = options[:strip_insignificant_zeros] || strip_insignificant_zeros
if options[:precision] > 0
if options[:strip_insignificant_zeros]
formatted = "%.12g" % number.round(options[:precision])
else
formatted = "%.#{options[:precision]}f" % number.round(options[:precision])
end
else
formatted = number.to_i.to_s
end
if options[:delimiter] &&
formatted = formatted.gsub(/(\d)(?=\d{3}+(\.\d*)?$)/, "\\1#{options[:delimiter]}")
end
return formatted
end
end