def put(self, event_id, _parser): """Save or update a registration""" user_id = get_jwt_identity() query = _parser.parse_args(strict=True) query['event_id'] = event_id query['user_id'] = user_id try: if query['interest'] not in [1, 2]: raise ValueError('Invalid value for interest') registration = Registration(**query) except ValueError as e: abort(400, e.args[0]) try: props = db.set_registration(**registration) except sqlite3.IntegrityError as err: if str(err) == "FOREIGN KEY constraint failed": abort(404, 'Event not found') abort(500, err.args[0]) except Exception as e: abort(500, e.args[0]) # Email claims = get_jwt() user_name = claims['firstname'] + ' ' + claims['lastname'] send_new_registration(event_id, user_id, user_name, props['interest']) return Registration(**props), 200
def new(): event_id= request.json.get('event_id', None) registration_fee = request.json.get('registration_fee', None) first_name = request.json.get('first_name', None) last_name = request.json.get('last_name', None) email= request.json.get('email', None) date_of_birth = request.json.get('date_of_birth', None) age = request.json.get('age', None) gender = request.json.get('gender', None) nationality = request.json.get('nationality', None) nric = request.json.get('nric', None) phone_number = request.json.get('phone_number', None) address = request.json.get('address', None) id = get_jwt_identity() user = User.get_or_none(User.id == id) errors=[] if not event_id: errors.append('event_id') if not registration_fee: errors.append('registration_fee') if not first_name: errors.append('first_name') if not last_name: errors.append('last_name') if not email: errors.append('email') if not date_of_birth: errors.append('date_of_birth') if not age: errors.append('age') if not gender: errors.append('gender') if not nationality: errors.append('nationality') if not nric: errors.append('nric') if not phone_number: errors.append('phone_number') if not address: errors.append('address') if errors: return jsonify({"msg":{"Missing Parameters":[error for error in errors]}}), 400 registration = Registration(event_id=event_id, participant_id=user.id, registration_fee=registration_fee, first_name=first_name, last_name=last_name, email=email, date_of_birth=date_of_birth, age=age, gender=gender, nationality=nationality, nric=nric, phone_number=phone_number, address=address) registration.save() return jsonify({ "message": "Successfully create a new event", "status": "success" }), 200