summaryrefslogtreecommitdiffstats
path: root/modules-available/locationinfo/templates
diff options
context:
space:
mode:
authorSimon Rettberg2017-06-10 16:15:22 +0200
committerSimon Rettberg2017-06-10 16:15:22 +0200
commita0b42aa257d0a6c56cd4a099aa0a2cea4a8dc2c9 (patch)
tree3e1655c828e0cb6f069b8c17ddf260237e0f4ce2 /modules-available/locationinfo/templates
parent[inc/Util] Add randomUuid() function (diff)
downloadslx-admin-a0b42aa257d0a6c56cd4a099aa0a2cea4a8dc2c9.tar.gz
slx-admin-a0b42aa257d0a6c56cd4a099aa0a2cea4a8dc2c9.tar.xz
slx-admin-a0b42aa257d0a6c56cd4a099aa0a2cea4a8dc2c9.zip
[locationinfo] Started rewrite for panel-based approach
Diffstat (limited to 'modules-available/locationinfo/templates')
-rw-r--r--modules-available/locationinfo/templates/ajax-config-location.html178
-rw-r--r--modules-available/locationinfo/templates/ajax-config-server.html (renamed from modules-available/locationinfo/templates/server-settings.html)0
-rw-r--r--modules-available/locationinfo/templates/location-info.html219
-rw-r--r--modules-available/locationinfo/templates/page-config-panel.html (renamed from modules-available/locationinfo/templates/config.html)46
-rw-r--r--modules-available/locationinfo/templates/page-locations.html98
-rw-r--r--modules-available/locationinfo/templates/page-servers.html113
-rw-r--r--modules-available/locationinfo/templates/timetable.html216
7 files changed, 389 insertions, 481 deletions
diff --git a/modules-available/locationinfo/templates/ajax-config-location.html b/modules-available/locationinfo/templates/ajax-config-location.html
new file mode 100644
index 00000000..2cbad89d
--- /dev/null
+++ b/modules-available/locationinfo/templates/ajax-config-location.html
@@ -0,0 +1,178 @@
+<input type="hidden" name="locationid" value="{{id}}">
+<div id="settings-outer">
+ <h3>{{lang_openingTime}}</h3>
+ {{^expertMode}}
+ <div id="simple-mode">
+
+ <div align="right">
+ <a href="#" class="btn btn-default btn-sm" id="btn-show-expert">{{lang_expertMode}}</a>
+ </div>
+ <div class="clearfix"></div>
+
+ <table class="table table-condensed" style="margin-bottom:0">
+ <tr>
+ <th>{{lang_day}}</th>
+ <th>{{lang_openingTime}}</th>
+ <th>{{lang_closingTime}}</th>
+ </tr>
+
+ <tr class="tablerow">
+ <td>{{lang_monTilFr}}</td>
+ <td>
+ <div class="input-group bootstrap-timepicker">
+ <span class="input-group-addon">
+ <span class="glyphicon glyphicon-time"></span>
+ </span>
+ <input type="text" class="form-control timepicker2" id="week-open" pattern="[0-9]{1,2}:[0-9]{2}">
+ </div>
+ </td>
+ <td>
+ <div class="input-group bootstrap-timepicker">
+ <span class="input-group-addon">
+ <span class="glyphicon glyphicon-time"></span>
+ </span>
+ <input type="text" class="form-control timepicker2" id="week-close" pattern="[0-9]{1,2}:[0-9]{2}">
+ </div>
+ </td>
+ </tr>
+ <tr class="tablerow">
+ <td>{{lang_saturday}}</td>
+ <td>
+ <div class="input-group bootstrap-timepicker">
+ <span class="input-group-addon">
+ <span class="glyphicon glyphicon-time"></span>
+ </span>
+ <input type="text" class="form-control timepicker2" id="saturday-open" pattern="[0-9]{1,2}:[0-9]{2}">
+ </div>
+ </td>
+ <td>
+ <div class="input-group bootstrap-timepicker">
+ <span class="input-group-addon">
+ <span class="glyphicon glyphicon-time"></span>
+ </span>
+ <input type="text" class="form-control timepicker2" id="saturday-close" pattern="[0-9]{1,2}:[0-9]{2}">
+ </div>
+ </td>
+ </tr>
+ <tr class="tablerow">
+ <td>{{lang_sunday}}</td>
+ <td>
+ <div class="input-group bootstrap-timepicker">
+ <span class="input-group-addon">
+ <span class="glyphicon glyphicon-time"></span>
+ </span>
+ <input type="text" class="form-control timepicker2" id="sunday-open" pattern="[0-9]{1,2}:[0-9]{2}">
+ </div>
+ </td>
+ <td>
+ <div class="input-group bootstrap-timepicker">
+ <span class="input-group-addon">
+ <span class="glyphicon glyphicon-time"></span>
+ </span>
+ <input type="text" class="form-control timepicker2" id="sunday-close" pattern="[0-9]{1,2}:[0-9]{2}">
+ </div>
+ </td>
+ </tr>
+ </table>
+ </div>
+ {{/expertMode}}
+
+ <div id="expert-mode" style="{{^expertMode}}display:none{{/expertMode}}">
+ <div class="pull-right">
+ <a class="btn btn-success btn-sm" id="new-openingtime">
+ <span class="glyphicon glyphicon-plus-sign"></span>
+ {{lang_openingTime}}
+ </a>
+ </div>
+ <div class="clearfix"></div>
+ <div id="expert-table">
+ <div class="row">
+ <div class="col-xs-9">{{lang_day}}</div>
+ <div class="col-xs-3 text-right">{{lang_delete}}</div>
+ <div class="col-sm-6">{{lang_openingTime}}</div>
+ <div class="col-sm-6">{{lang_closingTime}}</div>
+ </div>
+ </div>
+ </div>
+</div>
+
+<h3>{{lang_remoteSchedule}}</h3>
+<div class="row">
+ <div class="col-sm-3">
+ {{lang_server}}
+ </div>
+ <div class="col-sm-7">
+ <select class="form-control" name="serverid">
+ <option value="0">{{lang_noServer}}</option>
+ {{#serverlist}}
+ <option value="{{serverid}}" {{selected}}>{{servername}}</option>
+ {{/serverlist}}
+ </select>
+ </div>
+ <div class="col-sm-2">
+ <a class="btn btn-default helptext" title="{{lang_serverTooltip}}">
+ <span class="glyphicon glyphicon-question-sign"></span>
+ </a>
+ </div>
+</div>
+<div class="row">
+ <div class="col-sm-3">
+ {{lang_roomId}}
+ </div>
+ <div class="col-sm-7">
+ <input class="form-control" name="serverlocationid" id="serverlocationid" value="{{serverlocationid}}">
+ </div>
+ <div class="col-sm-2">
+ <a class="btn btn-default helptext" title="{{lang_roomIdTooltip}}">
+ <span class="glyphicon glyphicon-question-sign"></span>
+ </a>
+ </div>
+</div>
+
+<script type="application/javascript"><!--
+ (function() {
+
+ var scheduleData = {{{schedule_data}}};
+
+ {{#expertMode}}
+ for (var i = 0; i < scheduleData.length; ++i) {
+ newOpeningTime(scheduleData[i]);
+ }
+ {{/expertMode}}
+ {{^expertMode}}
+ for (var i = 0; i < scheduleData.length; ++i) {
+ if (scheduleData[i].days.length === 5) {
+ $('#week-open').val(scheduleData[i]['openingtime']);
+ $('#week-close').val(scheduleData[i]['closingtime']);
+ } else if (scheduleData[i].days.length === 1 && scheduleData[i].days[0] === 'Saturday') {
+ $('#saturday-open').val(scheduleData[i]['openingtime']);
+ $('#saturday-close').val(scheduleData[i]['closingtime']);
+ } else if (scheduleData[i].days.length === 1 && scheduleData[i].days[0] === 'Sunday') {
+ $('#sunday-open').val(scheduleData[i]['openingtime']);
+ $('#sunday-close').val(scheduleData[i]['closingtime']);
+ }
+ }
+ {{/expertMode}}
+
+ setTimepicker($('#settings-outer').find('.timepicker2'));
+
+ $('a.helptext').tooltip();
+
+ $('#new-openingtime').click(function (e) {
+ e.preventDefault();
+ setTimepicker(newOpeningTime({}).find('.timepicker2'));
+ })
+
+ $('#btn-show-expert').click(function (e) {
+ e.preventDefault();
+ scheduleData = simpleToExpert();
+ for (var i = 0; i < scheduleData.length; ++i) {
+ setTimepicker(newOpeningTime(scheduleData[i]).find('.timepicker2'));
+ }
+ $('#simple-mode').remove();
+ $('#expert-mode').show();
+ });
+
+ })();
+
+//--></script>
diff --git a/modules-available/locationinfo/templates/server-settings.html b/modules-available/locationinfo/templates/ajax-config-server.html
index 940bc55a..940bc55a 100644
--- a/modules-available/locationinfo/templates/server-settings.html
+++ b/modules-available/locationinfo/templates/ajax-config-server.html
diff --git a/modules-available/locationinfo/templates/location-info.html b/modules-available/locationinfo/templates/location-info.html
deleted file mode 100644
index e2ee2960..00000000
--- a/modules-available/locationinfo/templates/location-info.html
+++ /dev/null
@@ -1,219 +0,0 @@
-<div>
- <h1>{{lang_mainHeader}}</h1>
-
- <h4>{{lang_serverTable}}</h4>
-
- <table class="table table-hover">
- <tr>
- <th width="1">{{lang_serverType}}</th>
- <th>{{lang_locationName}}</th>
- <th width="1"></th>
- <th width="1"></th>
- </tr>
- {{#serverlist}}
- <form method="post" action="?do=locationinfo">
- <input type="hidden" name="token" value="{{token}}">
- <input type="hidden" name="serverid" value="{{serverid}}">
- <tr>
- <td nowrap>{{typename}}</td>
- <td nowrap>{{servername}}</td>
-
- <td align="center" nowrap>
- <button class="btn btn-sm {{^autherror}}btn-success{{/autherror}}{{#autherror}}btn-danger{{/autherror}}"
- data-server-edit="{{serverid}}" {{disabled}} type="button">
- <span style="margin-right: 5px;" class="glyphicon glyphicon-cog"></span>
- {{lang_locationSettings}}
- </button>
- <button class="btn btn-sm btn-primary server-check" {{disabled}} name="action" value="checkConnection"
- type="submit">
- <span style="margin-right: 5px;" class="glyphicon glyphicon-refresh"></span>
- {{lang_checkConnection}}
- </button>
- </td>
- <td align="center" nowrap>
- <button class="btn btn-sm btn-danger server-delete" type="submit" name="action" value="deleteServer">
- <span style="margin-right: 5px;" class="glyphicon glyphicon-remove"></span>
- {{lang_delete}}
- </button>
- </td>
- </tr>
- </form>
- {{/serverlist}}
- </table>
-
- <div>
- <button class="btn btn-sm btn-success" id="addServerButton" onclick="addServer()">
- <span style="margin-right: 5px;" class="glyphicon glyphicon-plus"></span>
- {{lang_addServer}}
- </button>
- </div>
-
- <h4>{{lang_buildingTable}}</h4>
- <table class="table table-condensed table-hover" style="margin-bottom:0">
-
- <tr>
- <th>{{lang_locationName}}</th>
- <th width="50" title="{{lang_locationIsHidden_title}}">{{lang_locationIsHidden}}</th>
- <th width="50">{{lang_openingTime}}</th>
- <th width="50">{{lang_locationSettings}}</th>
- </tr>
-
- {{#list}}
- <tr id="row{{locationid}}">
- <td>
- <div style="display:inline-block;width:{{depth}}em"></div>
- <a href="modules/locationinfo/frontend/doorsign.html?id={{locationid}}" target="_blank">{{locationname}}</a>
- </td>
- <td align="center">
- <div class="checkbox" style="margin:0">
- <input class="hidden-toggle" type="checkbox" data-locationid="{{locationid}}" {{hidden_checked}}>
- <label></label>
- </div>
- </td>
- <td>
- <a class="btn btn-sm btn-default" role="button" style="width: 100%"
- onclick="loadTimeModal({{locationid}}, '{{locationname}}');">
- <span style="margin-right: 5px;" class="glyphicon glyphicon-time"></span>
- </a>
- </td>
- <td>
- <a class="btn btn-sm btn-default" role="button" style="width: 100%;"
- onclick="loadLocationConfigModal({{locationid}}, '{{locationname}}');">
- <span style="margin-right: 5px;" class="glyphicon glyphicon-cog"></span>
- </a>
- </td>
- </tr>
-
- {{/list}}
- </table>
-
- <div class="modal fade" id="myModal" tabindex="-1" role="dialog">
- <div class="modal-dialog">
-
- <div class="modal-content">
- <div class="modal-header" id="myModalHeader"></div>
- <div class="modal-body" id="myModalBody"></div>
- <div class="modal-footer">
- <button type="submit" id="myModalSubmitButton" class="btn btn-primary" form="">{{lang_save}}</button>
-
- <a class="btn btn-primary" data-dismiss="modal">{{lang_close}}</a>
- </div>
- </div>
-
- </div>
- </div>
-</div>
-<script type="text/javascript"><!--
-
- document.addEventListener("DOMContentLoaded", function () {
-
- /**
- * React to click on a "hidden" checkbox.
- */
- $('.hidden-toggle').change(function() {
- $input = $(this);
- $.ajax({
- type: 'POST',
- url: '?do=locationinfo&action=hide',
- data: {locationid: $input.data('locationid'), hidden: $input[0].checked ? 1 : 0, token: TOKEN },
- dataType: 'json'
- }).done(function(data) {
- if (data && $.isArray(data.changed)) {
- markBoxes(data.changed);
- } else {
- $input.replaceWith('ERROR');
- }
- }).fail(function () {
- $input.replaceWith('ERROR');
- });
- }).parent().click(function() {
- $this = $(this);
- $box = $this.find('input');
- if (!$this.is($box)) {
- $box.click();
- }
- });
-
- /**
- * Confirm deleting a server.
- */
- $('.server-delete').click(function(ev) {
- var del = confirm("{{lang_deleteConfirmation}}");
- if (!del) ev.preventDefault();
- });
-
- /**
- * Animate refresh icon while page is loading
- */
- $('.server-check').click(function() {
- $(this).find('.glyphicon').addClass('slx-rotation');
- });
-
- $('button[data-server-edit]').click(function() {
- var id = $(this).data('server-edit');
- loadServerSettingsModal(id);
- });
-
- });
-
- /**
- * Gets a status array delivered by backend's ajaxHideLocation()
- * and sets the checkbox states accordingly.
- */
- function markBoxes(boxArray) {
- for (var i = 0; i < boxArray.length; ++i) {
- if (boxArray[i].locationid) {
- var lid = parseInt(boxArray[i].locationid);
- $('input.hidden-toggle[data-locationid="' + lid + '"]').prop('checked', !!boxArray[i].hidden);
- }
- }
- }
-
- /**
- * Loads the settings modal of a server.
- *
- * @param serverid The id of the server.
- */
- function loadServerSettingsModal(serverid) {
- $('#myModalHeader').text("{{lang_locationSettings}}").css("font-weight", "Bold");
- $('#myModal .modal-dialog').css('width', '');
- $('#myModal').modal('show');
- $('#myModalBody').load("?do=locationinfo&action=serverSettings&id=" + serverid);
- }
-
- /**
- * Load a opening time modal of a location.
- *
- * @param locationId The id of the location.
- * @param locationName The name of the location.
- */
- function loadTimeModal(locationId, locationName) {
- $('#myModalHeader').text("[" + locationId + "] " + locationName).css("font-weight", "Bold");
- $('#myModal .modal-dialog').css('width', '');
- $('#myModal').modal('show');
- $('#myModalBody').load("?do=locationinfo&action=timetable&id=" + locationId);
- }
-
- /**
- * Loads the config modal of a location.
- *
- * @param locationId The id of the location
- * @param locationName the name of the location
- */
- function loadLocationConfigModal(locationId, locationName) {
- $('#myModalHeader').text("[" + locationId + "] " + locationName).css("font-weight", "Bold");
- $('#myModalSubmitButton').attr("form", "configForm");
- $('#myModal .modal-dialog').css('width', '90%');
- $('#myModal').modal('show');
- $('#myModalBody').load("?do=locationinfo&action=config&id=" + locationId);
- }
-
- // ########### Server Table ###########
-
- /**
- * Loads a new / empty server settings modal.
- */
- function addServer() {
- loadServerSettingsModal(0);
- }
-//--></script>
diff --git a/modules-available/locationinfo/templates/config.html b/modules-available/locationinfo/templates/page-config-panel.html
index cce63de1..244b80c9 100644
--- a/modules-available/locationinfo/templates/config.html
+++ b/modules-available/locationinfo/templates/page-config-panel.html
@@ -5,52 +5,6 @@
<div class="row">
<div class="col-md-6">
- <div class="panel panel-default">
- <div class="panel-heading">{{lang_server}}</div>
- <div class="panel-body">
- <div class="list-group">
- <div class="list-group-item">
- <div class="row">
- <div class="col-sm-3">
- <label>{{lang_server}}</label>
- </div>
- <div class="col-sm-7">
- <select class="form-control" name="serverid">
- <option value="0">{{lang_noServer}}</option>
- {{#serverlist}}
- <option value="{{serverid}}" {{selected}}>{{servername}}</option>
- {{/serverlist}}
- </select>
- </div>
- <div class="col-sm-2">
- <a class="btn btn-default helptext" title="{{lang_serverTooltip}}">
- <span class="glyphicon glyphicon-question-sign"></span>
- </a>
- </div>
- </div>
- </div>
-
- <div class="list-group-item">
- <div class="row">
- <div class="col-sm-3">
- <label>{{lang_roomId}}</label>
- </div>
- <div class="col-sm-7">
- <input class="form-control" name="serverlocationid" id="serverlocationid" value="{{serverlocationid}}">
- </div>
- <div class="col-sm-2">
- <a class="btn btn-default helptext" title="{{lang_roomIdTooltip}}">
- <span class="glyphicon glyphicon-question-sign"></span>
- </a>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
-
- <div class="col-md-6">
<div class="modify-inputs panel panel-default">
<div class="panel-heading">{{lang_display}}</div>
<div class="panel-body">
diff --git a/modules-available/locationinfo/templates/page-locations.html b/modules-available/locationinfo/templates/page-locations.html
new file mode 100644
index 00000000..436aa8d5
--- /dev/null
+++ b/modules-available/locationinfo/templates/page-locations.html
@@ -0,0 +1,98 @@
+<h4>{{lang_buildingTable}}</h4>
+<table class="table table-condensed table-hover" style="margin-bottom:0">
+
+ <tr>
+ <th>{{lang_locationName}}</th>
+ <th width="50">{{lang_openingTime}}</th>
+ <th width="50">{{lang_locationSettings}}</th>
+ </tr>
+
+ {{#list}}
+ <tr>
+ <td>
+ <div style="display:inline-block;width:{{depth}}em"></div>
+ <a href="#" class="loc-name" data-locationid="{{locationid}}">{{locationname}}</a>
+ </td>
+ <td>
+ <a class="btn btn-sm btn-default" role="button" style="width: 100%"
+ onclick="loadTimeModal({{locationid}}, '{{locationname}}');">
+ <span style="margin-right: 5px;" class="glyphicon glyphicon-time"></span>
+ </a>
+ </td>
+ <td>
+ <a class="btn btn-sm btn-default" role="button" style="width: 100%;"
+ onclick="loadLocationConfigModal({{locationid}}, '{{locationname}}');">
+ <span style="margin-right: 5px;" class="glyphicon glyphicon-cog"></span>
+ </a>
+ </td>
+ </tr>
+
+ {{/list}}
+</table>
+
+<div class="modal fade" id="location-modal" tabindex="-1" role="dialog">
+ <div class="modal-dialog"> <!--style="min-width:600px;width:70%"-->
+
+ <div class="modal-content">
+ <form method="post" action="?do=locationinfo" id="settings-form">
+ <input type="hidden" name="token" value="{{token}}">
+ <input type="hidden" name="action" value="writeLocationConfig">
+ <input type="hidden" name="openingtimes" id="json-openingtimes" value="">
+ <div class="modal-header"><h2 id="location-modal-header"></h2></div>
+ <div class="modal-body"></div>
+ <div class="modal-footer">
+ <button type="submit" class="btn btn-primary">{{lang_save}}</button>
+ <a class="btn btn-primary" data-dismiss="modal">{{lang_close}}</a>
+ </div>
+ </form>
+ </div>
+
+ </div>
+</div>
+
+<div class="hidden" id="expert-template">
+ <div class="row expert-row" style="margin-top:1em;border-top:1px solid #ddd">
+ <div class="col-xs-9 days-box">
+ <label><input type="checkbox" class="i-Monday">{{lang_shortMonday}}</label> |
+ <label><input type="checkbox" class="i-Tuesday">{{lang_shortTuesday}}</label> |
+ <label><input type="checkbox" class="i-Wednesday">{{lang_shortWednesday}}</label> |
+ <label><input type="checkbox" class="i-Thursday">{{lang_shortThursday}}</label> |
+ <label><input type="checkbox" class="i-Friday">{{lang_shortFriday}}</label> |
+ <label><input type="checkbox" class="i-Saturday">{{lang_shortSaturday}}</label> |
+ <label><input type="checkbox" class="i-Sunday">{{lang_shortSunday}}</label>
+ </div>
+ <div class="col-xs-3 text-right">
+ <label><input type="checkbox" class="i-delete"><span class="glyphicon glyphicon-trash"></span></label>
+ </div>
+ <div class="col-sm-6">
+ <div class="input-group bootstrap-timepicker">
+ <span class="input-group-addon"><span class="glyphicon glyphicon-time"></span></span>
+ <input type="text" class="form-control timepicker2 i-openingtime" pattern="[0-9]{1,2}:[0-9]{2}">
+ </div>
+ </div>
+ <div class="col-sm-6">
+ <div class="input-group bootstrap-timepicker">
+ <span class="input-group-addon"><span class="glyphicon glyphicon-time"></span></span>
+ <input type="text" class="form-control timepicker2 i-closingtime" pattern="[0-9]{1,2}:[0-9]{2}">
+ </div>
+ </div>
+ </div>
+</div>
+
+<script type="text/javascript"><!--
+
+document.addEventListener("DOMContentLoaded", function () {
+ /**
+ * Load a opening time modal of a location.
+ */
+ $('.loc-name').click(function (e) {
+ e.preventDefault();
+ var locationId = $(this).data('locationid');
+ var locationName = $(this).text();
+ $('#location-modal-header').text("[" + locationId + "] " + locationName);
+ $('#location-modal').modal('show').find('.modal-body').load("?do=locationinfo&action=config-location&id=" + locationId);
+ });
+ $('#settings-form').submit(submitLocationSettings);
+});
+
+//--></script> \ No newline at end of file
diff --git a/modules-available/locationinfo/templates/page-servers.html b/modules-available/locationinfo/templates/page-servers.html
new file mode 100644
index 00000000..2dfe63e1
--- /dev/null
+++ b/modules-available/locationinfo/templates/page-servers.html
@@ -0,0 +1,113 @@
+<div>
+ <h1>{{lang_mainHeader}}</h1>
+
+ <h4>{{lang_serverTable}}</h4>
+
+ <table class="table table-hover">
+ <tr>
+ <th width="1">{{lang_serverType}}</th>
+ <th>{{lang_locationName}}</th>
+ <th width="1"></th>
+ <th width="1"></th>
+ </tr>
+ {{#serverlist}}
+ <form method="post" action="?do=locationinfo">
+ <input type="hidden" name="token" value="{{token}}">
+ <input type="hidden" name="serverid" value="{{serverid}}">
+ <tr>
+ <td nowrap>{{typename}}</td>
+ <td nowrap>{{servername}}</td>
+
+ <td align="center" nowrap>
+ <button class="btn btn-sm {{^autherror}}btn-success{{/autherror}}{{#autherror}}btn-danger{{/autherror}}"
+ data-server-edit="{{serverid}}" {{disabled}} type="button">
+ <span style="margin-right: 5px;" class="glyphicon glyphicon-cog"></span>
+ {{lang_locationSettings}}
+ </button>
+ <button class="btn btn-sm btn-primary server-check" {{disabled}} name="action" value="checkConnection"
+ type="submit">
+ <span style="margin-right: 5px;" class="glyphicon glyphicon-refresh"></span>
+ {{lang_checkConnection}}
+ </button>
+ </td>
+ <td align="center" nowrap>
+ <button class="btn btn-sm btn-danger server-delete" type="submit" name="action" value="deleteServer">
+ <span style="margin-right: 5px;" class="glyphicon glyphicon-remove"></span>
+ {{lang_delete}}
+ </button>
+ </td>
+ </tr>
+ </form>
+ {{/serverlist}}
+ </table>
+
+ <div>
+ <button class="btn btn-sm btn-success" id="addServerButton" onclick="addServer()">
+ <span style="margin-right: 5px;" class="glyphicon glyphicon-plus"></span>
+ {{lang_addServer}}
+ </button>
+ </div>
+
+ <div class="modal fade" id="myModal" tabindex="-1" role="dialog">
+ <div class="modal-dialog">
+
+ <div class="modal-content">
+ <div class="modal-header" id="myModalHeader"></div>
+ <div class="modal-body" id="myModalBody"></div>
+ <div class="modal-footer">
+ <button type="submit" id="myModalSubmitButton" class="btn btn-primary" form="">{{lang_save}}</button>
+
+ <a class="btn btn-primary" data-dismiss="modal">{{lang_close}}</a>
+ </div>
+ </div>
+
+ </div>
+ </div>
+</div>
+<script type="text/javascript"><!--
+
+ document.addEventListener("DOMContentLoaded", function () {
+
+ /**
+ * Confirm deleting a server.
+ */
+ $('.server-delete').click(function(ev) {
+ var del = confirm("{{lang_deleteConfirmation}}");
+ if (!del) ev.preventDefault();
+ });
+
+ /**
+ * Animate refresh icon while page is loading
+ */
+ $('.server-check').click(function() {
+ $(this).find('.glyphicon').addClass('slx-rotation');
+ });
+
+ $('button[data-server-edit]').click(function() {
+ var id = $(this).data('server-edit');
+ loadServerSettingsModal(id);
+ });
+
+ });
+
+ /**
+ * Loads the settings modal of a server.
+ *
+ * @param serverid The id of the server.
+ */
+ function loadServerSettingsModal(serverid) {
+ $('#myModalHeader').text("{{lang_locationSettings}}").css("font-weight", "Bold");
+ $('#myModal .modal-dialog').css('width', '');
+ $('#myModal').modal('show');
+ $('#myModalBody').load("?do=locationinfo&action=serverSettings&id=" + serverid);
+ }
+
+ // ########### Server Table ###########
+
+ /**
+ * Loads a new / empty server settings modal.
+ */
+ function addServer() {
+ loadServerSettingsModal(0);
+ }
+//--></script>
diff --git a/modules-available/locationinfo/templates/timetable.html b/modules-available/locationinfo/templates/timetable.html
deleted file mode 100644
index 91a80877..00000000
--- a/modules-available/locationinfo/templates/timetable.html
+++ /dev/null
@@ -1,216 +0,0 @@
-<div>
- <div align="right">
- <label for="CB_1">{{lang_expertMode}}</label>
- <input class="bs-switch" name="1" id="CB_1" type="checkbox" {{#expertMode}}checked{{/expertMode}}>
- </div>
- <br>
-
- <div id="easyMode" style="{{#expertMode}}display: none;{{/expertMode}}">
- <form method="post" action="?do=locationinfo" id="timeFormEasy">
- <input type="hidden" name="token" value="{{token}}">
- <input type="hidden" name="action" value="updateOpeningTimeEasy">
- <input type="hidden" name="id" value="{{id}}">
- <input type="hidden" name="easyMode" value="{{easyMode}}">
-
- <table class="table table-condensed locations" style="margin-bottom:0">
- <tr>
- <th>{{lang_day}}</th>
- <th>{{lang_openingTime}}</th>
- <th>{{lang_closingTime}}</th>
- </tr>
-
- <tr class="tablerow">
- <td>{{lang_monTilFr}}</td>
- <td>
- <div class="input-group bootstrap-timepicker">
- <span class="input-group-addon">
- <span class="glyphicon glyphicon-time"></span>
- </span>
- <input type="text" class="form-control timepicker2" name="openingtime[]" id="openingtimepicker"
- pattern="[0-9]{1,2}:[0-9]{2}" value="{{openingtime0}}">
- </div>
- </td>
- <td>
- <div class="input-group bootstrap-timepicker">
- <span class="input-group-addon">
- <span class="glyphicon glyphicon-time"></span>
- </span>
- <input type="text" class="form-control timepicker2" name="closingtime[]" id="openingtimepicker"
- pattern="[0-9]{1,2}:[0-9]{2}" value="{{closingtime0}}">
- </div>
- </td>
- </tr>
- <tr class="tablerow">
- <td>{{lang_saturday}}</td>
- <td>
- <div class="input-group bootstrap-timepicker">
- <span class="input-group-addon">
- <span class="glyphicon glyphicon-time"></span>
- </span>
- <input type="text" class="form-control timepicker2" name="openingtime[]" id="openingtimepicker"
- pattern="[0-9]{1,2}:[0-9]{2}" value="{{openingtime1}}">
- </div>
- </td>
- <td>
- <div class="input-group bootstrap-timepicker">
- <span class="input-group-addon">
- <span class="glyphicon glyphicon-time"></span>
- </span>
- <input type="text" class="form-control timepicker2" name="closingtime[]" id="openingtimepicker"
- pattern="[0-9]{1,2}:[0-9]{2}" value="{{closingtime1}}">
- </div>
- </td>
- </tr>
- <tr class="tablerow">
- <td>{{lang_sunday}}</td>
- <td>
- <div class="input-group bootstrap-timepicker">
- <span class="input-group-addon">
- <span class="glyphicon glyphicon-time"></span>
- </span>
- <input type="text" class="form-control timepicker2" name="openingtime[]" id="openingtimepicker"
- pattern="[0-9]{1,2}:[0-9]{2}" value="{{openingtime2}}">
- </div>
- </td>
- <td>
- <div class="input-group bootstrap-timepicker">
- <span class="input-group-addon">
- <span class="glyphicon glyphicon-time"></span>
- </span>
- <input type="text" class="form-control timepicker2" name="closingtime[]" id="openingtimepicker"
- pattern="[0-9]{1,2}:[0-9]{2}" value="{{closingtime2}}">
- </div>
- </td>
- </tr>
- </table>
- </form>
- </div>
-
- <div id="expertMode" style="{{#easyMode}}display: none;{{/easyMode}}">
- <form method="post" action="?do=locationinfo" id="timeFormExpert">
- <input type="hidden" name="token" value="{{token}}">
- <input type="hidden" name="action" value="updateOpeningTimeExpert">
- <input type="hidden" name="id" value="{{id}}">
- <input type="hidden" name="easyMode" value="{{easyMode}}">
-
-
- <table class="table table-condensed locations" style="margin-bottom:0">
- <tr>
- <th>{{lang_day}}</th>
- <th>{{lang_openingTime}}</th>
- <th>{{lang_closingTime}}</th>
- <th>{{lang_delete}}</th>
- </tr>
-
- {{#openingtimes}}
- <tr class=tablerow>
- <td>{{days}}</td>
- <td>{{openingtime}}</td>
- <td>{{closingtime}}</td>
- <td align="center"><input type="checkbox" name="delete[]" value="{{index}}"></td>
- </tr>
- {{/openingtimes}}
-
- <tr id="lastOpenTimesTableElement"></tr>
- </table>
-
- <br>
- <a class="btn btn-success btn-sm" onclick=newOpeningTime()>
- <span class="glyphicon glyphicon-plus-sign"></span>
- {{lang_openingTime}}
- </a>
- </form>
- </div>
-</div>
-
-<script>
- setTimepicker();
- $('#CB_1').bootstrapSwitch();
- $('#CB_1').on('switchChange.bootstrapSwitch', function (e, data) {
-
- if (data == false) {
- $('#expertMode').hide();
- $('#easyMode').show();
- $('#myModalSubmitButton').attr("Form", "timeFormEasy");
- } else {
- $('#easyMode').hide();
- $('#expertMode').show();
- $('#myModalSubmitButton').attr("Form", "timeFormExpert");
- }
- });
-
- if ('{{easyMode}}' == true) {
- $('#myModalSubmitButton').attr("Form", "timeFormEasy");
- } else if ('{{expertMode}}' == true) {
- $('#myModalSubmitButton').attr("Form", "timeFormExpert");
- }
-
- /**
- * Sets the timepicker element.
- */
- function setTimepicker() {
- $('.timepicker2').timepicker({
- minuteStep: 1,
- template: 'modal',
- appendWidgetTo: 'body',
- showSeconds: false,
- showMeridian: false,
- defaultTime: false
- });
- }
-
- /**
- * Adds a new opening time to the table in expert mode.
- */
- function newOpeningTime() {
- $('#lastOpenTimesTableElement').before('<tr>\
- <td>\
- <div class="form-group options">\
- <label><input required type="checkbox" name="days[]" value="Monday">{{lang_shortMonday}}</label>\
- <label><input required type="checkbox" name="days[]" value="Tuesday">{{lang_shortTuesday}}</label>\
- <label><input required type="checkbox" name="days[]" value="Wednesday">{{lang_shortWednesday}}</label>\
- <label><input required type="checkbox" name="days[]" value="Thursday">{{lang_shortThursday}}</label>\
- <label><input required type="checkbox" name="days[]" value="Friday">{{lang_shortFriday}}</label>\
- <label><input required type="checkbox" name="days[]" value="Saturday">{{lang_shortSaturday}}</label>\
- <label><input required type="checkbox" name="days[]" value="Sunday">{{lang_shortSunday}}</label>\
- </div>\
- <input type="hidden" name="days[]" value="-">\
- </td>\
- <td>\
- <div class="input-group bootstrap-timepicker">\
- <span class="input-group-addon">\
- <span class="glyphicon glyphicon-time"></span>\
- </span>\
- <input required type="text" class="form-control timepicker2" name="openingtime[]" id="openingtimepicker" pattern="[0-9]{1,2}:[0-9]{2}" value="8:00">\
- </div>\
- \
- </td>\
- <td>\
- \
- <div class="input-group bootstrap-timepicker">\
- <span class="input-group-addon">\
- <span class="glyphicon glyphicon-time"></span>\
- </span>\
- <input required type="text" class="form-control timepicker2" name="closingtime[]" id="closingtimepicker" pattern="[0-9]{1,2}:[0-9]{2}" value="18:00">\
- </div>\
- \
- </td>\
- <td align="center">\
- <input type="checkbox" name="dontadd[]" value="dontadd"\
- </td>\
- </tr>');
- setTimepicker();
-
- $(function () {
- var requiredCheckboxes = $('.options :checkbox[required]');
- requiredCheckboxes.change(function () {
- if (requiredCheckboxes.is(':checked')) {
- requiredCheckboxes.removeAttr('required');
- } else {
- requiredCheckboxes.attr('required', 'required');
- }
- });
- });
- }
-
-</script>