Skip to content
Snippets Groups Projects
Commit 982ccd60 authored by Piotr Gawron's avatar Piotr Gawron
Browse files

privileges for objects

parent 92c7804e
No related branches found
No related tags found
2 merge requests!115Resolve "admin panel should use API",!114Resolve "admin panel should use API"
......@@ -26,7 +26,7 @@ import lcsb.mapviewer.services.view.AuthenticationToken;
@Transactional(value = "txManager")
public class UserRestImpl extends BaseRestImpl {
Logger logger = Logger.getLogger(UserRestImpl.class);
Logger logger = Logger.getLogger(UserRestImpl.class);
@Autowired
private ILayoutService layoutService;
......@@ -184,25 +184,21 @@ public class UserRestImpl extends BaseRestImpl {
Object value = privilegesData.get(key);
PrivilegeType type = PrivilegeType.valueOf(key);
Integer objectId = null;
Object privilegeToSet = null;
if (type.getPrivilegeClassType().equals(BasicPrivilege.class)) {
privilegeToSet = value;
getUserService().setUserPrivilege(modifiedUser, type, value, authenticationToken);
} else if (type.getPrivilegeClassType().equals(ObjectPrivilege.class)) {
if (value instanceof Map) {
privilegeToSet = ((Map<?, ?>) value).get(value);
objectId = (Integer) ((Map<?, ?>) value).get(objectId);
Map<?, ?> objects = (Map<?, ?>) value;
for (Object objectId : objects.keySet()) {
getUserService().setUserPrivilege(modifiedUser, type, objects.get(objectId), Integer.valueOf((String) objectId), authenticationToken);
}
} else {
throw new QueryException("Invalid value for privilege: " + key);
}
} else {
throw new QueryException("Unknown privilege type: " + key);
}
if (objectId == null) {
getUserService().setUserPrivilege(modifiedUser, type, privilegeToSet, authenticationToken);
} else {
getUserService().setUserPrivilege(modifiedUser, type, privilegeToSet, objectId, authenticationToken);
}
}
return getUser(token, login, "");
......
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