X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/b391b42da949cd0c2a9c8c1860042e19eb0e62c2..79c0cb3ee3c502c560d4b541eeb5e662fe50bbbd:/SL/AM.pm diff --git a/SL/AM.pm b/SL/AM.pm index 606d3f66f..a98101724 100644 --- a/SL/AM.pm +++ b/SL/AM.pm @@ -47,8 +47,12 @@ use SL::DB::AuthUser; use SL::DB::Default; use SL::DB::Employee; use SL::DB::Chart; +use SL::DB::Customer; +use SL::DB::Part; +use SL::DB::Vendor; use SL::DB; use SL::GenericTranslations; +use SL::Helper::UserPreferences::PositionsScrollbar; use strict; @@ -114,7 +118,7 @@ sub get_account { } # get new accounts (Folgekonto). Find all charts with the same link - $form->{NEWACCOUNT} = $chart_obj->db->dbh->selectall_arrayref('select id, accno,description from chart where link = ? order by accno', {Slice => {}}, $chart_obj->link); + $form->{NEWACCOUNT} = $chart_obj->db->dbh->selectall_arrayref('select id, accno,description from chart where link = ? and id != ? order by accno', {Slice => {}}, $chart_obj->link, $form->{id}); } else { # set to orphaned for new charts, so chart_type can be changed (needed by $AccountIsPosted) $form->{orphaned} = 1; @@ -507,6 +511,27 @@ sub save_template { return $error; } +sub displayable_name_specs_by_module { + +{ + 'SL::DB::Customer' => { + specs => SL::DB::Customer->displayable_name_specs, + prefs => SL::DB::Customer->displayable_name_prefs, + }, + 'SL::DB::Vendor' => { + specs => SL::DB::Vendor->displayable_name_specs, + prefs => SL::DB::Vendor->displayable_name_prefs, + }, + 'SL::DB::Part' => { + specs => SL::DB::Part->displayable_name_specs, + prefs => SL::DB::Part->displayable_name_prefs, + }, + }; +} + +sub positions_scrollbar_height { + SL::Helper::UserPreferences::PositionsScrollbar->new()->get_height(); +} + sub save_preferences { $main::lxdebug->enter_sub(); @@ -522,6 +547,20 @@ sub save_preferences { map { ($_ => $form->{$_}) } SL::DB::AuthUser::CONFIG_VARS(), }); + # Displayable name preferences + my $displayable_name_specs_by_module = displayable_name_specs_by_module(); + foreach my $specs (@{ $form->{displayable_name_specs} }) { + if (!$specs->{value} || $specs->{value} eq $displayable_name_specs_by_module->{$specs->{module}}->{prefs}->get_default()) { + $displayable_name_specs_by_module->{$specs->{module}}->{prefs}->delete($specs->{value}); + } else { + $displayable_name_specs_by_module->{$specs->{module}}->{prefs}->store_value($specs->{value}); + } + } + + if (exists $form->{positions_scrollbar_height}) { + SL::Helper::UserPreferences::PositionsScrollbar->new()->store_height($form->{positions_scrollbar_height}) + } + $main::lxdebug->leave_sub(); return 1; @@ -1305,12 +1344,14 @@ sub get_warehouse { map { $form->{$_} = $ref->{$_} } keys %{ $ref }; $query = <{BINS} = selectall_hashref_query($form, $dbh, $query, conv_i($form->{id})); @@ -1318,4 +1359,22 @@ SQL $main::lxdebug->leave_sub(); } +sub get_eur_categories { + my ($self, $myconfig, $form) = @_; + + my $dbh = SL::DB->client->dbh; + my %eur_categories = selectall_as_map($form, $dbh, "select * from eur_categories order by id", 'id', 'description'); + + return \%eur_categories; +} + +sub get_bwa_categories { + my ($self, $myconfig, $form) = @_; + + my $dbh = SL::DB->client->dbh; + my %bwa_categories = selectall_as_map($form, $dbh, "select * from bwa_categories order by id", 'id', 'description'); + + return \%bwa_categories; +} + 1;