1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00
jellyfin-web/dashboard-ui/scripts/userpasswordpage.js
2018-10-23 01:05:09 +03:00

96 lines
No EOL
6.1 KiB
JavaScript

define(["loading", "libraryMenu", "emby-linkbutton"], function(loading, libraryMenu) {
"use strict";
function loadUser(page, params) {
var userid = params.userId;
ApiClient.getUser(userid).then(function(user) {
Dashboard.getCurrentUser().then(function(loggedInUser) {
libraryMenu.setTitle(user.Name), page.querySelector(".username").innerHTML = user.Name;
var showPasswordSection = !0,
showLocalAccessSection = !1;
"Guest" == user.ConnectLinkType ? (page.querySelector(".localAccessSection").classList.add("hide"), showPasswordSection = !1) : user.HasConfiguredPassword ? (page.querySelector("#btnResetPassword").classList.remove("hide"), page.querySelector("#fldCurrentPassword").classList.remove("hide"), showLocalAccessSection = !0) : (page.querySelector("#btnResetPassword").classList.add("hide"), page.querySelector("#fldCurrentPassword").classList.add("hide")), showPasswordSection && (loggedInUser.Policy.IsAdministrator || user.Policy.EnableUserPreferenceAccess) ? page.querySelector(".passwordSection").classList.remove("hide") : page.querySelector(".passwordSection").classList.add("hide"), showLocalAccessSection && (loggedInUser.Policy.IsAdministrator || user.Policy.EnableUserPreferenceAccess) ? page.querySelector(".localAccessSection").classList.remove("hide") : page.querySelector(".localAccessSection").classList.add("hide");
var txtEasyPassword = page.querySelector("#txtEasyPassword");
txtEasyPassword.value = "", user.HasConfiguredEasyPassword ? (txtEasyPassword.placeholder = "******", page.querySelector("#btnResetEasyPassword").classList.remove("hide")) : (txtEasyPassword.removeAttribute("placeholder"), txtEasyPassword.placeholder = "", page.querySelector("#btnResetEasyPassword").classList.add("hide")), page.querySelector(".chkEnableLocalEasyPassword").checked = user.Configuration.EnableLocalPassword
})
}), page.querySelector("#txtCurrentPassword").value = "", page.querySelector("#txtNewPassword").value = "", page.querySelector("#txtNewPasswordConfirm").value = ""
}
return function(view, params) {
function saveEasyPassword() {
var userId = params.userId,
easyPassword = view.querySelector("#txtEasyPassword").value;
easyPassword ? ApiClient.updateEasyPassword(userId, easyPassword).then(function() {
onEasyPasswordSaved(userId)
}) : onEasyPasswordSaved(userId)
}
function onEasyPasswordSaved(userId) {
ApiClient.getUser(userId).then(function(user) {
user.Configuration.EnableLocalPassword = view.querySelector(".chkEnableLocalEasyPassword").checked, ApiClient.updateUserConfiguration(user.Id, user.Configuration).then(function() {
loading.hide(), require(["toast"], function(toast) {
toast(Globalize.translate("MessageSettingsSaved"))
}), loadUser(view, params)
})
})
}
function savePassword() {
var userId = params.userId,
currentPassword = view.querySelector("#txtCurrentPassword").value,
newPassword = view.querySelector("#txtNewPassword").value;
ApiClient.updateUserPassword(userId, currentPassword, newPassword).then(function() {
loading.hide(), require(["toast"], function(toast) {
toast(Globalize.translate("PasswordSaved"))
}), loadUser(view, params)
}, function() {
loading.hide(), Dashboard.alert({
title: Globalize.translate("HeaderLoginFailure"),
message: Globalize.translate("MessageInvalidUser")
})
})
}
function onSubmit(e) {
var form = this;
return form.querySelector("#txtNewPassword").value != form.querySelector("#txtNewPasswordConfirm").value ? require(["toast"], function(toast) {
toast(Globalize.translate("PasswordMatchError"))
}) : (loading.show(), savePassword()), e.preventDefault(), !1
}
function onLocalAccessSubmit(e) {
return loading.show(), saveEasyPassword(), e.preventDefault(), !1
}
function resetPassword() {
var msg = Globalize.translate("PasswordResetConfirmation");
require(["confirm"], function(confirm) {
confirm(msg, Globalize.translate("PasswordResetHeader")).then(function() {
var userId = params.userId;
loading.show(), ApiClient.resetUserPassword(userId).then(function() {
loading.hide(), Dashboard.alert({
message: Globalize.translate("PasswordResetComplete"),
title: Globalize.translate("PasswordResetHeader")
}), loadUser(view, params)
})
})
})
}
function resetEasyPassword() {
var msg = Globalize.translate("PinCodeResetConfirmation");
require(["confirm"], function(confirm) {
confirm(msg, Globalize.translate("HeaderPinCodeReset")).then(function() {
var userId = params.userId;
loading.show(), ApiClient.resetEasyPassword(userId).then(function() {
loading.hide(), Dashboard.alert({
message: Globalize.translate("PinCodeResetComplete"),
title: Globalize.translate("HeaderPinCodeReset")
}), loadUser(view, params)
})
})
})
}
view.querySelector(".updatePasswordForm").addEventListener("submit", onSubmit), view.querySelector(".localAccessForm").addEventListener("submit", onLocalAccessSubmit), view.querySelector("#btnResetEasyPassword").addEventListener("click", resetEasyPassword), view.querySelector("#btnResetPassword").addEventListener("click", resetPassword), view.addEventListener("viewshow", function() {
loadUser(view, params)
})
}
});