Migration to 13.0

This commit is contained in:
flachica
2020-06-04 16:41:22 +02:00
committed by flachica
parent 227e26d39d
commit adf77e7a9e
15 changed files with 38 additions and 46 deletions

View File

@@ -3,12 +3,12 @@
{
"name": "Key Performance Indicator",
"version": "12.0.1.0.0",
"version": "13.0.1.0.0",
"author": "Savoir-faire Linux,Odoo Community Association (OCA)",
"website": "http://www.savoirfairelinux.com",
"license": "AGPL-3",
"category": "Report",
"depends": ["base_external_dbsource", "web_widget_color",],
"depends": ["base_external_dbsource"],
"data": [
"security/kpi_security.xml",
"security/ir.model.access.csv",

View File

@@ -61,13 +61,13 @@ class KPI(models.Model):
periodicity = fields.Integer("Periodicity", default=1)
periodicity_uom = fields.Selection(
(
[
("minute", "Minute"),
("hour", "Hour"),
("day", "Day"),
("week", "Week"),
("month", "Month"),
),
],
"Periodicity UoM",
required=True,
default="day",
@@ -80,11 +80,11 @@ class KPI(models.Model):
"Last execution", compute="_compute_display_last_kpi_value",
)
kpi_type = fields.Selection(
(
[
("python", "Python"),
("local", "SQL - Local DB"),
("external", "SQL - External DB"),
),
],
"KPI Computation Type",
)
@@ -105,10 +105,9 @@ class KPI(models.Model):
default=True,
)
company_id = fields.Many2one(
"res.company", "Company", default=lambda self: self.env.user.company_id.id
"res.company", "Company", default=lambda self: self.env.company
)
@api.multi
def _compute_display_last_kpi_value(self):
history_obj = self.env["kpi.history"]
for obj in self:
@@ -123,7 +122,6 @@ class KPI(models.Model):
obj.color = "#FFFFFF"
obj.last_execution = False
@api.multi
def _get_kpi_value(self):
self.ensure_one()
kpi_value = 0
@@ -155,7 +153,6 @@ class KPI(models.Model):
res.update({"kpi_id": self.id})
return res
@api.multi
def compute_kpi_value(self):
for obj in self:
history_vals = obj._get_kpi_value()
@@ -163,7 +160,6 @@ class KPI(models.Model):
history_obj.sudo().create(history_vals)
return True
@api.multi
def update_next_execution_date(self):
for obj in self:
if obj.periodicity_uom == "hour":

View File

@@ -22,5 +22,5 @@ class KPIHistory(models.Model):
value = fields.Float("Value", required=True, readonly=True)
color = fields.Text("Color", required=True, readonly=True, default="#FFFFFF")
company_id = fields.Many2one(
"res.company", "Company", default=lambda self: self.env.user.company_id.id
"res.company", "Company", default=lambda self: self.env.company
)

View File

@@ -10,7 +10,6 @@ class KPIThreshold(models.Model):
_name = "kpi.threshold"
_description = "KPI Threshold"
@api.multi
def _compute_is_valid_threshold(self):
for obj in self:
# check if ranges overlap
@@ -54,7 +53,7 @@ class KPIThreshold(models.Model):
)
kpi_ids = fields.One2many("kpi", "threshold_id", "KPIs")
company_id = fields.Many2one(
"res.company", "Company", default=lambda self: self.env.user.company_id.id
"res.company", "Company", default=lambda self: self.env.company
)
@api.model
@@ -82,7 +81,6 @@ class KPIThreshold(models.Model):
range_obj1 = self.env["kpi.threshold.range"]
return super(KPIThreshold, self).create(data)
@api.multi
def get_color(self, kpi_value):
color = "#FFFFFF"
for obj in self:

View File

@@ -49,6 +49,15 @@ class KPIThresholdRange(models.Model):
_name = "kpi.threshold.range"
_description = "KPI Threshold Range"
@api.model
def _selection_value_type(self):
return [
("static", "Fixed value"),
("python", "Python Code"),
("local", "SQL - Local DB"),
("external", "SQL - External DB"),
]
name = fields.Char("Name", size=50, required=True)
valid = fields.Boolean(
string="Valid", required=True, compute="_compute_is_valid_range", default=True
@@ -57,14 +66,7 @@ class KPIThresholdRange(models.Model):
string="Message", size=100, compute="_compute_is_valid_range"
)
min_type = fields.Selection(
(
("static", "Fixed value"),
("python", "Python Code"),
("local", "SQL - Local DB"),
("external", "SQL - Externa DB"),
),
"Min Type",
required=True,
selection="_selection_value_type", string="Min Type", required=True
)
min_value = fields.Float(string="Minimum Value", compute="_compute_min_value")
min_fixed_value = fields.Float("Minimum Fixed Value")
@@ -74,14 +76,7 @@ class KPIThresholdRange(models.Model):
"base.external.dbsource", "External DB Source Minimum",
)
max_type = fields.Selection(
(
("static", "Fixed value"),
("python", "Python Code"),
("local", "SQL - Local DB"),
("external", "SQL - External DB"),
),
"Max Type",
required=True,
selection="_selection_value_type", string="Max Type", required=True
)
max_value = fields.Float(string="Maximum Value", compute="_compute_max_value")
max_fixed_value = fields.Float("Maximum Fixed Value")
@@ -101,10 +96,9 @@ class KPIThresholdRange(models.Model):
"Thresholds",
)
company_id = fields.Many2one(
"res.company", "Company", default=lambda self: self.env.user.company_id.id
"res.company", "Company", default=lambda self: self.env.company
)
@api.multi
def _compute_min_value(self):
for obj in self:
value = None
@@ -134,7 +128,6 @@ class KPIThresholdRange(models.Model):
obj.min_value = value
obj.min_error = error
@api.multi
def _compute_max_value(self):
for obj in self:
value = None
@@ -164,7 +157,6 @@ class KPIThresholdRange(models.Model):
obj.max_value = value
obj.max_error = error
@api.multi
def _compute_is_valid_range(self):
for obj in self:
if obj.min_error or obj.max_error:

View File

@@ -5,3 +5,6 @@
* Gervais Naoussi <gervaisnaoussi@gmail.com>
* Iván Todorovich <ivan.todorovich@gmail.com>
* Adrià Gil <adria.gil@eficent.com>
* `Guadaltech <https://www.guadaltech.es>`_:
* Fernando La Chica <fernando.lachica@guadaltech.es>

8
kpi/security/kpi_security.xml Executable file → Normal file
View File

@@ -17,7 +17,7 @@
<field name="global" eval="True" />
<field
name="domain_force"
>['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
>['|',('company_id','=',False),('company_id', 'in', company_ids)]</field>
</record>
<record model="ir.rule" id="kpi_threshold_range_rule">
<field name="name">kpi_threshold_range multi-company</field>
@@ -25,7 +25,7 @@
<field name="global" eval="True" />
<field
name="domain_force"
>['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
>['|',('company_id','=',False),('company_id', 'in', company_ids)]</field>
</record>
<record model="ir.rule" id="kpi_threshold_rule">
<field name="name">kpi_threshold multi-company</field>
@@ -33,7 +33,7 @@
<field name="global" eval="True" />
<field
name="domain_force"
>['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
>['|',('company_id','=',False),('company_id', 'in', company_ids)]</field>
</record>
<record model="ir.rule" id="kpi_history_rule">
<field name="name">kpi_history multi-company</field>
@@ -41,7 +41,7 @@
<field name="global" eval="True" />
<field
name="domain_force"
>['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
>['|',('company_id','=',False),('company_id', 'in', company_ids)]</field>
</record>
</data>
</odoo>

View File

@@ -68,11 +68,11 @@ class TestKPI(TransactionCase):
)
threshold1 = self.env["kpi.threshold"].create(
{"name": "Threshold1", "range_ids": [(6, 0, [range1.id, range2.id])],}
{"name": "Threshold1", "range_ids": [(6, 0, [range1.id, range2.id])]}
)
threshold2 = self.env["kpi.threshold"].create(
{"name": "Threshold1", "range_ids": [(6, 0, [range3.id, range2.id])],}
{"name": "Threshold1", "range_ids": [(6, 0, [range3.id, range2.id])]}
)
threshold3 = self.env["kpi.threshold"].create(

View File

@@ -30,7 +30,6 @@
<record model="ir.actions.act_window" id="open_category_list">
<field name="name">Categories</field>
<field name="res_model">kpi.category</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="view_id" ref="view_kpi_category_tree" />
</record>

View File

@@ -106,7 +106,6 @@
<record model="ir.actions.act_window" id="open_threshold_range_list">
<field name="name">Ranges</field>
<field name="res_model">kpi.threshold.range</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="view_id" ref="view_kpi_threshold_range_tree" />
</record>

View File

@@ -56,7 +56,6 @@
<record model="ir.actions.act_window" id="open_threshold_list">
<field name="name">Thresholds</field>
<field name="res_model">kpi.threshold</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="view_id" ref="view_kpi_threshold_tree" />
</record>

View File

@@ -142,7 +142,6 @@
<record model="ir.actions.act_window" id="open_kpi_dashboard">
<field name="name">KPI Dashboard</field>
<field name="res_model">kpi</field>
<field name="view_type">form</field>
<field name="view_mode">kanban,form</field>
<field name="search_view_id" ref="view_kpi_filter" />
</record>
@@ -155,7 +154,6 @@
<record model="ir.actions.act_window" id="open_kpi_list">
<field name="name">KPI Maintenance</field>
<field name="res_model">kpi</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="search_view_id" ref="view_kpi_filter" />
</record>

View File

@@ -1 +1,2 @@
server-tools
server-backend

1
setup/kpi/odoo/addons/kpi Symbolic link
View File

@@ -0,0 +1 @@
../../../../kpi

6
setup/kpi/setup.py Normal file
View File

@@ -0,0 +1,6 @@
import setuptools
setuptools.setup(
setup_requires=['setuptools-odoo'],
odoo_addon=True,
)