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