Skip to content

Commit ce44b62

Browse files
authored
Merge pull request #162 from gtt-project/fix/editing-polygon-causes-500-error2
Flatten geojson coordinates before array length comparison
2 parents 43c5126 + fc45ff1 commit ce44b62

File tree

3 files changed

+4
-4
lines changed

3 files changed

+4
-4
lines changed

init.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
author_url 'https://github.com/georepublic'
99
url 'https://github.com/gtt-project/redmine_gtt'
1010
description 'Adds location-based task management and maps'
11-
version '4.1.1'
11+
version '4.1.2'
1212

1313
requires_redmine :version_or_higher => '4.2.0'
1414

lib/redmine_gtt/patches/issue_patch.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,11 @@ def ignore_small_geom_change
3535
old_value = geom_change[0].coordinates
3636
new_value = geom_change[1].coordinates
3737
if old_value.instance_of?(Array)
38+
old_value = old_value.flatten
39+
new_value = new_value.flatten
3840
if old_value.length != new_value.length
3941
return true
4042
end
41-
old_value = old_value.flatten
42-
new_value = new_value.flatten
4343
end
4444
self.geom = geom_change[0] if new_value.zip(old_value).map { |a, b| (a-b).abs }.map {|x| x < 0.00000001}.all?
4545
end

test/unit/issue_test.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ class IssueTest < GttTest
123123
assert_equal new_coordinates, @issue.geojson["geometry"]["coordinates"]
124124

125125
new_coordinates = [old_coordinates[0].map{|c| [c[0], c[1]]}]
126-
new_coordinates[0].delete_at(1)
126+
new_coordinates[0].insert(2, [135.301041779,34.680969984])
127127
@issue.update_attribute :geojson, polygon_geojson(new_coordinates)
128128
@issue.instance_variable_set "@geojson", nil
129129
assert_equal new_coordinates, @issue.geojson["geometry"]["coordinates"]

0 commit comments

Comments
 (0)