{% extends "base.html" %}
{% block content %}
<script src="/inc/users.js"></script>
<div id="dialog-confirm" title="Are you sure you want to delete?" style="display: none;">
  <p><span class="ui-icon ui-icon-alert" style="float:left; margin:3px 12px 20px 0;"></span>Deleting irreversibly all data will be lost?</p>
</div>
<input type="hidden" id="new-group" name="new-group" value="{{ group }}">
<input type="hidden" id="new-server-group-add" name="new-server-group-add" value="{{ group }}" >
<input type="hidden" id="new-ssh-group-add" name="new-ssh-group-add" value="{{ ssh_group }}" >
<div id="tabs">
	<ul>
		<li><a href="#users">Users</a></li>
		<li><a href="#servers">Servers</a></li>
		<li><a href="#ssh">SSH credentials</a></li>
		<li><a href="#checker">Checker</a></li>
		{% if user %}
			<a href=/app/login.py?logout=logout title="Logout, user name: {{ user }}" class="login"> Logout</a>						
		{% else %}
			<a href=/app/login.py title="Login" class="login"> Login</a>
		{% endif %}
	</ul>
	<div id="users">
		<table class="overview" id="ajax-users">
			<tr class="overviewHead">
				<td class="padding10 first-collumn">Login name</td>
				<td>Password</td>
				<td>Active</td>
				<td>Email</td>
				<td>Role</td>
				<td></td>
				<td></td>
			</tr>
			<tr>
		{% for user in users %}
			{% if user.5 == group %}
			<tr id="user-{{user.0}}" class="{{ loop.cycle('odd', 'even') }}">
				<td class="padding10 first-collumn">
					{% if user.6 == 1%}
						<input type="text" id="login-{{user.0}}" value="{{user.1}}" class="form-control" readonly>
					{% else %}
						<input type="text" id="login-{{user.0}}" value="{{user.1}}" class="form-control">
					{% endif %}
					<input type="hidden" id="usergroup-{{user.0}}" name="usergroup-{{user.0}}" value="{{ group }}">					
				</td> 
				<td>
					{% if user.6 == 1%}
						<input type="password" id="password-{{user.0}}" value="{{user.3}}" class="form-control" readonly>
					{% else %}
						<input type="password" id="password-{{user.0}}" value="{{user.3}}" class="form-control">
					{% endif %}
				</td> 
				<td class="checkbox">
					{% if user.7 == 1 %}
						<label for="activeuser-{{user.0}}"></label><input type="checkbox" id="activeuser-{{user.0}}" checked>
					{% else %}
						<label for="activeuser-{{user.0}}"></label><input type="checkbox" id="activeuser-{{user.0}}">
					{% endif %}
				</td>
				<td>
					{% if user.6 == 1%}
						<input type="text" id="email-{{user.0}}" value="{{user.2}}" class="form-control" readonly>
					{% else %}
						<input type="text" id="email-{{user.0}}" value="{{user.2}}" class="form-control">
					{% endif %}
				</td>
				<td>
					<select id="role-{{user.0}}" name="role-{{user.0}}">
						<option disabled selected>Choose role</option>
						{% for role in roles %}
							{% if role.1 != "admin" %}
								{% if user.4 == role.1 %}
									<option value="{{ role.1 }}" selected>{{ role.1 }}</option>
								{% else %}
									<option value="{{ role.1 }}">{{ role.1 }}</option>
								{% endif %}
							{% endif %}
						{% endfor %}
					</select>
				</td>
				<td>
					<a class="add" onclick="cloneUser({{user.0}})" id="clone-{{user.0}}" title="Clone {{user.1}}" style="cursor: pointer;"></a>
				</td> 
				<td>
					<a class="delete" onclick="confirmDeleteUser({{user.0}})" title="Delete user {{user.1}}" style="cursor: pointer;"></a>
				</td> 
			</tr>
			{% endif %}
		{% endfor %}
		</table>
		<br /><span class="add-button" title="Add user" id="add-user-button">+ Add</span>
		<br /><br />
		
	</div>
	<div id="servers">
		<table class="overview" id="ajax-servers">
			<tr class="overviewHead">
				<td class="padding10 first-collumn">Hostname</td>
				<td class="ip-field">IP</td>
				<td class="checkbox-head"><span title="SSH port">Port(?)</span></td></td>
				<td class="checkbox-head">Enable</td>
				<td class="checkbox-head"><span title="Vitrual IP, something like VRRP">Virt(?)</span></td>
				<td class="checkbox-head"><span title="Alert if backend change status. Before enable add Telgram chanel at Checker tab">Alert(?)</span></td>
				<td class="checkbox-head"><span title="Enable save and show metrics">Metrics(?)</span></td>
				<td class="checkbox-head"><span title="Keep start HAProxy service if down">Start(?)</span></td>
				<td class="slave-field"><span title="Actions with master config will automatically apply on slave">Slave for (?)</span></td>
				<td class="cred-field">Credentials</td>
				<td>Desciption</td>
				<td></td>
				<td></td>
			</tr>
		{% set ssh_group = [] %}		
		{% for server in servers %}
		{% do ssh_group.append(server.3) %}
			<tr id="server-{{server.0}}" class="{{ loop.cycle('odd', 'even') }}">
				<td class="padding10 first-collumn">
					<input type="text" id="hostname-{{server.0}}" value="{{server.1}}" class="form-control">
				</td>
				<td>
					<input type="text" id="ip-{{server.0}}" value="{{server.2}}" size="14" class="form-control">
					<input type="hidden" id="servergroup-{{server.0}}" name="servergroup-{{server.0}}" value="{{ group }}" >					
				</td>
				<td  class="checkbox">
					<input type="text" id="port-{{server.0}}" value="{{server.10}}" size="1" class="form-control">
				</td>
				<td  class="checkbox">
					{% if server.5 == 1 %}
						<label for="enable-{{server.0}}"></label><input type="checkbox" id="enable-{{server.0}}" checked>
					{% else %}
						<label for="enable-{{server.0}}"></label><input type="checkbox" id="enable-{{server.0}}">
					{% endif %}
				</td>
				<td  class="checkbox">
					{% if server.4 == 1 %}
						<label for="typeip-{{server.0}}"></label><input type="checkbox" id="typeip-{{server.0}}" checked>
					{% else %}
						<label for="typeip-{{server.0}}"></label><input type="checkbox" id="typeip-{{server.0}}">
					{% endif %}
				</td>
				<td  class="checkbox">
					{% if server.8 == 1 %}
						<label for="alert-{{server.0}}"></label><input type="checkbox" id="alert-{{server.0}}" checked>
					{% else %}
						<label for="alert-{{server.0}}"></label><input type="checkbox" id="alert-{{server.0}}">
					{% endif %}
				</td>
				<td  class="checkbox">
					{% if server.9 == 1 %}
						<label for="metrics-{{server.0}}"></label><input type="checkbox" id="metrics-{{server.0}}" checked>
					{% else %}
						<label for="metrics-{{server.0}}"></label><input type="checkbox" id="metrics-{{server.0}}">
					{% endif %}
				</td>
				<td class="checkbox">
					{% if server.12 == 1 %}
						<label for="active-{{server.0}}"></label><input type="checkbox" id="active-{{server.0}}" checked>
					{% else %}
						<label for="active-{{server.0}}"></label><input type="checkbox" id="active-{{server.0}}">
					{% endif %}
				</td>
				<td>
					<select id="slavefor-{{server.0}}">
						<option selected value="0">Not slave</option>
						{% for master in masters %}
							{% if master.0 == server.6 %}
								<option value="{{master.0}}" selected>{{master.1}}</option>
							{% else %}
								<option value="{{master.0}}">{{master.1}}</option>
							{% endif %}
						{% endfor %}
					</select>
				</td>
				<td>
					<div class="controlgroup">
						<select id="credentials-{{server.0}}">
							<option disabled selected>Choose credentials</option>
							{% for ssh in sshs %}
									{% if ssh.0 == server.7	%}
										<option value="{{ssh.0}}" selected>{{ssh.1}}</option>
									{% else %}
										<option value="{{ssh.0}}">{{ssh.1}}</option>
									{% endif %}
							{% endfor %}
						</select>
						<button onclick="checkSshConnect('{{server.2}}')" title="Check SSH connect to the server {{server.1}}">check</button>
					</div>
				</td>
				<td>
					{% if server.11  != "None" %}
						<input type="text" id="desc-{{server.0}}" value="{{server.11}}" size="30" class="form-control">
					{% else %}
						<input type="text" id="desc-{{server.0}}" value="" size="30" class="form-control">
					{% endif %}
				</td>
				<td>
					<a class="add" onclick="cloneServer({{server.0}})" id="clone-{{server.0}}" title="Clone {{server.1}}" style="cursor: pointer;"></a>
				</td> 
				<td>
					<a class="delete" onclick="confirmDeleteServer({{server.0}})" title="Delete server {{server.1}}" style="cursor: pointer;"></a>
				</td> 
			</tr>
		{% endfor %}
		</table>
		<br /><span class="add-button" title="Add server" id="add-server-button">+ Add</span>
		<br /><br />		
	</div>

	<div id="ssh">
		<table id="ssh_enable_table" class="overview">
			<tr class="overviewHead" style="width: 50%;">
				<td class="padding10 first-collumn" style="width: 15%;">
					<span title="It's just name alias. This alias will be userd in 'Servers' page for choose credentials">Name(?)</span>
				</td>
				<td class="padding10 first-collumn" style="width: 25%;">
					<span title="If enabled, the key will be used, if turned off - the password. Do not forget to download the keys to all servers or install the sudo without a password">SSH key(?)</span>
				</td>
				<td>
					<span title="Enter SSH user name. If SSH key disabled, enter password for ssh user">Credentials(?)</span>
				</td>
				<td></td>
			</tr>
			{% for ssh in sshs %}
				{% if ssh.5|string() == group %}
					<tr style="width: 50%;" id="ssh-table-{{ssh.0}}" class="{{ loop.cycle('odd', 'even') }}">
						<td class="first-collumn">
							<input type="text" id="ssh_name-{{ssh.0}}" class="form-control" value="{{ssh.1}}" style="margin-bottom: 23px;">							
						</td>
						<td class="first-collumn" valign="top" style="padding-top: 15px;">
							{% if ssh.2 == 1 %}
								<label for="ssh_enable-{{ssh.0}}">Enable SSH key</label><input type="checkbox" id="ssh_enable-{{ssh.0}}" checked>
							{% else %}
								<label for="ssh_enable-{{ssh.0}}">Enable SSH key</label><input type="checkbox" id="ssh_enable-{{ssh.0}}">
							{% endif %}
						</td>
						<td style="padding-top: 15px;">
							<p>
								<input type="text" id="ssh_user-{{ssh.0}}" class="form-control" value="{{ssh.3}}">		
							</p>
							{% if ssh.2 == 1 %}
								<input type="password" id="ssh_pass-{{ssh.0}}" class="form-control" value="{{ssh.4}}" style="display: none;">
							{% else %}
								<input type="password" id="ssh_pass-{{ssh.0}}" class="form-control" value="{{ssh.4}}">
							{% endif %}
							<br>
						</td>
						<td>
							<a class="delete" onclick="confirmDeleteSsh({{ssh.0}})"  style="cursor: pointer;"></a>
						</td>
					</tr>
				{% endif %}
			{% endfor %}
		</table>
		<br /><span class="add-button" title="Add ssh" id="add-ssh-button">+ Add</span>
		<br /><br />
		<table class="overview" id="ssh-add-table" style="display: none;">
			<tr class="overviewHead">
				<td class="padding10 first-collumn" style="width: 15%;">Name</td>
				<td class="padding10 first-collumn" style="width: 25%;">SSH key</td>
				<td>Credentials</td>
				<td></td>
			</tr>
			<tr>
				<td class="padding10 first-collumn">
					<input type="text" name="new-ssh-add" id="new-ssh-add" class="form-control">
				</td>
				<td>
					<label for="new-ssh_enable">Enable SSH key</label><input type="checkbox" id="new-ssh_enable" checked>
				</td>
				<td style="padding-top: 15px;">
					<p>
						<input type="text" id="ssh_user" class="form-control" value="{{ssh_user}}">		
					</p>
						<input type="password" id="ssh_pass" class="form-control" value="{{ssh_pass}}" style="display: none;">
					<br>
				</td>
				<td>
					<a class="add-admin" id="add-ssh" title="Add new SSH credentials" style="cursor: pointer;"></a>
				</td>
			</tr>
		</table>
		<table id="ssh_key">
			<tr class="overviewHead" style="width: 50%;">
				<td class="padding10 first-collumn" style="width: 25%;">Upload SSH Key</td>
				<td>
					<span title="Private key. Note: The public key must be pre-installed on all servers to which you plan to connect">Key(?)</span>
				</td>
				<td></td>
			</tr>
			<tr style="width: 50%;">
				<td class="first-collumn" valign="top" style="padding-top: 15px;">
					<select id="ssh-key-name">
						<option disabled selected>Choose credentials</option>
						{% for ssh in sshs %}
							{% if ssh.5|string() == group %}
								<option value={{ssh.1}}>{{ssh.1}}</option>	
							{% endif %}
						{% endfor %}
					</select>
				</td>
				<td style="padding-top: 15px;">
					<textarea id="ssh_cert" cols="50" rows="5"></textarea><br /><br />
					<a class="ui-button ui-widget ui-corner-all" id="ssh_key_upload" title="Upload ssh key" onclick="uploadSsh()">Upload</a>		
				</td>
				<td></td>
			</tr>
		</table>
		<div id="ajax-ssh"></div>
	</div>
	
	<div id="checker">
		<table id="checker_table" class="overview">
			<tr class="overviewHead" style="width: 50%;">
				<td class="padding10 first-collumn" style="width: 25%;">
					<span title="Token that gave you @father_bot">Token(?)</span>
				</td>
				<td>Chanel name</td>
				<td></td>
			</tr>
			{% for telegram in telegrams %}
				{% if telegram.3|string() == group %}
					<tr style="width: 50%;" id="telegram-table-{{telegram.0}}" class="{{ loop.cycle('odd', 'even') }}">
						<td class="first-collumn" style="padding-top: 20px;">
							<input type="text" id="telegram-token-{{telegram.0}}" class="form-control" value="{{telegram.1}}" style="margin-bottom: 23px;">	
						</td>
						<td>
							<input type="text" id="telegram-chanel-{{telegram.0}}" class="form-control" value="{{telegram.2}}">		
						</td>
						<td>
							<a class="delete" onclick="confirmDeleteSsh({{telegram.0}})"  style="cursor: pointer;"></a>
						</td>
					</tr>
				{% endif %}
			{% endfor %}
		</table>
		<br /><span class="add-button" title="Telegram channel" id="add-telegram-button">+ Add</span>
		<br /><br />
		<table class="overview" id="telegram-add-table" style="display: none;">
			<tr class="overviewHead">
				<td class="padding10 first-collumn" style="width: 25%;">
					<span title="Token that gave you @father_bot">Token(?)</span>
				</td>
				<td>
					Chanel name
				</td>
				<td></td>
			</tr>
			<tr>
				<td class="padding10 first-collumn">
					<input type="text" name="telegram-token-add" id="telegram-token-add" class="form-control">
					{% for group in ssh_group %}
						<input type="hidden" id="new-telegram-group-add" name="new-telegram-group-add" value="{{ group.0 }}" >
					{% endfor %}
				</td>
				<td>
					<input type="text" id="telegram-chanel-add" class="form-control">
				</td>
				<td>
					<a class="add-admin" id="add-telegram" title="Add new Telegram channel" style="cursor: pointer;"></a>
				</td>
			</tr>
		</table>
		<div id="ajax-telegram"></div>
	</div>
</div>
<div id="group_error" style="display: none;">
	<div class="alert alert-danger">
		<b>Do not edit this section if your group is "ALL"!</b> Add first<a href="users.py#groups" title="Admin Area: Groups">group</a> or edit your own group at<a href="users.py#users" title="Admin Area: Users">users</a> page
	</div>
</div>
<div id="user-add-table" style="display: none;">	
	<table class="overview">
		<tr>
			<td colspan="2">
				  <p class="validateTips alert alert-success">Form fields tag "<span class="need-field">*</span>" are required.</p>
			</td>
		</tr>
		<tr>
			<td class="padding20">
				New user
				<span class="need-field">*</span>
			</td>
			<td>
				<input type="text" name="new-username" id="new-username" class="form-control">
				{% if ldap_enable == '1' %}
					<a href="#" title="Search user in AD" id="search_ldap_user">Search user in AD</a>
				{% endif %}
			</td>
		</tr>
		<tr>
			<td class="padding20">
				Password
				<span class="need-field">*</span>
			</td>
			<td>
				<input type="password" name="new-password" id="new-password" class="form-control">
			</td>
		</tr>
		<tr>
				<td class="padding20">Active</td>
				<td>
					<label for="activeuser"></label><input type="checkbox" id="activeuser" checked>
				</td>
		</tr>
		<tr>
			<td class="padding20">
				Email
			</td>
			<td>
				<input type="text" name="new-email" id="new-email" class="form-control">
			</td>
		</tr>
		<tr>
			<td class="padding20">
				Role
				<span class="need-field">*</span>
			</td>
			<td>
				<select id="new-role" name="new-role">
					<option disabled selected>Choose role</option>
					{% for role in roles %}
						{% if role.1 != "admin" %}
							<option value="{{ role.1 }}">{{ role.1 }}</option>
						{% endif %}
					{% endfor %}
				</select>
			</td>
		</tr>
	</table>
</div>
<div id="server-add-table" style="display: none;">	
	<form id="server-add-form">
	<table class="overview">
		<tr>
			<td colspan="2">
				  <p class="validateTips alert alert-success">Form fields tag "<span class="need-field">*</span>" are required.</p>
			</td>
		</tr>
		<tr>
			<td class="padding20">
				New hostname
				<span class="need-field">*</span>
			</td>
			<td>
				<input type="text" name="new-server-add" id="new-server-add" class="form-control">
			</td>
		</tr>
		<tr>
			<td class="padding20">
				IP
				<span class="need-field">*</span>
			</td>
			<td>
				<input type="text" name="new-ip" id="new-ip" size="14" class="form-control">
				<input type="hidden" id="new-sshgroup" name="new-sshgroup" value="{{ group }}" >
			</td>
		</tr>
		<tr>
			<td class="padding20" title="SSH port">
				Port
				<span class="need-field">*</span>
			</td>
			<td>
				<input type="text" name="new-port" id="new-port" size=1 class="form-control" value="22">
			</td>	
		</tr>
		<tr>
			<td class="padding20">Enable</td>
			<td>
				<label for="enable"></label><input type="checkbox" id="enable" checked>
			</td>
		</tr>
		<tr>
			<td class="padding20" title="Vitrual IP, something like VRRP">Virt</td>
			<td>
				<label for="typeip"></label><input type="checkbox" id="typeip">
			</td>
		</tr>
		<tr>
			<td class="padding20" title="Alert if backend change status">Alert</td>
			<td>
				<label for="alert"></label><input type="checkbox" id="alert">
			</td>
		</tr>
		<tr>
			<td class="padding20" title="Enable save and show metrics">Metrics</td>
			<td>
				<label for="metrics"></label><input type="checkbox" id="metrics">
			</td>
		</tr>
		<tr>
			<td class="padding20" title="Keep start HAProxy service if down">Start</td>
			<td>
				<label for="active"></label><input type="checkbox" id="active">
			</td>
		</tr>
		<tr>
			<td class="padding20" title="Actions with master config will automatically apply on slave">Slave for</td>
			<td>
				<select id="slavefor">
					<option selected value="0">Not slave</option>
					{% for master in masters %}
						<option value="{{master.0}}">{{master.1}}</option>
					{% endfor %}
				</select>
			</td>
		</tr>
		<tr>
			<td class="padding20">
				Credentials
				<span class="need-field">*</span>
			</td>
			<td>
				<select id="credentials" required>
					<option disabled selected value="0">Choose credentials</option>
					{% for ssh in sshs %}
						{% if ssh.5|string() == group %}
							<option value="{{ssh.0}}">{{ssh.1}}</option>
						{% endif %}
					{% endfor %}
				</select>
			</td>
		</tr>
		<tr>
			<td class="padding20">Desciption</td>
			<td>
				<input type="text" id="desc" size="30" class="form-control">
			</td>
		</tr>
	</table>
	<input type="submit" tabindex="-1" style="position:absolute; top:-1000px">
	</form>
</div>
<script>
	if($('#new-server-group-add').val() == 1) {
		$('#group_error').css('display', 'block');
		$('#add-user-button').css('display', 'none');
		$('#add-server-button').css('display', 'none');
		$('#add-ssh-button').css('display', 'none');
		$('#ssh_key_upload').css('display', 'none');
		$('#add-telegram-button').css('display', 'none');
		$('input').css('color', 'rgba(0, 0, 0, 0.3)');
		setTimeout(function() {
			$("input[type=checkbox]").checkboxradio( "disable" );
			$("select").selectmenu( "disable" );
			$("button").button( "disable" );
			$("input").attr( "readonly", "readonly" );
			$('.delete').remove()
		}, 500 );
		
	}
</script>
<style>
.ui-selectmenu-button.ui-button {
    width: 10em;
}
.checkbox {
	width: 90px;
}
.group-field, .slave-field {
	width: 15%;
}
.cred-field {
	width: 20%;
}
</style>
{% endblock %}