Skip to content

Commit

Permalink
Redirect template request to ereg only when is assigned role returned
Browse files Browse the repository at this point in the history
  • Loading branch information
ldrahnik committed Apr 11, 2022
1 parent 32991e6 commit 6b74a6a
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 14 deletions.
21 changes: 11 additions & 10 deletions background/background.js
Original file line number Diff line number Diff line change
Expand Up @@ -742,7 +742,7 @@ function getEregRegistrDefaultPageUrl(callback) {
});
}

function isEregKsrzisSignedInWithSpecificRole(tab, callback) {
function isEregKsrzisSignedInWithSpecificRole(tab, roleId, callback) {
getRegistrCUDVyhledaniPacientaUrl(function(url) {
fetch(url, {
method: 'get'
Expand All @@ -756,10 +756,11 @@ function isEregKsrzisSignedInWithSpecificRole(tab, callback) {
{
text: GET_SIGNED_USERNAME,
data: {
text: text
"text": text,
"roleId": roleId
}
}, function(activeUsername) {
callback(activeUsername);
}, function(results) {
callback(results);
}
);
});
Expand Down Expand Up @@ -1133,12 +1134,12 @@ function updateZadanka(tab, params) {
var IsDisabledPopupAboutParamsFromPosledniZadanka = options.get(IS_DISABLED_POPUP_ABOUT_PARAMS_FROM_POSLEDNI_ZADANKA);
var IsDisabledRedirectToPacientiCovid19 = options.get(IS_DISABLED_REDIRECT_TO_PACIENTI_COVID_19);

isEregKsrzisSignedInWithSpecificRole(tab, function(activeUsername) {
const redirectToEreg = activeUsername && IsDisabledRedirectToPacientiCovid19 != "true";
if(activeUsername) {
params.set("OrdinaceVystavil", activeUsername);
isEregKsrzisSignedInWithSpecificRole(tab, ROLE_INDIKUJICI_OSOBA, function(results) {
const redirectToEreg = results && results.roleExists && IsDisabledRedirectToPacientiCovid19 != "true";
if(results && results.username) {
params.set("OrdinaceVystavil", results.username);
}
if (IsDisabledPopupAboutParamsFromPosledniZadanka != "true") {
if (redirectToEreg) {
updateZadankaConfirmWindowsAboutParamsFromPosledniZadanka(tab, redirectToEreg, params.get("TestovanyCisloPojistence"), params, function(params) {
setUserRole(ROLE_INDIKUJICI_OSOBA, function() {
updateZadankaRedirect(tab, redirectToEreg, params);
Expand Down Expand Up @@ -1229,4 +1230,4 @@ chrome.commands.onCommand.addListener(function(command) {
break;
default:
}
});
});
21 changes: 17 additions & 4 deletions content/content.js
Original file line number Diff line number Diff line change
Expand Up @@ -52,11 +52,24 @@ chrome.runtime.onMessage.addListener(function (msg, sender, sendResponse) {
var responseDocument = parser.parseFromString(msg.data.text,"text/html");

var usernameElement = responseDocument.getElementsByClassName("status-bar_username");

var username = false;
if(usernameElement && usernameElement[0] && usernameElement[0].innerText.trim()) {
sendResponse(usernameElement[0].innerText.trim());
} else {
sendResponse(false);
username = usernameElement[0].innerText.trim();
}

var roleExists = false;
if(msg.data.roleId) {
var roleElement = responseDocument.evaluate("//a[contains(@onclick,'" + msg.data.roleId + "')]", responseDocument, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);

if(roleElement.snapshotLength) {
roleExists = true;
}
}
sendResponse({
"username": username,
"roleExists": roleExists
});
}
return true;
});
Expand Down Expand Up @@ -1235,4 +1248,4 @@ if(robAdresaHtmlElement) {
};
const observer = new MutationObserver(callback);
observer.observe(robAdresaHtmlElement, config);
}
}

0 comments on commit 6b74a6a

Please sign in to comment.