Index: /branches/rel_avx_2_7_5/src/webui/webui/htdocs/new/src/avx/models/ha/__init__.py
===================================================================
--- /branches/rel_avx_2_7_5/src/webui/webui/htdocs/new/src/avx/models/ha/__init__.py	(revision 9162)
+++ /branches/rel_avx_2_7_5/src/webui/webui/htdocs/new/src/avx/models/ha/__init__.py	(working copy)
@@ -98,35 +98,30 @@
                 rst["vc_id"] = 0
             return rst
 
-        def _update_ha(self, instance):
+        def _update(self, instance):
             self.cli.set_config()
-            ha = "on" if instance.ha else "off"
-            result = self.cli.cmd('ha %s' % ha,
-                                  BlankParser(nonblank_exception=CLICmdError, supplement=True))
-            return
-
-        def _update_vc_id(self, instance):
-            self.cli.set_config()
-            result = self.cli.cmd('ha vcid %s' % instance.vc_id,
-                                  BlankParser(nonblank_exception=CLICmdError, supplement=True))
-            return
-
-        def _update_keepalive_ip(self, instance):
-            self.cli.set_config()
-            if 'ipv4' in instance.keepalive_ip:
-                if instance.keepalive_ip['ipv4']:
-                    result = self.cli.cmd('ha keepaliveip %s' % instance.keepalive_ip['ipv4'],
-                                          BlankParser(nonblank_exception=CLICmdError, supplement=True))
+            if hasattr(instance, 'vc_id') and instance.vc_id is not None:
+                result = self.cli.cmd('ha vcid %s' % instance.vc_id,
+                                    BlankParser(nonblank_exception=CLICmdError, supplement=True))
+            if hasattr(instance, 'keepalive_ip') and instance.keepalive_ip is not None:
+                if 'ipv4' in instance.keepalive_ip:
+                    if instance.keepalive_ip['ipv4']:
+                        result = self.cli.cmd('ha keepaliveip %s' % instance.keepalive_ip['ipv4'],
+                                            BlankParser(nonblank_exception=CLICmdError, supplement=True))
+                    else:
+                        result = self.cli.cmd('no ha keepaliveip',
+                                            BlankParser(nonblank_exception=CLICmdError, supplement=True))
                 else:
-                    result = self.cli.cmd('no ha keepaliveip',
-                                          BlankParser(nonblank_exception=CLICmdError, supplement=True))
-            else:
-                if instance.keepalive_ip['ipv6']:
-                    result = self.cli.cmd('ha keepaliveip %s' % instance.keepalive_ip['ipv6'],
-                                          BlankParser(nonblank_exception=CLICmdError, supplement=True))
-                else:
-                    result = self.cli.cmd('no ha keepaliveip',
-                                          BlankParser(nonblank_exception=CLICmdError, supplement=True))
+                    if instance.keepalive_ip['ipv6']:
+                        result = self.cli.cmd('ha keepaliveip %s' % instance.keepalive_ip['ipv6'],
+                                            BlankParser(nonblank_exception=CLICmdError, supplement=True))
+                    else:
+                        result = self.cli.cmd('no ha keepaliveip',
+                                            BlankParser(nonblank_exception=CLICmdError, supplement=True))
+            if hasattr(instance, 'ha'):
+                ha = "on" if instance.ha else "off"
+                result = self.cli.cmd('ha %s' % ha,
+                                  BlankParser(nonblank_exception=CLICmdError, supplement=True))
             return
 
         def _perform_Delete(self, options):
Index: /branches/rel_avx_2_7_5/src/webui/webui/htdocs/new/src/client/app/modules/ha/ha-configuration.controller.js
===================================================================
--- /branches/rel_avx_2_7_5/src/webui/webui/htdocs/new/src/client/app/modules/ha/ha-configuration.controller.js	(revision 9162)
+++ /branches/rel_avx_2_7_5/src/webui/webui/htdocs/new/src/client/app/modules/ha/ha-configuration.controller.js	(working copy)
@@ -219,8 +219,6 @@
                     post_data: JSON.stringify(post_data)
                 };
                 tabViewModel.showProgressBar();
-                if (delete_vcid) {
-                }
                 haConfiguationService
                     .updateHaConfiguration(RequestData)
                     .then(function(tableData) {
@@ -250,7 +248,11 @@
                                     tabViewModel.showAllHaConfiguration();
                                 }
                             } else {
-                                form.$dirty = true;
+                                if (post_data.hasOwnProperty("ha")) {
+                                    tabViewModel.showHaConfiguration.ha = false;
+                                } else {
+                                    form.$dirty = true;
+                                }
                                 alert(tableData.data[1]);
                             }
                         } else {
Index: /branches/rel_avx_2_7_5/src/webui/webui/htdocs/new/src/client/app/modules/ha/ha.service.js
===================================================================
--- /branches/rel_avx_2_7_5/src/webui/webui/htdocs/new/src/client/app/modules/ha/ha.service.js	(revision 9162)
+++ /branches/rel_avx_2_7_5/src/webui/webui/htdocs/new/src/client/app/modules/ha/ha.service.js	(working copy)
@@ -17,7 +17,7 @@
                 updateHaConfiguration: updateHaConfiguration
             };
             function getHaConfiguration() {
-                return apiService.get('/api/avx/ha/HAConfiguration/_fields');
+                return apiService.get('/api/avx/ha/HAConfiguration/_fields?fields=["ha", "keepalive_ip", "vc_id"]');
             };
             function haPerformAction(action, requestData) {
                 return apiService.post('/api/avx/ha/HAConfiguration/_perform?action=' + action, requestData);
