use utf8;
use strict;
+use SL::Util qw(camelify);
+
require Exporter;
our @ISA = qw(Exporter);
our @EXPORT_OK = qw(get_table_for_package get_package_for_table get_package_names);
my @lxoffice_blacklist_temp = qw(
);
-my @lxoffice_blacklist = (@lxoffice_blacklist_permanent, @lxoffice_blacklist_temp);
+# tables created by crm module
+my @crm_blacklist = qw(
+);
+
+# tables created by cash register
+my @cash_register_blacklist = qw(
+ekartikel ekbon ekkunde ektext erptasten
+);
+
+my @lxoffice_blacklist = (@lxoffice_blacklist_permanent, @lxoffice_blacklist_temp, @crm_blacklist, @cash_register_blacklist);
# map table names to their models.
# unlike rails we have no singular<->plural magic.
bank_accounts => 'bank_account',
buchungsgruppen => 'buchungsgruppe',
contacts => 'contact',
+ csv_import_profiles => 'csv_import_profile',
+ csv_import_profile_settings => 'csv_import_profile_setting',
+ csv_import_reports => 'csv_import_report',
+ csv_import_report_rows => 'csv_import_report_row',
+ csv_import_report_status => 'csv_import_report_status',
custom_variable_configs => 'custom_variable_config',
custom_variables => 'custom_variable',
custom_variables_validity => 'custom_variable_validity',
- customertax => 'customer_tax',
datev => 'datev',
defaults => 'default',
delivery_orders => 'delivery_order',
follow_up_links => 'follow_up_link',
follow_ups => 'follow_up',
generic_translations => 'generic_translation',
- gifi => 'gifi',
gl => 'GLTransaction',
history_erp => 'history',
inventory => 'inventory',
invoice => 'invoice_item',
language => 'language',
- license => 'license',
- licenseinvoice => 'license_invoice',
makemodel => 'make_model',
notes => 'note',
orderitems => 'order_item',
oe => 'order',
parts => 'part',
partsgroup => 'parts_group',
- partstax => 'parts_tax',
payment_terms => 'payment_term',
periodic_invoices => 'periodic_invoice',
periodic_invoices_configs => 'periodic_invoices_config',
pricegroup => 'pricegroup',
printers => 'Printer',
record_links => 'record_link',
- rma => 'RMA',
- rmaitems => 'RMA_item',
sepa_export => 'sepa_export',
sepa_export_items => 'sepa_export_item',
schema_info => 'schema_info',
translation_payment_terms => 'translation_payment_term',
units => 'unit',
units_language => 'units_language',
- vendortax => 'vendor_tax',
+ vendor => 'vendor',
);
my (%lxoffice_tables_to_packages, %lxoffice_tables_to_manager_packages, %lxoffice_packages_to_tables);
die "Can't resolve '$string' as a database model, sorry. Did you perhaps forgot to load it?";
}
-sub camelify {
- my ($str) = @_;
- $str =~ s/_+(.)/uc($1)/ge;
- ucfirst $str;
-}
-
-sub snakify {
- my ($str) = @_;
- $str =~ s/(?<!^)\u(.)/'_' . lc($1)/ge;
- lcfirst $str;
-}
-
sub plurify {
my ($str) = @_;
$str . 's';