• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Проблема с исчезновением компонентов ПК в случае, если они не были найдены
#6
В общем что я нарыл....
Да, действительно компоненты удаляются. У меня удалился бесследно ДВД, я еще не проверял все варианты тестов, которые были в голове, такие как изменить статус компонента или включить финансовую информацию. Скорее всего это не поможет.

Я немного порылся в коде PHP, в котором я почти совсем не разбираюсь и в файле fusioninventory/inc/inventorycomputerlib.class.php нашел описание всех действий при инвенте ПК.
Так вот, там есть такие строки

PHP Code:
if (count($db_bios) != 0) {
            // Delete BIOS in DB
            foreach ($db_bios as $idtmp => $data) {
               $item_DeviceBios->delete(['id'=>$idtmp], 1);
            }
         
Это функция обработки компонента БИОС, и аналогичные есть по каждому типу компонентов. Тут и ребенку понятно, что происходит "штатное" удаление компонента и повлиять на это через веб интерфейс мы не можем.  в теории надо функцию
PHP Code:
delete(['id'=>$idtmp], 1
поменять на функцию, которая убирает связь. Но тут мои познания закончились и я не нашел такую, и даже не нашел описание этой функции. Тут нужен PHPшник.


Quote:Ну либо мы будем использовать гибридный подход
Вот тут, опять чисто теоретически.... Если в этом файле закомментировать или удалить эти строки, то компоненты удаляться не будут, но и от компьютера открепляться не будут, надо будет делать это руками. Но при этом они будут автоматически добавляться и обновляться.



Quote:А так же если в комп вручную добавить компонент, то после автоматической инвентаризации он не исчезает, и вообще, видимо Fusion игнорирует его (либо нет прав удалять то, что вносится пользователем)
У компонентов и других активов есть показатель "автоматическая инвентаризация", именно его проверяет FI4GLPI и не трогает то, где указано "нет". Руками эта запись не меняется. Интересен другой тест: FI добавил компонент(жесткий) к ПК, мы его руками отвязали, потом вытащили из компьютера и вставили например в другой компьютер, или в тот же, но после инвенты. Интересно как FI отреагирует. Удалить из компьютера он его не может, т.к. его нет, будет ли он создавать новый жесткий или вернет старый, потому что серийник соответствует. Тогда при комментировании строк задача вернется только к возвращению компонентов на склад в интерфейсе.


Второй момент.

Это действительно косяк и очень большое упущение разработчиков. Если есть желание видеть корректный функционал в интерфейсе, то первый шаг уже сделан. На гитхабе уже есть тема с такой проблемой. Если поднять там обсуждение, то может разработчики обратят на это внимание.

https://github.com/fusioninventory/fusioninventory-for-glpi/issues/2861 

Как там написал человек, без этого функционала инвентаризация только на 50% инвентаризация.
[url=https://github.com/fusioninventory/fusioninventory-for-glpi/issues/2861][/url]
  Reply


Messages In This Thread
RE: Проблема с исчезновением компонентов ПК в случае, если они не были найдены - by maxwal41 - 2020-01-24, 20:58:38

Forum Jump:


Users browsing this thread: 1 Guest(s)