def post(self): """ POST Method for Event. Login required :return: JSON response """ try: self.validate_fields(Event.required_fields(), request.form) except ValueError: return self.response(400, 'Required fields: ' + ' '.join(Event.required_fields())) params = self.get_form_values(Event.get_columns(), request.form) country = Country.query.filter_by(iso_code=str(params['country_id'].upper())).first() if country is None: return self.response(400, "The country_id doesn't exists") if params['category_id']: category = EventCategory.query.filter_by(id=params['category_id']).first() if category is None: return self.response(400, "The category_id doesn't exists") new_event = Event( title=params['title'], description=params['description'], category_id=params['category_id'], country_id=country.id, ) new_event.save() return self.response(201)
def dummy(): # Create a user if they do not exist. user = User.query.filter_by(email="*****@*****.**").first() if not user: user = User("*****@*****.**", "123456") user.save() for i in range(100): # Add events to the database event = Event(faker.lorem_ipsum.title(words_quantity=10), faker.name.location(), faker.date.date(), user.id) event.save() for j in range(500): # Add guests to the database guest = Guest(faker.name.first_name(), faker.name.last_name(), faker.name.company_name(), faker.email.address(user=None), user.id) guest.save() for ev in range(1000): # Add tickets to the event event = Event.query.filter_by(event_id=randint(1, Event.query.count() - 1)).first() guest = Guest.query.filter_by(guest_id=randint(1, Guest.query.count() - 1)).first() ticket = Ticket(event.event_id, guest.guest_id, faker.lorem_ipsum.words(quantity=15, as_list=False), faker.basic.number(at_least=0, at_most=1), faker.basic.number(at_least=0, at_most=1), faker.basic.number(at_least=0, at_most=1000)) db.session.add(ticket) try: db.session.commit() except IntegrityError: db.session.rollback()
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)