def POST_profiles(request, format): """ Respond to the "POST profiles" request. We create a new profile for the currently logged-in user. """ # Get the request parameters. params = apiHelper.get_params(request, resource_name="profile") error = apiHelper.check_params(params, required_params=["token"], optional_params=["alias", "avatar", "image1", "image2", "image3", "image4", "url", "email", "location", "bio"]) if error != None: return error token = params['token'] alias = params.get("alias") avatar = params.get("avatar") image1 = params.get("image1") image2 = params.get("image2") image3 = params.get("image3") image4 = params.get("image4") url = params.get("url") email = params.get("email") location = params.get("location") bio = params.get("bio") # Check that the login token is still valid. if not session.validate(token): return HttpResponseBadRequest("Invalid token") user = session.get_user(token) # Create a Profile object with the supplied parameters. profile = Profile() profile.user = user profile.alias = alias profile.url = url profile.email = email profile.location = location profile.bio = bio profile.created_at = datetime.datetime.now() profile.updated_at = datetime.datetime.now() profile.save() if avatar != None: profile.avatar_orig.save(avatar.name, avatar) if image1 != None: profile.image1_orig.save(image1.name, image1) if image2 != None: profile.image2_orig.save(image2.name, image2) if image3 != None: profile.image3_orig.save(image3.name, image3) if image4 != None: profile.image4_orig.save(image4.name, image4) # Finally, return the newly-created profile back to the caller. return apiHelper.response({'profile' : profile.own_to_dict()}, format=format, status=HTTP_RESPONSE_POST_OK)