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_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)