def saveeditedproject(): projectkey = request.args.get('projectkey') project = PhotoProject.objects.get(projectKey=projectkey) neworder = [int(x) for x in request.args.get('neworder').split(',')] photostodelete = [] if not request.args.get('photostodelete').strip()=="": photostodelete = [int(x) for x in request.args.get('photostodelete').split(',')] project.name = request.args.get('newname') project.description = request.args.get('newdescription') project.published = True if request.args.get('publish') == "true" else False project.save() for index, photo in enumerate(sortPhotosProjects(project.photos)): if photo.placeNumber in photostodelete: #for some reasone i can't call update_one on project which is returned via objects.get() PhotoProject.objects(projectKey=projectkey).update_one(pull__photos__placeNumber = photo.placeNumber) bucket.delete_key(projectkey + "/" + photo.photoKey) else: photo.placeNumber = neworder.index(photo.placeNumber) + 1 project.save() #send message about success return jsonify({})
def createnewproject(): projectname = request.args.get('projectname') projectKey = projectname.replace(" ", "").lower() if len(PhotoProject.objects(projectKey=projectKey)) > 0: return jsonify({"result": False, "message": "project with that name/key already exists"}) description = request.args.get('description') publish = True if request.args.get('publish') == "true" else False placeNumber = len(PhotoProject.objects) + 1 PhotoProject(projectKey=projectKey, name=projectname, description=description, publish=publish, placeNumber=placeNumber).save() return jsonify({"projectKey": projectKey, "projectname": projectname, "result": True, "message": "project is successfully saved"})