Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
58 commits
Select commit Hold shift + click to select a range
47a1fe0
rename again: it_infrastructure -> itm (much shorter, easier to use)
mtelahun Aug 13, 2021
a9e2e13
itm: Fix identifiers, etc in module rename
mtelahun Aug 13, 2021
4a83a56
[FIX] it: more fallout from module rename
mtelahun Aug 13, 2021
dd00486
[FIX] itm: move images used in index.html to description/ (App Store)
mtelahun Aug 13, 2021
2880f53
itm: Add known issue section about password encryption
mtelahun Aug 16, 2021
2cce684
itm: move functionality of web_clipboard_password into this module
mtelahun Aug 20, 2021
00aeae2
[FIX] itm: random password doesn't work as expected
mtelahun Aug 20, 2021
eaee09a
itm: enhancement to enable show-password functionality
mtelahun Aug 21, 2021
231616b
[ADD] itm: add two 'To Do' items to roadmap
mtelahun Aug 28, 2021
8a278f8
itm: the fernet library ensures uniqueness of ciphertext
mtelahun Aug 28, 2021
4a8601a
[FIX] itm: only password fields should be replaced with '***'
mtelahun Sep 4, 2021
b7fce98
[IMP] itm: Add ability to register components; associate them with as…
mtelahun Oct 30, 2021
b89c03c
[FIX][14.0] itm: fix default value of user_id field
mtelahun Nov 11, 2021
66a964e
Changed app icon
altela Apr 7, 2022
4047409
Moved itm.equipment (IT asset image) from the left alignment to the r…
altela Apr 7, 2022
fdbacff
Added help (or hover) message
altela Apr 7, 2022
63d9833
Added Altela Eleviansyah Pramardhika to README authors
altela Apr 7, 2022
e7532d2
Added help (or hover) message
altela Apr 7, 2022
1c2dfbd
Added hover help message for Network Configuration and Worklog tab
altela Apr 9, 2022
cb4223b
Added hover message of application tab
altela Apr 9, 2022
9d55409
Added help message for service information tab
altela Apr 9, 2022
f9d9f5d
Added help message on partition
altela Apr 9, 2022
77fcca6
Added help message on store configuration files
altela Apr 9, 2022
6f0dced
Added help message on Router Configuration
altela Apr 9, 2022
a595415
Added help message in file server tab
altela Apr 9, 2022
8db3698
Added help message in database
altela Apr 9, 2022
87f73de
Added brand seelction (many2one) to the IT Asset (itm.equipment)
altela Apr 9, 2022
6517dfd
Rearrange brand to be above the Information field & added help message
altela Apr 9, 2022
48a5542
Bump module version in README.md & fix words in History.rst
altela Apr 9, 2022
6fb330a
[IMP] itm: add wireless device info
mtelahun Jun 25, 2022
8cb6d30
[IMP] itm: add equipment owner
mtelahun Jun 25, 2022
e7afeb3
itm: black, isort, pylint
mtelahun Jun 26, 2022
9c97c97
itm: various enhancements based on real-world usage
mtelahun Jul 5, 2022
434ab98
itm: reset new itm.equipment.type data to noupdate=0
mtelahun Jul 5, 2022
4829236
itm: work-around for 'External ID not found error when upgrading module'
mtelahun Jul 5, 2022
1c96eea
itm: improve itm.equipment tree view; add indexes
mtelahun Jul 7, 2022
43ec240
itm: improve itm.equipment.type data; add views; add active field
mtelahun Jul 7, 2022
141341c
itm: add state field to itm.equipment (IT Asset)
mtelahun Jul 7, 2022
ed39e86
itm: add decorations based on state in list view for equipment
mtelahun Sep 3, 2022
a6ae5eb
itm: use two separate fields to hold static and dhcp ip addresses and…
mtelahun Sep 3, 2022
e653991
itm: re-arrange equipment list-view to be more useful
mtelahun Sep 3, 2022
390a658
itm: assign IPs to networks
mtelahun Sep 3, 2022
8274ced
itm: bump version major
mtelahun Sep 3, 2022
cb5a284
itm: auto-migrate network_id, improve ip address view in itm.site.net…
mtelahun Sep 4, 2022
8a7b5f0
itm: update code to add new required filed 'network_id'
mtelahun Sep 4, 2022
813a44f
itm: implement group by state of assets
mtelahun Sep 4, 2022
48e7e3c
[IMP] itm: black, isort, prettier
mtelahun Oct 15, 2022
66563c8
[MIG] itm: Migration to 15.0
mtelahun Oct 16, 2022
e713bb2
[MIG] itm: Migration to 16.0
mtelahun Oct 17, 2022
ffb29b8
[MIG] itm: Migrate javascript to 16.0 (OWL)
mtelahun Oct 23, 2022
78ce4bc
[UPD] Update itm.pot
Oct 23, 2022
9dfdb0d
[IMP] itm: update javascript to use OWL, Odoo's new js framework
mtelahun Nov 2, 2022
c1e436f
If the record has no password set don't try to decrypt it
mtelahun Jan 6, 2023
0974269
Bump version
mtelahun Jan 6, 2023
e5a3d5b
Reformatted after template update
mtelahun Sep 19, 2023
c2b1437
[DOC] explicitly state that it requires cryptography 36.0.2 in README
mtelahun Oct 2, 2023
c9ffe9e
[IMP] itm: pre-commit auto-fixes
mtelahun Apr 10, 2025
539ce3b
[MIG] itm: Migration to 18.0
mtelahun Apr 10, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
198 changes: 198 additions & 0 deletions eslint.config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,198 @@
import { defineConfig } from "eslint/config";
import globals from "globals";

export default defineConfig([{
languageOptions: {
globals: {
...globals.browser,
_: "readonly",
$: "readonly",
fuzzy: "readonly",
jQuery: "readonly",
moment: "readonly",
odoo: "readonly",
openerp: "readonly",
owl: "readonly",
luxon: "readonly",
},

ecmaVersion: 2019,
sourceType: "script",
},

rules: {
"accessor-pairs": "warn",
"array-callback-return": "warn",
"callback-return": "warn",

"capitalized-comments": ["warn", "always", {
ignoreConsecutiveComments: true,
ignoreInlineComments: true,
}],

complexity: ["warn", 15],
"constructor-super": "warn",
"dot-notation": "warn",
eqeqeq: "warn",
"global-require": "warn",
"handle-callback-err": "warn",
"id-blacklist": "warn",
"id-match": "warn",
"init-declarations": "error",
"max-depth": "warn",
"max-nested-callbacks": "warn",
"max-statements-per-line": "warn",
"no-alert": "warn",
"no-array-constructor": "warn",
"no-caller": "warn",
"no-case-declarations": "warn",
"no-class-assign": "warn",
"no-cond-assign": "error",
"no-const-assign": "error",
"no-constant-condition": "warn",
"no-control-regex": "warn",
"no-debugger": "error",
"no-delete-var": "warn",
"no-div-regex": "warn",
"no-dupe-args": "error",
"no-dupe-class-members": "error",
"no-dupe-keys": "error",
"no-duplicate-case": "error",
"no-duplicate-imports": "error",
"no-else-return": "warn",
"no-empty-character-class": "warn",
"no-empty-function": "error",
"no-empty-pattern": "error",
"no-empty": "warn",
"no-eq-null": "error",
"no-eval": "error",
"no-ex-assign": "error",
"no-extend-native": "warn",
"no-extra-bind": "warn",
"no-extra-boolean-cast": "warn",
"no-extra-label": "warn",
"no-fallthrough": "warn",
"no-func-assign": "error",
"no-global-assign": "error",

"no-implicit-coercion": ["warn", {
allow: ["~"],
}],

"no-implicit-globals": "warn",
"no-implied-eval": "warn",
"no-inline-comments": "warn",
"no-inner-declarations": "warn",
"no-invalid-regexp": "warn",
"no-irregular-whitespace": "warn",
"no-iterator": "warn",
"no-label-var": "warn",
"no-labels": "warn",
"no-lone-blocks": "warn",
"no-lonely-if": "error",
"no-mixed-requires": "error",
"no-multi-str": "warn",
"no-native-reassign": "error",
"no-negated-condition": "warn",
"no-negated-in-lhs": "error",
"no-new-func": "warn",
"no-new-object": "warn",
"no-new-require": "warn",
"no-new-symbol": "warn",
"no-new-wrappers": "warn",
"no-new": "warn",
"no-obj-calls": "warn",
"no-octal-escape": "warn",
"no-octal": "warn",
"no-param-reassign": "warn",
"no-path-concat": "warn",
"no-process-env": "warn",
"no-process-exit": "warn",
"no-proto": "warn",
"no-prototype-builtins": "warn",
"no-redeclare": "warn",
"no-regex-spaces": "warn",
"no-restricted-globals": "warn",
"no-restricted-imports": "warn",
"no-restricted-modules": "warn",
"no-restricted-syntax": "warn",
"no-return-assign": "error",
"no-script-url": "warn",
"no-self-assign": "warn",
"no-self-compare": "warn",
"no-sequences": "warn",
"no-shadow-restricted-names": "warn",
"no-shadow": "warn",
"no-sparse-arrays": "warn",
"no-sync": "warn",
"no-this-before-super": "warn",
"no-throw-literal": "warn",
"no-undef-init": "warn",
"no-undef": "error",
"no-unmodified-loop-condition": "warn",
"no-unneeded-ternary": "error",
"no-unreachable": "error",
"no-unsafe-finally": "error",
"no-unused-expressions": "error",
"no-unused-labels": "error",
"no-unused-vars": "error",
"no-use-before-define": "error",
"no-useless-call": "warn",
"no-useless-computed-key": "warn",
"no-useless-concat": "warn",
"no-useless-constructor": "warn",
"no-useless-escape": "warn",
"no-useless-rename": "warn",
"no-void": "warn",
"no-with": "warn",
"operator-assignment": ["error", "always"],
"prefer-const": "warn",
radix: "warn",
"require-yield": "warn",
"sort-imports": "warn",
"spaced-comment": ["error", "always"],
strict: ["error", "function"],
"use-isnan": "error",

"valid-jsdoc": ["warn", {
prefer: {
arg: "param",
argument: "param",
augments: "extends",
constructor: "class",
exception: "throws",
func: "function",
method: "function",
prop: "property",
return: "returns",
virtual: "abstract",
yield: "yields",
},

preferType: {
array: "Array",
bool: "Boolean",
boolean: "Boolean",
number: "Number",
object: "Object",
str: "String",
string: "String",
},

requireParamDescription: false,
requireReturn: false,
requireReturnDescription: false,
requireReturnType: false,
}],

"valid-typeof": "warn",
yoda: "warn",
},
}, {
files: ["**/*.esm.js"],

languageOptions: {
ecmaVersion: 5,
sourceType: "module",
},
}]);
87 changes: 87 additions & 0 deletions itm/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
============================
IT Infrastructure Management
============================

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:0a7bb63fc33573b9c41dbb6cea29083cb6c798db09aa2ac3d89fb0cb675fb47a
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-trevi--software%2Ftrevi--misc-lightgray.png?logo=github
:target: https://github.com/trevi-software/trevi-misc/tree/18.0/itm
:alt: trevi-software/trevi-misc

|badge1| |badge2| |badge3|

This module is used to record information about a site's IT
infrastructure. You can record information about equipment, software,
backups, networks and access credentials.

**Table of contents**

.. contents::
:local:

Known issues / Roadmap
======================

- Manually set (or install) the python library 'cryptography' to version
36.0.2. Because of Odoo Python requirements this module will **NOT**
work with versions of cryptography greater than 36.0.2. It will also
**NOT** work with the version in the Odoo requirements.txt file
(currently 3.4.8).
- The password for encrypting and decrypting credentials is stored in
Odoo as a system parameter. An attacker who has the
'Administration/Settings' priviledge or has access to the Odoo
database itself can easily decrypt a credential's password field.
- To Do: store the encryption password in Odoo's configuration file
instead of a system parameter in the database

Changelog
=========

16.0.2.0.0 (2022-11-01)
-----------------------

- [IMP] Use the new Odoo javascript framework OWL

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/trevi-software/trevi-misc/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/trevi-software/trevi-misc/issues/new?body=module:%20itm%0Aversion:%2018.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.

Credits
=======

Authors
-------

* TREVI Software
* Leandro Ezequiel Baldi

Other credits
-------------

- Leandro Ezequiel Baldi <baldileandro@gmail.com>
- Altela Eleviansyah Pramardhika <altela.pramardhika@gmail.com>

Maintainers
-----------

This module is part of the `trevi-software/trevi-misc <https://github.com/trevi-software/trevi-misc/tree/18.0/itm>`_ project on GitHub.

You are welcome to contribute.
7 changes: 7 additions & 0 deletions itm/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Copyright (C) 2021,2022 TREVI Software
# Copyright (C) 2014 Leandro Ezequiel Baldi
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).

# flake8: noqa
from . import models
from . import wizard
69 changes: 69 additions & 0 deletions itm/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
# Copyright (C) 2021,2022 TREVI Software
# Copyright (C) 2014 Leandro Ezequiel Baldi
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).

{
"name": "IT Infrastructure Management",
"version": "18.0.1.0.0",
"license": "AGPL-3",
"category": "IT Infrastructure Management",
"summary": """IT Assets, Credentials, Backups, Applications.""",
"author": """TREVI Software,
Leandro Ezequiel Baldi""",
"website": "https://github.com/trevi-software",
"images": [
"static/src/img/main_screenshot.png",
"static/src/img/default_image_equipment.png",
],
"depends": ["mail", "product", "web"],
"data": [
"security/it_security.xml",
"security/ir.model.access.csv",
"data/migration.xml",
"data/application_license_data.xml",
"data/equipment_brand_data.xml",
"data/equipment_db_engine_data.xml",
"data/equipment_function.xml",
"data/equipment_mapping_data.xml",
"data/equipment_component_data.xml",
"data/equipment_component_cpu_data.xml",
"data/equipment_component_net_data.xml",
"data/equipment_component_ram_data.xml",
"data/equipment_component_storage_data.xml",
"data/equipment_type_data.xml",
"wizard/create_credential_view.xml",
"views/it_menu_view.xml",
"views/equipment_view.xml",
"views/equipment_worklog_view.xml",
"views/equipment_network_view.xml",
"views/equipment_partition_view.xml",
"views/equipment_component_view.xml",
"views/component_view.xml",
"views/access_view.xml",
"views/partner_view.xml",
"views/backup_view.xml",
"views/equipment_function_view.xml",
"views/equipment_mapping_view.xml",
"views/equipment_type_view.xml",
"views/application_view.xml",
"views/application_license_view.xml",
"views/brand_view.xml",
"views/site_view.xml",
"views/service_ad_view.xml",
"views/service_dhcp_view.xml",
"views/service_wireless_view.xml",
],
"demo": [],
"test": [],
"assets": {
"web.assets_backend": [
"/itm/static/src/js/itm_password_char_field.esm.js",
"/itm/static/src/js/itm_password_char_field.xml",
],
},
"external_dependencies": {
"python": ["cryptography"],
},
"installable": True,
"application": True,
}
Loading
Loading