Merge branch 'stable-2.14' into stable-2.15
* stable-2.14: Allow to assign "Delete Own Changes" permission to Change Owners Change-Id: Ibaba774641a45bf812f1bb8b595312268731751c
This commit is contained in:
@@ -950,9 +950,19 @@ public class ChangeIT extends AbstractDaemonTest {
|
||||
|
||||
@Test
|
||||
@TestProjectInput(cloneAs = "user")
|
||||
public void deleteChangeAsUserWithDeleteOwnChangesPermission() throws Exception {
|
||||
public void deleteChangeAsUserWithDeleteOwnChangesPermissionForGroup() throws Exception {
|
||||
allow("refs/*", Permission.DELETE_OWN_CHANGES, REGISTERED_USERS);
|
||||
deleteChangeAsUser();
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestProjectInput(cloneAs = "user")
|
||||
public void deleteChangeAsUserWithDeleteOwnChangesPermissionForOwners() throws Exception {
|
||||
allow("refs/*", Permission.DELETE_OWN_CHANGES, CHANGE_OWNER);
|
||||
deleteChangeAsUser();
|
||||
}
|
||||
|
||||
private void deleteChangeAsUser() throws Exception {
|
||||
try {
|
||||
PushOneCommit.Result changeResult =
|
||||
pushFactory.create(db, user.getIdent(), testRepo).to("refs/for/master");
|
||||
|
||||
@@ -156,7 +156,7 @@ class ChangeControl {
|
||||
switch (status) {
|
||||
case NEW:
|
||||
case ABANDONED:
|
||||
return (isOwner() && getRefControl().canDeleteOwnChanges())
|
||||
return (isOwner() && getRefControl().canDeleteOwnChanges(isOwner()))
|
||||
|| getProjectControl().isAdmin();
|
||||
case MERGED:
|
||||
default:
|
||||
|
||||
@@ -286,8 +286,8 @@ public class RefControl {
|
||||
}
|
||||
|
||||
/** @return true if this user can delete their own changes. */
|
||||
boolean canDeleteOwnChanges() {
|
||||
return canPerform(Permission.DELETE_OWN_CHANGES);
|
||||
boolean canDeleteOwnChanges(boolean isChangeOwner) {
|
||||
return canPerform(Permission.DELETE_OWN_CHANGES, isChangeOwner);
|
||||
}
|
||||
|
||||
/** @return true if this user can edit topic names. */
|
||||
|
||||
Reference in New Issue
Block a user