ordersprinter/webapp/preferences.html

411 lines
17 KiB
HTML
Raw Normal View History

2020-11-19 22:47:44 +01:00
<html>
<head>
<title>Ansicht persönliche Einstellungen</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="css/bestformat.css">
<link rel="stylesheet" href="php/3rdparty/orderstyle/orderstyle.min.css" />
<link rel="stylesheet" href="php/3rdparty/orderstyle/jquery.mobile.icons.min.css" />
<link rel="stylesheet" href="php/3rdparty/jquery.mobile-1.4.0.min.css" type="text/css" />
<script src="php/3rdparty/jquery-2.0.3.min.js"></script>
<script src="php/3rdparty/jquery.mobile-1.4.0.min.js"></script>
<script src="utilities.js"></script>
</head>
<body>
<script>
var PREF_HEADER = ["Persönliche Einstellungen für ","User specific settings for ","Propriedades para usario "];
var PREF_PASSWORD = ["Passwort","Password","Contraseña"];
var PREF_OLD_PASSWORD = ["Altes Passwort:","Old password:","Contraseña obsoleta:"];
var PREF_NEW_PASSWORD = ["Neues Passwort:","New password:","Contraseña nueva:"];
var PREF_LANGUAGE = ["Sprache","Language","Idioma"];
var PREF_ORDERTON = ["Orderton","Order sound","Sonido de la orden"];
var PREF_CHANGE_PASSWD = ["Passwort ändern","Change password","Cambiar contraseña"];
var PREF_WRONG_OLDASS = ["Das Passwort konnte nicht geändert werden. Bitte prüfen Sie, ob das alte Passwort korrekt eingegeben wurde.",
"The password could not be changed. Please verify that the old password was entered correctly.",
"No se puede cambiar la contraseña. Has enterado corectamente la contraseña vieja?"];
var PREF_PASS_CHANGED = ["Das Passwort wurde geändert.","Password changed.","La contraseña esta cambiado."];
var PREF_VOL = ["Lautstärke:", "Volume:", "Volumen:"];
var PREF_RECEIPT_PRINTER = ["Bondrucker","Receipt printer","Impresora de tique"];
var PREF_PRINTER_HEAD = ["Kassendrucker","Paydesk printer","Impresora de tique"];
var PREF_PRINTER_DETAILS = ["Die Auswahl des Bondruckers wirkt sich nur bei Server-Print aus.","The selection of the receipt printers is only relevant for server print.","La selección de la impresora solo sirve para 'server print'"];
var PREF_SIZE_SMALL = ["klein","small","pequeño"];
var PREF_SIZE_MIDDLE = ["mittel","middle","medio"];
var PREF_SIZE_BIG = ["groß","big","grande"];
var PREF_ROOM_BTN_SIZE = ["Raumauswahl","Room selection","Selección de espacio"];
var PREF_TABLE_BTN_SIZE = ["Tischauswahl","Table selection","Selección de mesas"];
var PREF_PROD_BTN_SIZE = ["Produktauswahl","Product selection","Selección de productos"];
var PREF_BTN_SIZE_TXT = ["Buttongrößen","Button sizes","Tamaño de los botones"];
var PREF_TM = ["Tischauswahl bevorzugt","Prefer table selection","Prerefir selección de mesas"];
var PREF_TM_GR = ["Grafische Tischkarte","Tablemap as image","Mapa de cartas"];
var PREF_TM_TEXT = ["Text-Buttons","Text buttons","botones con textos"];
var l=0;
function doAjaxPasswordChange(oldPass,newPass,errorMsg) {
var data = {
oldPass: oldPass,
newPass: newPass
};
doAjax("POST","php/contenthandler.php?module=admin&command=changeOwnPassword",data,changePassword,"Passwortproblem");
}
function getGeneralConfigItems() {
doAjax("GET", "php/contenthandler.php?module=admin&command=getGeneralConfigItems", null, insertGeneralConfigItems, "Fehler Konfigurationsdaten");
}
function insertGeneralConfigItems(configResult) {
if (configResult.status == "OK") {
var values = configResult.msg;
$("#pref-page").data("receiptprinter",values.receiptprinter);
$("#pref-page").data("userlanguage",values.userlanguage);
setLanguage(values.userlanguage);
} else {
setTimeout(function(){document.location.href = "index.html"},250); // not logged in
//alert("Fehler beim Aufruf der Seite: " + configResult.msg);
}
}
function createLanguagePart(language) {
var html = '<div class="ui-field-contain">';
html += '<label for="language">' + PREF_LANGUAGE[language] + ':</label>';
html += '<select name="language" id="language" data-theme="e">';
if (language == '0') {
html += '<option value="0" selected>Deutsch</option>';
html += '<option value="1">English</option>';
html += '<option value="2">Español</option>';
} else if (language == '1'){
html += '<option value="0">Deutsch</option>';
html += '<option value="1" selected>English</option>';
html += '<option value="2">Español</option>';
} else {
html += '<option value="0">Deutsch</option>';
html += '<option value="1">English</option>';
html += '<option value="2" selected>Español</option>';
}
html += '</select></div>';
return html;
}
function isSelected(currentIndex,searchIndex) {
if (currentIndex == searchIndex) {
return " selected";
} else {
return "";
}
}
function createReceiptPrinterPart(language) {
var printer = $("#pref-page").data("receiptprinter");
var html = PREF_PRINTER_DETAILS[language] + '<br><div class="ui-field-contain">';
html += '<label for="receiptprinter">' + PREF_PRINTER_HEAD[language] + ':</label>';
html += '<select name="receiptprinter" id="receiptprinter" data-theme="e">';
html += '<option value="1"' + isSelected(1,printer) + '>' + PREF_RECEIPT_PRINTER[language] + ' #1</option>';
html += '<option value="2"' + isSelected(2,printer) + '>' + PREF_RECEIPT_PRINTER[language] + ' #2</option>';
html += '<option value="3"' + isSelected(3,printer) + '>' + PREF_RECEIPT_PRINTER[language] + ' #3</option>';
html += '<option value="4"' + isSelected(4,printer) + '>' + PREF_RECEIPT_PRINTER[language] + ' #4</option>';
html += '<option value="5"' + isSelected(5,printer) + '>' + PREF_RECEIPT_PRINTER[language] + ' #5</option>';
html += '<option value="6"' + isSelected(6,printer) + '>' + PREF_RECEIPT_PRINTER[language] + ' #6</option>';
html += '</select></div>';
return html;
}
function setLanguage(lang) {
l = lang;
$("#languagepart").html(createLanguagePart(lang));
$("#languagebox").trigger("create");
$("#receiptprinterpart").html(createReceiptPrinterPart(lang));
$("#receiptprinterpartbox").trigger("create");
$("#prefheader").html(PREF_HEADER[lang]);
$("#passwordgen").html(PREF_PASSWORD[lang]);
$("#oldpassword").html(PREF_OLD_PASSWORD[lang]);
$("#newpassword").html(PREF_NEW_PASSWORD[lang]);
$("#languagetxt").html(PREF_LANGUAGE[lang]);
$("#printertxt").html(PREF_PRINTER_HEAD[lang]);
$("#ordertonetxt").html(PREF_ORDERTON[lang]);
var changepassbtn = '<input type="submit" value="' + PREF_CHANGE_PASSWD[lang] + '" data-theme="d" id="changepasswordbutton"/>';
$("#changepassbtnpart").html(changepassbtn);
$("#userpart").trigger("create");
$("#language").off('change').on('change', function(e) {
e.stopImmediatePropagation();
e.preventDefault();
var newLang = $("#language").find(":selected").val();
doAjax("POST","php/contenthandler.php?module=admin&command=setUserLanguage",{language:newLang},null,"Sprachenaenderung");
setLanguage(newLang);
});
$("#OLDPASSW_WRONG").html(PREF_WRONG_OLDASS[lang]);
$("#PASSWORD_CHANGED").html(PREF_PASS_CHANGED[lang]);
$("#voltxt").html(PREF_VOL[lang]);
$("#btnsizetxt").html(PREF_BTN_SIZE_TXT[lang]);
$("#roombtnsizetxt").html(PREF_ROOM_BTN_SIZE[lang]);
$("#tablebtnsizetxt").html(PREF_TABLE_BTN_SIZE[lang]);
$("#prodbtnsizetxt").html(PREF_PROD_BTN_SIZE[lang]);
$("#prefertmtxt").html(PREF_TABLE_BTN_SIZE[lang]);
$("#prefertmlabeltxt").html(PREF_TM[lang]);
initializeMainMenu("#modulemenu");
binding();
}
function changePassword(jsonContent) {
if (jsonContent == "OK") {
$("#passwordchangedpopup").popup( "open", {transition: 'flip'} );
} else {
$("#passwordnotchangedpopup").popup( "open", {transition: 'flip'} );
}
}
function fillCurrentUserIntoMask(username) {
$("#username").html(username);
}
function setCurrentUserIntoMask() {
doAjax("GET","php/contenthandler.php?module=admin&command=getCurrentUser",null,fillCurrentUserIntoMask,"Keine Benutzerinfo");
}
function setVolume() {
doAjax("GET","php/contenthandler.php?module=admin&command=getOrderVolume",null,fillOrderVolume,"Keine Ordertoninformation");
}
function setButtonSizes() {
doAjax("GET","php/contenthandler.php?module=admin&command=getButtonSizes",null,fillButtonSizes,"Keine Buttongroesseninformation");
}
function setPreferTablemap() {
doAjax("GET","php/contenthandler.php?module=admin&command=getPreferTableMap",null,fillPreferTableMap,"Keine Information über Bevorzugung grafischer Tischjpläne");
}
function fillOrderVolume(volume) {
$("#slidervolume").val(volume);
$("#slidervolume").slider('refresh');
}
function createBtnSizePart(size,label,labeltxt) {
var html = '<div class="ui-field-contain">';
html += '<label for="' + label + '"><span id="' + label + 'txt">' + labeltxt + '</span> :</label>';
html += '<select name="' + label + '" id="' + label + '" data-theme="e">';
html += '<option value="0"' + isSelected(0,size) + '>' + PREF_SIZE_SMALL[l] + '</option>';
html += '<option value="1"' + isSelected(1,size) + '>' + PREF_SIZE_MIDDLE[l] + '</option>';
html += '<option value="2"' + isSelected(2,size) + '>' + PREF_SIZE_BIG[l] + '</option>';
html += '</select></div>';
return html;
}
function createPreferTMPart(prefervalue,label,labeltxt) {
var html = '<div class="ui-field-contain">';
html += '<label for="' + label + '"><span id="' + label + 'txt">' + labeltxt + '</span> :</label>';
html += '<select name="' + label + '" id="' + label + '" data-theme="e">';
html += '<option value="0"' + isSelected(0,prefervalue) + '>' + PREF_TM_TEXT[l] + '</option>';
html += '<option value="1"' + isSelected(1,prefervalue) + '>' + PREF_TM_GR[l] + '</option>';
html += '</select></div>';
return html;
}
function fillButtonSizes(buttonsizes) {
$("#roombtnpart").html(createBtnSizePart(buttonsizes.roombtnsize, "roombtnsize", PREF_ROOM_BTN_SIZE[l]));
$("#tablebtnpart").html(createBtnSizePart(buttonsizes.tablebtnsize, "tablebtnsize", PREF_TABLE_BTN_SIZE[l]));
$("#prodbtnpart").html(createBtnSizePart(buttonsizes.prodbtnsize, "prodbtnsize", PREF_PROD_BTN_SIZE[l]));
$("#btnsizepartbox").trigger("create");
}
function fillPreferTableMap(preferTablemap) {
$("#prefertmbtnpart").html(createPreferTMPart(preferTablemap, "prefertmlabel", PREF_TM[l]));
$("#prefertmpartbox").trigger("create");
}
function handleBtnSize(jsonResult) {
if (jsonResult != "OK") {
alert("Fehler");
}
}
function handleGeneralAnswer(json) {
if (json.status != "OK") {
alert("Fehler");
}
}
function binding() {
// Help buttons
$("#changepasswordbutton").off("click").on("click", function (e) {
e.stopImmediatePropagation();
e.preventDefault();
var oldp = $("#oldpass").val();
var newp = $("#newpass").val();
doAjaxPasswordChange(oldp,newp,"Password change impossible");
$("#oldpass").val("");
$("#newpass").val("");
});
$("#slidervolume").off('slidestop').on('slidestop', function(e) {
doAjax("POST","php/contenthandler.php?module=admin&command=setOrderVolume",{volume:$("#slidervolume").val()},null,"Orderton nicht einstellbar");
});
$("#receiptprinter").off('change').on('change', function(e) {
e.stopImmediatePropagation();
e.preventDefault();
var newPrinter = $("#receiptprinter").find(":selected").val();
$("#pref-page").data("receiptprinter",newPrinter);
$("#receiptprinterpart").html(createReceiptPrinterPart($("#pref-page").data("userlanguage")));
$("#receiptprinterpartbox").trigger("create");
doAjax("POST","php/contenthandler.php?module=admin&command=setUserReceiptPrinter",{printer:newPrinter},null,"Bondruckeränderung");
binding();
});
$("#roombtnsize").off('change').on('change', function(e) {
var newSize = $("#roombtnsize").find(":selected").val();
$("#roombtnpart").html(createBtnSizePart(newSize, "roombtnsize", PREF_ROOM_BTN_SIZE[l]));
$("#btnsizepartbox").trigger("create");
doAjax("POST","php/contenthandler.php?module=admin&command=setBtnSize",{btn:0,size:newSize},handleBtnSize,"Buttonsize");
binding();
});
$("#tablebtnsize").off('change').on('change', function(e) {
var newSize = $("#tablebtnsize").find(":selected").val();
$("#tablebtnpart").html(createBtnSizePart(newSize, "tablebtnsize", PREF_TABLE_BTN_SIZE[l]));
$("#btnsizepartbox").trigger("create");
doAjax("POST","php/contenthandler.php?module=admin&command=setBtnSize",{btn:1,size:newSize},handleBtnSize,"Buttonsize");
binding();
});
$("#prodbtnsize").off('change').on('change', function(e) {
var newSize = $("#prodbtnsize").find(":selected").val();
$("#prodbtnpart").html(createBtnSizePart(newSize, "prodbtnsize", PREF_PROD_BTN_SIZE[l]));
$("#btnsizepartbox").trigger("create");
doAjax("POST","php/contenthandler.php?module=admin&command=setBtnSize",{btn:2,size:newSize},handleBtnSize,"Buttonsize");
binding();
});
$("#prefertmlabel").off('change').on('change', function(e) {
var newVal = $("#prefertmlabel").find(":selected").val();
$("#prefertmbtnpart").html(createPreferTMPart(newVal, "prefertmlabel", PREF_TM[l]));
$("#prefertmpartbox").trigger("create");
doAjax("POST","php/contenthandler.php?module=admin&command=setPreferTableMap",{prefertablemap:newVal},handleGeneralAnswer,"Buttonsize");
binding();
});
}
$(document).on("pageinit", "#pref-page", function () {
initializeMainMenu("#modulemenu");
hideMenu();
getGeneralConfigItems();
setCurrentUserIntoMask();
setVolume();
setButtonSizes();
setPreferTablemap();
binding();
});
</script>
<div data-role="page" id="pref-page">
<div data-role="panel" id="modulepanel" data-position="right" data-display="overlay" class="noprint">
<ul data-role="listview" id="modulemenu" data-divider-theme="a" data-inset="true">
<li data-role="list-divider" data-theme="b" data-role="heading">Module</li>
</ul>
</div><!-- /panel -->
<div data-role="header" data-theme="b" data-position="fixed" id="theheader" class="noprint">
<h1><span id=prefheader></span></span><span id="username"></span></h1>
<div data-type="horizontal" style="top:0px;position:absolute;float:right;z-index:10;display:inline;" align="right" class="ui-btn-right">
<a href="#" data-role="button" data-icon="arrow-d" data-ajax="false" id="menuswitch">Module</a>
</div>
</div>
<div data-role="content">
<div id="userpart" data-role="collapsible" data-collapsed="false" data-theme="e" data-content-theme="c" class="noprint">
<h3><span id=passwordgen>Passwort</span></h3>
<form>
<span id=oldpassword>Altes Passwort:</span><input type="password" name="oldpassword" id="oldpass"/><br />
<span id=newpassword>Neues Passwort:</span><input type="password" name="newpassword" id="newpass"/><br />
<div id="changepassbtnpart"></div>
</form>
</div> <!-- Benutzerpasswort -->
<div id="volume" data-role="collapsible" data-collapsed="false" data-theme="e" data-content-theme="c" class="noprint">
<h3><span id="ordertonetxt">Orderton</span></h3>
<label for="slidervolume"><span id="voltxt">Lautstärke:</span></label>
<input type="range" name="slidervolume" id="slidervolume" value="0" min="0" max="10" />
</div>
<div id="languagebox" data-role="collapsible" data-collapsed="false" data-theme="e" data-content-theme="c" class="noprint">
<h3><span id="languagetxt">Sprache</span></h3>
<div id="languagepart"></div>
</div>
<div id="receiptprinterpartbox" data-role="collapsible" data-collapsed="false" data-theme="e" data-content-theme="c" class="noprint">
<h3><span id="printertxt">Kassendrucker</span></h3>
<div id="receiptprinterpart"></div>
</div>
<div id="btnsizepartbox" data-role="collapsible" data-collapsed="false" data-theme="e" data-content-theme="c" class="noprint">
<h3><span id="btnsizetxt">Buttongrößen</span></h3>
<div id="roombtnpart"></div>
<div id="tablebtnpart"></div>
<div id="prodbtnpart"></div>
</div>
<div id="prefertmpartbox" data-role="collapsible" data-collapsed="false" data-theme="e" data-content-theme="c" class="noprint">
<h3><span id="prefertmtxt">Tischplan</span></h3>
<div id="prefertmbtnpart"></div>
</div>
</div>
<div data-role="footer" data-theme="b" id="thefooterr">
<div class="ui-grid-a">
<div class="ui-block-a userinfo" id="loggedinuser"></div>
<div class="ui-block-b grid_right" id="versioninfo"></div>
</div><!-- /grid-a -->
</div> <!-- footer -->
<div data-role="popup" id="passwordchangedpopup" name="passwordchangedpopup" data-overlay-theme="a" style="max-width:70%;" class="ui-corner-all">
<div data-role="header" class="ui-corner-top">
<h1>Passwordänderung</h1>
</div>
<a href="#" data-rel="back" data-role="button" data-theme="a" data-icon="delete" data-iconpos="notext" class="ui-btn-right"></a>
<div data-role="content" class="ui-corner-bottom ui-content">
<p><span id="PASSWORD_CHANGED">Das Passwort wurde geändert.</span></p>
</div>
</div> <!-- popup for changed password -->
<div data-role="popup" id="passwordnotchangedpopup" name="passwordnotchangedpopup" data-overlay-theme="a" style="max-width:70%;" class="ui-corner-all">
<div data-role="header" class="ui-corner-top">
<h1>Passwortänderung</h1>
</div>
<a href="#" data-rel="back" data-role="button" data-theme="a" data-icon="delete" data-iconpos="notext" class="ui-btn-right"></a>
<div data-role="content" class="ui-corner-bottom ui-content">
<p><span id="OLDPASSW_WRONG">Das Passwort konnte nicht geändert werden. Bitte prüfen Sie, ob das alte Passwort korrekt eingegeben wurde.</span></p>
</div>
</div> <!-- popup for failed password change -->
</div>
</body>
</html>