Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

...

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:

MethodeBeschreibung
copyDie Methode ermöglich das Kopieren von Datensätzen, wie in Kopieren von Datensätzen beschrieben.
deleteDie Methode ermöglicht das Löschen von Datensätzen, wie in Löschen von Datensätzen beschrieben.

...

Definition per crud.json

Info

Eine crud.json muss dem in framework/resources/crud-schema.json beschriebenen JSON-Schema folgen. Eine Entwicklungsumgebung wie bspw. PHPStorm verfügt über eine einfache Validierungmöglichkeit für die Schemata.


Codeblock
languagejs
{
    "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"
                                }
                            ]
                        }
                    ]
                }
            ]
        }
    ]
}

Beispiel

Codeblock
languagephp
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')
;

...