1
0
mirror of https://github.com/flarum/core.git synced 2025-08-06 00:17:31 +02:00

Update for new Flags/Approval extensions

This commit is contained in:
Toby Zerner
2015-09-22 18:15:56 +09:30
parent 2fbbe0bea7
commit 5bb266ec3b
2 changed files with 38 additions and 36 deletions

View File

@@ -1,25 +1,27 @@
import { extend } from 'flarum/extend';
import { extend, override } from 'flarum/extend';
import app from 'flarum/app';
import Button from 'flarum/components/Button';
import CommentPost from 'flarum/components/CommentPost';
import PostControls from 'flarum/utils/PostControls';
import CommentPost from 'flarum/components/CommentPost';
app.initializers.add('akismet', () => {
extend(CommentPost.prototype, 'reportActionItems', function(items) {
if (this.props.post.reports()[0].reporter() === 'Akismet') {
items.add('notSpam',
<Button className="Button"
icon="check"
onclick={() => {
this.dismissReport({akismet: 'ham'}).then(() => {
PostControls.restoreAction.apply(this.props.post);
m.redraw();
});
}}>
Not Spam
</Button>
);
extend(PostControls, 'destructiveControls', function(items, post) {
if (items.approve) {
const flags = post.flags();
if (flags && flags.some(flag => flag.type() === 'akismet')) {
Object.assign(items.approve.content.props, {
children: 'Not Spam'
});
}
}
});
}, -10); // set initializer priority to run after reports
override(CommentPost.prototype, 'flagReason', function(original, flag) {
if (flag.type() === 'akismet') {
return 'Akismet flagged as Spam';
}
return original(flag);
});
}, -20); // run after the approval extension