Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 34cc5469

Von Sven Schöling vor mehr als 7 Jahren hinzugefügt

  • ID 34cc5469bf4a6d4476b5ae04d6c232e8da31ca6c
  • Vorgänger 3f543918
  • Nachfolger 8864a76c

PriceSource doku

Unterschiede anzeigen:

SL/PriceSource.pm
Implementations can choose to make prices editable, but even then deviations
from the calculatied price will be marked.
A that is not set from a source will not have any of this.
A price that is not set from a source will not have any of this.
=item 3.
......
=head1 STRUCTURE
Price sources are managed by this package (L<SL::PriceSource>), and all
external access should be by using it's interface.
external access should be by using its interface.
Each source is an instance of L<SL::PriceSource::Base> and the available
implementations are recorded in L<SL::PriceSource::ALL>. Prices and discounts
returned by interface methods are instances of L<SL::PriceSource::Price> and
L<SL::PriceSource::Discout>.
L<SL::PriceSource::Discount>.
Returned prices and discounts should be checked for entries in C<invalid> and
C<missing>, see documentation in their classes.
......
=item C<best_price>
Attempts to get the best available price. returns L<empty_price> if no price is found.
Attempts to get the best available price. returns L<empty_price> if no price is
found.
=item C<best_discount>
Attempts to get the best available discount. returns L<empty_discount> if no discount is found.
Attempts to get the best available discount. returns L<empty_discount> if no
discount is found.
=item C<empty_price>
A special empty price, that does not change the previously entered price, and
A special empty price that does not change the previously entered price and
opens the price field to manual changes.
=item C<empty_discount>
A special empty discount, that does not change the previously entered discount, and
opens the discount field to manual changes.
A special empty discount that does not change the previously entered discount
and opens the discount field to manual changes.
=back
......
sense anymore. The guarantees should be updated to reflect this and
transposition guidelines should be documented.
The previously mentioned linked prices can emulated by allowing price sources
to set a new price when changing to a new record in the workflow. The decision
about whether a price is eligable to be set can be suggested by the price
source implementation but is ultimately up to the surrounding framework, which
can make this configurable.
=item *
Prices were originally planned as a context element rather than a modal popup.
It would be great to have this now with better framework.
=item *
Large records (30 positions or more) in combination with complicated price
sources run into n+1 problems. There should be an extra hook that allows price
source implementations to make bulk calculations before the actual position loop.
=back
=head1 AUTHOR

Auch abrufbar als: Unified diff