From 1a44e0afdbcf3b45347c248b0b1decd5853bf69c Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Thu, 11 Sep 2014 11:30:39 -0400
Subject: [PATCH] Merged #177 "Disable permission checkboxes if permission is inherited"
---
src/main/java/com/gitblit/wicket/pages/EditUserPage.java | 29 ++++++++++++++++++++++++++---
1 files changed, 26 insertions(+), 3 deletions(-)
diff --git a/src/main/java/com/gitblit/wicket/pages/EditUserPage.java b/src/main/java/com/gitblit/wicket/pages/EditUserPage.java
index b9a8480..454aa61 100644
--- a/src/main/java/com/gitblit/wicket/pages/EditUserPage.java
+++ b/src/main/java/com/gitblit/wicket/pages/EditUserPage.java
@@ -239,9 +239,32 @@
form.add(confirmPasswordField.setEnabled(editCredentials));
form.add(new TextField<String>("displayName").setEnabled(editDisplayName));
form.add(new TextField<String>("emailAddress").setEnabled(editEmailAddress));
- form.add(new CheckBox("canAdmin"));
- form.add(new CheckBox("canFork").setEnabled(app().settings().getBoolean(Keys.web.allowForking, true)));
- form.add(new CheckBox("canCreate"));
+
+ if (userModel.canAdmin() && !userModel.canAdmin) {
+ // user inherits Admin permission
+ // display a disabled-yet-checked checkbox
+ form.add(new CheckBox("canAdmin", Model.of(true)).setEnabled(false));
+ } else {
+ form.add(new CheckBox("canAdmin"));
+ }
+
+ if (userModel.canFork() && !userModel.canFork) {
+ // user inherits Fork permission
+ // display a disabled-yet-checked checkbox
+ form.add(new CheckBox("canFork", Model.of(true)).setEnabled(false));
+ } else {
+ final boolean forkingAllowed = app().settings().getBoolean(Keys.web.allowForking, true);
+ form.add(new CheckBox("canFork").setEnabled(forkingAllowed));
+ }
+
+ if (userModel.canCreate() && !userModel.canCreate) {
+ // user inherits Create permission
+ // display a disabled-yet-checked checkbox
+ form.add(new CheckBox("canCreate", Model.of(true)).setEnabled(false));
+ } else {
+ form.add(new CheckBox("canCreate"));
+ }
+
form.add(new CheckBox("excludeFromFederation"));
form.add(new CheckBox("disabled"));
--
Gitblit v1.9.1