Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision d2a38472

Von Tamino Steinert vor etwa 1 Jahr hinzugefügt

  • ID d2a38472f4eca0fbb7614d6be4ff0933df806dce
  • Vorgänger 9e22970b
  • Nachfolger 993874c3

Workflow: E-Mail → VK Rechnung/Gutschrift überarbeitet

Unterschiede anzeigen:

bin/mozilla/io.pl
sub order {
$main::lxdebug->enter_sub();
$::form->{email_journal_id} = delete $::form->{workflow_email_journal_id};
$::form->{email_attachment_id} = delete $::form->{workflow_email_attachment_id};
_order();
if ($::instance_conf->get_feature_experimental_order) {
......
controller => 'Reclamation',
action => 'add_from_record',
type => 'sales_reclamation',
email_journal_id => $::form->{workflow_email_journal_id},
email_attachment_id => $::form->{workflow_email_attachment_id},
from_id => $id,
from_type => $type,
);
......
controller => 'Reclamation',
action => 'add_from_record',
type => 'purchase_reclamation',
email_journal_id => $::form->{workflow_email_journal_id},
email_attachment_id => $::form->{workflow_email_attachment_id},
from_id => $id,
from_type => $type,
);
bin/mozilla/is.pl
use SL::DB::Invoice;
use SL::DB::PaymentTerm;
use SL::DB::Reclamation;
use SL::DB::EmailJournal;
use SL::DB::ValidityToken;
use SL::Helper::QrBillFunctions qw(get_ref_number_formatted);
......
$main::lxdebug->leave_sub();
}
sub add_from_email_journal {
die "No 'email_journal_id' was given." unless ($::form->{email_journal_id});
&add;
}
sub edit_with_email_journal_workflow {
my ($self) = @_;
die "No 'email_journal_id' was given." unless ($::form->{email_journal_id});
$::form->{workflow_email_journal_id} = delete $::form->{email_journal_id};
$::form->{workflow_email_attachment_id} = delete $::form->{email_attachment_id};
&edit;
}
sub edit {
$main::lxdebug->enter_sub();
......
$form->save_history;
}
if ($form->{email_journal_id} && $form->{id} ne "") {
my $invoice = SL::DB::Invoice->new(id => $form->{id})->load;
my $email_journal = SL::DB::EmailJournal->new(
id => delete $form->{email_journal_id}
)->load;
$email_journal->link_to_record_with_attachment($invoice, delete $::form->{email_attachment_id});
}
if (!$form->{no_redirect_after_post}) {
$form->{action} = 'edit';
$form->{script} = 'is.pl';
......
$main::auth->assert('invoice_edit');
$form->{email_journal_id} = delete $form->{workflow_email_journal_id};
$form->{email_attachment_id} = delete $form->{workflow_email_attachment_id};
delete @{ $form }{qw(printed emailed queued invnumber invdate exchangerate forex deliverydate id datepaid_1 gldate_1 acc_trans_id_1 source_1 memo_1 paid_1 exchangerate_1 AP_paid_1 storno locked qr_unstructured_message)};
$form->{rowcount}--;
$form->{paidaccounts} = 1;
......
$main::auth->assert('invoice_edit');
$form->{email_journal_id} = delete $form->{workflow_email_journal_id};
$form->{email_attachment_id} = delete $form->{workflow_email_attachment_id};
delete @{ $form }{qw(printed emailed queued invnumber invdate exchangerate forex deliverydate datepaid_1 gldate_1 acc_trans_id_1 source_1 memo_1 paid_1 exchangerate_1 AP_paid_1 storno locked)};
$form->{convert_from_ar_ids} = $form->{id};
$form->{id} = '';
......
$main::auth->assert('invoice_edit');
$form->{email_journal_id} = delete $form->{workflow_email_journal_id};
$form->{email_attachment_id} = delete $form->{workflow_email_attachment_id};
my $related_invoices = IS->_get_invoices_for_advance_payment($form->{id});
delete @{ $form }{qw(printed emailed queued invnumber invdate exchangerate forex deliverydate datepaid_1 gldate_1 acc_trans_id_1 source_1 memo_1 paid_1 exchangerate_1 AP_paid_1 storno locked)};
......
$form->{addition} = "STORNO";
$form->save_history;
my $email_journal_id = delete $form->{workflow_email_journal_id};
my $email_attachment_id = delete $form->{workflow_email_attachment_id};
map({ my $key = $_; delete($form->{$key}) unless (grep({ $key eq $_ } qw(id login password type))); } keys(%{ $form }));
$form->{email_journal_id} = $email_journal_id;
$form->{email_attachment_id} = $email_attachment_id;
invoice_links();
prepare_invoice();
relink_accounts();
......
$main::auth->assert('invoice_edit');
$form->{email_journal_id} = delete $form->{workflow_email_journal_id};
$form->{email_attachment_id} = delete $form->{workflow_email_attachment_id};
$form->{form_validity_token} = SL::DB::ValidityToken->create(scope => SL::DB::ValidityToken::SCOPE_SALES_INVOICE_POST())->token;
$form->{transdate} = $form->{invdate} = $form->current_date(\%myconfig);
templates/design40_webpages/is/form_header.html
<script type="text/javascript" src="js/calculate_qty.js"></script>
<script type="text/javascript" src="js/follow_up.js"></script>
<h1>[% title %]</h1>
<h1>
[% IF workflow_email_journal_id; LxERP.t8("Email Journal Workflow") _ " - "; END; %]
[% title %]
</h1>
<form method="post" id='form' name="invoice" action="[% script %]">
......
[% IF !id %]
[% L.hidden_tag('form_validity_token', form_validity_token) %]
[% END %]
[% L.hidden_tag('email_journal_id', email_journal_id) %]
[% L.hidden_tag('email_attachment_id', email_attachment_id) %]
[% L.hidden_tag('workflow_email_journal_id', workflow_email_journal_id) %]
[% L.hidden_tag('workflow_email_attachment_id', workflow_email_attachment_id) %]
[% IF saved_message != '' %]<p>[% saved_message %]</p>[% END %]
......
<div id="is_tabs" class="tabwidget">
<ul class="ui-tabs-nav">
<li><a href="#ui-tabs-basic-data" class="ui-tabs">[% 'Basic Data' | $T8 %]</a></li>
[% IF email_attachment_id || workflow_email_attachment_id %]
<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>
[% END %]
[% IF INSTANCE_CONF.get_webdav %]
<li><a href="#ui-tabs-webdav">[% 'WebDAV' | $T8 %]</a></li>
[% END %]
......
<div id="ui-tabs-basic-data" class="ui-tabs-panel">
[% IF email_attachment_id || workflow_email_attachment_id%]
<div class="wrapper" id="email_attachment_wrapper">
[%
BLOCK panel_1;
P.email_journal.attachment_preview(
email_attachment_id || workflow_email_attachment_id,
style="height:600px"
);
END;
INCLUDE 'common/toggle_panel.html'
block_name='panel_1'
button_closed = LxERP.t8('Show Attachment')
button_open = LxERP.t8('Hide Attachment')
;
%]
</div>
[% END %]
<div class="wrapper" id="wrapper-1">
[% INCLUDE 'generic/toggle_wrapper.html' %]
<table class="tbl-horizontal">
templates/webpages/is/form_header.html
[% IF !id %]
[% L.hidden_tag('form_validity_token', form_validity_token) %]
[% END %]
[% L.hidden_tag('email_journal_id', email_journal_id) %]
[% L.hidden_tag('email_attachment_id', email_attachment_id) %]
[% L.hidden_tag('workflow_email_journal_id', workflow_email_journal_id) %]
[% L.hidden_tag('workflow_email_attachment_id', workflow_email_attachment_id) %]
<h1>[% title %]</h1>
<h1>
[% IF workflow_email_journal_id; LxERP.t8("Email Journal Workflow") _ " - "; END; %]
[% title %]
</h1>
<p>[% saved_message %]</p>
......
<div id="is_tabs" class="tabwidget">
<ul>
<li><a href="#ui-tabs-basic-data">[% 'Basic Data' | $T8 %]</a></li>
[% IF email_attachment_id || workflow_email_attachment_id %]
<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>
[% END %]
[%- IF INSTANCE_CONF.get_webdav %]
<li><a href="#ui-tabs-webdav">[% 'WebDAV' | $T8 %]</a></li>
[%- END %]

Auch abrufbar als: Unified diff