Patch #14735 » RM_14735_allow_negative_time_entries.diff
lib/redmine/core_ext/string/conversions.rb (revision 281) | ||
---|---|---|
24 | 24 |
def to_hours |
25 | 25 |
s = self.dup |
26 | 26 |
s.strip! |
27 |
if s =~ %r{^(\d+([.,]\d+)?)h?$} |
|
27 |
if s =~ %r{^([-]?\d+([.,]\d+)?)h?$}
|
|
28 | 28 |
s = $1 |
29 | 29 |
else |
30 | 30 |
# 2:30 => 2.5 |
31 |
s.gsub!(%r{^(\d+):(\d+)$}) { $1.to_i + $2.to_i / 60.0 }
|
|
31 |
s.gsub!(%r{^(-?\d+):(\d+)$}) { $1.to_i + ( $2.to_i / 60.0 * ($1.to_i > 0 ? 1 : -1) ) }
|
|
32 | 32 |
# 2h30, 2h, 30m => 2.5, 2, 0.5 |
33 |
s.gsub!(%r{^((\d+)\s*(h|hours?))?\s*((\d+)\s*(m|min)?)?$}) { |m| ($1 || $4) ? ($2.to_i + $5.to_i / 60.0) : m[0] }
|
|
33 |
s.gsub!(%r{^((-?\d+)\s*(h|hours?))?\s*((\d+)\s*(m|min)?)?$}) { |m| ($1 || $4) ? ($2.to_i + $5.to_i / 60.0 * ($2.to_i > 0 ? 1 : -1)) : m[0] }
|
|
34 | 34 |
end |
35 | 35 |
# 2,5 => 2.5 |
36 | 36 |
s.gsub!(',', '.') |
- « Previous
- 1
- 2
- Next »