Skip to content

Commit

Permalink
[IMP] kpi: pre-commit auto fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
EdgarRetes committed Nov 27, 2024
1 parent e452b36 commit 2c90170
Show file tree
Hide file tree
Showing 12 changed files with 117 additions and 84 deletions.
57 changes: 28 additions & 29 deletions kpi/README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -17,32 +17,32 @@ Key Performance Indicator
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Freporting--engine-lightgray.png?logo=github
:target: https://github.com/OCA/reporting-engine/tree/13.0/kpi
:target: https://github.com/OCA/reporting-engine/tree/17.0/kpi
:alt: OCA/reporting-engine
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/reporting-engine-13-0/reporting-engine-13-0-kpi
:target: https://translation.odoo-community.org/projects/reporting-engine-17-0/reporting-engine-17-0-kpi
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
:target: https://runboat.odoo-community.org/builds?repo=OCA/reporting-engine&target_branch=13.0
:target: https://runboat.odoo-community.org/builds?repo=OCA/reporting-engine&target_branch=17.0
:alt: Try me on Runboat

|badge1| |badge2| |badge3| |badge4| |badge5|

This module provides the basis for creating key performance indicators,
including static and dynamic thresholds (SQL query or Python code),
on local and remote data sources.
including static and dynamic thresholds (SQL query or Python code), on
local and remote data sources.

The module also provides the mecanism to update KPIs automatically.
A scheduler is executed every hour and updates the KPI values, based
on the periodicity of each KPI. KPI computation can also be done
manually.
The module also provides the mecanism to update KPIs automatically. A
scheduler is executed every hour and updates the KPI values, based on
the periodicity of each KPI. KPI computation can also be done manually.

A threshold is a list of ranges and a range is:

* a name (like Good, Warning, Bad)
* a minimum value (fixed, sql query or python code)
* a maximum value (fixed, sql query or python code)
* color (RGB code like #00FF00 for green, #FFA500 for orange, #FF0000 for red)
- a name (like Good, Warning, Bad)
- a minimum value (fixed, sql query or python code)
- a maximum value (fixed, sql query or python code)
- color (RGB code like #00FF00 for green, #FFA500 for orange, #FF0000
for red)

**Table of contents**

Expand All @@ -52,43 +52,42 @@ A threshold is a list of ranges and a range is:
Usage
=====

Example of usage:
https://www.youtube.com/watch?v=OC4-y2klzIk
Example of usage: https://www.youtube.com/watch?v=OC4-y2klzIk

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

Bugs are tracked on `GitHub Issues <https://github.com/OCA/reporting-engine/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/OCA/reporting-engine/issues/new?body=module:%20kpi%0Aversion:%2013.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
`feedback <https://github.com/OCA/reporting-engine/issues/new?body=module:%20kpi%0Aversion:%2017.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
~~~~~~~
-------

* Savoir-faire Linux

Contributors
~~~~~~~~~~~~
------------

* Daniel Reis <[email protected]>
* Glen Dromgoole <[email protected]>
* Loic Lacroix <[email protected]>
* Sandy Carter <[email protected]>
* Gervais Naoussi <[email protected]>
* Iván Todorovich <[email protected]>
* Adrià Gil <[email protected]>
* `Guadaltech <https://www.guadaltech.es>`_:
- Daniel Reis <[email protected]>
- Glen Dromgoole <[email protected]>
- Loic Lacroix <[email protected]>
- Sandy Carter <[email protected]>
- Gervais Naoussi <[email protected]>
- Iván Todorovich <[email protected]>
- Adrià Gil <[email protected]>
- `Guadaltech <https://www.guadaltech.es>`__:

* Fernando La Chica <[email protected]>
- Fernando La Chica <[email protected]>

Maintainers
~~~~~~~~~~~
-----------

This module is maintained by the OCA.

Expand All @@ -100,6 +99,6 @@ OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.

This module is part of the `OCA/reporting-engine <https://github.com/OCA/reporting-engine/tree/13.0/kpi>`_ project on GitHub.
This module is part of the `OCA/reporting-engine <https://github.com/OCA/reporting-engine/tree/17.0/kpi>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
41 changes: 33 additions & 8 deletions kpi/models/kpi.py
Original file line number Diff line number Diff line change
Expand Up @@ -56,8 +56,16 @@ class KPI(models.Model):

name = fields.Char("Name", required=True)
description = fields.Text("Description")
category_id = fields.Many2one("kpi.category", "Category", required=True,)
threshold_id = fields.Many2one("kpi.threshold", "Threshold", required=True,)
category_id = fields.Many2one(
"kpi.category",
"Category",
required=True,
)
threshold_id = fields.Many2one(
"kpi.threshold",
"Threshold",
required=True,
)
periodicity = fields.Integer("Periodicity", default=1)

periodicity_uom = fields.Selection(
Expand All @@ -73,11 +81,21 @@ class KPI(models.Model):
default="day",
)

next_execution_date = fields.Datetime("Next execution date", readonly=True,)
value = fields.Float(string="Value", compute="_compute_display_last_kpi_value",)
color = fields.Text("Color", compute="_compute_display_last_kpi_value",)
next_execution_date = fields.Datetime(
"Next execution date",
readonly=True,
)
value = fields.Float(
string="Value",
compute="_compute_display_last_kpi_value",
)
color = fields.Text(
"Color",
compute="_compute_display_last_kpi_value",
)
last_execution = fields.Datetime(
"Last execution", compute="_compute_display_last_kpi_value",
"Last execution",
compute="_compute_display_last_kpi_value",
)
kpi_type = fields.Selection(
[
Expand All @@ -88,14 +106,21 @@ class KPI(models.Model):
"KPI Computation Type",
)

dbsource_id = fields.Many2one("base.external.dbsource", "External DB Source",)
dbsource_id = fields.Many2one(
"base.external.dbsource",
"External DB Source",
)
kpi_code = fields.Text(
"KPI Code",
help=(
"SQL code must return the result as 'value' " "(i.e. 'SELECT 5 AS value')."
),
)
history_ids = fields.One2many("kpi.history", "kpi_id", "History",)
history_ids = fields.One2many(
"kpi.history",
"kpi_id",
"History",
)
active = fields.Boolean(
"Active",
help=(
Expand Down
7 changes: 6 additions & 1 deletion kpi/models/kpi_history.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,12 @@ class KPIHistory(models.Model):
_description = "History of the KPI"
_order = "date desc"

name = fields.Char("Name", size=150, required=True, default=fields.Datetime.now(),)
name = fields.Char(
"Name",
size=150,
required=True,
default=fields.Datetime.now(),
)
kpi_id = fields.Many2one("kpi", "KPI", required=True)
date = fields.Datetime(
"Execution Date",
Expand Down
6 changes: 4 additions & 2 deletions kpi/models/kpi_threshold_range.py
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,8 @@ def _selection_value_type(self):
min_code = fields.Text("Minimum Computation Code")
min_error = fields.Char("Minimum Error", compute="_compute_min_value")
min_dbsource_id = fields.Many2one(
"base.external.dbsource", "External DB Source Minimum",
"base.external.dbsource",
"External DB Source Minimum",
)
max_type = fields.Selection(
selection="_selection_value_type", string="Max Type", required=True
Expand All @@ -83,7 +84,8 @@ def _selection_value_type(self):
max_code = fields.Text("Maximum Computation Code")
max_error = fields.Char("Maximum Error", compute="_compute_max_value")
max_dbsource_id = fields.Many2one(
"base.external.dbsource", "External DB Source Maximum",
"base.external.dbsource",
"External DB Source Maximum",
)

color = fields.Char(string="Color", help="Choose your color")
Expand Down
3 changes: 3 additions & 0 deletions kpi/pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[build-system]
requires = ["whool"]
build-backend = "whool.buildapi"
9 changes: 9 additions & 0 deletions kpi/readme/CONTRIBUTORS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
- Daniel Reis \<<[email protected]>\>
- Glen Dromgoole \<<[email protected]>\>
- Loic Lacroix \<<[email protected]>\>
- Sandy Carter \<<[email protected]>\>
- Gervais Naoussi \<<[email protected]>\>
- Iván Todorovich \<<[email protected]>\>
- Adrià Gil \<<[email protected]>\>
- [Guadaltech](https://www.guadaltech.es):
- Fernando La Chica \<<[email protected]>\>
10 changes: 0 additions & 10 deletions kpi/readme/CONTRIBUTORS.rst

This file was deleted.

15 changes: 15 additions & 0 deletions kpi/readme/DESCRIPTION.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
This module provides the basis for creating key performance indicators,
including static and dynamic thresholds (SQL query or Python code), on
local and remote data sources.

The module also provides the mecanism to update KPIs automatically. A
scheduler is executed every hour and updates the KPI values, based on
the periodicity of each KPI. KPI computation can also be done manually.

A threshold is a list of ranges and a range is:

- a name (like Good, Warning, Bad)
- a minimum value (fixed, sql query or python code)
- a maximum value (fixed, sql query or python code)
- color (RGB code like \#00FF00 for green, \#FFA500 for orange, \#FF0000
for red)
15 changes: 0 additions & 15 deletions kpi/readme/DESCRIPTION.rst

This file was deleted.

1 change: 1 addition & 0 deletions kpi/readme/USAGE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Example of usage: <https://www.youtube.com/watch?v=OC4-y2klzIk>
2 changes: 0 additions & 2 deletions kpi/readme/USAGE.rst

This file was deleted.

35 changes: 18 additions & 17 deletions kpi/static/description/index.html
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
Expand All @@ -9,10 +8,11 @@

/*
:Author: David Goodger ([email protected])
:Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $
:Id: $Id: html4css1.css 9511 2024-01-13 09:50:07Z milde $
:Copyright: This stylesheet has been placed in the public domain.
Default cascading style sheet for the HTML output of Docutils.
Despite the name, some widely supported CSS2 features are used.
See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to
customize this style sheet.
Expand Down Expand Up @@ -275,7 +275,7 @@
margin-left: 2em ;
margin-right: 2em }

pre.code .ln { color: grey; } /* line numbers */
pre.code .ln { color: gray; } /* line numbers */
pre.code, code { background-color: #eeeeee }
pre.code .comment, code .comment { color: #5C6576 }
pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
Expand All @@ -301,7 +301,7 @@
span.pre {
white-space: pre }

span.problematic {
span.problematic, pre.problematic {
color: red }

span.section-subtitle {
Expand Down Expand Up @@ -369,20 +369,20 @@ <h1 class="title">Key Performance Indicator</h1>
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:cfa60f307c1347dd86421388daf4ddf0cef49cfe864c034368a4b031d2dc045c
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/reporting-engine/tree/13.0/kpi"><img alt="OCA/reporting-engine" src="https://img.shields.io/badge/github-OCA%2Freporting--engine-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/reporting-engine-13-0/reporting-engine-13-0-kpi"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/reporting-engine&amp;target_branch=13.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
<p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/reporting-engine/tree/17.0/kpi"><img alt="OCA/reporting-engine" src="https://img.shields.io/badge/github-OCA%2Freporting--engine-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/reporting-engine-17-0/reporting-engine-17-0-kpi"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/reporting-engine&amp;target_branch=17.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
<p>This module provides the basis for creating key performance indicators,
including static and dynamic thresholds (SQL query or Python code),
on local and remote data sources.</p>
<p>The module also provides the mecanism to update KPIs automatically.
A scheduler is executed every hour and updates the KPI values, based
on the periodicity of each KPI. KPI computation can also be done
manually.</p>
including static and dynamic thresholds (SQL query or Python code), on
local and remote data sources.</p>
<p>The module also provides the mecanism to update KPIs automatically. A
scheduler is executed every hour and updates the KPI values, based on
the periodicity of each KPI. KPI computation can also be done manually.</p>
<p>A threshold is a list of ranges and a range is:</p>
<ul class="simple">
<li>a name (like Good, Warning, Bad)</li>
<li>a minimum value (fixed, sql query or python code)</li>
<li>a maximum value (fixed, sql query or python code)</li>
<li>color (RGB code like #00FF00 for green, #FFA500 for orange, #FF0000 for red)</li>
<li>color (RGB code like #00FF00 for green, #FFA500 for orange, #FF0000
for red)</li>
</ul>
<p><strong>Table of contents</strong></p>
<div class="contents local topic" id="contents">
Expand All @@ -399,15 +399,14 @@ <h1 class="title">Key Performance Indicator</h1>
</div>
<div class="section" id="usage">
<h1><a class="toc-backref" href="#toc-entry-1">Usage</a></h1>
<p>Example of usage:
<a class="reference external" href="https://www.youtube.com/watch?v=OC4-y2klzIk">https://www.youtube.com/watch?v=OC4-y2klzIk</a></p>
<p>Example of usage: <a class="reference external" href="https://www.youtube.com/watch?v=OC4-y2klzIk">https://www.youtube.com/watch?v=OC4-y2klzIk</a></p>
</div>
<div class="section" id="bug-tracker">
<h1><a class="toc-backref" href="#toc-entry-2">Bug Tracker</a></h1>
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/reporting-engine/issues">GitHub Issues</a>.
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
<a class="reference external" href="https://github.com/OCA/reporting-engine/issues/new?body=module:%20kpi%0Aversion:%2013.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
<a class="reference external" href="https://github.com/OCA/reporting-engine/issues/new?body=module:%20kpi%0Aversion:%2017.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
<p>Do not contact contributors directly about support or help with technical issues.</p>
</div>
<div class="section" id="credits">
Expand Down Expand Up @@ -437,11 +436,13 @@ <h2><a class="toc-backref" href="#toc-entry-5">Contributors</a></h2>
<div class="section" id="maintainers">
<h2><a class="toc-backref" href="#toc-entry-6">Maintainers</a></h2>
<p>This module is maintained by the OCA.</p>
<a class="reference external image-reference" href="https://odoo-community.org"><img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" /></a>
<a class="reference external image-reference" href="https://odoo-community.org">
<img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" />
</a>
<p>OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.</p>
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/reporting-engine/tree/13.0/kpi">OCA/reporting-engine</a> project on GitHub.</p>
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/reporting-engine/tree/17.0/kpi">OCA/reporting-engine</a> project on GitHub.</p>
<p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
</div>
</div>
Expand Down

0 comments on commit 2c90170

Please sign in to comment.