diff options
-rw-r--r-- | apps/dav/composer/composer/autoload_classmap.php | 1 | ||||
-rw-r--r-- | apps/dav/composer/composer/autoload_static.php | 1 | ||||
-rw-r--r-- | apps/dav/lib/AppInfo/Application.php | 2 | ||||
-rw-r--r-- | apps/dav/lib/SetupChecks/WebdavEndpoint.php | 93 | ||||
-rw-r--r-- | apps/settings/src/admin.js | 4 | ||||
-rw-r--r-- | core/js/setupchecks.js | 31 | ||||
-rw-r--r-- | core/js/tests/specs/setupchecksSpec.js | 38 | ||||
-rw-r--r-- | dist/settings-legacy-admin.js | 4 | ||||
-rw-r--r-- | dist/settings-legacy-admin.js.map | 2 |
9 files changed, 101 insertions, 75 deletions
diff --git a/apps/dav/composer/composer/autoload_classmap.php b/apps/dav/composer/composer/autoload_classmap.php index 0dc2d68e41b..d10cf4af867 100644 --- a/apps/dav/composer/composer/autoload_classmap.php +++ b/apps/dav/composer/composer/autoload_classmap.php @@ -334,6 +334,7 @@ return array( 'OCA\\DAV\\Settings\\AvailabilitySettings' => $baseDir . '/../lib/Settings/AvailabilitySettings.php', 'OCA\\DAV\\Settings\\CalDAVSettings' => $baseDir . '/../lib/Settings/CalDAVSettings.php', 'OCA\\DAV\\SetupChecks\\NeedsSystemAddressBookSync' => $baseDir . '/../lib/SetupChecks/NeedsSystemAddressBookSync.php', + 'OCA\\DAV\\SetupChecks\\WebdavEndpoint' => $baseDir . '/../lib/SetupChecks/WebdavEndpoint.php', 'OCA\\DAV\\Storage\\PublicOwnerWrapper' => $baseDir . '/../lib/Storage/PublicOwnerWrapper.php', 'OCA\\DAV\\SystemTag\\SystemTagList' => $baseDir . '/../lib/SystemTag/SystemTagList.php', 'OCA\\DAV\\SystemTag\\SystemTagMappingNode' => $baseDir . '/../lib/SystemTag/SystemTagMappingNode.php', diff --git a/apps/dav/composer/composer/autoload_static.php b/apps/dav/composer/composer/autoload_static.php index 321dcdbdd1e..c8455965480 100644 --- a/apps/dav/composer/composer/autoload_static.php +++ b/apps/dav/composer/composer/autoload_static.php @@ -349,6 +349,7 @@ class ComposerStaticInitDAV 'OCA\\DAV\\Settings\\AvailabilitySettings' => __DIR__ . '/..' . '/../lib/Settings/AvailabilitySettings.php', 'OCA\\DAV\\Settings\\CalDAVSettings' => __DIR__ . '/..' . '/../lib/Settings/CalDAVSettings.php', 'OCA\\DAV\\SetupChecks\\NeedsSystemAddressBookSync' => __DIR__ . '/..' . '/../lib/SetupChecks/NeedsSystemAddressBookSync.php', + 'OCA\\DAV\\SetupChecks\\WebdavEndpoint' => __DIR__ . '/..' . '/../lib/SetupChecks/WebdavEndpoint.php', 'OCA\\DAV\\Storage\\PublicOwnerWrapper' => __DIR__ . '/..' . '/../lib/Storage/PublicOwnerWrapper.php', 'OCA\\DAV\\SystemTag\\SystemTagList' => __DIR__ . '/..' . '/../lib/SystemTag/SystemTagList.php', 'OCA\\DAV\\SystemTag\\SystemTagMappingNode' => __DIR__ . '/..' . '/../lib/SystemTag/SystemTagMappingNode.php', diff --git a/apps/dav/lib/AppInfo/Application.php b/apps/dav/lib/AppInfo/Application.php index 1284e7cae75..deb28797952 100644 --- a/apps/dav/lib/AppInfo/Application.php +++ b/apps/dav/lib/AppInfo/Application.php @@ -88,6 +88,7 @@ use OCA\DAV\Search\ContactsSearchProvider; use OCA\DAV\Search\EventsSearchProvider; use OCA\DAV\Search\TasksSearchProvider; use OCA\DAV\SetupChecks\NeedsSystemAddressBookSync; +use OCA\DAV\SetupChecks\WebdavEndpoint; use OCA\DAV\UserMigration\CalendarMigrator; use OCA\DAV\UserMigration\ContactsMigrator; use OCP\Accounts\UserUpdatedEvent; @@ -211,6 +212,7 @@ class Application extends App implements IBootstrap { $context->registerUserMigrator(ContactsMigrator::class); $context->registerSetupCheck(NeedsSystemAddressBookSync::class); + $context->registerSetupCheck(WebdavEndpoint::class); } public function boot(IBootContext $context): void { diff --git a/apps/dav/lib/SetupChecks/WebdavEndpoint.php b/apps/dav/lib/SetupChecks/WebdavEndpoint.php new file mode 100644 index 00000000000..72585e93eeb --- /dev/null +++ b/apps/dav/lib/SetupChecks/WebdavEndpoint.php @@ -0,0 +1,93 @@ +<?php + +declare(strict_types=1); + +/** + * @copyright Copyright (c) 2024 Côme Chilliet <come.chilliet@nextcloud.com> + * + * @author Côme Chilliet <come.chilliet@nextcloud.com> + * @author Ferdinand Thiessen <opensource@fthiessen.de> + * + * @license AGPL-3.0-or-later + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ + +namespace OCA\DAV\SetupChecks; + +use OCA\Settings\SetupChecks\CheckServerResponseTrait; +use OCP\Http\Client\IClientService; +use OCP\IConfig; +use OCP\IL10N; +use OCP\IURLGenerator; +use OCP\SetupCheck\ISetupCheck; +use OCP\SetupCheck\SetupResult; +use Psr\Log\LoggerInterface; + +class WebdavEndpoint implements ISetupCheck { + + use CheckServerResponseTrait; + + public function __construct( + protected IL10N $l10n, + protected IConfig $config, + protected IURLGenerator $urlGenerator, + protected IClientService $clientService, + protected LoggerInterface $logger, + ) { + } + + public function getCategory(): string { + return 'network'; + } + + public function getName(): string { + return $this->l10n->t('WebDAV endpoint'); + } + + public function run(): SetupResult { + $urls = [ + ['propfind', '/remote.php/webdav', [207, 401]], + ]; + + foreach ($urls as [$verb,$url,$validStatuses]) { + $works = null; + foreach ($this->runRequest($verb, $url, ['httpErrors' => false]) as $response) { + // Check that the response status matches + $works = in_array($response->getStatusCode(), $validStatuses); + // Skip the other requests if one works + if ($works === true) { + break; + } + } + // If 'works' is null then we could not connect to the server + if ($works === null) { + return SetupResult::info( + $this->l10n->t('Could not check that your web server is properly set up to allow file synchronization over WebDAV. Please check manually.') . "\n" . $this->serverConfigHelp(), + $this->urlGenerator->linkToDocs('admin-setup-well-known-URL'), + ); + } + // Otherwise if we fail we can abort here + if ($works === false) { + return SetupResult::error( + $this->l10n->t('Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken.') . "\n" . $this->serverConfigHelp(), + ); + } + } + return SetupResult::success( + $this->l10n->t('Your web server is properly set up to allow file synchronization over WebDAV.') + ); + } +} diff --git a/apps/settings/src/admin.js b/apps/settings/src/admin.js index 8b5ae1080e3..054dd7ced2e 100644 --- a/apps/settings/src/admin.js +++ b/apps/settings/src/admin.js @@ -101,10 +101,8 @@ window.addEventListener('DOMContentLoaded', () => { const setupChecks = () => { // run setup checks then gather error messages $.when( - OC.SetupChecks.checkWebDAV(), OC.SetupChecks.checkSetup(), - ).then((check1, check2) => { - const messages = [].concat(check1, check2) + ).then((messages) => { const $el = $('#postsetupchecks') $('#security-warning-state-loading').addClass('hidden') diff --git a/core/js/setupchecks.js b/core/js/setupchecks.js index 0c0e673eae7..fd27dbc0791 100644 --- a/core/js/setupchecks.js +++ b/core/js/setupchecks.js @@ -15,37 +15,6 @@ MESSAGE_TYPE_INFO:0, MESSAGE_TYPE_WARNING:1, MESSAGE_TYPE_ERROR:2, - /** - * Check whether the WebDAV connection works. - * - * @return $.Deferred object resolved with an array of error messages - */ - checkWebDAV: function() { - var deferred = $.Deferred(); - var afterCall = function(xhr) { - var messages = []; - if (xhr.status !== 207 && xhr.status !== 401) { - messages.push({ - msg: t('core', 'Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken.'), - type: OC.SetupChecks.MESSAGE_TYPE_ERROR - }); - } - deferred.resolve(messages); - }; - - $.ajax({ - type: 'PROPFIND', - url: OC.linkToRemoteBase('webdav'), - data: '<?xml version="1.0"?>' + - '<d:propfind xmlns:d="DAV:">' + - '<d:prop><d:resourcetype/></d:prop>' + - '</d:propfind>', - contentType: 'application/xml; charset=utf-8', - complete: afterCall, - allowAuthErrors: true - }); - return deferred.promise(); - }, /** * Runs setup checks on the server side diff --git a/core/js/tests/specs/setupchecksSpec.js b/core/js/tests/specs/setupchecksSpec.js index 99f72754ace..dc5db7602ff 100644 --- a/core/js/tests/specs/setupchecksSpec.js +++ b/core/js/tests/specs/setupchecksSpec.js @@ -22,44 +22,6 @@ describe('OC.SetupChecks tests', function() { protocolStub.restore(); }); - describe('checkWebDAV', function() { - it('should fail with another response status code than 201 or 207', function(done) { - var async = OC.SetupChecks.checkWebDAV(); - - suite.server.requests[0].respond(200); - - async.done(function( data, s, x ){ - expect(data).toEqual([{ - msg: 'Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken.', - type: OC.SetupChecks.MESSAGE_TYPE_ERROR - }]); - done(); - }); - }); - - it('should return no error with a response status code of 207', function(done) { - var async = OC.SetupChecks.checkWebDAV(); - - suite.server.requests[0].respond(207); - - async.done(function( data, s, x ){ - expect(data).toEqual([]); - done(); - }); - }); - - it('should return no error with a response status code of 401', function(done) { - var async = OC.SetupChecks.checkWebDAV(); - - suite.server.requests[0].respond(401); - - async.done(function( data, s, x ){ - expect(data).toEqual([]); - done(); - }); - }); - }); - describe('checkSetup', function() { it('should return an error if server has no internet connection', function(done) { var async = OC.SetupChecks.checkSetup(); diff --git a/dist/settings-legacy-admin.js b/dist/settings-legacy-admin.js index ccddfa326bf..5993c660e9f 100644 --- a/dist/settings-legacy-admin.js +++ b/dist/settings-legacy-admin.js @@ -1,2 +1,2 @@ -({69129:function(){window.addEventListener("DOMContentLoaded",(()=>{$("#loglevel").change((function(){$.post(OC.generateUrl("/settings/admin/log/level"),{level:$(this).val()},(()=>{OC.Log.reload()}))})),$("#mail_smtpauth").change((function(){this.checked?$("#mail_credentials").removeClass("hidden"):$("#mail_credentials").addClass("hidden")})),$("#mail_smtpmode").change((function(){"smtp"!==$(this).val()?($("#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")):($("#setting_smtpauth").removeClass("hidden"),$("#setting_smtphost").removeClass("hidden"),$("#mail_smtpsecure_label").removeClass("hidden"),$("#mail_smtpsecure").removeClass("hidden"),$("#mail_smtpauth").is(":checked")&&$("#mail_credentials").removeClass("hidden"),$("#mail_sendmailmode_label, #mail_sendmailmode").addClass("hidden"))}));const e=function(){OC.PasswordConfirmation.requiresPasswordConfirmation()?OC.PasswordConfirmation.requirePasswordConfirmation(e):(OC.msg.startSaving("#mail_settings_msg"),$.ajax({url:OC.generateUrl("/settings/admin/mailsettings"),type:"POST",data:$("#mail_general_settings_form").serialize(),success:()=>{OC.msg.finishedSuccess("#mail_settings_msg",t("settings","Saved"))},error:e=>{OC.msg.finishedError("#mail_settings_msg",e.responseJSON)}}))},s=function(){OC.PasswordConfirmation.requiresPasswordConfirmation()?OC.PasswordConfirmation.requirePasswordConfirmation(s):(OC.msg.startSaving("#mail_settings_msg"),$.ajax({url:OC.generateUrl("/settings/admin/mailsettings/credentials"),type:"POST",data:$("#mail_credentials_settings").serialize(),success:()=>{OC.msg.finishedSuccess("#mail_settings_msg",t("settings","Saved"))},error:e=>{OC.msg.finishedError("#mail_settings_msg",e.responseJSON)}}))};$("#mail_general_settings_form").change(e),$("#mail_credentials_settings_submit").click(s),$("#mail_smtppassword").click((()=>{"text"===this.N&&"********"===this.U&&(this.N="password",this.U="")})),$("#sendtestemail").click((e=>{e.preventDefault(),OC.msg.startAction("#sendtestmail_msg",t("settings","Sending…")),$.ajax({url:OC.generateUrl("/settings/admin/mailtest"),type:"POST",success:()=>{OC.msg.finishedSuccess("#sendtestmail_msg",t("settings","Email sent"))},error:e=>{OC.msg.finishedError("#sendtestmail_msg",e.responseJSON)}})})),null!==document.getElementById("security-warning")&&$.when(OC.SetupChecks.checkWebDAV(),OC.SetupChecks.checkSetup()).then(((e,s)=>{const i=[].concat(e,s),t=$("#postsetupchecks");$("#security-warning-state-loading").addClass("hidden");let n=!1;const a=t.find(".errors"),d=t.find(".warnings"),l=t.find(".info");for(let e=0;e<i.length;e++)switch(i[e].type){case OC.SetupChecks.MESSAGE_TYPE_INFO:l.append("<li>"+i[e].msg+"</li>");break;case OC.SetupChecks.MESSAGE_TYPE_WARNING:d.append("<li>"+i[e].msg+"</li>");break;case OC.SetupChecks.MESSAGE_TYPE_ERROR:default:a.append("<li>"+i[e].msg+"</li>")}a.find("li").length>0&&(a.removeClass("hidden"),n=!0),d.find("li").length>0&&(d.removeClass("hidden"),n=!0),l.find("li").length>0&&(l.removeClass("hidden"),n=!0),n?($("#postsetupchecks-hint").removeClass("hidden"),a.find("li").length>0?$("#security-warning-state-failure").removeClass("hidden"):$("#security-warning-state-warning").removeClass("hidden")):0===$("#security-warning").children("ul").children().length?$("#security-warning-state-ok").removeClass("hidden"):$("#security-warning-state-failure").removeClass("hidden")}))}))}})[69129](); -//# sourceMappingURL=settings-legacy-admin.js.map?v=9e17c38bdab4c3ea2932
\ No newline at end of file +({69129:function(){window.addEventListener("DOMContentLoaded",(()=>{$("#loglevel").change((function(){$.post(OC.generateUrl("/settings/admin/log/level"),{level:$(this).val()},(()=>{OC.Log.reload()}))})),$("#mail_smtpauth").change((function(){this.checked?$("#mail_credentials").removeClass("hidden"):$("#mail_credentials").addClass("hidden")})),$("#mail_smtpmode").change((function(){"smtp"!==$(this).val()?($("#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")):($("#setting_smtpauth").removeClass("hidden"),$("#setting_smtphost").removeClass("hidden"),$("#mail_smtpsecure_label").removeClass("hidden"),$("#mail_smtpsecure").removeClass("hidden"),$("#mail_smtpauth").is(":checked")&&$("#mail_credentials").removeClass("hidden"),$("#mail_sendmailmode_label, #mail_sendmailmode").addClass("hidden"))}));const e=function(){OC.PasswordConfirmation.requiresPasswordConfirmation()?OC.PasswordConfirmation.requirePasswordConfirmation(e):(OC.msg.startSaving("#mail_settings_msg"),$.ajax({url:OC.generateUrl("/settings/admin/mailsettings"),type:"POST",data:$("#mail_general_settings_form").serialize(),success:()=>{OC.msg.finishedSuccess("#mail_settings_msg",t("settings","Saved"))},error:e=>{OC.msg.finishedError("#mail_settings_msg",e.responseJSON)}}))},s=function(){OC.PasswordConfirmation.requiresPasswordConfirmation()?OC.PasswordConfirmation.requirePasswordConfirmation(s):(OC.msg.startSaving("#mail_settings_msg"),$.ajax({url:OC.generateUrl("/settings/admin/mailsettings/credentials"),type:"POST",data:$("#mail_credentials_settings").serialize(),success:()=>{OC.msg.finishedSuccess("#mail_settings_msg",t("settings","Saved"))},error:e=>{OC.msg.finishedError("#mail_settings_msg",e.responseJSON)}}))};$("#mail_general_settings_form").change(e),$("#mail_credentials_settings_submit").click(s),$("#mail_smtppassword").click((()=>{"text"===this.N&&"********"===this.U&&(this.N="password",this.U="")})),$("#sendtestemail").click((e=>{e.preventDefault(),OC.msg.startAction("#sendtestmail_msg",t("settings","Sending…")),$.ajax({url:OC.generateUrl("/settings/admin/mailtest"),type:"POST",success:()=>{OC.msg.finishedSuccess("#sendtestmail_msg",t("settings","Email sent"))},error:e=>{OC.msg.finishedError("#sendtestmail_msg",e.responseJSON)}})})),null!==document.getElementById("security-warning")&&$.when(OC.SetupChecks.checkSetup()).then((e=>{const s=$("#postsetupchecks");$("#security-warning-state-loading").addClass("hidden");let i=!1;const t=s.find(".errors"),n=s.find(".warnings"),a=s.find(".info");for(let s=0;s<e.length;s++)switch(e[s].type){case OC.SetupChecks.MESSAGE_TYPE_INFO:a.append("<li>"+e[s].msg+"</li>");break;case OC.SetupChecks.MESSAGE_TYPE_WARNING:n.append("<li>"+e[s].msg+"</li>");break;case OC.SetupChecks.MESSAGE_TYPE_ERROR:default:t.append("<li>"+e[s].msg+"</li>")}t.find("li").length>0&&(t.removeClass("hidden"),i=!0),n.find("li").length>0&&(n.removeClass("hidden"),i=!0),a.find("li").length>0&&(a.removeClass("hidden"),i=!0),i?($("#postsetupchecks-hint").removeClass("hidden"),t.find("li").length>0?$("#security-warning-state-failure").removeClass("hidden"):$("#security-warning-state-warning").removeClass("hidden")):0===$("#security-warning").children("ul").children().length?$("#security-warning-state-ok").removeClass("hidden"):$("#security-warning-state-failure").removeClass("hidden")}))}))}})[69129](); +//# sourceMappingURL=settings-legacy-admin.js.map?v=ca105fbc8876df6a7aad
\ No newline at end of file diff --git a/dist/settings-legacy-admin.js.map b/dist/settings-legacy-admin.js.map index 0aec2e9f790..326a7d2383c 100644 --- a/dist/settings-legacy-admin.js.map +++ b/dist/settings-legacy-admin.js.map @@ -1 +1 @@ -{"version":3,"file":"settings-legacy-admin.js?v=9e17c38bdab4c3ea2932","mappings":"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","sources":["webpack:///nextcloud/apps/settings/src/admin.js","webpack:///nextcloud/webpack/startup"],"sourcesContent":["window.addEventListener('DOMContentLoaded', () => {\n\t$('#loglevel').change(function() {\n\t\t$.post(OC.generateUrl('/settings/admin/log/level'), { level: $(this).val() }, () => {\n\t\t\tOC.Log.reload()\n\t\t})\n\t})\n\n\t$('#mail_smtpauth').change(function() {\n\t\tif (!this.checked) {\n\t\t\t$('#mail_credentials').addClass('hidden')\n\t\t} else {\n\t\t\t$('#mail_credentials').removeClass('hidden')\n\t\t}\n\t})\n\n\t$('#mail_smtpmode').change(function() {\n\t\tif ($(this).val() !== 'smtp') {\n\t\t\t$('#setting_smtpauth').addClass('hidden')\n\t\t\t$('#setting_smtphost').addClass('hidden')\n\t\t\t$('#mail_smtpsecure_label').addClass('hidden')\n\t\t\t$('#mail_smtpsecure').addClass('hidden')\n\t\t\t$('#mail_credentials').addClass('hidden')\n\t\t\t$('#mail_sendmailmode_label, #mail_sendmailmode').removeClass('hidden')\n\t\t} else {\n\t\t\t$('#setting_smtpauth').removeClass('hidden')\n\t\t\t$('#setting_smtphost').removeClass('hidden')\n\t\t\t$('#mail_smtpsecure_label').removeClass('hidden')\n\t\t\t$('#mail_smtpsecure').removeClass('hidden')\n\t\t\tif ($('#mail_smtpauth').is(':checked')) {\n\t\t\t\t$('#mail_credentials').removeClass('hidden')\n\t\t\t}\n\t\t\t$('#mail_sendmailmode_label, #mail_sendmailmode').addClass('hidden')\n\t\t}\n\t})\n\n\tconst changeEmailSettings = function() {\n\t\tif (OC.PasswordConfirmation.requiresPasswordConfirmation()) {\n\t\t\tOC.PasswordConfirmation.requirePasswordConfirmation(changeEmailSettings)\n\t\t\treturn\n\t\t}\n\n\t\tOC.msg.startSaving('#mail_settings_msg')\n\t\t$.ajax({\n\t\t\turl: OC.generateUrl('/settings/admin/mailsettings'),\n\t\t\ttype: 'POST',\n\t\t\tdata: $('#mail_general_settings_form').serialize(),\n\t\t\tsuccess: () => {\n\t\t\t\tOC.msg.finishedSuccess('#mail_settings_msg', t('settings', 'Saved'))\n\t\t\t},\n\t\t\terror: (xhr) => {\n\t\t\t\tOC.msg.finishedError('#mail_settings_msg', xhr.responseJSON)\n\t\t\t},\n\t\t})\n\t}\n\n\tconst toggleEmailCredentials = function() {\n\t\tif (OC.PasswordConfirmation.requiresPasswordConfirmation()) {\n\t\t\tOC.PasswordConfirmation.requirePasswordConfirmation(toggleEmailCredentials)\n\t\t\treturn\n\t\t}\n\n\t\tOC.msg.startSaving('#mail_settings_msg')\n\t\t$.ajax({\n\t\t\turl: OC.generateUrl('/settings/admin/mailsettings/credentials'),\n\t\t\ttype: 'POST',\n\t\t\tdata: $('#mail_credentials_settings').serialize(),\n\t\t\tsuccess: () => {\n\t\t\t\tOC.msg.finishedSuccess('#mail_settings_msg', t('settings', 'Saved'))\n\t\t\t},\n\t\t\terror: (xhr) => {\n\t\t\t\tOC.msg.finishedError('#mail_settings_msg', xhr.responseJSON)\n\t\t\t},\n\t\t})\n\t}\n\n\t$('#mail_general_settings_form').change(changeEmailSettings)\n\t$('#mail_credentials_settings_submit').click(toggleEmailCredentials)\n\t$('#mail_smtppassword').click(() => {\n\t\tif (this.type === 'text' && this.value === '********') {\n\t\t\tthis.type = 'password'\n\t\t\tthis.value = ''\n\t\t}\n\t})\n\n\t$('#sendtestemail').click((event) => {\n\t\tevent.preventDefault()\n\t\tOC.msg.startAction('#sendtestmail_msg', t('settings', 'Sending…'))\n\n\t\t$.ajax({\n\t\t\turl: OC.generateUrl('/settings/admin/mailtest'),\n\t\t\ttype: 'POST',\n\t\t\tsuccess: () => {\n\t\t\t\tOC.msg.finishedSuccess('#sendtestmail_msg', t('settings', 'Email sent'))\n\t\t\t},\n\t\t\terror: (xhr) => {\n\t\t\t\tOC.msg.finishedError('#sendtestmail_msg', xhr.responseJSON)\n\t\t\t},\n\t\t})\n\t})\n\n\tconst setupChecks = () => {\n\t\t// run setup checks then gather error messages\n\t\t$.when(\n\t\t\tOC.SetupChecks.checkWebDAV(),\n\t\t\tOC.SetupChecks.checkSetup(),\n\t\t).then((check1, check2) => {\n\t\t\tconst messages = [].concat(check1, check2)\n\t\t\tconst $el = $('#postsetupchecks')\n\t\t\t$('#security-warning-state-loading').addClass('hidden')\n\n\t\t\tlet hasMessages = false\n\t\t\tconst $errorsEl = $el.find('.errors')\n\t\t\tconst $warningsEl = $el.find('.warnings')\n\t\t\tconst $infoEl = $el.find('.info')\n\n\t\t\tfor (let i = 0; i < messages.length; i++) {\n\t\t\t\tswitch (messages[i].type) {\n\t\t\t\tcase OC.SetupChecks.MESSAGE_TYPE_INFO:\n\t\t\t\t\t$infoEl.append('<li>' + messages[i].msg + '</li>')\n\t\t\t\t\tbreak\n\t\t\t\tcase OC.SetupChecks.MESSAGE_TYPE_WARNING:\n\t\t\t\t\t$warningsEl.append('<li>' + messages[i].msg + '</li>')\n\t\t\t\t\tbreak\n\t\t\t\tcase OC.SetupChecks.MESSAGE_TYPE_ERROR:\n\t\t\t\tdefault:\n\t\t\t\t\t$errorsEl.append('<li>' + messages[i].msg + '</li>')\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ($errorsEl.find('li').length > 0) {\n\t\t\t\t$errorsEl.removeClass('hidden')\n\t\t\t\thasMessages = true\n\t\t\t}\n\t\t\tif ($warningsEl.find('li').length > 0) {\n\t\t\t\t$warningsEl.removeClass('hidden')\n\t\t\t\thasMessages = true\n\t\t\t}\n\t\t\tif ($infoEl.find('li').length > 0) {\n\t\t\t\t$infoEl.removeClass('hidden')\n\t\t\t\thasMessages = true\n\t\t\t}\n\n\t\t\tif (hasMessages) {\n\t\t\t\t$('#postsetupchecks-hint').removeClass('hidden')\n\t\t\t\tif ($errorsEl.find('li').length > 0) {\n\t\t\t\t\t$('#security-warning-state-failure').removeClass('hidden')\n\t\t\t\t} else {\n\t\t\t\t\t$('#security-warning-state-warning').removeClass('hidden')\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst securityWarning = $('#security-warning')\n\t\t\t\tif (securityWarning.children('ul').children().length === 0) {\n\t\t\t\t\t$('#security-warning-state-ok').removeClass('hidden')\n\t\t\t\t} else {\n\t\t\t\t\t$('#security-warning-state-failure').removeClass('hidden')\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t}\n\n\tif (document.getElementById('security-warning') !== null) {\n\t\tsetupChecks()\n\t}\n})\n","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = {};\n__webpack_modules__[69129]();\n"],"names":["window","addEventListener","$","change","post","OC","generateUrl","level","this","val","Log","reload","checked","removeClass","addClass","is","changeEmailSettings","PasswordConfirmation","requiresPasswordConfirmation","requirePasswordConfirmation","msg","startSaving","ajax","url","type","data","serialize","success","finishedSuccess","t","error","xhr","finishedError","responseJSON","toggleEmailCredentials","click","event","preventDefault","startAction","document","getElementById","when","SetupChecks","checkWebDAV","checkSetup","then","check1","check2","messages","concat","$el","hasMessages","$errorsEl","find","$warningsEl","$infoEl","i","length","MESSAGE_TYPE_INFO","append","MESSAGE_TYPE_WARNING","MESSAGE_TYPE_ERROR","children"],"sourceRoot":""}
\ No newline at end of file +{"version":3,"file":"settings-legacy-admin.js?v=ca105fbc8876df6a7aad","mappings":"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","sources":["webpack:///nextcloud/apps/settings/src/admin.js","webpack:///nextcloud/webpack/startup"],"sourcesContent":["window.addEventListener('DOMContentLoaded', () => {\n\t$('#loglevel').change(function() {\n\t\t$.post(OC.generateUrl('/settings/admin/log/level'), { level: $(this).val() }, () => {\n\t\t\tOC.Log.reload()\n\t\t})\n\t})\n\n\t$('#mail_smtpauth').change(function() {\n\t\tif (!this.checked) {\n\t\t\t$('#mail_credentials').addClass('hidden')\n\t\t} else {\n\t\t\t$('#mail_credentials').removeClass('hidden')\n\t\t}\n\t})\n\n\t$('#mail_smtpmode').change(function() {\n\t\tif ($(this).val() !== 'smtp') {\n\t\t\t$('#setting_smtpauth').addClass('hidden')\n\t\t\t$('#setting_smtphost').addClass('hidden')\n\t\t\t$('#mail_smtpsecure_label').addClass('hidden')\n\t\t\t$('#mail_smtpsecure').addClass('hidden')\n\t\t\t$('#mail_credentials').addClass('hidden')\n\t\t\t$('#mail_sendmailmode_label, #mail_sendmailmode').removeClass('hidden')\n\t\t} else {\n\t\t\t$('#setting_smtpauth').removeClass('hidden')\n\t\t\t$('#setting_smtphost').removeClass('hidden')\n\t\t\t$('#mail_smtpsecure_label').removeClass('hidden')\n\t\t\t$('#mail_smtpsecure').removeClass('hidden')\n\t\t\tif ($('#mail_smtpauth').is(':checked')) {\n\t\t\t\t$('#mail_credentials').removeClass('hidden')\n\t\t\t}\n\t\t\t$('#mail_sendmailmode_label, #mail_sendmailmode').addClass('hidden')\n\t\t}\n\t})\n\n\tconst changeEmailSettings = function() {\n\t\tif (OC.PasswordConfirmation.requiresPasswordConfirmation()) {\n\t\t\tOC.PasswordConfirmation.requirePasswordConfirmation(changeEmailSettings)\n\t\t\treturn\n\t\t}\n\n\t\tOC.msg.startSaving('#mail_settings_msg')\n\t\t$.ajax({\n\t\t\turl: OC.generateUrl('/settings/admin/mailsettings'),\n\t\t\ttype: 'POST',\n\t\t\tdata: $('#mail_general_settings_form').serialize(),\n\t\t\tsuccess: () => {\n\t\t\t\tOC.msg.finishedSuccess('#mail_settings_msg', t('settings', 'Saved'))\n\t\t\t},\n\t\t\terror: (xhr) => {\n\t\t\t\tOC.msg.finishedError('#mail_settings_msg', xhr.responseJSON)\n\t\t\t},\n\t\t})\n\t}\n\n\tconst toggleEmailCredentials = function() {\n\t\tif (OC.PasswordConfirmation.requiresPasswordConfirmation()) {\n\t\t\tOC.PasswordConfirmation.requirePasswordConfirmation(toggleEmailCredentials)\n\t\t\treturn\n\t\t}\n\n\t\tOC.msg.startSaving('#mail_settings_msg')\n\t\t$.ajax({\n\t\t\turl: OC.generateUrl('/settings/admin/mailsettings/credentials'),\n\t\t\ttype: 'POST',\n\t\t\tdata: $('#mail_credentials_settings').serialize(),\n\t\t\tsuccess: () => {\n\t\t\t\tOC.msg.finishedSuccess('#mail_settings_msg', t('settings', 'Saved'))\n\t\t\t},\n\t\t\terror: (xhr) => {\n\t\t\t\tOC.msg.finishedError('#mail_settings_msg', xhr.responseJSON)\n\t\t\t},\n\t\t})\n\t}\n\n\t$('#mail_general_settings_form').change(changeEmailSettings)\n\t$('#mail_credentials_settings_submit').click(toggleEmailCredentials)\n\t$('#mail_smtppassword').click(() => {\n\t\tif (this.type === 'text' && this.value === '********') {\n\t\t\tthis.type = 'password'\n\t\t\tthis.value = ''\n\t\t}\n\t})\n\n\t$('#sendtestemail').click((event) => {\n\t\tevent.preventDefault()\n\t\tOC.msg.startAction('#sendtestmail_msg', t('settings', 'Sending…'))\n\n\t\t$.ajax({\n\t\t\turl: OC.generateUrl('/settings/admin/mailtest'),\n\t\t\ttype: 'POST',\n\t\t\tsuccess: () => {\n\t\t\t\tOC.msg.finishedSuccess('#sendtestmail_msg', t('settings', 'Email sent'))\n\t\t\t},\n\t\t\terror: (xhr) => {\n\t\t\t\tOC.msg.finishedError('#sendtestmail_msg', xhr.responseJSON)\n\t\t\t},\n\t\t})\n\t})\n\n\tconst setupChecks = () => {\n\t\t// run setup checks then gather error messages\n\t\t$.when(\n\t\t\tOC.SetupChecks.checkSetup(),\n\t\t).then((messages) => {\n\t\t\tconst $el = $('#postsetupchecks')\n\t\t\t$('#security-warning-state-loading').addClass('hidden')\n\n\t\t\tlet hasMessages = false\n\t\t\tconst $errorsEl = $el.find('.errors')\n\t\t\tconst $warningsEl = $el.find('.warnings')\n\t\t\tconst $infoEl = $el.find('.info')\n\n\t\t\tfor (let i = 0; i < messages.length; i++) {\n\t\t\t\tswitch (messages[i].type) {\n\t\t\t\tcase OC.SetupChecks.MESSAGE_TYPE_INFO:\n\t\t\t\t\t$infoEl.append('<li>' + messages[i].msg + '</li>')\n\t\t\t\t\tbreak\n\t\t\t\tcase OC.SetupChecks.MESSAGE_TYPE_WARNING:\n\t\t\t\t\t$warningsEl.append('<li>' + messages[i].msg + '</li>')\n\t\t\t\t\tbreak\n\t\t\t\tcase OC.SetupChecks.MESSAGE_TYPE_ERROR:\n\t\t\t\tdefault:\n\t\t\t\t\t$errorsEl.append('<li>' + messages[i].msg + '</li>')\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ($errorsEl.find('li').length > 0) {\n\t\t\t\t$errorsEl.removeClass('hidden')\n\t\t\t\thasMessages = true\n\t\t\t}\n\t\t\tif ($warningsEl.find('li').length > 0) {\n\t\t\t\t$warningsEl.removeClass('hidden')\n\t\t\t\thasMessages = true\n\t\t\t}\n\t\t\tif ($infoEl.find('li').length > 0) {\n\t\t\t\t$infoEl.removeClass('hidden')\n\t\t\t\thasMessages = true\n\t\t\t}\n\n\t\t\tif (hasMessages) {\n\t\t\t\t$('#postsetupchecks-hint').removeClass('hidden')\n\t\t\t\tif ($errorsEl.find('li').length > 0) {\n\t\t\t\t\t$('#security-warning-state-failure').removeClass('hidden')\n\t\t\t\t} else {\n\t\t\t\t\t$('#security-warning-state-warning').removeClass('hidden')\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst securityWarning = $('#security-warning')\n\t\t\t\tif (securityWarning.children('ul').children().length === 0) {\n\t\t\t\t\t$('#security-warning-state-ok').removeClass('hidden')\n\t\t\t\t} else {\n\t\t\t\t\t$('#security-warning-state-failure').removeClass('hidden')\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t}\n\n\tif (document.getElementById('security-warning') !== null) {\n\t\tsetupChecks()\n\t}\n})\n","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = {};\n__webpack_modules__[69129]();\n"],"names":["window","addEventListener","$","change","post","OC","generateUrl","level","this","val","Log","reload","checked","removeClass","addClass","is","changeEmailSettings","PasswordConfirmation","requiresPasswordConfirmation","requirePasswordConfirmation","msg","startSaving","ajax","url","type","data","serialize","success","finishedSuccess","t","error","xhr","finishedError","responseJSON","toggleEmailCredentials","click","event","preventDefault","startAction","document","getElementById","when","SetupChecks","checkSetup","then","messages","$el","hasMessages","$errorsEl","find","$warningsEl","$infoEl","i","length","MESSAGE_TYPE_INFO","append","MESSAGE_TYPE_WARNING","MESSAGE_TYPE_ERROR","children"],"sourceRoot":""}
\ No newline at end of file |