Skip to content

Commit 74d5823

Browse files
committed
Merge branch 'release/2.3.1'
2 parents 3ee6ed5 + 64d59fb commit 74d5823

File tree

5 files changed

+38
-6
lines changed

5 files changed

+38
-6
lines changed

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
# Release Notes for Webhooks for Craft CMS
22

3+
## 2.3.1 - 2020-07-19
4+
5+
### Added
6+
- Added a new “Element is enabled” filter. ([#29](https://github.com/craftcms/webhooks/issues/29))
7+
38
## 2.3.0 - 2020-07-18
49

510
### Added

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "craftcms/webhooks",
33
"description": "Post webhooks when events are triggered in Craft CMS.",
4-
"version": "2.3.0",
4+
"version": "2.3.1",
55
"type": "craft-plugin",
66
"keywords": [
77
"html",

src/Plugin.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
use craft\web\UrlManager;
1414
use craft\webhooks\filters\DraftFilter;
1515
use craft\webhooks\filters\DuplicatingFilter;
16+
use craft\webhooks\filters\ElementEnabledFilter;
1617
use craft\webhooks\filters\FilterInterface;
1718
use craft\webhooks\filters\NewElementFilter;
1819
use craft\webhooks\filters\PropagatingFilter;
@@ -475,6 +476,7 @@ public function getAllFilters(): array
475476
{
476477
$filterTypes = [
477478
NewElementFilter::class,
479+
ElementEnabledFilter::class,
478480
DraftFilter::class,
479481
RevisionFilter::class,
480482
DuplicatingFilter::class,

src/filters/BaseElementFilter.php

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,6 @@
1717
*/
1818
abstract class BaseElementFilter implements FilterInterface
1919
{
20-
public static function displayName(): string
21-
{
22-
return Craft::t('webhooks', 'Element is a draft');
23-
}
24-
2520
public static function show(string $class, string $event): bool
2621
{
2722
return (is_subclass_of($class, ElementInterface::class) || (

src/filters/ElementEnabledFilter.php

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
<?php
2+
3+
namespace craft\webhooks\filters;
4+
5+
use Craft;
6+
use craft\base\Element;
7+
use craft\base\ElementInterface;
8+
use craft\events\ElementEvent;
9+
use craft\events\ModelEvent;
10+
use yii\base\Event;
11+
12+
/**
13+
* Filters events based on whether the element is enabled
14+
*
15+
* @author Pixel & Tonic, Inc. <[email protected]>
16+
* @since 2.3.1
17+
*/
18+
class ElementEnabledFilter extends BaseElementFilter
19+
{
20+
public static function displayName(): string
21+
{
22+
return Craft::t('webhooks', 'Element is enabled');
23+
}
24+
25+
protected static function checkElement(ElementInterface $element, bool $value): bool
26+
{
27+
/** @var Element $element */
28+
return $value === ($element->enabled && $element->enabledForSite);
29+
}
30+
}

0 commit comments

Comments
 (0)