← Back to team overview

dhis2-devs team mailing list archive

[Branch ~dhis2-devs-core/dhis2/trunk] Rev 2021: (GIS) Backwards mapview compatibility implemented + i18n/message box improved.

 

Merge authors:
  Jan Henrik Øverland (janhenrik-overland)
------------------------------------------------------------
revno: 2021 [merge]
committer: Jan Henrik Overland <janhenrik.overland@xxxxxxxxx>
branch nick: trunk
timestamp: Tue 2010-11-09 18:32:42 +0100
message:
  (GIS) Backwards mapview compatibility implemented + i18n/message box improved.
modified:
  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/webapp/dhis-web-mapping/i18n.vm
  dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/mapping/script/globals.js
  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/resources/ext-ux/msg/msg.css
  dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/resources/ext-ux/msg/msg.js
  dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/resources/mapfish/widgets/geostat/Choropleth.js
  dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/resources/mapfish/widgets/geostat/Symbol.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-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	2010-10-18 18:53:29 +0000
+++ dhis-2/dhis-web/dhis-web-mapping/src/main/resources/org/hisp/dhis/mapping/i18n_module.properties	2010-11-09 17:31:22 +0000
@@ -1,3 +1,28 @@
+save								= Save
+saved								= saved
+delete								= Delete
+deleted								= deleted
+update								= Update
+updated								= updated
+register							= Register
+registered							= registered
+add									= Add
+added								= added
+assign								= Assign
+assigned							= assigned
+refresh								= Refresh
+refreshed							= refreshed
+type								= Type
+new									= New
+edit								= Edit
+export								= Export
+map									= Map
+favorite							= Favorite
+legend								= Legend
+legendset							= Legend set
+
+indicators							= Indicators
+dataelements						= Data elements
 thematic_map						= Thematic map
 polygon_layer						= Polygon layer
 point_layer							= Point layer
@@ -6,14 +31,12 @@
 indicator							= Indicator
 period_type							= Period type
 period								= Period
-map									= Map
 in_the_map							= map
 legend_type							= Legend type
 method								= Method
 classes								= Classes
 low_color							= Low color
 high_color							= High color
-refresh								= Refresh
 optional							= Optional
 loading								= Loading..
 automatic							= Automatic
@@ -90,9 +113,9 @@
 error_while_saving_data				= Error while saving data
 is_saved_as_map_source				= is saved as map source
 is_already_selected					= is already selected
-delete								= Delete
-save								= Save
-new									= New
+
+
+
 overlays							= Overlays
 was_registered						= was registered
 is_already_in_use					= is already in use
@@ -115,7 +138,7 @@
 preview								= Preview
 queryable							= Queryable
 description							= Description
-edit								= Edit
+
 register_map						= Register map
 register_maps						= Register maps
 zoom								= Zoom
@@ -132,11 +155,11 @@
 export_image						= Export image
 medium								= Medium
 large								= Large
-legend_set							= Legend set
 add_to_dashboard					= Add to dashboard
+dhis_dashboard						= DHIS dashboard
 dashboard_map_view					= Dashboard map view
 the_view							= The view
-was_added_to_dashboard				= was added to dashboard
+added_to_dashboard				= added to dashboard
 please_select_a_map_view			= Please select a map view
 view								= View
 delete_map_view						= Delete map view
@@ -146,7 +169,7 @@
 thematic_map_form_is_not_complete	= Thematic map form is not complete
 map_view_form_is_not_complete		= Map view form is not complete
 save								= Save
-saving_current_thematic_map_selection = Saving current thematic map selection
+saving_current_thematic_map_selection = Saving current thematic map selection.
 new_legend_set						= New legend set
 name_can_not_longer_than_25			= Name cannot contain more than 25 characters
 already_exists						= already exists
@@ -162,7 +185,6 @@
 end_value							= End value
 color								= Color
 new_legend							= New legend
-legend								= Legend
 please_select_a_legend				= Please select a legend
 legends								= Legends
 overlapping_legends_are_not_allowed	= Overlapping legends are not allowed

=== 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	2010-10-18 18:53:29 +0000
+++ dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/i18n.vm	2010-11-09 17:31:22 +0000
@@ -1,3 +1,28 @@
+var i18n_save = '$encoder.jsEscape($i18n.getString( 'save' ) , "'")';
+var i18n_saved = '$encoder.jsEscape($i18n.getString( 'saved' ) , "'")';
+var i18n_delete = '$encoder.jsEscape($i18n.getString( 'delete' ) , "'")';
+var i18n_deleted = '$encoder.jsEscape($i18n.getString( 'deleted' ) , "'")';
+var i18n_update = '$encoder.jsEscape($i18n.getString( 'update' ) , "'")';
+var i18n_updated = '$encoder.jsEscape($i18n.getString( 'updated' ) , "'")';
+var i18n_register = '$encoder.jsEscape($i18n.getString( 'register' ) , "'")';
+var i18n_registered = '$encoder.jsEscape($i18n.getString( 'registered' ) , "'")';
+var i18n_add = '$encoder.jsEscape($i18n.getString( 'add' ) , "'")';
+var i18n_added = '$encoder.jsEscape($i18n.getString( 'added' ) , "'")';
+var i18n_assign = '$encoder.jsEscape($i18n.getString( 'assign' ) , "'")';
+var i18n_assigned = '$encoder.jsEscape($i18n.getString( 'assigned' ) , "'")';
+var i18n_refresh = '$encoder.jsEscape($i18n.getString( 'refresh' ) , "'")';
+var i18n_refreshed = '$encoder.jsEscape($i18n.getString( 'refreshed' ) , "'")';
+var i18n_type = '$encoder.jsEscape($i18n.getString( 'type' ) , "'")';
+var i18n_new = '$encoder.jsEscape($i18n.getString( 'new' ) , "'")';
+var i18n_edit = '$encoder.jsEscape($i18n.getString( 'edit' ) , "'")';
+var i18n_export = '$encoder.jsEscape($i18n.getString( 'export' ) , "'")';
+var i18n_map = '$encoder.jsEscape($i18n.getString( 'map' ) , "'")';
+var i18n_favorite = '$encoder.jsEscape($i18n.getString( 'favorite' ) , "'")';
+var i18n_legend = '$encoder.jsEscape($i18n.getString( 'legend' ) , "'")';
+var i18n_legendset = '$encoder.jsEscape($i18n.getString( 'legendset' ) , "'")';
+
+var i18n_indicators = '$encoder.jsEscape($i18n.getString( 'indicators' ) , "'")';
+var i18n_dataelements = '$encoder.jsEscape($i18n.getString( 'dataelements' ) , "'")';
 var i18n_thematic_map = '$encoder.jsEscape($i18n.getString( 'thematic_map' ) , "'")';
 var i18n_polygon_layer = '$encoder.jsEscape($i18n.getString( 'polygon_layer' ) , "'")';
 var i18n_point_layer = '$encoder.jsEscape($i18n.getString( 'point_layer' ) , "'")';
@@ -13,7 +38,6 @@
 var i18n_classes = '$encoder.jsEscape($i18n.getString( 'classes' ) , "'")';	
 var i18n_low_color = '$encoder.jsEscape($i18n.getString( 'low_color' ) , "'")';	
 var i18n_high_color = '$encoder.jsEscape($i18n.getString( 'high_color' ) , "'")';	
-var i18n_refresh = '$encoder.jsEscape($i18n.getString( 'refresh' ) , "'")';	
 var i18n_optional = '$encoder.jsEscape($i18n.getString( 'optional' ) , "'")';	
 var i18n_loading = '$encoder.jsEscape($i18n.getString( 'loading' ) , "'")';	
 var i18n_automatic = '$encoder.jsEscape($i18n.getString( 'automatic' ) , "'")';	
@@ -31,7 +55,6 @@
 var i18n_export_map_as_image = '$encoder.jsEscape($i18n.getString( 'export_map_as_image' ) , "'")';	
 var i18n_status = '$encoder.jsEscape($i18n.getString( 'status' ) , "'")';	
 var i18n_error_while_retrieving_data = '$encoder.jsEscape($i18n.getString( 'error_while_retrieving_data' ) , "'")';	
-var i18n_legend_set = '$encoder.jsEscape($i18n.getString( 'legend_set' ) , "'")';
 var i18n_bounds = '$encoder.jsEscape($i18n.getString( 'bounds' ) , "'")';
 var i18n_comma_separated_values = '$encoder.jsEscape($i18n.getString( 'comma_separated_values' ) , "'")';
 var i18n_ajax_request_failed = '$encoder.jsEscape($i18n.getString( 'ajax_request_failed' ) , "'")';
@@ -89,10 +112,7 @@
 var i18n_was_saved_as_base_coordinate = '$encoder.jsEscape($i18n.getString( 'was_saved_as_base_coordinate' ) , "'")';
 var i18n_error_while_saving_data = '$encoder.jsEscape($i18n.getString( 'error_while_saving_data' ) , "'")';
 var i18n_is_saved_as_map_source = '$encoder.jsEscape($i18n.getString( 'is_saved_as_map_source' ) , "'")';
-var i18n_is_already_selected = '$encoder.jsEscape($i18n.getString( 'is_already_selected' ) , "'")';
-var i18n_delete = '$encoder.jsEscape($i18n.getString( 'delete' ) , "'")';
-var i18n_save = '$encoder.jsEscape($i18n.getString( 'save' ) , "'")';	
-var i18n_new = '$encoder.jsEscape($i18n.getString( 'new' ) , "'")';	
+var i18n_is_already_selected = '$encoder.jsEscape($i18n.getString( 'is_already_selected' ) , "'")';	
 var i18n_overlays = '$encoder.jsEscape($i18n.getString( 'overlays' ) , "'")';
 var i18n_was_registered = '$encoder.jsEscape($i18n.getString( 'was_registered' ) , "'")';
 var i18n_is_already_in_use = '$encoder.jsEscape($i18n.getString( 'is_already_in_use' ) , "'")';
@@ -103,7 +123,8 @@
 var i18n_fill_color = '$encoder.jsEscape($i18n.getString( 'fill_color' ) , "'")';
 var i18n_fill_opacity = '$encoder.jsEscape($i18n.getString( 'fill_opacity' ) , "'")';
 var i18n_stroke_color = '$encoder.jsEscape($i18n.getString( 'stroke_color' ) , "'")';
-var i18n_map_source_file = '$encoder.jsEscape($i18n.getString( 'map_source_file' ) , "'")';	
+var i18n_map_source_file = '$encoder.jsEscape($i18n.getString( 'map_source_file' ) , "'")';
+var i18n_please_enter_map_title = '$encoder.jsEscape($i18n.getString( 'please_enter_map_title' ) , "'")';
 var i18n_stroke_width = '$encoder.jsEscape($i18n.getString( 'stroke_width' ) , "'")';	
 var i18n_delete_overlay = '$encoder.jsEscape($i18n.getString( 'delete_overlay' ) , "'")';
 var i18n_overlay = '$encoder.jsEscape($i18n.getString( 'overlay' ) , "'")';
@@ -114,13 +135,11 @@
 var i18n_preview = '$encoder.jsEscape($i18n.getString( 'preview' ) , "'")';
 var i18n_queryable = '$encoder.jsEscape($i18n.getString( 'queryable' ) , "'")';
 var i18n_description = '$encoder.jsEscape($i18n.getString( 'description' ) , "'")';
-var i18n_edit = '$encoder.jsEscape($i18n.getString( 'edit' ) , "'")';
 var i18n_register_map = '$encoder.jsEscape($i18n.getString( 'register_map' ) , "'")';
 var i18n_register_maps = '$encoder.jsEscape($i18n.getString( 'register_maps' ) , "'")';
 var i18n_zoom = '$encoder.jsEscape($i18n.getString( 'zoom' ) , "'")';	
 var i18n_name_column = '$encoder.jsEscape($i18n.getString( 'name_column' ) , "'")';	
 var i18n_organisation_unit_level = '$encoder.jsEscape($i18n.getString( 'organisation_unit_level' ) , "'")';
-var i18n_please_enter_map_title = '$encoder.jsEscape($i18n.getString( 'please_enter_map_title' ) , "'")';
 var i18n_please_render_map_first = '$encoder.jsEscape($i18n.getString( 'please_render_map_first' ) , "'")';
 var i18n_please_select_an_overlay = '$encoder.jsEscape($i18n.getString( 'please_select_an_overlay' ) , "'")';
 var i18n_select = '$encoder.jsEscape($i18n.getString( 'select' ) , "'")';
@@ -134,8 +153,9 @@
 var i18n_medium = '$encoder.jsEscape($i18n.getString( 'medium' ) , "'")';	
 var i18n_large = '$encoder.jsEscape($i18n.getString( 'large' ) , "'")';
 var i18n_add_to_dashboard = '$encoder.jsEscape($i18n.getString( 'add_to_dashboard' ) , "'")';
+var i18n_dhis_dashboard = '$encoder.jsEscape($i18n.getString( 'dhis_dashboard' ) , "'")';
 var i18n_dashboard_map_view = '$encoder.jsEscape($i18n.getString( 'dashboard_map_view' ) , "'")';
-var i18n_was_added_to_dashboard = '$encoder.jsEscape($i18n.getString( 'was_added_to_dashboard' ) , "'")';
+var i18n_added_to_dashboard = '$encoder.jsEscape($i18n.getString( 'added_to_dashboard' ) , "'")';
 var i18n_please_select_a_map_view = '$encoder.jsEscape($i18n.getString( 'please_select_a_map_view' ) , "'")';
 var i18n_view = '$encoder.jsEscape($i18n.getString( 'view' ) , "'")';
 var i18n_delete_map_view = '$encoder.jsEscape($i18n.getString( 'delete_map_view' ) , "'")';
@@ -161,7 +181,6 @@
 var i18n_end_value = '$encoder.jsEscape($i18n.getString( 'end_value' ) , "'")';
 var i18n_color = '$encoder.jsEscape($i18n.getString( 'color' ) , "'")';
 var i18n_new_legend = '$encoder.jsEscape($i18n.getString( 'new_legend' ) , "'")';
-var i18n_legend = '$encoder.jsEscape($i18n.getString( 'legend' ) , "'")';
 var i18n_please_select_a_legend = '$encoder.jsEscape($i18n.getString( 'please_select_a_legend' ) , "'")';
 var i18n_legends = '$encoder.jsEscape($i18n.getString( 'legends' ) , "'")';
 var i18n_overlapping_legends_are_not_allowed = '$encoder.jsEscape($i18n.getString( 'overlapping_legends_are_not_allowed' ) , "'")';

=== modified file 'dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/mapping/script/globals.js'
--- dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/mapping/script/globals.js	2010-11-05 12:43:26 +0000
+++ dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/mapping/script/globals.js	2010-11-09 17:31:22 +0000
@@ -258,11 +258,18 @@
         json += ']';
         json += '}';
         return json;
-    }
+    },
+    
+    /* Backwards mapview compatibility */
+    mapViewNullSafe: function(mapView) {
+        mapView.mapValueType = GLOBALS.conf.map_value_type_indicator;
+        mapView.organisationUnitSelectionType = GLOBALS.conf.map_selection_type_parent;
+        mapView.mapLegendType = GLOBALS.conf.map_legend_type_automatic;
+        return mapView;
+    }    
 };
 
-GLOBALS.vars = {
-    
+GLOBALS.vars = {    
     map: null,
     
     mapSourceType: {

=== 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	2010-11-08 17:31:19 +0000
+++ dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/mapping/script/index.js	2010-11-09 17:31:22 +0000
@@ -423,7 +423,7 @@
 				isFormField: true,
 				hideLabel: true,
 				cls: 'window-button',
-				text: i18n_save,
+				text: i18n_register,
 				handler: function() {
 					var vn = Ext.getCmp('viewname_tf').getValue();
                     
@@ -480,7 +480,7 @@
                             zoom: formValues.zoom
                         },
                         success: function(r) {
-                            Ext.message.msg(true, 'The view <span class="x-msg-hl">' + vn + '</span> ' + i18n_was_registered);
+                            Ext.message.msg(true, i18n_favorite + ' <span class="x-msg-hl">' + vn + '</span> ' + i18n_registered);
                             GLOBALS.stores.mapView.load();
                             Ext.getCmp('viewname_tf').reset();
                         }
@@ -519,7 +519,7 @@
 						method: 'POST',
 						params: {id:v},
 						success: function(r) {
-							Ext.message.msg(true, 'The map view <span class="x-msg-hl">' + name + '</span> '+ i18n_was_deleted);
+							Ext.message.msg(true, i18n_favorite + ' <span class="x-msg-hl">' + name + '</span> ' + i18n_deleted);
                             GLOBALS.stores.mapView.load();
                             if (v == Ext.getCmp('mapview_cb').getValue()) {
                                 Ext.getCmp('mapview_cb').clearValue();
@@ -546,7 +546,7 @@
                 id: 'dashboardview_b',
 				isFormField: true,
 				hideLabel: true,
-				text: 'Add to DHIS dashboard',
+				text: i18n_add,
 				cls: 'window-button',
 				handler: function() {
 					var v = Ext.getCmp('view2_cb').getValue();
@@ -562,7 +562,7 @@
 						method: 'POST',
 						params: {id:v},
 						success: function(r) {
-							Ext.message.msg(true, i18n_the_view + ' <span class="x-msg-hl">' + rv + '</span> ' + i18n_was_added_to_dashboard);
+							Ext.message.msg(true, i18n_favorite + ' <span class="x-msg-hl">' + rv + '</span> ' + i18n_added_to_dashboard);
 						}
 					});
 				}
@@ -614,7 +614,7 @@
                         items: [deleteViewPanel]
                     },
                     {
-                        title: '<span class="panel-tab-title">' + i18n_add_to_dashboard + '</span>',
+                        title: '<span class="panel-tab-title">' + i18n_dhis_dashboard + '</span>',
                         id: 'view2',
                         items: [dashboardViewPanel]
                     }
@@ -676,7 +676,7 @@
 				labelSeparator: GLOBALS.conf.labelseparator,
 				hideLabel: false,
 				cls: 'window-button',
-				text: i18n_export_image,
+				text: i18n_export,
 				handler: function() {
                     var vcb, dcb, mcb, lcb, period;
                     if (GLOBALS.vars.activePanel.isPolygon()) {
@@ -705,7 +705,7 @@
                         var title = Ext.getCmp('exportimagetitle_tf').getValue();
                     	
                         if (!title) {
-                            Ext.message.msg(false, i18n_please_enter_map_title);
+                            Ext.message.msg(false, i18n_form_is_not_complete);
                         }
                         else {
                             var q = Ext.getCmp('exportimagequality_cb').getValue();
@@ -733,7 +733,7 @@
                         }
                     }
                     else {
-                        Ext.message.msg(false, i18n_please_render_map_fist);
+                        Ext.message.msg(false, i18n_please_render_map_first);
                     }
 				}
 			}	
@@ -826,7 +826,7 @@
                         exportForm.submit();
                     }
                     else {
-                        Ext.message.msg(false, i18n_please_render_map_fist );
+                        Ext.message.msg(false, i18n_please_render_map_first);
                     }
 				}
 			}	
@@ -855,7 +855,7 @@
                 id: 'newpredefinedmaplegend_b',
 				isFormField: true,
 				hideLabel: true,
-                text: i18n_save,
+                text: i18n_register,
 				cls: 'window-button',
                 handler: function() {
                     var mln = Ext.getCmp('predefinedmaplegendname_tf').getValue();
@@ -961,7 +961,7 @@
             {
                 xtype: 'button',
                 id: 'newpredefinedmaplegendset_b',
-                text: i18n_save,
+                text: i18n_register,
 				cls: 'window-button',
                 handler: function() {
                     var mlsv = Ext.getCmp('predefinedmaplegendsetname_tf').getValue();
@@ -1029,7 +1029,7 @@
 		bodyStyle: 'border:0px solid #fff',
         items:
         [   
-            { html: '<div class="window-field-label-first">' + i18n_legend_set + '</p>' },
+            { html: '<div class="window-field-label-first">' + i18n_legendset + '</p>' },
             new Ext.form.ComboBox({id:'predefinedmaplegendsetindicator_cb',hideLabel:true,typeAhead:true,editable:false,valueField:'id',displayField:'name',mode:'remote',forceSelection:true,triggerAction:'all',emptyText:GLOBALS.conf.emptytext,selectOnFocus:true,width:GLOBALS.conf.combo_width,minListWidth:GLOBALS.conf.combo_width,store:GLOBALS.stores.predefinedMapLegendSet}),
             {
                 xtype: 'button',
@@ -1050,7 +1050,7 @@
                         method: 'POST',
                         params: {id: mlsv},
                         success: function(r) {
-                            Ext.message.msg(true, i18n_legend_set + ' <span class="x-msg-hl">' + mlsrv + '</span> ' + i18n_was_deleted);
+                            Ext.message.msg(true, i18n_legendset + ' <span class="x-msg-hl">' + mlsrv + '</span> ' + i18n_was_deleted);
                             GLOBALS.stores.predefinedMapLegendSet.load();
                             Ext.getCmp('predefinedmaplegendsetindicator_cb').clearValue();
                             if (mlsv == Ext.getCmp('predefinedmaplegendsetindicator2_cb').getValue) {
@@ -1071,7 +1071,7 @@
 		bodyStyle: 'border:0px',
         items:
         [
-            { html: '<div class="window-field-label-first">' + i18n_legend_set + '</div>' },
+            { html: '<div class="window-field-label-first">' + i18n_legendset + '</div>' },
             new Ext.form.ComboBox({
                 id: 'predefinedmaplegendsetindicator2_cb',
                 hideLabel: true,
@@ -1105,12 +1105,12 @@
                     }
                 }					
             }),
-            { html: '<div class="window-field-label">' + i18n_indicator + '</div>' },
+            { html: '<div class="window-field-label">' + i18n_indicators + '</div>' },
 			new Ext.ux.Multiselect({id:'predefinedmaplegendsetindicator_ms',hideLabel:true,dataFields:['id','name','shortName'],valueField:'id',displayField:'shortName',width:GLOBALS.conf.multiselect_width,height:GLOBALS.util.getMultiSelectHeight(),store:GLOBALS.stores.indicator}),
             {
                 xtype: 'button',
                 id: 'assignpredefinedmaplegendsetindicator_b',
-                text: i18n_assign_to_indicator,
+                text: i18n_assign,
 				cls: 'window-button',
                 handler: function() {
                     var ls = Ext.getCmp('predefinedmaplegendsetindicator2_cb').getValue();
@@ -1157,7 +1157,7 @@
 		bodyStyle: 'border:0px',
         items:
         [
-            { html: '<div class="window-field-label-first">'+i18n_legend_set+'</div>' },
+            { html: '<div class="window-field-label-first">'+i18n_legendset+'</div>' },
             new Ext.form.ComboBox({
                 id: 'predefinedmaplegendsetdataelement_cb',
                 isFormField: true,
@@ -1192,12 +1192,12 @@
                     }
                 }					
             }),
-            { html: '<div class="window-field-label">' + i18n_dataelement + '</div>' },
+            { html: '<div class="window-field-label">' + i18n_dataelements + '</div>' },
 			new Ext.ux.Multiselect({id:'predefinedmaplegendsetdataelement_ms',hideLabel:true,dataFields:['id','name','shortName'],valueField:'id',displayField:'shortName',width:GLOBALS.conf.multiselect_width,height:GLOBALS.util.getMultiSelectHeight(),store:GLOBALS.stores.dataElement}),
             {
                 xtype: 'button',
                 id: 'assignpredefinedmaplegendsetdataelement_b',
-                text: i18n_assign_to_dataelement,
+                text: i18n_assign,
 				cls: 'window-button',
                 handler: function() {
                     var ls = Ext.getCmp('predefinedmaplegendsetdataelement_cb').getValue();
@@ -1244,7 +1244,7 @@
         title: '<span id="window-predefinedlegendset-title">'+i18n_predefined_legend_sets+'</span>',
 		layout: 'fit',
         closeAction: 'hide',
-		width: 592,
+		width: 485,
         items:
         [
 			{
@@ -1266,16 +1266,16 @@
 							w.setHeight(151);
 						}
 						else if (tab.id == 'predefinedmaplegendset2') {
-							w.setHeight(GLOBALS.util.getMultiSelectHeight() + 180);
+							w.setHeight(GLOBALS.util.getMultiSelectHeight() + 178);
 						}
 						else if (tab.id == 'predefinedmaplegendset3') {
 							w.setHeight(151);
 						}
                         else if (tab.id == 'predefinedmaplegendset4') {
-                            w.setHeight(GLOBALS.util.getMultiSelectHeight() + 180);
+                            w.setHeight(GLOBALS.util.getMultiSelectHeight() + 178);
                         }
                         else if (tab.id == 'predefinedmaplegendset5') {
-                            w.setHeight(GLOBALS.util.getMultiSelectHeight() + 180);
+                            w.setHeight(GLOBALS.util.getMultiSelectHeight() + 178);
                         }
 					}
 				},
@@ -1302,12 +1302,12 @@
 						items: [deletePredefinedMapLegendSetPanel]
 					},
 					{
-                        title: '<span class="panel-tab-title">'+i18n_assign_to_indicator+'</span>',
+                        title: '<span class="panel-tab-title">'+i18n_indicators+'</span>',
 						id: 'predefinedmaplegendset4',
 						items: [assignPredefinedMapLegendSetIndicatorPanel]
 					},
 					{
-                        title: '<span class="panel-tab-title">'+i18n_assign_to_dataelement+'</span>',
+                        title: '<span class="panel-tab-title">'+i18n_dataelements+'</span>',
 						id: 'predefinedmaplegendset5',
 						items: [assignPredefinedMapLegendSetDataElementPanel]
 					}
@@ -1400,7 +1400,7 @@
                         id: 'help5'
                     },
                     {
-                        title: '<span class="panel-tab-title">' + i18n_legend_set + '</span>',
+                        title: '<span class="panel-tab-title">' + i18n_legendset + '</span>',
                         id: 'help6'
                     },
                     {
@@ -1598,7 +1598,7 @@
     
     var newMapButton = new Ext.Button({
         id: 'newmap_b',
-        text: i18n_register_map,
+        text: i18n_register,
 		cls: 'aa_med',
         handler: function()
         {
@@ -1644,7 +1644,7 @@
                     nameColumn: nc
                 },
                 success: function(r) {
-                    Ext.message.msg(true, i18n_map + ' <span class="x-msg-hl">' + nn + '</span> (<span class="x-msg-hl">' + source + '</span>) ' + i18n_was_registered);
+                    Ext.message.msg(true, i18n_map + ' <span class="x-msg-hl">' + nn + '</span> (<span class="x-msg-hl">' + source + '</span>) ' + i18n_registered);
                     
                     GLOBALS.stores.map.load();
                     Ext.getCmp('organisationunitlevel_cb').clearValue();
@@ -1658,7 +1658,7 @@
     
     var editMapButton = new Ext.Button({
         id: 'editmap_b',
-        text: i18n_save,
+        text: i18n_update,
 		cls: 'aa_med',
         handler: function() {
             var en = Ext.getCmp('editname_tf').getValue();
@@ -1680,7 +1680,7 @@
                 method: 'POST',
                 params: {name: en, mapLayerPath: em, nameColumn: nc},
                 success: function(r) {
-                    Ext.message.msg(true, i18n_map + ' <span class="x-msg-hl">' + en + '</span> (<span class="x-msg-hl">' + em + '</span>)' + i18n_was_updated);
+                    Ext.message.msg(true, i18n_map + ' <span class="x-msg-hl">' + en + '</span> (<span class="x-msg-hl">' + em + '</span>) ' + i18n_updated);
                     
                     GLOBALS.stores.map.load();
                     Ext.getCmp('editmap_cb').clearValue();
@@ -1695,7 +1695,7 @@
     
     var deleteMapButton = new Ext.Button({
         id: 'deletemap_b',
-        text: i18n_delete_map,
+        text: i18n_delete,
 		cls: 'aa_med',
         handler: function() {
             var mlp = Ext.getCmp('deletemap_cb').getValue();
@@ -1711,7 +1711,7 @@
                 method: 'POST',
                 params: {mapLayerPath: mlp},
                 success: function(r) {
-                    Ext.message.msg(true, i18n_map + ' <span class="x-msg-hl">' + mn + '</span> (<span class="x-msg-hl">' + mlp + '</span>) ' + i18n_was_deleted);
+                    Ext.message.msg(true, i18n_map + ' <span class="x-msg-hl">' + mn + '</span> (<span class="x-msg-hl">' + mlp + '</span>) ' + i18n_deleted);
                     
 					if (mlp == Ext.getCmp('map_cb').getValue()) {
 						Ext.getCmp('map_cb').clearValue();
@@ -2375,7 +2375,7 @@
 					{
 						xtype: 'combo',
 						id: 'mapsource_cb',
-						fieldLabel: i18n_map_source,
+						fieldLabel: i18n_type,
 						labelSeparator: GLOBALS.conf.labelseparator,
 						editable: false,
 						valueField: 'id',

=== modified file 'dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/resources/ext-ux/msg/msg.css'
--- dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/resources/ext-ux/msg/msg.css	2010-07-14 01:43:15 +0000
+++ dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/resources/ext-ux/msg/msg.css	2010-11-09 17:31:22 +0000
@@ -55,13 +55,12 @@
 .msg .x-box-mc {
     font-size:12px;
     color:#111;
-    padding:8px 12px;
+    padding:8px 25px 8px 12px;
 }
 #msg-div {
-    position:absolute;
-    left:35%;
-    top:10px;
-    width:360px;
+    display: table;
+    margin-left:auto;
+    margin-right:auto;
     z-index:20000;
 }
 .x-grid3-row-body p {

=== modified file 'dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/resources/ext-ux/msg/msg.js'
--- dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/resources/ext-ux/msg/msg.js	2010-09-30 14:35:12 +0000
+++ dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/resources/ext-ux/msg/msg.js	2010-11-09 17:31:22 +0000
@@ -2,10 +2,10 @@
     var msgCt;
 
     function createBox(bool, s){
-        var path = bool ? '../../images/check.png' : '../../images/error2.png';
+        var icon = bool ? '../../images/check.png' : '../../images/error2.png';
         return ['<div class="msg">',
                 '<div class="x-box-tl"><div class="x-box-tr"><div class="x-box-tc"></div></div></div>',
-                '<div class="x-box-ml"><div class="x-box-mr"><div class="x-box-mc"><img src="' + path + '" style="vertical-align:middle; padding:0px 8px 2px 0px;"/>', s, '</div></div></div>',
+                '<div class="x-box-ml"><div class="x-box-mr"><div class="x-box-mc"><img src="' + icon + '" style="vertical-align:middle; padding:0px 8px 2px 0px;"/>', s, '</div></div></div>',
                 '<div class="x-box-bl"><div class="x-box-br"><div class="x-box-bc"></div></div></div>',
                 '</div>'].join('');
     }

=== modified file 'dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/resources/mapfish/widgets/geostat/Choropleth.js'
--- dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/resources/mapfish/widgets/geostat/Choropleth.js	2010-11-09 13:47:08 +0000
+++ dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/resources/mapfish/widgets/geostat/Choropleth.js	2010-11-09 17:31:22 +0000
@@ -85,7 +85,7 @@
         this.createSelectFeatures();
         
         if (GLOBALS.vars.parameter) {
-            this.mapView = GLOBALS.vars.parameter.mapView;
+            this.mapView = GLOBALS.util.mapViewNullSafe(GLOBALS.vars.parameter.mapView);
             this.updateValues = true;
             this.legend = {
                 value: this.mapView.mapLegendType,
@@ -211,7 +211,7 @@
                 'select': {
                     scope: this,
                     fn: function(cb) {
-                        this.mapView = GLOBALS.stores.mapView.getAt(GLOBALS.stores.mapView.find('id', cb.getValue())).data;
+                        this.mapView = GLOBALS.util.mapViewNullSafe(GLOBALS.stores.mapView.getAt(GLOBALS.stores.mapView.find('id', cb.getValue())).data);
                         this.updateValues = true;
                         
                         this.legend.value = this.mapView.mapLegendType;
@@ -853,7 +853,7 @@
             valueField: 'id',
             displayField: 'name',
             mode: 'remote',
-            fieldLabel: i18n_legend_set,
+            fieldLabel: i18n_legendset,
             emptyText: GLOBALS.conf.emptytext,
 			labelSeparator: GLOBALS.conf.labelseparator,
             triggerAction: 'all',
@@ -1253,24 +1253,24 @@
     
     setMapViewLegend: function() {
         this.prepareMapViewLegend();
-        
+
         function predefinedMapLegendSetStoreCallback() {
             Ext.getCmp('maplegendset_cb').setValue(this.mapView.mapLegendSetId);
             this.applyPredefinedLegend(true);
         }
-        
+
         if (this.legend.value == GLOBALS.conf.map_legend_type_automatic) {
             Ext.getCmp('method_cb').setValue(this.mapView.method);
             Ext.getCmp('colorA_cf').setValue(this.mapView.colorLow);
             Ext.getCmp('colorB_cf').setValue(this.mapView.colorHigh);
-            
+
             if (this.legend.method == GLOBALS.conf.classify_with_bounds) {
                 Ext.getCmp('bounds_tf').setValue(this.mapView.bounds);
             }
             else {
                 Ext.getCmp('numClasses_cb').setValue(this.mapView.classes);
             }
-            
+
             this.setMapViewMap();
         }
         else if (this.legend.value == GLOBALS.conf.map_legend_type_predefined) {
@@ -1282,7 +1282,7 @@
                     predefinedMapLegendSetStoreCallback.call(this);
                 }});
             }
-        }            
+        }
     },
     
     setMapViewMap: function() {

=== modified file 'dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/resources/mapfish/widgets/geostat/Symbol.js'
--- dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/resources/mapfish/widgets/geostat/Symbol.js	2010-11-09 13:47:08 +0000
+++ dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/resources/mapfish/widgets/geostat/Symbol.js	2010-11-09 17:31:22 +0000
@@ -820,7 +820,7 @@
             valueField: 'id',
             displayField: 'name',
             mode: 'remote',
-            fieldLabel: i18n_legend_set,
+            fieldLabel: i18n_legendset,
             emptyText: GLOBALS.conf.emptytext,
 			labelSeparator: GLOBALS.conf.labelseparator,
             triggerAction: 'all',