X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/c653b98f17446bf3dab478e5361b1bc6df822e61..89b2668811eac6023ad58322e2f9970ddb6a27c9:/SL/PriceSource/Price.pm diff --git a/SL/PriceSource/Price.pm b/SL/PriceSource/Price.pm index 1e8f0a299..71bd1ff4f 100644 --- a/SL/PriceSource/Price.pm +++ b/SL/PriceSource/Price.pm @@ -7,14 +7,14 @@ use Rose::Object::MakeMethods::Generic ( scalar => [ qw(price description spec price_source invalid missing) ], ); -use SL::DB::Helper::Attr; +require SL::DB::Helper::Attr; SL::DB::Helper::Attr::make(__PACKAGE__, price => 'numeric(15,5)', ); sub source { $_[0]->price_source - ? $_[0]->price_source->name . '/' . $_[0]->spec + ? $_[0]->price_source->name . '/' . $_[0]->spec : ''; } @@ -31,11 +31,11 @@ sub source_description { $self->price_source ? $self->price_source->description - : $self->description + : $self->description } sub to_str { - "source: @{[ $_[0]->source ]}, price: @{[ $_[0]->price]}, description: @{[ $_[0]->description ]}" + "source: @{[ $_[0]->source ]}, price: @{[ $_[0]->price ]}, description: @{[ $_[0]->description ]}" } 1; @@ -53,35 +53,31 @@ SL::PriceSource::Price - contrainer to pass calculated prices around # in PriceSource::Base implementation $price = SL::PriceSource::Price->new( price => 10.3, - spec => '10.3', # something you can easily parse later - description => t8('Fix price 10.3'), + spec => '3', # something you can easily parse later + description => t8('Fix price 10.3 for customer 3'), price_source => $self, ) - # special empty price in SL::PriceSource + # special empty price in SL::PriceSource, for internal use. SL::PriceSource::Price->new( description => t8('None (PriceSource)'), ); - # invalid price + # price can't be restored SL::PriceSource::Price->new( - price => $original_price, - spec => $original_spec, - description => $original_description, - invalid => t8('Offer expired #1 weeks ago', $dt->delta_weeks), + missing => t8('Um, sorry, cannot find that one'), price_source => $self, ); - # missing price + # invalid price SL::PriceSource::Price->new( - price => $original_price, # will keep last entered price + price => $original_price, spec => $original_spec, - description => '', - missing => t8('Um, sorry, cannot find that one'), + description => $original_description, + invalid => t8('Offer expired #1 weeks ago', $dt->delta_weeks), price_source => $self, ); - =head1 DESCRIPTION See L for information about the mechanism. @@ -97,7 +93,7 @@ implementations. The price. A price of 0 is special and is considered undesirable. If passed as part of C it will be filtered out. If returned as -C or C it will be warned about. +C or C it will trigger a warning. =item C @@ -118,11 +114,15 @@ A ref to the creating algorithm. OPTIONAL. Both indicator and localized message that the price with this spec could not be reproduced and should be changed. +If price is missing, you do not need to supply anything except C. + =item C OPTIONAL. Both indicator and localized message that the conditions for this price are no longer valid, and that the price should be changed. +If price is missing, you do not need to supply anything except C. + =back =head1 SEE ALSO