1
0
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:
Alexander Skvortsov
2020-12-08 14:34:11 -05:00
parent c0e0c7f3c7
commit b7034c707d
2 changed files with 8 additions and 11 deletions

View File

@@ -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);
});
},
];

View File

@@ -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();
}
}
}