summaryrefslogblamecommitdiffstats
path: root/modules-available/locations/templates/locations.html
blob: c2dc610ea3dd71ce4860e0bdbfa7acbb41a93924 (plain) (tree)
1
2
3
4
5
6
7
8




                                                                                            
                                                                                 
                    
                                                                   


                                                                                           


                                                                                          
                                                

                                                                                                  
                                                
                                                                                      
                             


                            

                                                                                                  
                                                                                                                                                            
                                     
                                                                      

                                                           



                                                                                                                      
                                                                                                                                                                                                        
                                                           
                                     




                                                                      
                                                        
                                                           



                                                                                                                                                                                                             
                                                                                              
                                                           
                                                           
                                     
                                                        
                                                          



                                                                                                                                                                                       
                                                                  
                                               

                                                          

                             

                                    
                                                            
                                                              
                                                   
                                                                                                                             


                                                                                          


                                                              

                                                  

                                    


















                                                                                                                           









                                                                            


























                                                                                                                                                                  
                                                            




                                                                       
                                                                               


                                                                 

                                                                                   
                                                                  
           




                                      
                                          
                           

                                                                                                                                                                        


                          
                        






                                                    
<div>
	<div class="pull-right">
		<a href="?do=Locations&amp;action=showsubnets">{{lang_thisListBySubnet}}</a>
	</div>
	<h1>{{lang_locationsMainHeading}}</h1>
	<table class="table table-condensed locations" style="margin-bottom:0px">
		<tr>
			<th width="100%">{{lang_locationName}}</th>
			<th>
				{{#havestatistics}}{{lang_machineCount}}{{/havestatistics}}
			</th>
			<th>
				{{#havestatistics}}{{lang_machineLoad}}{{/havestatistics}}
			</th>
			<th class="text-nowrap">
				{{#havebaseconfig}}{{lang_editConfigVariables}}{{/havebaseconfig}}
			</th>
			<th class="text-nowrap">
				{{#havesysconfig}}{{lang_sysConfig}}{{/havesysconfig}}
			</th>
		</tr>
		{{#list}}
			<tr>
				<td>
					<div style="display:inline-block;width:{{depth}}em"></div>
					<a href="#" onclick="slxOpenLocation(this, {{locationid}}); return false">{{locationname}} <b class="caret"></b></a>
				</td>
				<td class="text-nowrap" align="right">
					{{#havestatistics}}
					{{clientCount}}
					<span class="text-muted">
						/
						<span style="display:inline-block;width:3ex">{{clientCountSum}}</span>
					</span>
					<a class="btn btn-default btn-xs" href="?do=Statistics&amp;show=list&amp;filters=location={{locationid}}"><span class="glyphicon glyphicon-eye-open"></span></a>
					{{/havestatistics}}
				</td>
				<td class="text-nowrap" align="right">
					{{#havestatistics}}
					{{clientLoad}}
					{{/havestatistics}}
				</td>
				<td class="text-nowrap">
					{{#havebaseconfig}}
					<div class="pull-right" style="z-index:-1">
						<a class="btn btn-default btn-xs" href="?do=baseconfig&amp;module=locations&amp;locationid={{locationid}}"><span class="glyphicon glyphicon-edit"></span></a>
					</div>
					{{#overriddenVars}}
					{{lang_overrideCount}}: {{overriddenVars}}&emsp;&emsp;
					{{/overriddenVars}}
					{{/havebaseconfig}}
				</td>
				<td class="text-nowrap">
					{{#havesysconfig}}
					<div class="pull-right">
						<a class="btn btn-default btn-xs" href="?do=sysconfig&amp;locationid={{locationid}}"><span class="glyphicon glyphicon-edit"></span></a>
					</div>
					<span class="{{configClass}}">
					{{configName}}&emsp;&emsp;
					</span>
					{{/havesysconfig}}
				</td>
			</tr>
		{{/list}}
		{{#unassignedCount}}
		<tr>
			<td>{{lang_unassignedMachines}}</td>
			<td class="text-nowrap" align="right">
				{{unassignedCount}}
				<a class="btn btn-default btn-xs" href="?do=Statistics&amp;show=list&amp;filters=location=0">
					<span class="glyphicon glyphicon-eye-open"></span>
				</a>
			</td>
			<td class="text-nowrap" align="right">
				{{clientLoad}}
			</td>
			<td></td>
			<td>{{defaultConfig}}</td>
		</tr>
		{{/unassignedCount}}
	</table>
	<form method="post" action="?do=Locations">
		<input type="hidden" name="token" value="{{token}}">
		<input type="hidden" name="action" value="addlocations">
		<table class="table table-condensed table-hover">
			<tr id="lasttr">
				<td>
					<button class="btn btn-success btn-sm" type="button" onclick="slxAddLocationRow()">
						<span class="glyphicon glyphicon-plus-sign"></span> {{lang_location}}
					</button>
				</td>
				<td width="80%">&emsp;</td>
				<td width="20%" align="right">
					<button type="submit" class="btn btn-primary">{{lang_save}}</button>
				</td>
			</tr>
		</table>
	</form>
</div>
{{#overlapSelf}}
<div class="alert alert-warning">
	{{lang_locationSelfOverlap}}: <b>{{locationname}}</b>
</div>
{{/overlapSelf}}
{{#overlapOther}}
<div class="alert alert-danger">
	{{lang_locationOtherOverlap}}: <b>{{name1}}</b><b>{{name2}}</b>
</div>
{{/overlapOther}}
<script type="text/javascript"><!--
var slxAddCounter = 0;
var slxLastLocation = false;

function slxAddLocationRow() {
	var tr = $('#lasttr');
	tr.before('<tr>\
		<td>#</td>\
		<td><input class="form-control" type="text" name="newlocation[' + slxAddCounter + ']" placeholder="{{lang_locationName}}" pattern=".*\\S.*"></td>\
		<td><select class="form-control" name="newparent[' + slxAddCounter + ']">\
		<option value="0">{{lang_noParent}}</option>\
		{{#list}}<option value="{{locationid}}">{{locationpad}} {{locationname}}</option>{{/list}}\
		</select></td>\
	</tr>');
	slxAddCounter++;
}

function slxOpenLocation(e, lid) {
	if (slxLastLocation !== false) {
		slxLastLocation.hide();
		$(slxLastLocation).prev().removeClass('active slx-bold');
	}
	var existing = $('#location-details-' + lid);
	if (existing.length > 0) {
		if (existing.is(slxLastLocation)) {
			slxLastLocation = false;
		} else {
			existing.show()[0].scrollIntoView();
			$(e).closest('tr').addClass('active slx-bold');
			slxLastLocation = existing;
		}
		return;
	}
	var td = $('<td>').attr('colspan', '5').css('padding', '0px 0px 12px');
	var tr = $('<tr>').attr('id', 'location-details-' + lid);
	tr.append(td);
	$(e).closest('tr').addClass('active slx-bold').after(tr);
	td.load('?do=Locations&action=showlocation&locationid=' + lid, function() {
		slxAttachCidr();
		$('#location-details-' + lid)[0].scrollIntoView();
	});
	slxLastLocation = tr;
}

function slxAddSubnetRow(e, lid) {
	var tr = $('#loc-sub-' + lid);
	tr.before('<tr class="cidrmagic">\
		<td>#</td>\
		<td><input class="form-control cidrstart" type="text" name="newstartaddr[' + slxAddCounter + ']" pattern="\\d{1,3}\.\\d{1,3}\.\\d{1,3}\.\\d{1,3}"></td>\
		<td><input class="form-control cidrend" type="text" name="newendaddr[' + slxAddCounter + ']" pattern="\\d{1,3}\.\\d{1,3}\.\\d{1,3}\.\\d{1,3}"></td>\
		<td></td>\
	</tr>');
	slxAddCounter++;
	slxAttachCidr();
}

function slxConfirm() {
	return confirm('{{lang_areYouSureNoUndo}}');
}
	// -->
</script>