From 2d73a0350d9745668d65a53cbcc776f933380f6a Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Tue, 15 Apr 2014 08:34:50 -0400
Subject: [PATCH] Documentation
---
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..64bca82 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
@@ -546,6 +552,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() || isMyPersonalRepository(repo.name);
+ }
public boolean isAuthenticated() {
return !UserModel.ANONYMOUS.equals(this) && isAuthenticated;
--
Gitblit v1.9.1