diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index e789cad..d1c8670 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -18,6 +18,8 @@ exclude: | /build/|/dist/| # Ignore test files in addons /tests/samples/.*| + # Marimo + marimo-kpiten/.*| # You don't usually want a bot to modify your legal texts (LICENSE.*|COPYING.*) default_language_version: diff --git a/kpiten/__manifest__.py b/kpiten/__manifest__.py index ee527fd..9107fb9 100644 --- a/kpiten/__manifest__.py +++ b/kpiten/__manifest__.py @@ -4,6 +4,7 @@ "version": "18.0.1.0.0", "development_status": "Alpha", "installable": True, + "application": True, "category": "Tools", "website": "https://github.com/akretion/kpiten", "author": " Akretion", @@ -13,5 +14,7 @@ ], "data": [ "data/ir_config_parameter.xml", + "security/ir.model.access.csv", + "views/kpiten.xml", ], } diff --git a/kpiten/models/__init__.py b/kpiten/models/__init__.py index aff44f3..b55f890 100644 --- a/kpiten/models/__init__.py +++ b/kpiten/models/__init__.py @@ -1 +1 @@ -from . import res_company +from . import res_company, kpiten_config diff --git a/kpiten/models/kpiten_config.py b/kpiten/models/kpiten_config.py new file mode 100644 index 0000000..d062fc1 --- /dev/null +++ b/kpiten/models/kpiten_config.py @@ -0,0 +1,25 @@ +from odoo import fields, models + + +class KpitenConfig(models.Model): + _name = "kpiten.config" + _description = "Configuration for kpiten" + + name = fields.Char(required=True) + state = fields.Selection(selection=[("draft", "Draft"), ("validated", "Validated")]) + line_ids = fields.One2many( + comodel_name="kpiten.config.line", inverse_name="config_id" + ) + model_ids = fields.Many2many( + comodel_name="ir.model", help="Models used to produce dataframe" + ) + company_id = fields.Many2one(comodel_name="res.company") + + +class KpitenConfigLine(models.Model): + _name = "kpiten.config.line" + _description = "Configuration lines for kpiten" + + config_id = fields.Many2one(comodel_name="kpiten.config", required=True) + definition = fields.Text(help="Store settings for kpi") + active = fields.Boolean(default=True) diff --git a/kpiten/security/ir.model.access.csv b/kpiten/security/ir.model.access.csv new file mode 100644 index 0000000..92eb09f --- /dev/null +++ b/kpiten/security/ir.model.access.csv @@ -0,0 +1,3 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +kpiten.access_kpiten_config,access_kpiten_config,kpiten.model_kpiten_config,base.group_user,1,1,1,1 +kpiten.access_kpiten_config_line,access_kpiten_config_line,kpiten.model_kpiten_config_line,base.group_user,1,1,1,1 diff --git a/kpiten/static/description/icon.png b/kpiten/static/description/icon.png old mode 100644 new mode 100755 index 1dcc49c..db641ac Binary files a/kpiten/static/description/icon.png and b/kpiten/static/description/icon.png differ diff --git a/kpiten/views/kpiten.xml b/kpiten/views/kpiten.xml new file mode 100644 index 0000000..8ace25a --- /dev/null +++ b/kpiten/views/kpiten.xml @@ -0,0 +1,85 @@ + + + kpiten.config + +
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + + kpiten.config + + + + + + + + + + + kpiten.config + + + + + + + + + Kpiten + kpiten.config + list,form + kpiten + + + + + +
diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..0576faf --- /dev/null +++ b/requirements.txt @@ -0,0 +1,10 @@ +# generated from manifests external_dependencies +connectorx>=0.4.5 +dotenv>=0.9.9 +fastapi>=0.135.3 +marimo>=0.22.5 +polars>=1.39.3 +psycopg2>=2.9.11 +pyarrow>=23.0.1 +requests>=2.33.1 +uvicorn>=0.44.0