Revision 19132371
Von Bernd Bleßmann vor etwa 3 Jahren hinzugefügt
SL/Controller/Order.pm | ||
---|---|---|
__PACKAGE__->run_before('check_auth');
|
||
|
||
__PACKAGE__->run_before('recalc',
|
||
only => [ qw(save save_as_new save_and_delivery_order save_and_invoice save_and_ap_transaction
|
||
only => [ qw(save save_as_new save_and_delivery_order save_and_invoice save_and_invoice_for_advance_payment save_and_ap_transaction
|
||
print send_email) ]);
|
||
|
||
__PACKAGE__->run_before('get_unalterable_data',
|
||
only => [ qw(save save_as_new save_and_delivery_order save_and_invoice save_and_ap_transaction
|
||
only => [ qw(save save_as_new save_and_delivery_order save_and_invoice save_and_invoice_for_advance_payment save_and_ap_transaction
|
||
print send_email) ]);
|
||
|
||
#
|
||
... | ... | |
);
|
||
}
|
||
|
||
sub action_save_and_invoice_for_advance_payment {
|
||
my ($self) = @_;
|
||
|
||
$self->save_and_redirect_to(
|
||
controller => 'oe.pl',
|
||
action => 'oe_invoice_from_order',
|
||
new_invoice_type => 'invoice_for_advance_payment',
|
||
);
|
||
}
|
||
|
||
# workflow from sales order to sales quotation
|
||
sub action_sales_quotation {
|
||
$_[0]->workflow_sales_or_request_for_quotation();
|
||
... | ... | |
my @req_trans_cost_art = qw(kivi.Order.check_transport_cost_article_presence) x!!$::instance_conf->get_transport_cost_reminder_article_number_id;
|
||
my @req_cusordnumber = qw(kivi.Order.check_cusordnumber_presence) x($self->type eq sales_order_type() && $::instance_conf->get_order_warn_no_cusordnumber);
|
||
|
||
my $has_invoice_for_advance_payment;
|
||
if ($self->order->id && $self->type eq sales_order_type()) {
|
||
my $lr = $self->order->linked_records(direction => 'to', to => ['Invoice']);
|
||
$has_invoice_for_advance_payment = any {'SL::DB::Invoice' eq ref $_ && "invoice_for_advance_payment" eq $_->type} @$lr;
|
||
}
|
||
|
||
for my $bar ($::request->layout->get('actionbar')) {
|
||
$bar->add(
|
||
combobox => [
|
||
... | ... | |
@req_trans_cost_art, @req_cusordnumber,
|
||
],
|
||
],
|
||
action => [
|
||
t8('Save and Invoice for Advance Payment'),
|
||
call => [ 'kivi.Order.save', 'save_and_invoice_for_advance_payment', $::instance_conf->get_order_warn_duplicate_parts ],
|
||
checks => [ 'kivi.Order.check_save_active_periodic_invoices',
|
||
@req_trans_cost_art, @req_cusordnumber,
|
||
],
|
||
disabled => $has_invoice_for_advance_payment ? t8('This order has already an invoice for advanced payment.')
|
||
: undef,
|
||
only_if => (any { $self->type eq $_ } (sales_order_type())),
|
||
],
|
||
action => [
|
||
t8('Save and AP Transaction'),
|
||
call => [ 'kivi.Order.save', 'save_and_ap_transaction', $::instance_conf->get_order_warn_duplicate_parts ],
|
bin/mozilla/oe.pl | ||
---|---|---|
|
||
if ( $form->{type} eq 'sales_order'
|
||
|| $form->{type} eq 'sales_quotation') {
|
||
$form->{title} = $locale->text('Add Sales Invoice');
|
||
$form->{title} = ($form->{new_invoice_type} eq 'invoice_for_advance_payment')
|
||
? $locale->text('Add Invoice for Advance Payment')
|
||
: $locale->text('Add Sales Invoice');
|
||
$form->{script} = 'is.pl';
|
||
$script = "is";
|
||
$buysell = 'buy';
|
||
... | ... | |
# bo creates the id, reset it
|
||
map { delete $form->{$_} } qw(id subject message cc bcc printed emailed queued);
|
||
$form->{ $form->{vc} } =~ s/--.*//g;
|
||
$form->{type} = "invoice";
|
||
$form->{type} = $form->{new_invoice_type} || "invoice";
|
||
|
||
# locale messages
|
||
$main::locale = Locale->new("$myconfig{countrycode}", "$script");
|
locale/de/all | ||
---|---|---|
'Save and Delivery Order' => 'Speichern und Lieferschein',
|
||
'Save and E-mail' => 'Speichern und E-Mail',
|
||
'Save and Invoice' => 'Speichern und Rechnung erfassen',
|
||
'Save and Invoice for Advance Payment' => 'Speichern und Anzahlungsrechnung',
|
||
'Save and Order' => 'Speichern und Auftrag erfassen',
|
||
'Save and Purchase Order' => 'Speichern und Lieferantenauftrag',
|
||
'Save and Quotation' => 'Speichern und Angebot',
|
||
... | ... | |
'This option controls the method used for determining the startdate for the balance report.' => 'Diese Option bestimmt, wie das Startdatum für den Bilanzbericht ermittelt wird',
|
||
'This option controls the method used for profit determination.' => 'Dieser Parameter legt die Berechnungsmethode für die Gewinnermittlung fest.',
|
||
'This option controls the posting and calculation behavior for the accounting method.' => 'Dieser Parameter steuert die Buchungs- und Berechnungsmethoden für die Versteuerungsart.',
|
||
'This order has already an invoice for advanced payment.' => 'Dieser Auftrag hat schon eine Anzahlungsrechnung.',
|
||
'This part has already been added.' => 'Dieser Artikel wurde schon hinzugefügt',
|
||
'This part was already counted for this bin:' => 'Dieser Artikel wurde für diesen Lagerplatz bereits erfasst:',
|
||
'This price has since gone down' => 'Dieser Preis ist mittlerweile niedriger',
|
locale/en/all | ||
---|---|---|
'Save and Delivery Order' => '',
|
||
'Save and E-mail' => '',
|
||
'Save and Invoice' => '',
|
||
'Save and Invoice for Advance Payment' => '',
|
||
'Save and Order' => '',
|
||
'Save and Purchase Order' => '',
|
||
'Save and Quotation' => '',
|
||
... | ... | |
'This option controls the method used for determining the startdate for the balance report.' => '',
|
||
'This option controls the method used for profit determination.' => '',
|
||
'This option controls the posting and calculation behavior for the accounting method.' => '',
|
||
'This order has already an invoice for advanced payment.' => '',
|
||
'This part has already been added.' => '',
|
||
'This part was already counted for this bin:' => '',
|
||
'This price has since gone down' => '',
|
Auch abrufbar als: Unified diff
Anzahlungs-Rg.: Workflow Auftrag -> Anzahlungs-Rg.