var Response = require("nitro/response").Response, users = require("google/appengine/api/users"), allowedUser = require("utils").allowedUser, decorators = require("decorators"), utils = require("utils"); var Unit = require("content/models").Unit, Form = require("google/appengine/ext/db/forms").ModelForm(Unit); var GET = utils.standardGet(Unit); function POST(request){ var unit = new Unit(); unit.userId = users.getCurrentUser().userId; var form = new Form(request.postParams, {instance: unit}); try{ form.put(); }catch (errors){ return {json: {errors: errors}}; } return Response.created(unit.uri()); } function PUT(request){ var unit = Unit.get(request.pathInfo); if(!unit){ return Response.notFound(); } if(!allowedUser(unit.userId)){ return Response.unauthorized();
var Response = require("nitro/response").Response, users = require("google/appengine/api/users"), allowedUser = require("utils").allowedUser, decorators = require("decorators"), utils = require("utils"); var Test = require("content/models").Test, Form = require("google/appengine/ext/db/forms").ModelForm(Test); var GET = utils.standardGet(Test); function testAndCreate(request){ var slug = request.postParams.slug, dups = Test.all().filter("slug =", slug).fetch(); if(dups.length){ throw Error("slug is not unique"); } var test = new Test(), user = users.getCurrentUser(); test.userId = user.userId; test.userName = user.nickname; var form = new Form(request.postParams, {instance: test}); form.put(); return test; } function POST(request){ try{ var test = db.runInTransaction(testAndCreate, request); }catch (errors){ return {json: {errors: errors}};