Ext.onReady(function() {
Ext.QuickTips.init();
Ext.form.Field.prototype.msgTarget = 'side';
/////////////////////////////////
///// PANEL SEARCH USERS
/////////////////////////////////
//Variables
var pageSize = parseInt(CONFIG.pageSize);
//Components
var searchUsersText = new Ext.form.TextField({
width: 280,
allowBlank: true,
listeners:{
specialkey:function(f,o){
if(o.getKey()==13){
storeGridSearch.load({ params: {sKeyword: searchUsersText.getValue()} });
}
}
}
});
var compSearchUsers = new Ext.form.CompositeField({
fieldLabel: 'Keyword',
labelStyle: 'width:100px; padding: 3px 3px 3px 15px;',
items: [
searchUsersText,
{
xtype: 'button',
iconCls: 'button_menu_ext ss_sprite ss_magnifier',
text: _('ID_SEARCH'),
width : 40,
handler: function(){
storeGridSearch.load({ params: {sKeyword: searchUsersText.getValue()} });
}
}
]
});
var panelSearch = new Ext.Panel({
region: 'north',
height: 65,
margins: '0 0 0 0',
frame: true,
labelAlign: 'left',
align: 'center',
labelStyle: 'font-weight:bold; padding: 3px 3px 3px 15px;',
title: "
" + _('ID_SEARCH_FOR_USER') + "
",
items: [
new Ext.FormPanel({
labelWidth : 120,
labelStyle: 'padding: 3px 3px 3px 15px;',
autoScroll: false,
monitorValid : true,
bodyStyle: "border: 0px;",
items:[
compSearchUsers
]
})
],
listeners: {
afterrender: function (panel)
{
var btn = new Ext.Button({
text: _("ID_BACK"),
iconCls: "button_menu_ext ss_sprite ss_arrow_left",
renderTo: "divBack",
handler: function ()
{
location.href = "../authenticationSources/index";
}
});
}
}
});
/////////////////////////////////
///// GRID SEARCH USERS
/////////////////////////////////
var storeGridSearch = new Ext.data.JsonStore({
proxy: new Ext.data.HttpProxy({
method: 'POST',
url: 'ldapAdvancedProxy.php',
timeout: 240000
}),
autoDestroy: true,
remoteSort: false,
totalProperty: "resultTotal",
root: "resultRoot",
fields: [
'sUsername',
'sFullname',
'sFirstname',
'sLastname',
'sEmail',
'sCategory',
'sDN',
'sManagerDN',
'STATUS',
'IMPORT'
],
listeners: {
beforeload: function (store, opt)
{
this.baseParams = {
functionAccion: "searchUsers",
sUID: Fields.AUTH_SOURCE_UID,
sKeyword: searchUsersText.getValue(),
pageSize: pageSize
};
},
load: function (store, record, opt)
{
Ext.getCmp('BUTTON_IMPORT').disable();
}
}
});
storeGridSearch.setDefaultSort('sUsername', 'asc');
var tbarSearch = [
{
id: 'BUTTON_IMPORT',
text: _('ID_IMPORT'),
iconCls: 'button_menu_ext ss_sprite ss_group_go ',
disabled: true,
handler: function () {
rowSelected = gridSearch.getSelectionModel().getSelected();
var auxUsersSelect = gridSearch.getSelectionModel().selections.items;
var countSelect = auxUsersSelect.length;
if (countSelect != 0) {
var con = 0;
var usersSelect = new Array();
var numberCases = '';
while (con < countSelect) {
if (auxUsersSelect[con].data.IMPORT == 1) {
var newArray = {
sUsername : auxUsersSelect[con].data.sUsername,
sFullname : auxUsersSelect[con].data.sFullname,
sFirstname : auxUsersSelect[con].data.sFirstname,
sLastname : auxUsersSelect[con].data.sLastname,
sEmail : auxUsersSelect[con].data.sEmail,
sCategory : auxUsersSelect[con].data.sCategory,
sDN : auxUsersSelect[con].data.sDN,
sManagerDN : auxUsersSelect[con].data.sManagerDN
};
usersSelect.push(newArray);
}
con++;
}
var countImport = usersSelect.length;
if (countImport != 0) {
Ext.MessageBox.confirm('Confirm', 'Are you sure you want to import the selected users?', function (val) {
if (val == 'yes') {
Ext.MessageBox.show({
msg: _('ID_IMPORTING_USERS'),
progressText: _('ID_SAVING'),
width:300,
wait:true,
waitConfig: {interval:200},
animEl: 'mb7'
});
Ext.Ajax.request({
params: {
'UsersImport': Ext.encode(usersSelect),
'functionAccion': 'importUsers',
'AUTH_SOURCE_UID': Fields.AUTH_SOURCE_UID
},
url : 'ldapAdvancedProxy.php',
success: function (returnData) {
var resp = Ext.decode(returnData.responseText);
Ext.MessageBox.hide();
if (resp.success) {
Ext.MessageBox.show({
title: _('ID_IMPORT_USERS'),
msg: _('ID_IMPORTED_SUCCESSFULLY'),
buttons: Ext.MessageBox.OK,
animEl: 'mb9',
icon: Ext.MessageBox.INFO
});
redirectPage('../users/users_List');
}
},
failure: function () {
Ext.MessageBox.alert('ERROR', _('ID_ERROR_IN_SERVER'));
}
});
}
});
} else {
PMExt.notify('WARNING', _('ID_YOU_DO_NOT_SELECT_ANY_USER_TO_IMPORT'));
}
} else {
PMExt.notify('WARNING', _('ID_YOU_DO_NOT_SELECT_ANY_USER_TO_IMPORT'));
}
}
}
];
//var pageSize = parseInt(CONFIG.pageSize);
//
//var storePageSize = new Ext.data.SimpleStore({
// autoLoad: true,
// fields: ['size'],
// data:[['20'],['30'],['40'],['50'],['100']]
//});
//
//var comboPageSize = new Ext.form.ComboBox({
// typeAhead : false,
// mode : 'local',
// triggerAction : 'all',
// store: storePageSize,
// valueField: 'size',
// displayField: 'size',
// width: 50,
// editable: false,
// listeners:{
// select: function(c,d,i){
// pagingSearchList.pageSize = parseInt(d.data['size']);
// pagingSearchList.moveFirst();
// }
// }
//});
//
//comboPageSize.setValue(pageSize);
//
//var pagingSearchList = new Ext.PagingToolbar({
// pageSize : 1000,
// store : storeGridSearch,
// displayInfo : true,
// autoHeight : true,
// displayMsg : 'Ldap Users' + ' {0} - {1} ' + 'of' + ' {2}',
// emptyMsg : ' There are no LDAP Users '//,
// //items: [
// //comboPageSize
// //]
//});
var pagingSearchList = new Ext.PagingToolbar({
pageSize: pageSize,
store: storeGridSearch,
displayInfo: true,
displayMsg: _('ID_LDAP_USERS') + " {0} - {1} " + "of" + " {2}",
emptyMsg: _('ID_THERE_ARE_NO_LDAP_USERS')
});
var selectModelList = new Ext.grid.CheckboxSelectionModel({
listeners: {
selectionchange: function() {
if (selectModelList.getCount() > 0) {
Ext.getCmp('BUTTON_IMPORT').enable();
} else {
Ext.getCmp('BUTTON_IMPORT').disable();
}
}
}
});
var gridSearch = new Ext.grid.GridPanel({
store : storeGridSearch,
tbar : tbarSearch,
bbar : pagingSearchList,
region: 'center',
margins: '0 0 0 0',
loadMask : true,
sm: selectModelList,
cm: new Ext.grid.ColumnModel({
defaults: {
sortable: true
},
columns: [
selectModelList,
{header: _('ID_USER_ID'), width: 15, dataIndex: 'sUsername', sortable: true},
{header: _('ID_FIRST_NAME'), width: 15, dataIndex: 'sFirstname', sortable: true},
{header: _('ID_LAST_NAME'), width: 15, dataIndex: 'sLastname', sortable: true},
{header: _('ID_EMAIL'), width: 15, dataIndex: 'sEmail', sortable: true},
{header: _('ID_DISTINGUISHED_NAME'), width: 35, dataIndex: 'sDN'},
{dataIndex: "STATUS", header: _("ID_STATUS"), width: 10, css: "background: #D4D4D4; font-weight: bold;", align: "center", renderer: renderStatus}
]
}),
border: false,
autoShow: true,
autoFill:true,
nocache: true,
autoWidth: true,
stripeRows: true,
stateful: true,
animCollapse: true,
enableColumnResize: true,
enableHdMenu: true,
columnLines: true,
viewConfig: {
forceFit:true,
emptyText: ' ' + _('ID_THERE_ARE_NO_LDAP_USERS') + '
'
}
});
new Ext.Viewport({
layout:'border',
border: false,
items: [panelSearch, gridSearch]
});
});