Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 2 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down
3 changes: 3 additions & 0 deletions kpiten/__manifest__.py
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand All @@ -13,5 +14,7 @@
],
"data": [
"data/ir_config_parameter.xml",
"security/ir.model.access.csv",
"views/kpiten.xml",
],
}
2 changes: 1 addition & 1 deletion kpiten/models/__init__.py
Original file line number Diff line number Diff line change
@@ -1 +1 @@
from . import res_company
from . import res_company, kpiten_config
25 changes: 25 additions & 0 deletions kpiten/models/kpiten_config.py
Original file line number Diff line number Diff line change
@@ -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)
3 changes: 3 additions & 0 deletions kpiten/security/ir.model.access.csv
Original file line number Diff line number Diff line change
@@ -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
Binary file modified kpiten/static/description/icon.png
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
85 changes: 85 additions & 0 deletions kpiten/views/kpiten.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
<odoo>
<record id="kpiten_form" model="ir.ui.view">
<field name="model">kpiten.config</field>
<field name="arch" type="xml">
<form>
<header>
<field
name="state"
widget="statusbar"
statusbar_visible="draft,validated"
/>
</header>
<sheet>
<group name="main">
<group name="left">
<field name="name" />
<field name="model_ids" widget="many2many_tags" />
</group>
<group name="right">
<field
name="company_id"
groups="base.group_multi_company"
/>
</group>
</group>
<group colspan="1">
<field name="line_ids" nolabel="1">
<list>
<field name="definition" />
<field name="active" optional="hide" />
</list>
<form>
<group>
<field name="definition" />
<field name="active" widget="boolean_toggle" />
</group>
</form>
</field>
</group>
</sheet>
</form>
</field>
</record>

<record id="kpiten_list" model="ir.ui.view">
<field name="model">kpiten.config</field>
<field name="arch" type="xml">
<list>
<field name="name" />
<field name="model_ids" widget="many2many_tags" />
<field
name="company_id"
groups="base.group_multi_company"
optional="show"
readonly="1"
/>
</list>
</field>
</record>

<record id="kpiten_search" model="ir.ui.view">
<field name="model">kpiten.config</field>
<field name="arch" type="xml">
<search>
<filter name="name" />
</search>
</field>
</record>

<record id="kpiten_action" model="ir.actions.act_window">
<field name="name">Kpiten</field>
<field name="res_model">kpiten.config</field>
<field name="view_mode">list,form</field>
<field name="path">kpiten</field>
</record>

<menuitem
id="kpiten_app"
name="KpiTen"
web_icon="kpiten,static/description/icon.png"
sequence="50"
/>

<menuitem id="kpiten_menu" parent="kpiten_app" action="kpiten_action" />
</odoo>
10 changes: 10 additions & 0 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -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
Loading