Report: link to custom assets (GLPI 11+/12 asset definitions) leads to "item not found"
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 78/100
Hướng nghiên cứu
Liên kết sai được tạo trong src/Report.php quanh dòng 203, nơi Toolbox::getItemTypeFormURL() được dùng cho cột "Connected to". Issue cho biết $item đã được khởi tạo cho từng hàng, vì vậy hãy kiểm tra vòng lặp hàng có $item trong phạm vi hay không và các tài sản tùy chỉnh có ghi đè getFormURL() hay không. Tái hiện bằng một tài sản tùy chỉnh có khả năng "Network ports" trên một dải IP. Hoàn thành khi liên kết mở biểu mẫu của tài sản đối với tài sản tùy chỉnh, và các liên kết lõi như máy tính vẫn trỏ đến các URL biểu mẫu hiện có.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Version: addressing 3.3.0, GLPI 12.0.0
Steps to reproduce
- Create a custom asset definition with the "Network ports" capacity.
- Give an asset of this type a network port with an IP inside a range (e.g. via the reservation form).
- Open the range report and click the asset name in the "Connected to" column.
Expected: the asset form opens.
Actual: "The requested item has not been found".
Cause
src/Report.php (line 203) builds the link with
Toolbox::getItemTypeFormURL($line['itemtype']) . '?id=' . …, which derives a file name from the class:
| URL | |
|---|---|
| generated | /front/customasset/ip_reservierungasset.form.php?id=12 |
| correct | /front/asset/asset.form.php?class=IP_Reservierung&id=12 |
Custom assets override getFormURL(); Toolbox::getItemTypeFormURL() does not know about that.
Fix
$item is already instantiated for the row a few lines above, so:
$row['device'] = self::newCell(
$label,
$item::getFormURLWithID((int) $line['on_device']),
);
The result is the same as before for core types (e.g. /front/computer.form.php?id=12).
- Ngôn ngữ chính
- PHP
- Star
- 43
- Fork
- 24
- Merge trung bình
- 1 giờ 4 phút
- Pull request đã merge (30 ngày)
- 5
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của pluginsGLPI/addressing
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
pluginsGLPI/addressing#126 ·
-
Enhancement: Wake on LANĐang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
pluginsGLPI/addressing#125 ·
-
ImprovementsĐang mở
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
pluginsGLPI/addressing#105 ·
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 42/100
pluginsGLPI/addressing#82 · 1 bình luận ·
-
Plugin takes too longĐang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 25/100
pluginsGLPI/addressing#77 ·
Tất cả issue của pluginsGLPI/addressing
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
Automattic/blocks-engine#2866 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
community-scripts/ProxmoxVE#17944 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
EasyCorp/EasyAdminBundle#7861 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Good first issue: add laravel-inertia stack budget preset (Laravel 11 + Inertia.js + PHP 8.3)Đang mởenhancement good first issue help wanted
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
-
backend gamification P0
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
semanadeinformatica/website#461 ·