Skip to content

Commit b7bd4b5

Browse files
PB-341: Save content as template
- fix image delete from db
1 parent 83c271b commit b7bd4b5

File tree

1 file changed

+16
-4
lines changed

1 file changed

+16
-4
lines changed

app/code/Magento/PageBuilder/Model/TemplateRepository.php

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
use Magento\PageBuilder\Api\TemplateRepositoryInterface;
2020
use Magento\PageBuilder\Model\ResourceModel\Template as ResourceTemplate;
2121
use Magento\PageBuilder\Model\ResourceModel\Template\CollectionFactory as TemplateCollectionFactory;
22+
use Magento\MediaStorage\Helper\File\Storage\Database;
2223

2324
/**
2425
* Repository for Page Builder Templates
@@ -57,28 +58,36 @@ class TemplateRepository implements TemplateRepositoryInterface
5758
*/
5859
private $filesystem;
5960

61+
/**
62+
* @var Database
63+
*/
64+
private $mediaStorage;
65+
6066
/**
6167
* @param ResourceTemplate $resource
6268
* @param TemplateFactory $templateFactory
6369
* @param TemplateCollectionFactory $templateCollectionFactory
6470
* @param TemplateSearchResultsInterfaceFactory $searchResultsFactory
6571
* @param CollectionProcessorInterface $collectionProcessor
6672
* @param Filesystem $filesystem
73+
* @param Database $mediaStorage
6774
*/
6875
public function __construct(
6976
ResourceTemplate $resource,
7077
TemplateFactory $templateFactory,
7178
TemplateCollectionFactory $templateCollectionFactory,
7279
TemplateSearchResultsInterfaceFactory $searchResultsFactory,
7380
CollectionProcessorInterface $collectionProcessor,
74-
Filesystem $filesystem
81+
Filesystem $filesystem,
82+
Database $mediaStorage
7583
) {
7684
$this->resource = $resource;
7785
$this->templateFactory = $templateFactory;
7886
$this->templateCollectionFactory = $templateCollectionFactory;
7987
$this->searchResultsFactory = $searchResultsFactory;
8088
$this->collectionProcessor = $collectionProcessor;
8189
$this->filesystem = $filesystem;
90+
$this->mediaStorage = $mediaStorage;
8291
}
8392

8493
/**
@@ -137,18 +146,21 @@ public function delete(TemplateInterface $template) : bool
137146
->getDirectoryWrite(\Magento\Framework\App\Filesystem\DirectoryList::MEDIA);
138147

139148
try {
140-
$previewImage = $template->getPreviewImage();
141149
$templateModel = $this->templateFactory->create();
142150
$this->resource->load($templateModel, $template->getTemplateId());
143151
$this->resource->delete($templateModel);
152+
$previewImage = $template->getPreviewImage();
153+
$previewThumbImage = $templateModel->getPreviewThumbnailImage();
144154

145155
// Remove the preview image from the media directory
146156
if ($mediaDir->isExist($previewImage)) {
147157
$mediaDir->delete($previewImage);
148158
}
149-
if ($mediaDir->isExist($templateModel->getPreviewThumbnailImage())) {
150-
$mediaDir->delete($templateModel->getPreviewThumbnailImage());
159+
if ($mediaDir->isExist($previewThumbImage)) {
160+
$mediaDir->delete($previewThumbImage);
151161
}
162+
$this->mediaStorage->deleteFile($previewImage);
163+
$this->mediaStorage->deleteFile($previewThumbImage);
152164
} catch (\Exception $exception) {
153165
throw new CouldNotDeleteException(
154166
__('Could not delete the Template: %1', $exception->getMessage())

0 commit comments

Comments
 (0)