summaryrefslogtreecommitdiffstats
path: root/src/main/java/com/gitblit/models/UserModel.java
diff options
context:
space:
mode:
authorJames Moger <james.moger@gitblit.com>2014-03-05 12:26:14 -0500
committerJames Moger <james.moger@gitblit.com>2014-03-05 12:26:14 -0500
commit7ca05374db6f6af9de06665c9d2d08acfe85aa4f (patch)
tree6c1b79c33d0fe1220b62ca5dfbc0680146fd9ef3 /src/main/java/com/gitblit/models/UserModel.java
parent85775acd760c668a73f9febf80009832ddf91af9 (diff)
downloadgitblit-7ca05374db6f6af9de06665c9d2d08acfe85aa4f.tar.gz
gitblit-7ca05374db6f6af9de06665c9d2d08acfe85aa4f.zip
Centralized ticket editing permission controls
Diffstat (limited to 'src/main/java/com/gitblit/models/UserModel.java')
-rw-r--r--src/main/java/com/gitblit/models/UserModel.java17
1 files changed, 14 insertions, 3 deletions
diff --git a/src/main/java/com/gitblit/models/UserModel.java b/src/main/java/com/gitblit/models/UserModel.java
index fbf311a5..fee9c172 100644
--- a/src/main/java/com/gitblit/models/UserModel.java
+++ b/src/main/java/com/gitblit/models/UserModel.java
@@ -447,16 +447,23 @@ public class UserModel implements Principal, Serializable, Comparable<UserModel>
return canAdmin() || model.isUsersPersonalRepository(username) || model.isOwner(username);
}
+ public boolean canEdit(TicketModel ticket, RepositoryModel repository) {
+ return isAuthenticated() &&
+ (username.equals(ticket.createdBy)
+ || username.equals(ticket.responsible)
+ || canPush(repository));
+ }
+
public boolean canReviewPatchset(RepositoryModel model) {
- return isAuthenticated && canClone(model);
+ return isAuthenticated() && canClone(model);
}
public boolean canApprovePatchset(RepositoryModel model) {
- return isAuthenticated && canPush(model);
+ return isAuthenticated() && canPush(model);
}
public boolean canVetoPatchset(RepositoryModel model) {
- return isAuthenticated && canPush(model);
+ return isAuthenticated() && canPush(model);
}
/**
@@ -540,6 +547,10 @@ public class UserModel implements Principal, Serializable, Comparable<UserModel>
return false;
}
+ public boolean isAuthenticated() {
+ return !UserModel.ANONYMOUS.equals(this) && isAuthenticated;
+ }
+
public boolean isTeamMember(String teamname) {
for (TeamModel team : teams) {
if (team.name.equalsIgnoreCase(teamname)) {