From ff6e674854430f35c8757716ed35216c364894df Mon Sep 17 00:00:00 2001 From: Toby Zerner Date: Sat, 28 May 2016 09:46:03 +0930 Subject: [PATCH] Give the is_approved attribute a default value on new Post models --- .../approval/src/Listener/UnapproveNewContent.php | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/extensions/approval/src/Listener/UnapproveNewContent.php b/extensions/approval/src/Listener/UnapproveNewContent.php index 5dc5fa1d3..07c04bbd7 100644 --- a/extensions/approval/src/Listener/UnapproveNewContent.php +++ b/extensions/approval/src/Listener/UnapproveNewContent.php @@ -10,6 +10,8 @@ namespace Flarum\Approval\Listener; +use Flarum\Core\Post; +use Flarum\Event\ConfigureModelDefaultAttributes; use Flarum\Event\PostWillBeSaved; use Flarum\Flags\Flag; use Illuminate\Contracts\Events\Dispatcher; @@ -21,9 +23,20 @@ class UnapproveNewContent */ public function subscribe(Dispatcher $events) { + $events->listen(ConfigureModelDefaultAttributes::class, [$this, 'approveByDefault']); $events->listen(PostWillBeSaved::class, [$this, 'unapproveNewPosts']); } + /** + * @param ConfigureModelDefaultAttributes $event + */ + public function approveByDefault(ConfigureModelDefaultAttributes $event) + { + if ($event->isModel(Post::class)) { + $event->attributes['is_approved'] = true; + } + } + /** * @param PostWillBeSaved $event */