mirror of https://github.com/apache/cloudstack.git
CS-15317: Fix operations with accounts on the Project tab after making another account project owner.
This commit is contained in:
parent
7fc3adbacc
commit
7fbd612d69
|
|
@ -15,7 +15,7 @@
|
|||
// specific language governing permissions and limitations
|
||||
// under the License.
|
||||
(function(cloudStack) {
|
||||
var getProjectAdmin;
|
||||
var getProjectAdmin, selectedProjectObj;
|
||||
cloudStack.projects = {
|
||||
requireInvitation: function(args) {
|
||||
return g_capabilities.projectinviterequired;
|
||||
|
|
@ -518,6 +518,9 @@
|
|||
onComplete: function(){
|
||||
setTimeout(function() {
|
||||
$(window).trigger('cloudStack.fullRefresh');
|
||||
if (isUser()) {
|
||||
$(window).trigger('cloudStack.detailsRefresh');
|
||||
}
|
||||
}, 500);
|
||||
}
|
||||
},
|
||||
|
|
@ -659,6 +662,30 @@
|
|||
},
|
||||
|
||||
detailView: {
|
||||
updateContext: function (args) {
|
||||
var project;
|
||||
var projectID = args.context.projects[0].id;
|
||||
var url = 'listProjects';
|
||||
if (isDomainAdmin()) {
|
||||
url += '&domainid=' + args.context.users[0].domainid;
|
||||
}
|
||||
$.ajax({
|
||||
url: createURL(url),
|
||||
data: {
|
||||
listAll: true,
|
||||
id: projectID
|
||||
},
|
||||
async: false,
|
||||
success: function(json) {
|
||||
project = json.listprojectsresponse.project[0]; // override project after update owner
|
||||
}
|
||||
});
|
||||
selectedProjectObj = project;
|
||||
|
||||
return {
|
||||
projects: [project]
|
||||
};
|
||||
},
|
||||
actions: {
|
||||
edit: {
|
||||
label: 'label.edit',
|
||||
|
|
@ -782,7 +809,7 @@
|
|||
},
|
||||
|
||||
tabFilter: function(args) {
|
||||
var project = args.context.projects[0];
|
||||
var project = selectedProjectObj;
|
||||
var projectOwner = project.account;
|
||||
var currentAccount = args.context.users[0].account;
|
||||
var hiddenTabs = [];
|
||||
|
|
|
|||
|
|
@ -1038,7 +1038,7 @@
|
|||
);
|
||||
};
|
||||
|
||||
var replaceTabs = function($detailView, $newTabs, tabs, options) {
|
||||
var replaceTabs = function($detailView, tabs, options) {
|
||||
var $detailViewElems = $detailView.find('ul.ui-tabs-nav, .detail-group');
|
||||
$detailView.tabs('destroy');
|
||||
$detailViewElems.remove();
|
||||
|
|
@ -1057,25 +1057,32 @@
|
|||
);
|
||||
};
|
||||
|
||||
$.fn.detailView = function(args) {
|
||||
$.fn.detailView = function(args, options) {
|
||||
var $detailView = this;
|
||||
|
||||
if (options == 'refresh') {
|
||||
var $tabs = replaceTabs($detailView, args.tabs, {
|
||||
context: args.context,
|
||||
tabFilter: args.tabFilter
|
||||
});
|
||||
} else {
|
||||
$detailView.addClass('detail-view');
|
||||
$detailView.data('view-args', args);
|
||||
|
||||
$detailView.addClass('detail-view');
|
||||
$detailView.data('view-args', args);
|
||||
if (args.$listViewRow) {
|
||||
$detailView.data('list-view-row', args.$listViewRow);
|
||||
}
|
||||
|
||||
if (args.$listViewRow) {
|
||||
$detailView.data('list-view-row', args.$listViewRow);
|
||||
// Create toolbar
|
||||
var $toolbar = makeToolbar().appendTo($detailView);
|
||||
|
||||
// Create tabs
|
||||
var $tabs = makeTabs($detailView, args.tabs, {
|
||||
context: args.context,
|
||||
tabFilter: args.tabFilter
|
||||
}).appendTo($detailView);
|
||||
}
|
||||
|
||||
// Create toolbar
|
||||
var $toolbar = makeToolbar().appendTo($detailView);
|
||||
|
||||
// Create tabs
|
||||
var $tabs = makeTabs($detailView, args.tabs, {
|
||||
context: args.context,
|
||||
tabFilter: args.tabFilter
|
||||
}).appendTo($detailView);
|
||||
|
||||
$detailView.tabs();
|
||||
|
||||
return $detailView;
|
||||
|
|
@ -1154,4 +1161,17 @@
|
|||
|
||||
return true;
|
||||
});
|
||||
|
||||
// Detail view refresh handler
|
||||
$(window).bind('cloudStack.detailsRefresh', function() {
|
||||
var $detailView = $('.detail-view');
|
||||
|
||||
$detailView.each(function() {
|
||||
var $detailView = $(this),
|
||||
args = $detailView.data('view-args');
|
||||
|
||||
$detailView.detailView(args, 'refresh');
|
||||
});
|
||||
});
|
||||
|
||||
}(window.jQuery, window.cloudStack, window._l));
|
||||
|
|
|
|||
Loading…
Reference in New Issue