Skip to content

Instantly share code, notes, and snippets.

@canoon
Created October 12, 2011 11:54
Show Gist options
  • Save canoon/1281030 to your computer and use it in GitHub Desktop.
Save canoon/1281030 to your computer and use it in GitHub Desktop.
function synchronized update() {
display_update();
if ($("#num_tickets")[0].value != tickets.length) {
// number of tickets is off
while ($("#num_tickets")[0].value > tickets.length) {
data = $.ajax({ url: '#{dashboard_order_tickets_path(@order)}',
type: 'POST',
dataType: 'json',
data: {ticket: {event_id: #{@event.id}}}});
console.log("new ticket");
add_to_tickets(data);
}
while ($("#num_tickets")[0].value < tickets.length) {
id = find_dead_ticket()['id'];
result = $.ajax({ url: '#{dashboard_order_tickets_path(@order)}/' + id,
dataType: 'json',
type: 'POST',
data: {_method: "DELETE"}});
if (result.error == "parsererror" || result.error == "success") {
// ruby just sends back an empty thing anyway
console.log("remove ticket");
remove_from_tickets(id);
}
}
} else {
while (selected_seats.length > $("#num_tickets")[0].value) {
selected_seats.shift();
}
for (var i in selected_seats) {
ticket_exists = false;
for (var j in tickets) {
if (ticket_equals(selected_seats[i], tickets[j])) {
ticket_exists = true;
}
}
if (!ticket_exists) {
// lets try to book this ticket
id = find_dead_ticket()['id'];
console.log(selected_seats[i]);
console.log(i);
console.log(selected_seats);
result = $.ajax({ url: '#{dashboard_order_tickets_path(@order)}/' + id,
type: 'POST',
dataType: 'json',
data: {ticket: selected_seats[i], _method: "PUT"}});
if (result.error == "parsererror" || result.error == "success") {
// ruby just sends back an empty thing anyway
console.log("selected ticket");
console.log();
update_ticket(id);
}
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment