X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FAM.pm;h=2d8ed4cff168c52942304db708cd37b65c80a599;hb=94f5cb152afa9210162295b6727801c296af0631;hp=a9810172448733484e957424389d755576e59bfe;hpb=ede5fa54ae485af6edf715f4b3ec71d900f6d9bf;p=kivitendo-erp.git diff --git a/SL/AM.pm b/SL/AM.pm index a98101724..2d8ed4cff 100644 --- a/SL/AM.pm +++ b/SL/AM.pm @@ -52,7 +52,11 @@ use SL::DB::Part; use SL::DB::Vendor; use SL::DB; use SL::GenericTranslations; +use SL::Helper::UserPreferences::DisplayPreferences; use SL::Helper::UserPreferences::PositionsScrollbar; +use SL::Helper::UserPreferences::PartPickerSearch; +use SL::Helper::UserPreferences::TimeRecording; +use SL::Helper::UserPreferences::UpdatePositions; use strict; @@ -104,7 +108,7 @@ sub get_account { # get the taxkeys of the account $form->{ACCOUNT_TAXKEYS} = []; - foreach my $taxkey ( @{ $chart_obj->taxkeys } ) { + foreach my $taxkey ( sort { $b->startdate <=> $a->startdate } @{ $chart_obj->taxkeys } ) { push @{ $form->{ACCOUNT_TAXKEYS} }, { id => $taxkey->id, chart_id => $taxkey->chart_id, tax_id => $taxkey->tax_id, @@ -532,12 +536,32 @@ sub positions_scrollbar_height { SL::Helper::UserPreferences::PositionsScrollbar->new()->get_height(); } +sub purchase_search_makemodel { + SL::Helper::UserPreferences::PartPickerSearch->new()->get_purchase_search_makemodel(); +} + +sub sales_search_customer_partnumber { + SL::Helper::UserPreferences::PartPickerSearch->new()->get_sales_search_customer_partnumber(); +} + +sub positions_show_update_button { + SL::Helper::UserPreferences::UpdatePositions->new()->get_show_update_button(); +} + +sub time_recording_use_duration { + SL::Helper::UserPreferences::TimeRecording->new()->get_use_duration(); +} + +sub longdescription_dialog_size_percentage { + SL::Helper::UserPreferences::DisplayPreferences->new()->get_longdescription_dialog_size_percentage(); +} + sub save_preferences { $main::lxdebug->enter_sub(); my ($self, $form) = @_; - my $employee = SL::DB::Manager::Employee->find_by(login => $::myconfig{login}); + my $employee = SL::DB::Manager::Employee->current; $employee->update_attributes(name => $form->{name}); my $user = SL::DB::Manager::AuthUser->find_by(login => $::myconfig{login}); @@ -560,6 +584,21 @@ sub save_preferences { if (exists $form->{positions_scrollbar_height}) { SL::Helper::UserPreferences::PositionsScrollbar->new()->store_height($form->{positions_scrollbar_height}) } + if (exists $form->{purchase_search_makemodel}) { + SL::Helper::UserPreferences::PartPickerSearch->new()->store_purchase_search_makemodel($form->{purchase_search_makemodel}) + } + if (exists $form->{sales_search_customer_partnumber}) { + SL::Helper::UserPreferences::PartPickerSearch->new()->store_sales_search_customer_partnumber($form->{sales_search_customer_partnumber}) + } + if (exists $form->{positions_show_update_button}) { + SL::Helper::UserPreferences::UpdatePositions->new()->store_show_update_button($form->{positions_show_update_button}) + } + if (exists $form->{time_recording_use_duration}) { + SL::Helper::UserPreferences::TimeRecording->new()->store_use_duration($form->{time_recording_use_duration}) + } + if (exists $form->{longdescription_dialog_size_percentage}) { + SL::Helper::UserPreferences::DisplayPreferences->new()->store_longdescription_dialog_size_percentage($form->{longdescription_dialog_size_percentage}) + } $main::lxdebug->leave_sub(); @@ -1009,13 +1048,16 @@ sub taxes { t.taxkey, t.taxdescription, round(t.rate * 100, 2) AS rate, - (SELECT accno FROM chart WHERE id = chart_id) AS taxnumber, - (SELECT description FROM chart WHERE id = chart_id) AS account_description, - (SELECT accno FROM chart WHERE id = skonto_sales_chart_id) AS skonto_chart_accno, - (SELECT description FROM chart WHERE id = skonto_sales_chart_id) AS skonto_chart_description, - (SELECT accno FROM chart WHERE id = skonto_purchase_chart_id) AS skonto_chart_purchase_accno, - (SELECT description FROM chart WHERE id = skonto_purchase_chart_id) AS skonto_chart_purchase_description + tc.accno AS taxnumber, + tc.description AS account_description, + ssc.accno AS skonto_chart_accno, + ssc.description AS skonto_chart_description, + spc.accno AS skonto_chart_purchase_accno, + spc.description AS skonto_chart_purchase_description FROM tax t + LEFT JOIN chart tc ON (tc.id = t.chart_id) + LEFT JOIN chart ssc ON (ssc.id = t.skonto_sales_chart_id) + LEFT JOIN chart spc ON (spc.id = t.skonto_purchase_chart_id) ORDER BY taxkey, rate|; my $sth = $dbh->prepare($query); @@ -1156,14 +1198,13 @@ sub _save_tax { $chart_categories .= 'E' if $form->{expense}; $chart_categories .= 'C' if $form->{costs}; - my @values = ($form->{taxkey}, $form->{taxdescription}, $form->{rate}, conv_i($form->{chart_id}), conv_i($form->{chart_id}), conv_i($form->{skonto_sales_chart_id}), conv_i($form->{skonto_purchase_chart_id}), $chart_categories); + my @values = ($form->{taxkey}, $form->{taxdescription}, $form->{rate}, conv_i($form->{chart_id}), conv_i($form->{skonto_sales_chart_id}), conv_i($form->{skonto_purchase_chart_id}), $chart_categories); if ($form->{id} ne "") { $query = qq|UPDATE tax SET taxkey = ?, taxdescription = ?, rate = ?, chart_id = ?, - taxnumber = (SELECT accno FROM chart WHERE id = ? ), skonto_sales_chart_id = ?, skonto_purchase_chart_id = ?, chart_categories = ? @@ -1177,13 +1218,12 @@ sub _save_tax { taxdescription, rate, chart_id, - taxnumber, skonto_sales_chart_id, skonto_purchase_chart_id, chart_categories, id ) - VALUES (?, ?, ?, ?, (SELECT accno FROM chart WHERE id = ?), ?, ?, ?, ?)|; + VALUES (?, ?, ?, ?, ?, ?, ?, ?)|; } push(@values, $form->{id}); do_query($form, $dbh, $query, @values); @@ -1217,6 +1257,8 @@ sub save_warehouse { my ($self, $myconfig, $form) = @_; + croak('Need at least one new bin') unless $form->{number_of_new_bins} > 0; + SL::DB->client->with_transaction(sub { my $dbh = SL::DB->client->dbh;