Skip to content
Snippets Groups Projects
Commit ab580fd9 authored by c-tim's avatar c-tim
Browse files

Merge branch 'passwordViaFragment' into 'staging'

feat(secret): Allow secret to be passed via the fragment

See merge request hanfi/bgp_worker!17
parents cc75b45a 18cfcbe6
No related branches found
No related tags found
2 merge requests!18Merge Staging into Main,!17feat(secret): Allow secret to be passed via the fragment
This diff is collapsed.
<!DOCTYPE html><html lang="de"><head><title>Paketshop: Checkin</title><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="icon shortcut" href="data:image/x-icon;," type="image/x-icon"><link rel="stylesheet" type="text/css" href="/bootstrap.min.css"><link rel="stylesheet" type="text/css" href="/bootstrap-icons.css"><link rel="stylesheet" type="text/css" href="/index.css"></head><body> <div class="container"> <h1>Checkin</h1> <div class="row"> <div class="col-md-4"> <div>Storage</div> <select class="form-control" id="storage_select"></select> <div id="storage"></div> </div> <div class="col-md-4"> <div>Sticker Item</div> <input class="form-control" type="text" placeholder="tag" oninput="lib.onTagTextUpdate(this)" onchange="lib.onTagInputChanged(this)"> <button id="startScan" onclick="lib.addItemScan()" class="btn btn-primary">Scan Item</button> <button id="stopScan" onclick="lib.stopScanningItem()" class="btn btn-primary" style="display: none">Stop Scanning</button> </div> <div class="col-md-4"> <div>Manual Item</div> <input onchange="lib.addItemImage(this)" type="file" accept="image/*"> </div> </div> <div class="row"> <div>Items to checkin</div> <ul id="items"> </ul> </div> <div class="row"> <div id="reader" style="width: 500px; margin 0 auto;"></div> </div> <div class="row"> <button onclick="lib.checkinItems()" class="btn btn-primary">Submit Data</button> </div> <div aria-live="polite" aria-atomic="true" class="align-items-center d-flex justify-content-center" style="min-height: 200px;"> <div id="bottomToast" class="toast" role="alert" aria-live="assertive" aria-atomic="true"> <div class="toast-header"> <strong class="mr-auto">ToastHeader</strong> </div> <div class="toast-body"> Toast Message. </div> </div> </div> </div> <script src="./bundle.js"></script> <script>window.onload=function(){lib.loadStorages(document.location.search.substring(1))};</script> </body></html>
\ No newline at end of file
<!DOCTYPE html><html lang="de"><head><title>Paketshop: Checkin</title><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="icon shortcut" href="data:image/x-icon;," type="image/x-icon"><link rel="stylesheet" type="text/css" href="/bootstrap.min.css"><link rel="stylesheet" type="text/css" href="/bootstrap-icons.css"><link rel="stylesheet" type="text/css" href="/index.css"></head><body> <div class="container"> <h1>Checkin</h1> <div class="row"> <div class="col-md-4"> <div>Storage</div> <select class="form-control" id="storage_select"></select> <div id="storage"></div> </div> <div class="col-md-4"> <div>Sticker Item</div> <input class="form-control" type="text" placeholder="tag" oninput="lib.onTagTextUpdate(this)" onchange="lib.onTagInputChanged(this)"> <button id="startScan" onclick="lib.addItemScan()" class="btn btn-primary">Scan Item</button> <button id="stopScan" onclick="lib.stopScanningItem()" class="btn btn-primary" style="display: none">Stop Scanning</button> </div> <div class="col-md-4"> <div>Manual Item</div> <input onchange="lib.addItemImage(this)" type="file" accept="image/*"> </div> </div> <div class="row"> <div>Items to checkin</div> <ul id="items"> </ul> </div> <div class="row"> <div id="reader" style="width: 500px; margin 0 auto;"></div> </div> <div class="row"> <button onclick="lib.checkinItems()" class="btn btn-primary">Submit Data</button> </div> <div aria-live="polite" aria-atomic="true" class="align-items-center d-flex justify-content-center" style="min-height: 200px;"> <div id="bottomToast" class="toast" role="alert" aria-live="assertive" aria-atomic="true"> <div class="toast-header"> <strong class="mr-auto">ToastHeader</strong> </div> <div class="toast-body"> Toast Message. </div> </div> </div> </div> <script src="./bundle.js"></script> <script>window.onload=function(){lib.onPageLoad()};</script> </body></html>
\ No newline at end of file
......@@ -91,12 +91,19 @@ async function getConfig() {
}
}
async function login() {
async function login(passwordToTry) {
console.log("Performing login");
let loginSuccess = false;
do {
console.log("Prompting user for shared secret.");
var password = prompt("provide the shared secret");
var password;
if(passwordToTry !== undefined) {
console.log("Using password to try from parameter");
password = passwordToTry;
passwordToTry = undefined;
} else {
console.log("Prompting user for shared secret.");
password = prompt("provide the shared secret");
}
var form = new FormData();
form.append("grant_type", "password");
form.append("username", "worker");
......@@ -376,7 +383,6 @@ export async function scanReceiver() {
export async function loadStorages(selectedStorage) {
await getConfig();
console.log("Retrieving storages");
var response = await fetchWithAuth(config.backend_url + "/storages");
if(await checkResponseForError(response, "Failed to load storages.")) {
......@@ -394,3 +400,14 @@ export async function loadStorages(selectedStorage) {
}
}
}
export async function onPageLoad() {
await getConfig();
let pw = window.location.hash.substring(1);
if(pw.length > 1) {
await login(pw);
} else {
await login();
}
loadStorages(document.location.search.substring(1));
}
......@@ -48,6 +48,6 @@
</div>
</div>
<module href="/components/foot.html"></module>
<script>window.onload = function () { lib.loadStorages(document.location.search.substring(1)) };</script>
<script>window.onload = function () { lib.onPageLoad(); };</script>
</body>
</html>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment