mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-10-26 16:46:12 +01:00
feat: add resolve flag to post tools
This commit is contained in:
@@ -6,6 +6,7 @@
|
|||||||
"assignee": "Assignee",
|
"assignee": "Assignee",
|
||||||
"update": "Update",
|
"update": "Update",
|
||||||
"updated": "Updated",
|
"updated": "Updated",
|
||||||
|
"resolved": "Resolved",
|
||||||
"target-purged": "The content this flag referred to has been purged and is no longer available.",
|
"target-purged": "The content this flag referred to has been purged and is no longer available.",
|
||||||
|
|
||||||
"graph-label": "Daily Flags",
|
"graph-label": "Daily Flags",
|
||||||
|
|||||||
@@ -54,6 +54,7 @@
|
|||||||
"flag-user": "Flag this user",
|
"flag-user": "Flag this user",
|
||||||
"already-flagged": "Already Flagged",
|
"already-flagged": "Already Flagged",
|
||||||
"view-flag-report": "View Flag Report",
|
"view-flag-report": "View Flag Report",
|
||||||
|
"resolve-flag": "Resolve Flag",
|
||||||
|
|
||||||
"merged_message": "This topic has been merged into <a href=\"%1\">%2</a>",
|
"merged_message": "This topic has been merged into <a href=\"%1\">%2</a>",
|
||||||
"deleted_message": "This topic has been deleted. Only users with topic management privileges can see it.",
|
"deleted_message": "This topic has been deleted. Only users with topic management privileges can see it.",
|
||||||
|
|||||||
@@ -141,6 +141,13 @@ define('forum/topic/postTools', [
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
postContainer.on('click', '[component="post/flagResolve"]', function () {
|
||||||
|
var flagId = $(this).attr('data-flagId');
|
||||||
|
require(['flags'], function (flags) {
|
||||||
|
flags.resolve(flagId);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
postContainer.on('click', '[component="post/edit"]', function () {
|
postContainer.on('click', '[component="post/edit"]', function () {
|
||||||
var btn = $(this);
|
var btn = $(this);
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
|
|
||||||
define('flags', function () {
|
define('flags', ['hooks'], function (hooks) {
|
||||||
var Flag = {};
|
var Flag = {};
|
||||||
var flagModal;
|
var flagModal;
|
||||||
var flagCommit;
|
var flagCommit;
|
||||||
@@ -59,6 +59,21 @@ define('flags', function () {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Flag.resolve = function (flagId) {
|
||||||
|
socket.emit('flags.update', {
|
||||||
|
flagId: flagId,
|
||||||
|
data: [
|
||||||
|
{ name: 'state', value: 'resolved' },
|
||||||
|
],
|
||||||
|
}, function (err) {
|
||||||
|
if (err) {
|
||||||
|
return app.alertError(err.message);
|
||||||
|
}
|
||||||
|
app.alertSuccess('[[flags:resolved]]');
|
||||||
|
hooks.fire('action:flag.resolved', { flagId: flagId });
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
function createFlag(type, id, reason) {
|
function createFlag(type, id, reason) {
|
||||||
if (!type || !id || !reason) {
|
if (!type || !id || !reason) {
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
|
const db = require('../../database');
|
||||||
const posts = require('../../posts');
|
const posts = require('../../posts');
|
||||||
const flags = require('../../flags');
|
const flags = require('../../flags');
|
||||||
const events = require('../../events');
|
const events = require('../../events');
|
||||||
@@ -51,6 +52,7 @@ module.exports = function (SocketPosts) {
|
|||||||
can: results.canFlag.flag,
|
can: results.canFlag.flag,
|
||||||
exists: !!results.posts.flagId,
|
exists: !!results.posts.flagId,
|
||||||
flagged: results.flagged,
|
flagged: results.flagged,
|
||||||
|
state: await db.getObjectField(`flag:${postData.flagId}`, 'state'),
|
||||||
};
|
};
|
||||||
|
|
||||||
if (!results.isAdmin && !results.canViewInfo) {
|
if (!results.isAdmin && !results.canViewInfo) {
|
||||||
|
|||||||
Reference in New Issue
Block a user