Skip to content
Snippets Groups Projects
Commit a5664db4 authored by felmer's avatar felmer
Browse files

SSDM-5721: allow unspecified person id in PersonUpdate in case of session user

SVN: 38989
parent 9e396c20
No related branches found
No related tags found
No related merge requests found
...@@ -34,6 +34,7 @@ import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.IOperationContext; ...@@ -34,6 +34,7 @@ import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.IOperationContext;
import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.entity.AbstractUpdateEntityExecutor; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.entity.AbstractUpdateEntityExecutor;
import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.CommonUtils; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.CommonUtils;
import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.batch.MapBatch; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.batch.MapBatch;
import ch.systemsx.cisd.common.exceptions.UserFailureException;
import ch.systemsx.cisd.openbis.generic.server.business.bo.DataAccessExceptionTranslator; import ch.systemsx.cisd.openbis.generic.server.business.bo.DataAccessExceptionTranslator;
import ch.systemsx.cisd.openbis.generic.server.dataaccess.IDAOFactory; import ch.systemsx.cisd.openbis.generic.server.dataaccess.IDAOFactory;
import ch.systemsx.cisd.openbis.generic.server.dataaccess.IRoleAssignmentDAO; import ch.systemsx.cisd.openbis.generic.server.dataaccess.IRoleAssignmentDAO;
...@@ -75,6 +76,17 @@ public class UpdatePersonExecutor ...@@ -75,6 +76,17 @@ public class UpdatePersonExecutor
@Override @Override
protected void checkData(IOperationContext context, PersonUpdate update) protected void checkData(IOperationContext context, PersonUpdate update)
{ {
if (update.getPersonId() == null)
{
PersonPE person = context.getSession().tryGetPerson();
if (person != null)
{
update.setPersonId(new PersonPermId(person.getUserId()));
} else
{
throw new UserFailureException("Person to be updated not specified.");
}
}
} }
@Override @Override
......
...@@ -108,7 +108,7 @@ public class UpdatePersonTest extends AbstractTest ...@@ -108,7 +108,7 @@ public class UpdatePersonTest extends AbstractTest
String sessionToken = v3api.login(TEST_GROUP_OBSERVER, PASSWORD); String sessionToken = v3api.login(TEST_GROUP_OBSERVER, PASSWORD);
PersonUpdate personUpdate = new PersonUpdate(); PersonUpdate personUpdate = new PersonUpdate();
PersonPermId personId = new PersonPermId(TEST_GROUP_OBSERVER); PersonPermId personId = new PersonPermId(TEST_GROUP_OBSERVER);
personUpdate.setPersonId(personId); // personUpdate.setPersonId(personId);
personUpdate.setHomeSpaceId(new SpacePermId("TESTGROUP")); personUpdate.setHomeSpaceId(new SpacePermId("TESTGROUP"));
// When // When
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment