def create_event(current_user): """ Create an event from the sent json data. :param current_user: Current User :return: """ if request.content_type == 'application/json': data = request.get_json().get("event") name = data.get('name') if data.get('name') is not None else None location = data.get('location') if data.get( 'location') is not None else None time = data.get('time') if data.get('time') is not None else None eval_link = data.get('eval_link') if data.get( 'eval_link') is not None else None if name and location and time: user_event = Event(name, location, time, current_user.id) user_event.event_eval_link = eval_link user_event.save() return response_for_created_event(user_event, 201) return response('failed', 'Missing some event data, nothing was changed', 400) return response('failed', 'Content-type must be json', 202)
def edit_event(current_user, event_id): """ Validate the event Id. Also check for the data in the json payload. If the data exists update the event with the new data. :param current_user: Current User :param event_id: Event Id :return: Http Json response """ if request.content_type == 'application/json': data = request.get_json().get("event") name = data.get('name') if data.get("name") is not None else "" location = data.get('location') if data.get( "location") is not None else "" time = data.get('time') if data.get("time") is not None else "" eval_link = data.get('eval_link') if data.get( "eval_link") is not None else "" updated_event = Event(name, location, time, current_user.id) updated_event.event_eval_link = eval_link if name or location or time or eval_link: try: int(event_id) except ValueError: return response('failed', 'Please provide a valid Event Id', 400) user_event = User.get_by_id( current_user.id).events.filter_by(event_id=event_id).first() if user_event: user_event.update(updated_event) return response_for_created_event(user_event, 201) return response( 'failed', 'The Event with Id ' + event_id + ' does not exist', 404) return response( 'failed', 'No attribute or value was specified, nothing was changed', 400) return response('failed', 'Content-type must be json', 202)