Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 5cada5ab

Von Bernd Bleßmann vor etwa 2 Jahren hinzugefügt

  • ID 5cada5ab5524d4eccbfe2beacb8c5b46314f1368
  • Vorgänger a03e4841
  • Nachfolger 13193b1a

Gültigkeitstoken Auftragscontroller

Unterschiede anzeigen:

SL/Controller/Order.pm
use SL::DB::RequirementSpec;
use SL::DB::Shipto;
use SL::DB::Translation;
use SL::DB::ValidityToken;
use SL::Helper::CreatePDF qw(:all);
use SL::Helper::PrintOptions;
......
$self->pre_render();
if (!$::form->{form_validity_token}) {
$::form->{form_validity_token} = SL::DB::ValidityToken->create(scope => SL::DB::ValidityToken::SCOPE_ORDER_SAVE())->token;
}
$self->render(
'order/form',
title => $self->get_title_for('add'),
......
$self->recalc();
$self->pre_render();
if (!$::form->{form_validity_token}) {
$::form->{form_validity_token} = SL::DB::ValidityToken->create(scope => SL::DB::ValidityToken::SCOPE_ORDER_SAVE())->token;
}
$self->render(
'order/form',
title => $self->get_title_for('edit'),
......
# are loaded only on demand. So we need to keep the values from
# the source.
$_->{render_second_row} = 1 for @{ $self->order->items_sorted };
if (!$::form->{form_validity_token}) {
$::form->{form_validity_token} = SL::DB::ValidityToken->create(scope => SL::DB::ValidityToken::SCOPE_ORDER_SAVE())->token;
}
}
$self->recalc();
......
# no linked records on save as new
delete $::form->{$_} for qw(converted_from_oe_id converted_from_orderitems_ids);
if (!$::form->{form_validity_token}) {
$::form->{form_validity_token} = SL::DB::ValidityToken->create(scope => SL::DB::ValidityToken::SCOPE_ORDER_SAVE())->token;
}
# save
$self->action_save();
}
......
# source.
$_->{render_second_row} = 1 for @{ $self->order->items_sorted };
if (!$::form->{form_validity_token}) {
$::form->{form_validity_token} = SL::DB::ValidityToken->create(scope => SL::DB::ValidityToken::SCOPE_ORDER_SAVE())->token;
}
$self->render(
'order/form',
title => $self->get_title_for('edit'),
......
sub save {
my ($self) = @_;
my $validity_token;
if (!$self->order->id) {
$validity_token = SL::DB::Manager::ValidityToken->fetch_valid_token(
scope => SL::DB::ValidityToken::SCOPE_ORDER_SAVE(),
token => $::form->{form_validity_token},
);
return [t8('The form is not valid anymore.')] if !$validity_token;
}
$self->recalc();
$self->get_unalterable_data();
......
$self->save_history('SAVED');
$validity_token->delete if $validity_token;
delete $::form->{form_validity_token};
1;
}) || push(@{$errors}, $db->error);
SL/DB/ValidityToken.pm
use constant SCOPE_SALES_INVOICE_POST => 'SalesInvoice::Post';
use constant SCOPE_DELIVERY_ORDER_SAVE => 'DeliveryOrder::Save';
use constant SCOPE_ORDER_SAVE => 'Order::Save';
sub create {
my ($class, %params) = @_;
templates/design40_webpages/order/form.html
[% L.hidden_tag('converted_from_oe_id', SELF.converted_from_oe_id) %]
[% L.hidden_tag('converted_from_reclamation_id', SELF.converted_from_reclamation_id) %]
[% IF !SELF.order.id %]
[% L.hidden_tag('form_validity_token', FORM.form_validity_token) %]
[% END %]
[% INCLUDE 'common/flash.html' %]
<div class="tabwidget" id="order_tabs">
templates/webpages/order/form.html
[% L.hidden_tag('converted_from_oe_id', SELF.converted_from_oe_id) %]
[% L.hidden_tag('converted_from_reclamation_id', SELF.converted_from_reclamation_id) %]
[% IF !SELF.order.id %]
[% L.hidden_tag('form_validity_token', FORM.form_validity_token) %]
[% END %]
[%- INCLUDE 'common/flash.html' %]
<div class="tabwidget" id="order_tabs">

Auch abrufbar als: Unified diff