From 8e817e5d60303e5307c3151f2b5a1a0eb62c0acd Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Sun, 21 Oct 2018 15:57:38 +0200 Subject: Re-add force checkout to frontend --- public/static/js/travelynx-actions.js | 49 ++++++++++++++++++----------------- 1 file changed, 25 insertions(+), 24 deletions(-) (limited to 'public') diff --git a/public/static/js/travelynx-actions.js b/public/static/js/travelynx-actions.js index 7cec0cd..91953a6 100644 --- a/public/static/js/travelynx-actions.js +++ b/public/static/js/travelynx-actions.js @@ -1,41 +1,42 @@ -$(document).ready(function() { +function travelynx_run_action(link, req, redir, err_callback) { var error_icon = 'error'; + var progressbar = $('
'); + link.hide(); + link.after(progressbar); + $.post('/action', req, function(data) { + if (data.success) { + $(location).attr('href', redir); + } else { + M.toast({html: error_icon + ' ' + data.error}); + progressbar.remove(); + if (err_callback) { + err_callback(); + } + link.append(' ' + error_icon); + link.show(); + } + }); +} +$(document).ready(function() { $('.action-checkin').click(function() { var link = $(this); - req = { + var req = { action: 'checkin', station: link.data('station'), train: link.data('train'), }; - progressbar = $('
'); - link.replaceWith(progressbar); - $.post('/action', req, function(data) { - if (data.success) { - $(location).attr('href', '/'); - } else { - M.toast({html: error_icon + ' ' + data.error}); - link.append(' ' + error_icon); - progressbar.replaceWith(link); - } - }); + travelynx_run_action(link, req, '/'); }); $('.action-checkout').click(function() { var link = $(this); - req = { + var req = { action: 'checkout', station: link.data('station'), force: link.data('force'), }; - progressbar = $('
'); - link.replaceWith(progressbar); - $.post('/action', req, function(data) { - if (data.success) { - $(location).attr('href', '/' + req.station); - } else { - M.toast({html: error_icon + ' ' + data.error}); - link.append(' ' + error_icon); - progressbar.replaceWith(link); - } + travelynx_run_action(link, req, '/' + req.station, function() { + link.append(' – Keine Echtzeitdaten vorhanden') + link.data('force', true); }); }); }); -- cgit v1.2.3