Skip to content

Commit

Permalink
Merge pull request #7 from lsst-epo/6-plugin-crashes-after-creating-n…
Browse files Browse the repository at this point in the history
…ew-singles

Fixed singles creation bug
  • Loading branch information
ericdrosas87 authored Jan 23, 2025
2 parents e510cf9 + 5ca366f commit 1926034
Show file tree
Hide file tree
Showing 2 changed files with 53 additions and 37 deletions.
2 changes: 1 addition & 1 deletion composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "lsst-epo/craft-next-js-builds",
"description": "Invoke Next.js page builds from Craft.",
"type": "craft-plugin",
"version": "2.0.0",
"version": "2.0.1",
"keywords": [
"craft",
"cms",
Expand Down
88 changes: 52 additions & 36 deletions src/NextBuilds.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@

namespace lsst\nextbuilds;

use Exception;
use lsst\nextbuilds\services\Request as RequestService;
use lsst\nextbuilds\models\Settings;

Expand Down Expand Up @@ -93,21 +94,26 @@ public function init()
function(StatusChangeEvent $event) {
$newStatus = $event->element->getStatus();
$entry = $event->element;
if($entry instanceof \craft\elements\Entry &&
!$entry->resaving &&
$this->settings->activeSections[$entry->section->handle] &&
!ElementHelper::isDraftOrRevision($entry) &&
!($entry->duplicateOf && $entry->getIsCanonical() && !$entry->updatingFromDerivative) &&
!ElementHelper::rootElement($entry)->isProvisionalDraft &&
$newStatus == Entry::STATUS_LIVE) {

if($entry->type->handle == "callout") {
$this->request->buildPagesFromEntry($this->homeUri, false);
} else if ($entry->uri != null) {
$revalidateMenu = ($entry->type->handle == "pages");
$this->request->buildPagesFromEntry($entry->uri, $revalidateMenu);
}
try {
if ($entry instanceof \craft\elements\Entry &&
!$entry->resaving &&
$this->settings->activeSections[$entry->section->handle] &&
!ElementHelper::isDraftOrRevision($entry) &&
!($entry->duplicateOf && $entry->getIsCanonical() && !$entry->updatingFromDerivative) &&
!ElementHelper::rootElement($entry)->isProvisionalDraft &&
$newStatus == Entry::STATUS_LIVE) {

if ($entry->type->handle == "callout") {
$this->request->buildPagesFromEntry($this->homeUri, false);
} else if ($entry->uri != null) {
$revalidateMenu = ($entry->type->handle == "pages");
$this->request->buildPagesFromEntry($entry->uri, $revalidateMenu);
}

}
} catch (Exception $exception) {
Craft::error($exception->getMessage(), "REVALIDATE_STATUS");
}
}
);
Expand Down Expand Up @@ -141,19 +147,24 @@ function (PluginEvent $event) {
function (ModelEvent $event) {
$entry = $event->sender;

if (
$this->settings->activeSections[$entry->section->handle] &&
!ElementHelper::isDraftOrRevision($entry) &&
!($entry->duplicateOf && $entry->getIsCanonical() && !$entry->updatingFromDerivative) &&
!ElementHelper::rootElement($entry)->isProvisionalDraft &&
!$entry->resaving &&
$entry->uri != null
) {
$revalidateMenu = ($entry->type->handle == "pages");
Craft::$app->onAfterRequest(function() use ($entry, $revalidateMenu) {
$this->request->buildPagesFromEntry($entry->uri, $revalidateMenu);
});
try {
if (
$this->settings->activeSections[$entry->section->handle] &&
!ElementHelper::isDraftOrRevision($entry) &&
!($entry->duplicateOf && $entry->getIsCanonical() && !$entry->updatingFromDerivative) &&
!ElementHelper::rootElement($entry)->isProvisionalDraft &&
!$entry->resaving &&
$entry->uri != null
) {
$revalidateMenu = ($entry->type->handle == "pages");
Craft::$app->onAfterRequest(function() use ($entry, $revalidateMenu) {
$this->request->buildPagesFromEntry($entry->uri, $revalidateMenu);
});
}
} catch(Exception $exception) {
Craft::error($exception->getMessage(), "REVALIDATE_STATUS");
}

}
);

Expand All @@ -162,17 +173,22 @@ function (ModelEvent $event) {
Entry::EVENT_AFTER_DELETE,
function (Event $event) {
$entry = $event->sender;
if (
$this->settings->activeSections[$entry->section->handle] &&
!ElementHelper::isDraftOrRevision($entry) &&
!($entry->duplicateOf && $entry->getIsCanonical() && !$entry->updatingFromDerivative) &&
!ElementHelper::rootElement($entry)->isProvisionalDraft &&
$entry->uri != null
) {
$revalidateMenu = ($entry->type->handle == "pages");
Craft::$app->onAfterRequest(function() use ($entry, $revalidateMenu) {
$this->request->buildPagesFromEntry($entry->uri, $revalidateMenu);
});

try {
if (
$this->settings->activeSections[$entry->section->handle] &&
!ElementHelper::isDraftOrRevision($entry) &&
!($entry->duplicateOf && $entry->getIsCanonical() && !$entry->updatingFromDerivative) &&
!ElementHelper::rootElement($entry)->isProvisionalDraft &&
$entry->uri != null
) {
$revalidateMenu = ($entry->type->handle == "pages");
Craft::$app->onAfterRequest(function() use ($entry, $revalidateMenu) {
$this->request->buildPagesFromEntry($entry->uri, $revalidateMenu);
});
}
} catch (Exception $exception) {
Craft::error($exception->getMessage(), "REVALIDATE_STATUS");
}
}
);
Expand Down

0 comments on commit 1926034

Please sign in to comment.