From 711e775de707b506921a0aeb94b9a5e05c801864 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Sevilla=20Marti=CC=81n?= Date: Mon, 1 Oct 2018 18:24:03 -0400 Subject: [PATCH] Add permission to bypass throttling --- js/src/admin/components/PermissionGrid.js | 8 +++++++- src/Post/Floodgate.php | 4 ++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/js/src/admin/components/PermissionGrid.js b/js/src/admin/components/PermissionGrid.js index fa6b91526..965cbe6d5 100644 --- a/js/src/admin/components/PermissionGrid.js +++ b/js/src/admin/components/PermissionGrid.js @@ -210,6 +210,12 @@ export default class PermissionGrid extends Component { permission: 'discussion.delete' }, 80); + items.add('postWithoutThrottle', { + icon: 'fas fa-swimmer', + label: app.translator.trans('core.admin.permissions.post_without_throttle_label'), + permission: 'postWithoutThrottle' + }, 70); + items.add('editPosts', { icon: 'fas fa-pencil-alt', label: app.translator.trans('core.admin.permissions.edit_posts_label'), @@ -233,7 +239,7 @@ export default class PermissionGrid extends Component { label: app.translator.trans('core.admin.permissions.edit_users_label'), permission: 'user.edit' }, 60); - + return items; } diff --git a/src/Post/Floodgate.php b/src/Post/Floodgate.php index 7a229e07c..d9e3e9f41 100644 --- a/src/Post/Floodgate.php +++ b/src/Post/Floodgate.php @@ -33,6 +33,10 @@ class Floodgate */ public function assertNotFlooding(User $actor) { + if ($actor->can('postWithoutThrottle')) { + return; + } + if ($this->isFlooding($actor)) { throw new FloodingException; }