public void collect(NuxeoPrincipal principal) throws ClientException { if (principal == null) { return; } DocumentModel userEntry = principal.getModel(); String email = (String) userEntry.getProperty(userSchemaName, userEmailFieldName); if (!StringUtils.isEmpty(email)) { result.add(email); } }
@Override protected void deleteArtifact() { um.deleteUser(currentArtifact.getModel()); }
public Serializable getProperty(String xpath) { return principal.getModel().getPropertyValue(xpath); }
@Override public Serializable put(String key, Serializable value) { Property p = principal.getModel().getProperty(key); Serializable v = p.getValue(); p.setValue(value); return v; }
@Override protected NuxeoPrincipal updateArtifact(NuxeoPrincipal principal) { um.updateUser(principal.getModel()); return um.getPrincipal(principal.getName()); }
@Override protected NuxeoPrincipal createArtifact(NuxeoPrincipal principal) { um.createUser(principal.getModel()); return um.getPrincipal(principal.getName()); }
public DocumentModel getCurrentUserModel() { DocumentModel selectedUser = userManagementActions.getSelectedUser(); DocumentModel currentUserModel = currentUser.getModel(); if (selectedUser == null || !selectedUser.getId().equals(currentUserModel.getId())) { userManagementActions.setSelectedUser(currentUserModel); } return currentUserModel; }
@PUT @Path("changepassword") public Object changePassword(String payload) throws JSONException { NuxeoPrincipal currentUser = getContext().getCoreSession().getPrincipal(); JSONObject payloadJson = new JSONObject(payload); String oldPassword = payloadJson.getString("oldPassword"); String newPassword = payloadJson.getString("newPassword"); UserManager userManager = Framework.getService(UserManager.class); if (userManager.checkUsernamePassword(currentUser.getName(), oldPassword)) { currentUser.setPassword(newPassword); Framework.doPrivileged(() -> userManager.updateUser(currentUser.getModel())); return currentUser; } else { return Response.status(Status.UNAUTHORIZED).build(); } }
protected void addUserToGroup(NuxeoPrincipal principal, NuxeoGroup group) { UserManager userManager = Framework.getService(UserManager.class); if (!BaseSession.isReadOnlyEntry(principal.getModel())) { // we can write to the principal List<String> groups = principal.getGroups(); if (groups == null) { groups = new ArrayList<>(); } String groupName = group.getName(); if (!groups.contains(groupName)) { groups.add(groupName); principal.setGroups(groups); userManager.updateUser(principal.getModel()); } } else { // principal is read-only, update through the group instead List<String> users = group.getMemberUsers(); if (users == null) { users = new ArrayList<>(); } String userName = principal.getName(); if (!users.contains(userName)) { users.add(userName); group.setMemberUsers(users); userManager.updateGroup(group.getModel()); } } }
protected void removeUserFromGroup(NuxeoPrincipal principal, NuxeoGroup group) { UserManager userManager = Framework.getService(UserManager.class); if (!BaseSession.isReadOnlyEntry(principal.getModel())) { // we can write to the principal List<String> groups = principal.getGroups(); if (groups == null) { groups = new ArrayList<>(); } String groupName = group.getName(); if (groups.contains(groupName)) { groups.remove(groupName); principal.setGroups(groups); userManager.updateUser(principal.getModel()); } } else { // principal is read-only, update through the group instead List<String> users = group.getMemberUsers(); if (users == null) { users = new ArrayList<>(); } String userName = principal.getName(); if (users.contains(userName)) { users.remove(userName); group.setMemberUsers(users); userManager.updateGroup(group.getModel()); } } }