Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 18a0b975

Von Tamino Steinert vor etwa 1 Jahr hinzugefügt

  • ID 18a0b9758720db5807bf202d649c98dd5849f90c
  • Vorgänger 9ddaeed0
  • Nachfolger 97f2f7aa

Workflow: E-Mail → Kreditorenbuchung hinzugefügt

Unterschiede anzeigen:

SL/AP.pm
44 44
use SL::DB::Draft;
45 45
use SL::DB::Order;
46 46
use SL::DB::PurchaseInvoice;
47
use SL::DB::EmailJournal;
47 48
use SL::DB::ValidityToken;
48 49
use SL::Util qw(trim);
49 50
use SL::DB;
......
1098 1099

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

  
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

  
1101 1113
  return 1;
1102 1114
}
1103 1115

  
bin/mozilla/ap.pl
53 53
use SL::DB::PurchaseInvoice;
54 54
use SL::DB::RecordTemplate;
55 55
use SL::DB::Tax;
56
use SL::DB::EmailJournal;
56 57
use SL::DB::ValidityToken;
57 58
use SL::Presenter::ItemsList;
58 59
use SL::Webdav;
......
257 258

  
258 259
  AP->get_transdate(\%myconfig, $form);
259 260
  $form->{initial_transdate} = $form->{transdate};
261
  $form->{initial_vendor_id} = $form->{vendor_id};
260 262
  create_links(dont_save => 1);
261 263
  $form->{transdate} = $form->{initial_transdate};
264
  $form->{vendor_id} = $form->{initial_vendor_id} if $form->{initial_vendor_id};
262 265

  
263 266
  if ($form->{vendor_id}) {
264 267
    my $vendor = SL::DB::Vendor->load_cached($form->{vendor_id});
......
961 964
      }
962 965
    }
963 966

  
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

  
964 975
    if (!$inline) {
965 976
      my $msg = $locale->text("AP transaction '#1' posted (ID: #2)", $form->{invnumber}, $form->{id});
966 977
      if ($form->{callback} =~ /BankTransaction/) {
......
1008 1019

  
1009 1020
  $main::auth->assert('ap_transactions');
1010 1021

  
1022
  $form->{email_journal_id}    = delete $form->{workflow_email_journal_id};
1023
  $form->{email_attachment_id} = delete $form->{workflow_email_attachment_id};
1024

  
1011 1025
  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);
1012 1026
  $form->{paidaccounts} = 1;
1013 1027
  $form->{rowcount}--;
......
1396 1410
  );
1397 1411
}
1398 1412

  
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

  
1399 1427
sub setup_ap_search_action_bar {
1400 1428
  my %params = @_;
1401 1429

  
templates/design40_webpages/ap/form_header.html
4 4
[% USE T8 %]
5 5
[% USE LxERP %]
6 6

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

  
9 12
[% INCLUDE 'common/flash.html' %]
10 13

  
......
39 42
[% IF !id %]
40 43
[%   L.hidden_tag('form_validity_token', form_validity_token) %]
41 44
[% 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) %]
42 49

  
43 50
[% FOREACH i IN [1..paidaccounts] %]
44 51
  [% temp = "acc_trans_id_"_ i %]
......
56 63

  
57 64
<ul>
58 65
  <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 %]
59 69
  [% IF INSTANCE_CONF.get_webdav %]
60 70
    <li><a href="#ui-tabs-webdav">[% 'WebDAV' | $T8 %]</a></li>
61 71
  [% END %]
......
77 87

  
78 88
<div id="ui-tabs-basic-data">
79 89

  
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

  
80 108
<div class="wrapper">
81 109

  
82 110
<table class="tbl-horizontal">
templates/webpages/ap/form_header.html
4 4
[%- USE T8 %]
5 5
[%- USE LxERP %][%- USE P -%]
6 6

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

  
9 12
[%- INCLUDE 'common/flash.html' %]
10 13

  
......
48 51
[% IF !id %]
49 52
[%   L.hidden_tag('form_validity_token', form_validity_token) %]
50 53
[% 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) %]
51 58

  
52 59
[% FOREACH i IN [1..paidaccounts] %]
53 60
  [% temp = "acc_trans_id_"_ i %]
......
64 71
<div id="ap_tabs" class="tabwidget">
65 72
 <ul>
66 73
  <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 %]
67 77
[%- IF INSTANCE_CONF.get_webdav %]
68 78
  <li><a href="#ui-tabs-webdav">[% 'WebDAV' | $T8 %]</a></li>
69 79
[%- END %]

Auch abrufbar als: Unified diff