summaryrefslogblamecommitdiffstats
path: root/modules-available/locationinfo/templates/location-info.html
blob: 65a7a0dc2cdcf273f62ff88a5dc3e98c33c43b2d (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
13


                            









                                                                                                              
                                                                        










                                                                                                                                         

                                                                                                                                                                        
                                                                                                                                                  
                                                                  







                                                                                                                                                                                                   

                                                                                                                        
                                                                                                                                                                                                                                                                                                                      

















                                                                                                                                                                                              





                               
                                                                       

            

                                                     
                                                        
                                               
                                                      



                                               
                                                    
 
                                                                                                                                                                                         
                                                        
                                                                                     
 

                                                                                               

                                                                      
 
                             
                            
 






                                                                                                    

                                                                                                                                                                                                          
             
 
         

        

                                                                 
 
                               
                                                         




                                                                          
 



                               


                             









                                                                                              






                                                                                               



                                                                                                   
                                                                               






                                                                                                   
 
 














                                                                 









                                                                  
























                                                  

                                            


































































                                                                                                                                                             
                                                                                                                                        
                                                                                            
                               

                                                                                                                                                                                                      








                                                                                                                            
         
      
<div>
<h1>{{lang_mainHeader}}</h1>

<br>
<h4>{{lang_serverTable}}</h4>
<div id="serverTable">

	<table class="table table-condensed locations" style="margin-bottom:0;">
		<tr>
			<th width="30" style="text-align: center;" title="{{lang_serverID}}">{{lang_sID}}</th>
			<th width="90">{{lang_serverType}}</th>
			<th>{{lang_locationName}}</th>
			<th>{{lang_serverUrl}}</th>
			<th width="80" style="text-align: center;"></th>
			<th width="80" style="text-align: center;"></th>
		</tr>
{{#serverlist}}
		<form method="post" action="?do=locationinfo" id="serverForm-{{id}}">
			<input type="hidden" name="token" value="{{token}}">
			<input id="serverFormAction-{{id}}" type="hidden" name="action" value="updateServer">
			<input type="submit" id="submit-serverForm-{{id}}" style="display:none;">

				<tr class=tablerow>
					<td align="center"><input id="input-id-{{id}}" name="id" type="hidden" value="{{id}}">{{id}}</td>
					<td id="type-{{id}}">
						<select disabled id="input-type-{{id}}" name="type" value="{{type}}" onchange="servertype_changed(this.value, {{id}});">
							{{#types}}
								<option id="{{type}}" value="{{type}}" {{#active}}selected{{/active}} >{{display}}
							{{/types}}
						</select>
					</td>
					<td id="name-{{id}}" style="padding:8px;">
							<input readonly required id="input-name-{{id}}" name="name" type="text" value="{{name}}" style="padding:0;height:100%;width:100%;"></input>
					</td>
					<td id="url-{{id}}" style="padding:8px;">
							<input readonly required id="input-url-{{id}}" name="url" type="text" value="{{url}}" style="padding:0;height:100%;width:100%;"></input>
					</td>

					<td align="center" id="credentials-{{id}}" onclick="event.cancelBubble = true;">
						<button {{#auth}}class="btn btn-sm btn-success"{{/auth}}{{^auth}}class="btn btn-sm btn-danger"{{/auth}} id="credentials-btn-{{id}}" type="button" title="credentials" onclick="loadCredentialModal({{id}},'{{name}}');" id="credentials">{{lang_credentials}}</button>
					</td>
					<td align="center" id="btncell-{{id}}">
						<button class="btn btn-sm btn-primary table-edit" title="{{lang_edit}}" onclick="editButtonClick({{id}});" id="edit">&#x270E</button>
						<button class="btn btn-sm btn-danger table-delete" type="button" title="{{lang_delete}}" onclick="deleteButtonClick({{id}});">&#10008</button>
					</td>
				</tr>
			</form>
{{/serverlist}}
			<form method="post" action="?do=locationinfo" id="serverForm-0">
				<input type="hidden" name="token" value="{{token}}">
				<input id="serverFormAction-0" type="hidden" name="action" value="updateServer">
				<input type="submit" id="submit-serverForm-0" style="display:none;">
				<tr id="lastServerTableElement"></tr>
			</form>

		</table>
		<br>
		<button class="btn btn-success btn-sm" id="addServerButton" onclick="addNewServerRow()"><span class="glyphicon glyphicon-plus-sign"> {{lang_addServer}}</span></button>
		<br><br><br>

</div>
<br>

<h4>{{lang_buildingTable}}</h4>
<table class="table table-condensed locations" style="margin-bottom:0">

	<tr>
		<th>{{lang_locationName}}</th>
		<th width=10>{{lang_locationID}}</th>
		<th width=80>{{lang_locationInUse}}</th>
    <th width=50>{{lang_locationIsHidden}}</th>
		<th width=50>{{lang_openingTime}}</th>
    <th width=50>{{lang_locationSettings}}</th>
	</tr>

{{#list}}
	<tr id="row{{locationid}}" class="tablerow">

		<td><div style="display:inline-block;width:{{depth}}em"></div><a href="modules-available/locationinfo/frontend/doorsign.html?id={{locationid}}">{{locationname}}</a></td>
		<td align="center">[{{locationid}}]</td>
		<td align="center">{{#hasPcs}}{{pcState}} / {{total}}{{/hasPcs}}</td>

		<td id={{locationid}} onclick="event.cancelBubble = true;" align="center"></td>
		<script>
		  var cbh = document.getElementById('{{locationid}}');
			var cb = document.createElement('input');

    	cb.type = 'checkbox';
    	cbh.appendChild(cb);

    	cb.id = 'cb' + {{locationid}};
    	cb.value = {{hidden}};
			if ({{hidden}} == 1) {
				cb.checked = true;
			}
			cb.addEventListener("click", function() { cbClick(this, {{locationid}}); });
    </script>
		<td onclick="event.cancelBubble = true;"><a class="btn btn-sm btn-default" role="button" onclick="loadTimeModal({{locationid}}, '{{locationname}}');">{{lang_openingTime}}</a></td>
		<td onclick="event.cancelBubble = true;"><a class="btn btn-sm btn-default" role="button" onclick="loadConfigModal({{locationid}}, '{{locationname}}');">{{lang_locationSettings}}</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">
        <a class="btn btn-primary" data-dismiss="modal">{{lang_close}}</a>
      </div>
    </div>

  </div>
</div>

<script type="text/javascript">
var lastPcSubTable = false;

function cbClick(cb, locID) {
	var value;

	if (cb.checked == true) {
		value = 1;
	} else {
		value = 0;
	}
	window.location.href = "?do=locationinfo&action=hide&id=" + locID + "&value=" + value;
}

function loadCredentialModal(serverid, servername) {
	$('#myModalHeader').text("[" + serverid + "] " + servername).css("font-weight","Bold");

	$('#myModal').modal('show');
  $('#myModalBody').load("?do=locationinfo&action=credentials&id=" + serverid);
}

function loadTimeModal(locationId, locationName) {
	$('#myModalHeader').text("[" + locationId + "] " + locationName).css("font-weight","Bold");

	$('#myModal').modal('show');
  $('#myModalBody').load("?do=locationinfo&action=timetable&id=" + locationId);
}

function loadConfigModal(locationId, locationName) {
	$('#myModalHeader').text("[" + locationId + "] " + locationName).css("font-weight","Bold");

  $('#myModal').modal('show');
	$('#myModalBody').load("?do=locationinfo&action=config&id=" + locationId);
}

// ########### Server Table ###########
var preEditName;
var preEditUrl;
var preEditUser;
var preEditPassword;
var preEditType;

function deleteButtonClick(id) {
	var del = confirm("{{lang_deleteConfirmation}}");
	if (del == true) {
		$('#serverFormAction-' + id).val("deleteServer");
		$('#serverForm-' + id).submit();
	}
};

function servertype_changed(value, id) {
	if (value == "Frontend") {
		$('#input-user-' + id).removeAttr('required');
		$('#input-password-' + id).removeAttr('required');
	} else {
		$('#input-user-' + id).attr('required');
		$('#input-password-' + id).attr('required');
	}
};

function editButtonClick(id) {
	var name = $('#input-name-' + id);
	var url = $('#input-url-' + id);
	var user = $('#input-user-' + id);
	var password = $('#input-password-' + id);
	var type = $('#input-type-' + id);

	name.attr('readonly', false);
	url.attr('readonly', false);
	user.attr('readonly', false);
	password.attr('readonly', false);
	type.attr('disabled', false);

	name.css("color", "#000");
	url.css("color", "#000");
	user.css("color", "#000");
	password.css("color", "#000");
	type.css("color", "#000");

	preEditName = name.val();
	preEditUrl = url.val();
	preEditUser = user.val();
	preEditPassword = password.val();
	preEditType = type.val();

	servertype_changed(preEditType, id);

	$('#btncell-' + id).html('\
	<button class="btn btn-sm btn-success" title="{{lang_save}}" onclick="saveButtonClick(' + id + ');">&#10004</button>	\
	<button class="btn btn-sm btn-danger" title="{{lang_cancel}}" onclick="cancelButtonClick(' + id + ');">&#10008</button>');
	$('.table-edit').attr('disabled', true);
	$('.table-delete').attr('disabled', true);
	$('#addServerButton').attr('disabled', true);
};

function saveButtonClick(id) {
	//$('#input-name-' + id).val($('#lname-' + id).text());
	//$('#input-url-' + id).val($('#lurl-' + id).text());
	//$('#input-user-' + id).val($('#luser-' + id).text());
	//$('#input-password-' + id).val($('#lpassword-' + id).text());
	$('#serverFormAction-' + id).val("updateServer");

	$('#submit-serverForm-' + id).trigger("click");
};

function addNewServer() {
	$('#serverFormAction-0').val("updateServer");

	$('#submit-serverForm-0').trigger("click");
};

function cancelButtonClick(id) {
	var name = $('#input-name-' + id);
	var url = $('#input-url-' + id);
	var user = $('#input-user-' + id);
	var password = $('#input-password-' + id);
	var type = $('#input-type-' + id);

	name.attr('readonly', true);
	url.attr('readonly', true);
	user.attr('readonly', true);
	password.attr('readonly', true);
	type.attr('disabled', true);

	name.css("color", "");
	url.css("color", "");
	user.css("color", "");
	password.css("color", "");
	type.css("color", "");

	name.val(preEditName);
	url.val(preEditUrl);
	user.val(preEditUser);
	password.val(preEditPassword);
	type.val(preEditType);

	$('#btncell-' + id).html('\
	<button class="btn btn-sm btn-primary table-edit" title="{{lang_edit}}" onclick="editButtonClick(' + id + ');" id="edit">&#x270E</button> \
	<button class="btn btn-sm btn-danger table-delete" type="button" title="{{lang_delete}}" onclick="deleteButtonClick(' + id + ');">&#10008</button>');
	$('.table-edit').attr('disabled', false);
	$('.table-delete').attr('disabled', false);
	$('#addServerButton').attr('disabled', false);
}

function deleteNewServer() {
	$('#new').remove();
	$('.table-edit').attr('disabled', false);
	$('.table-delete').attr('disabled', false);
	$('#addServerButton').attr('disabled', false);
};

function addNewServerRow() {
  $('#lastServerTableElement').before('<tr class=tablerow id="new">\
		<td align="center"><input id="input-id-0" name="id" type="hidden" form="serverForm-0" value="0"></td>\
		<td id="type-0"><select id="input-type-0" name="type" form="serverForm-0" onchange="servertype_changed(this.value, 0)">\
		{{#servertypelist}}<option value="{{type}}"> {{display}}{{/servertypelist}}\
		</select></td>\
		<td id="name-0" style="padding:0;"><input required id="input-name-0" name="name" type="text" form="serverForm-0" value="" style="padding:0;height:100%;width:100%;"></input></td>\
		<td id="url-0" style="padding:0;"><a><input required id="input-url-0" name="url" type="text" form="serverForm-0" value="" style="padding:0;height:100%;width:100%;"></input></a></td>\
		<td align="center" id="btncell-new">\
		<button class="btn btn-sm btn-success" title="{{lang_save}}" onclick="addNewServer();">&#10004</button>	\
		<button class="btn btn-sm btn-danger" title="{{lang_cancel}}" onclick="deleteNewServer();">&#10008</button>\
		</td>\
	</tr>');
		$('.table-edit').attr('disabled', true);
		$('.table-delete').attr('disabled', true);
		$('#addServerButton').attr('disabled', true);
};
</script>
</div>