Często chcemy wyświetlić coś użytkownikowi lub wręcz przeciwnie – coś przed nim zamaskować. Często w SDP brakuje nam opcji, która pozwoli np. wyświetlenie komunikatu użytkownikowi.

Producent od wersji 9100 daje nam możliwość użycia Reguł pól i formularza (Field and Form Rules – SDF-58407). Jednakże w przypadku, kiedy „coś” ma się zadziać w innym miejscu niż formatka zgłoszenia nie damy rady wykorzystać tej funkcjonalności.

Jest jednak sposób na obejście tego problemu. ServiceDesk Plus posiada opcję „dołożenia” kodu JavaScript (również z wykorzystaniem framework’a jQuery) za pomocą pliku CustomScripts.js.

Plik ten należy utworzyć na serwerze w katalogu [LOKALIZACJA SDP]\Custom\Scripts jako CustomScripts.js a następnie możemy popuścić wodzę fantazji i rozpocząć zabawę. Dla przykładu możemy wyświetlić użytkownikowi komunikat np. z informacją o planowanej przerwie technicznej. Przykładowy (baaardzo uproszczony kod):


alert("Uwaga! Planowana przerwa techniczna w dostępie do ServiceDesk w dniu 1.01.2017 w godzinach 13:00 do 18:00");

Otrzymujemy w ten sposób prosty komunikat do użytkownika. Jednakże jest to dość denerwujące gdy użytkownik zostanie „zaatakowany” tym komunikatem na każdej stronie – również przy odświeżeniu strony. Możemy na przykład wyświetlać ten komunikat tylko na wybranych stronach. Wystarczy „przechwycić” lokalizację, w której znajduje się użytkownik. Przykład dla strony głównej (widocznej po zalogowaniu):

var userLocation = location.pathname;

if(userLocation == "/HomePage.do"){
alert("Uwaga! Planowana przerwa techniczna w dostępie do ServiceDesk w dniu 1.01.2017 w godzinach 13:00 do 18:00");
}

Tym sposobem przechwycimy lokację użytkownika. Mała uwaga – jeśli chcemy przechwycić dokładny adres musimy dokonać małej modyfikacji. Zamieniamy

var userLocation = location.pathname;
if(userLocation == "/HomePage.do"){

na

var userLocation = window.location.href;
if(userLocation.indexOf("HomePage.do")!=-1){

Jak to działa? Sprawdzamy czy pełna ścieżka zawiera „HomePage.do”.

Jak już wcześniej wspominałem możemy również wykorzystać do zabawy jQuery. Prosty przykład – chcemy wyświetlić użytkownikowi wspomniany już wcześniej komunikat ale dopiero po załadowaniu strony. W tym celu możemy wykorzystać np. jQuery:

jQuery(document).ready(function() {
alert("Uwaga! Planowana przerwa techniczna w dostępie do ServiceDesk w dniu 1.01.2017 w godzinach 13:00 do 18:00");
});

Jest to tylko bardzo prosty przykład wykorzystania CustomScripts.js. W zarządzanych przez nas instalacjach SDP tworzyliśmy dużo bardziej zaawansowane skrypty i z czystym sumieniem możemy powiedzieć, że dzięki wykorzystaniu CustomScripts.js producent dał nam jako Administratorom duży prezent 🙂