Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 9badeafc

Von Tamino Steinert vor etwa 1 Jahr hinzugefügt

  • ID 9badeafc6a905870101c086889a9f5871756ad64
  • Vorgänger 4b686f98
  • Nachfolger 545acfb6

Workflow: E-Mail → Angebot/Auftrag überarbeitet

Unterschiede anzeigen:

SL/Controller/Order.pm
33 33
use SL::DB::Shipto;
34 34
use SL::DB::Translation;
35 35
use SL::DB::EmailJournal;
36
use SL::DB::EmailJournalAttachment;
37 36
use SL::DB::ValidityToken;
38 37
use SL::DB::Helper::RecordLink qw(set_record_link_conversions RECORD_ID RECORD_TYPE_REF RECORD_ITEM_ID RECORD_ITEM_TYPE_REF);
39 38
use SL::DB::Helper::TypeDataProxy;
......
160 159

  
161 160
sub action_add_from_email_journal {
162 161
  my ($self) = @_;
163
  my $email_journal_id    = $::form->{from_id};
164
  my $email_attachment_id = $::form->{email_attachment_id};
165

  
166
  $self->order->{RECORD_ID()}       = $email_journal_id;
167
  $self->order->{RECORD_TYPE_REF()} = 'SL::DB::EmailJournal';
168
  $self->{email_attachment_id} = $email_attachment_id;
162
  die "No 'email_journal_id' was given." unless ($::form->{email_journal_id});
169 163

  
170 164
  $self->action_add();
171 165
}
172 166

  
167
sub action_edit_with_email_journal_workflow {
168
  my ($self) = @_;
169
  die "No 'email_journal_id' was given." unless ($::form->{email_journal_id});
170
  $::form->{workflow_email_journal_id}    = delete $::form->{email_journal_id};
171
  $::form->{workflow_email_attachment_id} = delete $::form->{email_attachment_id};
172

  
173
  $self->action_edit();
174
}
175

  
173 176
# edit an existing order
174 177
sub action_edit {
175 178
  my ($self) = @_;
......
824 827
    type       => $to_type,
825 828
    from_id    => $self->order->id,
826 829
    from_type  => $self->order->type,
830
    email_journal_id    => $::form->{workflow_email_journal_id},
831
    email_attachment_id => $::form->{workflow_email_attachment_id},
827 832
    %additional_params,
828 833
  );
829 834
}
......
836 841
  $self->save_and_redirect_to(
837 842
    controller => 'oe.pl',
838 843
    action     => 'oe_invoice_from_order',
844
    email_journal_id    => $::form->{workflow_email_journal_id},
845
    email_attachment_id => $::form->{workflow_email_attachment_id},
839 846
  );
840 847
}
841 848

  
......
846 853
    controller       => 'oe.pl',
847 854
    action           => 'oe_invoice_from_order',
848 855
    new_invoice_type => 'invoice_for_advance_payment',
856
    email_journal_id    => $::form->{workflow_email_journal_id},
857
    email_attachment_id => $::form->{workflow_email_attachment_id},
849 858
  );
850 859
}
851 860

  
......
856 865
    controller       => 'oe.pl',
857 866
    action           => 'oe_invoice_from_order',
858 867
    new_invoice_type => 'final_invoice',
868
    email_journal_id    => $::form->{workflow_email_journal_id},
869
    email_attachment_id => $::form->{workflow_email_attachment_id},
859 870
  );
860 871
}
861 872

  
......
866 877
    type       => $_[0]->type,
867 878
    to_type    => $::form->{to_type},
868 879
    use_shipto => $::form->{use_shipto},
880
    email_journal_id    => $::form->{workflow_email_journal_id},
881
    email_attachment_id => $::form->{workflow_email_attachment_id},
869 882
  );
870 883
}
871 884

  
......
876 889
  $self->save_and_redirect_to(
877 890
    controller => 'ap.pl',
878 891
    action     => 'add_from_purchase_order',
892
    email_journal_id    => $::form->{workflow_email_journal_id},
893
    email_attachment_id => $::form->{workflow_email_attachment_id},
879 894
  );
880 895
}
881 896

  
......
2163 2178
                          set_project_in_linked_requirement_specs                => 1,
2164 2179
  );
2165 2180

  
2166
  if ($::form->{email_attachment_id}) {
2167
    my $attachment = SL::DB::EmailJournalAttachment->new(id => $::form->{email_attachment_id})->load;
2168
    $attachment->add_file_to_record($self->order);
2181
  if ($::form->{email_journal_id}) {
2182
    my $email_journal = SL::DB::EmailJournal->new(
2183
      id => delete $::form->{email_journal_id}
2184
    )->load;
2185
    $email_journal->link_to_record_with_attachment(
2186
      $self->order,
2187
      delete $::form->{email_attachment_id}
2188
    );
2169 2189
  }
2170 2190

  
2171 2191
  if ($is_new && $self->order->is_sales) {

Auch abrufbar als: Unified diff