mirror of
https://github.com/espocrm/espocrm.git
synced 2026-06-28 06:56:05 +00:00
type fixes
This commit is contained in:
@@ -30,6 +30,7 @@
|
||||
namespace Espo\Controllers;
|
||||
|
||||
use Espo\Core\Exceptions\Forbidden;
|
||||
use Espo\Core\Exceptions\BadRequest;
|
||||
|
||||
use Espo\Services\EmailAddress as Service;
|
||||
|
||||
@@ -55,6 +56,10 @@ class EmailAddress extends RecordBase
|
||||
|
||||
$q = $request->getQueryParam('q');
|
||||
|
||||
if ($q === null) {
|
||||
throw new BadRequest("No `q` parameter.");
|
||||
}
|
||||
|
||||
$maxSize = intval($request->getQueryParam('maxSize'));
|
||||
|
||||
if (empty($maxSize) || $maxSize > 50) {
|
||||
|
||||
@@ -29,6 +29,8 @@
|
||||
|
||||
namespace Espo\Controllers;
|
||||
|
||||
use Espo\Core\Exceptions\BadRequest;
|
||||
|
||||
use Espo\Services\EmailTemplate as Service;
|
||||
|
||||
use Espo\Core\{
|
||||
@@ -44,6 +46,10 @@ class EmailTemplate extends Record
|
||||
{
|
||||
$id = $request->getQueryParam('id');
|
||||
|
||||
if ($id === null) {
|
||||
throw new BadRequest("No `id`.");
|
||||
}
|
||||
|
||||
return (object) $this->getEmailTempalteService()->parse(
|
||||
$id,
|
||||
[
|
||||
|
||||
@@ -62,8 +62,12 @@ class Export
|
||||
$result = $this->service->process($params, $serviceParams);
|
||||
|
||||
if ($result->hasResult()) {
|
||||
$subResult = $result->getResult();
|
||||
|
||||
assert($subResult !== null);
|
||||
|
||||
return (object) [
|
||||
'id' => $result->getResult()->getAttachmentId(),
|
||||
'id' => $subResult->getAttachmentId(),
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@@ -30,6 +30,7 @@
|
||||
namespace Espo\Controllers;
|
||||
|
||||
use Espo\Core\Exceptions\Forbidden;
|
||||
use Espo\Core\Exceptions\BadRequest;
|
||||
|
||||
use Espo\Core\{
|
||||
Upgrades\ExtensionManager,
|
||||
@@ -51,6 +52,10 @@ class Extension extends RecordBase
|
||||
{
|
||||
$body = $request->getBodyContents();
|
||||
|
||||
if ($body === null) {
|
||||
throw new BadRequest();
|
||||
}
|
||||
|
||||
$manager = new ExtensionManager($this->getContainer());
|
||||
|
||||
$id = $manager->upload($body);
|
||||
|
||||
@@ -30,6 +30,8 @@
|
||||
namespace Espo\Controllers;
|
||||
|
||||
use Espo\Core\Exceptions\Forbidden;
|
||||
use Espo\Core\Exceptions\BadRequest;
|
||||
use Espo\Core\Exceptions\NotFound;
|
||||
|
||||
use Espo\Services\ExternalAccount as Service;
|
||||
|
||||
@@ -91,6 +93,10 @@ class ExternalAccount extends RecordBase
|
||||
{
|
||||
$id = $request->getQueryParam('id');
|
||||
|
||||
if ($id === null) {
|
||||
throw new BadRequest();
|
||||
}
|
||||
|
||||
list($integration, $userId) = explode('__', $id);
|
||||
|
||||
if ($this->user->getId() != $userId && !$this->user->isAdmin()) {
|
||||
@@ -112,6 +118,7 @@ class ExternalAccount extends RecordBase
|
||||
|
||||
public function getActionRead(Request $request, Response $response): stdClass
|
||||
{
|
||||
/** @var string */
|
||||
$id = $request->getRouteParam('id');
|
||||
|
||||
return $this->getRecordService()
|
||||
@@ -121,11 +128,12 @@ class ExternalAccount extends RecordBase
|
||||
|
||||
public function putActionUpdate(Request $request, Response $response): stdClass
|
||||
{
|
||||
/** @var string */
|
||||
$id = $request->getRouteParam('id');
|
||||
|
||||
$data = $request->getParsedBody();
|
||||
|
||||
list ($integration, $userId) = explode('__', $id);
|
||||
list($integration, $userId) = explode('__', $id);
|
||||
|
||||
if ($this->user->getId() !== $userId && !$this->user->isAdmin()) {
|
||||
throw new Forbidden();
|
||||
@@ -137,6 +145,10 @@ class ExternalAccount extends RecordBase
|
||||
|
||||
$entity = $this->entityManager->getEntity('ExternalAccount', $id);
|
||||
|
||||
if (!$entity) {
|
||||
throw new NotFound();
|
||||
}
|
||||
|
||||
$entity->set($data);
|
||||
|
||||
$this->entityManager->saveEntity($entity);
|
||||
|
||||
@@ -29,8 +29,8 @@
|
||||
|
||||
namespace Espo\Controllers;
|
||||
|
||||
use Espo\Core\Exceptions\BadRequest;
|
||||
use Espo\Services\GlobalSearch as Service;
|
||||
|
||||
use Espo\Core\Api\Request;
|
||||
|
||||
use stdClass;
|
||||
@@ -48,6 +48,10 @@ class GlobalSearch
|
||||
{
|
||||
$query = $request->getQueryParam('q');
|
||||
|
||||
if ($query === null) {
|
||||
throw new BadRequest("No `q` parameter.");
|
||||
}
|
||||
|
||||
$offset = intval($request->getQueryParam('offset'));
|
||||
$maxSize = intval($request->getQueryParam('maxSize'));
|
||||
|
||||
|
||||
@@ -64,7 +64,7 @@ class Import extends Record
|
||||
|
||||
public function postActionUploadFile(Request $request): stdClass
|
||||
{
|
||||
$contents = $request->getBodyContents();
|
||||
$contents = $request->getBodyContents() ?? '';
|
||||
|
||||
$attachmentId = $this->getImportService()->uploadFile($contents);
|
||||
|
||||
|
||||
@@ -56,14 +56,21 @@ class Integration
|
||||
|
||||
public function getActionRead(Request $request): stdClass
|
||||
{
|
||||
$entity = $this->service->read($request->getRouteParam('id'));
|
||||
/** @var string */
|
||||
$id = $request->getRouteParam('id');
|
||||
|
||||
$entity = $this->service->read($id);
|
||||
|
||||
return $entity->getValueMap();
|
||||
}
|
||||
|
||||
public function putActionUpdate(Request $request): stdClass
|
||||
{
|
||||
$entity = $this->service->update($request->getRouteParam('id'), $request->getParsedBody());
|
||||
/** @var string */
|
||||
$id = $request->getRouteParam('id');
|
||||
$data = $request->getParsedBody();
|
||||
|
||||
$entity = $this->service->update($id, $data);
|
||||
|
||||
return $entity->getValueMap();
|
||||
}
|
||||
|
||||
@@ -37,7 +37,7 @@ use Espo\Core\{
|
||||
|
||||
use Espo\Tools\Kanban\KanbanService;
|
||||
|
||||
use StdClass;
|
||||
use stdClass;
|
||||
|
||||
class Kanban
|
||||
{
|
||||
@@ -51,8 +51,9 @@ class Kanban
|
||||
$this->searchParamsFetcher = $searchParamsFetcher;
|
||||
}
|
||||
|
||||
public function getActionGetData(Request $request): StdClass
|
||||
public function getActionGetData(Request $request): stdClass
|
||||
{
|
||||
/** @var string */
|
||||
$entityType = $request->getRouteParam('entityType');
|
||||
|
||||
$searchParams = $this->searchParamsFetcher->fetch($request);
|
||||
|
||||
@@ -31,10 +31,9 @@ namespace Espo\Controllers;
|
||||
|
||||
use Espo\Core\Exceptions\Forbidden;
|
||||
use Espo\Core\Exceptions\BadRequest;
|
||||
|
||||
use Espo\Core\Api\Request;
|
||||
|
||||
use Espo\Services\Layout as Service;
|
||||
|
||||
use Espo\Entities\User;
|
||||
|
||||
class Layout
|
||||
@@ -59,6 +58,10 @@ class Layout
|
||||
$scope = $params['scope'] ?? null;
|
||||
$name = $params['name'] ?? null;
|
||||
|
||||
if (!$scope || !$name) {
|
||||
throw new BadRequest();
|
||||
}
|
||||
|
||||
return $this->service->getForFrontend($scope, $name);
|
||||
}
|
||||
|
||||
@@ -69,7 +72,7 @@ class Layout
|
||||
{
|
||||
$params = $request->getRouteParams();
|
||||
|
||||
$data = json_decode($request->getBodyContents());
|
||||
$data = json_decode($request->getBodyContents() ?? 'null');
|
||||
|
||||
if (is_object($data)) {
|
||||
$data = get_object_vars($data);
|
||||
@@ -83,6 +86,10 @@ class Layout
|
||||
$name = $params['name'] ?? null;
|
||||
$setId = $params['setId'] ?? null;
|
||||
|
||||
if (!$scope || !$name) {
|
||||
throw new BadRequest();
|
||||
}
|
||||
|
||||
return $this->service->update($scope, $name, $setId, $data);
|
||||
}
|
||||
|
||||
@@ -113,10 +120,14 @@ class Layout
|
||||
throw new Forbidden();
|
||||
}
|
||||
|
||||
return $this->service->getOriginal(
|
||||
$request->getQueryParam('scope'),
|
||||
$request->getQueryParam('name'),
|
||||
$request->getQueryParam('setId')
|
||||
);
|
||||
$scope = $request->getQueryParam('scope');
|
||||
$name = $request->getQueryParam('name');
|
||||
$setId = $request->getQueryParam('setId');
|
||||
|
||||
if (!$scope || !$name) {
|
||||
throw new BadRequest("No `scope` or `name` parameter.");
|
||||
}
|
||||
|
||||
return $this->service->getOriginal($scope, $name, $setId);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -40,6 +40,8 @@ use Espo\Repositories\Email as EmailRepository;
|
||||
use Espo\Core\Field\LinkParent;
|
||||
use Espo\Core\Field\Link;
|
||||
|
||||
use RuntimeException;
|
||||
|
||||
class Email extends Entity
|
||||
{
|
||||
public const ENTITY_TYPE = 'Email';
|
||||
@@ -178,6 +180,10 @@ class Email extends Entity
|
||||
$attachment->set('parentId', $this->id);
|
||||
$attachment->set('parentType', 'Email');
|
||||
|
||||
if (!$this->entityManager) {
|
||||
throw new RuntimeException();
|
||||
}
|
||||
|
||||
$this->entityManager->saveEntity($attachment);
|
||||
}
|
||||
|
||||
@@ -301,6 +307,10 @@ class Email extends Entity
|
||||
|
||||
$idList[] = $id;
|
||||
|
||||
if (!$this->entityManager) {
|
||||
throw new RuntimeException();
|
||||
}
|
||||
|
||||
/** @var Attachment|null */
|
||||
$attachment = $this->entityManager->getEntity('Attachment', $id);
|
||||
|
||||
@@ -531,6 +541,10 @@ class Email extends Entity
|
||||
|
||||
private function getEmailRepository(): EmailRepository
|
||||
{
|
||||
if (!$this->entityManager) {
|
||||
throw new RuntimeException();
|
||||
}
|
||||
|
||||
/** @var EmailRepository */
|
||||
return $this->entityManager->getRepository(self::ENTITY_TYPE);
|
||||
}
|
||||
|
||||
@@ -33,6 +33,7 @@ use Espo\Core\ORM\Entity;
|
||||
|
||||
use Espo\Core\Field\DateTime;
|
||||
|
||||
use RuntimeException;
|
||||
use stdClass;
|
||||
|
||||
class Note extends Entity
|
||||
@@ -145,6 +146,10 @@ class Note extends Entity
|
||||
return;
|
||||
}
|
||||
|
||||
if (!$this->entityManager) {
|
||||
throw new RuntimeException();
|
||||
}
|
||||
|
||||
$attachmentsIds = $data->attachmentsIds;
|
||||
|
||||
$collection = $this->entityManager
|
||||
|
||||
@@ -35,6 +35,8 @@ use Espo\Core\Field\DateTime;
|
||||
|
||||
use Espo\Repositories\Sms as SmsRepository;
|
||||
|
||||
use RuntimeException;
|
||||
|
||||
class Sms extends Entity implements SmsInterface
|
||||
{
|
||||
public const ENTITY_TYPE = 'Sms';
|
||||
@@ -148,6 +150,10 @@ class Sms extends Entity implements SmsInterface
|
||||
|
||||
private function getSmsRepository(): SmsRepository
|
||||
{
|
||||
if (!$this->entityManager) {
|
||||
throw new RuntimeException();
|
||||
}
|
||||
|
||||
/** @var SmsRepository */
|
||||
return $this->entityManager->getRepository(self::ENTITY_TYPE);
|
||||
}
|
||||
|
||||
@@ -122,6 +122,7 @@ class User extends Person
|
||||
*/
|
||||
public function getTeamIdList(): array
|
||||
{
|
||||
/** @var string[] */
|
||||
return $this->getLinkMultipleIdList('teams');
|
||||
}
|
||||
|
||||
|
||||
@@ -80,6 +80,7 @@ class Ics
|
||||
$this->generate();
|
||||
}
|
||||
|
||||
/** @var string */
|
||||
return $this->output;
|
||||
}
|
||||
|
||||
@@ -119,6 +120,7 @@ class Ics
|
||||
return '';
|
||||
}
|
||||
|
||||
/** @var string */
|
||||
return preg_replace('/([\,;])/', '\\\$1', $string);
|
||||
}
|
||||
|
||||
|
||||
@@ -103,7 +103,7 @@ class Invitations
|
||||
|
||||
public function sendInvitation(Entity $entity, Entity $invitee, string $link): void
|
||||
{
|
||||
$uid = $this->entityManager->getEntity('UniqueId');
|
||||
$uid = $this->entityManager->getNewEntity('UniqueId');
|
||||
|
||||
$uid->set('data', [
|
||||
'eventType' => $entity->getEntityType(),
|
||||
@@ -137,7 +137,8 @@ class Invitations
|
||||
return;
|
||||
}
|
||||
|
||||
$email = $this->entityManager->getEntity('Email');
|
||||
$email = $this->entityManager->getNewEntity('Email');
|
||||
|
||||
$email->set('to', $emailAddress);
|
||||
|
||||
$subjectTpl = $this->templateFileManager->getTemplate('invitation', 'subject', $entity->getEntityType(), 'Crm');
|
||||
|
||||
@@ -119,7 +119,7 @@ class EmailReminder
|
||||
}
|
||||
}
|
||||
|
||||
$email = $this->entityManager->getEntity('Email');
|
||||
$email = $this->entityManager->getNewEntity('Email');
|
||||
|
||||
$email->set('to', $emailAddress);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user