mirror of
https://github.com/discourse/discourse.git
synced 2025-05-24 03:36:18 +08:00
FEATURE: New 'Reviewable' model to make reviewable items generic
Includes support for flags, reviewable users and queued posts, with REST API backwards compatibility. Co-Authored-By: romanrizzi <romanalejandro@gmail.com> Co-Authored-By: jjaffeux <j.jaffeux@gmail.com>
This commit is contained in:
@ -1,18 +1,15 @@
|
||||
import storePretender from "helpers/store-pretender";
|
||||
import fixturePretender from "helpers/fixture-pretender";
|
||||
import flagPretender from "helpers/flag-pretender";
|
||||
|
||||
export function parsePostData(query) {
|
||||
const result = {};
|
||||
query.split("&").forEach(function(part) {
|
||||
const item = part.split("=");
|
||||
const firstSeg = decodeURIComponent(item[0]);
|
||||
const m = /^([^\[]+)\[([^\]]+)\]/.exec(firstSeg);
|
||||
const m = /^([^\[]+)\[(.+)\]/.exec(firstSeg);
|
||||
|
||||
const val = decodeURIComponent(item[1]).replace(/\+/g, " ");
|
||||
if (m) {
|
||||
result[m[1]] = result[m[1]] || {};
|
||||
result[m[1]][m[2]] = val;
|
||||
let key = m[1];
|
||||
result[key] = result[key] || {};
|
||||
result[key][m[2].replace("][", ".")] = val;
|
||||
} else {
|
||||
result[firstSeg] = val;
|
||||
}
|
||||
@ -38,9 +35,16 @@ export let fixturesByUrl;
|
||||
|
||||
export default function() {
|
||||
const server = new Pretender(function() {
|
||||
storePretender.call(this, helpers);
|
||||
flagPretender.call(this, helpers);
|
||||
fixturesByUrl = fixturePretender.call(this, helpers);
|
||||
// Autoload any `*-pretender` files
|
||||
Object.keys(requirejs.entries).forEach(e => {
|
||||
let m = e.match(/^helpers\/([a-z]+)\-pretender$/);
|
||||
if (m && m[1] !== "create") {
|
||||
let result = requirejs(e).default.call(this, helpers);
|
||||
if (m[1] === "fixture") {
|
||||
fixturesByUrl = result;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
this.get("/admin/plugins", () => response({ plugins: [] }));
|
||||
|
||||
|
Reference in New Issue
Block a user