mirror of
https://github.com/flarum/core.git
synced 2025-07-18 23:31:17 +02:00
Use new Model extender
This commit is contained in:
@@ -9,7 +9,9 @@
|
|||||||
|
|
||||||
use Flarum\Approval\Access;
|
use Flarum\Approval\Access;
|
||||||
use Flarum\Approval\Listener;
|
use Flarum\Approval\Listener;
|
||||||
|
use Flarum\Discussion\Discussion;
|
||||||
use Flarum\Extend;
|
use Flarum\Extend;
|
||||||
|
use Flarum\Post\Post;
|
||||||
use Illuminate\Contracts\Events\Dispatcher;
|
use Illuminate\Contracts\Events\Dispatcher;
|
||||||
|
|
||||||
return [
|
return [
|
||||||
@@ -20,6 +22,14 @@ return [
|
|||||||
(new Extend\Frontend('admin'))
|
(new Extend\Frontend('admin'))
|
||||||
->js(__DIR__.'/js/dist/admin.js'),
|
->js(__DIR__.'/js/dist/admin.js'),
|
||||||
|
|
||||||
|
// Discussions should be approved by default
|
||||||
|
(new Extend\Model(Discussion::class))
|
||||||
|
->default('is_approved', true),
|
||||||
|
|
||||||
|
// Posts should be approved by default
|
||||||
|
(new Extend\Model(Post::class))
|
||||||
|
->default('is_approved', true),
|
||||||
|
|
||||||
function (Dispatcher $events) {
|
function (Dispatcher $events) {
|
||||||
$events->subscribe(Listener\AddPostApprovalAttributes::class);
|
$events->subscribe(Listener\AddPostApprovalAttributes::class);
|
||||||
$events->subscribe(Listener\ApproveContent::class);
|
$events->subscribe(Listener\ApproveContent::class);
|
||||||
|
@@ -10,7 +10,6 @@
|
|||||||
namespace Flarum\Approval\Listener;
|
namespace Flarum\Approval\Listener;
|
||||||
|
|
||||||
use Flarum\Discussion\Discussion;
|
use Flarum\Discussion\Discussion;
|
||||||
use Flarum\Event\ConfigureModelDefaultAttributes;
|
|
||||||
use Flarum\Event\GetModelIsPrivate;
|
use Flarum\Event\GetModelIsPrivate;
|
||||||
use Flarum\Flags\Flag;
|
use Flarum\Flags\Flag;
|
||||||
use Flarum\Post\Event\Saving;
|
use Flarum\Post\Event\Saving;
|
||||||
@@ -24,21 +23,10 @@ class UnapproveNewContent
|
|||||||
*/
|
*/
|
||||||
public function subscribe(Dispatcher $events)
|
public function subscribe(Dispatcher $events)
|
||||||
{
|
{
|
||||||
$events->listen(ConfigureModelDefaultAttributes::class, [$this, 'approveByDefault']);
|
|
||||||
$events->listen(Saving::class, [$this, 'unapproveNewPosts']);
|
$events->listen(Saving::class, [$this, 'unapproveNewPosts']);
|
||||||
$events->listen(GetModelIsPrivate::class, [$this, 'markUnapprovedContentAsPrivate']);
|
$events->listen(GetModelIsPrivate::class, [$this, 'markUnapprovedContentAsPrivate']);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @param ConfigureModelDefaultAttributes $event
|
|
||||||
*/
|
|
||||||
public function approveByDefault(ConfigureModelDefaultAttributes $event)
|
|
||||||
{
|
|
||||||
if ($event->isModel(Post::class) || $event->isModel(Discussion::class)) {
|
|
||||||
$event->attributes['is_approved'] = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param Saving $event
|
* @param Saving $event
|
||||||
*/
|
*/
|
||||||
|
Reference in New Issue
Block a user