Scope superuser subuser invite resends
This commit is contained in:
@@ -1234,9 +1234,11 @@ class subusersRoute
|
||||
global $response;
|
||||
|
||||
$this->requirePermission('edit_subusers');
|
||||
self::requireParameters(['id']);
|
||||
self::requireParameters(['id', 'customer_number']);
|
||||
$subuserId = (int)self::getParameter('id');
|
||||
self::requireType($subuserId, self::type_int());
|
||||
$customerNumber = (int)self::getParameter('customer_number');
|
||||
self::requireType($customerNumber, self::type_int());
|
||||
|
||||
$subuser = (new subusers_o())->select($subuserId);
|
||||
if (!$subuser->exists()) {
|
||||
@@ -1244,21 +1246,23 @@ class subusersRoute
|
||||
}
|
||||
$subuser->getObjectProperties();
|
||||
|
||||
$grant = (new subuser_grants_o())->getGrantForSubuserAndCustomer($subuserId, $customerNumber, true);
|
||||
if ($grant === null) {
|
||||
$response->error('Subuser grant not found for selected customer', 404);
|
||||
}
|
||||
|
||||
if (!$subuser->requiresSetup()) {
|
||||
$response->error('Driver account already accepted the invitation.', 409);
|
||||
}
|
||||
|
||||
$invite = $this->issueSetupInvite($subuser);
|
||||
$response->success([
|
||||
'subuser' => [
|
||||
'id' => (int)$subuser->id,
|
||||
'setup_required' => true,
|
||||
'can_resend_invite' => true,
|
||||
],
|
||||
'subuser' => $this->buildSubuserManagementPayload($subuser, $customerNumber),
|
||||
'grant' => $grant->asArray(),
|
||||
'invite' => $invite,
|
||||
]);
|
||||
}, [
|
||||
'edit_subusers' => 'Resend chauffeur invites for any customer (superuser).',
|
||||
'edit_subusers' => 'Resend chauffeur invites for a selected customer (superuser).',
|
||||
]);
|
||||
|
||||
$this->post('/subusers/invite/resend', function () {
|
||||
|
||||
Reference in New Issue
Block a user