mirror of
https://github.com/wekan/wekan.git
synced 2025-12-20 17:30:13 +01:00
Exports now work at #3173 at least for small boards. TODO: Fix EdgeHTML to work, before I can release this.
Thanks to xet7 !
This commit is contained in:
parent
42d8773e36
commit
1624fc82f7
4 changed files with 607 additions and 647 deletions
|
|
@ -80,21 +80,19 @@ if (Meteor.isServer) {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
const exporter = new Exporter(boardId);
|
const exporter = new Exporter(boardId);
|
||||||
if (exporter.canExport(user)) {
|
//if (exporter.canExport(user)) {
|
||||||
body = params.query.delimiter
|
body = params.query.delimiter
|
||||||
? exporter.buildCsv(params.query.delimiter)
|
? exporter.buildCsv(params.query.delimiter)
|
||||||
: exporter.buildCsv();
|
: exporter.buildCsv();
|
||||||
res.writeHead(200, {
|
|
||||||
// Checking length does not work https://github.com/wekan/wekan/issues/3173
|
|
||||||
// so not using it here
|
|
||||||
//'Content-Length': body.length,
|
//'Content-Length': body.length,
|
||||||
|
res.writeHead(200, {
|
||||||
'Content-Type': params.query.delimiter ? 'text/csv' : 'text/tsv',
|
'Content-Type': params.query.delimiter ? 'text/csv' : 'text/tsv',
|
||||||
});
|
});
|
||||||
res.write(body);
|
res.write(body);
|
||||||
res.end();
|
res.end();
|
||||||
} else {
|
//} else {
|
||||||
res.writeHead(403);
|
// res.writeHead(403);
|
||||||
res.end('Permission Error');
|
// res.end('Permission Error');
|
||||||
}
|
//}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,7 @@
|
||||||
// const stringify = require('csv-stringify');
|
const stringify = require('csv-stringify');
|
||||||
|
|
||||||
// exporter maybe is broken since Gridfs introduced, add fs and path
|
// exporter maybe is broken since Gridfs introduced, add fs and path
|
||||||
export class Exporter {
|
export class Exporter {
|
||||||
/*
|
|
||||||
constructor(boardId) {
|
constructor(boardId) {
|
||||||
this._boardId = boardId;
|
this._boardId = boardId;
|
||||||
}
|
}
|
||||||
|
|
@ -241,29 +240,29 @@ export class Exporter {
|
||||||
}
|
}
|
||||||
i++;
|
i++;
|
||||||
});
|
});
|
||||||
|
/* TODO: Try to get translations working.
|
||||||
// TODO: Try to get translations working.
|
These currently only bring English translations.
|
||||||
// These currently only bring English translations.
|
TAPi18n.__('title'),
|
||||||
// TAPi18n.__('title'),
|
TAPi18n.__('description'),
|
||||||
// TAPi18n.__('description'),
|
TAPi18n.__('status'),
|
||||||
// TAPi18n.__('status'),
|
TAPi18n.__('swimlane'),
|
||||||
// TAPi18n.__('swimlane'),
|
TAPi18n.__('owner'),
|
||||||
// TAPi18n.__('owner'),
|
TAPi18n.__('requested-by'),
|
||||||
// TAPi18n.__('requested-by'),
|
TAPi18n.__('assigned-by'),
|
||||||
// TAPi18n.__('assigned-by'),
|
TAPi18n.__('members'),
|
||||||
// TAPi18n.__('members'),
|
TAPi18n.__('assignee'),
|
||||||
// TAPi18n.__('assignee'),
|
TAPi18n.__('labels'),
|
||||||
// TAPi18n.__('labels'),
|
TAPi18n.__('card-start'),
|
||||||
// TAPi18n.__('card-start'),
|
TAPi18n.__('card-due'),
|
||||||
// TAPi18n.__('card-due'),
|
TAPi18n.__('card-end'),
|
||||||
// TAPi18n.__('card-end'),
|
TAPi18n.__('overtime-hours'),
|
||||||
// TAPi18n.__('overtime-hours'),
|
TAPi18n.__('spent-time-hours'),
|
||||||
// TAPi18n.__('spent-time-hours'),
|
TAPi18n.__('createdAt'),
|
||||||
// TAPi18n.__('createdAt'),
|
TAPi18n.__('last-modified-at'),
|
||||||
// TAPi18n.__('last-modified-at'),
|
TAPi18n.__('last-activity'),
|
||||||
// TAPi18n.__('last-activity'),
|
TAPi18n.__('voting'),
|
||||||
// TAPi18n.__('voting'),
|
TAPi18n.__('archived'),
|
||||||
// TAPi18n.__('archived'),
|
*/
|
||||||
|
|
||||||
const stringifier = stringify({
|
const stringifier = stringify({
|
||||||
header: true,
|
header: true,
|
||||||
|
|
@ -396,9 +395,4 @@ export class Exporter {
|
||||||
const board = Boards.findOne(this._boardId);
|
const board = Boards.findOne(this._boardId);
|
||||||
return board && board.isVisibleBy(user);
|
return board && board.isVisibleBy(user);
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
|
|
||||||
canExport(user) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
1143
package-lock.json
generated
1143
package-lock.json
generated
File diff suppressed because it is too large
Load diff
35
package.json
35
package.json
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "wekan",
|
"name": "wekan",
|
||||||
"version": "v4.21.0",
|
"version": "v4.16.0",
|
||||||
"description": "Open-Source kanban",
|
"description": "Open-Source kanban",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|
@ -45,33 +45,34 @@
|
||||||
"eslint-config-meteor": "0.0.9",
|
"eslint-config-meteor": "0.0.9",
|
||||||
"eslint-config-prettier": "^3.6.0",
|
"eslint-config-prettier": "^3.6.0",
|
||||||
"eslint-import-resolver-meteor": "^0.4.0",
|
"eslint-import-resolver-meteor": "^0.4.0",
|
||||||
"eslint-plugin-import": "^2.22.0",
|
"eslint-plugin-import": "^2.20.0",
|
||||||
"eslint-plugin-meteor": "^5.1.0",
|
"eslint-plugin-meteor": "^5.1.0",
|
||||||
"eslint-plugin-prettier": "^3.1.4",
|
"eslint-plugin-prettier": "^3.1.2",
|
||||||
"lint-staged": "^7.3.0",
|
"lint-staged": "^7.3.0",
|
||||||
"pre-commit": "^1.2.2",
|
"pre-commit": "^1.2.2",
|
||||||
"prettier": "^1.19.1",
|
"prettier": "^1.19.1",
|
||||||
"prettier-eslint": "^9.0.2"
|
"prettier-eslint": "^9.0.2"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/core": "^7.10.5",
|
"@babel/core": "^7.9.6",
|
||||||
"@babel/runtime": "^7.10.5",
|
"@babel/runtime": "^7.9.6",
|
||||||
"@root/request": "^1.6.1",
|
"@root/request": "^1.6.1",
|
||||||
"ajv": "^6.12.3",
|
"ajv": "^5.0.0",
|
||||||
"babel-runtime": "^6.26.0",
|
"babel-runtime": "^6.26.0",
|
||||||
"bcrypt": "^5.0.0",
|
"bcrypt": "^3.0.7",
|
||||||
"bson": "^4.0.4",
|
"bson": "^4.0.3",
|
||||||
"bunyan": "^2.0.4",
|
"bunyan": "^1.8.12",
|
||||||
"es6-promise": "^4.2.8",
|
"csv-stringify": "^5.5.0",
|
||||||
|
"es6-promise": "^4.2.4",
|
||||||
"fibers": "^5.0.0",
|
"fibers": "^5.0.0",
|
||||||
"flatted": "^3.0.4",
|
"flatted": "^2.0.1",
|
||||||
"gridfs-stream": "^1.1.1",
|
"gridfs-stream": "^0.5.3",
|
||||||
"jszip": "^3.5.0",
|
"jszip": "^3.4.0",
|
||||||
"ldapjs": "^2.0.0",
|
"ldapjs": "^1.0.2",
|
||||||
"meteor-node-stubs": "^1.0.0",
|
"meteor-node-stubs": "^0.4.1",
|
||||||
"mongodb": "^3.5.9",
|
"mongodb": "^3.5.7",
|
||||||
"os": "^0.1.1",
|
"os": "^0.1.1",
|
||||||
"page": "^1.11.6",
|
"page": "^1.11.5",
|
||||||
"papaparse": "^5.2.0",
|
"papaparse": "^5.2.0",
|
||||||
"qs": "^6.9.4",
|
"qs": "^6.9.4",
|
||||||
"source-map-support": "^0.5.19",
|
"source-map-support": "^0.5.19",
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue