]> source.dussan.org Git - nextcloud-server.git/commitdiff
add setup check for ocm-provider route
authorBjoern Schiessle <bjoern@schiessle.org>
Tue, 19 Feb 2019 21:20:33 +0000 (22:20 +0100)
committerMorris Jobke <hey@morrisjobke.de>
Wed, 20 Feb 2019 09:38:16 +0000 (10:38 +0100)
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
core/js/setupchecks.js
settings/js/admin.js

index 4aa60912c3771bded7e2a574680f5fdc1f747c66..da5dc68b16638d3b7e7b3f9cdf886ba2fbe7597b 100644 (file)
                        return deferred.promise();
                },
 
+
+               /**
+                * Check whether the .well-known URLs works.
+                *
+                * @param url the URL to test
+                * @param placeholderUrl the placeholder URL - can be found at oc_defaults.docPlaceholderUrl
+                * @param {boolean} runCheck if this is set to false the check is skipped and no error is returned
+                *
+                * @return $.Deferred object resolved with an array of error messages
+                */
+               checkProviderUrl: function(url, placeholderUrl, runCheck) {
+                       var expectedStatus = [200];
+                       var deferred = $.Deferred();
+
+                       if(runCheck === false) {
+                               deferred.resolve([]);
+                               return deferred.promise();
+                       }
+                       var afterCall = function(xhr) {
+                               var messages = [];
+                               if (expectedStatus.indexOf(xhr.status) === -1) {
+                                       var docUrl = placeholderUrl.replace('PLACEHOLDER', 'admin-setup-well-known-URL');
+                                       messages.push({
+                                               msg: t('core', 'Your web server is not properly set up to resolve "{url}". Further information can be found in the <a target="_blank" rel="noreferrer noopener" href="{docLink}">documentation</a>.', { docLink: docUrl, url: url }),
+                                               type: OC.SetupChecks.MESSAGE_TYPE_INFO
+                                       });
+                               }
+                               deferred.resolve(messages);
+                       };
+
+                       $.ajax({
+                               type: 'GET',
+                               url: url,
+                               complete: afterCall,
+                               allowAuthErrors: true
+                       });
+                       return deferred.promise();
+               },
+
+
                /**
                 * Check whether the WOFF2 URLs works.
                 *
index 1c9b5460eab37e73064f425ccd6548817a64cad8..d47c0de3375668b1c3390b602567955195834217 100644 (file)
@@ -251,6 +251,7 @@ $(document).ready(function(){
                        OC.SetupChecks.checkWellKnownUrl('/.well-known/webfinger', oc_defaults.docPlaceholderUrl, $('#postsetupchecks').data('check-wellknown') === true && !!oc_appconfig.core.public_webfinger, [200, 501]),
                        OC.SetupChecks.checkWellKnownUrl('/.well-known/caldav', oc_defaults.docPlaceholderUrl, $('#postsetupchecks').data('check-wellknown') === true),
                        OC.SetupChecks.checkWellKnownUrl('/.well-known/carddav', oc_defaults.docPlaceholderUrl, $('#postsetupchecks').data('check-wellknown') === true),
+                       OC.SetupChecks.checkProviderUrl('/ocm-provider/', oc_defaults.docPlaceholderUrl, $('#postsetupchecks').data('check-wellknown') === true),
                        OC.SetupChecks.checkSetup(),
                        OC.SetupChecks.checkGeneric(),
                        OC.SetupChecks.checkWOFF2Loading(OC.filePath('core', '', 'fonts/Nunito-Regular.woff2'), oc_defaults.docPlaceholderUrl),