add a stuff to manage and display exported attributes of SAML metadata

environments/ppa-mbqj77/deployments/1
Thomas CHEMINEAU 15 years ago
parent 378ef72f93
commit 0c83394430
  1. 53
      modules/lemonldap-ng-manager/example/skins/default/manager.js
  2. 38
      modules/lemonldap-ng-manager/example/skins/default/manager.tpl
  3. 4
      modules/lemonldap-ng-manager/lib/Lemonldap/NG/Manager/_Struct.pm

@ -196,6 +196,19 @@ function setlmsamlassertion(id){
var v=def+';'+ind+';'+bin+';'+loc;
setlmdata(id,v);
}
function setlmsamlattribute(id){
var name=$('#samlAttributeName').attr('value');
var form=$('#samlAttributeFormat').attr('value');
var altr=$('#samlAttributeFriendlyName').attr('value');
var mand='0';
if($('#samlAttributeMandatoryOn').attr('checked')==true){
mand='1';
}
var v=mand+';'+name+';'+form+';'+altr;
$('#text_'+id).attr('name',$('#samlAttributeKey').attr('value'));
$('#text_'+id).text($('#samlAttributeKey').attr('value'));
setlmdata(id,v);
}
function setlmsamlservice(id){
var bin=$('#samlServiceBinding').attr('value');
var loc=$('#samlServiceLocation').attr('value');
@ -267,6 +280,27 @@ function samlAssertion(id) {
$('#samlAssertionLocation').attr('value',t[3]);
display('samlAssertion',lmtext(id));
}
function samlAttribute(id) {
currentId=id;
var t=lmdata(id).split(';');
if(t[0]==1){
$('#samlAttributeMandatoryOn').attr('checked',true);
}else{
$('#samlAttributeMandatoryOff').attr('checked',true);
}
$('#samlAttributeKey').attr('value',lmtext(id));
$('#samlAttributeName').attr('value',t[1]);
$('#samlAttributeFormat').attr('value',t[2]);
$('#samlAttributeFriendlyName').attr('value',t[3]);
display('samlAttribute',lmtext(id));
$('#newsamlattributeb,#delsamlattributeb').show();
$('#newsamlattributebr').hide();
}
function samlAttributeRoot(){
currentId=simpleTreeCollection[0].getSelected().attr('id');
display('default','');
$('#newsamlattributebr').show();
}
function samlMetaData(id){
currentId=id;
$('#samlMetaData').attr('value',lmtext(id));
@ -400,6 +434,9 @@ function newVh(name){
vhost(vhId);
});
}
function delSamlAttribute(){
delKey();
}
function delSamlMetaData(id){
var idpname = $('#text_'+id).attr('name');
if(confirm('Delete '+idpname+' ?')){
@ -407,6 +444,22 @@ function delSamlMetaData(id){
samlMetaData(id);
}
}
function newSamlAttribute(){
var newIdValue=newId(currentId);
simpleTreeCollection[0].newNodeAfter(newIdValue,text4newSamlAttribute,function(d,s){
$('>span',s).attr('onClick','samlAttribute("'+newIdValue+'")').attr('name',text4newSamlAttribute).attr('value',value4newSamlAttribute).attr('id','text_'+newIdValue);
samlAttribute(newIdValue);
});
return false;
}
function newSamlAttributeR(){
var newIdValue=newId(currentId);
simpleTreeCollection[0].addNode(newIdValue,text4newSamlAttribute,function(d,s){
$('>span',s).attr('onClick','samlAttribute("'+newIdValue+'")').attr('name',text4newSamlAttribute).attr('value',value4newSamlAttribute).attr('id','text_'+newIdValue);
samlAttribute(newIdValue);
});
return false;
}
function newSamlMetaData(){
var name = prompt(text4newSamlMetaData,'authentic');
if(!name){return false;}

@ -19,8 +19,10 @@
var treejquerycss='<TMPL_VAR NAME="TREE_JQUERYCSS">';
var text4newKey='<lang en="Key" fr="Clé" />';
var value4newKey='<lang en="Value" fr="Valeur" />';
var value4newSamlAttribute='<lang en="Value" fr="Valeur" />';
var text4newVhost='<lang en="Virtual host name" fr="Nom de l\'hôte virtuel" />';
var text4newSamlMetaData='<lang en="SAML Metadatas name" fr="Nom des métadatas SAML" />';
var text4newSamlAttribute='<lang en="Attribute name" fr="Nom de l\'attribut" />';
//]]></script>
<script src="<TMPL_VAR NAME="DIR">/manager.js" type="text/JavaScript"></script>
<meta http-equiv="Content-Type" content="text/html; charset=utf8" />
@ -106,6 +108,18 @@
<button id="delsamlmetadatab" style="display:none;" onclick="delSamlMetaData(currentId);" class="ui-state-default ui-corner-all">
<lang en="Delete metadatas" fr="Supprimer les métadatas" />
</button>
<button id="newsamlattributeb" style="display:none;" onclick="newSamlAttribute();return false;" class="ui-state-default ui-corner-all">
<lang en="New attribute" fr="Nouvel attribut" />
</button>
<button id="newsamlattributebr" style="display:none;" onclick="newSamlAttributeR();return false;" class="ui-state-default ui-corner-all">
<lang en="New attribute" fr="Nouvel attribut" />
</button>
<button id="delsamlattributeb" style="display:none;" onclick="delSamlAttribute();return false;" class="ui-state-default ui-corner-all">
<lang en="Delete attribute" fr="Supprimer l'attribut" />
</button>
</div>
<!-- Buttons -->
@ -193,6 +207,30 @@
<input type="text" id="samlMetaData" onchange="setlmtext(currentId,this.value)"/>
</div>
<!-- samlAttribute -->
<div id="content_samlAttribute" class="hidden">
<table>
<tr>
<td><lang en="Key name" fr="Nom de la clef"/></td>
<td><input type="text" id="samlAttributeKey" onchange="setlmsamlattribute(currentId)"/></td>
</tr>
<tr>
<td><lang en="Name" fr="Nom"/></td>
<td><input type="text" id="samlAttributeName" onchange="setlmsamlattribute(currentId)"/></td>
<td><lang en="Mandatory" fr="Obligatoire"/></td>
<td><input id="samlAttributeMandatoryOn" type="radio" name="boolean" value="1" onclick="setlmsamlattribute(currentId)"/> <lang en="On" fr="Activé"/>
<input id="samlAttributeMandatoryOff" type="radio" name="boolean" value="0" onclick="setlmsamlattribute(currentId)"/> <lang en="Off" fr="Désactivé"/>
</td>
</tr>
<tr>
<td><lang en="Friendly name" fr="Nom alternatif"/></td>
<td><input type="text" id="samlAttributeFriendlyName" onchange="setlmsamlattribute(currentId)"/></td>
<td><lang en="Format" fr="Format"/></td>
<td><input type="text" id="samlAttributeFormat" onchange="setlmsamlattribute(currentId)"/></td>
</tr>
</table>
</div>
<!-- samlAssertion -->
<div id="content_samlAssertion" class="hidden">
<table>

@ -54,9 +54,9 @@ sub cstruct {
samlIDPMetaDataExportedAttributes => {
_nodes => [
"hash:/samlIDPMetaDataExportedAttributes/$k2"
. ":samlIDPMetaDataExportedAttributes:btext"
. ":samlIDPMetaDataExportedAttributes:samlAttribute"
],
_js => 'hashRoot'
_js => 'samlAttributeRoot'
},
samlIDPMetaDataXML => "samlmetadata:/samlIDPMetaDataXML/$k2"
. ":samlIDPMetaDataXML:textarea",

Loading…
Cancel
Save