From 1fb06ca586c27306e3c173623e8c0558ad3f404f Mon Sep 17 00:00:00 2001 From: Aungkokolin1997 Date: Tue, 18 Nov 2025 09:23:06 +0000 Subject: [PATCH] [ADD] server_management --- server_management/README.rst | 70 +++ server_management/__init__.py | 1 + server_management/__manifest__.py | 18 + server_management/models/__init__.py | 2 + server_management/models/server_server.py | 16 + server_management/models/server_tag.py | 12 + server_management/readme/DESCRIPTION.md | 3 + server_management/readme/USAGE.md | 9 + .../security/ir.model.access.csv | 5 + server_management/static/description/icon.jpg | Bin 0 -> 12644 bytes .../static/description/index.html | 424 ++++++++++++++++++ server_management/views/menuitem_views.xml | 31 ++ .../views/server_server_views.xml | 54 +++ server_management/views/server_tag_views.xml | 19 + .../odoo/addons/server_management | 1 + setup/server_management/setup.py | 6 + 16 files changed, 671 insertions(+) create mode 100644 server_management/README.rst create mode 100644 server_management/__init__.py create mode 100644 server_management/__manifest__.py create mode 100644 server_management/models/__init__.py create mode 100644 server_management/models/server_server.py create mode 100644 server_management/models/server_tag.py create mode 100644 server_management/readme/DESCRIPTION.md create mode 100644 server_management/readme/USAGE.md create mode 100644 server_management/security/ir.model.access.csv create mode 100644 server_management/static/description/icon.jpg create mode 100644 server_management/static/description/index.html create mode 100644 server_management/views/menuitem_views.xml create mode 100644 server_management/views/server_server_views.xml create mode 100644 server_management/views/server_tag_views.xml create mode 120000 setup/server_management/odoo/addons/server_management create mode 100644 setup/server_management/setup.py diff --git a/server_management/README.rst b/server_management/README.rst new file mode 100644 index 0000000..42157ed --- /dev/null +++ b/server_management/README.rst @@ -0,0 +1,70 @@ +================= +Server Management +================= + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:271d636bec6addd8426db81ec2bbaaa82201ec7c4808bb16d6d0571b9cf53081 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |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-qrtl%2Fqrtl--custom-lightgray.png?logo=github + :target: https://github.com/qrtl/qrtl-custom/tree/16.0/server_management + :alt: qrtl/qrtl-custom + +|badge1| |badge2| |badge3| + +This module is used to store server information. + +Note: It does not interact with the servers in any way. + +**Table of contents** + +.. contents:: + :local: + +Usage +===== + +To create server tags: + +- Go to Server Management → Server Management → Server Tags. +- Create the tags you need. + +To create server records: + +- Go to Server Management → Server Management → Servers. +- Create a new record and enter the server information. + +Bug Tracker +=========== + +Bugs are tracked on `GitHub 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 `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +------- + +* Quartile + +Maintainers +----------- + +This module is part of the `qrtl/qrtl-custom `_ project on GitHub. + +You are welcome to contribute. diff --git a/server_management/__init__.py b/server_management/__init__.py new file mode 100644 index 0000000..0650744 --- /dev/null +++ b/server_management/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/server_management/__manifest__.py b/server_management/__manifest__.py new file mode 100644 index 0000000..2270a63 --- /dev/null +++ b/server_management/__manifest__.py @@ -0,0 +1,18 @@ +# Copyright 2025 QWartile (https://www.quartile.co) +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). +{ + "name": "Server Management", + "category": "Tools", + "version": "16.0.1.0.0", + "author": "Quartile", + "website": "https://www.quartile.co", + "license": "AGPL-3", + "depends": ["base"], + "data": [ + "security/ir.model.access.csv", + "views/server_tag_views.xml", + "views/server_server_views.xml", + "views/menuitem_views.xml", + ], + "installable": True, +} diff --git a/server_management/models/__init__.py b/server_management/models/__init__.py new file mode 100644 index 0000000..4a72d35 --- /dev/null +++ b/server_management/models/__init__.py @@ -0,0 +1,2 @@ +from . import server_server +from . import server_tag diff --git a/server_management/models/server_server.py b/server_management/models/server_server.py new file mode 100644 index 0000000..fb31393 --- /dev/null +++ b/server_management/models/server_server.py @@ -0,0 +1,16 @@ +# Copyright 2025 Quartile (https://www.quartile.co) +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl + +from odoo import fields, models + + +class ServerServer(models.Model): + _name = "server.server" + _description = "Servers" + + name = fields.Char(string="Server Name", required=True) + partner_id = fields.Many2one("res.partner", required=True) + url = fields.Char(required=True) + info = fields.Text(string="General Information") + tags = fields.Many2many("server.tag") + active = fields.Boolean(default=True) diff --git a/server_management/models/server_tag.py b/server_management/models/server_tag.py new file mode 100644 index 0000000..ba1212d --- /dev/null +++ b/server_management/models/server_tag.py @@ -0,0 +1,12 @@ +# Copyright 2025 Quartile (https://www.quartile.co) +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl + +from odoo import fields, models + + +class ServeTag(models.Model): + _name = "server.tag" + _description = "Server Category" + + name = fields.Char(string="Tag Name", required=True) + color = fields.Integer(string="Color Index") diff --git a/server_management/readme/DESCRIPTION.md b/server_management/readme/DESCRIPTION.md new file mode 100644 index 0000000..c3a0782 --- /dev/null +++ b/server_management/readme/DESCRIPTION.md @@ -0,0 +1,3 @@ +This module is used to store server information. + +Note: It does not interact with the servers in any way. diff --git a/server_management/readme/USAGE.md b/server_management/readme/USAGE.md new file mode 100644 index 0000000..b890ec7 --- /dev/null +++ b/server_management/readme/USAGE.md @@ -0,0 +1,9 @@ +To create server tags: + +- Go to Server Management → Server Management → Server Tags. +- Create the tags you need. + +To create server records: + +- Go to Server Management → Server Management → Servers. +- Create a new record and enter the server information. diff --git a/server_management/security/ir.model.access.csv b/server_management/security/ir.model.access.csv new file mode 100644 index 0000000..aeb4413 --- /dev/null +++ b/server_management/security/ir.model.access.csv @@ -0,0 +1,5 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_server_server_user,server.server.user,model_server_server,base.group_user,1,0,0,0 +access_server_tag_user,server.tag.user,model_server_tag,base.group_user,1,0,0,0 +access_server_server_manager,server.server.manager,model_server_server,base.group_system,1,1,1,1 +access_server_tag_manager,server.tag.manager,model_server_tag,base.group_system,1,1,1,1 diff --git a/server_management/static/description/icon.jpg b/server_management/static/description/icon.jpg new file mode 100644 index 0000000000000000000000000000000000000000..19a1e372e2fa898c9012cc4189c5949bafd1956e GIT binary patch literal 12644 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 + + + + +Server Management + + + +
+

Server Management

+ + +

Beta License: AGPL-3 qrtl/qrtl-custom

+

This module is used to store server information.

+

Note: It does not interact with the servers in any way.

+

Table of contents

+ +
+

Usage

+

To create server tags:

+
    +
  • Go to Server Management → Server Management → Server Tags.
  • +
  • Create the tags you need.
  • +
+

To create server records:

+
    +
  • Go to Server Management → Server Management → Servers.
  • +
  • Create a new record and enter the server information.
  • +
+
+
+

Bug Tracker

+

Bugs are tracked on GitHub 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.

+

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

+
+
+

Credits

+
+

Authors

+
    +
  • Quartile
  • +
+
+
+

Maintainers

+

This module is part of the qrtl/qrtl-custom project on GitHub.

+

You are welcome to contribute.

+
+
+
+ + diff --git a/server_management/views/menuitem_views.xml b/server_management/views/menuitem_views.xml new file mode 100644 index 0000000..4a05d63 --- /dev/null +++ b/server_management/views/menuitem_views.xml @@ -0,0 +1,31 @@ + + + + + + + diff --git a/server_management/views/server_server_views.xml b/server_management/views/server_server_views.xml new file mode 100644 index 0000000..c666cdb --- /dev/null +++ b/server_management/views/server_server_views.xml @@ -0,0 +1,54 @@ + + + + server.server.search + server.server + + + + + + + + + + + + + + server.server.tree + server.server + + + + + + + + + + + + + Servers + server.server + tree + + + diff --git a/server_management/views/server_tag_views.xml b/server_management/views/server_tag_views.xml new file mode 100644 index 0000000..ea9dd12 --- /dev/null +++ b/server_management/views/server_tag_views.xml @@ -0,0 +1,19 @@ + + + + server.tag.tree + server.tag + + + + + + + + + Server Tags + server.tag + tree + + + diff --git a/setup/server_management/odoo/addons/server_management b/setup/server_management/odoo/addons/server_management new file mode 120000 index 0000000..1f1335f --- /dev/null +++ b/setup/server_management/odoo/addons/server_management @@ -0,0 +1 @@ +../../../../server_management \ No newline at end of file diff --git a/setup/server_management/setup.py b/setup/server_management/setup.py new file mode 100644 index 0000000..28c57bb --- /dev/null +++ b/setup/server_management/setup.py @@ -0,0 +1,6 @@ +import setuptools + +setuptools.setup( + setup_requires=['setuptools-odoo'], + odoo_addon=True, +)