ui: Bug fix for distinguishing between string and map type tags in forms (#3441)

Some APIs consume 'tags' param as string and some consume as maps.
Since each API can have at most one 'tags' param the extraction of
map based tags should only happen when strings based tags are not
extracted from the form serialization.
This commit is contained in:
Anurag Awasthi 2019-06-28 17:05:25 +05:30 committed by Rohit Yadav
parent 044e4e4b21
commit 541d280e3b
1 changed files with 8 additions and 1 deletions

View File

@ -778,7 +778,14 @@
var complete = function($formContainer) {
var $form = $formContainer.find('form');
var data = $.extend(cloudStack.serializeForm($form), {'tags' : cloudStack.getTagsFromForm($form)});
var data = cloudStack.serializeForm($form);
if (!data.tags) {
// Some APIs consume tags as a string (such as disk offering creation).
// The UI of those use a tagger that is not a custom cloudStack.tagger
// but rather a string. That case is handled by usual serialization. We
// only need to check extract tags when the string tags are not present.
$.extend(data, {'tags' : cloudStack.getTagsFromForm($form)});
}
if (!$formContainer.find('form').valid()) {
// Ignore hidden field validation