You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
nextcloud-server/apps/settings/src/admin.js

95 lines
3.0 KiB

/**
* SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
import { generateUrl } from '@nextcloud/router'
import $ from 'jquery'
import axios from '@nextcloud/axios'
window.addEventListener('DOMContentLoaded', () => {
$('#loglevel').change(function() {
$.post(generateUrl('/settings/admin/log/level'), { level: $(this).val() }, () => {
OC.Log.reload()
})
})
$('#mail_smtpauth').change(function() {
if (!this.checked) {
$('#mail_credentials').addClass('hidden')
} else {
$('#mail_credentials').removeClass('hidden')
}
})
$('#mail_smtpmode').change(function() {
if ($(this).val() !== 'smtp') {
$('#setting_smtpauth').addClass('hidden')
$('#setting_smtphost').addClass('hidden')
$('#mail_smtpsecure_label').addClass('hidden')
$('#mail_smtpsecure').addClass('hidden')
$('#mail_credentials').addClass('hidden')
$('#mail_sendmailmode_label, #mail_sendmailmode').removeClass('hidden')
} else {
$('#setting_smtpauth').removeClass('hidden')
$('#setting_smtphost').removeClass('hidden')
$('#mail_smtpsecure_label').removeClass('hidden')
$('#mail_smtpsecure').removeClass('hidden')
if ($('#mail_smtpauth').is(':checked')) {
$('#mail_credentials').removeClass('hidden')
}
$('#mail_sendmailmode_label, #mail_sendmailmode').addClass('hidden')
}
})
const changeEmailSettings = function() {
if (OC.PasswordConfirmation.requiresPasswordConfirmation()) {
OC.PasswordConfirmation.requirePasswordConfirmation(changeEmailSettings)
return
}
OC.msg.startSaving('#mail_settings_msg')
axios.post(generateUrl('/settings/admin/mailsettings'), $('#mail_general_settings_form').serialize())
.then(() => {
OC.msg.finishedSuccess('#mail_settings_msg', t('settings', 'Saved'))
}).catch((error) => {
OC.msg.finishedError('#mail_settings_msg', error)
})
}
const toggleEmailCredentials = function() {
if (OC.PasswordConfirmation.requiresPasswordConfirmation()) {
OC.PasswordConfirmation.requirePasswordConfirmation(toggleEmailCredentials)
return
}
OC.msg.startSaving('#mail_settings_msg')
axios.post(generateUrl('/settings/admin/mailsettings/credentials'), $('#mail_credentials_settings').serialize())
.then(() => {
OC.msg.finishedSuccess('#mail_settings_msg', t('settings', 'Saved'))
}).catch((error) => {
OC.msg.finishedError('#mail_settings_msg', error)
})
}
$('#mail_general_settings_form').change(changeEmailSettings)
$('#mail_credentials_settings_submit').click(toggleEmailCredentials)
$('#mail_smtppassword').click(() => {
if (this.type === 'text' && this.value === '********') {
this.type = 'password'
this.value = ''
}
})
$('#sendtestemail').click((event) => {
event.preventDefault()
OC.msg.startAction('#sendtestmail_msg', t('settings', 'Sending…'))
axios.post(generateUrl('/settings/admin/mailtest'))
.then(() => {
OC.msg.finishedSuccess('#sendtestmail_msg', t('settings', 'Email sent'))
}).catch((error) => {
OC.msg.finishedError('#sendtestmail_msg', error)
})
})
})