2015-06-09 16:14:01 -04:00
Ext . onReady ( function ( ) {
//Head - Add style
var nhead = document . getElementsByTagName ( "head" ) [ 0 ] ;
var nstyle = document . createElement ( "style" ) ;
var strCss = " \
. ext - mb - ok { \
background : transparent url ( / i m a g e s / d i a l o g - o k - a p p l y . p n g ) n o - r e p e a t t o p l e f t ; \
} " ;
nstyle . setAttribute ( "type" , "text/css" ) ;
nhead . appendChild ( nstyle ) ;
if ( nstyle . styleSheet ) {
//IE
nstyle . styleSheet . cssText = strCss ;
} else {
//Others browsers
nstyle . appendChild ( document . createTextNode ( strCss ) ) ;
}
//Init
Ext . QuickTips . init ( ) ;
Ext . form . Field . prototype . msgTarget = 'side' ;
var ldapGridProxy = new Ext . data . HttpProxy ( {
method : 'POST' ,
api : {
2015-06-11 11:08:56 -04:00
read : 'ldapAdvancedProxy.php?functionAccion=ldapGrid&tipo=read' ,
create : 'ldapAdvancedProxy.php?functionAccion=ldapGrid&tipo=create' ,
save : 'ldapAdvancedProxy.php?functionAccion=ldapGrid&tipo=save' ,
destroy : 'ldapAdvancedProxy.php?functionAccion=ldapGrid&tipo=destroy' ,
update : 'ldapAdvancedProxy.php?functionAccion=ldapGrid&tipo=update'
2015-06-09 16:14:01 -04:00
}
} ) ;
var ldapGridReader = new Ext . data . JsonReader ( {
totalProperty : 'total' ,
successProperty : 'success' ,
messageProperty : 'message' ,
idProperty : 'ID' ,
root : 'data' ,
fields : [
{ name : 'ID' } ,
{ name : 'ATTRIBUTE_LDAP' } ,
{ name : 'ATTRIBUTE_USER' }
]
} ) ;
var ldapGridWriter = new Ext . data . JsonWriter ( {
encode : true ,
writeAllFields : true ,
listful : true
} ) ;
var ldapGridStore = new Ext . data . Store ( {
proxy : ldapGridProxy ,
reader : ldapGridReader ,
writer : ldapGridWriter ,
autoSave : true ,
listeners : {
load : function ( ) {
//
}
}
} ) ;
Ext . data . DataProxy . addListener ( 'beforewrite' , function ( proxy , action ) {
/ *
if ( action != 'create' )
{
Ext . MessageBox . show ( {
msg : 'Guardando su información, espere un momento por favor' ,
progressText : 'Saving...' ,
width : 300 ,
wait : true ,
waitConfig : { interval : 200 } ,
animEl : 'mb7'
} ) ;
}
* /
} ) ;
Ext . data . DataProxy . addListener ( 'write' , function ( proxy , action , result , res , rs ) {
//
} ) ;
Ext . data . DataProxy . addListener ( 'exception' , function ( proxy , type , action , options , res ) {
/ *
Ext . MessageBox . show ( {
title : 'Error de almacenamiento' ,
msg : 'Error al almacenar datos' ,
buttons : Ext . MessageBox . OK ,
animEl : 'mb9' ,
icon : Ext . MessageBox . ERROR
} ) ;
* /
} ) ;
var ldapGridFieldLdap = new Ext . form . TextField ( {
name : 'DELETE1' ,
id : 'DELETE1' ,
autoCreate : { tag : 'input' , type : 'text' , maxlength : '50' }
} ) ;
var values = Fields . AUTH _SOURCE _ATTRIBUTE _IDS ;
values = values . trim ( ) ;
var allValues = new Array ( ) ;
var comboValues = new Array ( ) ;
allValues = values . split ( '|' ) ;
for ( var i = 0 ; i < allValues . length ; i ++ ) {
if ( allValues [ i ] != '' ) {
comboValues . push ( [ allValues [ i ] , allValues [ i ] ] ) ;
}
}
var ldapGridFieldUser = new Ext . form . ComboBox ( {
valueField : 'ID' ,
displayField : 'VALUE' ,
value : '0' ,
typeAhead : true ,
forceSelection : true ,
triggerAction : 'all' ,
name : 'DELETE2' ,
id : 'DELETE2' ,
editable : true ,
width : 130 ,
store : comboValues
} ) ;
var ldapGridCol = [
{
id : 'ID' ,
dataIndex : 'ID' ,
sortable : true ,
hidden : true ,
hideable : false
} , {
id : 'ATTRIBUTE_LDAP' ,
2015-09-15 11:50:23 -04:00
header : _ ( "ID_LDAP_FIELD" ) ,
2015-06-09 16:14:01 -04:00
dataIndex : 'ATTRIBUTE_LDAP' ,
width : 10 ,
sortable : true ,
editor : ldapGridFieldLdap
} ,
{
id : 'ATTRIBUTE_USER' ,
2015-09-15 11:50:23 -04:00
header : _ ( "ID_USER_FIELD" ) ,
2015-06-09 16:14:01 -04:00
dataIndex : 'ATTRIBUTE_USER' ,
width : 10 ,
sortable : true ,
editor : ldapGridFieldUser
}
] ;
var ldapGridEditor = new Ext . ux . grid . RowEditor ( {
saveText : _ ( 'ID_SAVE' ) ,
2015-09-15 11:50:23 -04:00
cancelText : _ ( 'ID_CANCEL' ) ,
2015-06-09 16:14:01 -04:00
listeners : {
canceledit : function ( grid , obj ) {
//
} ,
afteredit : function ( grid , obj , record ) {
//
}
}
} ) ;
var ldapGrid = new Ext . grid . GridPanel ( {
store : ldapGridStore ,
loadMask : true ,
plugins : [ ldapGridEditor ] ,
frame : true ,
height : 365 ,
columns : ldapGridCol ,
autoShow : true ,
autoFill : true ,
nocache : true ,
autoWidth : true ,
stripeRows : true ,
stateful : true ,
animCollapse : true ,
enableColumnResize : true ,
enableHdMenu : true ,
columnLines : true ,
tbar : [ {
text : _ ( 'ID_ADD' ) ,
iconCls : ' x-btn-text button_menu_ext ss_sprite ss_add' ,
handler : onAdd
} , '-' , {
text : _ ( 'ID_REMOVE' ) ,
iconCls : ' x-btn-text button_menu_ext ss_sprite ss_delete' ,
handler : onDelete
} ] ,
viewConfig : {
forceFit : true
}
} ) ;
function onAdd ( btn , ev ) {
var row = new ldapGrid . store . recordType ( {
ID : 'NUEVO' ,
ATTRIBUTE _LDAP : '' ,
ATTRIBUTE _USER : ''
} ) ;
var length = ldapGrid . getStore ( ) . data . length ;
ldapGridEditor . stopEditing ( ) ;
ldapGridStore . insert ( length , row ) ;
ldapGrid . getView ( ) . refresh ( ) ;
ldapGrid . getSelectionModel ( ) . selectRow ( length ) ;
ldapGridEditor . startEditing ( length ) ;
}
function onDelete ( ) {
var rec = ldapGrid . getSelectionModel ( ) . getSelected ( ) ;
if ( ! rec ) {
return false ;
}
ldapGrid . store . remove ( rec ) ;
}
///////////////////////////////////////////////////////////////////////////////////////
var pnlAttribute = new Ext . Panel ( {
height : 425 ,
bodyStyle : "border-top: 0px; padding: 10px;" ,
title : "<div id=\"containerChkAttribute\" style=\"height: 20px;\"></div>" ,
items : [ ldapGrid ] ,
listeners : {
afterrender : function ( panel )
{
var chk = new Ext . form . Checkbox ( {
id : "AUTH_SOURCE_SHOWGRID-checkbox" ,
name : "AUTH_SOURCE_SHOWGRID-checkbox" ,
2015-09-15 11:50:23 -04:00
boxLabel : _ ( "ID_MATCH_ATTRIBUTES_TO_SYNC" ) ,
2015-06-09 16:14:01 -04:00
renderTo : "containerChkAttribute" ,
listeners : {
check : function ( chk , checked )
{
ldapGrid . setVisible ( checked ) ;
}
}
} ) ;
}
}
} ) ;
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
var ldapFormSubmit = function ( )
{
var itemsLdapGrid = ldapGrid . store . data . items ;
var arrayDetail = [ ] ;
for ( var i = 0 ; i <= itemsLdapGrid . length - 1 ; i ++ ) {
var newItem = {
attributeLdap : itemsLdapGrid [ i ] . data . ATTRIBUTE _LDAP ,
attributeUser : itemsLdapGrid [ i ] . data . ATTRIBUTE _USER
} ;
arrayDetail [ i ] = newItem ;
}
Ext . get ( "LDAP_TYPE" ) . dom . value = ldapFormType . getValue ( ) ;
Ext . get ( "AUTH_SOURCE_AUTO_REGISTER" ) . dom . value = ldapFormAutoRegister . getValue ( ) ;
Ext . get ( "AUTH_SOURCE_ENABLED_TLS" ) . dom . value = ldapFormTls . getValue ( ) ;
Ext . get ( "AUTH_ANONYMOUS" ) . dom . value = ldapFormAnonymous . getValue ( ) ;
Ext . get ( "AUTH_SOURCE_GRID_TEXT" ) . dom . value = Ext . util . JSON . encode ( arrayDetail ) ;
ldapForm . getForm ( ) . submit ( {
method : "POST" ,
2015-09-15 11:50:23 -04:00
waitTitle : _ ( 'ID_CONNECTING' ) ,
2015-06-09 16:14:01 -04:00
waitMsg : _ ( "ID_SAVING" ) ,
success : function ( form , action )
{
redirectPage ( "../authSources/authSources_List?" + randomNum ( 1 , 9999999 ) ) ;
} ,
failure : function ( form , action )
{
//
}
} ) ;
} ;
var ldapForm = new Ext . FormPanel ( {
2015-06-11 11:08:56 -04:00
url : 'ldapAdvancedProxy.php?functionAccion=ldapSave' ,
2015-06-09 16:14:01 -04:00
frame : true ,
2015-09-15 11:50:23 -04:00
title : _ ( "ID_AUTHENTICATION_SOURCE_INFORMATION" ) ,
2015-06-09 16:14:01 -04:00
border : false ,
autoScroll : true ,
monitorValid : true ,
items : [
{
layout : 'column' ,
autoScroll : true ,
bodyStyle : "border: 0px;" ,
items : [ {
columnWidth : 0.5 ,
bodyStyle : "border: 0px;" ,
items : [ pnlData ]
} , {
columnWidth : 0.5 ,
bodyStyle : "border: 0px; padding-left: 10px;" ,
items : [ pnlAttribute ]
} ]
} ,
{
layout : "column" ,
autoScroll : true ,
bodyStyle : "margin-top: 0.5em; border: 0px;" ,
items : [
{
columnWidth : 1 ,
bodyStyle : "border: 0px;" ,
2015-09-15 11:50:23 -04:00
html : _ ( "ID_MINIMUM_DATA_REQUIRED_TO_RUN_THE" )
2015-06-09 16:14:01 -04:00
}
]
}
] ,
buttons : [
{
text : _ ( "ID_SAVE" ) ,
formBind : true ,
handler : function ( )
{
if ( typeof ( Fields . AUTH _SOURCE _UID ) != "undefined" && typeof ( Fields . AUTH _SOURCE _BASE _DN ) != "undefined" && ldapFormBaseDN . getValue ( ) != Fields . AUTH _SOURCE _BASE _DN ) {
Ext . Ajax . request ( {
2015-06-11 11:08:56 -04:00
url : "ldapAdvancedProxy.php" ,
2015-06-09 16:14:01 -04:00
method : "POST" ,
params : {
functionAccion : "ldapVerifyIfExistsRecordsInDb" ,
authenticationSourceUid : Fields . AUTH _SOURCE _UID
} ,
success : function ( response , opts )
{
var dataResponse = Ext . util . JSON . decode ( response . responseText ) ;
if ( dataResponse . status ) {
if ( dataResponse . status == "OK" && dataResponse . existsRecords + "" == "1" ) {
Ext . MessageBox . confirm (
_ ( "ID_CONFIRM" ) ,
"System has detected that there are synchronized elements with the \"Authentication Source \" you are editing, if you change the \"Base DN\" those synchronized elements could have problems. Are you sure you want to change the \"Base DN\"?" ,
function ( btn )
{
if ( btn == "yes" ) {
ldapFormSubmit ( ) ;
}
}
) ;
} else {
ldapFormSubmit ( ) ;
}
} else {
ldapFormSubmit ( ) ;
}
} ,
failure : function ( response , opts )
{
//
}
} ) ;
} else {
ldapFormSubmit ( ) ;
}
}
} ,
{
2015-09-15 11:50:23 -04:00
text : _ ( 'ID_TEST_CONNECTION' ) ,
2015-06-09 16:14:01 -04:00
formBind : true ,
handler : function ( )
{
2015-09-15 11:50:23 -04:00
var loadMaskAux = new Ext . LoadMask ( Ext . getBody ( ) , { msg : _ ( 'ID_TESTING_CONNECTION' ) } ) ;
2015-06-09 16:14:01 -04:00
loadMaskAux . show ( ) ;
Ext . Ajax . request ( {
2015-06-11 11:08:56 -04:00
url : "ldapAdvancedProxy.php" ,
2015-06-09 16:14:01 -04:00
method : "POST" ,
params : {
functionAccion : "ldapTestConnection" ,
AUTH _SOURCE _SERVER _NAME : Ext . getCmp ( "AUTH_SOURCE_SERVER_NAME" ) . getValue ( ) ,
AUTH _SOURCE _PORT : Ext . getCmp ( "AUTH_SOURCE_PORT" ) . getValue ( ) ,
AUTH _SOURCE _ENABLED _TLS : Ext . getCmp ( "AUTH_SOURCE_ENABLED_TLS" ) . getValue ( ) ,
AUTH _ANONYMOUS : Ext . getCmp ( "AUTH_ANONYMOUS" ) . getValue ( ) ,
AUTH _SOURCE _SEARCH _USER : Ext . getCmp ( "AUTH_SOURCE_SEARCH_USER" ) . getValue ( ) ,
AUTH _SOURCE _PASSWORD : Ext . getCmp ( "AUTH_SOURCE_PASSWORD" ) . getValue ( ) ,
AUTH _SOURCE _VERSION : 3
} ,
success : function ( response , opts )
{
var dataResponse = Ext . util . JSON . decode ( response . responseText ) ;
if ( dataResponse . status ) {
Ext . MessageBox . show ( {
2015-09-15 11:50:23 -04:00
title : _ ( 'ID_TEST_CONNECTION' ) ,
msg : ( dataResponse . status == "OK" ) ? _ ( 'ID_SUCCESSFULLY_CONNECTED' ) : dataResponse . message ,
2015-06-09 16:14:01 -04:00
icon : ( dataResponse . status == "OK" ) ? "ext-mb-ok" : Ext . MessageBox . ERROR ,
buttons : { ok : _ ( "ID_ACCEPT" ) }
} ) ;
}
loadMaskAux . hide ( ) ;
} ,
failure : function ( response , opts )
{
loadMaskAux . hide ( ) ;
}
} ) ;
}
} ,
{
text : _ ( "ID_CANCEL" ) ,
handler : function ( )
{
redirectPage ( "../authSources/authSources_List?" + randomNum ( 1 , 9999999 ) ) ;
}
}
]
} ) ;
var gridAttribute = '' ;
if ( typeof ( Fields . AUTH _SOURCE _UID ) == 'undefined' || Fields . AUTH _SOURCE _UID == '' ) {
ldapFormProvider . setValue ( Fields . AUTH _SOURCE _PROVIDER ) ;
ldapFormAttrinuteIds . setValue ( Fields . AUTH _SOURCE _ATTRIBUTE _IDS ) ;
gridAttribute = '' ;
} else {
ldapFormId . setValue ( Fields . AUTH _SOURCE _UID ) ;
ldapFormName . setValue ( Fields . AUTH _SOURCE _NAME ) ;
ldapFormProvider . setValue ( Fields . AUTH _SOURCE _PROVIDER ) ;
ldapFormType . setValue ( Fields . LDAP _TYPE ) ;
ldapFormAutoRegister . setValue ( Fields . AUTH _SOURCE _AUTO _REGISTER ) ;
ldapFormServerName . setValue ( Fields . AUTH _SOURCE _SERVER _NAME ) ;
ldapFormPort . setValue ( Fields . AUTH _SOURCE _PORT ) ;
ldapFormTls . setValue ( Fields . AUTH _SOURCE _ENABLED _TLS ) ;
ldapFormBaseDN . setValue ( Fields . AUTH _SOURCE _BASE _DN ) ;
ldapFormAnonymous . setValue ( Fields . AUTH _ANONYMOUS ) ;
ldapFormSearchUser . setValue ( Fields . AUTH _SOURCE _SEARCH _USER ) ;
ldapFormPassword . setValue ( Fields . AUTH _SOURCE _PASSWORD ) ;
ldapFormIdentifier . setValue ( Fields . AUTH _SOURCE _IDENTIFIER _FOR _USER ) ;
ldapFormUsersFilter . setValue ( Fields . AUTH _SOURCE _USERS _FILTER ) ;
ldapFormRetiredEmployees . setValue ( Fields . AUTH _SOURCE _RETIRED _OU ) ;
if ( typeof ( Fields . AUTH _SOURCE _GRID _ATTRIBUTE ) != 'undefined' ) {
gridAttribute = Ext . util . JSON . encode ( Fields . AUTH _SOURCE _GRID _ATTRIBUTE ) ;
}
}
ldapGridStore . load ( {
params : { 'data' : gridAttribute }
} ) ;
var arrayObject = [ ] ;
arrayObject [ "ldapFormSearchUser" ] = ldapFormSearchUser ;
arrayObject [ "ldapFormPassword" ] = ldapFormPassword ;
ldapFormAnonymousOnChange ( ldapFormAnonymous , arrayObject ) ;
new Ext . Viewport ( {
layout : 'fit' ,
border : false ,
items : [ ldapForm ]
} ) ;
ldapFormProvider . setValue ( Fields . AUTH _SOURCE _PROVIDER ) ;
ldapFormAttrinuteIds . setValue ( Fields . AUTH _SOURCE _ATTRIBUTE _IDS ) ;
Ext . getCmp ( "AUTH_SOURCE_SHOWGRID-checkbox" ) . setValue ( typeof ( Fields . AUTH _SOURCE _GRID _ATTRIBUTE ) != "undefined" ) ;
ldapGrid . setVisible ( typeof ( Fields . AUTH _SOURCE _GRID _ATTRIBUTE ) != "undefined" ) ;
} ) ;