mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2025-02-25 18:55:28 -06:00
password dialog
added a modal dialog for resetting the password. Made the whoami varaible global, as anything dependant on the principal will require access to it.
This commit is contained in:
parent
2c5f3cfd60
commit
4f7f400043
@ -279,6 +279,7 @@ span.main-separator{
|
||||
|
||||
.strikethrough { text-decoration: line-through; }
|
||||
|
||||
|
||||
.certificate-status-valid {
|
||||
list-style-type: circle;
|
||||
color: #008000;
|
||||
@ -297,3 +298,25 @@ span.main-separator{
|
||||
.certificate-status-active {
|
||||
list-style-type: disc;
|
||||
}
|
||||
|
||||
dl.modal {
|
||||
clear: both;
|
||||
margin-left: 15px;
|
||||
margin-top: 18px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
dl.modal dt {
|
||||
clear: left;
|
||||
float: left;
|
||||
padding-bottom: 0px;
|
||||
padding-right: 0px;
|
||||
text-align: right;
|
||||
width: 150px;
|
||||
}
|
||||
|
||||
dl.modal dd {
|
||||
float: left;
|
||||
padding-bottom: 0px;
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
@ -171,11 +171,68 @@ function user_status_load(container, dt, result)
|
||||
dt.after(dd);
|
||||
}
|
||||
|
||||
var pwd_temp = '<a href="jslink" onclick="return (resetpwd_on_click(this))" title="A">Reset Password</a>';
|
||||
|
||||
|
||||
function resetpwd_on_click(){
|
||||
|
||||
function reset_password(new_password){
|
||||
var dialog = resetpwd_dialog;
|
||||
|
||||
var user_pkey = $.bbq.getState('user-pkey');
|
||||
var pw_pkey;
|
||||
if (user_pkey === ipa_whoami_pkey){
|
||||
pw_pkey = [];
|
||||
}else{
|
||||
pw_pkey = [user_pkey];
|
||||
}
|
||||
|
||||
ipa_cmd('passwd',
|
||||
pw_pkey, {"password":new_password},
|
||||
function(){
|
||||
alert("Password change complete");
|
||||
dialog.dialog("close");
|
||||
},
|
||||
function(){});
|
||||
}
|
||||
|
||||
|
||||
var resetpwd_dialog =
|
||||
$('<div ><dl class="modal">'+
|
||||
'<dt>New Password</dt>'+
|
||||
'<dd class="first" ><input id="password_1" type="password"/></dd>'+
|
||||
'<dt>Repeat Password</dt>'+
|
||||
'<dd class="first"><input id="password_2" type="password"/></dd>'+
|
||||
'</dl></div>');
|
||||
resetpwd_dialog.dialog(
|
||||
{ modal: true,
|
||||
minWidth:400,
|
||||
buttons: {
|
||||
'Reset Password': function(){
|
||||
var p1 = $("#password_1").val();
|
||||
var p2 = $("#password_2").val();
|
||||
if (p1 != p2){
|
||||
alert("passwords must match");
|
||||
return;
|
||||
}
|
||||
reset_password(p1);
|
||||
},
|
||||
'Cancel':function(){
|
||||
resetpwd_dialog.dialog('close');
|
||||
}
|
||||
}});
|
||||
return false;
|
||||
}
|
||||
|
||||
function user_password_load(container, dt, result)
|
||||
{
|
||||
var dd = ipa_create_first_dd(this.name, pwd_temp.replace('A', 'userpassword'));
|
||||
dt.after(dd);
|
||||
dt.after(ipa_create_first_dd(
|
||||
this.name,
|
||||
$('<a/>',{
|
||||
href:"jslink",
|
||||
click:resetpwd_on_click,
|
||||
title:'userpassword',
|
||||
text: 'reset password'
|
||||
})));
|
||||
}
|
||||
|
||||
var select_temp = '<select title="st"></select>';
|
||||
|
@ -52,19 +52,22 @@ var self_serv_tab_set =
|
||||
{ name:'identity', label:'IDENTITY', children: [
|
||||
{name:'user', label:'Users', setup:ipa_entity_setup}]}];
|
||||
|
||||
|
||||
var ipa_whoami_pkey;
|
||||
|
||||
|
||||
/* main (document onready event handler) */
|
||||
$(function() {
|
||||
|
||||
var whoami_pkey;
|
||||
|
||||
function whoami_on_win(data, text_status, xhr) {
|
||||
$(window).bind('hashchange', window_hashchange);
|
||||
if (!data.error){
|
||||
var whoami = data.result.result[0];
|
||||
whoami_pkey=whoami.uid[0];
|
||||
ipa_whoami_pkey=whoami.uid[0];
|
||||
$('#loggedinas').find('strong').text(whoami.krbprincipalname[0]);
|
||||
$('#loggedinas a').fragment(
|
||||
{'user-facet':'details', 'user-pkey':whoami_pkey},2);
|
||||
{'user-facet':'details', 'user-pkey':ipa_whoami_pkey},2);
|
||||
|
||||
var navigation = $('#navigation');
|
||||
|
||||
@ -75,7 +78,7 @@ $(function() {
|
||||
}else{
|
||||
nav_create(self_serv_tab_set, navigation, 'tabs');
|
||||
|
||||
var state = {'user-pkey':whoami_pkey ,
|
||||
var state = {'user-pkey':ipa_whoami_pkey ,
|
||||
'user-facet': jQuery.bbq.getState('user-facet') ||
|
||||
'details'};
|
||||
$.bbq.pushState(state);
|
||||
|
Loading…
Reference in New Issue
Block a user