From 4fcac9d2cbdafb51e3ee9ca3b3da64fd86103174 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Tue, 26 Nov 2013 15:58:15 -0500 Subject: [PATCH] Remove artifact setting from manager dialog --- src/main/java/com/gitblit/RpcServlet.java | 34 +++++++++++++++++++++++++++++----- 1 files changed, 29 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/gitblit/RpcServlet.java b/src/main/java/com/gitblit/RpcServlet.java index f6368dd..8b48fbe 100644 --- a/src/main/java/com/gitblit/RpcServlet.java +++ b/src/main/java/com/gitblit/RpcServlet.java @@ -30,27 +30,29 @@ import org.eclipse.jgit.lib.Repository; import com.gitblit.Constants.RpcRequest; -import com.gitblit.models.RegistrantAccessPermission; import com.gitblit.models.RefModel; +import com.gitblit.models.RegistrantAccessPermission; import com.gitblit.models.RepositoryModel; import com.gitblit.models.ServerSettings; import com.gitblit.models.TeamModel; import com.gitblit.models.UserModel; +import com.gitblit.utils.DeepCopier; import com.gitblit.utils.HttpUtils; import com.gitblit.utils.JGitUtils; import com.gitblit.utils.RpcUtils; +import com.gitblit.utils.StringUtils; /** * Handles remote procedure calls. - * + * * @author James Moger - * + * */ public class RpcServlet extends JsonServlet { private static final long serialVersionUID = 1L; - public static final int PROTOCOL_VERSION = 5; + public static final int PROTOCOL_VERSION = 6; public RpcServlet() { super(); @@ -58,7 +60,7 @@ /** * Processes an rpc request. - * + * * @param request * @param response * @throws javax.servlet.ServletException @@ -132,6 +134,28 @@ repository.close(); } result = localBranches; + } else if (RpcRequest.GET_USER.equals(reqType)) { + if (StringUtils.isEmpty(objectName)) { + if (UserModel.ANONYMOUS.equals(user)) { + response.sendError(forbiddenCode); + } else { + // return the current user, reset credentials + UserModel requestedUser = DeepCopier.copy(user); + result = requestedUser; + } + } else { + if (user.canAdmin() || objectName.equals(user.username)) { + // return the specified user + UserModel requestedUser = GitBlit.self().getUserModel(objectName); + if (requestedUser == null) { + response.setStatus(failureCode); + } else { + result = requestedUser; + } + } else { + response.sendError(forbiddenCode); + } + } } else if (RpcRequest.LIST_USERS.equals(reqType)) { // list users List<String> names = GitBlit.self().getAllUsernames(); -- Gitblit v1.9.1