Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 4b1666b7

Von Felix Eichler vor fast 5 Jahren hinzugefügt

  • ID 4b1666b74b0fa70077c64144a57526a1d64b4e64
  • Vorgänger 59626ee2
  • Nachfolger 82098575

Auftragsschnellerfassung: Währung und Wechselkurs definierbar

impl. #9491

(cherry picked from commit 6cdc5a4a33df4530ce4e141151e83138320e27a2)
(cherry pick von odyn)

Unterschiede anzeigen:

SL/DB/Order.pm
use SL::DB::MetaSetup::Order;
use SL::DB::Manager::Order;
use SL::DB::Helper::Attr;
use SL::DB::Helper::AttrHTML;
use SL::DB::Helper::AttrSorted;
use SL::DB::Helper::FlattenToForm;
......
column_map => { id => 'trans_id' },
query_args => [ module => 'OE' ],
},
exchangerate_obj => {
type => 'one to one',
class => 'SL::DB::Exchangerate',
column_map => { currency_id => 'currency_id', transdate => 'transdate' },
},
);
SL::DB::Helper::Attr::make(__PACKAGE__, exchangerate => 'numeric');
__PACKAGE__->meta->initialize;
__PACKAGE__->attr_html('notes');
......
return !!shift->customer_id;
}
sub exchangerate {
my ($self, $val) = @_;
return 1 if $self->currency_id == $::instance_conf->get_currency_id;
my $rate = $self->is_sales ? 'buy' : 'sell';
if (defined $val) {
croak 'exchange rate has to be positive' if $val <= 0;
if (!$self->exchangerate_obj) {
$self->exchangerate_obj(SL::DB::Exchangerate->new(
currency_id => $self->currency_id,
transdate => $self->transdate,
$rate => $val,
));
} elsif (!defined $self->exchangerate_obj->$rate) {
$self->exchangerate_obj->$rate($val);
} else {
croak 'exchange rate already exists, no update allowed';
}
}
return $self->exchangerate_obj->$rate if $self->exchangerate_obj;
}
sub invoices {
my $self = shift;
my %params = @_;

Auch abrufbar als: Unified diff