From 6aea2fa8aee24114bc59b09bc3c5b68fcd948790 Mon Sep 17 00:00:00 2001
From: Rafael Cavazin <rafaelcavazin@gmail.com>
Date: Mon, 03 Dec 2012 16:49:02 -0500
Subject: [PATCH] Translation to Brazilian Portuguese
---
src/com/gitblit/models/RegistrantAccessPermission.java | 76 +++++++++++++++++++++++++++++++++++--
1 files changed, 71 insertions(+), 5 deletions(-)
diff --git a/src/com/gitblit/models/RegistrantAccessPermission.java b/src/com/gitblit/models/RegistrantAccessPermission.java
index 7346d31..8f4049a 100644
--- a/src/com/gitblit/models/RegistrantAccessPermission.java
+++ b/src/com/gitblit/models/RegistrantAccessPermission.java
@@ -35,29 +35,95 @@
public AccessPermission permission;
public RegistrantType registrantType;
public PermissionType permissionType;
- public boolean isEditable;
+ public boolean mutable;
+ public String source;
+
+ public RegistrantAccessPermission() {
+ }
public RegistrantAccessPermission(RegistrantType registrantType) {
this.registrantType = registrantType;
this.permissionType = PermissionType.EXPLICIT;
- this.isEditable = true;
+ this.mutable = true;
}
- public RegistrantAccessPermission(String registrant, AccessPermission permission, PermissionType permissionType, RegistrantType registrantType, boolean isEditable) {
+ public RegistrantAccessPermission(String registrant, AccessPermission permission, PermissionType permissionType, RegistrantType registrantType, String source, boolean mutable) {
this.registrant = registrant;
this.permission = permission;
this.permissionType = permissionType;
this.registrantType = registrantType;
- this.isEditable = isEditable;
+ this.source = source;
+ this.mutable = mutable;
+ }
+
+ public boolean isAdmin() {
+ return PermissionType.ADMINISTRATOR.equals(permissionType);
+ }
+
+ public boolean isOwner() {
+ return PermissionType.OWNER.equals(permissionType);
+ }
+
+ public boolean isExplicit() {
+ return PermissionType.EXPLICIT.equals(permissionType);
+ }
+
+ public boolean isRegex() {
+ return PermissionType.REGEX.equals(permissionType);
+ }
+
+ public boolean isTeam() {
+ return PermissionType.TEAM.equals(permissionType);
+ }
+
+ public boolean isMissing() {
+ return PermissionType.MISSING.equals(permissionType);
+ }
+
+ public int getScore() {
+ switch (registrantType) {
+ case REPOSITORY:
+ if (isAdmin()) {
+ return 0;
+ }
+ if (isOwner()) {
+ return 1;
+ }
+ if (isExplicit()) {
+ return 2;
+ }
+ if (isRegex()) {
+ return 3;
+ }
+ if (isTeam()) {
+ return 4;
+ }
+ default:
+ return 0;
+ }
}
@Override
public int compareTo(RegistrantAccessPermission p) {
switch (registrantType) {
case REPOSITORY:
+ // repository permissions are sorted in score order
+ // to convey the order in which permissions are tested
+ int score1 = getScore();
+ int score2 = p.getScore();
+ if (score1 <= 2 && score2 <= 2) {
+ // group admin, owner, and explicit together
+ return StringUtils.compareRepositoryNames(registrant, p.registrant);
+ }
+ if (score1 < score2) {
+ return -1;
+ } else if (score2 < score1) {
+ return 1;
+ }
return StringUtils.compareRepositoryNames(registrant, p.registrant);
default:
- return registrant.toLowerCase().compareTo(p.registrant.toLowerCase());
+ // user and team permissions are string sorted
+ return registrant.toLowerCase().compareTo(p.registrant.toLowerCase());
}
}
--
Gitblit v1.9.1