Merge pull request #18628 from lainwir3d/fix_rest_api_fix_self_user_info_read
FIX #18627 REST API: Allow users with self read / modify rights to get own info
This commit is contained in:
commit
43684f26c9
@ -151,7 +151,7 @@ class Users extends DolibarrApi
|
|||||||
*/
|
*/
|
||||||
public function get($id, $includepermissions = 0)
|
public function get($id, $includepermissions = 0)
|
||||||
{
|
{
|
||||||
if (empty(DolibarrApiAccess::$user->rights->user->user->lire) && empty(DolibarrApiAccess::$user->admin)) {
|
if (empty(DolibarrApiAccess::$user->rights->user->user->lire) && empty(DolibarrApiAccess::$user->admin) && $id != 0 && DolibarrApiAccess::$user->id != $id) {
|
||||||
throw new RestException(401, 'Not allowed');
|
throw new RestException(401, 'Not allowed');
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -184,12 +184,17 @@ class Users extends DolibarrApi
|
|||||||
*
|
*
|
||||||
* @url GET login/{login}
|
* @url GET login/{login}
|
||||||
*
|
*
|
||||||
* @throws RestException 401 Insufficient rights
|
* @throws RestException 400 Bad request
|
||||||
* @throws RestException 404 User or group not found
|
* @throws RestException 401 Insufficient rights
|
||||||
|
* @throws RestException 404 User or group not found
|
||||||
*/
|
*/
|
||||||
public function getByLogin($login, $includepermissions = 0)
|
public function getByLogin($login, $includepermissions = 0)
|
||||||
{
|
{
|
||||||
if (empty(DolibarrApiAccess::$user->rights->user->user->lire) && empty(DolibarrApiAccess::$user->admin)) {
|
if (empty($login)) {
|
||||||
|
throw new RestException(400, 'Bad parameters');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (empty(DolibarrApiAccess::$user->rights->user->user->lire) && empty(DolibarrApiAccess::$user->admin) && DolibarrApiAccess::$user->login != $login) {
|
||||||
throw new RestException(401, 'Not allowed');
|
throw new RestException(401, 'Not allowed');
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -218,12 +223,17 @@ class Users extends DolibarrApi
|
|||||||
*
|
*
|
||||||
* @url GET email/{email}
|
* @url GET email/{email}
|
||||||
*
|
*
|
||||||
|
* @throws RestException 400 Bad request
|
||||||
* @throws RestException 401 Insufficient rights
|
* @throws RestException 401 Insufficient rights
|
||||||
* @throws RestException 404 User or group not found
|
* @throws RestException 404 User or group not found
|
||||||
*/
|
*/
|
||||||
public function getByEmail($email, $includepermissions = 0)
|
public function getByEmail($email, $includepermissions = 0)
|
||||||
{
|
{
|
||||||
if (empty(DolibarrApiAccess::$user->rights->user->user->lire) && empty(DolibarrApiAccess::$user->admin)) {
|
if (empty($email)) {
|
||||||
|
throw new RestException(400, 'Bad parameters');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (empty(DolibarrApiAccess::$user->rights->user->user->lire) && empty(DolibarrApiAccess::$user->admin) && DolibarrApiAccess::$user->email != $email) {
|
||||||
throw new RestException(401, 'Not allowed');
|
throw new RestException(401, 'Not allowed');
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -256,7 +266,7 @@ class Users extends DolibarrApi
|
|||||||
*/
|
*/
|
||||||
public function getInfo($includepermissions = 0)
|
public function getInfo($includepermissions = 0)
|
||||||
{
|
{
|
||||||
if (empty(DolibarrApiAccess::$user->rights->user->user->lire) && empty(DolibarrApiAccess::$user->admin)) {
|
if (empty(DolibarrApiAccess::$user->rights->user->self->creer) && empty(DolibarrApiAccess::$user->rights->user->user->lire) && empty(DolibarrApiAccess::$user->admin)) {
|
||||||
throw new RestException(401, 'Not allowed');
|
throw new RestException(401, 'Not allowed');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user