MediaWiki:Common.js

Aus smw-dev03
Wechseln zu:Navigation, Suche

Hinweis: Leere nach dem Veröffentlichen den Browser-Cache, um die Änderungen sehen zu können.

  • Firefox/Safari: Umschalttaste drücken und gleichzeitig Aktualisieren anklicken oder entweder Strg+F5 oder Strg+R (⌘+R auf dem Mac) drücken
  • Google Chrome: Umschalttaste+Strg+R (⌘+Umschalttaste+R auf dem Mac) drücken
  • Internet Explorer/Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
  • Opera: Strg+F5
$(document).ready(function() {

  if (mw.config.get('wgCanonicalSpecialPageName') === 'FormEdit') {

    const urlParts = window.location.pathname.split('/');
    const formName = urlParts[urlParts.length - 2];
    const pageName = decodeURIComponent(urlParts[urlParts.length - 1]);

    if (formName === 'GutachtenAuspragungForm') {
      
      const apiUrl = mw.util.wikiScript('api') + '?action=query&titles=' + encodeURIComponent(pageName) + '&format=json';

      $.getJSON(apiUrl, function(data) {
        const pages = data.query.pages;
        const exists = !pages.hasOwnProperty('-1');

        if (!exists) {
          // Directly redirect with a query parameter indicating the issue
          const redirectUrl = mw.util.getUrl('Spezial:Mit_Formular_bearbeiten', {
            form: 'GutachtenAuspragungForm',
            warning: 'notexist'
          });
          
          window.location.replace(redirectUrl);
        }
      });
    }

    // Check for warning parameter and display message if redirected here
    const urlParams = new URLSearchParams(window.location.search);
    if (urlParams.get('warning') === 'notexist') {
      mw.loader.using('mediawiki.notification', function(){
        mw.notify('Das angeforderte Gutachten existiert nicht. Bitte nutzen Sie dieses Formular, um ein neues Gutachten anzulegen.', {
          title: 'Hinweis',
          type: 'warn',
          autoHideSeconds: 7
        });
      });
    }
  }
});