Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision d3fb9a49

Von Tamino Steinert vor etwa 1 Jahr hinzugefügt

  • ID d3fb9a494c6cc14c8f74c48499bbb9e41025f037
  • Vorgänger 02fab122
  • Nachfolger b566ba2b

Workflow: E-Mail → Angebot/Auftrag

Unterschiede anzeigen:

SL/Controller/EmailJournal.pm
142 142
  $additional_params{controller} = $RECORD_TYPE_TO_CONTROLLER{$record_action};
143 143

  
144 144
  $self->redirect_to(
145
    action           => 'add',
146
    email_journal_id => $email_journal_id,
147
    attachment_id    => $attachment_id,
145
    action              => 'add_from_email_journal',
146
    from_id             => $email_journal_id,
147
    from_type           => 'email_journal',
148
    email_attachment_id => $attachment_id,
148 149
    %additional_params,
149 150
  );
150 151
}
SL/Controller/Order.pm
32 32
use SL::DB::RecordLink;
33 33
use SL::DB::Shipto;
34 34
use SL::DB::Translation;
35
use SL::DB::EmailJournal;
36
use SL::DB::EmailJournalAttachment;
35 37
use SL::DB::ValidityToken;
36 38
use SL::DB::Helper::RecordLink qw(set_record_link_conversions RECORD_ID RECORD_TYPE_REF RECORD_ITEM_ID RECORD_ITEM_TYPE_REF);
37 39
use SL::DB::Helper::TypeDataProxy;
......
156 158
  $self->action_edit();
157 159
}
158 160

  
161
sub action_add_from_email_journal {
162
  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;
169

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

  
159 173
# edit an existing order
160 174
sub action_edit {
161 175
  my ($self) = @_;
......
2149 2163
                          set_project_in_linked_requirement_specs                => 1,
2150 2164
  );
2151 2165

  
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);
2169
  }
2170

  
2152 2171
  if ($is_new && $self->order->is_sales) {
2153 2172
    my $imap_client = SL::IMAPClient->new();
2154 2173
    if ($imap_client) {
SL/DB/Order.pm
145 145
sub _after_save_link_records {
146 146
  my ($self) = @_;
147 147

  
148
  my @allowed_record_sources = qw(SL::DB::Reclamation SL::DB::Order);
148
  my @allowed_record_sources = qw(SL::DB::Reclamation SL::DB::Order SL::DB::EmailJournal);
149 149
  my @allowed_item_sources = qw(SL::DB::ReclamationItem SL::DB::OrderItem);
150 150

  
151 151
  SL::DB::Helper::RecordLink::link_records(
templates/design40_webpages/order/form.html
23 23
  [% L.hidden_tag('id',                   SELF.order.id) %]
24 24
  [% L.hidden_tag('converted_from_record_type_ref', SELF.order.converted_from_record_type_ref) %]
25 25
  [% L.hidden_tag('converted_from_record_id',  SELF.order.converted_from_record_id) %]
26
  [% L.hidden_tag('email_attachment_id'   , SELF.email_attachment_id) %]
26 27

  
27 28
  [% IF !SELF.order.id %]
28 29
  [%   L.hidden_tag('form_validity_token', FORM.form_validity_token) %]
......
34 35

  
35 36
<ul>
36 37
  <li><a href="#ui-tabs-basic-data">[% 'Basic Data' | $T8 %]</a></li>
38
  [% IF SELF.email_attachment_id %]
39
    <li><a href="#ui-tabs-email-attachment-preview">[% 'Email Attachment Preview' | $T8 %]</a></li>
40
  [% END %]
37 41
  [% IF INSTANCE_CONF.get_webdav %]
38 42
    <li><a href="#ui-tabs-webdav">[% 'WebDAV' | $T8 %]</a></li>
39 43
  [% END %]
......
66 70
    cvars=SELF.order.custom_shipto.cvars_by_config
67 71
    id_selector='#order_shipto_id' %]
68 72
</div>
73
[% IF SELF.email_attachment_id %]
74
<div id="ui-tabs-email-attachment-preview">
75
  <div class="wrapper" id="email_attachment_wrapper">
76
    [% P.email_journal.attachment_preview(
77
          SELF.email_attachment_id,
78
          style="border:1px solid black;margin:9px"
79
          );
80
     %]
81
  </div><!-- /.wrapper -->
82
</div><!-- /#ui-tabs-attachment-preview -->
83
[% END %]
84

  
69 85

  
70 86
</div><!-- /.tabwidget -->
71 87
</form>
templates/design40_webpages/order/tabs/basic_data.html
9 9
<div id="ui-tabs-basic-data">
10 10
<!-- PENDENT: EXPERIMENTELL -->
11 11

  
12
[% IF SELF.email_attachment_id %]
13
  <div class="wrapper" id="email_attachment_wrapper">
14
    [%
15
      BLOCK panel_1;
16
        P.email_journal.attachment_preview(
17
             SELF.email_attachment_id,
18
             style="width:520px;border:1px solid black;margin:9px"
19
             );
20
      END;
21
      INCLUDE 'common/toggle_panel.html'
22
        block_name='panel_1'
23
        button_closed  = LxERP.t8('Show Attachment')
24
        button_open    = LxERP.t8('Hide Attachment')
25
        ;
26
    %]
27
  </div>
28
[% END %]
12 29

  
13 30
<div class="wrapper" id="wrapper-1">
14 31
[% INCLUDE 'generic/toggle_wrapper.html' %]
templates/webpages/order/form.html
23 23
  [% L.hidden_tag('id',                   SELF.order.id) %]
24 24
  [% L.hidden_tag('converted_from_record_type_ref', SELF.order.converted_from_record_type_ref) %]
25 25
  [% L.hidden_tag('converted_from_record_id',  SELF.order.converted_from_record_id) %]
26
  [% L.hidden_tag('email_attachment_id'   , SELF.email_attachment_id) %]
26 27

  
27 28
  [% IF !SELF.order.id %]
28 29
  [%   L.hidden_tag('form_validity_token', FORM.form_validity_token) %]

Auch abrufbar als: Unified diff