Index: /branches/rel_avx_2_7_6/src/webui/webui/htdocs/new/src/avx/models/network/vswitch/__init__.py
===================================================================
--- /branches/rel_avx_2_7_6/src/webui/webui/htdocs/new/src/avx/models/network/vswitch/__init__.py	(revision 9243)
+++ /branches/rel_avx_2_7_6/src/webui/webui/htdocs/new/src/avx/models/network/vswitch/__init__.py	(working copy)
@@ -298,10 +298,18 @@
             return QuerySet(self._model, result)
 
         def _insert(self, instance):
-            data = instance.get_field_dict()
+            if not isinstance(instance.vs_name, list) or not isinstance(instance.va, list) \
+                or len(instance.vs_name) == 0 or len(instance.va) == 0 \
+                or 'name' not in instance.vs_name[0] or 'va_name' not in instance.va[0]:
+                return cli_parse("Please check fields", BlankParser(nonblank_exception=CLICmdError, nonblank_msg="Please check fields"))
+            data = {
+                'vs_name': instance.vs_name[0]['name'],
+                'va': instance.va[0]['va_name'],
+                'vport': instance.vport,
+                'tag': instance.tag if hasattr(instance, 'tag') else 0,
+                'number': instance.number if hasattr(instance, 'number') else 1,
+            }
             self.cli.set_config()
-            data['vs_name'] = data['vs_name'][0]['name']
-            data['va'] = data['va'][0]['va_name']
             result = self.cli.cmd('switch va "%(vs_name)s" "%(va)s" %(vport)s %(tag)s %(number)s' % data,
                                   RegexParser('has been assigned to VA', match_exception=CLICmdNormal, exclusive=True),
                                   BlankParser(nonblank_exception=CLICmdError, supplement=True))
