...
Der CrudManager ermöglicht es Kopier- und Löschaktionen über eine Konfiguration zu steuern und zu reglementieren. Er setzt auf Brandbox/Doctrine auf und nutzt die folgenden Funktionen:
Die verwendund de Verwendung des CrudManager ermöglicht dabei die Einschränkung von potenziell Ressourcenhungrigen Anfragen. Da Datensätze rekursiv kopiert/gelöscht werden können, ist es hier nun möglich die Rekursionspfade zu definieren und ggf. zu limiterenlimitieren.
Methode | Beschreibung |
---|---|
copy | Die Methode ermöglich das Kopieren von Datensätzen, wie in Kopieren von Datensätzen beschrieben. |
delete | Die Methode ermöglicht das Löschen von Datensätzen, wie in Löschen von Datensätzen beschrieben. |
Definition per crud.json
Steht für ein Repository keine crud.json zur Verfügung, werden die Standard-Funktionen angeboten.
Info |
---|
Eine |
Prohibited
In dem Array kann angegeben welche Standard-Aktionen verboten werden können. Standardmäßig sind alle Standard-Aktionen erlaubt.
Multiple
Mit multiple
gibt man an, ob der Anwender mehrere Datensätze des Typs kopieren/löschen kann.
Guided Actions
Geführte Aktionen ermöglichen die Definition einer Rekursionskette sowie die Zuordnung einer Kopier- und Löschaktion zu einem spezifischen Label. Auch hier kann entschieden werden, ob mehrere Datensätze verarbeitet werden dürfen.
Codeblock | ||
---|---|---|
| ||
{ "repositories": [ { "repository": "MyRepository", "prohibited": [ "CopyRoot", "CopyDefault", "CopyRelate", "CopyRecursive", "DeleteDefault", "DeleteRecursive" ], "multiple": false, "guidedActions": [ { "identifier": "myGuidedAction", "label": { "de": "Lorem Ipsum...", "en": "Lorem Ipsum..." }, "actions": [ "CopyRecursive", "DeleteRecursive" ], "multiple": false, "nodes": [ { "repository": "MyRepository", "nodes": [ { "repository": "MyChildRepository" } ], "relateOnly": false, "withTranslation": true } ] } ] } ] } |
Info |
---|
HinweisWird das Flag |
Beispiel
Codeblock | ||
---|---|---|
| ||
use Brandbox\Framework\Brandbox\Crud; $ids = [1,2,3,4,5]; $entities = ['MyRepository' => $ids] $logger = $this ->staticController(Crud\CrudManager::class) ->copy($entities, 'myGuidedAction') ; $logger = $this ->staticController(Crud\CrudManager::class) ->delete($entities, 'myGuidedAction') ; |
Versionshinweise
Info |
---|
brandbox 8.0 (framework 1.29.0)Das Package steht ab framwork 1.29.0 zur Verfügung |
...