sails-generate-forestay
Version:
Build dynamic user interfaces quickly and easily! Use the forestay generator to scaffold complete CRUD interfaces using just your SailsJS model attributes.
35 lines (30 loc) • 1.54 kB
JavaScript
const path = require('path')
const viewBase = path.join(__dirname, '../..', 'views', 'forestay')
const defaultLayout = viewBase + '/layout.ejs'
var helpers = require("./../helpers/helpers")
module.exports = function(forestay, req, res) {
helpers.populateOne(req, res, forestay, function(err, forestay) {
if (err) return res.serverError(err)
forestay.prefills = {}
Object.keys(forestay.config.attributes).forEach(function(attrKey) {
if (_.get(forestay.config.attributes[attrKey], ['meta', 'forestay', 'prefillable']) === true) {
if (typeof _.get(req.query, [attrKey]) === 'string') forestay.prefills[attrKey] = req.query[attrKey]
}
})
forestay.config.forestay.createUpdate.attributeGroups = helpers.getFieldsInGroups(req, res, forestay);
if (typeof _.get(forestay.config.forestay, ['createUpdate', 'beforeUpdateCreateView']) === 'function') {
forestay.config.forestay.createUpdate.beforeUpdateCreateView(req, res, forestay, function(err, forestay) {
if (err) res.serverError(err)
res.view(viewBase + '/createUpdate.ejs', {
layout: _.get(forestay.localConfig, ['defaultLayout']) || defaultLayout,
forestay
})
})
} else {
res.view(viewBase + '/createUpdate.ejs', {
layout: _.get(forestay.localConfig, ['defaultLayout']) || defaultLayout,
forestay
})
}
})
}