MT#5879 Handle preview of unsaved invoice tmpl

mr3.3.1
Andreas Granig 12 years ago
parent 7fa163d0de
commit fef92c26a0

@ -317,17 +317,14 @@ sub set_content_ajax :Chained('base') :PathPart('editcontent/set/ajax') :Args(0)
return;
}
print ">>>>>>>>>>>>>>>>> sanitize\n";
NGCP::Panel::Utils::InvoiceTemplate::sanitize_svg(\$content);
try {
print ">>>>>>>>>>>>>>>>> update content\n";
$tmpl->update({
base64_saved => $content,
base64_previewed => undef,
});
print ">>>>>>>>>>>>>>>>> saved content\n";
} catch($e) {
NGCP::Panel::Utils::Message->error(
c => $c,
@ -348,6 +345,17 @@ sub preview_content :Chained('base') :PathPart('editcontent/preview') :Args(0) {
my $tmpl = $c->stash->{tmpl};
my $svg = $tmpl->base64_saved;
unless(defined $svg) {
NGCP::Panel::Utils::Message->error(
c => $c,
log => 'Trying to preview a non-saved svg template',
desc => $c->loc('Template has not been saved yet, please save before previewing.'),
);
NGCP::Panel::Utils::Navigation::back_or($c, $c->uri_for('/invoicetemplate'));
return;
}
my $pdf = '';
my $t = NGCP::Panel::Utils::InvoiceTemplate::get_tt();
my $out = '';
@ -360,16 +368,23 @@ sub preview_content :Chained('base') :PathPart('editcontent/preview') :Args(0) {
$t->process(\$svg, $dummy, \$out) || do {
my $error = $t->error();
my $msg = "error processing template, type=".$error->type.", info='".$error->info."'";
$c->log->error($msg);
$c->response->body("500 - error creating template:\n$msg");
$c->response->status(500);
NGCP::Panel::Utils::Message->error(
c => $c,
log => $msg,
desc => $c->loc('Failed to render template. Type is ' . $error->type . ', info is ' . $error->info),
);
NGCP::Panel::Utils::Navigation::back_or($c, $c->uri_for('/invoicetemplate'));
return;
};
NGCP::Panel::Utils::InvoiceTemplate::svg_pdf($c, \$out, \$pdf);
} catch($e) {
$c->log->error($e);
NGCP::Panel::Utils::Message->error(
c => $c,
log => $e,
desc => $c->loc('Failed to preview template'),
);
NGCP::Panel::Utils::Navigation::back_or($c, $c->uri_for('/invoicetemplate'));
return;
}

Loading…
Cancel
Save