mirror of
https://github.com/flarum/core.git
synced 2025-07-31 13:40:20 +02:00
Use new policy extender, move deprecated event listener back to old style callback
This commit is contained in:
@@ -47,14 +47,16 @@ return [
|
||||
->type(DiscussionLockedPost::class),
|
||||
|
||||
(new Extend\Event())
|
||||
->listen(ConfigureDiscussionGambits::class, function (ConfigureDiscussionGambits $event) {
|
||||
$event->gambits->add(LockedGambit::class);
|
||||
})
|
||||
->listen(Saving::class, Listener\SaveLockedToDatabase::class)
|
||||
->listen(DiscussionWasLocked::class, Listener\CreatePostWhenDiscussionIsLocked::class)
|
||||
->listen(DiscussionWasUnlocked::class, Listener\CreatePostWhenDiscussionIsUnlocked::class),
|
||||
|
||||
(new Extend\Policy())
|
||||
->modelPolicy(Discussion::class, Access\DiscussionPolicy::class),
|
||||
|
||||
function (Dispatcher $events) {
|
||||
$events->subscribe(Access\DiscussionPolicy::class);
|
||||
$events->listen(ConfigureDiscussionGambits::class, function (ConfigureDiscussionGambits $event) {
|
||||
$event->gambits->add(LockedGambit::class);
|
||||
});
|
||||
},
|
||||
];
|
||||
|
@@ -10,16 +10,11 @@
|
||||
namespace Flarum\Lock\Access;
|
||||
|
||||
use Flarum\Discussion\Discussion;
|
||||
use Flarum\User\AbstractPolicy;
|
||||
use Flarum\User\Access\AbstractPolicy;
|
||||
use Flarum\User\User;
|
||||
|
||||
class DiscussionPolicy extends AbstractPolicy
|
||||
{
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
protected $model = Discussion::class;
|
||||
|
||||
/**
|
||||
* @param User $actor
|
||||
* @param Discussion $discussion
|
||||
@@ -28,7 +23,7 @@ class DiscussionPolicy extends AbstractPolicy
|
||||
public function reply(User $actor, Discussion $discussion)
|
||||
{
|
||||
if ($discussion->is_locked && $actor->cannot('lock', $discussion)) {
|
||||
return false;
|
||||
return $this->deny();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user