sub action_update_exchangerate {
my ($self) = @_;
- my $data = {};
- $data = {
+ my $data = {
is_standard => $self->order->currency_id == $::instance_conf->get_currency_id,
currency_name => $self->order->currency->name,
- exchangerate => $self->order->exchangerate_as_null_number,
+ exchangerate => $self->order->daily_exchangerate_as_null_number,
};
$self->render(\SL::JSON::to_json($data), { type => 'json', process => 0 });
# order here solves this problem.
my $order;
$order = SL::DB::Order->new(id => $::form->{id})->load(with => [ 'orderitems', 'orderitems.part' ]) if $::form->{id};
- $order ||= SL::DB::Order->new(orderitems => [],
- quotation => (any { $self->type eq $_ } (sales_quotation_type(), request_quotation_type())));
+ $order ||= SL::DB::Order->new(orderitems => [],
+ quotation => (any { $self->type eq $_ } (sales_quotation_type(), request_quotation_type())),
+ currency_id => $::instance_conf->get_currency_id());
my $cv_id_method = $self->cv . '_id';
if (!$::form->{id} && $::form->{$cv_id_method}) {
setup_order_from_cv($order);
}
- my $form_orderitems = delete $::form->{order}->{orderitems};
- my $form_periodic_invoices_config = delete $::form->{order}->{periodic_invoices_config};
- my $exchangerate_as_null_number = delete $::form->{order}->{exchangerate_as_null_number};
+ my $form_orderitems = delete $::form->{order}->{orderitems};
+ my $form_periodic_invoices_config = delete $::form->{order}->{periodic_invoices_config};
$order->assign_attributes(%{$::form->{order}});
$periodic_invoices_config->assign_attributes(%$periodic_invoices_config_attrs);
}
- # set exchangerate after transdate and currency_id
- $order->assign_attributes(exchangerate_as_null_number => $exchangerate_as_null_number) if $order->currency_id;
-
# remove deleted items
$self->item_ids_to_delete([]);
foreach my $idx (reverse 0..$#{$order->orderitems}) {
sub recalc {
my ($self) = @_;
- $self->order->currency_id($::instance_conf->get_currency_id()) unless $self->order->currency_id;
-
my %pat = $self->order->calculate_prices_and_taxes();
$self->{taxes} = [];
=item * testing
-=item * currency
-
=item * credit limit
=item * more workflows (quotation, rfq)