Beispiel #1
0
def new_ticket_type(copy_id):
    form = NewTicketTypeForm()

    if form.validate_on_submit():
        expires = form.expires.data if form.expires.data else None
        token = form.discount_token.data if form.discount_token.data else None
        description = form.description.data if form.description.data else None

        tt = TicketType(form.order.data,
                        form.admits.data,
                        form.name.data,
                        form.type_limit.data,
                        expires=expires,
                        discount_token=token,
                        description=description,
                        personal_limit=form.personal_limit.data,
                        has_badge=form.has_badge.data,
                        is_transferable=form.is_transferable.data)

        tt.prices = [
            TicketPrice('GBP', form.price_gbp.data),
            TicketPrice('EUR', form.price_eur.data)
        ]
        app.logger.info('%s adding new TicketType %s', current_user.name, tt)
        db.session.add(tt)
        db.session.commit()
        flash('Your new ticket type has been created')
        return redirect(url_for('.ticket_type_details', type_id=tt.id))

    if copy_id != -1:
        form.init_with_ticket_type(TicketType.query.get(copy_id))

    return render_template('admin/new-ticket-type.html',
                           ticket_type_id=copy_id,
                           form=form)
Beispiel #2
0
def ticket_types():
    if current_user.admin:
        form = None
        if request.method == 'POST':
            form = NewTicketTypeForm()
            if form.validate():
                tt = TicketType(form.name.data, form.capacity.data,
                                form.limit.data)
                tt.prices = [
                    TicketPrice('GBP', form.price_gbp),
                    TicketPrice('EUR', form.price_eur)
                ]
                db.session.add(tt)
                db.session.commit()
                return redirect(url_for('ticket_types'))

        types = TicketType.query.all()
        if not form:
            form = NewTicketTypeForm(formdata=None)
        return render_template('admin/admin_ticket_types.html',
                               types=types,
                               form=form)
    else:
        return (('', 404))