summaryrefslogtreecommitdiffstats
path: root/modules-available/permissionmanager/templates
diff options
context:
space:
mode:
authorUdo Walter2017-11-30 17:40:00 +0100
committerUdo Walter2017-11-30 17:40:00 +0100
commiteff2f558576ff58cb402c7b28b38620ddc467599 (patch)
tree2a5db71d227f3411731952163d1bd363e80c2b69 /modules-available/permissionmanager/templates
parent[permissionmanager] fixed bug: role without locations was shown as role with ... (diff)
downloadslx-admin-eff2f558576ff58cb402c7b28b38620ddc467599.tar.gz
slx-admin-eff2f558576ff58cb402c7b28b38620ddc467599.tar.xz
slx-admin-eff2f558576ff58cb402c7b28b38620ddc467599.zip
[permissionmanager] new permission and location chooser in roleeditor
Diffstat (limited to 'modules-available/permissionmanager/templates')
-rw-r--r--modules-available/permissionmanager/templates/_page.html44
-rw-r--r--modules-available/permissionmanager/templates/modulepermissionbox.html13
-rw-r--r--modules-available/permissionmanager/templates/permission.html6
-rw-r--r--modules-available/permissionmanager/templates/permissiontreenode.html9
-rw-r--r--modules-available/permissionmanager/templates/roleeditor.html138
-rw-r--r--modules-available/permissionmanager/templates/treenode.html11
-rw-r--r--modules-available/permissionmanager/templates/treepanel.html13
7 files changed, 80 insertions, 154 deletions
diff --git a/modules-available/permissionmanager/templates/_page.html b/modules-available/permissionmanager/templates/_page.html
index ff487c8f..405462f7 100644
--- a/modules-available/permissionmanager/templates/_page.html
+++ b/modules-available/permissionmanager/templates/_page.html
@@ -1,27 +1,29 @@
-<div class="col-md-12" style="margin-bottom: 0px;">
- <div class='page-header'>
- <div class='pull-right'>
- <form id="switchForm" method="GET" action="?do=permissionmanager">
- <input type="hidden" name="do" value="permissionmanager">
+<div class="row">
+ <div class="col-md-12" style="margin-bottom: 0;">
+ <div class='page-header'>
+ <div class='pull-right'>
+ <form id="switchForm" method="GET" action="?do=permissionmanager">
+ <input type="hidden" name="do" value="permissionmanager">
- <div class="btn-group">
- <button class="btn btn-default {{rolesButtonClass}}" type="submit" name="show" value="roles">
- <span class="glyphicon glyphicon-education"></span>
- {{lang_Roles}}
- </button>
+ <div class="btn-group">
+ <button class="btn btn-default {{rolesButtonClass}}" type="submit" name="show" value="roles">
+ <span class="glyphicon glyphicon-education"></span>
+ {{lang_Roles}}
+ </button>
- <button class="btn btn-default {{usersButtonClass}}" type="submit" name="show" value="users">
- <span class="glyphicon glyphicon-user"></span>
- {{lang_Users}}
- </button>
+ <button class="btn btn-default {{usersButtonClass}}" type="submit" name="show" value="users">
+ <span class="glyphicon glyphicon-user"></span>
+ {{lang_Users}}
+ </button>
- <button class="btn btn-default {{locationsButtonClass}}" type="submit" name="show" value="locations">
- <span class="glyphicon glyphicon-home"></span>
- {{lang_Locations}}
- </button>
- </div>
- </form>
+ <button class="btn btn-default {{locationsButtonClass}}" type="submit" name="show" value="locations">
+ <span class="glyphicon glyphicon-home"></span>
+ {{lang_Locations}}
+ </button>
+ </div>
+ </form>
+ </div>
+ <h1>{{lang_moduleName}}</h1>
</div>
- <h1>{{lang_moduleName}}</h1>
</div>
</div> \ No newline at end of file
diff --git a/modules-available/permissionmanager/templates/modulepermissionbox.html b/modules-available/permissionmanager/templates/modulepermissionbox.html
deleted file mode 100644
index 69bde718..00000000
--- a/modules-available/permissionmanager/templates/modulepermissionbox.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<div id='{{id}}' class='panel panel-primary module-box' style='display: none;'>
- <div class='panel-heading'>
- <div class='checkbox'>
- <input name='permissions[]' value='{{id}}.*' type='checkbox' class='form-control'>
- <label>{{name}}</label>
- </div>
- </div>
- <div class='panel-body'>
- <ul class='list-group'>
- {{{HTML}}}
- </ul>
- </div>
-</div> \ No newline at end of file
diff --git a/modules-available/permissionmanager/templates/permission.html b/modules-available/permissionmanager/templates/permission.html
deleted file mode 100644
index b28b9099..00000000
--- a/modules-available/permissionmanager/templates/permission.html
+++ /dev/null
@@ -1,6 +0,0 @@
-<li class='list-group-item' title="{{description}}" data-toggle="tooltip" data-placement="left">
- <div class='checkbox'>
- <input name='permissions[]' value='{{id}}' type='checkbox' class='form-control'>
- <label>{{name}}</label>
- </div>
-</li> \ No newline at end of file
diff --git a/modules-available/permissionmanager/templates/permissiontreenode.html b/modules-available/permissionmanager/templates/permissiontreenode.html
deleted file mode 100644
index 47bff1f2..00000000
--- a/modules-available/permissionmanager/templates/permissiontreenode.html
+++ /dev/null
@@ -1,9 +0,0 @@
-<li class='list-group-item'>
- <div class='checkbox'>
- <input name='permissions[]' value='{{id}}.*' type='checkbox' class='form-control'>
- <label>{{name}}</label>
- </div>
- <ul class='list-group'>
- {{{HTML}}}
- </ul>
-</li>
diff --git a/modules-available/permissionmanager/templates/roleeditor.html b/modules-available/permissionmanager/templates/roleeditor.html
index 359f09a1..14839ee2 100644
--- a/modules-available/permissionmanager/templates/roleeditor.html
+++ b/modules-available/permissionmanager/templates/roleeditor.html
@@ -3,116 +3,57 @@
<input type="hidden" name="action" value="saveRole">
<input type="hidden" name="token" value="{{token}}">
<input type="hidden" name="roleid" value="{{roleid}}">
+
<div class="row">
<div class="col-md-12" style="margin-bottom: 20px;">
- <b>{{lang_Name}}:</b>
- <input name="rolename" value="{{rolename}}" type="text" id="rolename" class="form-control">
- <button type="submit" id="saveButton" class="btn btn-primary pull-right"><span class="glyphicon glyphicon-floppy-disk"></span> {{lang_Save}}</button>
- <button type="button" id="cancelButton" class="btn btn-default pull-right">{{lang_Cancel}}</button>
+ <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">
+ <b>{{lang_Name}}:</b>
+ <input name="rolename" value="{{rolename}}" type="text" id="rolename" class="form-control">
+ </li>
+ <li style="float: right;">
+ <button type="button" id="cancelButton" class="btn btn-default">{{lang_Cancel}}</button>
+ <button type="submit" id="saveButton" class="btn btn-primary"><span class="glyphicon glyphicon-floppy-disk"></span> {{lang_Save}}</button>
+ </li>
+ </ul>
</div>
</div>
<div class="row" style="margin-bottom: 20px;">
- <div class="col-md-3">
- <b style="line-height: 34px">{{lang_Locations}}:</b>
- <div class="pull-right"><input name="allLocations" {{allLocChecked}} type="checkbox" id="allLocations"></div>
- </div>
- <div id="selectize-container" class="col-md-9 text-left {{selectizeClass}}">
- <select multiple name="locations[]" id="select-location">
- <option value></option>
- {{#locations}}
- <option value="{{locationid}}" {{#selected}}selected{{/selected}}>{{locationpad}} {{locationname}}</option>
- {{/locations}}
- </select>
- </div>
- </div>
- <div class="row">
- <div class="col-md-3">
- <b style="line-height: 34px">{{lang_Permissions}}:</b>
- <div class="pull-right"><input name="allPermissions" {{allPermChecked}} type="checkbox" id="allPermissions"></div>
- <div class="btn-group-vertical module-toggle-group permissions-container {{permissionsClass}}" role="group">
- {{#moduleNames}}
- <button id="button-{{id}}" type="button" class="btn btn-default module-toggle" data-moduleid="{{id}}">{{name}}</button>
- {{/moduleNames}}
+ <div class="col-md-12">
+ <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>
</div>
- <div class="col-md-9 module-container permissions-container {{permissionsClass}}">
- {{{permissionHTML}}}
- </div>
</div>
+
</form>
<script type="application/javascript">
- selectedPermissions = "{{selectedPermissions}}";
-
document.addEventListener("DOMContentLoaded", function () {
- $('#select-location').selectize({
- allowEmptyOption: false,
- maxItems: null,
- highlight: false,
- hideSelected: true,
- create: false,
- plugins: [ "remove_button" ]
- });
-
- var allLocations = $("#allLocations");
- allLocations.bootstrapSwitch("size", "normal");
- allLocations.bootstrapSwitch("labelWidth", 1);
- allLocations.bootstrapSwitch("onText", "{{lang_all}}");
- allLocations.bootstrapSwitch("offText", "{{lang_selected}}");
-
- allLocations.on('switchChange.bootstrapSwitch', function(event, state) {
- if (state) {
- $("#selectize-container").addClass("faded unclickable");
- } else {
- $("#selectize-container").removeClass("faded unclickable");
- }
- });
-
- var allPermissions = $("#allPermissions");
- allPermissions.bootstrapSwitch("size", "normal");
- allPermissions.bootstrapSwitch("labelWidth", 1);
- allPermissions.bootstrapSwitch("onText", "{{lang_all}}");
- allPermissions.bootstrapSwitch("offText", "{{lang_selected}}");
-
-
- allPermissions.on('switchChange.bootstrapSwitch', function(event, state) {
- if (state) {
- $(".permissions-container").addClass("faded unclickable");
- } else {
- $(".permissions-container").removeClass("faded unclickable");
- }
- });
-
- $(".module-toggle").click(function () {
- var button = $(this);
- var moduleBox = $("#" + button.data("moduleid"));
- if (button.hasClass("btn-default")) {
- button.removeClass("btn-default");
- button.addClass("btn-primary");
- moduleBox.show();
- } else {
- button.removeClass("btn-primary");
- button.addClass("btn-default");
- moduleBox.hide();
- }
- });
-
- $(".module-container input[type=checkbox]").change(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();
- parent = parent.find("ul:first");
- parent.find("ul").removeClass("faded");
+
var checkboxes = parent.find("input[type=checkbox]");
- if (parent.hasClass("faded")) {
- checkboxes.prop("disabled", false);
- checkboxes.prop("checked", false);
- parent.removeClass("faded");
- } else {
- checkboxes.prop("disabled", true);
+ if (checked) {
checkboxes.prop("checked", true);
- parent.addClass("faded");
+ } 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);
+ }
}
});
@@ -128,19 +69,6 @@
}
});
- var permissions = selectedPermissions.split(" ");
- var arrayLength = permissions.length;
- for (var i = 0; i < arrayLength; i++) {
- var checkbox = $("input[type=checkbox][value='"+permissions[i]+"']");
- checkbox.trigger('change').attr('checked', 'checked');
- var moduleBox = checkbox.closest(".module-box");
- moduleBox.show();
- var button = $("#button-"+moduleBox.attr('id'));
- button.removeClass("btn-default");
- button.addClass("btn-primary");
- }
-
-
$('[data-toggle="tooltip"]').tooltip({
container: 'body',
trigger : 'hover'
diff --git a/modules-available/permissionmanager/templates/treenode.html b/modules-available/permissionmanager/templates/treenode.html
new file mode 100644
index 00000000..336ca13e
--- /dev/null
+++ b/modules-available/permissionmanager/templates/treenode.html
@@ -0,0 +1,11 @@
+{{#toplevel}}<ul>{{/toplevel}}
+ <li title="{{description}}" data-toggle="tooltip" data-placement="left">
+ <div class='checkbox'>
+ <input name='{{checkboxname}}[]' value='{{id}}' type='checkbox' class='form-control' {{#selected}}checked{{/selected}}>
+ <label>{{#toplevel}}<b>{{/toplevel}}{{name}}{{#toplevel}}</b>{{/toplevel}}</label>
+ </div>
+ <ul>
+ {{{HTML}}}
+ </ul>
+ </li>
+{{#toplevel}}</ul>{{/toplevel}}
diff --git a/modules-available/permissionmanager/templates/treepanel.html b/modules-available/permissionmanager/templates/treepanel.html
new file mode 100644
index 00000000..53e316c9
--- /dev/null
+++ b/modules-available/permissionmanager/templates/treepanel.html
@@ -0,0 +1,13 @@
+<div class='panel panel-primary tree-panel'>
+ <div class='panel-heading'>
+ <div class='checkbox'>
+ <input name='{{checkboxname}}[]' value='{{id}}' type='checkbox' class='form-control' {{#selected}}checked{{/selected}}>
+ <label>{{name}}</label>
+ </div>
+ </div>
+ <div class='panel-body'>
+ <div class="tree-container" style="padding-left: 20px; padding-right: 20px;">
+ {{{HTML}}}
+ </div>
+ </div>
+</div> \ No newline at end of file