mirror of
https://github.com/OpenNebula/one.git
synced 2025-03-19 06:50:07 +03:00
* F #5065 Added group selector in UserSelector * F #4913 Optimized ajax * Added pool_filter
This commit is contained in:
parent
ba69ddcdb3
commit
3dd7f49e93
@ -37,6 +37,7 @@ define(function(require) {
|
||||
var Notifier = require('utils/notifier');
|
||||
var Menu = require('utils/menu');
|
||||
var Locale = require('utils/locale');
|
||||
var OpenNebulaGroup = require('opennebula/group');
|
||||
|
||||
var UserAndZoneTemplate = require('hbs!sunstone/user_and_zone');
|
||||
|
||||
@ -97,6 +98,10 @@ define(function(require) {
|
||||
}
|
||||
|
||||
function _insertUserAndZoneSelector() {
|
||||
|
||||
this.idGroup = -2; /*All*/
|
||||
Config.changeFilter(false);
|
||||
|
||||
$(".user-zone-info").html(UserAndZoneTemplate({
|
||||
displayName: config['display_name'],
|
||||
settingsTabEnabled: Config.isTabEnabled(SETTINGS_TAB_ID),
|
||||
@ -104,6 +109,8 @@ define(function(require) {
|
||||
zoneName: config['zone_name']
|
||||
})).foundation();
|
||||
|
||||
groupsRefresh();
|
||||
|
||||
$('.quickconf_view[view="' + config['user_config']["default_view"] + '"] i').addClass('fa-check');
|
||||
$(".user-zone-info a.quickconf_view_header").click(function() {
|
||||
var context = $(this).closest('ul');
|
||||
@ -117,6 +124,73 @@ define(function(require) {
|
||||
Sunstone.runAction("User.append_sunstone_setting_refresh", -1, sunstone_setting);
|
||||
});
|
||||
|
||||
function groupsRefresh() {
|
||||
|
||||
OpenNebula.User.show({
|
||||
timeout: true,
|
||||
data : {
|
||||
id: config['user_id']
|
||||
},
|
||||
success: function (request, obj_user) {
|
||||
var groups = obj_user.USER.GROUPS.ID;
|
||||
var groupsHTML = "<li class='groups' value='-2'> <a href='#' value='-2' id='-2'> \
|
||||
<i class='fa fa-fw'></i>" + Locale.tr("All") + "</a></li>";
|
||||
if(this.idGroup == -2){
|
||||
var groupsHTML = "<li class='groups' value='-2'> <a href='#' value='-2' id='-2'> \
|
||||
<i class='fa fa-fw fa-check'></i>" + Locale.tr("All") + "</a></li>";
|
||||
}
|
||||
|
||||
if (!$.isArray(groups)){
|
||||
groups = groups.toString();
|
||||
groups = [groups];
|
||||
}
|
||||
|
||||
that = this;
|
||||
OpenNebula.Group.list({
|
||||
timeout: true,
|
||||
success: function(request, group_list) {
|
||||
var group_list_aux = group_list;
|
||||
$.each(groups, function(key, value){
|
||||
var id = value;
|
||||
$.each(group_list_aux, function(key, value){
|
||||
if(id == value.GROUP.ID){
|
||||
if(id == that.idGroup){
|
||||
groupsHTML += "<li class='groups' value='" + id + "'id='" + id + "'> \
|
||||
<a href='#'><i class='fa fa-fw fa-check'></i>" + value.GROUP.NAME + "\
|
||||
</a></li>";
|
||||
} else {
|
||||
groupsHTML += "<li class='groups' value='" + id + "'id='" + id + "'> \
|
||||
<a href='#'><i class='fa fa-fw'></i>" + value.GROUP.NAME + "\
|
||||
</a></li>";
|
||||
}
|
||||
return false;
|
||||
}
|
||||
});
|
||||
});
|
||||
},
|
||||
error: Notifier.onError
|
||||
});
|
||||
|
||||
$('#userselector').on('click', function(){
|
||||
$('.groups-menu').empty();
|
||||
$('.groups-menu').append(groupsHTML);
|
||||
$('.groups').on('click', function(){
|
||||
that.idGroup = $(this).attr('value');
|
||||
$('.groups-menu a i').removeClass('fa-check');
|
||||
$('a i', this).addClass('fa-check');
|
||||
groupsRefresh();
|
||||
if(that.idGroup != -2){
|
||||
Config.changeFilter(true);
|
||||
} else {
|
||||
Config.changeFilter(false);
|
||||
}
|
||||
});
|
||||
});
|
||||
},
|
||||
error: Notifier.onError
|
||||
});
|
||||
}
|
||||
|
||||
function zoneRefresh() {
|
||||
// Populate Zones dropdown
|
||||
OpenNebula.Zone.list({
|
||||
|
@ -26,6 +26,10 @@ define(function(require) {
|
||||
return enabled;
|
||||
},
|
||||
|
||||
"changeFilter": function(bool) {
|
||||
_config['pool_filter'] = bool;
|
||||
},
|
||||
|
||||
"isTabActionEnabled": function(tabName, actionName, panelName) {
|
||||
var enabled = false;
|
||||
var configTab = _config['view']['tabs'][tabName];
|
||||
|
@ -16,7 +16,7 @@
|
||||
|
||||
<ul class="dropdown menu" data-dropdown-menu data-alignment="right">
|
||||
<li>
|
||||
<a class="thin-font" href="#">
|
||||
<a class="thin-font" href="#" id="userselector">
|
||||
<i class="fa fa-user fa-fw header-icon"></i>
|
||||
<span class="username">
|
||||
{{displayName}}
|
||||
@ -55,6 +55,13 @@
|
||||
</ul>
|
||||
</li>
|
||||
{{/if}}
|
||||
<li>
|
||||
<a href="#">
|
||||
<i class="fa fa-fw fa-users"></i>
|
||||
{{tr "Groups"}}
|
||||
</a>
|
||||
<ul class="menu groups-menu"></ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
Loading…
x
Reference in New Issue
Block a user