diff options
Diffstat (limited to 'modules-available/locationinfo/templates')
14 files changed, 452 insertions, 297 deletions
diff --git a/modules-available/locationinfo/templates/ajax-config-location.html b/modules-available/locationinfo/templates/ajax-config-location.html index b42ff98d..102a6ea4 100644 --- a/modules-available/locationinfo/templates/ajax-config-location.html +++ b/modules-available/locationinfo/templates/ajax-config-location.html @@ -110,9 +110,9 @@ </select> </div> <div class="col-sm-2"> - <a class="btn btn-default helptext" title="{{lang_serverTooltip}}"> + <p class="btn btn-static helptext" title="{{lang_serverTooltip}}"> <span class="glyphicon glyphicon-question-sign"></span> - </a> + </p> </div> </div> <div class="row"> @@ -124,9 +124,9 @@ </div> </div> <div class="col-sm-2"> - <a class="btn btn-default helptext" title="{{lang_recursiveSetTooltip}}"> + <p class="btn btn-static helptext" title="{{lang_recursiveSetTooltip}}"> <span class="glyphicon glyphicon-question-sign"></span> - </a> + </p> </div> </div> <div class="row"> @@ -137,9 +137,9 @@ <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}}"> + <p class="btn btn-static helptext" title="{{lang_roomIdTooltip}}"> <span class="glyphicon glyphicon-question-sign"></span> - </a> + </p> </div> </div> @@ -170,7 +170,7 @@ setTimepicker($('#settings-outer').find('.timepicker2')); - $('a.helptext').tooltip(); + $('p.helptext').tooltip(); $('#new-openingtime').click(function (e) { e.preventDefault(); diff --git a/modules-available/locationinfo/templates/ajax-config-server.html b/modules-available/locationinfo/templates/ajax-config-server.html index 940bc55a..8c2cb3ba 100644 --- a/modules-available/locationinfo/templates/ajax-config-server.html +++ b/modules-available/locationinfo/templates/ajax-config-server.html @@ -12,9 +12,9 @@ form="form-{{currentbackend}}"> </div> <div class="col-md-2"> - <a class="btn btn-default" title="{{lang_nameTooltip}}"> + <p class="btn btn-static" title="{{lang_nameTooltip}}"> <span class="glyphicon glyphicon-question-sign"></span> - </a> + </p> </div> </div> </div> @@ -34,9 +34,9 @@ </select> </div> <div class="col-md-2"> - <a class="btn btn-default" id="help-type" title="{{lang_typeTooltip}}"> + <p class="btn btn-static" id="help-type" title="{{lang_typeTooltip}}"> <span class="glyphicon glyphicon-question-sign"></span> - </a> + </p> </div> </div> </div> @@ -92,7 +92,7 @@ currentBackend = value; } - $('a.btn[title]').tooltip(); + $('p.btn[title]').tooltip(); $('#myModalSubmitButton').attr('form', 'form-' + currentBackend); $('.settings-bs-switch').bootstrapSwitch({size:'small'}); diff --git a/modules-available/locationinfo/templates/frontend-default.html b/modules-available/locationinfo/templates/frontend-default.html index e457f68d..cbb765d0 100755 --- a/modules-available/locationinfo/templates/frontend-default.html +++ b/modules-available/locationinfo/templates/frontend-default.html @@ -327,6 +327,7 @@ optional: .wc-scrollable-grid { transition: height 500ms; background: rgba(0, 0, 0, 0); + overflow-y: hidden !important; } .wc-grid-timeslot-header, @@ -351,6 +352,7 @@ optional: <span data-tag="room">{{lang_room}}</span> <span data-tag="closed">{{lang_closed}}</span> <span data-tag="free">{{lang_free}}</span> + <span data-tag="for">{{lang_for}}</span> <span data-tag="shortSun">{{lang_shortSun}}</span> <span data-tag="shortMon">{{lang_shortMon}}</span> <span data-tag="shortTue">{{lang_shortTue}}</span> @@ -369,7 +371,6 @@ optional: </div> </body> -<!--suppress RedundantIfStatementJS --> <script type="text/javascript"> var rooms = {}; var lastRoomUpdate = 0; @@ -619,6 +620,15 @@ 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); @@ -736,7 +746,7 @@ optional: timeslotHeight: 30, daysToShow: daysToShow, height: function () { - if (room.config.mode === 1 && room.config.vertical && (!room.timetable || !room.timetable.length)) return 20; + // if (room.config.mode === 1 && room.config.vertical && (!room.timetable || !room.timetable.length)) return 20; var height = $(window).height(); if (roomIds.length === 4) { height /= 2; @@ -771,7 +781,9 @@ optional: timeSeparator: " - ", startOnFirstDayOfWeek: false, displayFreeBusys: true, - defaultFreeBusy: {free: false} + defaultFreeBusy: {free: false}, + allowCalEventOverlap: true, + overlapEventsSeparate: true }); } @@ -919,7 +931,7 @@ optional: const SEVEN_DAYS = 7 * 86400 * 1000; /** - * applays new calendar data to the calendar plugin and also saves it to the room object + * applies new calendar data to the calendar plugin and also saves it to the room object * @param {Array} json Calendar data * @param room Room Object */ @@ -946,9 +958,18 @@ optional: console.log('Notice: Calendar has no current events for ' + room.name); } try { + for (var i = json.length - 1; i > 0; i--) { + // if title, start and end are the same, "merge" two events by removing one of them + if (json[i].title === json[i-1].title && json[i].start === json[i-1].start && json[i].end === json[i-1].end) { + json.splice(i, 1); + } + } room.timetable = json; + for (var property in room.timetable) { + room.timetable[property].start = cleanDate(room.timetable[property].start); + room.timetable[property].end = cleanDate(room.timetable[property].end); + } if (room.config.mode !== 3) { - // TODO: Check if they're the same var cal = room.$.calendar; cal.weekCalendar('option', 'data', {events: json}); cal.weekCalendar("refresh"); @@ -968,6 +989,27 @@ optional: } } + function cleanDate(d) { + if (typeof d === 'string') { + // if is numeric + if (!isNaN(Number(d))) { + return cleanDate(parseInt(d, 10)); + } + + // this is a human readable date + if (d[d.length - 1] !== 'Z') d += 'Z'; + var o = new Date(d); + o.setTime(o.getTime() + (o.getTimezoneOffset() * 60 * 1000)); + return o; + } + + if (typeof d === 'number') { + return new Date(d); + } + + return d; + } + /** * scales calendar, called once on create and on window resize * @param room Room Object @@ -983,7 +1025,7 @@ optional: if (room.config.scaledaysauto) { var result = ($cal.weekCalendar("option", "daysToShow") * columnWidth) / 130; - result = parseInt(Math.min(Math.max(Math.abs(result), 1), 7)); + result = Math.min(Math.max(Math.abs(result), 1), 7); if (result !== $cal.weekCalendar("option", "daysToShow")) { $cal.weekCalendar("option", "daysToShow", result); columnWidth = $cal.find(".wc-day-1").width(); @@ -1107,14 +1149,13 @@ optional: /** * Sets the free PCs number in the right corner and updates the square color accordingly * @param room Room - * @param seats Number of free PC's in the room */ function SetFreeSeats(room) { - room.$.seatsCounter.text(room.freePcs >= 0 ? room.freePcs : ''); + // if room has no allowed value, set text in the box to - + room.$.seatsCounter.text(room.freePcs >= 0 ? room.freePcs : '\u2014'); + room.$.seatsCounter.data('state', JSON.stringify(room.state)); if (room.freePcs > 0 && room.state && room.state.free) { - room.$.seatsBackground.css('background-color', '#250'); - } else if (room.freePcs === -1) { - room.$.seatsBackground.css('background-color', 'red'); + room.$.seatsBackground.css('background-color', '#250'); } else { room.$.seatsBackground.css('background-color', 'red'); } @@ -1134,26 +1175,23 @@ optional: var seats = room.freePcs; if (tmp.state === 'closed' || tmp.state === 'CalendarEvent' || tmp.state === 'Free') { newTime = GetTimeDiferenceAsString(tmp.end, MyDate(), globalConfig); - } else if (!same) { - newTime = ''; } if (tmp.state === "closed") { if (!same) newText = t("closed"); } else if (tmp.state === "CalendarEvent") { if (!same) newText = tmp.title; - seats = -1; - } else if (tmp.state === "Free") { - if (!same) newText = t("free"); - } else if (tmp.state === "FreeNoEnd") { + // whilst event is running set freePcs to -, hopefully not breaking anything else with this + room.freePcs = "-"; + } else if (tmp.state === "Free" || tmp.state === "FreeNoEnd") { if (!same) newText = t("free"); } if (newText !== false) { room.$.currentEvent.text(newText); } if (newTime !== false) { - room.$.currentRemain.text(newTime); + room.$.currentRemain.text(t("for") + " " +newTime); } - if (room.lastFreeSeats !== seats) { + if (room.lastFreeSeats !== seats || !same) { SetFreeSeats(room); room.lastFreeSeats = seats; } @@ -1167,11 +1205,10 @@ optional: function ComputeCurrentState(room) { if (!IsOpen(MyDate(), room)) { room.state = {state: "closed", end: GetNextOpening(room), title: "", next: ""}; - return; } - var closing = GetNextClosing(room); + var closing = GetNextClosing(room); var event = getNextEvent(room.timetable); // no event and no closing @@ -1224,7 +1261,7 @@ optional: console.log('getNextEvent called with something not array: ' + typeof(calEvents)); return null; } - var event; + var event = null; var now = MyDate(); for (var i = 0; i < calEvents.length; i++) { //event is now active @@ -1489,8 +1526,14 @@ optional: for (var i = 0; i < update.length; i++) { var $div = $("#pc_" + room.id + "_" + update[i].id); // Pc free - if (update[i].pcState === "IDLE" || update[i].pcState === "OFFLINE" || update[i].pcState === "STANDBY") { - freePcs++; + 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++; + } + } else { + if ((update[i].pcState === "IDLE" || update[i].pcState === "OFFLINE" || update[i].pcState === "STANDBY")) { + freePcs++; + } } $div.removeClass('BROKEN OFFLINE IDLE OCCUPIED STANDBY'.replace(update[i].pcState, '')).addClass(update[i].pcState); @@ -1586,7 +1629,7 @@ optional: /** * Function for translation - * @param toTranslate key which we wan't to translate + * @param toTranslate key which we want to translate * @returns r translated string */ function t(toTranslate) { diff --git a/modules-available/locationinfo/templates/frontend-summary.html b/modules-available/locationinfo/templates/frontend-summary.html index 4105dd16..ae089da5 100644 --- a/modules-available/locationinfo/templates/frontend-summary.html +++ b/modules-available/locationinfo/templates/frontend-summary.html @@ -1,5 +1,5 @@ <!DOCTYPE html> -<html lang="de"> +<html lang="{{language}}"> <meta name="viewport" content="width=device-width, initial-scale=1.0" charset="utf-8"> <head> <script type='text/javascript' src='{{dirprefix}}script/jquery.js'></script> @@ -63,7 +63,7 @@ } .pc-idle, .pc-occupied, .pc-offline, .pc-broken, .pc-standby { - padding: 2px 1px; + padding: 2px 0px; text-align: center; font-size: 90%; font-weight: 800; @@ -82,7 +82,8 @@ } .pc-offline { - background-color: darkgrey; + background-color: black; + color: white; } .pc-standby { @@ -91,8 +92,7 @@ .pc-broken { - background-color: black; - color: white; + background-color: darkgrey; border-radius: 0px 3px 3px 0px; } @@ -108,6 +108,10 @@ border-radius: 1px; } + #i18n { + display: none; + } + </style> <script type='text/javascript'> @@ -116,6 +120,7 @@ var startdate; var roomidsString = ""; var config = {{{config}}}; + var lastPanelUpdate = 0; $(document).ready(function () { init(); @@ -139,6 +144,7 @@ SetUpDate(time); generateLayout(config.tree); update(); + setInterval(update, 10000); } function SetUpDate(d) { @@ -165,7 +171,7 @@ */ function generateObject(json, myParent, outermost) { var obj; - if (!json.children || json.children.length == 0) { + if (!json.children || json.children.length === 0) { obj = generateChild(myParent, json.locationid, json.locationname, outermost); } else { obj = generateParent(myParent, json.locationid, json.locationname, outermost); @@ -178,59 +184,24 @@ } /** - * Helper function to generate id string used in query functions - * @param list A string, wicht contains ids or not(for now) - * @param id An ID which should be added to the list + * Main Update loop, this loop runs every 10 seconds */ - function addIdToUpdateList(list, id) { - if (list == "") { - list += id; - } else { - list += ("," + id); - } - return list; - } - - - const ROOMUPDATE_MS = 2*60*1000; - const CALUPDATE_MS = 20*60*1000; - var timeout = null; - function update() { - var calendarUpdateIds = ""; - var rommUpdateIds = ""; - var count = 0; - var nextUpdate = 15000; - var property; - // TODO: Only query a few rooms is not possible with the new api stuff ... - for (property in rooms) { - if (rooms[property].lastCalendarUpdate === null || rooms[property].lastCalendarUpdate + CALUPDATE_MS < MyDate().getTime()) { - // TODO: NOT NECESSARY ANYMORE?! - calendarUpdateIds = addIdToUpdateList(calendarUpdateIds, rooms[property].id); - count++; - rooms[property].lastCalendarUpdate = MyDate().getTime(); - } - if (rooms[property].lastRoomUpdate === null || rooms[property].lastRoomUpdate + ROOMUPDATE_MS < MyDate().getTime()) { - // TODO: NOT NECESSARY ANYMORE?! - rommUpdateIds = addIdToUpdateList(rommUpdateIds, rooms[property].id); - count++; - rooms[property].lastRoomUpdate = MyDate().getTime(); - } - // TODO if (count > 7) break; - } - if (calendarUpdateIds !== "") { - queryCalendars(); - nextUpdate = 1000; - } - if (rommUpdateIds !== "") { + var date = MyDate(); + var now = date.getTime(); + if (lastPanelUpdate + (config.panelupdate * 1000) < now) { + // Set Roomupdate Interval has passed, update. queryRooms(); - nextUpdate = 1000; - } - if (nextUpdate !== 1000) { + queryCalendars(); + lastPanelUpdate = now; + for (var property in rooms) { + rooms[property].lastCalendarUpdate = now; + rooms[property].lastRoomUpdate = now; + } + } else { + // Set Roomupdate Interval has NOT passed, check if panel was changed since last call and reload if true. queryPanelChange(); } - clearTimeout(timeout); - setTimeout(update, nextUpdate); } function cleanDate(d) { @@ -283,7 +254,6 @@ cache: false, timeout: 30000, success: function (result) { - var l = result.length; if (result[0] == null) { console.log("Error: Backend reported null back for RoomUpdate, this might happend if the room isn't" + "configurated."); @@ -309,17 +279,16 @@ var state = room.getState(); if (state.state == "CalendarEvent") { - updateCourseText(room.id, state.titel); + updateCourseText(room.id, state.title); updateCoursTimer(room.id, GetTimeDiferenceAsString(state.end, MyDate())); } else if (state.state == "Free") { - updateCourseText(room.id, "Frei"); + updateCourseText(room.id, t("free")); updateCoursTimer(room.id, GetTimeDiferenceAsString(state.end, MyDate())); } else if (state.state == "FreeNoEnd") { - updateCourseText(room.id, "Frei"); + updateCourseText(room.id, t("free")); updateCoursTimer(room.id, ""); - } - else if (state.state == "closed") { - updateCourseText(room.id, "Geschlossen"); + } else if (state.state == "closed") { + updateCourseText(room.id, t("closed")); updateCoursTimer(room.id, ""); } } @@ -331,7 +300,7 @@ function updatePcStates(json) { var l = json.length; for (var i = 0; i < l; i++) { - updateRoomUsage(json[i].id, json[i].idle, json[i].occupied, json[i].offline, json[i].broken, json[i].standby) + updateRoomUsage(json[i].id, json[i].idle, json[i].occupied, json[i].offline, json[i].broken, json[i].standby); } } @@ -428,109 +397,86 @@ /** * computes state of a room, states are: - * closed, FreeNoEnd, Free, ClaendarEvent. - * @param Room Object + * closed, FreeNoEnd, Free, CalendarEvent. + * @param room Object */ function ComputeCurrentState(room) { - if (room.lastRoomUpdate === null) { - room.state = {state: 'unknown'}; + if (!IsOpen(MyDate(), room)) { + room.state = {state: "closed", end: GetNextOpening(room), title: "", next: ""}; return; } - if (!IsOpenNow(room)) { - room.state = {state: "closed", end: GetNextOpening(room), titel: "", next: ""}; - return; - } - var closing = GetNextClosing(room); + console.log("Timetable", room.id, room.timetable); + var closing = GetNextClosing(room); var event = getNextEvent(room.timetable); + + console.log("Event", room.id, event); + // no event and no closing - if (closing == null && event == null) { - room.state = {state: "FreeNoEnd", end: "", titel: "", next: ""}; + if (!closing && !event) { + room.state = {state: "FreeNoEnd", end: "", title: "", next: "", free: true}; return; } // no event so closing is next - if (event == null) { - room.state = {state: "Free", end: closing, titel: "", next: "closing"}; + if (!event) { + room.state = {state: "Free", end: closing, title: "", next: "closing", free: true}; return; } // event is at the moment - if ((closing == null || event.start.getTime() < closing.getTime()) && event.start.getTime() < new MyDate()) { - room.state = {state: "CalendarEvent", end: event.end, titel: event.title, next: ""}; + if ((!closing || event.start.getTime() < closing.getTime()) && event.start.getTime() < MyDate()) { + room.state = { + state: "CalendarEvent", + end: event.end, + title: event.title, + next: "" + }; + console.log("CalendarEvent", room.id, room.state); return; } // no closing so event is next - if (closing == null) { - room.state = {state: "Free", end: event.start, titel: "", next: "event"}; + if (!closing) { + room.state = {state: "Free", end: event.start, title: "", next: "event", free: true}; return; } // event sooner then closing if (event.start.getTime() < closing) { - room.state = {state: "Free", end: event.start, titel: "", next: "event"}; - } else if (event.start.getTime() > closing) { - room.state = {state: "Free", end: closing, titel: "", next: "closing"}; - } - } - - /** - * checks if a room is open - * @param room Room object - * @returns bool for open or not - */ - function IsOpenNow(room) { - var now = new MyDate(); - if (room.openingTimes == null) { - - // changes from falls needs testing - return true; + room.state = {state: "Free", end: event.start, title: "", next: "event", free: true}; + } else { + room.state = {state: "Free", end: closing, title: "", next: "closing", free: true}; } - var tmp = room.openingTimes[now.getDay()]; - if (tmp == null) { - return false; - } - for (var i = 0; i < tmp.length; i++) { - var openDate = new MyDate(); - openDate.setHours(tmp[i].HourOpen); - openDate.setMinutes(tmp[i].MinutesOpen); - var closeDate = new MyDate(); - closeDate.setHours(tmp[i].HourClose); - closeDate.setMinutes(tmp[i].MinutesClose); - if (openDate < now && closeDate > now) { - return true; - } - } - return false; } /** * returns next event from a given json of events - * @param json Json which contains the calendar data. - * @returns event next Carlendar Event + * @param calEvents Json which contains the calendar data. + * @returns event next Calendar Event */ - function getNextEvent(json) { - if (json == null) { - return; - } - var event; - var now = new MyDate(); - for (var i = 0; i < json.length; i++) { + function getNextEvent(calEvents) { + if (!calEvents) return null; + if (calEvents.constructor !== Array) { + console.log('getNextEvent called with something not array: ' + typeof(calEvents)); + return null; + } + var event = null; + var now = MyDate(); + for (var i = 0; i < calEvents.length; i++) { //event is now active - if (json[i].start.getTime() < now.getTime() && json[i].end.getTime() > now.getTime()) { - return json[i]; + if (calEvents[i].start.getTime() < now.getTime() && calEvents[i].end.getTime() > now.getTime()) { + return calEvents[i]; } //first element to consider - if (event == null) { - if (json[i].start.getTime() > now.getTime()) { - event = json[i]; + if (!event) { + if (calEvents[i].start.getTime() > now.getTime()) { + event = calEvents[i]; } - } - if (json[i].start.getTime() > now.getTime() && event.start.getTime() > json[i].start.getTime()) { - event = json[i]; + } else if (calEvents[i].start.getTime() > now.getTime() && event.start.getTime() > calEvents[i].start.getTime()) { + event = calEvents[i]; } } return event; @@ -658,7 +604,11 @@ // TODO: Add seconds again with a better update rate. var time_split = time.split(":"); if (time != "") { - $("#div_Time_" + id).text(time_split[0] + ":" + time_split[1]); + if (time_split[0] > 0) { + $("#div_Time_" + id).text(t("for") + " " + time_split[0] + "h " + time_split[1]+"min"); + } else { + $("#div_Time_" + id).text(t("for") + " " + time_split[1]+"min"); + } } else { $("#div_Time_" + id).text(time); } @@ -791,9 +741,44 @@ }) } + /** + * Function for translation + * @param toTranslate key which we want to translate + * @returns r translated string + */ + function t(toTranslate) { + if (tCache[toTranslate]) + return tCache[toTranslate]; + var r = $('#i18n').find('[data-tag="' + toTranslate + '"]'); + return tCache[toTranslate] = (r.length === 0 ? toTranslate : r.text()); + } + var tCache = {}; + </script> </head> <body> <div id="main"></div> + +<div id="i18n"> + <span data-tag="room">{{lang_room}}</span> + <span data-tag="closed">{{lang_closed}}</span> + <span data-tag="free">{{lang_free}}</span> + <span data-tag="for">{{lang_for}}</span> + <span data-tag="shortSun">{{lang_shortSun}}</span> + <span data-tag="shortMon">{{lang_shortMon}}</span> + <span data-tag="shortTue">{{lang_shortTue}}</span> + <span data-tag="shortWed">{{lang_shortWed}}</span> + <span data-tag="shortThu">{{lang_shortThu}}</span> + <span data-tag="shortFri">{{lang_shortFri}}</span> + <span data-tag="shortSat">{{lang_shortSat}}</span> + <span data-tag="longSun">{{lang_longSun}}</span> + <span data-tag="longMon">{{lang_longMon}}</span> + <span data-tag="longTue">{{lang_longTue}}</span> + <span data-tag="longWed">{{lang_longWed}}</span> + <span data-tag="longThu">{{lang_longThu}}</span> + <span data-tag="longFri">{{lang_longFri}}</span> + <span data-tag="longSat">{{lang_longSat}}</span> + <span data-tag="to">{{lang_to}}</span> +</div> </body> </html> diff --git a/modules-available/locationinfo/templates/page-config-panel-default.html b/modules-available/locationinfo/templates/page-config-panel-default.html index b55e3d4d..116c2e11 100644 --- a/modules-available/locationinfo/templates/page-config-panel-default.html +++ b/modules-available/locationinfo/templates/page-config-panel-default.html @@ -28,9 +28,9 @@ <input class="form-control" name="name" id="panel-title" type="text" value="{{panelname}}"> </div> <div class="col-sm-2"> - <a class="btn btn-default helptext" title="{{lang_displayNameTooltip}}"> + <p class="btn btn-static helptext" title="{{lang_displayNameTooltip}}"> <span class="glyphicon glyphicon-question-sign"></span> - </a> + </p> </div> </div> </div> @@ -48,9 +48,9 @@ </select> </div> <div class="col-sm-2"> - <a class="btn btn-default helptext" title="{{lang_languageTooltip}}"> + <p class="btn btn-static helptext" title="{{lang_languageTooltip}}"> <span class="glyphicon glyphicon-question-sign"></span> - </a> + </p> </div> </div> </div> @@ -69,9 +69,9 @@ </select> </div> <div class="col-sm-2"> - <a class="btn btn-default helptext" title="{{lang_modeTooltip}}"> + <p class="btn btn-static helptext" title="{{lang_modeTooltip}}"> <span class="glyphicon glyphicon-question-sign"></span> - </a> + </p> </div> </div> </div> @@ -85,9 +85,9 @@ <input id="input-eco" type="checkbox" name="eco" {{eco_checked}}> </div> <div class="col-sm-2"> - <a class="btn btn-default helptext" title="{{lang_ecoTooltip}}"> + <p class="btn btn-static helptext" title="{{lang_ecoTooltip}}"> <span class="glyphicon glyphicon-question-sign"></span> - </a> + </p> </div> </div> </div> @@ -101,9 +101,25 @@ <input id="input-prettytime" type="checkbox" name="prettytime" {{prettytime_checked}}> </div> <div class="col-sm-2"> - <a class="btn btn-default helptext" title="{{lang_prettytimeTooltip}}"> + <p class="btn btn-static helptext" title="{{lang_prettytimeTooltip}}"> <span class="glyphicon glyphicon-question-sign"></span> - </a> + </p> + </div> + </div> + </div> + + <div class="list-group-item"> + <div class="row"> + <div class="col-sm-3"> + <label for="input-roomplanner">{{lang_useRoomplanner}}</label> + </div> + <div class="col-sm-7"> + <input id="input-roomplanner" type="checkbox" name="roomplanner" {{roomplanner_checked}}> + </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> @@ -128,9 +144,9 @@ max="1440" value="{{calupdate}}" required> </div> <div class="col-sm-2"> - <a class="btn btn-default helptext" title="{{lang_calupdateTooltip}}"> + <p class="btn btn-static helptext" title="{{lang_calupdateTooltip}}"> <span class="glyphicon glyphicon-question-sign"></span> - </a> + </p> </div> </div> </div> @@ -145,9 +161,9 @@ max="86400" value="{{roomupdate}}" required> </div> <div class="col-sm-2"> - <a class="btn btn-default helptext" title="{{lang_roomupdateTooltip}}"> + <p class="btn btn-static helptext" title="{{lang_roomupdateTooltip}}"> <span class="glyphicon glyphicon-question-sign"></span> - </a> + </p> </div> </div> </div> @@ -177,9 +193,9 @@ <input id="input-vertical" type="checkbox" name="vertical" {{vertical_checked}}> </div> <div class="col-sm-2"> - <a class="btn btn-default helptext" title="{{lang_verticalTooltip}}"> + <p class="btn btn-static helptext" title="{{lang_verticalTooltip}}"> <span class="glyphicon glyphicon-question-sign"></span> - </a> + </p> </div> </div> </div> @@ -193,9 +209,9 @@ <input id="scaledaysauto" type="checkbox" name="scaledaysauto" {{scaledaysauto_checked}}> </div> <div class="col-sm-2"> - <a class="btn btn-default helptext" title="{{lang_autoscaleTooltip}}"> + <p class="btn btn-static helptext" title="{{lang_autoscaleTooltip}}"> <span class="glyphicon glyphicon-question-sign"></span> - </a> + </p> </div> </div> </div> @@ -217,9 +233,9 @@ </select> </div> <div class="col-sm-2"> - <a class="btn btn-default helptext" title="{{lang_daysToShowTooltip}}"> + <p class="btn btn-static helptext" title="{{lang_daysToShowTooltip}}"> <span class="glyphicon glyphicon-question-sign"></span> - </a> + </p> </div> </div> </div> @@ -238,9 +254,9 @@ </select> </div> <div class="col-sm-2"> - <a class="btn btn-default helptext" title="{{lang_rotationTooltip}}"> + <p class="btn btn-static helptext" title="{{lang_rotationTooltip}}"> <span class="glyphicon glyphicon-question-sign"></span> - </a> + </p> </div> </div> </div> @@ -255,9 +271,9 @@ <input id="input-scale" name="scale" type="range" step="1" min="10" max="90" value="{{scale}}"> </div> <div class="col-sm-2"> - <a class="btn btn-default helptext" title="{{lang_scaleTooltip}}"> + <p class="btn btn-static helptext" title="{{lang_scaleTooltip}}"> <span class="glyphicon glyphicon-question-sign"></span> - </a> + </p> </div> </div> </div> @@ -272,9 +288,9 @@ <input id="input-switchtime" name="switchtime" type="range" step="1" min="1" max="120" value="{{switchtime}}"> </div> <div class="col-sm-2"> - <a class="btn btn-default helptext" title="{{lang_switchTimeTooltip}}"> + <p class="btn btn-static helptext" title="{{lang_switchTimeTooltip}}"> <span class="glyphicon glyphicon-question-sign"></span> - </a> + </p> </div> </div> </div> @@ -293,7 +309,7 @@ </ul> <div class="dropdown pull-right"> - <button type="button" class="btn btn-success dropdown-toggle" data-toggle="dropdown"> + <button id="addLocDdBtn" type="button" class="btn btn-success dropdown-toggle" data-toggle="dropdown"> <span class="glyphicon glyphicon-plus"></span> </button> <ul class="dropdown-menu" id="location-list"> @@ -309,8 +325,10 @@ </div> </div> - <button type="submit" class="btn btn-primary">{{lang_save}}</button> - <a href="?do=locationinfo&show=panels" class="btn btn-default">{{lang_cancel}}</a> + <div class="text-right"> + <a href="?do=locationinfo&show=panels" class="btn btn-default">{{lang_cancel}}</a> + <button type="submit" class="btn btn-primary">{{lang_save}}</button> + </div> </form> <div class="modal fade" id="no-locations-message" tabindex="-1" role="dialog"> @@ -336,9 +354,10 @@ document.addEventListener("DOMContentLoaded", function () { var $selLocs = $('#selected-locations'); var $locList = $('#location-list'); var $locInput = $('#locationids'); + var $addLocDbBtn = $('#addLocDdBtn'); // Initialize fancy tooltips - $('a.helptext').tooltip(); + $('p.helptext').tooltip(); // Add listener to range sliders so their label can be updated $('input[type="range"]').change(function () { $(this).siblings().find('.range-display').text($(this).val()); @@ -372,6 +391,7 @@ document.addEventListener("DOMContentLoaded", function () { // Adding/removing locations $locList.find('a').click(function(ev) { ev.preventDefault(); + ev.stopPropagation(); var $this = $(this); var name = $this.find('.name').text(); var id = $this.data('lid'); @@ -388,13 +408,24 @@ document.addEventListener("DOMContentLoaded", function () { function addLocation(id, name) { $selLocs.find('li[data-lid="' + id + '"]').remove(); - var delButton = $('<button class="btn btn-danger btn-xs" type="button">').append($('<span class="glyphicon glyphicon-remove">')).click(delParent); - $selLocs.append($('<li>').attr('data-lid', id).text(name).prepend(delButton)); + var delButton = $('<button style="margin-right: 5px;" class="btn btn-danger btn-xs" type="button">').append($('<span class="glyphicon glyphicon-remove">')).click(delParent); + $selLocs.append($('<li style="margin-top: 5px;">').attr('data-lid', id).text(name).prepend(delButton)); + + if ($selLocs.find('li').length >= 4) { + $addLocDbBtn.prop("disabled",true); + var $addLocBtnParent = $addLocDbBtn.parent(); + if ($addLocBtnParent.hasClass('open')) { + $addLocBtnParent.removeClass('open'); + } + } } function delParent() { $(this).parent().remove(); serializeLocs(); + if ($selLocs.find('li').length < 4) { + $addLocDbBtn.prop("disabled",false); + } } function serializeLocs() { diff --git a/modules-available/locationinfo/templates/page-config-panel-summary.html b/modules-available/locationinfo/templates/page-config-panel-summary.html index 2a968fc2..a77719b8 100644 --- a/modules-available/locationinfo/templates/page-config-panel-summary.html +++ b/modules-available/locationinfo/templates/page-config-panel-summary.html @@ -28,9 +28,9 @@ <input class="form-control" name="name" id="panel-title" type="text" value="{{panelname}}"> </div> <div class="col-sm-2"> - <a class="btn btn-default helptext" title="{{lang_displayNameTooltip}}"> + <p class="btn btn-static helptext" title="{{lang_displayNameTooltip}}"> <span class="glyphicon glyphicon-question-sign"></span> - </a> + </p> </div> </div> </div> @@ -48,9 +48,9 @@ </select> </div> <div class="col-sm-2"> - <a class="btn btn-default helptext" title="{{lang_languageTooltip}}"> + <p class="btn btn-static helptext" title="{{lang_languageTooltip}}"> <span class="glyphicon glyphicon-question-sign"></span> - </a> + </p> </div> </div> </div> @@ -64,9 +64,25 @@ <input id="input-eco" type="checkbox" name="eco" {{eco_checked}}> </div> <div class="col-sm-2"> - <a class="btn btn-default helptext" title="{{lang_ecoTooltip}}"> + <p class="btn btn-static helptext" title="{{lang_ecoTooltip}}"> <span class="glyphicon glyphicon-question-sign"></span> - </a> + </p> + </div> + </div> + </div> + + <div class="list-group-item"> + <div class="row"> + <div class="col-sm-3"> + <label for="input-roomplanner">{{lang_useRoomplanner}}</label> + </div> + <div class="col-sm-7"> + <input id="input-roomplanner" type="checkbox" name="roomplanner" {{roomplanner_checked}}> + </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> @@ -91,6 +107,34 @@ </div> </div> </div> + + <div class="col-md-6"> + <div class="panel panel-default"> + <div class="panel-heading">{{lang_updateRates}}</div> + <div class="panel-body"> + <div class="list-group"> + + <div class="list-group-item"> + <div class="row"> + <div class="col-sm-3"> + <label for="form-panelupdate">{{lang_panel}}</label> + </div> + <div class="col-sm-7"> + <input class="form-control" name="panelupdate" type="number" min="15" id="form-panelupdate" + max="86400" value="{{panelupdate}}" required> + </div> + <div class="col-sm-2"> + <p class="btn btn-static helptext" title="{{lang_panelupdateTooltip}}"> + <span class="glyphicon glyphicon-question-sign"></span> + </p> + </div> + </div> + </div> + + </div> + </div> + </div> + </div> </div> <div class="modify-inputs"> @@ -101,7 +145,7 @@ <div class="panel-heading">{{lang_locations}}</div> <div class="panel-body"> <input type="hidden" name="locationids" value="{{locationids}}" id="locationids"> - <p>{{lang_fourLocsHint}}</p> + <p>{{lang_locsHint}}</p> <ul id="selected-locations" class="list-unstyled"> </ul> @@ -122,8 +166,10 @@ </div> </div> - <button type="submit" class="btn btn-primary">{{lang_save}}</button> - <a href="?do=locationinfo&show=panels" class="btn btn-default">{{lang_cancel}}</a> + <div class="text-right"> + <a href="?do=locationinfo&show=panels" class="btn btn-default">{{lang_cancel}}</a> + <button type="submit" class="btn btn-primary">{{lang_save}}</button> + </div> </form> <div class="modal fade" id="no-locations-message" tabindex="-1" role="dialog"> @@ -151,7 +197,7 @@ document.addEventListener("DOMContentLoaded", function () { var $locInput = $('#locationids'); // Initialize fancy tooltips - $('a.helptext').tooltip(); + $('p.helptext').tooltip(); // Add listener to range sliders so their label can be updated $('input[type="range"]').change(function () { $(this).siblings().find('.range-display').text($(this).val()); @@ -171,6 +217,7 @@ document.addEventListener("DOMContentLoaded", function () { // Adding/removing locations $locList.find('a').click(function(ev) { ev.preventDefault(); + ev.stopPropagation(); var $this = $(this); var name = $this.find('.name').text(); var id = $this.data('lid'); @@ -187,8 +234,8 @@ document.addEventListener("DOMContentLoaded", function () { function addLocation(id, name) { $selLocs.find('li[data-lid="' + id + '"]').remove(); - var delButton = $('<button class="btn btn-danger btn-xs" type="button">').append($('<span class="glyphicon glyphicon-remove">')).click(delParent); - $selLocs.append($('<li>').attr('data-lid', id).text(name).prepend(delButton)); + var delButton = $('<button style="margin-right: 5px;" class="btn btn-danger btn-xs" type="button">').append($('<span class="glyphicon glyphicon-remove">')).click(delParent); + $selLocs.append($('<li style="margin-top: 5px;">').attr('data-lid', id).text(name).prepend(delButton)); } function delParent() { diff --git a/modules-available/locationinfo/templates/page-config-panel-url.html b/modules-available/locationinfo/templates/page-config-panel-url.html index cca81509..1187c19f 100644 --- a/modules-available/locationinfo/templates/page-config-panel-url.html +++ b/modules-available/locationinfo/templates/page-config-panel-url.html @@ -25,9 +25,9 @@ <input class="form-control" name="name" id="panel-title" type="text" value="{{panelname}}"> </div> <div class="col-sm-2"> - <a class="btn btn-default helptext" title="{{lang_displayNameTooltip}}"> + <p class="btn btn-static helptext" title="{{lang_displayNameTooltip}}"> <span class="glyphicon glyphicon-question-sign"></span> - </a> + </p> </div> </div> </div> @@ -42,9 +42,9 @@ placeholder="http://www.bwlehrpool.de/" pattern=".*://.*" required> </div> <div class="col-sm-2"> - <a class="btn btn-default helptext" title="{{lang_urlTooltip}}"> + <p class="btn btn-static helptext" title="{{lang_urlTooltip}}"> <span class="glyphicon glyphicon-question-sign"></span> - </a> + </p> </div> </div> </div> @@ -61,9 +61,9 @@ </div> </div> <div class="col-sm-2"> - <a class="btn btn-default helptext" title="{{lang_ignoreSslTooltip}}"> + <p class="btn btn-static helptext" title="{{lang_ignoreSslTooltip}}"> <span class="glyphicon glyphicon-question-sign"></span> - </a> + </p> </div> </div> </div> @@ -77,9 +77,9 @@ <input class="form-control" id="input-reload" type="number" min="0" max="999" name="reloadminutes" pattern="\d*" value="{{reloadminutes}}"> </div> <div class="col-sm-2"> - <a class="btn btn-default helptext" title="{{lang_reloadIntervalTooltip}}"> + <p class="btn btn-static helptext" title="{{lang_reloadIntervalTooltip}}"> <span class="glyphicon glyphicon-question-sign"></span> - </a> + </p> </div> </div> </div> @@ -87,14 +87,17 @@ </div> </div> </div> - - <button type="submit" class="btn btn-primary">{{lang_save}}</button> - <a href="?do=locationinfo&show=panels" class="btn btn-default">{{lang_cancel}}</a> + <div class="text-right"> + <a href="?do=locationinfo&show=panels" class="btn btn-default">{{lang_cancel}}</a> + <button type="submit" class="btn btn-primary">{{lang_save}}</button> + </div> </form> <script type="text/javascript"><!-- document.addEventListener("DOMContentLoaded", function () { + // Initialize fancy tooltips + $('p.helptext').tooltip(); }); diff --git a/modules-available/locationinfo/templates/page-locations.html b/modules-available/locationinfo/templates/page-locations.html index b30ef2ed..c79cdfe8 100644 --- a/modules-available/locationinfo/templates/page-locations.html +++ b/modules-available/locationinfo/templates/page-locations.html @@ -8,7 +8,7 @@ <th>{{lang_locationName}}</th> <th>{{lang_backend}}</th> <th>{{lang_lastCalendarUpdate}}</th> - <th>{{lang_openingtimes}}</th> + <th class="text-center slx-smallcol">{{lang_openingtimes}}</th> </tr> </thead> @@ -17,20 +17,24 @@ <tr> <td> <div style="display:inline-block;width:{{depth}}em"></div> + {{#allowed}} <a href="#" class="loc-name {{^depth}}slx-bold{{/depth}}" data-locationid="{{locationid}}"> + {{/allowed}} {{locationname}} + {{#allowed}} <span class="glyphicon glyphicon-edit"></span> </a> + {{/allowed}} </td> <td {{#backendMissing}}class="text-danger"{{/backendMissing}}> {{backend}} </td> - <td> + <td class="text-center"> {{#backend}} {{lastCalendarUpdate}} {{/backend}} </td> - <td> + <td class="text-center"> <span class="glyphicon glyphicon-{{openingGlyph}}"></span> </td> </tr> @@ -49,8 +53,8 @@ <div class="modal-header"><h2 id="location-modal-header"></h2></div> <div class="modal-body"></div> <div class="modal-footer"> + <a class="btn btn-default" data-dismiss="modal">{{lang_close}}</a> <button type="submit" class="btn btn-primary">{{lang_save}}</button> - <a class="btn btn-primary" data-dismiss="modal">{{lang_close}}</a> </div> </form> </div> @@ -103,4 +107,4 @@ document.addEventListener("DOMContentLoaded", function () { $('#settings-form').submit(submitLocationSettings); }); -//--></script>
\ No newline at end of file +//--></script> diff --git a/modules-available/locationinfo/templates/page-panels.html b/modules-available/locationinfo/templates/page-panels.html index e17b6584..b30e7c87 100644 --- a/modules-available/locationinfo/templates/page-panels.html +++ b/modules-available/locationinfo/templates/page-panels.html @@ -9,16 +9,13 @@ <th>{{lang_panelType}}</th> <th>{{lang_locations}}</th> {{#hasRunmode}} - <th class="slx-smallcol">{{lang_runmodeTHead}}</th> + <th class="text-center slx-smallcol">{{lang_runmodeTHead}}</th> {{/hasRunmode}} - <th class="slx-smallcol">{{lang_edit}}</th> - <th class="slx-smallcol">{{lang_delete}}</th> + <th class="text-center slx-smallcol">{{lang_edit}}</th> + <th class="text-center slx-smallcol">{{lang_delete}}</th> </tr> </thead> <tbody> - <form method="post" action="?do=locationinfo" onsubmit="return confirm('{{lang_areYouSure}}')"> - <input type="hidden" name="token" value="{{token}}"> - <input type="hidden" name="action" value="deletePanel"> {{#panels}} <tr> <td> @@ -33,26 +30,27 @@ {{#locationurl}}</a>{{/locationurl}} </td> {{#hasRunmode}} - <td> - <a class="btn btn-default btn-xs" href="?do=runmode&module=locationinfo&modeid={{paneluuid}}&redirect=?do=locationinfo"> + <td class="text-center" style="vertical-align: middle"> + <a class="btn btn-default btn-xs {{runmode_disabled}}" + href="?do=runmode&module=locationinfo&modeid={{paneluuid}}&redirect=?do=locationinfo"> <span class="glyphicon glyphicon-edit"></span> </a> {{assignedMachineCount}} </td> {{/hasRunmode}} - <td> - <a class="btn btn-default btn-xs" href="?do=locationinfo&show=edit-panel&uuid={{paneluuid}}"> + <td class="text-center" style="vertical-align: middle"> + <a class="btn btn-default btn-xs {{edit_disabled}}" + href="?do=locationinfo&show=edit-panel&uuid={{paneluuid}}"> <span class="glyphicon glyphicon-cog"></span> </a> </td> - <td> - <button type="submit" name="uuid" value="{{paneluuid}}" class="btn btn-danger btn-xs"> + <td class="text-center" style="vertical-align: middle"> + <button type="button" class="btn btn-xs btn-danger" data-toggle="modal" data-target="#deleteModal" onclick="deletePanel('{{paneluuid}}')" {{edit_disabled}}> <span class="glyphicon glyphicon-trash"></span> </button> </td> </tr> {{/panels}} - </form> </tbody> </table> @@ -69,4 +67,33 @@ <span class="glyphicon glyphicon-plus"></span> {{lang_urlPanel}} </a> -</div>
\ No newline at end of file +</div> + +<form method="post" action="?do=locationinfo"> +<input type="hidden" name="token" value="{{token}}"> + +<div class ="modal fade" id="deleteModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"> + <div class="modal-dialog" role="document"> + <div class="modal-content"> + <div class="modal-header"> + <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> + <h4 class="modal-title" id="myModalLabel">{{lang_delete}}</h4> + </div> + <div class="modal-body"> + <p>{{lang_deleteConfirmation}}</p> + </div> + <div class="modal-footer"> + <input type="hidden" id="delete-panel-id" name="uuid" value=""> + <button type="button" class="btn btn-default" data-dismiss="modal">{{lang_cancel}}</button> + <button type="submit" name="action" value="deletePanel" class="btn btn-danger"><span class="glyphicon glyphicon-trash"></span> {{lang_delete}}</button> + </div> + </div> + </div> +</div> +</form> + +<script> + function deletePanel(panelid) { + $("#delete-panel-id").val(panelid); + } +</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 index eefb1ed5..46a148ce 100644 --- a/modules-available/locationinfo/templates/page-servers.html +++ b/modules-available/locationinfo/templates/page-servers.html @@ -2,49 +2,67 @@ <p>{{lang_serverTableHints}}</p> -<table class="table table-hover"> - <thead> - <tr> - <th width="1">{{lang_serverType}}</th> - <th>{{lang_locationName}}</th> - <th width="1"></th> - <th width="1"></th> - </tr> - </thead> - <tbody> - {{#serverlist}} - <form method="post" action="?do=locationinfo"> - <input type="hidden" name="token" value="{{token}}"> - <input type="hidden" name="serverid" value="{{serverid}}"> +<form method="post" action="?do=locationinfo"> + <table class="table table-hover"> + <thead> <tr> - <td nowrap>{{typename}}</td> - <td nowrap>{{servername}}</td> - - <td align="center" nowrap> - <button class="btn btn-xs {{^autherror}}btn-default{{/autherror}}{{#autherror}}btn-danger{{/autherror}}" - data-server-edit="{{serverid}}" {{disabled}} type="button"> - <span class="glyphicon glyphicon-cog"></span> - {{lang_edit}} - </button> - <button class="btn btn-xs btn-primary server-check" {{disabled}} name="action" value="checkConnection" - type="submit"> - <span class="glyphicon glyphicon-refresh"></span> - {{lang_checkConnection}} - </button> - </td> - <td align="center" nowrap> - <button class="btn btn-xs btn-danger server-delete" type="submit" name="action" value="deleteServer"> - <span class="glyphicon glyphicon-trash"></span> - {{lang_delete}} - </button> - </td> + <th class="text-center slx-smallcol">{{lang_serverType}}</th> + <th>{{lang_locationName}}</th> + <th class="text-center slx-smallcol">{{lang_edit}}</th> + <th class="text-center slx-smallcol">{{lang_checkConnection}}</th> + <th class="text-center slx-smallcol">{{lang_delete}}</th> </tr> - </form> - {{/serverlist}} - </tbody> -</table> + </thead> + <tbody> + {{#serverlist}} + <input type="hidden" name="token" value="{{token}}"> + <input type="hidden" name="serverid" value="{{serverid}}"> + <tr> + <td nowrap>{{typename}}</td> + <td nowrap>{{servername}}</td> + + <td class="text-center"> + <button class="btn btn-xs {{^autherror}}btn-default{{/autherror}}{{#autherror}}btn-danger{{/autherror}}" + data-server-edit="{{serverid}}" {{disabled}} {{perms.backend.edit.disabled}} type="button"> + <span class="glyphicon glyphicon-cog"></span> + </button> + </td> + <td class="text-center"> + <button class="btn btn-xs btn-primary server-check" {{disabled}} {{perms.backend.check.disabled}} + name="action" value="checkConnection" type="submit"> + <span class="glyphicon glyphicon-refresh"></span> + </button> + </td> + <td class="text-center"> + <button type="button" class="btn btn-xs btn-danger" data-toggle="modal" data-target="#deleteModal" {{perms.backend.edit.disabled}}> + <span class="glyphicon glyphicon-trash"></span> + </button> + </td> + </tr> + {{/serverlist}} + </tbody> + </table> + + <div class ="modal fade" id="deleteModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"> + <div class="modal-dialog" role="document"> + <div class="modal-content"> + <div class="modal-header"> + <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> + <h4 class="modal-title" id="myModalLabel">{{lang_delete}}</h4> + </div> + <div class="modal-body"> + <p>{{lang_deleteConfirmation}}</p> + </div> + <div class="modal-footer"> + <button type="button" class="btn btn-default" data-dismiss="modal">{{lang_cancel}}</button> + <button type="submit" name="action" value="deleteServer" class="btn btn-danger"><span class="glyphicon glyphicon-trash"></span> {{lang_delete}}</button> + </div> + </div> + </div> + </div> +</form> -<div> +<div class="text-right"> <button class="btn btn-sm btn-success" id="addServerButton" onclick="addServer()"> <span class="glyphicon glyphicon-plus"></span> {{lang_addServer}} @@ -53,17 +71,14 @@ <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"> + <a class="btn btn-default" data-dismiss="modal">{{lang_close}}</a> <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> diff --git a/modules-available/locationinfo/templates/page-tabs.html b/modules-available/locationinfo/templates/page-tabs.html index ed3f01fd..743297e7 100644 --- a/modules-available/locationinfo/templates/page-tabs.html +++ b/modules-available/locationinfo/templates/page-tabs.html @@ -1,6 +1,6 @@ <ul class="nav nav-tabs"> - <li class="{{class-}}"><a href="?do=locationinfo">{{lang_panels}}</a></li> - <li class="{{class-locations}}"><a href="?do=locationinfo&show=locations">{{lang_locationSettings}}</a></li> - <li class="{{class-backends}}"><a href="?do=locationinfo&show=backends">{{lang_backends}}</a></li> + <li class="{{class-panels}} {{perms.panel.list.disabled}}"><a href="?do=locationinfo&show=panels">{{lang_panels}}</a></li> + <li class="{{class-locations}} {{perms.location.disabled}}"><a href="?do=locationinfo&show=locations">{{lang_locationSettings}}</a></li> + <li class="{{class-backends}} {{perms.backend.disabled}}"><a href="?do=locationinfo&show=backends">{{lang_backends}}</a></li> </ul> <br>
\ No newline at end of file diff --git a/modules-available/locationinfo/templates/server-prop-bool.html b/modules-available/locationinfo/templates/server-prop-bool.html index f430d02c..bd9dcc64 100644 --- a/modules-available/locationinfo/templates/server-prop-bool.html +++ b/modules-available/locationinfo/templates/server-prop-bool.html @@ -7,10 +7,10 @@ </div> <div class="col-md-2"> {{#helptext}} - <a class="btn btn-default" title="{{helptext}}"> + <p class="btn btn-static" title="{{helptext}}"> <span class="glyphicon glyphicon-question-sign"></span> - </a> + </p> {{/helptext}} </div> </div> -</div>
\ No newline at end of file +</div> diff --git a/modules-available/locationinfo/templates/server-prop-dropdown.html b/modules-available/locationinfo/templates/server-prop-dropdown.html index 80667766..d1351551 100644 --- a/modules-available/locationinfo/templates/server-prop-dropdown.html +++ b/modules-available/locationinfo/templates/server-prop-dropdown.html @@ -10,10 +10,10 @@ </div> <div class="col-md-2"> {{#helptext}} - <a class="btn btn-default" title="{{helptext}}"> + <p class="btn btn-static" title="{{helptext}}"> <span class="glyphicon glyphicon-question-sign"></span> - </a> + </p> {{/helptext}} </div> </div> -</div>
\ No newline at end of file +</div> diff --git a/modules-available/locationinfo/templates/server-prop-generic.html b/modules-available/locationinfo/templates/server-prop-generic.html index 9e94c23d..23ff1e4e 100644 --- a/modules-available/locationinfo/templates/server-prop-generic.html +++ b/modules-available/locationinfo/templates/server-prop-generic.html @@ -7,10 +7,10 @@ </div> <div class="col-md-2"> {{#helptext}} - <a class="btn btn-default" title="{{helptext}}"> + <p class="btn btn-static" title="{{helptext}}"> <span class="glyphicon glyphicon-question-sign"></span> - </a> + </p> {{/helptext}} </div> </div> -</div>
\ No newline at end of file +</div> |