##
CSV - Import läuft
Bitte warten Sie ab bis die Prüfung abgschlossen ist und sie ein Ergebnis sehen.
Benutzen Sie dann die weiterführenden Links.
####
function check_progress (base_url, token, to, pwidth)
{
poll_token(base_url, token, to, pwidth);
}
function poll_token (base_url, token, to, pwidth)
{
var a = new Ajax.Request ( base_url + '/progress/get?token=' + token,
{
method: 'get',
onSuccess: function(t)
{
var s = t.responseText.toString();
if ( s.search(/^(\d+\.\d+)\t(.+)/) > -1 )
{
var a = s.match( /^(\d+\.\d+)\t(.+)/ );
var prozent = a[1];
var meldung = a[2];
var p = 1 / (100/prozent);
if ( pwidth == null )
{
pwidth='200';
}
var l = pwidth * p;
var r = pwidth * (1 - p);
$(to + '_label').innerHTML = meldung + "( " + prozent + "% )";
$(to + '_done').style.width = l.numberFormat('#') + "px";
$(to + '_left').style.width = r.numberFormat('#') + "px";
var f = function () { poll_token(base_url,token,to, pwidth); };
setTimeout(f,500);
}
else
{
if ( s.search(/^ok/i) > -1 )
{
$(to + '_done').style.width = pwidth + "px";
$(to + '_done').style.background = 'green';
$(to + '_label').style.color = 'green';
$(to + '_label').innerHTML = "abgeschlossen ( 100% )";
$(to + '_left').style.width = "0px";
$(to + '_ok').style.display = 'inline';
return true;
}
if ( s.search(/^error/i) > -1)
{
$(to + '_done').style.background = 'red';
$(to + '_label').style.color = 'red';
$(to + '_error').style.display = 'inline';
return false;
}
var f = function () { poll_token(base_url,token,to, pwidth); };
setTimeout(f,500);
}
},
onFailure:function(t)
{
alert('Fehler beim Zugriff auf Webserver: ' + t.status + ' -- ' + t.statusText);
},
asynchronous:!check_sync
});
}
####
package ECSInkassoWeb::Controller::Progress;
use strict;
use warnings;
use Data::Dumper;
use base qw(Catalyst::Controller ECSInkassoWeb::Controller::Base);
use FileSystemObjects::File;
sub get : Local
{
my ( $self, $c ) = @_;
my $token = $c->req->{parameters}->{token};
my $konfig = ECS::Inkasso::Konfig->new($c);
my $f = FileSystemObjects::File->new( $konfig->{location}->{progress} ."/$token" );
my $h = $f->open("<");
$_ = <$h>; chomp;
$c->response->headers->header('content-type' => "text/plain; charset=UTF-8");
$c->response->body( $_ );
}
1;