Skip to content

Commit 72975e6

Browse files
authored
Add euros credentials and login page fix (#1146)
* initial commit * fix PDF no being able to be emaild * add a pdf css file * fix lint * fix login and credentials for euros * add code rabbit suggestion
1 parent a8ffaa5 commit 72975e6

File tree

2 files changed

+29
-11
lines changed

2 files changed

+29
-11
lines changed

app/views/sofia_accounts/login.html.erb

Lines changed: 28 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<div class="col-12 text-center">
88
<div class="alert alert-dismissible fade show alert-danger" role="alert">
99
<p class="mb-0" id="authenticate_flash_message"></p>
10-
<button aria-label="Close" class="btn-close" data-bs-dismiss="alert" type="button"></button>
10+
<button aria-label="Close" class="btn-close" type="button" id="authenticate_flash_close_button"></button>
1111
</div>
1212
</div>
1313
</div>
@@ -46,6 +46,27 @@
4646
<% end %>
4747

4848
<script>
49+
function showAuthenticateFlashMessage(message, { allowHtml = false } = {}) {
50+
const holder = document.querySelector("#authenticate_flash_holder");
51+
const messageElement = document.querySelector("#authenticate_flash_message");
52+
53+
if (!holder || !messageElement) {
54+
return;
55+
}
56+
57+
if (allowHtml) {
58+
messageElement.innerHTML = message;
59+
} else {
60+
messageElement.textContent = message;
61+
}
62+
63+
holder.classList.remove("d-none");
64+
}
65+
66+
document.querySelector("#authenticate_flash_close_button")?.addEventListener("click", function() {
67+
document.querySelector("#authenticate_flash_holder")?.classList.add("d-none");
68+
});
69+
4970
async function authenticate_login() {
5071
var formData = new FormData(document.querySelector("#authentication_form"));
5172

@@ -57,7 +78,8 @@ async function authenticate_login() {
5778
}
5879
});
5980

60-
if (response.headers.get('Content-Type').includes("application/json")) {
81+
const contentType = response.headers.get('Content-Type') || '';
82+
if (contentType.includes("application/json")) {
6183
const json = await response.json();
6284
document.querySelector("#authenticate_flash_holder").classList.add('d-none');
6385

@@ -75,13 +97,11 @@ async function authenticate_login() {
7597
}
7698

7799
if (json.error_message) {
78-
document.querySelector("#authenticate_flash_message").textContent = json.error_message;
79-
document.querySelector("#authenticate_flash_holder").classList.remove('d-none');
100+
showAuthenticateFlashMessage(json.error_message);
80101
}
81102
} else {
82103
// we did not get json back, so that most likely means a CORS-related error or an error on the server-side
83-
document.querySelector("#authenticate_flash_message").innerHTML = "Inloggen mislukt door een error. Herlaad de pagina en probeer het nog een keer. <br/><i>Werkt het na een paar keer proberen nog steeds niet? Neem dan contact op met de ICT-commissie.</i>";
84-
document.querySelector("#authenticate_flash_holder").classList.remove('d-none');
104+
showAuthenticateFlashMessage("Inloggen mislukt door een error. Herlaad de pagina en probeer het nog een keer. <br/><i>Werkt het na een paar keer proberen nog steeds niet? Neem dan contact op met de ICT-commissie.</i>", { allowHtml: true });
85105
}
86106
}
87107

@@ -103,13 +123,11 @@ async function authenticate_otp() {
103123
window.location.replace(json.redirect_url);
104124
} else {
105125
// authentication code is wrong
106-
document.querySelector("#authenticate_flash_message").textContent = json.error_message;
107-
document.querySelector("#authenticate_flash_holder").classList.remove('d-none');
126+
showAuthenticateFlashMessage(json.error_message);
108127
}
109128
} else {
110129
// Non-JSON response indicates an error
111-
document.querySelector("#authenticate_flash_message").textContent = "Authenticatie mislukt door een error. Herlaad de pagina en probeer het nog een keer. Werkt het na een paar keer proberen nog steeds niet? Neem dan contact op met de ICT-commissie.";
112-
document.querySelector("#authenticate_flash_holder").classList.remove('d-none');
130+
showAuthenticateFlashMessage("Authenticatie mislukt door een error. Herlaad de pagina en probeer het nog een keer. Werkt het na een paar keer proberen nog steeds niet? Neem dan contact op met de ICT-commissie.");
113131
}
114132
}
115133
</script>

config/credentials.yml.enc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
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--O5xKzjyjq9REnRSy--T0r7BdyBvoPYid5kiwX4xQ==
1+
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--VdGEQekJGunGOa5t--2d0QR/dIlRh1JKBzNCi+Dg==

0 commit comments

Comments
 (0)