Skip to content

Outing Formage Form

eyy edited this page Jan 1, 2014 · 2 revisions

How to use a formage form from the outside?

var userForm = function(req, res, next) {
    var model = registry.admin.models.users,
        Form = model.options.form,
        document = req.user,
        options = _.assign({
            exclude: ['secret-field', 'approved']
        }, model.options),
        data = req.method == 'POST' ? _.merge({}, req.body, req.files) : {};

    var form = req.form = new Form(options, model.model, document, data);
    res.locals.form = form.toString();
    res.locals.head = form.render_head();
    next();
};

app.get('/settings', logged, config, userForm, function(req, res) {
    res.render('settings', {
        title: 'Settings'
    });
});
app.post('/settings', logged, config, userForm, function(req, res) {
    req.form.save().then(
        function() {
//            res.redirect('/settings');
            res.render('message', {
                title: 'Settings',
                message: 'Your settings\' changes were saved.'
            });
        },
        function(err) {
            res.render('settings', {
                title: 'Settings'
            });
        });
});

Clone this wiki locally