Skip to content

Commit 29ee061

Browse files
committed
add default setting api
1 parent ea098ed commit 29ee061

File tree

4 files changed

+59
-2
lines changed

4 files changed

+59
-2
lines changed

Gemfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,6 @@ gem 'immutable-struct'
55
gem "rgeo"
66
gem "rgeo-geojson"
77
gem "pg", (ENV['GEM_PG_VERSION'] ? "~> #{ENV['GEM_PG_VERSION']}" : "~> 1.2.2") # make sure we use a version compatible with AR
8-
gem "rgeo-activerecord", (ENV['GEM_RGEO_ACTIVERECORD_VERSION'] ? "~> #{ENV['GEM_RGEO_ACTIVERECORD_VERSION']}" : "~> 7.0.1") # same as above
9-
gem 'activerecord-postgis-adapter', (ENV['GEM_ACTIVERECORD_POSTGIS_ADAPTER_VERSION'] ? "~> #{ENV['GEM_ACTIVERECORD_POSTGIS_ADAPTER_VERSION']}" : "~> 7.1.1") # same as above
8+
gem "rgeo-activerecord", (ENV['GEM_RGEO_ACTIVERECORD_VERSION'] ? "~> #{ENV['GEM_RGEO_ACTIVERECORD_VERSION']}" : "~> 6.2.2") # same as above
9+
gem 'activerecord-postgis-adapter', (ENV['GEM_ACTIVERECORD_POSTGIS_ADAPTER_VERSION'] ? "~> #{ENV['GEM_ACTIVERECORD_POSTGIS_ADAPTER_VERSION']}" : "~> 5.2.3") # same as above
1010
gem 'rails-controller-testing' # This gem brings back assigns to your controller tests as well as assert_template to both controller and integration tests.
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
class GttConfigurationController < ApplicationController
2+
3+
accept_api_auth :default_setting_configuration
4+
5+
def default_setting_configuration
6+
gtt_map_config = build_default_setting_config
7+
respond_to do |format|
8+
format.api { render json: build_default_setting_config}
9+
end
10+
end
11+
12+
def build_default_setting_config
13+
default_tracker_icon = []
14+
default_status_color = []
15+
16+
Tracker.all.sort.each {|tracker|
17+
default_tracker_icon.append({
18+
trackerID: tracker.id.to_s,
19+
trackerName: tracker.name,
20+
icon: Setting.plugin_redmine_gtt['tracker_'+tracker.id.to_s]
21+
})
22+
}
23+
IssueStatus.all.sort.each {|status|
24+
default_status_color.append({
25+
statusID: status.id.to_s,
26+
statusName: status.name,
27+
color: Setting.plugin_redmine_gtt['status_'+status.id.to_s]
28+
})
29+
}
30+
31+
mapConfig = {
32+
defaultTrackerIcon: default_tracker_icon,
33+
defaultStatusColor: default_status_color,
34+
defaultMapSetting: {
35+
centerLng: Setting.plugin_redmine_gtt['default_map_center_longitude'],
36+
centerLat: Setting.plugin_redmine_gtt['default_map_center_latitude']
37+
},
38+
geometrySetting: {
39+
geometryTypes: Setting.plugin_redmine_gtt['editable_geometry_types_on_issue_map'],
40+
GeoJsonUpload: Setting.plugin_redmine_gtt['enable_geojson_upload_on_issue_map'],
41+
},
42+
geocoderSetting: {
43+
enableGeocodingOnMap: Setting.plugin_redmine_gtt['enable_geocoding_on_map'],
44+
geocoderOptions: Setting.plugin_redmine_gtt['default_geocoder_options']
45+
}
46+
}
47+
48+
return mapConfig
49+
end
50+
end

config/routes.rb

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,7 @@
55
put 'projects/:id/settings/gtt',
66
to: 'projects#update_gtt_configuration',
77
as: :update_gtt_configuration
8+
9+
scope 'gtt' do
10+
get 'settings', to: 'gtt_configuration#default_setting_configuration', as: :default_setting_configuration
11+
end

init.rb

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@
1616
permission :manage_gtt_settings, {
1717
projects: [ :update_gtt_configuration ]
1818
}, require: :member
19+
permission :view_gtt_settings, {
20+
gtt_configuration: %i( default_setting_configuration )
21+
}, require: :member, read: true
1922
end
2023

2124
settings(

0 commit comments

Comments
 (0)