Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 63c87487

Von Tamino Steinert vor etwa 1 Jahr hinzugefügt

  • ID 63c87487d1b030cd563338837fc75f47b0f37717
  • Vorgänger 743249b4
  • Nachfolger 49deab8a

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;
......
357 358

  
358 359
  AP->get_transdate(\%myconfig, $form);
359 360
  $form->{initial_transdate} = $form->{transdate};
361
  $form->{initial_vendor_id} = $form->{vendor_id};
360 362
  create_links(dont_save => 1);
361 363
  $form->{transdate} = $form->{initial_transdate};
364
  $form->{vendor_id} = $form->{initial_vendor_id} if $form->{initial_vendor_id};
362 365

  
363 366
  if ($form->{vendor_id}) {
364 367
    my $vendor = SL::DB::Vendor->load_cached($form->{vendor_id});
......
1061 1064
      }
1062 1065
    }
1063 1066

  
1067
    if ($form->{email_journal_id}) {
1068
      my $ap_transaction = SL::DB::PurchaseInvoice->new(id => $form->{id})->load;
1069
      my $email_journal = SL::DB::EmailJournal->new(
1070
        id => delete $form->{email_journal_id}
1071
      )->load;
1072
      $email_journal->link_to_record_with_attachment($ap_transaction, delete $::form->{email_attachment_id});
1073
    }
1074

  
1064 1075
    if (!$inline) {
1065 1076
      my $msg = $locale->text("AP transaction '#1' posted (ID: #2)", $form->{invnumber}, $form->{id});
1066 1077
      if ($form->{callback} =~ /BankTransaction/) {
......
1108 1119

  
1109 1120
  $main::auth->assert('ap_transactions');
1110 1121

  
1122
  $form->{email_journal_id}    = delete $form->{workflow_email_journal_id};
1123
  $form->{email_attachment_id} = delete $form->{workflow_email_attachment_id};
1124

  
1111 1125
  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);
1112 1126
  $form->{paidaccounts} = 1;
1113 1127
  $form->{rowcount}--;
......
1496 1510
  );
1497 1511
}
1498 1512

  
1513
sub add_from_email_journal {
1514
  die "No 'email_journal_id' was given." unless ($::form->{email_journal_id});
1515
  &add;
1516
}
1517

  
1518
sub edit_with_email_journal_workflow {
1519
  my ($self) = @_;
1520
  die "No 'email_journal_id' was given." unless ($::form->{email_journal_id});
1521
  $::form->{workflow_email_journal_id}    = delete $::form->{email_journal_id};
1522
  $::form->{workflow_email_attachment_id} = delete $::form->{email_attachment_id};
1523

  
1524
  &edit;
1525
}
1526

  
1499 1527
sub setup_ap_search_action_bar {
1500 1528
  my %params = @_;
1501 1529

  
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