public function DoCheckToWrite() { parent::DoCheckToWrite(); // Plugins // foreach (MetaModel::EnumPlugins('iApplicationObjectExtension') as $oExtensionInstance) { $aNewIssues = $oExtensionInstance->OnCheckToWrite($this); if (count($aNewIssues) > 0) { $this->m_aCheckIssues = array_merge($this->m_aCheckIssues, $aNewIssues); } } // User rights // $aChanges = $this->ListChanges(); if (count($aChanges) > 0) { $aForbiddenFields = array(); foreach ($this->ListChanges() as $sAttCode => $value) { $bUpdateAllowed = UserRights::IsActionAllowedOnAttribute(get_class($this), $sAttCode, UR_ACTION_MODIFY, DBObjectSet::FromObject($this)); if (!$bUpdateAllowed) { $oAttCode = MetaModel::GetAttributeDef(get_class($this), $sAttCode); $aForbiddenFields[] = $oAttCode->GetLabel(); } } if (count($aForbiddenFields) > 0) { // Security issue $this->m_bSecurityIssue = true; $this->m_aCheckIssues[] = Dict::Format('UI:Delete:NotAllowedToUpdate_Fields', implode(', ', $aForbiddenFields)); } } }