From 21cd27a8edd13319de238089a1109aee7a8a7138 Mon Sep 17 00:00:00 2001 From: Brian Federle Date: Fri, 2 Dec 2011 07:52:54 -0800 Subject: [PATCH] bug 12271 -Show status field for project user management -Properly refresh multi-edit widget --- ui/scripts/projects.js | 2 + ui/scripts/ui/multiEdit.js | 86 ++++++++++++++++++-------------------- 2 files changed, 43 insertions(+), 45 deletions(-) diff --git a/ui/scripts/projects.js b/ui/scripts/projects.js index 155906041d0..b3ddfbc02ad 100644 --- a/ui/scripts/projects.js +++ b/ui/scripts/projects.js @@ -106,6 +106,7 @@ noSelect: true, fields: { 'username': { edit: true, label: 'Account' }, + 'role': { edit: 'ignore', label: 'Role' }, 'add-user': { addButton: true, label: '' } }, add: { @@ -222,6 +223,7 @@ data: $.map(data.listprojectaccountsresponse.projectaccount, function(elem) { return { id: elem.accountid, + role: elem.role, username: elem.role == 'Owner' ? elem.account + ' (owner)' : elem.account }; diff --git a/ui/scripts/ui/multiEdit.js b/ui/scripts/ui/multiEdit.js index f5f9cab04f0..b14a3021226 100644 --- a/ui/scripts/ui/multiEdit.js +++ b/ui/scripts/ui/multiEdit.js @@ -173,6 +173,8 @@ } }); } + + $(window).trigger('cloudStack.fullRefresh'); }, error: cloudStack.dialog.error } @@ -385,7 +387,7 @@ error: function(args) { } } }); - } else if (field.edit) { + } else if (field.edit && field.edit != 'ignore') { if (field.range) { var $range = $('
').addClass('range').appendTo($td); @@ -482,7 +484,7 @@ // Loading appearance var $loading = _medit.loadingItem($multi, 'Adding...'); - $dataBody.append($loading); + $dataBody.prepend($loading); // Clear out fields $multi.find('input').val(''); @@ -510,21 +512,6 @@ complete: function(completeArgs) { complete(args); $loading.remove(); - - _medit.addItem( - data, - args.fields, - $multi, - itemData, - args.actions, - { - multipleAdd: multipleAdd, - noSelect: noSelect, - context: context, - ignoreEmptyFields: ignoreEmptyFields, - preFilter: actionPreFilter - } - ).appendTo($dataBody); }, error: function(args) { @@ -538,7 +525,7 @@ }); } - _medit.refreshItemWidths($multi); + $(window).trigger('cloudStack.fullRefresh'); }, error: cloudStack.dialog.error(function() { @@ -599,34 +586,43 @@ return true; }); - // Get existing data - dataProvider({ - context: context, - response: { - success: function(args) { - $(args.data).each(function() { - var data = this; - var itemData = this._itemData; - _medit.addItem( - data, - fields, - $multi, - itemData, - actions, - { - multipleAdd: multipleAdd, - noSelect: noSelect, - context: $.extend(true, {}, context, this._context), - ignoreEmptyFields: ignoreEmptyFields, - preFilter: actionPreFilter - } - ).appendTo($dataBody); - }); + var getData = function() { + $multi.find('.data-item').remove(); + dataProvider({ + context: context, + response: { + success: function(args) { + $(args.data).each(function() { + var data = this; + var itemData = this._itemData; + _medit.addItem( + data, + fields, + $multi, + itemData, + actions, + { + multipleAdd: multipleAdd, + noSelect: noSelect, + context: $.extend(true, {}, context, this._context), + ignoreEmptyFields: ignoreEmptyFields, + preFilter: actionPreFilter + } + ).appendTo($dataBody); + }); - _medit.refreshItemWidths($multi); - }, - error: cloudStack.dialog.error - } + _medit.refreshItemWidths($multi); + }, + error: cloudStack.dialog.error + } + }); + }; + + // Get existing data + getData(); + + $(window).bind('cloudStack.fullRefresh', function(event) { + getData(); }); $multi.bind('change select', function() {