- Модуль: disk
- Путь к файлу: ~/bitrix/modules/disk/lib/internals/sharing.php
- Класс: BitrixDiskInternalsSharingTable
- Вызов: SharingTable::checkFields
static function checkFields(Result $result, $primary, array $data)
{
parent::checkFields($result, $primary, $data);
if(!$result->isSuccess())
{
return;
}
$query = new EntityQuery(static::getEntity());
$res = $query
->setSelect(array('ID', 'STATUS'))
->setFilter(array(
'=TO_ENTITY' => $data['TO_ENTITY'],
'=REAL_OBJECT_ID' => $data['REAL_OBJECT_ID'],
))
->setLimit(2)
->exec()
;
while ($existing = $res->fetch())
{
if(!isset($primary) || $primary != $existing['ID'])
{
if($existing['STATUS'] == self::STATUS_IS_DECLINED)
{
static::delete($existing['ID']);
}
else
{
$result->addError(new EntityEntityError(
Loc::getMessage("DISK_SHARING_ENTITY_ERROR_NON_UNIQUE")
));
}
}
}
}