diff --git a/README.md b/README.md index 9098fc3..92fe982 100644 --- a/README.md +++ b/README.md @@ -27,6 +27,10 @@ Rozšíření přidává užitečné funkce do modulu [Pacienti COVID-19](https: ## Žádanky testů COVID-19 + Pacienti COVID-19 +- Přidává možnost přesunout vytváření žádanky z **Žádanky testů Covid 19** do modulu **Pacienti COVID-19** + +![Preview](preview/preview_presunout_zadanku_do_Pacienti_covid_19.PNG) + - Přidává možnost vidět a změnit přihlašovací údaje do aplikace [Tečka](https://ockodoc.mzcr.cz/napoveda/tecka/cz/) nebo [ocko.uzis.cz](https://ocko.uzis.cz/) včetně tlačítka **Detail pacienta** ![Preview](preview/moznost_ulozit_prihlasovaci_udaje_na_zadance.PNG) diff --git a/background/background.js b/background/background.js index a7d9b37..e8b8933 100644 --- a/background/background.js +++ b/background/background.js @@ -36,6 +36,10 @@ function getRegistrCUDVyhledaniPacientaUrlParams(zadanka) { return urlParams; } +function getRegistrCUDZadankyMojeZadankyStornoUrl(CisloZadanky) { + return getEregRegistrUrl() + "/Registr/CUDZadanky/MojeZadanky/Storno/" + CisloZadanky; +} + function unsetProvedenOdber(Cislo, callback) { var urlParams = getRegistrCUDZadankyMojeZadankyEditaceUrlParams(false); diff --git a/content/content.js b/content/content.js index 7dd0374..56a81cc 100644 --- a/content/content.js +++ b/content/content.js @@ -341,6 +341,7 @@ if(CisloElement && CisloElement.value) { var actionsDiv = document.querySelector(".actions"); +var CisloLabel = document.querySelector('label[for="Zadanka_Cislo"]'); var JmenoLabel = document.querySelector('label[for="Zadanka_TestovanyJmeno"]'); var PrijmeniLabel = document.querySelector('label[for="Zadanka_TestovanyPrijmeni"]'); var CisloPojistenceLabel = document.querySelector('label[for="Zadanka_TestovanyCisloPojistence"]'); @@ -457,18 +458,17 @@ if( accordionZadankyActions.appendChild(link); } -var TypyTestuNazvyLabel = document.querySelector('label[for="TypyTestuNazvy"]'); +var ZadankaCisloElement = document.querySelector('label[for="Zadanka_Cislo"]'); var ZadankaProvedenOdber = document.getElementById('Zadanka_ProvedenOdber'); -var ZmenaZadankyLink = document.querySelector('[id*="link_registr_cudzadanky_mojezadanky_editace"]'); +var IsZadankaDetail = window.location.href.includes("/Detail/"); -if ( - TypyTestuNazvyLabel && - TypyTestuNazvyLabel.nextElementSibling.innerText && - ZmenaZadankyLink && +if( + IsZadankaDetail && + ZadankaCisloElement && ZadankaCisloElement.nextElementSibling.innerText && ZadankaProvedenOdber && ZadankaProvedenOdber.checked ) { - - const IdZadanky = ZmenaZadankyLink.id.substring(ZmenaZadankyLink.id.lastIndexOf('_') + 1); + + const IdZadanky = window.location.href.substring(window.location.href.lastIndexOf('/') + 1); var StornoButton = document.createElement("button"); StornoButton.innerHTML = "Zrušení žádanky"; @@ -480,31 +480,36 @@ if ( StornoButton.addEventListener('click', function() { - chrome.runtime.sendMessage({ - "text": "ZrusitProvedenOdber", - "data": { - "Cislo": IdZadanky - } - }, function (resultEdit) { - - if(resultEdit) { - - var confirmZrušit = window.confirm("Opravdu chcete zrušit žádanku?"); - if (confirmZrušit == true) { - - chrome.runtime.sendMessage({ - "text": "StornoZadanka", - "data": { - "Cislo": IdZadanky - } - }, function (stornoZadanka) { - if(stornoZadanka) { - window.location.href = getRegistrCUDZadankyMojeZadankyUrl(); - } - }); + if( + (ZadankaProvedenOdber && ZadankaProvedenOdber.checked) || + (ProvedenOdberElement && ProvedenOdberElement.checked) + ) { + chrome.runtime.sendMessage({ + "text": "ZrusitProvedenOdber", + "data": { + "Cislo": IdZadanky } - } - }); + }, function (resultEdit) { + + if(resultEdit) { + + var confirmZrušit = window.confirm("Opravdu chcete zrušit žádanku?"); + if (confirmZrušit == true) { + + chrome.runtime.sendMessage({ + "text": "StornoZadanka", + "data": { + "Cislo": IdZadanky + } + }, function (stornoZadanka) { + if(stornoZadanka) { + window.location.href = getRegistrCUDZadankyMojeZadankyUrl(); + } + }); + } + } + }); + } } ); } \ No newline at end of file diff --git a/manifest.json b/manifest.json index 77a1abc..20c69ee 100644 --- a/manifest.json +++ b/manifest.json @@ -8,6 +8,9 @@ "scripts": [ "background/background.js" ], "persistent": true }, + "browser_action": { + "default_popup": "popup/popup.html" + }, "content_scripts": [{ "matches": [ "*://*.ksrzis.cz/*" @@ -15,6 +18,7 @@ "js": ["content/content.js"] }], "permissions": [ - "*://*.ksrzis.cz/*" + "*://*.ksrzis.cz/*", + "activeTab" ] } \ No newline at end of file diff --git a/popup/popup.css b/popup/popup.css new file mode 100644 index 0000000..5973c49 --- /dev/null +++ b/popup/popup.css @@ -0,0 +1,9 @@ +html, body { + width: 100px; + margin: 0px; + } + + button { + cursor: pointer; + width: 100%; + } \ No newline at end of file diff --git a/popup/popup.html b/popup/popup.html new file mode 100644 index 0000000..de02cbc --- /dev/null +++ b/popup/popup.html @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/popup/popup.js b/popup/popup.js new file mode 100644 index 0000000..885e3a5 --- /dev/null +++ b/popup/popup.js @@ -0,0 +1,61 @@ +const ZadankaToPacientiCovid19Button = document.getElementById("ZadankaToPacientiCovid19"); + +function getRegistrDomain() { + return "eregpublicsecure.ksrzis.cz"; +} + +function getRegistrUrl() { + return "https://" + getRegistrDomain(); +} + +function getEregRegistrDomain() { + return "ereg.ksrzis.cz"; +} + +function getEregRegistrUrl() { + return "https://" + getEregRegistrDomain(); +} + +function getRegistrZadankaUrl() { + return getRegistrUrl() + "/Registr/CUD/Zadanka"; +} + +function getRegistrZadankaOdberneMistoPage() { + return "/Registr/CUD/Zadanka/OdberneMisto"; +} + +function getRegistrZadankaOdberneMistoUrl() { + return getRegistrUrl() + getRegistrZadankaOdberneMistoPage(); +} + +function getEregRegistrCUDzadankyZadankaPage() { + return "/Registr/CUDZadanky/Zadanka"; +} + +function getEregRegistrCUDzadankyZadankaUrl() { + return getEregRegistrUrl() + getEregRegistrCUDzadankyZadankaPage(); +} + +if (ZadankaToPacientiCovid19Button) { + ZadankaToPacientiCovid19Button.onclick = function() { + + chrome.tabs.getSelected(null, function(tab) { + + var url = new URL(tab.url); + + if( + url.origin == getRegistrUrl() && + ( + url.pathname == getRegistrZadankaOdberneMistoPage() || + url.pathname == getEregRegistrCUDzadankyZadankaPage() + ) + ) { + var pacientiCovid19ZadankaUrl = getEregRegistrCUDzadankyZadankaUrl(); + + var newUrl = pacientiCovid19ZadankaUrl + url.search; + + chrome.tabs.update({url: newUrl}); + } + }); + } + } \ No newline at end of file diff --git a/preview/preview_presunout_zadanku_do_Pacienti_covid_19.PNG b/preview/preview_presunout_zadanku_do_Pacienti_covid_19.PNG new file mode 100644 index 0000000..712f0f1 Binary files /dev/null and b/preview/preview_presunout_zadanku_do_Pacienti_covid_19.PNG differ