That sounds cool. 2011/3/8 Lars Helge Øverland <[email protected]>: > > This is very nice, check it out.. Google maps now default base layer, hybrid > maps available. Works on localhost, requires a key on a public domain which > can easily be obtained here: http://code.google.com/apis/maps/signup.html > > > On Tue, Mar 8, 2011 at 4:45 PM, <[email protected]> wrote: >> >> Merge authors: >> Jan Henrik Øverland (janhenrik-overland) >> ------------------------------------------------------------ >> revno: 2987 [merge] >> committer: Jan Henrik Overland <[email protected]> >> branch nick: dhis2 >> timestamp: Tue 2011-03-08 16:43:40 +0100 >> message: >> (GIS) Google Maps API key now stored as system setting + GUI for adding >> new key + Key included dynamically on page load. >> added: >> >> dhis-2/dhis-web/dhis-web-mapping/src/main/java/org/hisp/dhis/mapping/action/DeleteMapSystemSettingsAction.java >> >> dhis-2/dhis-web/dhis-web-mapping/src/main/java/org/hisp/dhis/mapping/action/GetMapSystemSettingsAction.java >> >> dhis-2/dhis-web/dhis-web-mapping/src/main/java/org/hisp/dhis/mapping/action/SetMapSystemSettingsAction.java >> >> dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/jsGoogleKey.vm >> modified: >> >> dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/startup/TableAlteror.java >> >> dhis-2/dhis-services/dhis-service-options/src/main/java/org/hisp/dhis/options/SystemSettingManager.java >> >> dhis-2/dhis-web/dhis-web-mapping/src/main/java/org/hisp/dhis/mapping/action/GetMapLegendSetByIndicatorAction.java >> >> dhis-2/dhis-web/dhis-web-mapping/src/main/java/org/hisp/dhis/mapping/action/SetMapUserSettingsAction.java >> >> dhis-2/dhis-web/dhis-web-mapping/src/main/resources/META-INF/dhis/beans.xml >> >> dhis-2/dhis-web/dhis-web-mapping/src/main/resources/org/hisp/dhis/mapping/i18n_module.properties >> dhis-2/dhis-web/dhis-web-mapping/src/main/resources/struts.xml >> dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/i18n.vm >> >> dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/mapping/index.html >> >> dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/mapping/script/index.js >> >> >> -- >> lp:dhis2 >> https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk >> >> Your team DHIS 2 developers is subscribed to branch lp:dhis2. >> To unsubscribe from this branch go to >> https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk/+edit-subscription >> >> === modified file >> 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/startup/TableAlteror.java' >> --- >> dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/startup/TableAlteror.java >> 2011-02-28 15:46:58 +0000 >> +++ >> dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/startup/TableAlteror.java >> 2011-03-08 15:29:28 +0000 >> @@ -108,6 +108,8 @@ >> executeSql( "DROP TABLE maporganisationunitrelation" ); >> executeSql( "ALTER TABLE mapview DROP COLUMN mapid" ); >> executeSql( "DROP TABLE map" ); >> + executeSql( "DELETE FROM systemsetting WHERE name = 'longitude'" >> ); >> + executeSql( "DELETE FROM systemsetting WHERE name = 'latitude'" >> ); >> >> executeSql( "ALTER TABLE map DROP CONSTRAINT >> fk_map_organisationunitid" ); >> executeSql( "ALTER TABLE map DROP COLUMN organisationunitid" ); >> >> === modified file >> 'dhis-2/dhis-services/dhis-service-options/src/main/java/org/hisp/dhis/options/SystemSettingManager.java' >> --- >> dhis-2/dhis-services/dhis-service-options/src/main/java/org/hisp/dhis/options/SystemSettingManager.java >> 2011-02-18 20:20:07 +0000 >> +++ >> dhis-2/dhis-services/dhis-service-options/src/main/java/org/hisp/dhis/options/SystemSettingManager.java >> 2011-03-08 14:55:19 +0000 >> @@ -48,8 +48,7 @@ >> final String KEY_REPORT_TEMPLATE_DIRECTORY = >> "reportTemplateDirectory"; >> final String KEY_MAX_NUMBER_OF_ATTEMPTS = "maxAttempts"; >> final String KEY_TIMEFRAME_MINUTES = "lockoutTimeframe"; >> - final String KEY_GIS_LONGITUDE = "longitude"; >> - final String KEY_GIS_LATITUDE = "latitude"; >> + final String KEY_GOOGLE_MAPS_API_KEY = "googleMapsAPIKey"; >> final String KEY_DISABLE_DATAENTRYFORM_WHEN_COMPLETED = >> "dataEntryFormCompleted"; >> final String KEY_FACTOR_OF_DEVIATION = "factorDeviation"; >> final String KEY_AGGREGATION_STRATEGY = "aggregationStrategy"; >> @@ -63,14 +62,15 @@ >> final int DEFAULT_TIMEFRAME_MINUTES = 1; >> final double DEFAULT_FACTOR_OF_DEVIATION = 2.0; >> >> + final String DEFAULT_GOOGLE_MAPS_API_KEY = >> "ABQIAAAAut6AhySExnYIXm5s2OFIkxRKNzJ-_9njnryRTbvC6CtrS4sRvRREWnxwlZUa630pLuPf3nD9i4fq9w"; >> final String AGGREGATION_STRATEGY_REAL_TIME = "real_time"; >> final String AGGREGATION_STRATEGY_BATCH = "batch"; >> final String DEFAULT_AGGREGATION_STRATEGY = >> AGGREGATION_STRATEGY_REAL_TIME; >> final int DEFAULT_COMPLETENESS_OFFSET = 15; >> >> - void saveSystemSetting( String name, Serializable value ); >> + void saveSystemSetting( String name, Serializable value ); >> >> - Serializable getSystemSetting( String name ); >> + Serializable getSystemSetting( String name ); >> >> Serializable getSystemSetting( String name, Serializable defaultValue >> ); >> >> >> === added file >> 'dhis-2/dhis-web/dhis-web-mapping/src/main/java/org/hisp/dhis/mapping/action/DeleteMapSystemSettingsAction.java' >> --- >> dhis-2/dhis-web/dhis-web-mapping/src/main/java/org/hisp/dhis/mapping/action/DeleteMapSystemSettingsAction.java >> 1970-01-01 00:00:00 +0000 >> +++ >> dhis-2/dhis-web/dhis-web-mapping/src/main/java/org/hisp/dhis/mapping/action/DeleteMapSystemSettingsAction.java >> 2011-03-08 15:14:32 +0000 >> @@ -0,0 +1,77 @@ >> +package org.hisp.dhis.mapping.action; >> + >> +/* >> + * Copyright (c) 2004-2010, University of Oslo >> + * All rights reserved. >> + * >> + * Redistribution and use in source and binary forms, with or without >> + * modification, are permitted provided that the following conditions are >> met: >> + * * Redistributions of source code must retain the above copyright >> notice, this >> + * list of conditions and the following disclaimer. >> + * * Redistributions in binary form must reproduce the above copyright >> notice, >> + * this list of conditions and the following disclaimer in the >> documentation >> + * and/or other materials provided with the distribution. >> + * * Neither the name of the HISP project nor the names of its >> contributors may >> + * be used to endorse or promote products derived from this software >> without >> + * specific prior written permission. >> + * >> + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS >> "AS IS" AND >> + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE >> IMPLIED >> + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE >> + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE >> LIABLE FOR >> + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL >> DAMAGES >> + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR >> SERVICES; >> + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER >> CAUSED AND ON >> + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR >> TORT >> + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE >> OF THIS >> + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. >> + */ >> + >> +import org.hisp.dhis.options.SystemSettingManager; >> + >> +import com.opensymphony.xwork2.Action; >> + >> +/** >> + * @author Jan Henrik Overland >> + * @version $Id$ >> + */ >> +public class DeleteMapSystemSettingsAction >> + implements Action >> +{ >> + // >> ------------------------------------------------------------------------- >> + // Dependencies >> + // >> ------------------------------------------------------------------------- >> + >> + private SystemSettingManager systemSettingManager; >> + >> + public void setSystemSettingManager( SystemSettingManager >> systemSettingManager ) >> + { >> + this.systemSettingManager = systemSettingManager; >> + } >> + >> + // >> ------------------------------------------------------------------------- >> + // Input >> + // >> ------------------------------------------------------------------------- >> + >> + private Boolean googleKey; >> + >> + public void setGoogleKey( Boolean googleKey ) >> + { >> + this.googleKey = googleKey; >> + } >> + >> + // >> ------------------------------------------------------------------------- >> + // Action implementation >> + // >> ------------------------------------------------------------------------- >> + >> + public String execute() >> + throws Exception >> + { >> + if ( googleKey == true ) >> + { >> + systemSettingManager.deleteSystemSetting( >> SystemSettingManager.KEY_GOOGLE_MAPS_API_KEY ); >> + } >> + >> + return SUCCESS; >> + } >> +} >> >> === modified file >> 'dhis-2/dhis-web/dhis-web-mapping/src/main/java/org/hisp/dhis/mapping/action/GetMapLegendSetByIndicatorAction.java' >> --- >> dhis-2/dhis-web/dhis-web-mapping/src/main/java/org/hisp/dhis/mapping/action/GetMapLegendSetByIndicatorAction.java >> 2010-04-12 21:23:33 +0000 >> +++ >> dhis-2/dhis-web/dhis-web-mapping/src/main/java/org/hisp/dhis/mapping/action/GetMapLegendSetByIndicatorAction.java >> 2011-03-07 20:53:01 +0000 >> @@ -62,7 +62,7 @@ >> } >> >> // >> ------------------------------------------------------------------------- >> - // Input >> + // Output >> // >> ------------------------------------------------------------------------- >> >> private MapLegendSet object; >> >> === added file >> 'dhis-2/dhis-web/dhis-web-mapping/src/main/java/org/hisp/dhis/mapping/action/GetMapSystemSettingsAction.java' >> --- >> dhis-2/dhis-web/dhis-web-mapping/src/main/java/org/hisp/dhis/mapping/action/GetMapSystemSettingsAction.java >> 1970-01-01 00:00:00 +0000 >> +++ >> dhis-2/dhis-web/dhis-web-mapping/src/main/java/org/hisp/dhis/mapping/action/GetMapSystemSettingsAction.java >> 2011-03-08 14:55:19 +0000 >> @@ -0,0 +1,76 @@ >> +package org.hisp.dhis.mapping.action; >> + >> +/* >> + * Copyright (c) 2004-2010, University of Oslo >> + * All rights reserved. >> + * >> + * Redistribution and use in source and binary forms, with or without >> + * modification, are permitted provided that the following conditions are >> met: >> + * * Redistributions of source code must retain the above copyright >> notice, this >> + * list of conditions and the following disclaimer. >> + * * Redistributions in binary form must reproduce the above copyright >> notice, >> + * this list of conditions and the following disclaimer in the >> documentation >> + * and/or other materials provided with the distribution. >> + * * Neither the name of the HISP project nor the names of its >> contributors may >> + * be used to endorse or promote products derived from this software >> without >> + * specific prior written permission. >> + * >> + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS >> "AS IS" AND >> + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE >> IMPLIED >> + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE >> + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE >> LIABLE FOR >> + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL >> DAMAGES >> + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR >> SERVICES; >> + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER >> CAUSED AND ON >> + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR >> TORT >> + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE >> OF THIS >> + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. >> + */ >> + >> +import org.hisp.dhis.options.SystemSettingManager; >> + >> +import com.opensymphony.xwork2.Action; >> + >> +/** >> + * @author Jan Henrik Overland >> + * @version $Id$ >> + */ >> +public class GetMapSystemSettingsAction >> + implements Action >> +{ >> + // >> ------------------------------------------------------------------------- >> + // Dependencies >> + // >> ------------------------------------------------------------------------- >> + >> + private SystemSettingManager systemSettingManager; >> + >> + public void setSystemSettingManager( SystemSettingManager >> systemSettingManager ) >> + { >> + this.systemSettingManager = systemSettingManager; >> + } >> + >> + // >> ------------------------------------------------------------------------- >> + // Output >> + // >> ------------------------------------------------------------------------- >> + >> + private String googleKey; >> + >> + public String getGoogleKey() >> + { >> + return googleKey; >> + } >> + >> + // >> ------------------------------------------------------------------------- >> + // Action implementation >> + // >> ------------------------------------------------------------------------- >> + >> + public String execute() >> + throws Exception >> + { >> + googleKey = "<script >> src='http://maps.google.com/maps?file=api&v=3&sensor=false&key=" >> + + (String) systemSettingManager.getSystemSetting( >> SystemSettingManager.KEY_GOOGLE_MAPS_API_KEY, >> + SystemSettingManager.DEFAULT_GOOGLE_MAPS_API_KEY ) + "' >> type='text/javascript'></script>"; >> + >> + return SUCCESS; >> + } >> +} >> >> === added file >> 'dhis-2/dhis-web/dhis-web-mapping/src/main/java/org/hisp/dhis/mapping/action/SetMapSystemSettingsAction.java' >> --- >> dhis-2/dhis-web/dhis-web-mapping/src/main/java/org/hisp/dhis/mapping/action/SetMapSystemSettingsAction.java >> 1970-01-01 00:00:00 +0000 >> +++ >> dhis-2/dhis-web/dhis-web-mapping/src/main/java/org/hisp/dhis/mapping/action/SetMapSystemSettingsAction.java >> 2011-03-08 14:55:19 +0000 >> @@ -0,0 +1,77 @@ >> +package org.hisp.dhis.mapping.action; >> + >> +/* >> + * Copyright (c) 2004-2010, University of Oslo >> + * All rights reserved. >> + * >> + * Redistribution and use in source and binary forms, with or without >> + * modification, are permitted provided that the following conditions are >> met: >> + * * Redistributions of source code must retain the above copyright >> notice, this >> + * list of conditions and the following disclaimer. >> + * * Redistributions in binary form must reproduce the above copyright >> notice, >> + * this list of conditions and the following disclaimer in the >> documentation >> + * and/or other materials provided with the distribution. >> + * * Neither the name of the HISP project nor the names of its >> contributors may >> + * be used to endorse or promote products derived from this software >> without >> + * specific prior written permission. >> + * >> + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS >> "AS IS" AND >> + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE >> IMPLIED >> + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE >> + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE >> LIABLE FOR >> + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL >> DAMAGES >> + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR >> SERVICES; >> + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER >> CAUSED AND ON >> + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR >> TORT >> + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE >> OF THIS >> + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. >> + */ >> + >> +import org.hisp.dhis.options.SystemSettingManager; >> + >> +import com.opensymphony.xwork2.Action; >> + >> +/** >> + * @author Jan Henrik Overland >> + * @version $Id$ >> + */ >> +public class SetMapSystemSettingsAction >> + implements Action >> +{ >> + // >> ------------------------------------------------------------------------- >> + // Dependencies >> + // >> ------------------------------------------------------------------------- >> + >> + private SystemSettingManager systemSettingManager; >> + >> + public void setSystemSettingManager( SystemSettingManager >> systemSettingManager ) >> + { >> + this.systemSettingManager = systemSettingManager; >> + } >> + >> + // >> ------------------------------------------------------------------------- >> + // Input >> + // >> ------------------------------------------------------------------------- >> + >> + private String googleKey; >> + >> + public void setGoogleKey( String googleKey ) >> + { >> + this.googleKey = googleKey; >> + } >> + >> + // >> ------------------------------------------------------------------------- >> + // Action implementation >> + // >> ------------------------------------------------------------------------- >> + >> + public String execute() >> + throws Exception >> + { >> + if ( googleKey != null ) >> + { >> + systemSettingManager.saveSystemSetting( >> SystemSettingManager.KEY_GOOGLE_MAPS_API_KEY, googleKey ); >> + } >> + >> + return SUCCESS; >> + } >> +} >> >> === modified file >> 'dhis-2/dhis-web/dhis-web-mapping/src/main/java/org/hisp/dhis/mapping/action/SetMapUserSettingsAction.java' >> --- >> dhis-2/dhis-web/dhis-web-mapping/src/main/java/org/hisp/dhis/mapping/action/SetMapUserSettingsAction.java >> 2010-11-15 16:26:51 +0000 >> +++ >> dhis-2/dhis-web/dhis-web-mapping/src/main/java/org/hisp/dhis/mapping/action/SetMapUserSettingsAction.java >> 2011-03-08 10:15:50 +0000 >> @@ -69,7 +69,10 @@ >> public String execute() >> throws Exception >> { >> - userSettingService.saveUserSetting( KEY_MAP_DATE_TYPE, >> mapDateType ); >> + if ( mapDateType != null ) >> + { >> + userSettingService.saveUserSetting( KEY_MAP_DATE_TYPE, >> mapDateType ); >> + } >> >> return SUCCESS; >> } >> >> === modified file >> 'dhis-2/dhis-web/dhis-web-mapping/src/main/resources/META-INF/dhis/beans.xml' >> --- >> dhis-2/dhis-web/dhis-web-mapping/src/main/resources/META-INF/dhis/beans.xml >> 2011-02-02 10:36:33 +0000 >> +++ >> dhis-2/dhis-web/dhis-web-mapping/src/main/resources/META-INF/dhis/beans.xml >> 2011-03-08 15:14:32 +0000 >> @@ -61,6 +61,26 @@ >> scope="prototype"> >> <property name="userSettingService" >> ref="org.hisp.dhis.user.UserSettingService" /> >> </bean> >> + >> + <!-- SystemSetting --> >> + >> + <bean id="org.hisp.dhis.mapping.action.GetMapSystemSettingsAction" >> + class="org.hisp.dhis.mapping.action.GetMapSystemSettingsAction" >> + scope="prototype"> >> + <property name="systemSettingManager" >> ref="org.hisp.dhis.options.SystemSettingManager" /> >> + </bean> >> + >> + <bean id="org.hisp.dhis.mapping.action.SetMapSystemSettingsAction" >> + class="org.hisp.dhis.mapping.action.SetMapSystemSettingsAction" >> + scope="prototype"> >> + <property name="systemSettingManager" >> ref="org.hisp.dhis.options.SystemSettingManager" /> >> + </bean> >> + >> + <bean id="org.hisp.dhis.mapping.action.DeleteMapSystemSettingsAction" >> + >> class="org.hisp.dhis.mapping.action.DeleteMapSystemSettingsAction" >> + scope="prototype"> >> + <property name="systemSettingManager" >> ref="org.hisp.dhis.options.SystemSettingManager" /> >> + </bean> >> >> <!-- Map values --> >> >> >> === modified file >> 'dhis-2/dhis-web/dhis-web-mapping/src/main/resources/org/hisp/dhis/mapping/i18n_module.properties' >> --- >> dhis-2/dhis-web/dhis-web-mapping/src/main/resources/org/hisp/dhis/mapping/i18n_module.properties >> 2011-02-25 19:04:17 +0000 >> +++ >> dhis-2/dhis-web/dhis-web-mapping/src/main/resources/org/hisp/dhis/mapping/i18n_module.properties >> 2011-03-07 20:53:01 +0000 >> @@ -238,4 +238,5 @@ >> max = >> max >> characters = >> characters >> geojson_file = GeoJSON file >> -history = >> History >> \ No newline at end of file >> +history = >> History >> +api_key = >> API key >> \ No newline at end of file >> >> === modified file >> 'dhis-2/dhis-web/dhis-web-mapping/src/main/resources/struts.xml' >> --- dhis-2/dhis-web/dhis-web-mapping/src/main/resources/struts.xml >> 2011-01-26 11:42:12 +0000 >> +++ dhis-2/dhis-web/dhis-web-mapping/src/main/resources/struts.xml >> 2011-03-08 15:14:32 +0000 >> @@ -34,8 +34,28 @@ >> >> <action name="setMapUserSettings" >> class="org.hisp.dhis.mapping.action.SetMapUserSettingsAction"> >> - <result name="success" >> type="velocity-json">/dhis-web-mapping/void.vm >> - </result> >> + <result name="success" type="velocity-json"> >> + /dhis-web-mapping/void.vm</result> >> + </action> >> + >> + <!-- SystemSetting --> >> + >> + <action name="getMapSystemSettings" >> + >> class="org.hisp.dhis.mapping.action.GetMapSystemSettingsAction"> >> + <result name="success" type="velocity-json"> >> + /dhis-web-mapping/jsGoogleKey.vm</result> >> + </action> >> + >> + <action name="setMapSystemSettings" >> + >> class="org.hisp.dhis.mapping.action.SetMapSystemSettingsAction"> >> + <result name="success" type="velocity-json"> >> + /dhis-web-mapping/void.vm</result> >> + </action> >> + >> + <action name="deleteMapSystemSettings" >> + >> class="org.hisp.dhis.mapping.action.DeleteMapSystemSettingsAction"> >> + <result name="success" type="velocity-json"> >> + /dhis-web-mapping/void.vm</result> >> </action> >> >> <!-- OrganisationUnit --> >> @@ -351,7 +371,7 @@ >> >> <!-- i18n --> >> >> - <action name="i18nJavaScript" >> class="org.hisp.dhis.mapping.action.NoAction"> >> + <action name="i18n" >> class="org.hisp.dhis.mapping.action.NoAction"> >> <result name="success" >> type="velocity">/dhis-web-mapping/i18n.vm</result> >> </action> >> >> >> === modified file >> 'dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/i18n.vm' >> --- >> dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/i18n.vm >> 2011-02-25 19:04:17 +0000 >> +++ >> dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/i18n.vm >> 2011-03-07 20:53:01 +0000 >> @@ -240,5 +240,6 @@ >> max: '$encoder.jsEscape($i18n.getString( 'max' ) , "'")', >> characters: '$encoder.jsEscape($i18n.getString( 'characters' ) , >> "'")', >> geojson_file: '$encoder.jsEscape($i18n.getString( 'geojson_file' ) , >> "'")', >> - history: '$encoder.jsEscape($i18n.getString( 'history' ) , "'")' >> + history: '$encoder.jsEscape($i18n.getString( 'history' ) , "'")', >> + api_key: '$encoder.jsEscape($i18n.getString( 'api_key' ) , "'")' >> }; >> \ No newline at end of file >> >> === added file >> 'dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/jsGoogleKey.vm' >> --- >> dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/jsGoogleKey.vm >> 1970-01-01 00:00:00 +0000 >> +++ >> dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/jsGoogleKey.vm >> 2011-03-08 14:55:19 +0000 >> @@ -0,0 +1,1 @@ >> +document.write("$!encoder.jsonEncode( ${googleKey} )"); >> \ No newline at end of file >> >> === modified file >> 'dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/mapping/index.html' >> --- >> dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/mapping/index.html >> 2011-03-03 14:42:07 +0000 >> +++ >> dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/mapping/index.html >> 2011-03-08 14:55:19 +0000 >> @@ -42,7 +42,7 @@ >> >> <div id="position"> >> <div id="mouseposition"></div> >> - </div> >> + </div> >> >> <form id="exportForm" method="post"> >> <input type="hidden" id="titleField" name="title"/> >> @@ -64,7 +64,7 @@ >> <input type="hidden" id="imageFormat" name="imageFormat"/> >> </form> >> >> - <!-- JavaScript --> >> + <!-- JavaScript --> >> >> <!-- ExtJS --> >> <script type="text/javascript" >> src="../resources/ext/adapter/ext/ext-base.js"></script> >> @@ -86,9 +86,6 @@ >> <!-- UX --> >> <script type="text/javascript" >> src="../resources/openlayers-ux/newSelectFeature.js"></script> >> >> - <!-- Google Maps API --> >> - <script >> src="http://maps.google.com/maps?file=api&v=3&sensor=false&key=ABQIAAAAut6AhySExnYIXm5s2OFIkxRKNzJ-_9njnryRTbvC6CtrS4sRvRREWnxwlZUa630pLuPf3nD9i4fq9w" >> type="text/javascript"></script> >> - >> <!-- GeoExt --> >> <script type="text/javascript" >> src="../resources/geoext/script/GeoExt.js"></script> >> >> @@ -96,7 +93,8 @@ >> <script type="text/javascript" >> src="../resources/mapfish/MapFish.js"></script> >> >> <!-- DHIS --> >> - <script type="text/javascript" >> src="i18nJavaScript.action"></script> >> + <script type="text/javascript" src="i18n.action"></script> >> + <script type="text/javascript" >> src="getMapSystemSettings.action"></script> >> <script type="text/javascript" src="script/global.js"></script> >> <script type="text/javascript" src="script/index.js"></script> >> </body> >> >> === modified file >> 'dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/mapping/script/index.js' >> --- >> dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/mapping/script/index.js >> 2011-03-03 14:42:07 +0000 >> +++ >> dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/mapping/script/index.js >> 2011-03-08 15:38:37 +0000 >> @@ -8,8 +8,8 @@ >> controls: [new OpenLayers.Control.MouseToolbar()], >> displayProjection: new OpenLayers.Projection("EPSG:4326") >> }); >> - >> - G.vars.mask = new >> Ext.LoadMask(Ext.getBody(),{msg:G.i18n.loading,msgCls:'x-mask-loading2'}); >> + >> + G.vars.mask = new >> Ext.LoadMask(Ext.getBody(),{msg:G.i18n.loading,msgCls:'x-mask-loading2'}); >> G.vars.parameter = G.util.getUrlParam('view') ? {id: >> G.util.getUrlParam('view')} : {id: null}; >> >> Ext.Ajax.request({ >> @@ -379,7 +379,7 @@ >> G.vars.map.addLayer(pointLayer); >> >> /* Init base layers */ >> - var gm_normal = new OpenLayers.Layer.Google("GM Default", { >> + var gm_normal = new OpenLayers.Layer.Google("Google Normal", { >> type: G_NORMAL_MAP, >> sphericalMercator: true, >> maxExtent: new >> OpenLayers.Bounds(-20037508.34,-20037508.34,20037508.34,20037508.34), >> @@ -388,7 +388,7 @@ >> gm_normal.layerType = G.conf.map_layer_type_baselayer; >> G.vars.map.addLayer(gm_normal); >> >> - var gm_hybrid = new OpenLayers.Layer.Google("GM Hybrid", { >> + var gm_hybrid = new OpenLayers.Layer.Google("Google Hybrid", { >> type: G_HYBRID_MAP, >> sphericalMercator: true, >> maxExtent: new >> OpenLayers.Bounds(-20037508.34,-20037508.34,20037508.34,20037508.34), >> @@ -1391,6 +1391,7 @@ >> } >> } >> }); >> + >> >> /* Section: help */ >> function setHelpText(topic, tab) { >> @@ -1827,59 +1828,154 @@ >> layout: 'accordion', >> closeAction: 'hide', >> width: G.conf.window_width, >> - height: 119, >> + height: 145, >> + minHeight: 77, >> items: [ >> { >> - xtype: 'form', >> - title: 'Date type', >> - bodyStyle: 'padding:8px', >> - labelWidth: G.conf.label_width, >> + title: 'Date', >> items: [ >> - {html: '<div class="window-info">Set thematic map >> date type</div>'}, >> { >> - xtype: 'combo', >> - id: 'mapdatetype_cb', >> - fieldLabel: G.i18n.date_type, >> - labelSeparator: G.conf.labelseparator, >> - disabled: >> G.system.aggregationStrategy == G.conf.aggregation_strategy_batch, >> - editable: false, >> - valueField: 'value', >> - displayField: 'text', >> - mode: 'local', >> - value: G.conf.map_date_type_fixed, >> - triggerAction: 'all', >> - width: G.conf.combo_width_fieldset, >> - minListWidth: G.conf.combo_width_fieldset, >> - store: { >> - xtype: 'arraystore', >> - fields: ['value', 'text'], >> - data: [ >> - [G.conf.map_date_type_fixed, >> G.i18n.fixed_periods], >> - [G.conf.map_date_type_start_end, >> G.i18n.start_end_dates] >> - ] >> - }, >> - listeners: { >> - 'select': function(cb) { >> - if (cb.getValue() != >> G.vars.mapDateType.value) { >> - G.vars.mapDateType.value = >> cb.getValue(); >> - Ext.Ajax.request({ >> - url: G.conf.path_mapping + >> 'setMapUserSettings' + G.conf.type, >> - method: 'POST', >> - params: {mapDateType: >> G.vars.mapDateType.value}, >> - success: function() { >> - Ext.message.msg(true, '<span >> class="x-msg-hl">' + cb.getRawValue() + '</span> '+ >> G.i18n.saved_as_date_type); >> - >> choropleth.prepareMapViewDateType(); >> - >> symbol.prepareMapViewDateType(); >> + xtype: 'form', >> + bodyStyle: 'padding:8px', >> + labelWidth: G.conf.label_width, >> + items: [ >> + {html: '<div class="window-info">Set thematic >> map date type</div>'}, >> + { >> + xtype: 'combo', >> + id: 'mapdatetype_cb', >> + fieldLabel: G.i18n.date_type, >> + labelSeparator: G.conf.labelseparator, >> + disabled: G.system.aggregationStrategy >> === G.conf.aggregation_strategy_batch, >> + editable: false, >> + valueField: 'value', >> + displayField: 'text', >> + mode: 'local', >> + value: G.conf.map_date_type_fixed, >> + triggerAction: 'all', >> + width: G.conf.combo_width_fieldset, >> + minListWidth: >> G.conf.combo_width_fieldset, >> + store: { >> + xtype: 'arraystore', >> + fields: ['value', 'text'], >> + data: [ >> + [G.conf.map_date_type_fixed, >> G.i18n.fixed_periods], >> + [G.conf.map_date_type_start_end, >> G.i18n.start_end_dates] >> + ] >> + }, >> + listeners: { >> + 'select': function(cb) { >> + if (cb.getValue() !== >> G.vars.mapDateType.value) { >> + G.vars.mapDateType.value = >> cb.getValue(); >> + Ext.Ajax.request({ >> + url: G.conf.path_mapping >> + 'setMapUserSettings' + G.conf.type, >> + method: 'POST', >> + params: {mapDateType: >> G.vars.mapDateType.value}, >> + success: function() { >> + Ext.message.msg(true, >> '<span class="x-msg-hl">' + cb.getRawValue() + '</span> '+ >> G.i18n.saved_as_date_type); >> + >> choropleth.prepareMapViewDateType(); >> + >> symbol.prepareMapViewDateType(); >> + } >> + }); >> } >> - }); >> + } >> } >> } >> - } >> - } >> - ] >> - } >> - ] >> + ] >> + } >> + ], >> + listeners: { >> + expand: function() { >> + adminWindow.setHeight(Ext.isChrome || >> (Ext.isWindows && Ext.isGecko) ? 145 : 143); >> + }, >> + collapse: function() { >> + adminWindow.setHeight(77); >> + } >> + } >> + }, >> + { >> + title: 'Google Maps', >> + items: [ >> + { >> + xtype: 'form', >> + bodyStyle: 'padding:8px', >> + labelWidth: G.conf.label_width, >> + items: [ >> + {html: '<div class="window-info">Update >> Google Maps API key</div>'}, >> + { >> + xtype: 'textfield', >> + id: 'googlemapsapikey_tf', >> + fieldLabel: G.i18n.api_key, >> + labelSeparator: G.conf.labelseparator, >> + width: G.conf.combo_width_fieldset, >> + minListWidth: G.conf.combo_width_fieldset >> + } >> + ] >> + }, >> + { >> + xtype: 'form', >> + items: [ >> + { >> + xtype: 'toolbar', >> + style: 'padding-top:4px', >> + items: [ >> + '->', >> + { >> + xtype: 'button', >> + text: G.i18n.update, >> + iconCls: 'icon-assign', >> + handler: function() { >> + if >> (!Ext.getCmp('googlemapsapikey_tf').getValue()) { >> + Ext.message.msg(false, >> G.i18n.form_is_not_complete); >> + return; >> + } >> + >> + Ext.Ajax.request({ >> + url: G.conf.path_mapping >> + 'setMapSystemSettings' + G.conf.type, >> + method: 'POST', >> + params: {googleKey: >> Ext.getCmp('googlemapsapikey_tf').getValue()}, >> + success: function(r) { >> + >> window.location.reload(); >> + } >> + }); >> + } >> + }, >> + { >> + xtype: 'button', >> + text: 'Use localhost', >> + iconCls: 'icon-remove', >> + handler: function() { >> + Ext.Ajax.request({ >> + url: G.conf.path_mapping >> + 'deleteMapSystemSettings' + G.conf.type, >> + method: 'POST', >> + params: {googleKey: >> true}, >> + success: function() { >> + >> window.location.reload(); >> + } >> + }); >> + } >> + } >> + ] >> + } >> + ] >> + } >> + ], >> + listeners: { >> + expand: function() { >> + adminWindow.setHeight(Ext.isChrome || >> (Ext.isWindows && Ext.isGecko) ? 169 : 166); >> + }, >> + collapse: function() { >> + adminWindow.setHeight(77); >> + } >> + } >> + } >> + ], >> + listeners: { >> + afterrender: function() { >> + adminWindow.setHeight(Ext.isChrome || (Ext.isWindows && >> Ext.isGecko) ? 145 : 143); >> + } >> + } >> }); >> + >> >> var layerTree = new Ext.tree.TreePanel({ >> title: '<span class="panel-title">' + G.i18n.map_layers + >> '</span>', >> >> >> _______________________________________________ >> Mailing list: https://launchpad.net/~dhis2-devs >> Post to : [email protected] >> Unsubscribe : https://launchpad.net/~dhis2-devs >> More help : https://help.launchpad.net/ListHelp >> > > > _______________________________________________ > Mailing list: https://launchpad.net/~dhis2-devs > Post to : [email protected] > Unsubscribe : https://launchpad.net/~dhis2-devs > More help : https://help.launchpad.net/ListHelp > >
_______________________________________________ Mailing list: https://launchpad.net/~dhis2-devs Post to : [email protected] Unsubscribe : https://launchpad.net/~dhis2-devs More help : https://help.launchpad.net/ListHelp

