Skip to content

Commit 18a0b97

Browse files
committed
Workflow: E-Mail → Kreditorenbuchung hinzugefügt
1 parent 9ddaeed commit 18a0b97

File tree

4 files changed

+80
-2
lines changed

4 files changed

+80
-2
lines changed

SL/AP.pm

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ use SL::DB::Default;
4444
use SL::DB::Draft;
4545
use SL::DB::Order;
4646
use SL::DB::PurchaseInvoice;
47+
use SL::DB::EmailJournal;
4748
use SL::DB::ValidityToken;
4849
use SL::Util qw(trim);
4950
use SL::DB;
@@ -1098,6 +1099,17 @@ sub _storno {
10981099

10991100
map { IO->set_datepaid(table => 'ap', id => $_, dbh => $dbh) } ($id, $new_id);
11001101

1102+
if ($form->{workflow_email_journal_id}) {
1103+
my $ap_transaction_storno = SL::DB::PurchaseInvoice->new(id => $new_id)->load;
1104+
my $email_journal = SL::DB::EmailJournal->new(
1105+
id => delete $form->{workflow_email_journal_id}
1106+
)->load;
1107+
$email_journal->link_to_record_with_attachment(
1108+
$ap_transaction_storno,
1109+
delete $::form->{email_attachment_id}
1110+
);
1111+
}
1112+
11011113
return 1;
11021114
}
11031115

bin/mozilla/ap.pl

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@
5353
use SL::DB::PurchaseInvoice;
5454
use SL::DB::RecordTemplate;
5555
use SL::DB::Tax;
56+
use SL::DB::EmailJournal;
5657
use SL::DB::ValidityToken;
5758
use SL::Presenter::ItemsList;
5859
use SL::Webdav;
@@ -257,8 +258,10 @@ sub add {
257258

258259
AP->get_transdate(\%myconfig, $form);
259260
$form->{initial_transdate} = $form->{transdate};
261+
$form->{initial_vendor_id} = $form->{vendor_id};
260262
create_links(dont_save => 1);
261263
$form->{transdate} = $form->{initial_transdate};
264+
$form->{vendor_id} = $form->{initial_vendor_id} if $form->{initial_vendor_id};
262265

263266
if ($form->{vendor_id}) {
264267
my $vendor = SL::DB::Vendor->load_cached($form->{vendor_id});
@@ -961,6 +964,14 @@ sub post {
961964
}
962965
}
963966

967+
if ($form->{email_journal_id}) {
968+
my $ap_transaction = SL::DB::PurchaseInvoice->new(id => $form->{id})->load;
969+
my $email_journal = SL::DB::EmailJournal->new(
970+
id => delete $form->{email_journal_id}
971+
)->load;
972+
$email_journal->link_to_record_with_attachment($ap_transaction, delete $::form->{email_attachment_id});
973+
}
974+
964975
if (!$inline) {
965976
my $msg = $locale->text("AP transaction '#1' posted (ID: #2)", $form->{invnumber}, $form->{id});
966977
if ($form->{callback} =~ /BankTransaction/) {
@@ -1008,6 +1019,9 @@ sub use_as_new {
10081019

10091020
$main::auth->assert('ap_transactions');
10101021

1022+
$form->{email_journal_id} = delete $form->{workflow_email_journal_id};
1023+
$form->{email_attachment_id} = delete $form->{workflow_email_attachment_id};
1024+
10111025
map { delete $form->{$_} } qw(printed emailed queued invnumber deliverydate id datepaid_1 gldate_1 acc_trans_id_1 source_1 memo_1 paid_1 exchangerate_1 AP_paid_1 storno convert_from_oe_id);
10121026
$form->{paidaccounts} = 1;
10131027
$form->{rowcount}--;
@@ -1396,6 +1410,20 @@ sub add_from_purchase_order {
13961410
);
13971411
}
13981412

1413+
sub add_from_email_journal {
1414+
die "No 'email_journal_id' was given." unless ($::form->{email_journal_id});
1415+
&add;
1416+
}
1417+
1418+
sub edit_with_email_journal_workflow {
1419+
my ($self) = @_;
1420+
die "No 'email_journal_id' was given." unless ($::form->{email_journal_id});
1421+
$::form->{workflow_email_journal_id} = delete $::form->{email_journal_id};
1422+
$::form->{workflow_email_attachment_id} = delete $::form->{email_attachment_id};
1423+
1424+
&edit;
1425+
}
1426+
13991427
sub setup_ap_search_action_bar {
14001428
my %params = @_;
14011429

templates/design40_webpages/ap/form_header.html

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,10 @@
44
[% USE T8 %]
55
[% USE LxERP %]
66

7-
<h1>[% title | html %]</h1>
7+
<h1>
8+
[% IF workflow_email_journal_id; LxERP.t8("Email Journal Workflow") _ " - "; END; %]
9+
[% title %]
10+
</h1>
811

912
[% INCLUDE 'common/flash.html' %]
1013

@@ -39,6 +42,10 @@ <h1>[% title | html %]</h1>
3942
[% IF !id %]
4043
[% L.hidden_tag('form_validity_token', form_validity_token) %]
4144
[% END %]
45+
[% L.hidden_tag('email_journal_id', email_journal_id) %]
46+
[% L.hidden_tag('email_attachment_id', email_attachment_id) %]
47+
[% L.hidden_tag('workflow_email_journal_id', workflow_email_journal_id) %]
48+
[% L.hidden_tag('workflow_email_attachment_id', workflow_email_attachment_id) %]
4249

4350
[% FOREACH i IN [1..paidaccounts] %]
4451
[% temp = "acc_trans_id_"_ i %]
@@ -56,6 +63,9 @@ <h1>[% title | html %]</h1>
5663

5764
<ul>
5865
<li><a href="#ui-tabs-basic-data">[% 'Basic Data' | $T8 %]</a></li>
66+
[% IF email_attachment_id || workflow_email_attachment_id %]
67+
<li><a href="controller.pl?action=EmailJournal/attachment_preview&attachment_id=[% HTML.url(email_attachment_id || workflow_email_attachment_id) %]">[% 'Email Attachment Preview' | $T8 %]</a></li>
68+
[% END %]
5969
[% IF INSTANCE_CONF.get_webdav %]
6070
<li><a href="#ui-tabs-webdav">[% 'WebDAV' | $T8 %]</a></li>
6171
[% END %]
@@ -77,6 +87,24 @@ <h1>[% title | html %]</h1>
7787

7888
<div id="ui-tabs-basic-data">
7989

90+
[% IF email_attachment_id || workflow_email_attachment_id%]
91+
<div class="wrapper" id="email_attachment_wrapper">
92+
[%
93+
BLOCK panel_1;
94+
P.email_journal.attachment_preview(
95+
email_attachment_id || workflow_email_attachment_id,
96+
style="height:600px"
97+
);
98+
END;
99+
INCLUDE 'common/toggle_panel.html'
100+
block_name='panel_1'
101+
button_closed = LxERP.t8('Show Attachment')
102+
button_open = LxERP.t8('Hide Attachment')
103+
;
104+
%]
105+
</div>
106+
[% END %]
107+
80108
<div class="wrapper">
81109

82110
<table class="tbl-horizontal">

templates/webpages/ap/form_header.html

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,10 @@
44
[%- USE T8 %]
55
[%- USE LxERP %][%- USE P -%]
66

7-
<h1>[% title | html %]</h1>
7+
<h1>
8+
[% IF workflow_email_journal_id; LxERP.t8("Email Journal Workflow") _ " - "; END; %]
9+
[% title %]
10+
</h1>
811

912
[%- INCLUDE 'common/flash.html' %]
1013

@@ -48,6 +51,10 @@ <h1>[% title | html %]</h1>
4851
[% IF !id %]
4952
[% L.hidden_tag('form_validity_token', form_validity_token) %]
5053
[% END %]
54+
[% L.hidden_tag('email_journal_id', email_journal_id) %]
55+
[% L.hidden_tag('email_attachment_id', email_attachment_id) %]
56+
[% L.hidden_tag('workflow_email_journal_id', workflow_email_journal_id) %]
57+
[% L.hidden_tag('workflow_email_attachment_id', workflow_email_attachment_id) %]
5158

5259
[% FOREACH i IN [1..paidaccounts] %]
5360
[% temp = "acc_trans_id_"_ i %]
@@ -64,6 +71,9 @@ <h1>[% title | html %]</h1>
6471
<div id="ap_tabs" class="tabwidget">
6572
<ul>
6673
<li><a href="#ui-tabs-basic-data">[% 'Basic Data' | $T8 %]</a></li>
74+
[% IF email_attachment_id || workflow_email_attachment_id %]
75+
<li><a href="controller.pl?action=EmailJournal/attachment_preview&attachment_id=[% HTML.url(email_attachment_id || workflow_email_attachment_id) %]">[% 'Email Attachment Preview' | $T8 %]</a></li>
76+
[% END %]
6777
[%- IF INSTANCE_CONF.get_webdav %]
6878
<li><a href="#ui-tabs-webdav">[% 'WebDAV' | $T8 %]</a></li>
6979
[%- END %]

0 commit comments

Comments
 (0)