def access_codes_delete(event_id, access_code_id=None):
    access_code = TicketingManager.get_access_code(event_id, access_code_id)
    if not access_code:
        abort(404)
    delete_from_db(access_code, "Access code deleted")
    flash("The access code has been deleted.", "warning")
    return redirect(url_for('.access_codes_view', event_id=event_id))
Example #2
0
def apply_promo():
    discount = TicketingManager.get_discount_code(request.form.get('event_id'), request.form.get('promo_code', ''))
    access_code = TicketingManager.get_access_code(request.form.get('event_id'), request.form.get('promo_code', ''))
    if discount and access_code and discount.is_active:
        return jsonify({
            'discount_type': discount.type,
            'discount_amount': discount.value,
            'discount_status': True,
            'access_status': True,
            'access_code_ticket': access_code.tickets,
            'discount_code_ticket': discount.tickets,
        })
    elif discount and discount.is_active:
        return jsonify({
            'discount_type': discount.type,
            'discount_amount': discount.value,
            'discount_status': True,
            'access_status': False,
            'discount_code_ticket': discount.tickets,
        })
    elif access_code:
        return jsonify({
            'access_status': True,
            'discount_status': False,
            'access_code_ticket': access_code.tickets,
        })
    else:
        return jsonify({
            'discount_status': False,
            'access_status': False,
        })
def access_codes_delete(event_id, access_code_id=None):
    access_code = TicketingManager.get_access_code(event_id, access_code_id)
    if not access_code:
        abort(404)
    delete_from_db(access_code, "Access code deleted")
    flash("The access code has been deleted.", "warning")
    return redirect(url_for('.access_codes_view', event_id=event_id))
def access_codes_edit(event_id, access_code_id=None):
    if not TicketingManager.get_access_code(event_id, access_code_id):
        abort(404)
    if request.method == 'POST':
        TicketingManager.create_edit_access_code(request.form, event_id, access_code_id)
        flash("The access code has been edited.", "success")
        return redirect(url_for('.access_codes_view', event_id=event_id))
    return access_codes_create(event_id, access_code_id)
def access_codes_toggle(event_id, access_code_id=None):
    access_code = TicketingManager.get_access_code(event_id, access_code_id)
    if not access_code:
        abort(404)
    access_code.is_active = not access_code.is_active
    save_to_db(access_code)
    message = "Activated." if access_code.is_active else "Deactivated."
    flash("The access code has been " + message, "success")
    return redirect(url_for('.access_codes_view', event_id=event_id))
def access_codes_toggle(event_id, access_code_id=None):
    access_code = TicketingManager.get_access_code(event_id, access_code_id)
    if not access_code:
        abort(404)
    access_code.is_active = not access_code.is_active
    save_to_db(access_code)
    message = "Activated." if access_code.is_active else "Deactivated."
    flash("The access code has been " + message, "success")
    return redirect(url_for('.access_codes_view', event_id=event_id))
def check_duplicate_access_code(event_id):
    code = request.args.get('code')
    current = request.args.get('current')
    if not current:
        current = ''
    access_code = TicketingManager.get_access_code(event_id, code)
    if (current == "" and access_code) or (current != "" and access_code
                                           and access_code.id != int(current)):
        return jsonify({"status": "invalid"}), 404

    return jsonify({"status": "valid"}), 200
def access_codes_create(event_id, access_code_id=None):
    event = DataGetter.get_event(event_id)
    if request.method == 'POST':
        TicketingManager.create_edit_access_code(request.form, event_id)
        flash("The access code has been added.", "success")
        return redirect(url_for('.access_codes_view', event_id=event_id))
    access_code = None
    if access_code_id:
        access_code = TicketingManager.get_access_code(event_id, access_code_id)
    return render_template('gentelella/users/events/tickets/access_codes_create.html', event=event, event_id=event_id,
                           access_code=access_code)
def check_duplicate_access_code(event_id):
    code = request.args.get('code')
    current = request.args.get('current')
    if not current:
        current = ''
    access_code = TicketingManager.get_access_code(event_id, code)
    if (current == "" and access_code) or (current != "" and access_code and access_code.id != int(current)):
        return jsonify({
            "status": "invalid"
        }), 404

    return jsonify({
        "status": "valid"
    }), 200