]> _ Git - cubist_cms-back.git/commitdiff
wip #7868 @1 master
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Wed, 11 Feb 2026 15:50:35 +0000 (16:50 +0100)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Wed, 11 Feb 2026 15:50:35 +0000 (16:50 +0100)
src/app/Magic/Models/CubistMagicAbstractModel.php

index f6445fe97b64d23de15a312ceb7f79f8722caf1e..0caba16813ab42f54e9ae784e38500b8122a469d 100644 (file)
@@ -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();