fix notifications

This commit is contained in:
yuri
2018-09-10 10:24:09 +03:00
parent 54085a59c3
commit b2ea073c16
3 changed files with 27 additions and 2 deletions

View File

@@ -31,6 +31,18 @@ namespace Espo\Entities;
class Note extends \Espo\Core\ORM\Entity
{
private $aclIsProcessed = false;
public function setAclIsProcessed()
{
$this->aclIsProcessed = true;
}
public function isAclProcessed()
{
return $this->aclIsProcessed;
}
public function loadAttachments()
{
$data = $this->get('data');

View File

@@ -133,10 +133,19 @@ class Notifications extends \Espo\Core\Hooks\Base
$targetType = $parentType;
}
$teamIdList = $entity->getLinkMultipleIdList('teams');
$userIdList = $entity->getLinkMultipleIdList('users');
$skipAclCheck = false;
if (!$entity->isAclProcessed()) {
$skipAclCheck = true;
} else {
$teamIdList = $entity->getLinkMultipleIdList('teams');
$userIdList = $entity->getLinkMultipleIdList('users');
}
foreach ($userList as $user) {
if ($skipAclCheck) {
$notifyUserIdList[] = $user->id;
continue;
}
if ($user->isAdmin()) {
$notifyUserIdList[] = $user->id;
continue;

View File

@@ -889,6 +889,10 @@ class Stream extends \Espo\Core\Services\Base
protected function processNoteTeamsUsers(Entity $note, Entity $entity)
{
$note->setAclIsProcessed();
$note->set('teamsIds', []);
$note->set('usersIds', []);
if ($entity->hasLinkMultipleField('teams') && $entity->has('teamsIds')) {
$teamIdList = $entity->get('teamsIds');
if (!empty($teamIdList)) {