2018-01-31 15:43:33 +05:30
|
|
|
const fs = require('fs');
|
|
|
|
const utils = require('frappejs/utils');
|
|
|
|
|
|
|
|
module.exports = {
|
|
|
|
make_model_files(name) {
|
|
|
|
|
|
|
|
// [doctype].json
|
|
|
|
fs.mkdirSync(`./models/doctype/${utils.slug(name)}`);
|
|
|
|
fs.writeFileSync(`./models/doctype/${utils.slug(name)}/${utils.slug(name)}.json`, `{
|
2018-01-31 18:26:21 +05:30
|
|
|
"name": "${name}",
|
|
|
|
"doctype": "DocType",
|
2018-02-12 17:31:31 +05:30
|
|
|
"isSingle": 0,
|
|
|
|
"isChild": 0,
|
|
|
|
"keywordFields": [],
|
2018-01-31 18:26:21 +05:30
|
|
|
"fields": [
|
|
|
|
{
|
|
|
|
"fieldname": "name",
|
|
|
|
"label": "Name",
|
|
|
|
"fieldtype": "Data",
|
2018-02-09 18:25:55 +05:30
|
|
|
"required": 1
|
2018-01-31 18:26:21 +05:30
|
|
|
}
|
|
|
|
]
|
2018-01-31 15:43:33 +05:30
|
|
|
}`);
|
|
|
|
|
|
|
|
// [doctype].js
|
|
|
|
let thinname = name.replace(/ /g, '');
|
|
|
|
fs.writeFileSync(`./models/doctype/${utils.slug(name)}/${utils.slug(name)}.js`, `const BaseMeta = require('frappejs/model/meta');
|
|
|
|
const BaseDocument = require('frappejs/model/document');
|
|
|
|
|
|
|
|
class ${thinname}Meta extends BaseMeta {
|
2018-02-08 17:58:51 +05:30
|
|
|
setupMeta() {
|
2018-01-31 18:26:21 +05:30
|
|
|
Object.assign(this, require('./${utils.slug(name)}.json'));
|
|
|
|
}
|
2018-01-31 15:43:33 +05:30
|
|
|
}
|
|
|
|
|
|
|
|
class ${thinname} extends BaseDocument {
|
|
|
|
}
|
|
|
|
|
|
|
|
module.exports = {
|
2018-01-31 18:26:21 +05:30
|
|
|
Document: ${thinname},
|
|
|
|
Meta: ${thinname}Meta
|
2018-01-31 15:43:33 +05:30
|
|
|
};`);
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|