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 🙂