wisemapping-open-source/wise-webapp/src/main/webapp/jsp/accountSettings.jsp

239 lines
11 KiB
Plaintext
Raw Normal View History

2012-06-30 07:26:21 +02:00
<%@page pageEncoding="UTF-8" %>
<%@include file="/jsp/init.jsp" %>
2012-06-20 18:28:45 +02:00
<div>
<ul class="nav nav-tabs">
<c:if test="${principal.databaseSchema}">
<li class="active"><a href="#changeUserPanel" data-toggle="pill"><spring:message code="GENERAL"/></a></li>
<li><a href="#changePasswordPanel" data-toggle="pill"><spring:message code="SECURITY"/></a></li>
</c:if>
<li><a href="#languagePanel" data-toggle="pill"><spring:message code="LANGUAGE"/></a></li>
<li><a href="#deleteAccountPanel" data-toggle="pill"><spring:message code="DELETE__ACCOUNT"/></a></li>
2012-06-20 18:28:45 +02:00
</ul>
<div class="tab-content" style="padding-top:15px;">
<div class="tab-pane fade ${principal.databaseSchema?'active in':''}" id="changeUserPanel">
2012-06-20 18:28:45 +02:00
<div id="changeInfoMsg" class="alert">
</div>
<form action="#" method="POST" id="changeUserForm" class="form-horizontal">
2012-06-20 18:28:45 +02:00
<fieldset>
<div class="form-group">
<label for="email" class="col-sm-3 control-label"><strong><spring:message code="EMAIL"/>:</strong></label>
<div class="col-sm-8">
<input type="text" name="password" id="email" required="required" class="form-control" readonly="readonly" value="${user.email}"/>
</div>
</div>
<div class="form-group">
<label for="firstname" class="col-sm-3 control-label"><strong><spring:message code="FIRSTNAME"/>:</strong></label>
<div class="col-sm-8">
<input type="text" name="firstname" id="firstname" required="required" class="form-control" value="${user.firstname}"/>
</div>
</div>
<div class="form-group">
<label for="lastname" class="col-sm-3 control-label"><strong><spring:message code="LASTNAME"/>:</strong></label>
<div class="col-sm-8">
<input type="text" name="lastname" id="lastname" required="required" class="form-control" value="${user.lastname}"/>
</div>
</div>
2012-06-20 18:28:45 +02:00
<br/>
<input type="submit" id="changeUserInfoBtn" class="btn btn-primary" class="form-control" value="<spring:message code="SAVE_CHANGES"/>"/>
2012-06-20 18:28:45 +02:00
</fieldset>
</form>
</div>
<div class="tab-pane fade" id="changePasswordPanel">
<div id="changePasswordMsg" class="alert">
</div>
<form action="#" method="POST" id="changePasswordForm" class="form-horizontal">
2012-06-20 18:28:45 +02:00
<fieldset>
<div class="form-group">
<label for="password" class="col-sm-3 control-label"><strong><spring:message code="NEW_PASSWORD"/>:</strong></label>
<div class="col-sm-8">
<input type="password" name="password" id="password" required="required" class="form-control"/>
</div>
</div>
<div class="form-group">
<label for="repassword" class="col-sm-3 control-label"><strong><spring:message code="CONFIRM_NEW_PASSWORD"/>:</strong></label>
<div class="col-sm-8">
<input type="password" name="password" id="repassword" required="required" class="form-control"/>
</div>
</div>
2012-06-20 18:28:45 +02:00
<br/>
<input type="submit" id="changePasswordBtn" class="btn btn-primary" value="<spring:message code="CHANGE_PASSWORD"/>"/>
2012-06-20 18:28:45 +02:00
</fieldset>
</form>
</div>
<div class="tab-pane fade ${principal.databaseSchema?'':'active in'}" id="languagePanel">
2012-06-30 07:26:21 +02:00
<div id="languageMsg" class="alert">
</div>
<form action="#" method="POST" id="languageForm" class="form-horizontal">
2012-06-30 07:26:21 +02:00
<fieldset>
<div class="form-group">
<label for="language" class="col-sm-3 control-label"><strong><spring:message code="LANGUAGE"/>:</strong></label>
<div class="col-sm-8">
<select name="language" id="language" class="form-control">
2012-06-30 07:26:21 +02:00
<option value="en">English</option>
2012-07-06 04:34:06 +02:00
<option value="es" <c:if test="${user.locale=='es'}">selected="selected" </c:if>>Spanish -
español
</option>
2012-08-22 04:34:12 +02:00
<option value="fr" <c:if test="${user.locale=='fr'}">selected="selected" </c:if>>French -
français
</option>
2012-11-17 02:47:18 +01:00
<option value="de" <c:if test="${user.locale=='de'}">selected="selected" </c:if>>German -
Deutsch
</option>
2012-09-01 01:21:21 +02:00
<option value="it" <c:if test="${user.locale=='it'}">selected="selected" </c:if>>Italian -
italiano
</option>
<option value="pt_BR" <c:if test="${user.locale=='pt_BR'}">selected="selected" </c:if>>
Portuguese
(Brazil) - português (Brasil)
</option>
2012-08-24 03:46:28 +02:00
<option value="zh_CN" <c:if test="${user.locale=='zh_CN'}">selected="selected" </c:if>>Chinese
2012-07-06 04:34:06 +02:00
(Simplified Han) - 中文(简体中文)
</option>
2012-08-24 03:46:28 +02:00
<option value="zh_TW" <c:if test="${user.locale=='zh_TW'}">selected="selected" </c:if>>Chinese
2012-07-06 04:34:06 +02:00
(Traditional Han) - 中文 (繁體中文)
2012-06-30 07:26:21 +02:00
</option>
2013-02-23 00:39:51 +01:00
<option value="ca" <c:if test="${user.locale=='ca'}">selected="selected" </c:if>>Catalan -
català
</option>
</select></div>
</div>
2012-06-30 07:26:21 +02:00
<br/>
<input type="submit" id="changeLanguageBtn" class="btn btn-primary"
value="<spring:message code="CHANGE_LANGUAGE"/>"/>
</fieldset>
</form>
</div>
2014-01-10 02:38:59 +01:00
<div class="tab-pane fade" id="deleteAccountPanel">
<div id="deleteAccountMsg" class="alert alert-danger" style="display: block;"><spring:message code="WARNING_DELETE_USER"/></div>
2014-01-10 02:38:59 +01:00
<form action="#" method="POST" id="deleteAccountForm">
<fieldset>
<input type="checkbox" name="confirmAccountDelete" id="accountMarkedForDelete" required="required"/>
2014-01-10 02:38:59 +01:00
<input type="submit" id="deleteAccountBtn" class="btn btn-primary"
value="<spring:message code="DELETE__ACCOUNT"/>"/>
</fieldset>
</form>
</div>
2012-06-20 18:28:45 +02:00
</div>
</div>
<script type="text/javascript">
$('#changePasswordMsg').hide();
2012-06-23 21:15:59 +02:00
$('#changeInfoMsg').hide();
2012-06-30 07:26:21 +02:00
$('#languageMsg').hide();
2012-06-23 21:15:59 +02:00
function postChange(url, postBody, onSuccess, onError, type) {
2012-06-20 18:28:45 +02:00
// Change success message ...
jQuery.ajax(url, {
async: false,
dataType: 'json',
data: postBody,
type: type ? type : 'PUT',
contentType: "text/plain; charset=utf-8",
success: function (data, textStatus, jqXHR) {
onSuccess()
2012-06-20 18:28:45 +02:00
},
error: function (jqXHR, textStatus, errorThrown) {
onError(textStatus)
2012-06-20 18:28:45 +02:00
}
});
}
2012-06-30 07:26:21 +02:00
$('#changePasswordForm').submit(function (event) {
2012-06-20 18:28:45 +02:00
var inputVal = $('#changePasswordForm #password').val();
var rinputVal = $('#changePasswordForm #repassword').val();
var changePasswordMsg = $('#changePasswordMsg');
2012-06-20 18:28:45 +02:00
if (inputVal != rinputVal) {
// Password mismatch message ...
changePasswordMsg.removeClass('alert-info').addClass('alert-danger').show();
changePasswordMsg.text('<spring:message code="PASSWORD_MISSMATCH"/>');
2012-06-20 18:28:45 +02:00
} else {
postChange(
"c/restful/account/password",
inputVal,
function() {
changePasswordMsg.removeClass('alert-danger').addClass('alert-info').show();
changePasswordMsg.text('<spring:message code="CHANGE_PASSWORD_SUCCESS"/>');
},
function(textStatus) {
changePasswordMsg.removeClass('alert-info').addClass('alert-danger').show();
changePasswordMsg.text(textStatus);
}
);
2012-06-20 18:28:45 +02:00
}
event.preventDefault();
});
2012-06-30 07:26:21 +02:00
$('#changeUserForm').submit(function (event) {
var firstname = $('#changeUserForm #firstname').val();
2012-06-20 18:28:45 +02:00
var lastname = $('#changeUserForm #lastname').val();
var changeInfoMsg = $('#changeInfoMsg');
postChange(
"c/restful/account/firstname",
firstname,
function() {
var changeInfoMsg = $('#changeInfoMsg');
changeInfoMsg.removeClass('alert-error').addClass('alert-info').show();
changeInfoMsg.text('<spring:message code="INFO_UPDATE_SUCCESS"/>');
},
function(textStatus) {
changeInfoMsg.removeClass('alert-info').addClass('alert-danger').show();
changeInfoMsg.text(textStatus);
}
);
postChange(
"c/restful/account/lastname",
lastname,
function() {
changeInfoMsg.removeClass('alert-danger').addClass('alert-info').show();
changeInfoMsg.text('<spring:message code="INFO_UPDATE_SUCCESS"/>');
},
function(textStatus) {
changeInfoMsg.removeClass('alert-info').addClass('alert-danger').show();
changeInfoMsg.text(textStatus);
}
);
2012-06-20 18:28:45 +02:00
event.preventDefault();
});
2012-06-30 07:26:21 +02:00
$('#languageForm').submit(function (event) {
var locale = $('#languageForm option:selected').val();
var languageMsg = $('#languageMsg');
postChange(
"c/restful/account/locale",
locale,
function() {
languageMsg.removeClass('alert-danger').addClass('alert-info').show();
languageMsg.text('<spring:message code="INFO_UPDATE_SUCCESS"/>');
},
function(textStatus) {
languageMsg.removeClass('alert-info').addClass('alert-danger').show();
languageMsg.text(textStatus);
}
);
2012-06-30 07:26:21 +02:00
event.preventDefault();
});
2014-01-10 02:38:59 +01:00
$('#deleteAccountForm').submit(function (event) {
var locale = $('#deleteAccountForm option:selected').val();
postChange(
"c/restful/account",
locale,
function() {
window.location.href = "/c/logout"
},
function(textStatus) {
var deleteAccountMsg = $('#deleteAccountMsg');
deleteAccountMsg.removeClass('alert-info').addClass('alert-danger').show();
deleteAccountMsg.text(textStatus);
},
'DELETE'
)
2014-01-10 02:38:59 +01:00
event.preventDefault();
});
2012-06-20 18:28:45 +02:00
</script>