summaryrefslogtreecommitdiffstats
path: root/modules-available
diff options
context:
space:
mode:
authorChristian Hofmaier2019-03-26 17:18:35 +0100
committerChristian Hofmaier2019-03-26 17:18:35 +0100
commit609b257e89aecf4c382146ffa2cb4f8eb1e8d168 (patch)
treee7b6fa42f0535d352a49796614ac87bd9989f3a2 /modules-available
parent[serversetup-bwlp-ipxe] Fix: Menu titles won't be used as default (diff)
downloadslx-admin-609b257e89aecf4c382146ffa2cb4f8eb1e8d168.tar.gz
slx-admin-609b257e89aecf4c382146ffa2cb4f8eb1e8d168.tar.xz
slx-admin-609b257e89aecf4c382146ffa2cb4f8eb1e8d168.zip
[locationinfo] UI rework
- add Icons to Buttons - override config for specific room - change roomplanner switch with dropdown menu - new texts for roomplanner dropdown - when roomplanner is empty show empty green box instead of red 0
Diffstat (limited to 'modules-available')
-rw-r--r--modules-available/locationinfo/lang/de/template-tags.json7
-rw-r--r--modules-available/locationinfo/lang/en/template-tags.json7
-rw-r--r--modules-available/locationinfo/page.inc.php24
-rwxr-xr-xmodules-available/locationinfo/templates/frontend-default.html33
-rw-r--r--modules-available/locationinfo/templates/page-config-panel-default.html155
-rw-r--r--modules-available/locationinfo/templates/page-config-panel-summary.html10
-rw-r--r--modules-available/locationinfo/templates/page-config-panel-url.html5
7 files changed, 211 insertions, 30 deletions
diff --git a/modules-available/locationinfo/lang/de/template-tags.json b/modules-available/locationinfo/lang/de/template-tags.json
index 92281537..39678de1 100644
--- a/modules-available/locationinfo/lang/de/template-tags.json
+++ b/modules-available/locationinfo/lang/de/template-tags.json
@@ -9,6 +9,9 @@
"lang_checkConnection": "Verbindung pr\u00fcfen",
"lang_closed": "Geschlossen",
"lang_closingTime": "Schlie\u00dfungszeit",
+ "lang_configOverride": "Konfiguration überschreiben",
+ "lang_countIp": "über IP-Adressbereich",
+ "lang_countRoomplan": "über Raumplaner",
"lang_createPanel": "Panel anlegen",
"lang_credentials": "Anmeldung",
"lang_day": "Tag",
@@ -79,7 +82,7 @@
"lang_room": "Raum",
"lang_roomId": "Raum ID",
"lang_roomIdTooltip": "Die Raum ID, die der Server ben\u00f6tigt, um Kalenderdaten abzurufen (bei Exchange die Postfachadresse)",
- "lang_roomplannerTooltip": "Nur PCs ber\u00fccksichtigen, die im Raumplaner gesetzt wurden",
+ "lang_roomplannerTooltip": "Legt fest, ob Rechner anhand der Zuordnung über IP oder über den Raumplan gezählt werden",
"lang_roomupdateTooltip": "Zeit nach der die PCs aktualisiert werden (in Sekunden)",
"lang_rotation": "Rotation",
"lang_rotation0": "0\u00b0",
@@ -127,7 +130,7 @@
"lang_urlPanel": "URL-Panel",
"lang_urlTooltip": "URL die aufgerufen wird",
"lang_urlWhitelist": "Whitelist",
- "lang_useRoomplanner": "Raumplaner benutzen",
+ "lang_useRoomplanner": "Rechner zählen",
"lang_vertical": "Vertikaler Modus",
"lang_verticalTooltip": "Legt fest, ob Kalender und Raum \u00fcbereinander angezeigt werden sollen",
"lang_when": "Wann"
diff --git a/modules-available/locationinfo/lang/en/template-tags.json b/modules-available/locationinfo/lang/en/template-tags.json
index d44d27ee..a9adaacc 100644
--- a/modules-available/locationinfo/lang/en/template-tags.json
+++ b/modules-available/locationinfo/lang/en/template-tags.json
@@ -9,6 +9,9 @@
"lang_checkConnection": "Check connection",
"lang_closed": "Closed",
"lang_closingTime": "Closing time",
+ "lang_configOverride": "Configuration override",
+ "lang_countIp": "by IP-Range",
+ "lang_countRoomplan": "by Roomplanner",
"lang_createPanel": "Create panel",
"lang_credentials": "Login",
"lang_day": "Day",
@@ -79,7 +82,7 @@
"lang_room": "Room",
"lang_roomId": "Room ID",
"lang_roomIdTooltip": "The ID of the room the server needs, for querying the calendar data (when using exchange the room mailbox)",
- "lang_roomplannerTooltip": "Only consider PCs which were set in the roomplanner",
+ "lang_roomplannerTooltip": "Determine if PCs are counted on the basis of IP-range or by roomplanner",
"lang_roomupdateTooltip": "Time the PCs in the room gets updated (in seconds)",
"lang_rotation": "Rotation",
"lang_rotation0": "0\u00b0",
@@ -127,7 +130,7 @@
"lang_urlPanel": "URL panel",
"lang_urlTooltip": "URL which is shown by the panel",
"lang_urlWhitelist": "Whitelist",
- "lang_useRoomplanner": "Use roomplans",
+ "lang_useRoomplanner": "Count PCs",
"lang_vertical": "Vertical mode",
"lang_verticalTooltip": "Defines whether the room and calendar are shown above each other",
"lang_when": "When"
diff --git a/modules-available/locationinfo/page.inc.php b/modules-available/locationinfo/page.inc.php
index d1644ce1..5292c40e 100644
--- a/modules-available/locationinfo/page.inc.php
+++ b/modules-available/locationinfo/page.inc.php
@@ -386,6 +386,25 @@ class Page_LocationInfo extends Page
if ($conf['calupdate'] < 30) {
$conf['calupdate'] = 30;
}
+
+ $overrides = array();
+ for ($i = 0; $i < sizeof($locationids); $i++) {
+ $overrideLoc = Request::post('override'.$locationids[$i], false, 'bool');
+ if ($overrideLoc) {
+ $overrideArray = array(
+ 'mode' => Request::post('override'.$locationids[$i].'mode', 1, 'int'),
+ 'roomplanner' => Request::post('override'.$locationids[$i].'roomplanner', false, 'bool'),
+ 'vertical' => Request::post('override'.$locationids[$i].'vertical', false, 'bool'),
+ 'scaledaysauto' => Request::post('override'.$locationids[$i].'scaledaysauto', false, 'bool'),
+ 'daystoshow' => Request::post('override'.$locationids[$i].'daystoshow', 7, 'int'),
+ 'rotation' => Request::post('override'.$locationids[$i].'rotation', 0, 'int'),
+ 'scale' => Request::post('override'.$locationids[$i].'scale', 50, 'int')
+ );
+ $overrides[$locationids[$i]] = $overrideArray;
+ }
+ }
+ $conf['overrides'] = $overrides;
+
return array('config' => $conf, 'locationids' => $locationids);
}
@@ -975,7 +994,7 @@ class Page_LocationInfo extends Page
'vertical_checked' => $config['vertical'] ? 'checked' : '',
'eco_checked' => $config['eco'] ? 'checked' : '',
'prettytime_checked' => $config['prettytime'] ? 'checked' : '',
- 'roomplanner_checked' => $config['roomplanner'] ? 'checked' : '',
+ 'roomplanner' => $config['roomplanner'],
'scaledaysauto_checked' => $config['scaledaysauto'] ? 'checked' : '',
'daystoshow' => $config['daystoshow'],
'rotation' => $config['rotation'],
@@ -985,6 +1004,7 @@ class Page_LocationInfo extends Page
'roomupdate' => $config['roomupdate'],
'locations' => Location::getLocations(),
'locationids' => $panel['locationids'],
+ 'overrides' => json_encode($config['overrides']),
));
} elseif ($panel['paneltype'] === 'URL') {
Render::addTemplate('page-config-panel-url', array(
@@ -1004,7 +1024,7 @@ class Page_LocationInfo extends Page
'panelname' => $panel['panelname'],
'languages' => $langs,
'panelupdate' => $config['panelupdate'],
- 'roomplanner_checked' => $config['roomplanner'] ? 'checked' : '',
+ 'roomplanner' => $config['roomplanner'],
'locations' => Location::getLocations(),
'locationids' => $panel['locationids'],
'eco_checked' => $config['eco'] ? 'checked' : '',
diff --git a/modules-available/locationinfo/templates/frontend-default.html b/modules-available/locationinfo/templates/frontend-default.html
index d4e8109a..7cd52094 100755
--- a/modules-available/locationinfo/templates/frontend-default.html
+++ b/modules-available/locationinfo/templates/frontend-default.html
@@ -592,7 +592,6 @@ optional:
room.$.header = $header;
$loc.append($header);
$header.append('<div class="clearfix">');
-
if (room.name !== null) {
room.$.locationName.text(room.name);
}
@@ -606,6 +605,15 @@ optional:
if (room.config.mode === 4) {
hasMode4 = true;
}
+ // Manually initialize mode 2, as initRoomLayout isn't called for this mode
+ if (room.config.mode === 2) {
+ var date = MyDate();
+ var now = date.getTime();
+ queryCalendars();
+ queryRooms();
+ lastCalendarUpdate = now;
+ lastRoomUpdate = now;
+ }
SetOpeningTimes(room);
UpdateRoomHeader(room);
@@ -620,15 +628,6 @@ optional:
generateProgressBar();
}
- // Manually initialize mode 2, as initRoomLayout isn't called for this mode
- if (room.config.mode === 2) {
- var date = MyDate();
- var now = date.getTime();
- queryCalendars();
- queryRooms();
- lastCalendarUpdate = now;
- lastRoomUpdate = now;
- }
mainUpdateLoop();
setInterval(mainUpdateLoop, 10000);
setInterval(updateHeaders, globalConfig.eco ? 10000 : 1000);
@@ -1150,10 +1149,11 @@ optional:
* @param room Room
*/
function SetFreeSeats(room) {
- // if room has no allowed value, set text in the box to -
if (!room.numPcs) {
+ // If room has no PCs, empty the counter-box
room.$.seatsCounter.text('\u00A0');
} else if (!room.state.free) {
+ // If room has ongoing event, box text is "-"
room.$.seatsCounter.text('\u2013');
} else {
room.$.seatsCounter.text(room.freePcs);
@@ -1525,14 +1525,19 @@ optional:
return;
}
var freePcs = 0;
+ var numPcs = 0;
for (var i = 0; i < update.length; i++) {
var $div = $("#pc_" + room.id + "_" + update[i].id);
// Pc free
if (room.config.roomplanner === true) {
- if ((update[i].pcState === "IDLE" || update[i].pcState === "OFFLINE" || update[i].pcState === "STANDBY") && !isNaN(update[i].x) && !isNaN(update[i].y)) {
- freePcs++;
+ if (!isNaN(update[i].x) && !isNaN(update[i].y)) {
+ numPcs++;
+ if ((update[i].pcState === "IDLE" || update[i].pcState === "OFFLINE" || update[i].pcState === "STANDBY")) {
+ freePcs++;
+ }
}
} else {
+ numPcs++;
if ((update[i].pcState === "IDLE" || update[i].pcState === "OFFLINE" || update[i].pcState === "STANDBY")) {
freePcs++;
}
@@ -1541,7 +1546,7 @@ optional:
$div.removeClass('BROKEN OFFLINE IDLE OCCUPIED STANDBY'.replace(update[i].pcState, '')).addClass(update[i].pcState);
}
room.freePcs = freePcs;
- room.numPcs = update.length;
+ room.numPcs = numPcs;
UpdateRoomHeader(room);
}
diff --git a/modules-available/locationinfo/templates/page-config-panel-default.html b/modules-available/locationinfo/templates/page-config-panel-default.html
index 116c2e11..9470efbb 100644
--- a/modules-available/locationinfo/templates/page-config-panel-default.html
+++ b/modules-available/locationinfo/templates/page-config-panel-default.html
@@ -91,7 +91,7 @@
</div>
</div>
</div>
-
+
<div class="list-group-item">
<div class="row">
<div class="col-sm-3">
@@ -114,7 +114,10 @@
<label for="input-roomplanner">{{lang_useRoomplanner}}</label>
</div>
<div class="col-sm-7">
- <input id="input-roomplanner" type="checkbox" name="roomplanner" {{roomplanner_checked}}>
+ <select class="form-control" name="roomplanner" id="input-roomplanner">
+ <option value="0" id="roomplanner0">{{lang_countIp}}</option>
+ <option value="1" id="roomplanner1">{{lang_countRoomplan}}</option>
+ </select>
</div>
<div class="col-sm-2">
<p class="btn btn-static helptext" title="{{lang_roomplannerTooltip}}">
@@ -322,12 +325,22 @@
</div>
</div>
</div>
+ </div>
+
+ <div class="row" id="overrideRoomConfigs">
</div>
+
</div>
+
+
+
<div class="text-right">
<a href="?do=locationinfo&amp;show=panels" class="btn btn-default">{{lang_cancel}}</a>
- <button type="submit" class="btn btn-primary">{{lang_save}}</button>
+ <button type="submit" class="btn btn-primary">
+ <span class="glyphicon glyphicon-floppy-disk"></span>
+ {{lang_save}}
+ </button>
</div>
</form>
@@ -355,11 +368,14 @@ document.addEventListener("DOMContentLoaded", function () {
var $locList = $('#location-list');
var $locInput = $('#locationids');
var $addLocDbBtn = $('#addLocDdBtn');
+ var $owPanels = $('#overrideRoomConfigs');
+ var overrides = {{{overrides}}}
// Initialize fancy tooltips
$('p.helptext').tooltip();
// Add listener to range sliders so their label can be updated
- $('input[type="range"]').change(function () {
+ var $range = $('input[type="range"]');
+ $range.change(function () {
$(this).siblings().find('.range-display').text($(this).val());
});
// Set state of input controls that aren't statically initialized server side
@@ -371,6 +387,7 @@ document.addEventListener("DOMContentLoaded", function () {
}
});
+
var lids = $locInput.val().split(',');
$selLocs.empty();
for (var i = 0; i < lids.length; ++i) {
@@ -382,10 +399,11 @@ document.addEventListener("DOMContentLoaded", function () {
$('#daystoshow option[value="{{daystoshow}}"]').attr("selected", "selected");
$('#rotation option[value="{{rotation}}"]').attr("selected", "selected");
$('#mode option[value="{{mode}}"]').attr("selected", "selected");
+ $('#input-roomplanner option[value="{{roomplanner}}"]').attr("selected", "selected");
$('#daystoshow').prop('disabled', document.getElementById('scaledaysauto').checked);
- $('input[type="range"]').change();
+ $range.change();
modeChange();
// Adding/removing locations
@@ -400,8 +418,9 @@ document.addEventListener("DOMContentLoaded", function () {
});
$('#config-form').submit(function(ev) {
- if ($locInput.val().length > 0)
+ if ($locInput.val().length > 0) {
return;
+ }
ev.preventDefault();
$('#no-locations-message').modal('show');
});
@@ -418,9 +437,124 @@ document.addEventListener("DOMContentLoaded", function () {
$addLocBtnParent.removeClass('open');
}
}
+
+ // Add Panel for overwriting room specific config
+ $owPanels.find('#overrideRoom' + id).remove();
+ $owPanels.append('<div class="col-md-6" id="overrideRoom' + id + '">' +
+ '<div class="panel panel-default">' +
+ '<div class="panel-heading clearfix">' +
+ name + ' {{lang_configOverride}}' +
+ '<div class="checkbox-inline pull-right">' +
+ '<input type="checkbox" id="override' + id + '" name="override' + id + '"/>' +
+ '</div></div><div class="panel-body"></div></div></div>');
+
+
+ // Load content into panel
+ var overrideSelect = $('#override' + id);
+ overrideSelect
+ .bootstrapSwitch({size: 'small'})
+ .on('switchChange.bootstrapSwitch', function () {
+ if (this.checked) {
+ loadOverrideContent(id);
+ } else {
+ unloadOverrideContent(id);
+ }
+ });
+
+ if (overrides !== null && overrides[id] !== undefined) {
+ overrideSelect.bootstrapSwitch('state', true);
+ }
+ }
+
+ function loadOverrideContent(id) {
+ // 1. Build Content
+ // $content.append($('<div class="list-group-item"><div class="row"><div class="col-sm-3"></div><div class="col-sm-7"></div><div class="col-sm-2"></div></div></div>'));
+ var $content = $('<div class="list-group"></div>');
+ $content.append($('<div class="list-group-item"><div class="row">' +
+ '<div class="col-sm-3"><label for="override' + id + 'mode">{{lang_mode}}</label></div>' +
+ '<div class="col-sm-7"><select class="form-control" id="override' + id + 'mode" name="override' + id + 'mode" onchange="modeChangeOverride(id)"><option value="1" id="override' + id + 'mode1">{{lang_mode1}}</option><option value="2" id="override' + id + 'mode2">{{lang_mode2}}</option><option value="3" id="override' + id + 'mode3">{{lang_mode3}}</option><option value="4" id="override' + id + 'mode4">{{lang_mode4}}</option></select></div>' +
+ '<div class="col-sm-2"><p class="btn btn-static helptext" title="{{lang_modeTooltip}}"><span class="glyphicon glyphicon-question-sign"></span></p></div>' +
+ '</div></div>'));
+ $content.append($('<div class="list-group-item"><div class="row">' +
+ '<div class="col-sm-3"><label for="override' + id + 'roomplanner">{{lang_useRoomplanner}}</label></div>' +
+ '<div class="col-sm-7"><select class="form-control" name ="override' + id + 'roomplanner" id="override' + id + 'roomplanner"><option value="0" id="override' + id + 'roomplanner0">{{lang_countIp}}</option><option value="1" id="override' + id + 'roomplanner1">{{lang_countRoomplan}}</option></select></div>' +
+ '<div class="col-sm-2"><p class="btn btn-static helptext" title="{{lang_roomplannerTooltip}}"><span class="glyphicon glyphicon-question-sign"></span></p></div>' +
+ '</div></div>'));
+ $content.append($('<div class="list-group-item om1-s om2-h om3-h om4-h"><div class="row">' +
+ '<div class="col-sm-3"><label for="override' + id + 'vertical">{{lang_vertical}}</label></div>' +
+ '<div class="col-sm-7"><input id="override' + id + 'vertical" name="override' + id + 'vertical" type="checkbox"></div>' +
+ '<div class="col-sm-2"><p class="btn btn-static helptext" title="{{lang_verticalTooltip}}"><span class="glyphicon glyphicon-question-sign"></span></p></div>' +
+ '</div></div>'));
+ $content.append($('<div class="list-group-item om1-s om2-s om3-h om4-s"><div class="row">' +
+ '<div class="col-sm-3"><label for="override' + id + 'scaledaysauto">{{lang_autoScale}}</label></div>' +
+ '<div class="col-sm-7"><input id="override' + id + 'scaledaysauto" name="override' + id + 'scaledaysauto" type="checkbox"></div>' +
+ '<div class="col-sm-2"><p class="btn btn-static helptext" title="{{lang_autoscaleTooltip}}"><span class="glyphicon glyphicon-question-sign"></span></p></div>' +
+ '</div></div>'));
+ $content.append($('<div class="list-group-item om1-s om2-s om3-h om4-s"><div class="row">' +
+ '<div class="col-sm-3"><label for="override' + id + 'daystoshow">{{lang_daysToShow}}</label></div>' +
+ '<div class="col-sm-7"><select class="form-control" id="override' + id + 'daystoshow" name="override' + id + 'daystoshow"><option value="1">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option><option value="6">6</option><option value="7">7</option></select></div>' +
+ '<div class="col-sm-2"><p class="btn btn-static helptext" title="{{lang_daysToShowTooltip}}"><span class="glyphicon glyphicon-question-sign"></span></p></div>' +
+ '</div></div>'));
+ $content.append($('<div class="list-group-item om1-s om2-h om3-s om4-s"><div class="row">' +
+ '<div class="col-sm-3"><label for="override' + id + 'rotation">{{lang_rotation}}</label></div>' +
+ '<div class="col-sm-7"><select class="form-control" id="override' + id + 'rotation" name="override' + id + 'rotation"><option value="0">{{lang_rotation0}}</option><option value="1">{{lang_rotation1}}</option><option value="2">{{lang_rotation2}}</option><option value="3">{{lang_rotation3}}</option></select></div>' +
+ '<div class="col-sm-2"><p class="btn btn-static helptext" title="{{lang_rotationTooltip}}"><span class="glyphicon glyphicon-question-sign"></span></p></div>' +
+ '</div></div>'));
+ $content.append($('<div class="list-group-item om1-s om2-h om3-h om4-h"><div class="row">' +
+ '<div class="col-sm-3"><label for="override' + id + 'scale">{{lang_scale}}</label></div>' +
+ '<div class="col-sm-7"><span><span class="range-display"></span> %</span><input id="override' + id + 'scale" name="override' + id + 'scale" type="range" step="1" min="10" max="90"></div>' +
+ '<div class="col-sm-2"><p class="btn btn-static helptext" title="{{lang_scaleTooltip}}"><span class="glyphicon glyphicon-question-sign"></span></p></div>' +
+ '</div></div>'));
+
+ // 2. Load Content into Panel
+ var $panelBody = $('#overrideRoom' + id).find('div.panel-body');
+ $panelBody.append($content);
+
+ $('.modify-inputs #overrideRoom' + id + ' input[type="checkbox"]')
+ .bootstrapSwitch({size: 'small'})
+ .on('switchChange.bootstrapSwitch', function () {
+ if (this.id === 'override' + id + 'scaledaysauto') {
+ $('#override' + id + 'daystoshow').prop('disabled', this.checked);
+ }
+ });
+
+ // 3. Init parameters: Given parameters or global parameters if none given
+ var scale = $('#override' + id + 'scale');
+ if (overrides !== null && overrides[id] !== undefined) {
+ $('#override' + id + 'mode').val(overrides[id].mode);
+ $('#override' + id + 'roomplanner').val(overrides[id].roomplanner);
+ if (overrides[id].vertical) $('#override' + id + 'vertical').bootstrapSwitch('state', true);
+ if (overrides[id].scaledaysauto) $('#override' + id + 'scaledaysauto').bootstrapSwitch('state', true);
+ $('#override' + id + 'daystoshow').val(overrides[id].daystoshow);
+ $('#override' + id + 'rotation').val(overrides[id].rotation);
+ scale.val(overrides[id].scale);
+ } else {
+ $('#override' + id + 'mode').val($('#mode').val());
+ $('#override' + id + 'roomplanner').val($('#input-roomplanner').val());
+ if ($('#input-vertical').bootstrapSwitch('state')) $('#override' + id + 'vertical').bootstrapSwitch('state', true);
+ if ($('#scaledaysauto').bootstrapSwitch('state')) $('#override' + id + 'scaledaysauto').bootstrapSwitch('state', true);
+ $('#override' + id + 'daystoshow').val($('#daystoshow').val());
+ $('#override' + id + 'rotation').val($('#rotation').val());
+ scale.val($('#input-scale').val());
+ }
+
+ scale.change(function () {
+ $(this).siblings().find('.range-display').text($(this).val());
+ });
+
+ scale.change();
+ modeChangeOverride('override' + id + 'mode');
+ }
+
+ function unloadOverrideContent(id) {
+ var $panelBody = $('#overrideRoom' + id).find('div.panel-body');
+ $panelBody.find('div.list-group').remove();
+ delete overrides[id]
}
function delParent() {
+ var $id = $(this).parent().attr("data-lid");;
+ $('#overrideRoom' + $id).remove();
$(this).parent().remove();
serializeLocs();
if ($selLocs.find('li').length < 4) {
@@ -434,7 +568,6 @@ document.addEventListener("DOMContentLoaded", function () {
}).get().join(',');
$locInput.val(res);
}
-
});
/**
@@ -446,4 +579,12 @@ function modeChange() {
$('.m' + value + '-s').show();
}
+function modeChangeOverride(id) {
+ id = id.replace('override', '');
+ id = id.replace('mode', '');
+ var value = $('#override' + id + 'mode').val();
+ $('#overrideRoom' + id + ' .om' + value + '-h').hide();
+ $('#overrideRoom' + id + ' .om' + value + '-s').show();
+}
+
//--></script>
diff --git a/modules-available/locationinfo/templates/page-config-panel-summary.html b/modules-available/locationinfo/templates/page-config-panel-summary.html
index 5ddcc904..2dc556ce 100644
--- a/modules-available/locationinfo/templates/page-config-panel-summary.html
+++ b/modules-available/locationinfo/templates/page-config-panel-summary.html
@@ -77,7 +77,10 @@
<label for="input-roomplanner">{{lang_useRoomplanner}}</label>
</div>
<div class="col-sm-7">
- <input id="input-roomplanner" type="checkbox" name="roomplanner" {{roomplanner_checked}}>
+ <select class="form-control" name="roomplanner" id="input-roomplanner">
+ <option value="0" id="roomplanner0">{{lang_countIp}}</option>
+ <option value="1" id="roomplanner1">{{lang_countRoomplan}}</option>
+ </select>
</div>
<div class="col-sm-2">
<p class="btn btn-static helptext" title="{{lang_roomplannerTooltip}}">
@@ -168,7 +171,10 @@
</div>
<div class="text-right">
<a href="?do=locationinfo&amp;show=panels" class="btn btn-default">{{lang_cancel}}</a>
- <button type="submit" class="btn btn-primary">{{lang_save}}</button>
+ <button type="submit" class="btn btn-primary">
+ <span class="glyphicon glyphicon-floppy-disk"></span>
+ {{lang_save}}
+ </button>
</div>
</form>
diff --git a/modules-available/locationinfo/templates/page-config-panel-url.html b/modules-available/locationinfo/templates/page-config-panel-url.html
index dbf50fb6..57b518ce 100644
--- a/modules-available/locationinfo/templates/page-config-panel-url.html
+++ b/modules-available/locationinfo/templates/page-config-panel-url.html
@@ -113,7 +113,10 @@
</div>
<div class="text-right">
<a href="?do=locationinfo&amp;show=panels" class="btn btn-default">{{lang_cancel}}</a>
- <button type="submit" class="btn btn-primary">{{lang_save}}</button>
+ <button type="submit" class="btn btn-primary">
+ <span class="glyphicon glyphicon-floppy-disk"></span>
+ {{lang_save}}
+ </button>
</div>
</form>