Пример #1
0
    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)
Пример #2
0
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()
Пример #3
0
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)