From 2e7841d3a1c8cee4e8aae3e9acf2521a7c3f01a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bernd=20Ble=C3=9Fmann?= Date: Mon, 16 Oct 2023 15:34:01 +0200 Subject: [PATCH 1/9] =?UTF-8?q?vergessene=20Locales-L=C3=A4ufe?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- locale/de/all | 1 - locale/en/all | 1 - 2 files changed, 2 deletions(-) diff --git a/locale/de/all b/locale/de/all index d5fa130bf1..32d8c97ae4 100644 --- a/locale/de/all +++ b/locale/de/all @@ -4996,7 +4996,6 @@ $ ./scripts/installation_check.pl', 'missing' => 'Fehlbestand', 'missing file for action import' => 'Es wurde keine Datei zum Hochladen ausgewählt', 'missing_br' => 'Fehl.', - 'mobile version' => 'Mobil-Version', 'month' => 'Monatliche Abgabe', 'monthly' => 'monatlich', 'more' => 'mehr', diff --git a/locale/en/all b/locale/en/all index 65a2973dc9..eb8c0e99c0 100644 --- a/locale/en/all +++ b/locale/en/all @@ -4994,7 +4994,6 @@ $self->{texts} = { 'missing' => '', 'missing file for action import' => '', 'missing_br' => 'missing', - 'mobile version' => '', 'month' => '', 'monthly' => '', 'more' => '', From a2550de64372a5196377de76f14e42c1baebf6aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bernd=20Ble=C3=9Fmann?= Date: Mon, 16 Oct 2023 12:50:20 +0200 Subject: [PATCH 2/9] S:C:TimeRecording: Typo --- SL/Controller/TimeRecording.pm | 4 ++-- t/006spellcheck.t | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/SL/Controller/TimeRecording.pm b/SL/Controller/TimeRecording.pm index fca71ff5d2..8f371ce1a4 100644 --- a/SL/Controller/TimeRecording.pm +++ b/SL/Controller/TimeRecording.pm @@ -322,7 +322,7 @@ sub prepare_report { order => { text => t8('Sales Order'), sub => sub { $_[0]->order && $_[0]->order->number } }, customer => { text => t8('Customer'), sub => sub { $_[0]->customer->displayable_name } }, part => { text => t8('Article'), sub => sub { $_[0]->part && $_[0]->part->displayable_name } }, - project => { text => t8('Project'), sub => sub { $_[0]->project && $_[0]->project->full_description(sytle => 'both') } }, + project => { text => t8('Project'), sub => sub { $_[0]->project && $_[0]->project->displayable_namefull_description(style => 'both') } }, description => { text => t8('Description'), sub => sub { $_[0]->description_as_stripped_html }, raw_data => sub { $_[0]->description_as_restricted_html }, # raw_data only used for html(?) obj_link => sub { $self->url_for(action => 'edit', 'id' => $_[0]->id, callback => $self->models->get_callback) } }, @@ -373,7 +373,7 @@ sub make_filter_summary { my @filter_strings; my $staff_member = $filter->{staff_member_id} ? SL::DB::Employee->new(id => $filter->{staff_member_id})->load->safe_name : ''; - my $project = $filter->{project_id} ? SL::DB::Project->new (id => $filter->{project_id}) ->load->full_description(sytle => 'both') : ''; + my $project = $filter->{project_id} ? SL::DB::Project->new (id => $filter->{project_id}) ->load->full_description(style => 'both') : ''; my @filters = ( [ $filter->{"date:date::ge"}, t8('From Date') ], diff --git a/t/006spellcheck.t b/t/006spellcheck.t index e8c4943391..b7914924d6 100644 --- a/t/006spellcheck.t +++ b/t/006spellcheck.t @@ -58,6 +58,7 @@ sekf seperat substract sucess +sytle unkown varsion wether From 917707f2a415abb1ec07f3e3f158257b6cdae203 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bernd=20Ble=C3=9Fmann?= Date: Mon, 16 Oct 2023 12:59:51 +0200 Subject: [PATCH 3/9] =?UTF-8?q?Auftrags-Controller:=20HTML-Template:=20War?= =?UTF-8?q?nung=20vermeiden=20'Argument=20""=20isn't=20numeric=E2=80=A6'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- templates/design40_webpages/order/tabs/basic_data.html | 2 +- templates/webpages/order/tabs/basic_data.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/templates/design40_webpages/order/tabs/basic_data.html b/templates/design40_webpages/order/tabs/basic_data.html index 2e5535c758..217b72c41e 100644 --- a/templates/design40_webpages/order/tabs/basic_data.html +++ b/templates/design40_webpages/order/tabs/basic_data.html @@ -397,7 +397,7 @@ [% END %] [%- IF (SELF.type == "sales_order_intake" || SELF.type == "sales_order" || SELF.type == "sales_quotation") -%] - [%- SET marge_class = (SELF.order.marge_total < 0) ? 'plus0' : '' -%] + [%- SET marge_class = ((SELF.order.marge_total || 0) < 0) ? 'plus0' : '' -%] [% 'Ertrag' | $T8 %] [%- L.div_tag(SELF.order.marge_total_as_number, id='marge_total_id', class=marge_class) %] [% 'Ertrag prozentual' | $T8 %] diff --git a/templates/webpages/order/tabs/basic_data.html b/templates/webpages/order/tabs/basic_data.html index fe8f5680af..22161b5aad 100644 --- a/templates/webpages/order/tabs/basic_data.html +++ b/templates/webpages/order/tabs/basic_data.html @@ -392,7 +392,7 @@ [%- IF (SELF.type == "sales_order_intake" || SELF.type == "sales_order" || SELF.type == "sales_quotation") -%] - [%- SET marge_class = (SELF.order.marge_total < 0) ? 'plus0' : '' -%] + [%- SET marge_class = ((SELF.order.marge_total || 0) < 0) ? 'plus0' : '' -%] From 263d16dda6d36fdcf926451df93db9224284c734 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bernd=20Ble=C3=9Fmann?= Date: Mon, 16 Oct 2023 13:03:14 +0200 Subject: [PATCH 4/9] =?UTF-8?q?Design40:=20Mandantenkonfig:=20Klasse=20f?= =?UTF-8?q?=C3=BCr=20lange=20Beschreibung=20richtig=20zuordnen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../design40_webpages/client_config/_features.html | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/templates/design40_webpages/client_config/_features.html b/templates/design40_webpages/client_config/_features.html index ded9c8ae05..6e6002d65f 100644 --- a/templates/design40_webpages/client_config/_features.html +++ b/templates/design40_webpages/client_config/_features.html @@ -41,18 +41,18 @@ - + + - + + - + + From e760317e253de9f0cda305fb7255faf4dc12b47b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bernd=20Ble=C3=9Fmann?= Date: Fri, 22 Sep 2023 16:05:30 +0200 Subject: [PATCH 5/9] SL:WH: nicht initialisierter Wert: Warnungen vermeiden --- SL/WH.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SL/WH.pm b/SL/WH.pm index 08b00ecf7c..8537e0f0d0 100644 --- a/SL/WH.pm +++ b/SL/WH.pm @@ -659,7 +659,7 @@ sub get_warehouse_report { qw(l_parts_id l_qty l_partunit) ); # add cvar for sorting - if ($form->{sort} =~ /^cvar_/) { + if (($form->{sort} // '') =~ /^cvar_/) { my $sort_name = $form->{sort}; my $cvar_name = $sort_name; $cvar_name =~ s/^cvar_//; From 23a09decfad0564fc430b48ca6c7c80f19ce907e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bernd=20Ble=C3=9Fmann?= Date: Mon, 16 Oct 2023 15:09:34 +0200 Subject: [PATCH 6/9] S:C:SalesPurchase: keine Methode auf undefiniertem Wert aufrufen MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Der Fehler tauchte an der Oberfläche dann zwar nicht auf, weil es ein ajax-Aufruf ist. --- SL/Controller/SalesPurchase.pm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SL/Controller/SalesPurchase.pm b/SL/Controller/SalesPurchase.pm index ab31b8c65e..59ab1951e9 100644 --- a/SL/Controller/SalesPurchase.pm +++ b/SL/Controller/SalesPurchase.pm @@ -19,10 +19,10 @@ sub action_check_duplicate_invnumber { ); # we are modifying a existing daily booking - allow this if # booking conditions are not super strict - undef $exists_ap if ($::instance_conf->get_ap_changeable != 0 + undef $exists_ap if ($exists_ap + && $::instance_conf->get_ap_changeable != 0 && $exists_ap->gldate == DateTime->today_local); - $_[0]->render(\ !!$exists_ap, { type => 'text' }); } From 8aaacfe4d6a5953e25fbf63171d3fe35ca4964b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bernd=20Ble=C3=9Fmann?= Date: Mon, 16 Oct 2023 15:13:34 +0200 Subject: [PATCH 7/9] S:C:DispositionManager: Kosmetik: keine Leerzeichen am Ende --- SL/Controller/DispositionManager.pm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SL/Controller/DispositionManager.pm b/SL/Controller/DispositionManager.pm index 614744196d..db58871353 100644 --- a/SL/Controller/DispositionManager.pm +++ b/SL/Controller/DispositionManager.pm @@ -253,9 +253,9 @@ sub _get_parts { LEFT JOIN warehouse w ON inv.warehouse_id = w.id WHERE NOT w.invalid GROUP BY inv.parts_id - + UNION ALL - + SELECT p.id, 0 as sum FROM parts p WHERE p.id NOT IN ( SELECT distinct parts_id from inventory) From 89e49721380fbd4bf063105eae41ecffcb39412e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bernd=20Ble=C3=9Fmann?= Date: Mon, 16 Oct 2023 15:25:24 +0200 Subject: [PATCH 8/9] =?UTF-8?q?S:C:DispositionManager:=20Warnung=20f=C3=BC?= =?UTF-8?q?r=20nicht-initialisierte=20Variable=20vermeiden.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Getriggert durch Test-Lauf. Tritt so wohl im Programmablauf nicht auf. --- SL/Controller/DispositionManager.pm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SL/Controller/DispositionManager.pm b/SL/Controller/DispositionManager.pm index db58871353..0e70c5069c 100644 --- a/SL/Controller/DispositionManager.pm +++ b/SL/Controller/DispositionManager.pm @@ -214,8 +214,8 @@ sub action_transfer_to_purchase_order { controller => 'Order', action => 'add_from_purchase_basket', type => 'purchase_order', - basket_item_ids => $basket_item_ids, - vendor_item_ids => $vendor_item_ids, + basket_item_ids => $basket_item_ids || [], + vendor_item_ids => $vendor_item_ids || [], vendor_id => $vendor_id, ); } From c9d1e189e734c39ea171f35d318938ced2d8d490 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bernd=20Ble=C3=9Fmann?= Date: Fri, 22 Sep 2023 15:05:42 +0200 Subject: [PATCH 9/9] S:C:BankTransaction: nicht initialisierter Wert: Warnungen vermeiden --- SL/Controller/BankTransaction.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SL/Controller/BankTransaction.pm b/SL/Controller/BankTransaction.pm index fac98e206f..f4a58d19fc 100644 --- a/SL/Controller/BankTransaction.pm +++ b/SL/Controller/BankTransaction.pm @@ -669,7 +669,7 @@ sub save_single_bank_transaction { my ($payment_type, $free_skonto_amount); if ( defined $::form->{invoice_skontos}->{"$bt_id"} ) { - $payment_type = shift(@{ $::form->{invoice_skontos}->{"$bt_id"} }); + $payment_type = shift(@{ $::form->{invoice_skontos}->{"$bt_id"} }) || ''; } else { $payment_type = 'without_skonto'; }
[% LxERP.t8('Destination URL for sync') %] - [% L.input_tag('defaults.webdav_sync_extern_url', SELF.defaults.webdav_sync_extern_url, style=style) %][% LxERP.t8('Complete URL for WebDAV sync external, including port and folders, i.e.: https://foo.com:4433/owncloud/kivitendo') %][% L.input_tag('defaults.webdav_sync_extern_url', SELF.defaults.webdav_sync_extern_url, style=style) %][% LxERP.t8('Complete URL for WebDAV sync external, including port and folders, i.e.: https://foo.com:4433/owncloud/kivitendo') %]
[% LxERP.t8('Login for sync') %] - [% L.input_tag('defaults.webdav_sync_extern_login', SELF.defaults.webdav_sync_extern_login, style=style) %][% LxERP.t8('Login for WebDAV sync external') %][% L.input_tag('defaults.webdav_sync_extern_login', SELF.defaults.webdav_sync_extern_login, style=style) %][% LxERP.t8('Login for WebDAV sync external') %]
[% LxERP.t8('Password for sync') %] - [% L.input_tag('defaults.webdav_sync_extern_pass', SELF.defaults.webdav_sync_extern_pass, style=style) %][% LxERP.t8('Password for WebDAV sync external') %][% L.input_tag('defaults.webdav_sync_extern_pass', SELF.defaults.webdav_sync_extern_pass, style=style) %][% LxERP.t8('Password for WebDAV sync external') %]
[% LxERP.t8('Filemanagement') %]