Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 5e0c45f8

Von Tamino Steinert vor mehr als 1 Jahr hinzugefügt

  • ID 5e0c45f829a3b3e8c2b1d6f6b2a77dee8e0294af
  • Vorgänger 1ae384cf
  • Nachfolger 5b44ba35

Belegvorlagen + Dialogbuchung: Workflow von EmailJournal aus umgesetzt

Unterschiede anzeigen:

SL/AP.pm
)->load;
$email_journal->link_to_record_with_attachment(
$ap_transaction_storno,
delete $::form->{email_attachment_id}
delete $::form->{workflow_email_attachment_id}
);
}
SL/AR.pm
)->load;
$email_journal->link_to_record_with_attachment(
$ar_transaction_storno,
delete $::form->{email_attachment_id}
delete $::form->{workflow_email_attachment_id}
);
}
SL/Controller/EmailJournal.pm
class => 'Reclamation',
types => SL::DB::Reclamation::TypeData->valid_types(),
},
GlTransaction => {
controller => 'gl.pl',
class => 'GLTransaction',
types => [
'gl_transaction',
],
},
ArTransaction => {
controller => 'ar.pl',
class => 'Invoice',
......
'purchase_credit_note',
],
},
RecordTemplate => {
controller => '',
GlRecordTemplate => {
controller => 'gl.pl',
class => 'RecordTemplate',
types => [
'gl_transaction_template',
],
},
ArRecordTemplate => {
controller => 'ar.pl',
class => 'RecordTemplate',
types => [
'ar_transaction_template',
],
},
ApRecordTemplate => {
controller => 'ap.pl',
class => 'RecordTemplate',
types => [
'ap_transaction_template',
],
}
},
);
my %RECORD_TYPE_TO_CONTROLLER =
map {
......
$_ => 'invnumber';
} elsif (any {$model eq $_} qw(SL::DB::RecordTemplate)) {
$_ => 'template_name';
} elsif (any {$model eq $_} qw(SL::DB::GLTransaction)) {
$_ => 'reference';
} else {
my $type_data = SL::DB::Helper::TypeDataProxy->new($model, $_);
$_ => $type_data->properties('nr_key');
......
{ record_type => 'purchase_invoice', customervendor => 'vendor', workflow_needed => 0, can_workflow => 1, text => t8('Purchase Invoice')},
{ record_type => 'purchase_credit_note', customervendor => 'vendor', workflow_needed => 0, can_workflow => 1, text => t8('Purchase Credit Note')},
# transactions
# TODO: create gl_transaction with email
# { record_type => 'gl_transaction', customervendor => 'customer', workflow_needed => 0, can_workflow => 0, text => t8('GL Transaction')},
# { record_type => 'gl_transaction', customervendor => 'vendor', workflow_needed => 0, can_workflow => 0, text => t8('GL Transaction')},
# gl_transaction can be for vendor and customer
{ record_type => 'gl_transaction', customervendor => 'customer', workflow_needed => 0, can_workflow => 1, text => t8('GL Transaction')},
{ record_type => 'gl_transaction', customervendor => 'vendor', workflow_needed => 0, can_workflow => 1, text => t8('GL Transaction')},
{ record_type => 'ar_transaction', customervendor => 'customer', workflow_needed => 0, can_workflow => 1, text => t8('AR Transaction')},
{ record_type => 'ap_transaction', customervendor => 'vendor', workflow_needed => 0, can_workflow => 1, text => t8('AP Transaction')},
# templates
......
my ($self, $customer_vendor_type, $action) = @_;
return [
map { $_->{record_type} }
grep {
# No gl_transaction in standard workflows
# They can't be filtered by customer/vendor or open/closed and polute the list
($_->{record_type} ne 'gl_transaction')
}
grep {
($_->{customervendor} eq $customer_vendor_type)
&& ($action eq 'workflow_record' ? $_->{can_workflow} : 1)
......
$additional_where{$nr_key} = { ilike => "%$record_number%" };
}
unless ($with_closed) {
if (any {$_ eq 'closed' } $model->meta->columns) {
if (any {$_ eq 'closed'} $model->meta->columns) {
$additional_where{closed} = 0;
} elsif (any {$_ eq 'paid' } $model->meta->columns) {
} elsif (any {$_ eq 'paid'} $model->meta->columns) {
$additional_where{amount} = { gt => \'paid' };
}
}
......
my $action = $::form->{action_selection};
my $record_id = $::form->{"record_id"};
my $record_type = $::form->{"record_type"};
$record_type ||= $::form->{"${customer_vendor}_record_type_selection"};
$record_type ||= $::form->{"${customer_vendor}_${action}_type_selection"};
die t8("No record is selected.") unless $record_id || $action eq 'create_new';
die t8("No record is selected.") unless $record_id || $action eq 'new_record';
die t8("No record type is selected.") unless $record_type;
die "no 'email_journal_id' was given" unless $email_journal_id;
die "no 'customer_vendor_selection' was given" unless $customer_vendor;
......
}