PriceSource: Rabattbehandlung
[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 use SL::PriceSource::Customer;
8 use SL::PriceSource::Vendor;
9 use SL::PriceSource::Business;
10
11 my %price_sources_by_name = (
12   master_data => 'SL::PriceSource::MasterData',
13   customer    => 'SL::PriceSource::Customer',
14   vendor      => 'SL::PriceSource::Vendor',
15   pricegroup  => 'SL::PriceSource::Pricegroup',
16   makemodel   => 'SL::PriceSource::Makemodel',
17   business    => 'SL::PriceSource::Business',
18 );
19
20 my @price_sources_order = qw(
21   master_data
22   customer
23   vendor
24   pricegroup
25   makemodel
26   business
27 );
28
29 sub all_enabled_price_sources {
30   my %disabled = map { $_ => 1 } @{ $::instance_conf->get_disabled_price_sources || [] };
31
32   map { $price_sources_by_name{$_} } grep { !$disabled{$_} } @price_sources_order;
33 }
34
35 sub all_price_sources {
36   map { $price_sources_by_name{$_} } @price_sources_order;
37 }
38
39 sub price_source_class_by_name {
40   $price_sources_by_name{$_[1]};
41 }
42
43 1;