a15d6b690407a5769864d3bac1ae40cd144f3154
[kivitendo-erp.git] / SL / PriceSource / ALL.pm
1 package SL::PriceSource::ALL;
2
3 use strict;
4 use SL::PriceSource::Pricegroup;
5 use SL::PriceSource::MasterData;
6 use SL::PriceSource::Makemodel;
7
8 my %price_sources_by_name = (
9   master_data => 'SL::PriceSource::MasterData',
10   pricegroup  => 'SL::PriceSource::Pricegroup',
11   makemodel   => 'SL::PriceSource::Makemodel',
12 );
13
14 my @price_sources_order = qw(
15   master_data
16   pricegroup
17   makemodel
18 );
19
20 sub all_enabled_price_sources {
21   my %disabled = map { $_ => 1 } @{ $::instance_conf->get_disabled_price_sources || [] };
22
23   map { $price_sources_by_name{$_} } grep { !$disabled{$_} } @price_sources_order;
24 }
25
26 sub all_price_sources {
27   map { $price_sources_by_name{$_} } @price_sources_order;
28 }
29
30 sub price_source_class_by_name {
31   $price_sources_by_name{$_[1]};
32 }
33
34 1;