From 21df0daeacdbc6fedab788f745d3525d342bd7a8 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Wed, 02 Jul 2014 17:27:44 -0400
Subject: [PATCH] Update to SLF4j 1.7.7
---
src/main/java/com/gitblit/models/UserModel.java | 24 ++++++++++++++++++++----
1 files changed, 20 insertions(+), 4 deletions(-)
diff --git a/src/main/java/com/gitblit/models/UserModel.java b/src/main/java/com/gitblit/models/UserModel.java
index fee9c17..e152274 100644
--- a/src/main/java/com/gitblit/models/UserModel.java
+++ b/src/main/java/com/gitblit/models/UserModel.java
@@ -449,9 +449,15 @@
public boolean canEdit(TicketModel ticket, RepositoryModel repository) {
return isAuthenticated() &&
- (username.equals(ticket.createdBy)
- || username.equals(ticket.responsible)
- || canPush(repository));
+ (canPush(repository)
+ || (ticket != null && username.equals(ticket.responsible))
+ || (ticket != null && username.equals(ticket.createdBy)));
+ }
+
+ public boolean canAdmin(TicketModel ticket, RepositoryModel repository) {
+ return isAuthenticated() &&
+ (canPush(repository)
+ || ticket != null && username.equals(ticket.responsible));
}
public boolean canReviewPatchset(RepositoryModel model) {
@@ -537,7 +543,7 @@
// admins can create any repository
return true;
}
- if (canCreate) {
+ if (canCreate()) {
String projectPath = StringUtils.getFirstPathElement(repository);
if (!StringUtils.isEmpty(projectPath) && projectPath.equalsIgnoreCase(getPersonalPath())) {
// personal repository
@@ -547,6 +553,16 @@
return false;
}
+ /**
+ * Returns true if the user is allowed to administer the specified repository
+ *
+ * @param repo
+ * @return true if the user can administer the repository
+ */
+ public boolean canAdmin(RepositoryModel repo) {
+ return canAdmin() || repo.isOwner(username) || isMyPersonalRepository(repo.name);
+ }
+
public boolean isAuthenticated() {
return !UserModel.ANONYMOUS.equals(this) && isAuthenticated;
}
--
Gitblit v1.9.1