summaryrefslogtreecommitdiffstats
path: root/modules-available/permissionmanager/templates/roleeditor.html
blob: eadce027114cd8f844b31180b4529b4f3f6a4ba0 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
<h1>{{lang_roleEditor}}</h1>
<form method="post" action="?do=permissionmanager">
	<input type="hidden" name="action" value="saveRole">
	<input type="hidden" name="token" value="{{token}}">
	<input type="hidden" name="roleid" value="{{roleid}}">

	<ul class="nav nav-tabs text-center" role="tablist">
		<li role="presentation" class="active"><a href="#permissions" role="tab" data-toggle="tab">{{lang_permissions}}</a></li>
		<li role="presentation"><a href="#locations" role="tab" data-toggle="tab">{{lang_locations}}</a></li>
		<li style="float: none; display: inline-block">
			<label for="rolename">{{lang_name}}:</label>
			<input id="rolename" name="rolename" value="{{rolename}}" type="text" class="form-control">
		</li>
		<li style="float: right;">
			<span><a href="?do=permissionmanager&show={{cancelShow}}" id="cancelButton" class="btn btn-default">{{lang_cancel}}</a></span>
			<button type="submit" id="saveButton" class="btn btn-primary"><span class="glyphicon glyphicon-floppy-disk"></span> {{lang_save}}</button>
		</li>
	</ul>
	<div class="tab-content">
		<div role="tabpanel" class="tab-pane active" id="permissions">
			{{{permissionHTML}}}
		</div>
		<div role="tabpanel" class="tab-pane" id="locations">
			{{{locationHTML}}}
		</div>
	</div>

</form>

<script type="application/javascript">

	document.addEventListener("DOMContentLoaded", function () {

		$(".tree-panel input[type=checkbox]").change(function () {
			var checked = $(this).prop("checked");
			var parent = $(this).parent().parent();
			if (parent.hasClass("panel-heading")) parent = parent.parent();

			var checkboxes = parent.find("input[type=checkbox]");
			if (checked) {
				checkboxes.prop("checked", true);
			} else {
				checkboxes.prop("checked", false);
				while (!parent.hasClass("tree-panel")) {
					parent = parent.parent().parent();
					if (parent.hasClass("tree-container")) parent = parent.parent().parent();
					parent.find("input[type=checkbox]:first").prop("checked", false);
				}
			}
		});

		$('form').submit(function () {
			var input = $("#rolename");
			var name = $.trim(input.val());
			if (!name) {
				input.addClass("missingInput");
				return false;
			}
		});

		$('[data-toggle="tooltip"]').tooltip({
			container: 'body',
			trigger : 'hover'
		});
	});

</script>