Revision 4e155b5c
Von Moritz Bunkus vor etwa 8 Jahren hinzugefügt
bin/mozilla/sepa.pl | ||
---|---|---|
use List::Util qw(sum first);
|
||
use POSIX qw(strftime);
|
||
|
||
use Data::Dumper;
|
||
use SL::DB::BankAccount;
|
||
use SL::DB::SepaExport;
|
||
use SL::Chart;
|
||
use SL::CT;
|
||
use SL::Form;
|
||
use SL::GenericTranslations;
|
||
use SL::Locale::String qw(t8);
|
||
use SL::ReportGenerator;
|
||
use SL::SEPA;
|
||
use SL::SEPA::XML;
|
||
... | ... | |
$invoice->{reference_prefix_vc} = ' ' . $prefix_vc_number unless $prefix_vc_number =~ m/^ /;
|
||
}
|
||
|
||
setup_sepa_add_transfer_action_bar();
|
||
|
||
$form->header();
|
||
print $form->parse_html_template('sepa/bank_transfer_add',
|
||
{ 'INVOICES' => $invoices,
|
||
... | ... | |
# all the information from retrieve_open_invoices is then ADDED to what was passed via @{ $form->{bank_transfers} }
|
||
# parse amount from the entry in the form, but take skonto_amount from PT again
|
||
# the map inserts the values of invoice_map directly into the array of hashes
|
||
my %selected_ids = map { ($_ => 1) } @{ $form->{ids} || [] };
|
||
my %invoices_map = map { $_->{id} => $_ } @{ $invoices };
|
||
my @bank_transfers =
|
||
map +{ %{ $invoices_map{ $_->{$arap_id} } }, %{ $_ } },
|
||
grep { $_->{selected} && (0 < $_->{amount}) && $invoices_map{ $_->{$arap_id} } }
|
||
grep { ($_->{selected} || $selected_ids{$_->{$arap_id}}) && (0 < $_->{amount}) && $invoices_map{ $_->{$arap_id} } }
|
||
map { $_->{amount} = $form->parse_amount($myconfig, $_->{amount}); $_ }
|
||
@{ $form->{bank_transfers} || [] };
|
||
|
||
... | ... | |
'id' => \@vc_ids);
|
||
my @vc_bank_info = sort { lc $a->{name} cmp lc $b->{name} } values %{ $vc_bank_info };
|
||
|
||
setup_sepa_create_transfer_action_bar(is_vendor => $vc eq 'vendor');
|
||
|
||
$form->header();
|
||
print $form->parse_html_template('sepa/bank_transfer_create',
|
||
{ 'BANK_TRANSFERS' => \@bank_transfers,
|
||
... | ... | |
|
||
$form->{title} = $vc eq 'customer' ? $::locale->text('List of bank collections') : $locale->text('List of bank transfers');
|
||
|
||
setup_sepa_search_transfer_action_bar();
|
||
|
||
$form->header();
|
||
print $form->parse_html_template('sepa/bank_transfer_search', { vc => $vc });
|
||
|
||
... | ... | |
$row->{$_}->{data} = $::form->format_amount(\%::myconfig, $row->{$_}->{data}, 2) for qw(sum_amounts);
|
||
|
||
if (!$export->{closed}) {
|
||
$row->{selected}->{raw_data} =
|
||
$cgi->hidden(-name => "exports[+].id", -value => $export->{id})
|
||
. $cgi->checkbox(-name => "exports[].selected", -value => 1, -label => '');
|
||
$row->{selected}->{raw_data} = $cgi->checkbox(-name => "ids[]", -value => $export->{id}, -label => '');
|
||
}
|
||
|
||
$report->add_data($row);
|
||
}
|
||
|
||
setup_sepa_list_transfers_action_bar(show_buttons => $open_available, is_vendor => $vc eq 'vendor');
|
||
|
||
$report->generate_with_headers();
|
||
|
||
$main::lxdebug->leave_sub();
|
||
... | ... | |
if (!$form->{mode} || ($form->{mode} eq 'single')) {
|
||
push @ids, $form->{id};
|
||
} else {
|
||
@ids = map $_->{id}, grep { $_->{selected} } @{ $form->{exports} || [] };
|
||
@ids = @{ $form->{ids} || [] };
|
||
|
||
if (!@ids) {
|
||
$form->show_generic_error($locale->text('You have not selected any export.'));
|
||
... | ... | |
$form->error($locale->text('That export does not exist.'));
|
||
}
|
||
|
||
my $show_post_payments_button = any { !$_->{export_closed} && !$_->{executed} } @{ $export->{items} };
|
||
my $has_executed = any { $_->{executed} } @{ $export->{items} };
|
||
|
||
setup_sepa_edit_transfer_action_bar(
|
||
show_post_payments_button => $show_post_payments_button,
|
||
has_executed => $has_executed,
|
||
);
|
||
|
||
$form->{title} = $locale->text('View SEPA export');
|
||
$form->header();
|
||
print $form->parse_html_template('sepa/bank_transfer_edit',
|
||
{ 'ids' => \@ids,
|
||
'export' => $export,
|
||
'current_date' => $form->current_date(\%main::myconfig),
|
||
'show_post_payments_button' => any { !$_->{export_closed} && !$_->{executed} } @{ $export->{items} },
|
||
{ ids => \@ids,
|
||
export => $export,
|
||
current_date => $form->current_date(\%main::myconfig),
|
||
show_post_payments_button => $show_post_payments_button,
|
||
});
|
||
|
||
$main::lxdebug->leave_sub();
|
||
... | ... | |
my $locale = $main::locale;
|
||
my $vc = $form->{vc} eq 'customer' ? 'customer' : 'vendor';
|
||
|
||
my @items = grep { $_->{selected} } @{ $form->{items} || [] };
|
||
my %selected = map { ($_ => 1) } @{ $form->{ids} || [] };
|
||
my @items = grep { $selected{$_->{id}} } @{ $form->{items} || [] };
|
||
|
||
if (!@items) {
|
||
$form->show_generic_error($locale->text('You have not selected any item.'));
|
||
... | ... | |
my $locale = $main::locale;
|
||
my $vc = $form->{vc} eq 'customer' ? 'customer' : 'vendor';
|
||
|
||
my @ids = @{ $form->{items} || [] };
|
||
my @export_ids = uniq map { $_->{export_id} } @ids;
|
||
my @ids = @{ $form->{ids} || [] };
|
||
my @export_ids = uniq map { $_->{sepa_export_id} } @{ $form->{items} || [] };
|
||
|
||
$form->show_generic_error($locale->text('Multi mode not supported.')) if 1 != scalar @export_ids;
|
||
|
||
... | ... | |
my @items = ();
|
||
|
||
foreach my $id (@ids) {
|
||
my $item = first { $_->{id} == $id->{id} } @{ $export->{items} };
|
||
my $item = first { $_->{id} == $id } @{ $export->{items} };
|
||
push @items, $item if $item;
|
||
}
|
||
|
||
... | ... | |
|
||
my @ids;
|
||
if ($form->{mode} && ($form->{mode} eq 'multi')) {
|
||
@ids = map $_->{id}, grep { $_->{selected} } @{ $form->{exports} || [] };
|
||
@ids = @{ $form->{ids} || [] };
|
||
|
||
} else {
|
||
@ids = ($form->{id});
|
||
... | ... | |
$main::lxdebug->leave_sub();
|
||
}
|
||
|
||
sub bank_transfer_mark_as_closed_step1 {
|
||
$main::lxdebug->enter_sub();
|
||
|
||
my $form = $main::form;
|
||
my $locale = $main::locale;
|
||
my $vc = $form->{vc} eq 'customer' ? 'customer' : 'vendor';
|
||
|
||
my @export_ids = map { $_->{id} } grep { $_->{selected} } @{ $form->{exports} || [] };
|
||
|
||
if (!@export_ids) {
|
||
$form->show_generic_error($locale->text('You have not selected any export.'));
|
||
}
|
||
|
||
my @open_export_ids = ();
|
||
foreach my $id (@export_ids) {
|
||
my $export = SL::SEPA->retrieve_export('id' => $id, vc => $vc);
|
||
push @open_export_ids, $id if (!$export->{closed});
|
||
}
|
||
|
||
if (!@open_export_ids) {
|
||
$form->show_generic_error($locale->text('All of the exports you have selected were already closed.'));
|
||
}
|
||
|
||
$form->{title} = $locale->text('Close SEPA exports');
|
||
$form->header();
|
||
print $form->parse_html_template('sepa/bank_transfer_mark_as_closed_step1', { 'OPEN_EXPORT_IDS' => \@open_export_ids, vc => $vc });
|
||
|
||
$main::lxdebug->leave_sub();
|
||
}
|
||
|
||
sub bank_transfer_mark_as_closed_step2 {
|
||
sub bank_transfer_mark_as_closed {
|
||
$main::lxdebug->enter_sub();
|
||
|
||
my $form = $main::form;
|
||
my $locale = $main::locale;
|
||
|
||
map { SL::SEPA->close_export('id' => $_); } @{ $form->{open_export_ids} || [] };
|
||
map { SL::SEPA->close_export('id' => $_); } @{ $form->{ids} || [] };
|
||
|
||
$form->{title} = $locale->text('Close SEPA exports');
|
||
$form->header();
|
||
... | ... | |
$form->error($main::locale->text('No action defined.'));
|
||
}
|
||
|
||
sub setup_sepa_add_transfer_action_bar {
|
||
my (%params) = @_;
|
||
|
||
for my $bar ($::request->layout->get('actionbar')) {
|
||
$bar->add(
|
||
action => [
|
||
t8('Step 2'),
|
||
submit => [ '#form', { action => "bank_transfer_create" } ],
|
||
accesskey => 'enter',
|
||
checks => [ [ 'kivi.check_if_entries_selected', '[name="ids[]"]' ] ],
|
||
],
|
||
);
|
||
}
|
||
}
|
||
|
||
sub setup_sepa_create_transfer_action_bar {
|
||
my (%params) = @_;
|
||
|
||
for my $bar ($::request->layout->get('actionbar')) {
|
||
$bar->add(
|
||
action => [
|
||
t8('Create'),
|
||
submit => [ '#form', { action => "bank_transfer_create" } ],
|
||
accesskey => 'enter',
|
||
tooltip => $params{is_vendor} ? t8('Create bank transfer') : t8('Create bank collection'),
|
||
],
|
||
action => [
|
||
t8('Back'),
|
||
call => [ 'kivi.history_back' ],
|
||
],
|
||
);
|
||
}
|
||
}
|
||
|
||
sub setup_sepa_search_transfer_action_bar {
|
||
my (%params) = @_;
|
||
|
||
for my $bar ($::request->layout->get('actionbar')) {
|
||
$bar->add(
|
||
action => [
|
||
t8('Search'),
|
||
submit => [ '#form', { action => 'bank_transfer_list' } ],
|
||
accesskey => 'enter',
|
||
],
|
||
);
|
||
}
|
||
}
|
||
|
||
sub setup_sepa_list_transfers_action_bar {
|
||
my (%params) = @_;
|
||
|
||
return unless $params{show_buttons};
|
||
|
||
for my $bar ($::request->layout->get('actionbar')) {
|
||
$bar->add(
|
||
combobox => [
|
||
action => [ t8('Actions') ],
|
||
action => [
|
||
t8('SEPA XML download'),
|
||
submit => [ '#form', { action => 'bank_transfer_download_sepa_xml' } ],
|
||
checks => [ [ 'kivi.check_if_entries_selected', '[name="ids[]"]' ] ],
|
||
],
|
||
action => [
|
||
t8('Post payments'),
|
||
submit => [ '#form', { action => 'bank_transfer_edit' } ],
|
||
checks => [ [ 'kivi.check_if_entries_selected', '[name="ids[]"]' ] ],
|
||
],
|
||
action => [
|
||
t8('Mark as closed'),
|
||
submit => [ '#form', { action => 'bank_transfer_mark_as_closed' } ],
|
||
checks => [ [ 'kivi.check_if_entries_selected', '[name="ids[]"]' ] ],
|
||
confirm => [ $params{is_vendor} ? t8('Do you really want to close the selected SEPA exports? No payment will be recorded for bank transfers that haven\'t been marked as executed yet.')
|
||
: t8('Do you really want to close the selected SEPA exports? No payment will be recorded for bank collections that haven\'t been marked as executed yet.') ],
|
||
],
|
||
], # end of combobox "Actions"
|
||
);
|
||
}
|
||
}
|
||
|
||
sub setup_sepa_edit_transfer_action_bar {
|
||
my (%params) = @_;
|
||
|
||
for my $bar ($::request->layout->get('actionbar')) {
|
||
$bar->add(
|
||
action => [
|
||
t8('Post'),
|
||
submit => [ '#form', { action => 'bank_transfer_post_payments' } ],
|
||
accesskey => 'enter',
|
||
tooltip => t8('Post payments for selected invoices'),
|
||
checks => [ [ 'kivi.check_if_entries_selected', '[name="ids[]"]' ] ],
|
||
only_if => $params{show_post_payments_button},
|
||
],
|
||
action => [
|
||
t8('Payment list'),
|
||
submit => [ '#form', { action => 'bank_transfer_payment_list_as_pdf' } ],
|
||
accesskey => 'enter',
|
||
tooltip => t8('Download list of payments as PDF'),
|
||
checks => [ [ 'kivi.check_if_entries_selected', '[name="ids[]"]' ] ],
|
||
not_if => $params{show_post_payments_button},
|
||
],
|
||
);
|
||
}
|
||
}
|
||
|
||
1;
|
locale/de/all | ||
---|---|---|
'Accrual' => 'Soll-Versteuerung',
|
||
'Accrual accounting' => 'Soll-Versteuerung',
|
||
'Action' => 'Aktion',
|
||
'Actions' => 'Aktionen',
|
||
'Activate kivitendo module' => 'Modul aktivieren',
|
||
'Active' => 'Aktiv',
|
||
'Active?' => 'Aktiviert?',
|
||
... | ... | |
'All general ledger entries' => 'Alle Hauptbucheinträge',
|
||
'All groups' => 'Alle Gruppen',
|
||
'All modules' => 'Alle Module',
|
||
'All of the exports you have selected were already closed.' => 'Alle von Ihnen ausgewählten Exporte sind bereits abgeschlossen.',
|
||
'All partsgroups' => 'Alle Warengruppen',
|
||
'All price sources' => 'Alle Preisquellen',
|
||
'All reports' => 'Alle Berichte (Kontenübersicht, Summen- u. Saldenliste, Erfolgsrechnung, GuV, BWA, Bilanz, Projektbuchungen)',
|
||
... | ... | |
'Do you really want to cancel this general ledger transaction?' => 'Wollen Sie diese Dialogbuchung wirklich stornieren?',
|
||
'Do you really want to cancel this invoice?' => 'Wollen Sie diese Rechnung wirklich stornieren?',
|
||
'Do you really want to cancel?' => 'Wollen Sie wirklich abbrechen?',
|
||
'Do you really want to close the following SEPA exports? No payment will be recorded for bank collections that haven\'t been marked as executed yet.' => 'Wollen Sie wirklich die folgenden SEPA-Exporte abschließen? Für Überweisungen, die noch nicht gebucht wurden, werden dann keine Zahlungen verbucht.',
|
||
'Do you really want to close the following SEPA exports? No payment will be recorded for bank transfers that haven\'t been marked as executed yet.' => 'Wollen Sie wirklich die folgenden SEPA-Exporte abschließen? Für Überweisungen, die noch nicht gebucht wurden, werden dann keine Zahlungen verbucht.',
|
||
'Do you really want to close the selected SEPA exports? No payment will be recorded for bank collections that haven\'t been marked as executed yet.' => 'Wollen Sie wirklich die ausgewählten SEPA-Exporte abschließen? Für Überweisungen, die noch nicht gebucht wurden, werden dann keine Zahlungen verbucht.',
|
||
'Do you really want to close the selected SEPA exports? No payment will be recorded for bank transfers that haven\'t been marked as executed yet.' => 'Wollen Sie wirklich die ausgewählten SEPA-Exporte abschließen? Für Überweisungen, die noch nicht gebucht wurden, werden dann keine Zahlungen verbucht.',
|
||
'Do you really want to delete AP transaction #1?' => 'Wollen Sie wirklich die Kreditorenbuchung #1 löschen?',
|
||
'Do you really want to delete AR transaction #1?' => 'Wollen Sie wirklich die Debitorenbuchung #1 löschen?',
|
||
'Do you really want to delete GL transaction #1?' => 'Wollen Sie wirklich die Dialogbuchung #1 löschen?',
|
||
... | ... | |
'Download PDF' => 'PDF herunterladen',
|
||
'Download PDF, do not print' => 'Nicht drucken, sondern PDF herunterladen',
|
||
'Download SEPA XML export file' => 'SEPA-XML-Exportdatei herunterladen',
|
||
'Download list of payments as PDF' => 'Zahlungsliste als PDF herunterladen',
|
||
'Download picture' => 'Bild herunterladen',
|
||
'Download sample file' => 'Beispieldatei herunterladen',
|
||
'Draft deleted' => 'Entwurf gelöscht',
|
||
... | ... | |
'Payment Terms' => 'Zahlungsbedingungen',
|
||
'Payment Terms missing in row ' => 'Zahlungsfrist fehlt in Zeile ',
|
||
'Payment date missing!' => 'Tag der Zahlung fehlt!',
|
||
'Payment list as PDF' => 'Zahlungsliste als PDF',
|
||
'Payment list' => 'Zahlungsliste',
|
||
'Payment posted!' => 'Zahlung gebucht!',
|
||
'Payment terms' => 'Zahlungsbedingungen',
|
||
'Payment terms (database ID)' => 'Zahlungsbedingungen (Datenbank-ID)',
|
||
... | ... | |
'Post' => 'Buchen',
|
||
'Post Payment' => 'Zahlung buchen',
|
||
'Post payments' => 'Zahlungen buchen',
|
||
'Post payments for selected invoices' => 'Zahlungen für ausgewählten Rechnungen buchen',
|
||
'Posting Configuration' => 'Buchungskonfiguration',
|
||
'Postscript' => 'Postscript',
|
||
'Posustva_coa' => 'USTVA Kennz.',
|
||
... | ... | |
'SEPA XML download' => 'SEPA-XML-Download',
|
||
'SEPA creditor ID' => 'SEPA-Kreditoren-Identifikation',
|
||
'SEPA exports' => 'SEPA-Exporte',
|
||
'SEPA exports:' => 'SEPA-Exporte:',
|
||
'SEPA message ID' => 'SEPA-Nachrichten-ID',
|
||
'SEPA message IDs' => 'SEPA-Nachrichten-IDs',
|
||
'SEPA strings' => 'SEPA-Überweisungen',
|
templates/webpages/sepa/bank_transfer_add.html | ||
---|---|---|
|
||
<p><div class="listtop">[% title %]</div></p>
|
||
|
||
<form action="sepa.pl" method="post">
|
||
<form action="sepa.pl" method="post" id="form">
|
||
<p>
|
||
[%- IF is_vendor %]
|
||
[% 'Please select the source bank account for the transfers:' | $T8 %]
|
||
... | ... | |
<tr class="listrow[% IF !invoice.vc_bank_info_ok && invoice.checked %]_error[% END %]">
|
||
<td align="center">
|
||
[%- IF invoice.vc_bank_info_ok %]
|
||
<input type="checkbox" name="bank_transfers[].selected" value="1"[% IF invoice.checked %] checked[% END %]>
|
||
[% L.checkbox_tag("ids[]", value=invoice.id, checked=checked) %]
|
||
[%- END %]
|
||
</td>
|
||
<td>
|
||
... | ... | |
</p>
|
||
[%- END %]
|
||
|
||
<p>
|
||
<input type="submit" class="submit" name="action_bank_transfer_create" value="[% 'Step 2' | $T8 %]">
|
||
</p>
|
||
|
||
<input type="hidden" name="action" value="dispatcher">
|
||
<input type="hidden" name="vc" value="[%- HTML.escape(vc) %]">
|
||
</form>
|
||
|
||
<script type="text/javascript">
|
||
<!--
|
||
$(function() {
|
||
$("#select_all").checkall('INPUT[name="bank_transfers[].selected"]');
|
||
$("#select_all").checkall('INPUT[name="ids[]"]');
|
||
});
|
||
-->
|
||
|
templates/webpages/sepa/bank_transfer_create.html | ||
---|---|---|
|
||
<p><div class="listtop">[% title %]</div></p>
|
||
|
||
<form action="sepa.pl" method="post">
|
||
<form action="sepa.pl" method="post" id="form">
|
||
<p>1.
|
||
[%- IF is_vendor %]
|
||
[% 'Please select the source bank account for the transfers:' | $T8 %]
|
||
... | ... | |
[% 'Sum open amount' | $T8 %]: [% LxERP.format_amount(total_trans, -2) %]
|
||
</p>
|
||
|
||
<p>
|
||
[%- IF is_vendor %]
|
||
<input type="submit" class="submit" name="action_bank_transfer_create" value="[% 'Create bank transfer' | $T8 %]">
|
||
[%- ELSE %]
|
||
<input type="submit" class="submit" name="action_bank_transfer_create" value="[% 'Create bank collection' | $T8 %]">
|
||
[%- END %]
|
||
</p>
|
||
|
||
<input type="hidden" name="action" value="dispatcher">
|
||
<input type="hidden" name="vc" value="[%- HTML.escape(vc) %]">
|
||
<input type="hidden" name="confirmation" value="1">
|
||
</form>
|
||
|
||
<script type="text/javascript">
|
||
|
||
// function toggle(id) {
|
||
// $('#skonto_' + id).change(function() {
|
||
// if($('#skonto_' + id).prop("checked")) {
|
||
// $('#' + id).val( $('#amount_less_skonto_' + id).val() );
|
||
// } else {
|
||
// $('#' + id).val( $('#invoice_open_amount_' + id).val() );
|
||
// }
|
||
// });
|
||
// };
|
||
|
||
$( ".type_target" ).change(function() {
|
||
type_id = $(this).attr('id');
|
||
var id = type_id.match(/\d*$/);
|
templates/webpages/sepa/bank_transfer_edit.html | ||
---|---|---|
[%- END %]
|
||
<h1>[% title %]: [% HTML.escape(export.ids.join(', ')) %]</h1>
|
||
|
||
<form action="sepa.pl" method="post">
|
||
<input type="hidden" name="action" value="dispatcher">
|
||
|
||
<form action="sepa.pl" method="post" id="form">
|
||
<p>
|
||
<table>
|
||
<tr>
|
||
[%- IF show_post_payments_button %]
|
||
<th class="listheading" align="center"><input type="checkbox" id="select_all"></th>
|
||
[%- END %]
|
||
<th class="listheading" align="center"><input type="checkbox" id="select_all"></th>
|
||
<th class="listheading">[% 'Invoice' | $T8 %]</th>
|
||
<th class="listheading">[%- IF is_vendor %][% 'Vendor' | $T8 %][%- ELSE %][%- LxERP.t8('Customer') %][%- END %]</th>
|
||
[%- IF is_vendor %]
|
||
... | ... | |
<th class="listheading" align="right">[% 'Execution date' | $T8 %]</th>
|
||
</tr>
|
||
<tr>
|
||
<th class="listheading" colspan="[% IF show_post_payments_button %]3[% ELSE %]2[% END %]"> </th>
|
||
<th class="listheading" colspan="3"> </th>
|
||
<th class="listheading">[% 'IBAN' | $T8 %]</th>
|
||
<th class="listheading">[% 'BIC' | $T8 %]</th>
|
||
<th class="listheading">[% 'IBAN' | $T8 %]</th>
|
||
... | ... | |
[% L.date_tag('set_all_execution_date', '', onchange='set_all_execution_date_fields(this);') %]
|
||
</th>
|
||
[%- ELSE %]
|
||
<th class="listheading" colspan="4"> </th>
|
||
<th class="listheading" colspan="[% IF vc == 'customer' %]7[% ELSE %]6[% END %]"> </th>
|
||
[%- END %]
|
||
</tr>
|
||
|
||
[%- FOREACH item = export.items %]
|
||
<tr class="listrow[% loop.count % 2 %]">
|
||
[%- IF show_post_payments_button %]
|
||
<input type="hidden" name="items[+].id" value="[% HTML.escape(item.id) %]">
|
||
<input type="hidden" name="items[].sepa_export_id" value="[% HTML.escape(item.sepa_export_id) %]">
|
||
<td align="center">
|
||
[%- UNLESS item.executed %]
|
||
<input type="checkbox" name="items[].selected" value="1">
|
||
[%- END %]
|
||
</td>
|
||
[%- END %]
|
||
<tr class="listrow">
|
||
<td align="center">
|
||
[%- IF (show_post_payments_button && !item.executed) || (!show_post_payments_button && item.executed) %]
|
||
[% L.hidden_tag("items[+].id", item.id) %]
|
||
[% L.hidden_tag("items[].sepa_export_id", item.sepa_export_id) %]
|
||
[% L.checkbox_tag("ids[]", value=item.id) %]
|
||
[%- END %]
|
||
</td>
|
||
<td>
|
||
<a href="[% IF item.invoice %][% iris %][% ELSE %][% arap %][% END %].pl?action=edit&type=invoice&id=[% IF is_vendor %][% HTML.url(item.ap_id) %][% ELSE %][% HTML.url(item.ar_id) %][% END %]">[% HTML.escape(item.invnumber) %]</a>
|
||
</td>
|
||
... | ... | |
</table>
|
||
</p>
|
||
|
||
<p><hr></p>
|
||
|
||
[%- IF show_post_payments_button %]
|
||
<p>
|
||
<input type="submit" class="submit" name="action_bank_transfer_post_payments" value="[% 'Post payments' | $T8 %]">
|
||
</p>
|
||
|
||
<script type="text/javascript">
|
||
<!--
|
||
function set_all_execution_date_fields(input) {
|
||
... | ... | |
}
|
||
|
||
$(function() {
|
||
$("#select_all").checkall('INPUT[name="items[].selected"]');
|
||
$("#select_all").checkall('INPUT[name="ids[]"]');
|
||
});
|
||
-->
|
||
</script>
|
||
|
||
[%- ELSE %]
|
||
[%- SET has_executed = 0;
|
||
FOREACH item = export.items;
|
||
IF item.executed;
|
||
SET has_executed = 1;
|
||
END ;
|
||
END ;
|
||
IF has_executed %]
|
||
<p>
|
||
<input type="submit" class="submit" name="action_bank_transfer_payment_list_as_pdf" value="[% 'Payment list as PDF' | $T8 %]">
|
||
</p>
|
||
|
||
[%- FOREACH item = export.items %]
|
||
[%- IF item.executed %]
|
||
<input type="hidden" name="items[+].id" value="[% HTML.escape(item.id) %]">
|
||
<input type="hidden" name="items[].export_id" value="[% HTML.escape(item.export_id) %]">
|
||
[%- END %]
|
||
[%- END %]
|
||
[%- END %]
|
||
[% END %]
|
||
|
||
<input type="hidden" name="vc" value="[% HTML.escape(vc) %]">
|
||
</form>
|
templates/webpages/sepa/bank_transfer_list_bottom.html | ||
---|---|---|
[% USE HTML %]
|
||
|
||
[%- IF show_buttons %]
|
||
<input type="hidden" name="action" value="dispatcher">
|
||
<input type="hidden" name="mode" value="multi">
|
||
<input type="hidden" name="vc" value="[%- HTML.escape(vc) %]">
|
||
|
||
<p>
|
||
<input type="submit" class="submit" name="action_bank_transfer_download_sepa_xml" value="[% 'SEPA XML download' | $T8 %]">
|
||
<input type="submit" class="submit" name="action_bank_transfer_edit" value="[% 'Post payments' | $T8 %]">
|
||
<input type="submit" class="submit" name="action_bank_transfer_mark_as_closed_step1" value="[% 'Mark as closed' | $T8 %]">
|
||
</p>
|
||
|
||
<script type="text/javascript">
|
||
<!--
|
||
$(function() {
|
||
$("#select_all").checkall('INPUT[name="exports[].selected"]');
|
||
$("#select_all").checkall('INPUT[name="ids[]"]');
|
||
});
|
||
-->
|
||
</script>
|
templates/webpages/sepa/bank_transfer_list_top.html | ||
---|---|---|
<form action="sepa.pl" method="post">
|
||
<form action="sepa.pl" method="post" id="form">
|
templates/webpages/sepa/bank_transfer_mark_as_closed_step1.html | ||
---|---|---|
[%- USE T8 %]
|
||
[% USE HTML %]
|
||
<h1>[% title %]</h1>
|
||
|
||
<form action="sepa.pl" method="post">
|
||
<p>
|
||
[%- IF vc == 'vendor' %]
|
||
[%- 'Do you really want to close the following SEPA exports? No payment will be recorded for bank transfers that haven\'t been marked as executed yet.' | $T8 %]
|
||
[%- ELSE %]
|
||
[%- 'Do you really want to close the following SEPA exports? No payment will be recorded for bank collections that haven\'t been marked as executed yet.' | $T8 %]
|
||
[%- END %]
|
||
</p>
|
||
|
||
<p>
|
||
[% 'SEPA exports:' | $T8 %]
|
||
[%- FOREACH id = OPEN_EXPORT_IDS %]
|
||
[%- UNLESS loop.first %], [%- END %]
|
||
<input type="hidden" name="open_export_ids[]" value="[% HTML.escape(id) %]">
|
||
<a href="sepa.pl?action=bank_transfer_edit&id=[% HTML.url(id) %]&vc=[% HTML.url(vc) %]">[% HTML.escape(id) %]</a>
|
||
[%- END %]
|
||
</p>
|
||
|
||
<p>
|
||
<input type="submit" class="submit" name="action_bank_transfer_mark_as_closed_step2" value="[% 'Mark as closed' | $T8 %]">
|
||
<input type="button" class="submit" value="[% 'Back' | $T8 %]" onclick="history.back()">
|
||
</p>
|
||
|
||
<input type="hidden" name="action" value="dispatcher">
|
||
<input type="hidden" name="vc" value="[%- HTML.escape(vc) %]">
|
||
</form>
|
||
|
templates/webpages/sepa/bank_transfer_search.html | ||
---|---|---|
[%- USE L %]
|
||
<h1>[% title %]</h1>
|
||
|
||
<form action="sepa.pl" method="post">
|
||
<form action="sepa.pl" method="post" id="form">
|
||
<p>
|
||
<table>
|
||
<tr>
|
||
... | ... | |
</table>
|
||
</p>
|
||
|
||
<p>
|
||
<input type="hidden" name="action" value="dispatcher">
|
||
<input type="hidden" name="vc" value="[%- HTML.escape(vc) %]">
|
||
<input type="submit" class="submit" name="action_bank_transfer_list" value="[% 'Continue' | $T8 %]">
|
||
</p>
|
||
</form>
|
Auch abrufbar als: Unified diff
ActionBar: Verwendung bei SEPA-Einzügen/-Überweisungen