Bug 41742

Summary: Use of uninitialized value in repeat (x)... warning in acqui-home.pl
Product: Koha Reporter: Roman Dolny <roman.dolny>
Component: AcquisitionsAssignee: Bugs List <koha-bugs>
Status: NEW --- QA Contact: Testopia <testopia>
Severity: enhancement    
Priority: P5 - low    
Version: Main   
Hardware: All   
OS: All   
GIT URL: Initiative type: ---
Sponsorship status: --- Comma delimited list of Sponsors:
Crowdfunding goal: 0 Patch complexity: ---
Documentation contact: Documentation submission:
Text to go in the release notes:
Version(s) released in:
Circulation function:

Description Roman Dolny 2026-01-30 20:18:24 UTC
The warning:
[WARN] Use of uninitialized value in repeat (x) at /kohadevbox/koha/acqui/acqui-home.pl line 137
appears in the plack-intranet-error.log when entering into Acquisitions module.

To reproduce in ktd:
1. Observe plack-intranet-error.log.
2. In staff interface go to Acquisitions module.
3. Warning appears in plack-intranet-error.log.

It seems that the "depth" key in:
  sprintf( "%s", ">" x $$budget{depth} . $$budget{budget_name} );
has not been set previously.

Several uses of "depth" are in the "CheckBudgetParentPerm" sub, which is probably not called anywhere.

This part of the code is responsible for displaying indents in the list of budgets and funds in the "Fund" drop-down of the Acquisitions module.
So maybe it should be the "budget_level" key or "CheckBudgetParentPerm" should be called?
Comment 1 Roman Dolny 2026-01-30 20:29:30 UTC
Similar situation in:

acqui/acqui-home.pl:        $$budget{budget_display_name} = sprintf( "%s", ">" x $$budget{depth} . $$budget{budget_name} );

acqui/duplicate_orders.pl:            sprintf( "%s", ">" x $$budget{depth} . $$budget{budget_name} );

acqui/histsearch.pl:        $$budget{budget_display_name} = sprintf( "%s", ">" x $$budget{depth} . $$budget{budget_name} );