diff --git a/README.md b/README.md index a1e6d10c5c31c9264940267c6b8e30fc6c1fd297..e3cdcc9171ac3ced985d1c1a08e0a3a6ec165c10 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -[PACKAGE]: ../../raw/master/mkp/inv_cisco_support-0.2.1-20231024.mkp "inv_cisco_support-0.2.1-20231024.mkp" +[PACKAGE]: ../../raw/master/mkp/inv_cisco_support-0.3.0-20231025.mkp "inv_cisco_support-0.3.0-20231025.mkp" # Cisco support APIs inventory plugin Adds live cycle information for Cisco devices to the inventory. diff --git a/agent_based/inv_cisco_psirt.py b/agent_based/inv_cisco_psirt.py index f72a1080d8804769cfde46bf1e427ecb60250f01..6780b25d694d59c6c938e103920edcab18e1a7c9 100644 --- a/agent_based/inv_cisco_psirt.py +++ b/agent_based/inv_cisco_psirt.py @@ -49,7 +49,6 @@ from cmk.base.plugins.agent_based.utils.inv_cisco_support import ( get_base_path, ) - @dataclass class SnmpPsirt: version: str diff --git a/gui/views/inv_cisco_livecycle.py b/gui/views/inv_cisco_livecycle.py index b03854ea4afd52cb47620155c106f479b46f8b7e..ac9df15aad69c8746d9b9fa524add789a01a2cde 100644 --- a/gui/views/inv_cisco_livecycle.py +++ b/gui/views/inv_cisco_livecycle.py @@ -16,6 +16,7 @@ # rework painter section # 2023-10-08: modified imports for cmk 2.2.x # removed declare_view +# 2023-10-25: fixed loading of painters for CMK 2.2.0 import time from cmk.gui.i18n import _ @@ -24,21 +25,16 @@ from cmk.gui.views.inventory.registry import inventory_displayhints from cmk.gui.views.inventory import ( decorate_inv_paint, PaintResult, + update_paint_functions, ) from cmk.gui.plugins.visuals.inventory import ( FilterInvtableText, ) from cmk.gui.utils.html import HTML + # -# to get the status colors and the clickable IDs for EOL, PSIRT and Bug you need to copy the file -# ~/lib/check_mk/gui/plugins/views/inventory.py to ~/local/lib/check_mk/gui/plugins/views. -# Then change the value of ENABLE_PAINTERS to True and restart the apache service (omd restart apache) -# -# in cmk 2.2.0 this work around don't work anymore. @decorate_inv_paint() was moved -# to ~/lib/check_mk/gui/views/inventory/__init__.py -# -ENABLE_PAINTERS = False +ENABLE_PAINTERS = True # ################################################################################# # @@ -48,7 +44,6 @@ ENABLE_PAINTERS = False @decorate_inv_paint() def inv_paint_date_status(date_string) -> PaintResult: - warn_days = -90 crit_days = -30 @@ -71,6 +66,9 @@ def inv_paint_date_status(date_string) -> PaintResult: return css_class, '%s' % date_string +update_paint_functions({'inv_paint_date_status': inv_paint_date_status}) + + @decorate_inv_paint() def inv_paint_last_checked_status(date_string) -> PaintResult: warn_days = 32 @@ -90,6 +88,9 @@ def inv_paint_last_checked_status(date_string) -> PaintResult: return css_class, ' %s' % date_string +update_paint_functions({'inv_paint_last_checked_status': inv_paint_last_checked_status}) + + @decorate_inv_paint() def inv_paint_psirt_advisoryid(advisoryId) -> PaintResult: psirt_url = HTML( @@ -98,6 +99,9 @@ def inv_paint_psirt_advisoryid(advisoryId) -> PaintResult: return '', psirt_url +update_paint_functions({'inv_paint_psirt_advisoryid': inv_paint_psirt_advisoryid}) + + @decorate_inv_paint() def inv_paint_eox_eolid(eolid) -> PaintResult: if eolid is not None: @@ -109,6 +113,9 @@ def inv_paint_eox_eolid(eolid) -> PaintResult: return '', search_eolid_url +update_paint_functions({'inv_paint_eox_eolid': inv_paint_eox_eolid}) + + @decorate_inv_paint() def inv_paint_bug_bugid(bugid) -> PaintResult: if bugid is not None: @@ -120,6 +127,9 @@ def inv_paint_bug_bugid(bugid) -> PaintResult: return '', search_bugid_url +update_paint_functions({'inv_paint_bug_bugid': inv_paint_bug_bugid}) + + @decorate_inv_paint() def inv_paint_psirt_bugid(bugids) -> PaintResult: search_bugid_url = '' @@ -133,15 +143,20 @@ def inv_paint_psirt_bugid(bugids) -> PaintResult: search_bugid_url = HTML(', '.join(search_bugid_url)) return '', search_bugid_url + +update_paint_functions({'inv_paint_psirt_bugid': inv_paint_psirt_bugid}) + # # Painter functions END # # ################################################################################# - +inventory_displayhints.update({ + '.hardware.support:': {'title': _('Support')}, + '.software.support:': {'title': _('Support')}, +}) # EoX display hints inventory_displayhints.update({ - '.hardware.support:': {'title': _('Support')}, '.hardware.support.cisco_eox:': { 'title': _('Cisco EoX'), 'keyorder': @@ -192,7 +207,7 @@ inventory_displayhints.update({ # BUG display hints inventory_displayhints.update({ - '.software.support:': {'title': _('Support')}, + '.software.support.cisco_bug:': {'title': _('Cisco Bug'), }, '.software.support.cisco_bug.Total_records': {'title': _('Records total'), }, '.software.support.cisco_bug.duplicate_records': {'title': _('Records duplicate'), }, '.software.support.cisco_bug.missing_records': {'title': _('Records missing'), }, @@ -221,6 +236,7 @@ inventory_displayhints.update({ # PSIRT display hints inventory_displayhints.update({ + '.software.support.cisco_psirt:': {'title': _('Cisco PSIRT'), }, '.software.support.cisco_psirt.dont_show_older_than': {'title': _('Don\'t show advisories not updated since'), }, '.software.support.cisco_psirt.dont_show_not_updated_since': { 'title': _('Don\'t show advisories not updated for X days'), }, diff --git a/mkp/inv_cisco_support-0.3.0-20231025.mkp b/mkp/inv_cisco_support-0.3.0-20231025.mkp new file mode 100644 index 0000000000000000000000000000000000000000..22cb890e971584eee0a9ea826b365c325bfb73d8 Binary files /dev/null and b/mkp/inv_cisco_support-0.3.0-20231025.mkp differ diff --git a/packages/inv_cisco_support b/packages/inv_cisco_support index 8478c2dca3d466ed4630a88a693347ab67ee2525..34bca191bb192083a35e3973dd104ffa74b3e45b 100644 --- a/packages/inv_cisco_support +++ b/packages/inv_cisco_support @@ -38,7 +38,7 @@ 'name': 'inv_cisco_support', 'title': 'Inventory for Cisco Bug, EoX, contract status, PSIRT advisories and ' 'suggested software', - 'version': '0.2.1-20231024', + 'version': '0.3.0-20231025', 'version.min_required': '2.2.0b1', 'version.packaged': '2.2.0p11', 'version.usable_until': '2.3.0b1'}