def delete_idea(request, idea_id): idea = Idea.objects.get(id = idea_id) if not request.user == idea.user: messages.error(request, "You're not the author of this idea") else: Idea.delete(idea) return HttpResponseRedirect("/")
def ideas(): if not request.data: return make_response(jsonify(error="Missing parameters."), 400) if request.method == "POST": token = str(request.json.get('id', '')) user = User.query.filter_by(token=token) action = Action.query.filter_by( action=str(request.json.get('action', ''))) idea = Idea.query.filter_by( response=str(request.json.get('idea', ''))) categories = request.json.get('categories', '') if str(request.json.get('isGenius', '')) == 'True': is_genius = True if str(request.json.get('isGenius', '')) == 'False': is_genius = False if user.count() <= 0: return make_response(jsonify(error="User not found."), 404) elif idea.count() > 0: return make_response( jsonify( error= "{0} idea already exists in the database for {1} {2}.". format(action[0].action, user[0].first_name, user[0].last_name)), 400) else: idea = Idea(response=str(request.json.get('idea', '')), random_word=str(request.json.get( 'random_word', '')), user_id=user[0].id, action_id=action[0].id, is_genius=is_genius, question=str(request.json.get('question', ''))) idea.save() for category in categories: found_cat = Category.query.filter_by(name=category['name']) new_idea_categories = idea_categories.insert().values( idea_id=idea.id, category_id=found_cat[0].id) db.session.execute(new_idea_categories) db.session.commit() return make_response( jsonify( success= "{0} idea for {1} {2} has been successfully created!". format(action[0].action, user[0].first_name, user[0].last_name)), 200) if request.method == "DELETE": token = str(request.json.get('token', '')) user = User.query.filter_by(token=token) idea_id = str(request.json.get('idea_id', '')) if user.count() <= 0: return make_response(jsonify(error="User not found."), 404) else: idea = Idea.query.filter_by(id=idea_id, user_id=user[0].id) if idea.count() <= 0: return make_response(jsonify(error="Idea not found."), 404) else: idea_name = idea[0].question Idea.delete(idea[0]) return make_response('', 204)