Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var keystone = require('keystone');
- var Order = keystone.list('Order');
- exports = module.exports = function (req, res) {
- var view = new keystone.View(req, res);
- var locals = res.locals;
- locals.section = 'checkout';
- locals.formData = req.body || {};
- locals.validationErrors = {};
- locals.orderSubmitted = false;
- locals.orderer = req.user; // <-
- // On POST requests, add the Order item to the database
- view.on('post', { action: 'checkout' }, function (next) {
- var newOrder = new Order.model();
- var updater = newOrder.getUpdateHandler(req);
- updater.process(req.body, {
- flashErrors: true,
- fields: 'sum',
- errorMessage: 'There was a problem submitting your order:',
- }, function (err) {
- if (err) {
- locals.validationErrors = err.errors;
- } else {
- locals.orderSubmitted = true;
- }
- next();
- });
- });
- view.render('checkout');
- };
- var Order = new keystone.List('Order');
- Order.add({
- orderer: { type: Types.Relationship, ref:'User' },
- sum: { type: Types.Money, format: '0.0,00' },
- createdAt: { type: Types.Datetime, default: Date.now },
- });
- var User = new keystone.List('User');
- User.add({
- name: { type: Types.Name, required: true, index: true },
- email: { type: Types.Email, initial: true, required: true, unique: true, index: true },
- password: { type: Types.Password, initial: true, required: true },
- });
- User.relationship({ ref: 'Order', path: 'orders', refPath: 'orderer' });
Add Comment
Please, Sign In to add comment