def add_application(request): form = ApplicationForm(**json.loads(request.body)) if not form.validate(): raise Http400 application = ApplicationModel( title=form.title.data, description=form.description.data, root_ids=[request.user.key().id()], member_ids=[request.user.key().id()], email_notification=form.email_notification.data, app_key=str(uuid.uuid1()), ) application.put() return JsonResponse(application)
def update_application(request, application_id): form = ApplicationForm(**json.loads(request.body)) # if form.app_key.data is True -> update app key. if not form.app_key.data and not form.validate(): raise Http400 application = ApplicationModel.get_by_id(long(application_id)) if application is None: raise Http404 if request.user.permission != UserPermission.root and\ request.user.key().id() not in application.root_ids: raise Http403 if form.app_key.data: application.app_key = str(uuid.uuid1()) else: application.title = form.title.data application.description = form.description.data application.member_ids = form.member_ids.data application.root_ids = form.root_ids.data application.email_notification = form.email_notification.data application.put() return JsonResponse(application)