Good day,
i have been trying to create new users using an API call.
To achieve this, I wrote an extension with basically two files
1. application/Espo/Custom/Acl/User.php
and 2. application/Espo/Resources/metadata/scopes/User.json
I could then assign the "create" permission to a new role and assign this role to a user (and respectively an api user).
However, even in the front-end I cannot create a new user with a non-admin user, having the appropriate role. I can access the form to create a new user, however, I cannot assign either a username, a role or a team (see attached figure).
A call to the REST-API yields a "400 Bad Request" error with "X-Status-Reason →Not valid data. Field: 'userName', type: required.".
My request body looks like this:
Unfortunately my logging does not seem to work properly, that is why I cannot track the incoming request.
Does anybody have an idea, why this approach does not work or where I can find access permissions for the userName field?
Best wishes and many thanks in advance
Simon
i have been trying to create new users using an API call.
To achieve this, I wrote an extension with basically two files
1. application/Espo/Custom/Acl/User.php
PHP Code:
<?php
namespace Espo\Custom\Acl;
use \Espo\Entities\User as EntityUser;
use \Espo\ORM\Entity;
class User extends \Espo\Core\Acl\Base {
public function checkEntityCreate(EntityUser $user, Entity $entity, $data) {
return $this->checkEntity($user, $entity, $data, 'create');
}
}
?>
Code:
{ "entity": true, "layouts": true, "tab": true, "acl": true, "aclActionList": ["create", "read", "edit"], "aclActionLevelListMap": { "edit": ["all", "own", "no"] }, "customizable": true, "object": true }
However, even in the front-end I cannot create a new user with a non-admin user, having the appropriate role. I can access the form to create a new user, however, I cannot assign either a username, a role or a team (see attached figure).
A call to the REST-API yields a "400 Bad Request" error with "X-Status-Reason →Not valid data. Field: 'userName', type: required.".
My request body looks like this:
Code:
{ "type": "regular", "firstName": "fasd", "lastName": "fdasd", "isActive": true, "isSuperAdmin": false, "teams": { "teamsIds": [] }, "gender": "", "userName": "mustermann3", "salutationName": "Ms.", "password": "1qay", "passwordPreview": "", "passwordConfirm": "1qay", "title": null, "emailAddressData": [], "emailAddress": null, "emailAddressIsOptedOut": null, "phoneNumberData": [], "phoneNumber": null, "phoneNumberIsOptedOut": null, "defaultTeamName": null, "defaultTeamId": null, "rolesIds": [], "rolesNames": {}, "teamsIds": [], "teamsNames": {}, "teamsColumns": {} }
Does anybody have an idea, why this approach does not work or where I can find access permissions for the userName field?
Best wishes and many thanks in advance
Simon