Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 916911d2

Von Tamino Steinert vor mehr als 1 Jahr hinzugefügt

  • ID 916911d28894b4808fd71dd2fb6f33675e223aee
  • Vorgänger 03e6e89e
  • Nachfolger 8c1f18d3

Workflow: E-Mail → Angebot/Auftrag überarbeitet

Unterschiede anzeigen:

SL/Controller/Order.pm
use SL::DB::Shipto;
use SL::DB::Translation;
use SL::DB::EmailJournal;
use SL::DB::EmailJournalAttachment;
use SL::DB::ValidityToken;
use SL::DB::Helper::RecordLink qw(set_record_link_conversions RECORD_ID RECORD_TYPE_REF RECORD_ITEM_ID RECORD_ITEM_TYPE_REF);
use SL::DB::Helper::TypeDataProxy;
......
sub action_add_from_email_journal {
my ($self) = @_;
my $email_journal_id = $::form->{from_id};
my $email_attachment_id = $::form->{email_attachment_id};
$self->order->{RECORD_ID()} = $email_journal_id;
$self->order->{RECORD_TYPE_REF()} = 'SL::DB::EmailJournal';
$self->{email_attachment_id} = $email_attachment_id;
die "No 'email_journal_id' was given." unless ($::form->{email_journal_id});
$self->action_add();
}
sub action_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};
$self->action_edit();
}
# edit an existing order
sub action_edit {
my ($self) = @_;
......
type => $to_type,
from_id => $self->order->id,
from_type => $self->order->type,
email_journal_id => $::form->{workflow_email_journal_id},
email_attachment_id => $::form->{workflow_email_attachment_id},
%additional_params,
);
}
......
$self->save_and_redirect_to(
controller => 'oe.pl',
action => 'oe_invoice_from_order',
email_journal_id => $::form->{workflow_email_journal_id},
email_attachment_id => $::form->{workflow_email_attachment_id},
);
}
......
controller => 'oe.pl',
action => 'oe_invoice_from_order',
new_invoice_type => 'invoice_for_advance_payment',
email_journal_id => $::form->{workflow_email_journal_id},
email_attachment_id => $::form->{workflow_email_attachment_id},
);
}
......
controller => 'oe.pl',
action => 'oe_invoice_from_order',
new_invoice_type => 'final_invoice',
email_journal_id => $::form->{workflow_email_journal_id},
email_attachment_id => $::form->{workflow_email_attachment_id},
);
}
......
type => $_[0]->type,
to_type => $::form->{to_type},
use_shipto => $::form->{use_shipto},
email_journal_id => $::form->{workflow_email_journal_id},
email_attachment_id => $::form->{workflow_email_attachment_id},
);
}
......
$self->save_and_redirect_to(
controller => 'ap.pl',
action => 'add_from_purchase_order',
email_journal_id => $::form->{workflow_email_journal_id},
email_attachment_id => $::form->{workflow_email_attachment_id},
);
}
......
set_project_in_linked_requirement_specs => 1,
);
if ($::form->{email_attachment_id}) {
my $attachment = SL::DB::EmailJournalAttachment->new(id => $::form->{email_attachment_id})->load;
$attachment->add_file_to_record($self->order);
if ($::form->{email_journal_id}) {
my $email_journal = SL::DB::EmailJournal->new(
id => delete $::form->{email_journal_id}
)->load;
$email_journal->link_to_record_with_attachment(
$self->order,
delete $::form->{email_attachment_id}
);
}
if ($is_new && $self->order->is_sales) {
templates/design40_webpages/order/form.html
[% USE LxERP %]
[% USE L %]
[% USE HTML %]
[% IF FORM.workflow_email_journal_id %]
[% SET FORM.title = LxERP.t8("Email Journal Workflow") _ " - " _ FORM.title %]
[% END %]
<h1>[% FORM.title %] <span id='nr_in_title'>[% SELF.order.number %]</span></h1>
<div id="print_options" style="display:none">
......
[% L.hidden_tag('type', FORM.type) %]
[% L.hidden_tag('id', SELF.order.id) %]
[% L.hidden_tag('converted_from_record_type_ref', SELF.order.converted_from_record_type_ref) %]
[% L.hidden_tag('converted_from_record_id', SELF.order.converted_from_record_id) %]
[% L.hidden_tag('email_attachment_id' , SELF.email_attachment_id) %]
[% L.hidden_tag('converted_from_record_id', SELF.order.converted_from_record_id) %]
[% L.hidden_tag('email_journal_id', FORM.email_journal_id) %]
[% L.hidden_tag('email_attachment_id', FORM.email_attachment_id) %]
[% L.hidden_tag('workflow_email_journal_id', FORM.workflow_email_journal_id) %]
[% L.hidden_tag('workflow_email_attachment_id', FORM.workflow_email_attachment_id) %]
[% IF !SELF.order.id %]
[% L.hidden_tag('form_validity_token', FORM.form_validity_token) %]
......
<ul>
<li><a href="#ui-tabs-basic-data">[% 'Basic Data' | $T8 %]</a></li>
[% IF SELF.email_attachment_id %]
<li><a href="#ui-tabs-email-attachment-preview">[% 'Email Attachment Preview' | $T8 %]</a></li>
[% IF FORM.email_attachment_id || FORM.workflow_email_attachment_id %]
<li><a href="controller.pl?action=EmailJournal/attachment_preview&attachment_id=[% HTML.url(FORM.email_attachment_id || FORM.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>
......
cvars=SELF.order.custom_shipto.cvars_by_config
id_selector='#order_shipto_id' %]
</div>
[% IF SELF.email_attachment_id %]
<div id="ui-tabs-email-attachment-preview">
<div class="wrapper" id="email_attachment_wrapper">
[% P.email_journal.attachment_preview(
SELF.email_attachment_id,
style="height: 1800px"
);
%]
</div><!-- /.wrapper -->
</div><!-- /#ui-tabs-attachment-preview -->
[% END %]
</div><!-- /.tabwidget -->
</form>
templates/design40_webpages/order/tabs/basic_data.html
<div id="ui-tabs-basic-data">
<!-- PENDENT: EXPERIMENTELL -->
[% IF SELF.email_attachment_id %]
[% IF FORM.email_attachment_id || FORM.workflow_email_attachment_id%]
<div class="wrapper" id="email_attachment_wrapper">
[%
BLOCK panel_1;
P.email_journal.attachment_preview(
SELF.email_attachment_id,
FORM.email_attachment_id || FORM.workflow_email_attachment_id,
style="height:600px"
);
END;
templates/webpages/order/form.html
[%- USE LxERP %]
[%- USE L %]
[%- USE HTML %]
[% IF FORM.workflow_email_journal_id %]
[% SET FORM.title = LxERP.t8("Email Journal Workflow") _ " - " _ FORM.title %]
[% END %]
<h1>[% FORM.title %] <span id='nr_in_title'>[%- SELF.order.number -%]</span></h1>
<div id="print_options" style="display:none">
......
[% L.hidden_tag('type', FORM.type) %]
[% L.hidden_tag('id', SELF.order.id) %]
[% L.hidden_tag('converted_from_record_type_ref', SELF.order.converted_from_record_type_ref) %]
[% L.hidden_tag('converted_from_record_id', SELF.order.converted_from_record_id) %]
[% L.hidden_tag('email_attachment_id' , SELF.email_attachment_id) %]
[% L.hidden_tag('converted_from_record_id', SELF.order.converted_from_record_id) %]
[% L.hidden_tag('email_journal_id', FORM.email_journal_id) %]
[% L.hidden_tag('email_attachment_id', FORM.email_attachment_id) %]
[% L.hidden_tag('workflow_email_journal_id', FORM.workflow_email_journal_id) %]
[% L.hidden_tag('workflow_email_attachment_id', FORM.workflow_email_attachment_id) %]
[% IF !SELF.order.id %]
[% L.hidden_tag('form_validity_token', FORM.form_validity_token) %]
......
<div class="tabwidget" id="order_tabs">
<ul>
<li><a href="#ui-tabs-basic-data">[% 'Basic Data' | $T8 %]</a></li>
[% IF SELF.email_attachment_id %]
<li><a href="#ui-tabs-email-attachment-preview">[% 'Email Attachment Preview' | $T8 %]</a></li>
[% IF FORM.email_attachment_id || FORM.workflow_email_attachment_id %]
<li><a href="controller.pl?action=EmailJournal/attachment_preview&attachment_id=[% HTML.url(FORM.email_attachment_id || FORM.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>
......
cvars=SELF.order.custom_shipto.cvars_by_config
id_selector='#order_shipto_id' %]
</div>
[% IF SELF.email_attachment_id %]
<div id="ui-tabs-email-attachment-preview">
<div class="wrapper" id="email_attachment_wrapper">
[% P.email_journal.attachment_preview(
SELF.email_attachment_id,
style="height: 1800px"
);
%]
</div><!-- /.wrapper -->
</div><!-- /#ui-tabs-attachment-preview -->
[% END %]
</div>
</form>

Auch abrufbar als: Unified diff