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) {

Auch abrufbar als: Unified diff