From: Vincent Vanwaelscappel Date: Wed, 11 Feb 2026 15:50:35 +0000 (+0100) Subject: wip #7868 @1 X-Git-Url: http://git.cubedesigners.com/?a=commitdiff_plain;h=HEAD;p=cubist_cms-back.git wip #7868 @1 --- diff --git a/src/app/Magic/Models/CubistMagicAbstractModel.php b/src/app/Magic/Models/CubistMagicAbstractModel.php index f6445fe..0caba16 100644 --- a/src/app/Magic/Models/CubistMagicAbstractModel.php +++ b/src/app/Magic/Models/CubistMagicAbstractModel.php @@ -55,7 +55,9 @@ class CubistMagicAbstractModel extends Model implements HasMedia public $registerMediaConversionsUsingModelInstance = true; protected static $_doctrineTypesMapping = ['int' => 'integer', 'longtext' => 'text']; + protected static $_permissionBase = null; + protected static $_permissionByOperation = true; protected $connection = null; protected $primaryKey = 'id'; @@ -69,6 +71,7 @@ class CubistMagicAbstractModel extends Model implements HasMedia protected $_enableRevisionsButton = false; protected $_enableBulk = true; + protected $revisionEnabled = true; protected $_flushCacheOnSave = true; @@ -955,10 +958,20 @@ class CubistMagicAbstractModel extends Model implements HasMedia if (null === $user) { return false; } - $permission = $this->getOption('permissions', static::$_permissionBase ?? $this->getOption('name')) . ':' . $operation; + $permission = $this->getOption('permissions', $this->_permission($operation)); return $user->can($permission); } + protected function _permission($operation) + { + $res = static::$_permissionBase ?? $this->getOption('name'); + if (static::$_permissionByOperation) { + $res .= ':' . $operation; + } + + return $res; + } + protected function getAttributesForInsert() { $res = parent::getAttributesForInsert();