Merge "Remove unneeded lit dependency"
diff --git a/src/main/java/com/googlesource/gerrit/plugins/reviewers/Module.java b/src/main/java/com/googlesource/gerrit/plugins/reviewers/Module.java
index 20b09be..c34baf0 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/reviewers/Module.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/reviewers/Module.java
@@ -81,7 +81,7 @@
@Override
protected void configure() {
get(PROJECT_KIND, "reviewers").to(GetReviewers.class);
- put(PROJECT_KIND, "reviewers").to(PutReviewers.class);
+ post(PROJECT_KIND, "reviewers").to(PostReviewers.class);
}
});
}
diff --git a/src/main/java/com/googlesource/gerrit/plugins/reviewers/PutReviewers.java b/src/main/java/com/googlesource/gerrit/plugins/reviewers/PostReviewers.java
similarity index 96%
rename from src/main/java/com/googlesource/gerrit/plugins/reviewers/PutReviewers.java
rename to src/main/java/com/googlesource/gerrit/plugins/reviewers/PostReviewers.java
index 58ae003..c65e406 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/reviewers/PutReviewers.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/reviewers/PostReviewers.java
@@ -44,7 +44,7 @@
import com.google.inject.Inject;
import com.google.inject.Provider;
import com.google.inject.Singleton;
-import com.googlesource.gerrit.plugins.reviewers.PutReviewers.Input;
+import com.googlesource.gerrit.plugins.reviewers.PostReviewers.Input;
import com.googlesource.gerrit.plugins.reviewers.config.FiltersFactory;
import com.googlesource.gerrit.plugins.reviewers.config.ForProject;
import java.io.IOException;
@@ -53,9 +53,9 @@
import org.eclipse.jgit.errors.ConfigInvalidException;
import org.eclipse.jgit.errors.RepositoryNotFoundException;
-/** PUT REST end-point that removes or adds a reviewer to a {@link ReviewerFilter}. */
+/** POST REST end-point that removes or adds a reviewer to a {@link ReviewerFilter}. */
@Singleton
-class PutReviewers implements RestModifyView<ProjectResource, Input> {
+class PostReviewers implements RestModifyView<ProjectResource, Input> {
private static final FluentLogger logger = FluentLogger.forEnclosingClass();
protected static class Input {
@@ -80,7 +80,7 @@
private final PermissionBackend permissionBackend;
@Inject
- PutReviewers(
+ PostReviewers(
@PluginName String pluginName,
FiltersFactory filters,
ForProject.Factory forProjectFactory,
diff --git a/src/main/java/com/googlesource/gerrit/plugins/reviewers/ReviewersResolver.java b/src/main/java/com/googlesource/gerrit/plugins/reviewers/ReviewersResolver.java
index fc5d9e0..ea7d8e1 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/reviewers/ReviewersResolver.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/reviewers/ReviewersResolver.java
@@ -98,8 +98,8 @@
Account.Id id = result.asList().get(0).account().id();
if (uploader == null || id.get() != uploader._accountId) {
reviewers.add(id);
- return true;
}
+ return true;
}
return false;
} catch (StorageException | IOException | ConfigInvalidException e) {
diff --git a/src/main/resources/Documentation/config.md b/src/main/resources/Documentation/config.md
index 1b51181..173f51a 100644
--- a/src/main/resources/Documentation/config.md
+++ b/src/main/resources/Documentation/config.md
@@ -51,7 +51,10 @@
filter.\<filter\>.reviewer
: An account or a group name. Must be an exact match (case sensitive) with the
account's email address or username, or the group name. Multiple `reviewer`
- occurrences are allowed.
+ occurrences are allowed.\
+ **NOTE**: *Reviewers are added in the context of the uploader which means
+ that if a group is configured it needs to be visible to the uploader for
+ reviewers to be added.*
filter.\<filter\>.cc
: An account or a group name. Must be an exact match (case sensitive) with the
diff --git a/src/main/resources/Documentation/rest-api.md b/src/main/resources/Documentation/rest-api.md
index 957318f..683ed46 100644
--- a/src/main/resources/Documentation/rest-api.md
+++ b/src/main/resources/Documentation/rest-api.md
@@ -52,7 +52,7 @@
```
### <a id="change-reviewers"> Change Reviewers
-_PUT /projects/project_name/@PLUGIN@_
+_POST /projects/project_name/@PLUGIN@_
Changes the default reviewers for the specified project.
@@ -65,7 +65,7 @@
#### Request
```
- PUT /projects/myproject/@PLUGIN@ HTTP/1.0
+ POST /projects/myproject/@PLUGIN@ HTTP/1.0
Content-Type: application/json;charset=UTF-8
{
"action": "ADD",
diff --git a/web/rv-filter-section.ts b/web/rv-filter-section.ts
index a062de9..4162df2 100644
--- a/web/rv-filter-section.ts
+++ b/web/rv-filter-section.ts
@@ -204,13 +204,13 @@
this.editingReviewer = false;
} else {
// The reviewer was not in edit mode, but DELETE was clicked.
- this.putReviewer(reviewer, Action.REMOVE, type);
+ this.postReviewer(reviewer, Action.REMOVE, type);
}
}
private handleReviewerAdded(e: CustomEvent<ReviewerAddedEventDetail>) {
this.editingReviewer = false;
- this.putReviewer(e.detail.reviewer, Action.ADD, e.detail.type).catch(
+ this.postReviewer(e.detail.reviewer, Action.ADD, e.detail.type).catch(
err => {
fire(this, 'show-alert', {message: err});
throw err;
@@ -218,11 +218,11 @@
);
}
- private putReviewer(reviewer: string, action: Action, type: Type) {
+ private postReviewer(reviewer: string, action: Action, type: Type) {
if (this.filter === '') throw new Error('empty filter');
if (reviewer === '') throw new Error('empty reviewer');
return this.pluginRestApi
- .put<Section[]>(this.reviewersUrl, {
+ .post<Section[]>(this.reviewersUrl, {
action,
reviewer,
type,
diff --git a/web/rv-reviewer.ts b/web/rv-reviewer.ts
index cc9e7f8..9ac7424 100644
--- a/web/rv-reviewer.ts
+++ b/web/rv-reviewer.ts
@@ -223,6 +223,7 @@
if (!groups) return [];
return Object.keys(groups)
.filter(name => !name.startsWith('user/'))
+ .filter(name => !groups[name].id.startsWith('global%3A'))
.map(name => {
return {name, value: name};
});