From a3df76b303613141134912b426535ab8b077b77d Mon Sep 17 00:00:00 2001 From: polo Date: Wed, 24 Dec 2025 13:20:11 +0100 Subject: renommage NodeDataAsset en AssetEmployment --- src/controller/HeadFootController.php | 3 +- src/model/entities/Asset.php | 8 ++--- src/model/entities/AssetEmployment.php | 54 ++++++++++++++++++++++++++++++++++ src/model/entities/NodeData.php | 16 +++++----- src/model/entities/NodeDataAsset.php | 54 ---------------------------------- 5 files changed, 68 insertions(+), 67 deletions(-) create mode 100644 src/model/entities/AssetEmployment.php delete mode 100644 src/model/entities/NodeDataAsset.php diff --git a/src/controller/HeadFootController.php b/src/controller/HeadFootController.php index a4727e2..de7ae53 100644 --- a/src/controller/HeadFootController.php +++ b/src/controller/HeadFootController.php @@ -6,6 +6,7 @@ declare(strict_types=1); use App\Entity\NodeData; use App\Entity\NodeDataAsset; use App\Entity\Asset; +use App\Entity\AssetEmployment; use Doctrine\ORM\EntityManager; class HeadFootController @@ -103,7 +104,7 @@ class HeadFootController } // entrée pas trouvée if($old_nda === null){ - $new_nda = new NodeDataAsset($node_data, $asset, $request_params); // $request_params sera le rôle de l'asset + $new_nda = new AssetEmployment($node_data, $asset, $request_params); // $request_params sera le rôle de l'asset $entityManager->persist($new_nda); } diff --git a/src/model/entities/Asset.php b/src/model/entities/Asset.php index 5400db4..d76ba08 100644 --- a/src/model/entities/Asset.php +++ b/src/model/entities/Asset.php @@ -30,8 +30,8 @@ class Asset #[ORM\Column(type: "string", length: 64, unique: true)] // doctrine n'a pas d'équivalent au type CHAR des BDD (on voulait CHAR(64)), c'est pas grave! private string $hash; // pour détecter deux fichiers identiques, même si leurs noms et les métadonnées changent - #[ORM\OneToMany(mappedBy: 'asset', targetEntity: NodeDataAsset::class)] - private Collection $nda_collection; + #[ORM\OneToMany(mappedBy: 'asset', targetEntity: AssetEmployment::class)] + private Collection $asset_employment; public function __construct(string $name, string $mime_type, string $hash) { @@ -61,8 +61,8 @@ class Asset return $this->hash; } - public function getNodeDataAssets(): Collection + public function getAssetEmployments(): Collection { - return $this->nda_collection; + return $this->asset_employment; } } diff --git a/src/model/entities/AssetEmployment.php b/src/model/entities/AssetEmployment.php new file mode 100644 index 0000000..88ad1bc --- /dev/null +++ b/src/model/entities/AssetEmployment.php @@ -0,0 +1,54 @@ + ressource unique" (paires node_data/role uniques) +// doctrine gère mal les clés primaires triples, j'ai donc choisi une clé primaire double node_data_id/role + +declare(strict_types=1); + +namespace App\Entity; + +use Doctrine\ORM\Mapping as ORM; + +#[ORM\Entity] +#[ORM\Table(name: TABLE_PREFIX . 'asset_employment')] +class AssetEmployment +{ + // clé primaire double + #[ORM\Id] + #[ORM\ManyToOne(targetEntity: NodeData::class, inversedBy: 'nda_collection')] + #[ORM\JoinColumn(name: 'node_data_id', referencedColumnName: 'id_node_data', onDelete: 'CASCADE')] + private NodeData $node_data; + + #[ORM\Id] + #[ORM\Column(type: 'string', length: 50)] + private string $role; + + #[ORM\ManyToOne(targetEntity: Asset::class)] + #[ORM\JoinColumn(name: 'asset_id', referencedColumnName: 'id_asset', onDelete: 'CASCADE')] + private Asset $asset; + + public function __construct(NodeData $node_data, Asset $asset, string $role){ + $this->node_data = $node_data; + $this->asset = $asset; + $this->role = $role; + } + + /*public function getNodeData(): NodeData + { + return $this->node_data; + }*/ + public function getAsset(): Asset + { + return $this->asset; + } + public function setAsset(Asset $asset): self + { + $this->asset = $asset; + return $this; + } + public function getRole(): string + { + return $this->role; + } +} diff --git a/src/model/entities/NodeData.php b/src/model/entities/NodeData.php index d2f10ba..49bfb3c 100644 --- a/src/model/entities/NodeData.php +++ b/src/model/entities/NodeData.php @@ -41,8 +41,8 @@ class NodeData #[ORM\Column(type: "integer", nullable: true)] private ?int $pagination_limit = null; // pour les post_block et news_block - #[ORM\OneToMany(mappedBy: 'node_data', targetEntity: NodeDataAsset::class, cascade: ['persist', 'remove'])] - private Collection $nda_collection; + #[ORM\OneToMany(mappedBy: 'node_data', targetEntity: AssetEmployment::class, cascade: ['persist', 'remove'])] + private Collection $asset_employment; /*#[ORM\OneToMany(mappedBy: 'node_data', targetEntity: Email::class, cascade: ['persist', 'remove'])] // => noeud "form", inutilisé et conflit avec le tableau $emails private Collection $emails;*/ @@ -50,11 +50,11 @@ class NodeData private int $nb_pages = 1; private array $emails = []; // => noeud "show_emails" - public function __construct(array $data, Node $node, Collection $nda_collection = new ArrayCollection, ?string $presentation = null, ?bool $chrono_order = null) + public function __construct(array $data, Node $node, Collection $asset_employment = new ArrayCollection, ?string $presentation = null, ?bool $chrono_order = null) { $this->data = $data; $this->node = $node; - $this->nda_collection = $nda_collection; + $this->asset_employment = $asset_employment; if(!empty($presentation) && $presentation === 'grid'){ $this->grid_cols_min_width = 250; } @@ -137,11 +137,11 @@ class NodeData public function getNodeDataAssets(): Collection { - return $this->nda_collection; + return $this->asset_employment; } - public function getNodeDataAssetByRole(string $role): ?NodeDataAsset + public function getAssetEmploymentByRole(string $role): ?AssetEmployment { - foreach($this->nda_collection as $nda){ + foreach($this->asset_employment as $nda){ if($nda->getRole() === $role){ return $nda; } @@ -150,7 +150,7 @@ class NodeData } public function getAssetByRole(string $role): ?Asset { - $nda = $this->getNodeDataAssetByRole($role); + $nda = $this->getAssetEmploymentByRole($role); if($nda === null){ return null; } diff --git a/src/model/entities/NodeDataAsset.php b/src/model/entities/NodeDataAsset.php deleted file mode 100644 index d5eb141..0000000 --- a/src/model/entities/NodeDataAsset.php +++ /dev/null @@ -1,54 +0,0 @@ - ressource unique" (paires node_data/role uniques) -// doctrine gère mal les clés primaires triples, j'ai donc choisi une clé primaire double node_data_id/role - -declare(strict_types=1); - -namespace App\Entity; - -use Doctrine\ORM\Mapping as ORM; - -#[ORM\Entity] -#[ORM\Table(name: TABLE_PREFIX . 'nodedata_asset')] -class NodeDataAsset -{ - // clé primaire double - #[ORM\Id] - #[ORM\ManyToOne(targetEntity: NodeData::class, inversedBy: 'nda_collection')] - #[ORM\JoinColumn(name: 'node_data_id', referencedColumnName: 'id_node_data', onDelete: 'CASCADE')] - private NodeData $node_data; - - #[ORM\Id] - #[ORM\Column(type: 'string', length: 50)] - private string $role; - - #[ORM\ManyToOne(targetEntity: Asset::class)] - #[ORM\JoinColumn(name: 'asset_id', referencedColumnName: 'id_asset', onDelete: 'CASCADE')] - private Asset $asset; - - public function __construct(NodeData $node_data, Asset $asset, string $role){ - $this->node_data = $node_data; - $this->asset = $asset; - $this->role = $role; - } - - /*public function getNodeData(): NodeData - { - return $this->node_data; - }*/ - public function getAsset(): Asset - { - return $this->asset; - } - public function setAsset(Asset $asset): self - { - $this->asset = $asset; - return $this; - } - public function getRole(): string - { - return $this->role; - } -} -- cgit v1.2.3