Browse Source
Merge pull request #510 from dreispt/9.0-add-kpi
Merge pull request #510 from dreispt/9.0-add-kpi
[ADD] Extract kpi module from OCA/management-system#7.0pull/546/head
Maxime Chambreuil
8 years ago
committed by
GitHub
16 changed files with 2750 additions and 0 deletions
-
3mgmtsystem_kpi/__init__.py
-
70mgmtsystem_kpi/__openerp__.py
-
364mgmtsystem_kpi/i18n/fr.po
-
351mgmtsystem_kpi/i18n/mgmtsystem_kpi.pot
-
363mgmtsystem_kpi/i18n/nb.po
-
363mgmtsystem_kpi/i18n/pt_BR.po
-
357mgmtsystem_kpi/i18n/vi.po
-
BINmgmtsystem_kpi/images/kpi_computation.png
-
BINmgmtsystem_kpi/images/kpi_definition.png
-
BINmgmtsystem_kpi/images/kpi_range.png
-
BINmgmtsystem_kpi/images/kpi_threshold.png
-
532mgmtsystem_kpi/mgmtsystem_kpi.py
-
300mgmtsystem_kpi/mgmtsystem_kpi_view.xml
-
11mgmtsystem_kpi/security/ir.model.access.csv
-
36mgmtsystem_kpi/security/mgmtsystem_kpi_security.xml
-
BINmgmtsystem_kpi/static/src/img/icon.png
@ -0,0 +1,3 @@ |
|||||
|
# -*- encoding: utf-8 -*- |
||||
|
|
||||
|
from . import mgmtsystem_kpi |
@ -0,0 +1,70 @@ |
|||||
|
# -*- encoding: utf-8 -*- |
||||
|
############################################################################## |
||||
|
# |
||||
|
# OpenERP, Open Source Management Solution |
||||
|
# Copyright (C) 2012 Savoir-faire Linux (<http://www.savoirfairelinux.com>). |
||||
|
# |
||||
|
# This program is free software: you can redistribute it and/or modify |
||||
|
# it under the terms of the GNU Affero General Public License as |
||||
|
# published by the Free Software Foundation, either version 3 of the |
||||
|
# License, or (at your option) any later version. |
||||
|
# |
||||
|
# This program is distributed in the hope that it will be useful, |
||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
|
# GNU Affero General Public License for more details. |
||||
|
# |
||||
|
# You should have received a copy of the GNU Affero General Public License |
||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
############################################################################## |
||||
|
{ |
||||
|
"name": "Key Performance Indicator", |
||||
|
"version": "7.0.1.1.1", |
||||
|
"author": "Savoir-faire Linux,Odoo Community Association (OCA)", |
||||
|
"website": "http://www.savoirfairelinux.com", |
||||
|
"license": "AGPL-3", |
||||
|
"category": "Management System", |
||||
|
"complexity": "normal", |
||||
|
"description": """\ |
||||
|
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) |
||||
|
|
||||
|
This module depends on: |
||||
|
* base_external_dbsource (available in lp:openobject-extension) |
||||
|
* web_color (available in lp:web-addons) |
||||
|
""", |
||||
|
"depends": [ |
||||
|
'mgmtsystem', |
||||
|
'base_external_dbsource', |
||||
|
'web_color', |
||||
|
], |
||||
|
"data": [ |
||||
|
'security/ir.model.access.csv', |
||||
|
'security/mgmtsystem_kpi_security.xml', |
||||
|
'mgmtsystem_kpi_view.xml', |
||||
|
], |
||||
|
"images": [ |
||||
|
"images/kpi_definition.png", |
||||
|
"images/kpi_computation.png", |
||||
|
"images/kpi_threshold.png", |
||||
|
"images/kpi_range.png", |
||||
|
], |
||||
|
"demo": [], |
||||
|
"test": [], |
||||
|
'installable': False, |
||||
|
} |
||||
|
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: |
@ -0,0 +1,364 @@ |
|||||
|
# French translation for openerp-mgmtsystem |
||||
|
# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 |
||||
|
# This file is distributed under the same license as the openerp-mgmtsystem package. |
||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013. |
||||
|
# |
||||
|
msgid "" |
||||
|
msgstr "" |
||||
|
"Project-Id-Version: openerp-mgmtsystem\n" |
||||
|
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" |
||||
|
"POT-Creation-Date: 2013-04-03 18:36+0000\n" |
||||
|
"PO-Revision-Date: 2013-05-14 01:00+0000\n" |
||||
|
"Last-Translator: Maxime Chambreuil (http://www.savoirfairelinux.com) " |
||||
|
"<maxime.chambreuil@savoirfairelinux.com>\n" |
||||
|
"Language-Team: French <fr@li.org>\n" |
||||
|
"MIME-Version: 1.0\n" |
||||
|
"Content-Type: text/plain; charset=UTF-8\n" |
||||
|
"Content-Transfer-Encoding: 8bit\n" |
||||
|
"X-Launchpad-Export-Date: 2014-04-24 06:29+0000\n" |
||||
|
"X-Generator: Launchpad (build 16985)\n" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi:0 |
||||
|
#: field:mgmtsystem.kpi,category_id:0 |
||||
|
#: view:mgmtsystem.kpi.category:0 |
||||
|
msgid "Category" |
||||
|
msgstr "Catégorie" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi:0 |
||||
|
msgid "KPI Computation" |
||||
|
msgstr "Calcul de ICP" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: help:mgmtsystem.kpi.threshold.range,color:0 |
||||
|
msgid "RGB code with #" |
||||
|
msgstr "Code RVB incluant le #" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi.history:0 |
||||
|
msgid "KPI History" |
||||
|
msgstr "Historique de l'ICP" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: help:mgmtsystem.kpi,kpi_code:0 |
||||
|
msgid "" |
||||
|
"SQL code must return the result as 'value' (i.e. 'SELECT 5 AS value')." |
||||
|
msgstr "" |
||||
|
"Le code SQL doit retourner le résultat comme une \"value\" (ex: \"SELECT 5 " |
||||
|
"AS value\")." |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi,kpi_type:0 |
||||
|
msgid "KPI Computation Type" |
||||
|
msgstr "Type de calcul de l'ICP" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: model:ir.actions.act_window,name:mgmtsystem_kpi.open_mgmtsystem_kpi_list |
||||
|
#: view:mgmtsystem.kpi:0 |
||||
|
msgid "Key Performance Indicators" |
||||
|
msgstr "Indicateurs Clé de Performance" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi:0 |
||||
|
msgid "Group By..." |
||||
|
msgstr "Regrouper par..." |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi.threshold,valid:0 |
||||
|
#: field:mgmtsystem.kpi.threshold.range,valid:0 |
||||
|
msgid "Valid" |
||||
|
msgstr "Valide" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: selection:mgmtsystem.kpi,kpi_type:0 |
||||
|
#: selection:mgmtsystem.kpi.threshold.range,max_type:0 |
||||
|
#: selection:mgmtsystem.kpi.threshold.range,min_type:0 |
||||
|
msgid "SQL - Local DB" |
||||
|
msgstr "SQL - Base locale" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: model:ir.model,name:mgmtsystem_kpi.model_mgmtsystem_kpi_category |
||||
|
msgid "KPI Category" |
||||
|
msgstr "Catégorie ICP" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi,periodicity_uom:0 |
||||
|
msgid "Periodicity UoM" |
||||
|
msgstr "UdM de la périodicité" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi:0 |
||||
|
msgid "Type" |
||||
|
msgstr "Type" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi,name:0 |
||||
|
#: field:mgmtsystem.kpi.category,name:0 |
||||
|
#: field:mgmtsystem.kpi.history,name:0 |
||||
|
#: field:mgmtsystem.kpi.threshold,name:0 |
||||
|
#: field:mgmtsystem.kpi.threshold.range,name:0 |
||||
|
msgid "Name" |
||||
|
msgstr "Nom" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: selection:mgmtsystem.kpi,periodicity_uom:0 |
||||
|
msgid "Week" |
||||
|
msgstr "Semaine" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi:0 |
||||
|
#: field:mgmtsystem.kpi,description:0 |
||||
|
#: field:mgmtsystem.kpi.category,description:0 |
||||
|
msgid "Description" |
||||
|
msgstr "Description" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: selection:mgmtsystem.kpi,kpi_type:0 |
||||
|
msgid "Python" |
||||
|
msgstr "Python" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi.threshold.range,max_code:0 |
||||
|
msgid "Maximum Computation Code" |
||||
|
msgstr "Code de calcul du maximum" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi.threshold.range,min_type:0 |
||||
|
msgid "Min Type" |
||||
|
msgstr "Type du minimum" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: model:ir.actions.act_window,name:mgmtsystem_kpi.open_mgmtsystem_threshold_range_list |
||||
|
#: model:ir.ui.menu,name:mgmtsystem_kpi.menu_mgmtsystem_configuration_kpi_range |
||||
|
#: view:mgmtsystem.kpi.threshold:0 |
||||
|
#: field:mgmtsystem.kpi.threshold,range_ids:0 |
||||
|
#: view:mgmtsystem.kpi.threshold.range:0 |
||||
|
msgid "Ranges" |
||||
|
msgstr "Intervalles" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: code:addons/mgmtsystem_kpi/mgmtsystem_kpi.py:218 |
||||
|
#, python-format |
||||
|
msgid "2 of your ranges are overlapping!" |
||||
|
msgstr "2 périodes se chevauchent!" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: model:ir.ui.menu,name:mgmtsystem_kpi.menu_mgmtsystem_configuration_kpi_dbsource |
||||
|
msgid "Data Sources" |
||||
|
msgstr "Sources de données" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi.threshold.range,max_type:0 |
||||
|
msgid "Max Type" |
||||
|
msgstr "Type du maximum" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi:0 |
||||
|
msgid "" |
||||
|
"Only active KPIs are computed by the scheduler based on the periodicity " |
||||
|
"configuration." |
||||
|
msgstr "" |
||||
|
"Seuls les ICPs actifs sont calculés par l'ordonnanceur en fonction de la " |
||||
|
"configuration de la périodicité." |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi:0 |
||||
|
#: field:mgmtsystem.kpi,active:0 |
||||
|
msgid "Active" |
||||
|
msgstr "Actif" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: model:ir.model,name:mgmtsystem_kpi.model_mgmtsystem_kpi_threshold |
||||
|
msgid "KPI Threshold" |
||||
|
msgstr "Seuil de l'ICP" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: selection:mgmtsystem.kpi,periodicity_uom:0 |
||||
|
msgid "Day" |
||||
|
msgstr "Jour" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: selection:mgmtsystem.kpi.threshold.range,max_type:0 |
||||
|
#: selection:mgmtsystem.kpi.threshold.range,min_type:0 |
||||
|
msgid "Fixed value" |
||||
|
msgstr "Valeur fixe" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: model:ir.model,name:mgmtsystem_kpi.model_mgmtsystem_kpi_threshold_range |
||||
|
msgid "KPI Threshold Range" |
||||
|
msgstr "Intervalle du seuil de l'ICP" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi.threshold.range,min_code:0 |
||||
|
msgid "Minimum Computation Code" |
||||
|
msgstr "Code de calcul du minimum" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: code:addons/mgmtsystem_kpi/mgmtsystem_kpi.py:218 |
||||
|
#, python-format |
||||
|
msgid "Please make sure your ranges do not overlap!" |
||||
|
msgstr "Assurez-vous que vos intervalles ne se chevauchent pas !" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi,kpi_code:0 |
||||
|
msgid "KPI Code" |
||||
|
msgstr "Code ICP" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: selection:mgmtsystem.kpi,periodicity_uom:0 |
||||
|
msgid "Hour" |
||||
|
msgstr "Heure" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi.history,date:0 |
||||
|
msgid "Execution Date" |
||||
|
msgstr "Date d'exécution" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi.threshold.range:0 |
||||
|
#: field:mgmtsystem.kpi.threshold.range,max_fixed_value:0 |
||||
|
#: field:mgmtsystem.kpi.threshold.range,max_value:0 |
||||
|
msgid "Maximum" |
||||
|
msgstr "Maximum" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi:0 |
||||
|
msgid "Compute KPI Now" |
||||
|
msgstr "Calculez l'ICP maintenant" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: selection:mgmtsystem.kpi.threshold.range,min_type:0 |
||||
|
msgid "SQL - Externa DB" |
||||
|
msgstr "SQL - BD externe" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: model:ir.model,name:mgmtsystem_kpi.model_mgmtsystem_kpi_history |
||||
|
msgid "History of the KPI" |
||||
|
msgstr "Historique de l'ICP" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi,next_execution_date:0 |
||||
|
msgid "Next execution date" |
||||
|
msgstr "Prochaine date d'exécution" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi,dbsource_id:0 |
||||
|
#: field:mgmtsystem.kpi.threshold.range,max_dbsource_id:0 |
||||
|
#: field:mgmtsystem.kpi.threshold.range,min_dbsource_id:0 |
||||
|
msgid "External DB Source" |
||||
|
msgstr "Source de données externe" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: help:mgmtsystem.kpi,active:0 |
||||
|
msgid "" |
||||
|
"Only active KPIs will be updated by the scheduler based on the periodicity " |
||||
|
"configuration." |
||||
|
msgstr "" |
||||
|
"Seuls les ICPs actif seront mis à jour par l'ordonnanceur en fonction de la " |
||||
|
"configuration de la périodicité." |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: model:ir.ui.menu,name:mgmtsystem_kpi.menu_mgmtsystem_configuration_kpi |
||||
|
#: model:ir.ui.menu,name:mgmtsystem_kpi.menu_mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi:0 |
||||
|
#: field:mgmtsystem.kpi.history,kpi_id:0 |
||||
|
msgid "KPI" |
||||
|
msgstr "ICP" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi:0 |
||||
|
#: field:mgmtsystem.kpi,history_ids:0 |
||||
|
msgid "History" |
||||
|
msgstr "Historique" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi,periodicity:0 |
||||
|
msgid "Periodicity" |
||||
|
msgstr "Fréquence" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi.history,color:0 |
||||
|
#: field:mgmtsystem.kpi.threshold.range,color:0 |
||||
|
msgid "Color" |
||||
|
msgstr "Couleur" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: selection:mgmtsystem.kpi,kpi_type:0 |
||||
|
#: selection:mgmtsystem.kpi.threshold.range,max_type:0 |
||||
|
msgid "SQL - External DB" |
||||
|
msgstr "SQL - BD externe" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: selection:mgmtsystem.kpi.threshold.range,max_type:0 |
||||
|
#: selection:mgmtsystem.kpi.threshold.range,min_type:0 |
||||
|
msgid "Python Code" |
||||
|
msgstr "Code Python" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi.threshold.range:0 |
||||
|
msgid "Range" |
||||
|
msgstr "Intervalle" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: selection:mgmtsystem.kpi,periodicity_uom:0 |
||||
|
msgid "Month" |
||||
|
msgstr "Mois" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi,value:0 |
||||
|
#: field:mgmtsystem.kpi.history,value:0 |
||||
|
msgid "Value" |
||||
|
msgstr "Valeur" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi.threshold.range:0 |
||||
|
#: field:mgmtsystem.kpi.threshold.range,min_fixed_value:0 |
||||
|
#: field:mgmtsystem.kpi.threshold.range,min_value:0 |
||||
|
msgid "Minimum" |
||||
|
msgstr "Minimum" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: model:ir.actions.act_window,name:mgmtsystem_kpi.open_mgmtsystem_category_list |
||||
|
#: model:ir.ui.menu,name:mgmtsystem_kpi.menu_mgmtsystem_configuration_kpi_category |
||||
|
#: view:mgmtsystem.kpi.category:0 |
||||
|
msgid "Categories" |
||||
|
msgstr "Catégories" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi:0 |
||||
|
msgid "Computation" |
||||
|
msgstr "Calcul" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi,threshold_id:0 |
||||
|
#: view:mgmtsystem.kpi.threshold:0 |
||||
|
msgid "Threshold" |
||||
|
msgstr "Seuil" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi.threshold:0 |
||||
|
#: field:mgmtsystem.kpi.threshold,kpi_ids:0 |
||||
|
msgid "KPIs" |
||||
|
msgstr "ICPs" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi.threshold,invalid_message:0 |
||||
|
#: field:mgmtsystem.kpi.threshold.range,invalid_message:0 |
||||
|
msgid "Message" |
||||
|
msgstr "Message" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: model:ir.actions.act_window,name:mgmtsystem_kpi.open_mgmtsystem_threshold_list |
||||
|
#: model:ir.ui.menu,name:mgmtsystem_kpi.menu_mgmtsystem_configuration_kpi_threshold |
||||
|
#: view:mgmtsystem.kpi.threshold:0 |
||||
|
#: view:mgmtsystem.kpi.threshold.range:0 |
||||
|
#: field:mgmtsystem.kpi.threshold.range,threshold_ids:0 |
||||
|
msgid "Thresholds" |
||||
|
msgstr "Seuils" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: model:ir.model,name:mgmtsystem_kpi.model_mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi:0 |
||||
|
msgid "Key Performance Indicator" |
||||
|
msgstr "Indicateur Clé de Performance" |
@ -0,0 +1,351 @@ |
|||||
|
# Translation of OpenERP Server. |
||||
|
# This file contains the translation of the following modules: |
||||
|
# * mgmtsystem_kpi |
||||
|
# |
||||
|
msgid "" |
||||
|
msgstr "" |
||||
|
"Project-Id-Version: OpenERP Server 7.0\n" |
||||
|
"Report-Msgid-Bugs-To: \n" |
||||
|
"POT-Creation-Date: 2013-04-03 18:36+0000\n" |
||||
|
"PO-Revision-Date: 2013-04-03 18:36+0000\n" |
||||
|
"Last-Translator: <>\n" |
||||
|
"Language-Team: \n" |
||||
|
"MIME-Version: 1.0\n" |
||||
|
"Content-Type: text/plain; charset=UTF-8\n" |
||||
|
"Content-Transfer-Encoding: \n" |
||||
|
"Plural-Forms: \n" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi:0 |
||||
|
#: field:mgmtsystem.kpi,category_id:0 |
||||
|
#: view:mgmtsystem.kpi.category:0 |
||||
|
msgid "Category" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi:0 |
||||
|
msgid "KPI Computation" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: help:mgmtsystem.kpi.threshold.range,color:0 |
||||
|
msgid "RGB code with #" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi.history:0 |
||||
|
msgid "KPI History" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: help:mgmtsystem.kpi,kpi_code:0 |
||||
|
msgid "SQL code must return the result as 'value' (i.e. 'SELECT 5 AS value')." |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi,kpi_type:0 |
||||
|
msgid "KPI Computation Type" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: model:ir.actions.act_window,name:mgmtsystem_kpi.open_mgmtsystem_kpi_list |
||||
|
#: view:mgmtsystem.kpi:0 |
||||
|
msgid "Key Performance Indicators" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi:0 |
||||
|
msgid "Group By..." |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi.threshold,valid:0 |
||||
|
#: field:mgmtsystem.kpi.threshold.range,valid:0 |
||||
|
msgid "Valid" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: selection:mgmtsystem.kpi,kpi_type:0 |
||||
|
#: selection:mgmtsystem.kpi.threshold.range,max_type:0 |
||||
|
#: selection:mgmtsystem.kpi.threshold.range,min_type:0 |
||||
|
msgid "SQL - Local DB" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: model:ir.model,name:mgmtsystem_kpi.model_mgmtsystem_kpi_category |
||||
|
msgid "KPI Category" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi,periodicity_uom:0 |
||||
|
msgid "Periodicity UoM" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi:0 |
||||
|
msgid "Type" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi,name:0 |
||||
|
#: field:mgmtsystem.kpi.category,name:0 |
||||
|
#: field:mgmtsystem.kpi.history,name:0 |
||||
|
#: field:mgmtsystem.kpi.threshold,name:0 |
||||
|
#: field:mgmtsystem.kpi.threshold.range,name:0 |
||||
|
msgid "Name" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: selection:mgmtsystem.kpi,periodicity_uom:0 |
||||
|
msgid "Week" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi:0 |
||||
|
#: field:mgmtsystem.kpi,description:0 |
||||
|
#: field:mgmtsystem.kpi.category,description:0 |
||||
|
msgid "Description" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: selection:mgmtsystem.kpi,kpi_type:0 |
||||
|
msgid "Python" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi.threshold.range,max_code:0 |
||||
|
msgid "Maximum Computation Code" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi.threshold.range,min_type:0 |
||||
|
msgid "Min Type" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: model:ir.actions.act_window,name:mgmtsystem_kpi.open_mgmtsystem_threshold_range_list |
||||
|
#: model:ir.ui.menu,name:mgmtsystem_kpi.menu_mgmtsystem_configuration_kpi_range |
||||
|
#: view:mgmtsystem.kpi.threshold:0 |
||||
|
#: field:mgmtsystem.kpi.threshold,range_ids:0 |
||||
|
#: view:mgmtsystem.kpi.threshold.range:0 |
||||
|
msgid "Ranges" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: code:addons/mgmtsystem_kpi/mgmtsystem_kpi.py:218 |
||||
|
#, python-format |
||||
|
msgid "2 of your ranges are overlapping!" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: model:ir.ui.menu,name:mgmtsystem_kpi.menu_mgmtsystem_configuration_kpi_dbsource |
||||
|
msgid "Data Sources" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi.threshold.range,max_type:0 |
||||
|
msgid "Max Type" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi:0 |
||||
|
msgid "Only active KPIs are computed by the scheduler based on the periodicity configuration." |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi:0 |
||||
|
#: field:mgmtsystem.kpi,active:0 |
||||
|
msgid "Active" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: model:ir.model,name:mgmtsystem_kpi.model_mgmtsystem_kpi_threshold |
||||
|
msgid "KPI Threshold" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: selection:mgmtsystem.kpi,periodicity_uom:0 |
||||
|
msgid "Day" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: selection:mgmtsystem.kpi.threshold.range,max_type:0 |
||||
|
#: selection:mgmtsystem.kpi.threshold.range,min_type:0 |
||||
|
msgid "Fixed value" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: model:ir.model,name:mgmtsystem_kpi.model_mgmtsystem_kpi_threshold_range |
||||
|
msgid "KPI Threshold Range" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi.threshold.range,min_code:0 |
||||
|
msgid "Minimum Computation Code" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: code:addons/mgmtsystem_kpi/mgmtsystem_kpi.py:218 |
||||
|
#, python-format |
||||
|
msgid "Please make sure your ranges do not overlap!" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi,kpi_code:0 |
||||
|
msgid "KPI Code" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: selection:mgmtsystem.kpi,periodicity_uom:0 |
||||
|
msgid "Hour" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi.history,date:0 |
||||
|
msgid "Execution Date" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi.threshold.range:0 |
||||
|
#: field:mgmtsystem.kpi.threshold.range,max_fixed_value:0 |
||||
|
#: field:mgmtsystem.kpi.threshold.range,max_value:0 |
||||
|
msgid "Maximum" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi:0 |
||||
|
msgid "Compute KPI Now" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: selection:mgmtsystem.kpi.threshold.range,min_type:0 |
||||
|
msgid "SQL - Externa DB" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: model:ir.model,name:mgmtsystem_kpi.model_mgmtsystem_kpi_history |
||||
|
msgid "History of the KPI" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi,next_execution_date:0 |
||||
|
msgid "Next execution date" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi,dbsource_id:0 |
||||
|
#: field:mgmtsystem.kpi.threshold.range,max_dbsource_id:0 |
||||
|
#: field:mgmtsystem.kpi.threshold.range,min_dbsource_id:0 |
||||
|
msgid "External DB Source" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: help:mgmtsystem.kpi,active:0 |
||||
|
msgid "Only active KPIs will be updated by the scheduler based on the periodicity configuration." |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: model:ir.ui.menu,name:mgmtsystem_kpi.menu_mgmtsystem_configuration_kpi |
||||
|
#: model:ir.ui.menu,name:mgmtsystem_kpi.menu_mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi:0 |
||||
|
#: field:mgmtsystem.kpi.history,kpi_id:0 |
||||
|
msgid "KPI" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi:0 |
||||
|
#: field:mgmtsystem.kpi,history_ids:0 |
||||
|
msgid "History" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi,periodicity:0 |
||||
|
msgid "Periodicity" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi.history,color:0 |
||||
|
#: field:mgmtsystem.kpi.threshold.range,color:0 |
||||
|
msgid "Color" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: selection:mgmtsystem.kpi,kpi_type:0 |
||||
|
#: selection:mgmtsystem.kpi.threshold.range,max_type:0 |
||||
|
msgid "SQL - External DB" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: selection:mgmtsystem.kpi.threshold.range,max_type:0 |
||||
|
#: selection:mgmtsystem.kpi.threshold.range,min_type:0 |
||||
|
msgid "Python Code" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi.threshold.range:0 |
||||
|
msgid "Range" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: selection:mgmtsystem.kpi,periodicity_uom:0 |
||||
|
msgid "Month" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi,value:0 |
||||
|
#: field:mgmtsystem.kpi.history,value:0 |
||||
|
msgid "Value" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi.threshold.range:0 |
||||
|
#: field:mgmtsystem.kpi.threshold.range,min_fixed_value:0 |
||||
|
#: field:mgmtsystem.kpi.threshold.range,min_value:0 |
||||
|
msgid "Minimum" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: model:ir.actions.act_window,name:mgmtsystem_kpi.open_mgmtsystem_category_list |
||||
|
#: model:ir.ui.menu,name:mgmtsystem_kpi.menu_mgmtsystem_configuration_kpi_category |
||||
|
#: view:mgmtsystem.kpi.category:0 |
||||
|
msgid "Categories" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi:0 |
||||
|
msgid "Computation" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi,threshold_id:0 |
||||
|
#: view:mgmtsystem.kpi.threshold:0 |
||||
|
msgid "Threshold" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi.threshold:0 |
||||
|
#: field:mgmtsystem.kpi.threshold,kpi_ids:0 |
||||
|
msgid "KPIs" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi.threshold,invalid_message:0 |
||||
|
#: field:mgmtsystem.kpi.threshold.range,invalid_message:0 |
||||
|
msgid "Message" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: model:ir.actions.act_window,name:mgmtsystem_kpi.open_mgmtsystem_threshold_list |
||||
|
#: model:ir.ui.menu,name:mgmtsystem_kpi.menu_mgmtsystem_configuration_kpi_threshold |
||||
|
#: view:mgmtsystem.kpi.threshold:0 |
||||
|
#: view:mgmtsystem.kpi.threshold.range:0 |
||||
|
#: field:mgmtsystem.kpi.threshold.range,threshold_ids:0 |
||||
|
msgid "Thresholds" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: model:ir.model,name:mgmtsystem_kpi.model_mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi:0 |
||||
|
msgid "Key Performance Indicator" |
||||
|
msgstr "" |
||||
|
|
@ -0,0 +1,363 @@ |
|||||
|
# Norwegian Bokmal translation for openerp-mgmtsystem |
||||
|
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014 |
||||
|
# This file is distributed under the same license as the openerp-mgmtsystem package. |
||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014. |
||||
|
# |
||||
|
msgid "" |
||||
|
msgstr "" |
||||
|
"Project-Id-Version: openerp-mgmtsystem\n" |
||||
|
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" |
||||
|
"POT-Creation-Date: 2013-04-03 18:36+0000\n" |
||||
|
"PO-Revision-Date: 2014-01-22 17:33+0000\n" |
||||
|
"Last-Translator: Torvald Baade Bringsvor <torvald@bringsvor.com>\n" |
||||
|
"Language-Team: Norwegian Bokmal <nb@li.org>\n" |
||||
|
"MIME-Version: 1.0\n" |
||||
|
"Content-Type: text/plain; charset=UTF-8\n" |
||||
|
"Content-Transfer-Encoding: 8bit\n" |
||||
|
"X-Launchpad-Export-Date: 2014-04-24 06:30+0000\n" |
||||
|
"X-Generator: Launchpad (build 16985)\n" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi:0 |
||||
|
#: field:mgmtsystem.kpi,category_id:0 |
||||
|
#: view:mgmtsystem.kpi.category:0 |
||||
|
msgid "Category" |
||||
|
msgstr "Kategori" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi:0 |
||||
|
msgid "KPI Computation" |
||||
|
msgstr "KPI beregning" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: help:mgmtsystem.kpi.threshold.range,color:0 |
||||
|
msgid "RGB code with #" |
||||
|
msgstr "RGB kode med tall" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi.history:0 |
||||
|
msgid "KPI History" |
||||
|
msgstr "KPI Historikk" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: help:mgmtsystem.kpi,kpi_code:0 |
||||
|
msgid "" |
||||
|
"SQL code must return the result as 'value' (i.e. 'SELECT 5 AS value')." |
||||
|
msgstr "" |
||||
|
"SQL kode må returnere resultatet som 'verdi' (for eksempel 'SELECT S AS " |
||||
|
"verdi')." |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi,kpi_type:0 |
||||
|
msgid "KPI Computation Type" |
||||
|
msgstr "KPI Beregningstype" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: model:ir.actions.act_window,name:mgmtsystem_kpi.open_mgmtsystem_kpi_list |
||||
|
#: view:mgmtsystem.kpi:0 |
||||
|
msgid "Key Performance Indicators" |
||||
|
msgstr "Nøkkeltall for ytelse (KPI)" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi:0 |
||||
|
msgid "Group By..." |
||||
|
msgstr "Grupper etter ..." |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi.threshold,valid:0 |
||||
|
#: field:mgmtsystem.kpi.threshold.range,valid:0 |
||||
|
msgid "Valid" |
||||
|
msgstr "Gyldig" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: selection:mgmtsystem.kpi,kpi_type:0 |
||||
|
#: selection:mgmtsystem.kpi.threshold.range,max_type:0 |
||||
|
#: selection:mgmtsystem.kpi.threshold.range,min_type:0 |
||||
|
msgid "SQL - Local DB" |
||||
|
msgstr "SQL - lokal database" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: model:ir.model,name:mgmtsystem_kpi.model_mgmtsystem_kpi_category |
||||
|
msgid "KPI Category" |
||||
|
msgstr "KPI Kategori" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi,periodicity_uom:0 |
||||
|
msgid "Periodicity UoM" |
||||
|
msgstr "Periodisitet måleenhet (UoM)" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi:0 |
||||
|
msgid "Type" |
||||
|
msgstr "Type" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi,name:0 |
||||
|
#: field:mgmtsystem.kpi.category,name:0 |
||||
|
#: field:mgmtsystem.kpi.history,name:0 |
||||
|
#: field:mgmtsystem.kpi.threshold,name:0 |
||||
|
#: field:mgmtsystem.kpi.threshold.range,name:0 |
||||
|
msgid "Name" |
||||
|
msgstr "Navn" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: selection:mgmtsystem.kpi,periodicity_uom:0 |
||||
|
msgid "Week" |
||||
|
msgstr "Uke" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi:0 |
||||
|
#: field:mgmtsystem.kpi,description:0 |
||||
|
#: field:mgmtsystem.kpi.category,description:0 |
||||
|
msgid "Description" |
||||
|
msgstr "Beskrivelse" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: selection:mgmtsystem.kpi,kpi_type:0 |
||||
|
msgid "Python" |
||||
|
msgstr "Python" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi.threshold.range,max_code:0 |
||||
|
msgid "Maximum Computation Code" |
||||
|
msgstr "Maksimal beregningskode" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi.threshold.range,min_type:0 |
||||
|
msgid "Min Type" |
||||
|
msgstr "Min type" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: model:ir.actions.act_window,name:mgmtsystem_kpi.open_mgmtsystem_threshold_range_list |
||||
|
#: model:ir.ui.menu,name:mgmtsystem_kpi.menu_mgmtsystem_configuration_kpi_range |
||||
|
#: view:mgmtsystem.kpi.threshold:0 |
||||
|
#: field:mgmtsystem.kpi.threshold,range_ids:0 |
||||
|
#: view:mgmtsystem.kpi.threshold.range:0 |
||||
|
msgid "Ranges" |
||||
|
msgstr "Områder" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: code:addons/mgmtsystem_kpi/mgmtsystem_kpi.py:218 |
||||
|
#, python-format |
||||
|
msgid "2 of your ranges are overlapping!" |
||||
|
msgstr "to av dine områder overlapper" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: model:ir.ui.menu,name:mgmtsystem_kpi.menu_mgmtsystem_configuration_kpi_dbsource |
||||
|
msgid "Data Sources" |
||||
|
msgstr "Datakilder" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi.threshold.range,max_type:0 |
||||
|
msgid "Max Type" |
||||
|
msgstr "Maks type" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi:0 |
||||
|
msgid "" |
||||
|
"Only active KPIs are computed by the scheduler based on the periodicity " |
||||
|
"configuration." |
||||
|
msgstr "" |
||||
|
"Kun aktive KPIer blir beregnet periodisk (av scheduler) basert på " |
||||
|
"konfigurert periode." |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi:0 |
||||
|
#: field:mgmtsystem.kpi,active:0 |
||||
|
msgid "Active" |
||||
|
msgstr "Aktiv" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: model:ir.model,name:mgmtsystem_kpi.model_mgmtsystem_kpi_threshold |
||||
|
msgid "KPI Threshold" |
||||
|
msgstr "KPI nivå" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: selection:mgmtsystem.kpi,periodicity_uom:0 |
||||
|
msgid "Day" |
||||
|
msgstr "Dag" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: selection:mgmtsystem.kpi.threshold.range,max_type:0 |
||||
|
#: selection:mgmtsystem.kpi.threshold.range,min_type:0 |
||||
|
msgid "Fixed value" |
||||
|
msgstr "Fast verdi" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: model:ir.model,name:mgmtsystem_kpi.model_mgmtsystem_kpi_threshold_range |
||||
|
msgid "KPI Threshold Range" |
||||
|
msgstr "KPI Nivåområde" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi.threshold.range,min_code:0 |
||||
|
msgid "Minimum Computation Code" |
||||
|
msgstr "Minimal beregningskode" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: code:addons/mgmtsystem_kpi/mgmtsystem_kpi.py:218 |
||||
|
#, python-format |
||||
|
msgid "Please make sure your ranges do not overlap!" |
||||
|
msgstr "Vennligst vær sikker på at områdene ikke overlapper!" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi,kpi_code:0 |
||||
|
msgid "KPI Code" |
||||
|
msgstr "KPI kode" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: selection:mgmtsystem.kpi,periodicity_uom:0 |
||||
|
msgid "Hour" |
||||
|
msgstr "Time" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi.history,date:0 |
||||
|
msgid "Execution Date" |
||||
|
msgstr "Gjennomførings dato" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi.threshold.range:0 |
||||
|
#: field:mgmtsystem.kpi.threshold.range,max_fixed_value:0 |
||||
|
#: field:mgmtsystem.kpi.threshold.range,max_value:0 |
||||
|
msgid "Maximum" |
||||
|
msgstr "Maksimum" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi:0 |
||||
|
msgid "Compute KPI Now" |
||||
|
msgstr "Beregn KPI Nå" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: selection:mgmtsystem.kpi.threshold.range,min_type:0 |
||||
|
msgid "SQL - Externa DB" |
||||
|
msgstr "SQL - Ekstern database" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: model:ir.model,name:mgmtsystem_kpi.model_mgmtsystem_kpi_history |
||||
|
msgid "History of the KPI" |
||||
|
msgstr "Historisk KPI" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi,next_execution_date:0 |
||||
|
msgid "Next execution date" |
||||
|
msgstr "Neste eksekveringsdato" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi,dbsource_id:0 |
||||
|
#: field:mgmtsystem.kpi.threshold.range,max_dbsource_id:0 |
||||
|
#: field:mgmtsystem.kpi.threshold.range,min_dbsource_id:0 |
||||
|
msgid "External DB Source" |
||||
|
msgstr "Ekstern databasekilde" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: help:mgmtsystem.kpi,active:0 |
||||
|
msgid "" |
||||
|
"Only active KPIs will be updated by the scheduler based on the periodicity " |
||||
|
"configuration." |
||||
|
msgstr "" |
||||
|
"Kun aktive KPIer blir oppdatert periodisk (av scheduler) basert på " |
||||
|
"konfigurert periode." |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: model:ir.ui.menu,name:mgmtsystem_kpi.menu_mgmtsystem_configuration_kpi |
||||
|
#: model:ir.ui.menu,name:mgmtsystem_kpi.menu_mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi:0 |
||||
|
#: field:mgmtsystem.kpi.history,kpi_id:0 |
||||
|
msgid "KPI" |
||||
|
msgstr "KPI" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi:0 |
||||
|
#: field:mgmtsystem.kpi,history_ids:0 |
||||
|
msgid "History" |
||||
|
msgstr "Historikk" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi,periodicity:0 |
||||
|
msgid "Periodicity" |
||||
|
msgstr "Periodisitet" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi.history,color:0 |
||||
|
#: field:mgmtsystem.kpi.threshold.range,color:0 |
||||
|
msgid "Color" |
||||
|
msgstr "Farge" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: selection:mgmtsystem.kpi,kpi_type:0 |
||||
|
#: selection:mgmtsystem.kpi.threshold.range,max_type:0 |
||||
|
msgid "SQL - External DB" |
||||
|
msgstr "SQL - Ekstern database" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: selection:mgmtsystem.kpi.threshold.range,max_type:0 |
||||
|
#: selection:mgmtsystem.kpi.threshold.range,min_type:0 |
||||
|
msgid "Python Code" |
||||
|
msgstr "Python kode" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi.threshold.range:0 |
||||
|
msgid "Range" |
||||
|
msgstr "Intervall" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: selection:mgmtsystem.kpi,periodicity_uom:0 |
||||
|
msgid "Month" |
||||
|
msgstr "Måned" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi,value:0 |
||||
|
#: field:mgmtsystem.kpi.history,value:0 |
||||
|
msgid "Value" |
||||
|
msgstr "Verdi" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi.threshold.range:0 |
||||
|
#: field:mgmtsystem.kpi.threshold.range,min_fixed_value:0 |
||||
|
#: field:mgmtsystem.kpi.threshold.range,min_value:0 |
||||
|
msgid "Minimum" |
||||
|
msgstr "Minimum" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: model:ir.actions.act_window,name:mgmtsystem_kpi.open_mgmtsystem_category_list |
||||
|
#: model:ir.ui.menu,name:mgmtsystem_kpi.menu_mgmtsystem_configuration_kpi_category |
||||
|
#: view:mgmtsystem.kpi.category:0 |
||||
|
msgid "Categories" |
||||
|
msgstr "Kategorier" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi:0 |
||||
|
msgid "Computation" |
||||
|
msgstr "Beregning" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi,threshold_id:0 |
||||
|
#: view:mgmtsystem.kpi.threshold:0 |
||||
|
msgid "Threshold" |
||||
|
msgstr "Terskel" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi.threshold:0 |
||||
|
#: field:mgmtsystem.kpi.threshold,kpi_ids:0 |
||||
|
msgid "KPIs" |
||||
|
msgstr "KPIer" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi.threshold,invalid_message:0 |
||||
|
#: field:mgmtsystem.kpi.threshold.range,invalid_message:0 |
||||
|
msgid "Message" |
||||
|
msgstr "Melding" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: model:ir.actions.act_window,name:mgmtsystem_kpi.open_mgmtsystem_threshold_list |
||||
|
#: model:ir.ui.menu,name:mgmtsystem_kpi.menu_mgmtsystem_configuration_kpi_threshold |
||||
|
#: view:mgmtsystem.kpi.threshold:0 |
||||
|
#: view:mgmtsystem.kpi.threshold.range:0 |
||||
|
#: field:mgmtsystem.kpi.threshold.range,threshold_ids:0 |
||||
|
msgid "Thresholds" |
||||
|
msgstr "Terskler" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: model:ir.model,name:mgmtsystem_kpi.model_mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi:0 |
||||
|
msgid "Key Performance Indicator" |
||||
|
msgstr "Nøkkelindikator for ytelse (KPI)" |
@ -0,0 +1,363 @@ |
|||||
|
# French translation for openerp-mgmtsystem |
||||
|
# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 |
||||
|
# This file is distributed under the same license as the openerp-mgmtsystem package. |
||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013. |
||||
|
# |
||||
|
msgid "" |
||||
|
msgstr "" |
||||
|
"Project-Id-Version: openerp-mgmtsystem\n" |
||||
|
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" |
||||
|
"POT-Creation-Date: 2013-04-03 18:36+0000\n" |
||||
|
"PO-Revision-Date: 2013-07-18 15:14+0000\n" |
||||
|
"Last-Translator: Claudio de Araujo Santos <claudioaraujosantos@gmail.com>\n" |
||||
|
"Language-Team: French <fr@li.org>\n" |
||||
|
"MIME-Version: 1.0\n" |
||||
|
"Content-Type: text/plain; charset=UTF-8\n" |
||||
|
"Content-Transfer-Encoding: 8bit\n" |
||||
|
"X-Launchpad-Export-Date: 2014-04-24 06:30+0000\n" |
||||
|
"X-Generator: Launchpad (build 16985)\n" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi:0 |
||||
|
#: field:mgmtsystem.kpi,category_id:0 |
||||
|
#: view:mgmtsystem.kpi.category:0 |
||||
|
msgid "Category" |
||||
|
msgstr "Categoria" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi:0 |
||||
|
msgid "KPI Computation" |
||||
|
msgstr "Cálculo de ICD" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: help:mgmtsystem.kpi.threshold.range,color:0 |
||||
|
msgid "RGB code with #" |
||||
|
msgstr "Código RGB com #" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi.history:0 |
||||
|
msgid "KPI History" |
||||
|
msgstr "Historico ICD" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: help:mgmtsystem.kpi,kpi_code:0 |
||||
|
msgid "" |
||||
|
"SQL code must return the result as 'value' (i.e. 'SELECT 5 AS value')." |
||||
|
msgstr "" |
||||
|
"Código SQL deve retornar o resultado como \"valor\" (ou seja, 'SELECT 5 AS " |
||||
|
"value')." |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi,kpi_type:0 |
||||
|
msgid "KPI Computation Type" |
||||
|
msgstr "Tipo cálculo ICD" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: model:ir.actions.act_window,name:mgmtsystem_kpi.open_mgmtsystem_kpi_list |
||||
|
#: view:mgmtsystem.kpi:0 |
||||
|
msgid "Key Performance Indicators" |
||||
|
msgstr "Indicadores Chave de Desempenho" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi:0 |
||||
|
msgid "Group By..." |
||||
|
msgstr "Agrupar Por..." |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi.threshold,valid:0 |
||||
|
#: field:mgmtsystem.kpi.threshold.range,valid:0 |
||||
|
msgid "Valid" |
||||
|
msgstr "Válido" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: selection:mgmtsystem.kpi,kpi_type:0 |
||||
|
#: selection:mgmtsystem.kpi.threshold.range,max_type:0 |
||||
|
#: selection:mgmtsystem.kpi.threshold.range,min_type:0 |
||||
|
msgid "SQL - Local DB" |
||||
|
msgstr "SQL - DB local" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: model:ir.model,name:mgmtsystem_kpi.model_mgmtsystem_kpi_category |
||||
|
msgid "KPI Category" |
||||
|
msgstr "Categoria ICD" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi,periodicity_uom:0 |
||||
|
msgid "Periodicity UoM" |
||||
|
msgstr "UoM periodicidade" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi:0 |
||||
|
msgid "Type" |
||||
|
msgstr "Tipo" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi,name:0 |
||||
|
#: field:mgmtsystem.kpi.category,name:0 |
||||
|
#: field:mgmtsystem.kpi.history,name:0 |
||||
|
#: field:mgmtsystem.kpi.threshold,name:0 |
||||
|
#: field:mgmtsystem.kpi.threshold.range,name:0 |
||||
|
msgid "Name" |
||||
|
msgstr "Nome" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: selection:mgmtsystem.kpi,periodicity_uom:0 |
||||
|
msgid "Week" |
||||
|
msgstr "Semana" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi:0 |
||||
|
#: field:mgmtsystem.kpi,description:0 |
||||
|
#: field:mgmtsystem.kpi.category,description:0 |
||||
|
msgid "Description" |
||||
|
msgstr "Descrição" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: selection:mgmtsystem.kpi,kpi_type:0 |
||||
|
msgid "Python" |
||||
|
msgstr "Python" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi.threshold.range,max_code:0 |
||||
|
msgid "Maximum Computation Code" |
||||
|
msgstr "Código máximo do cálculo" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi.threshold.range,min_type:0 |
||||
|
msgid "Min Type" |
||||
|
msgstr "Tipo minimo" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: model:ir.actions.act_window,name:mgmtsystem_kpi.open_mgmtsystem_threshold_range_list |
||||
|
#: model:ir.ui.menu,name:mgmtsystem_kpi.menu_mgmtsystem_configuration_kpi_range |
||||
|
#: view:mgmtsystem.kpi.threshold:0 |
||||
|
#: field:mgmtsystem.kpi.threshold,range_ids:0 |
||||
|
#: view:mgmtsystem.kpi.threshold.range:0 |
||||
|
msgid "Ranges" |
||||
|
msgstr "Intervalos" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: code:addons/mgmtsystem_kpi/mgmtsystem_kpi.py:218 |
||||
|
#, python-format |
||||
|
msgid "2 of your ranges are overlapping!" |
||||
|
msgstr "2 de suas faixas são sobrepostas!" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: model:ir.ui.menu,name:mgmtsystem_kpi.menu_mgmtsystem_configuration_kpi_dbsource |
||||
|
msgid "Data Sources" |
||||
|
msgstr "Fonte de dados" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi.threshold.range,max_type:0 |
||||
|
msgid "Max Type" |
||||
|
msgstr "Tipo máximo" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi:0 |
||||
|
msgid "" |
||||
|
"Only active KPIs are computed by the scheduler based on the periodicity " |
||||
|
"configuration." |
||||
|
msgstr "" |
||||
|
"Só os ICDs ativos são calculados pelo planificador baseado na configuração " |
||||
|
"de periodicidade." |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi:0 |
||||
|
#: field:mgmtsystem.kpi,active:0 |
||||
|
msgid "Active" |
||||
|
msgstr "Ativo" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: model:ir.model,name:mgmtsystem_kpi.model_mgmtsystem_kpi_threshold |
||||
|
msgid "KPI Threshold" |
||||
|
msgstr "Limiar ICD" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: selection:mgmtsystem.kpi,periodicity_uom:0 |
||||
|
msgid "Day" |
||||
|
msgstr "Dia" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: selection:mgmtsystem.kpi.threshold.range,max_type:0 |
||||
|
#: selection:mgmtsystem.kpi.threshold.range,min_type:0 |
||||
|
msgid "Fixed value" |
||||
|
msgstr "Valor fixo" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: model:ir.model,name:mgmtsystem_kpi.model_mgmtsystem_kpi_threshold_range |
||||
|
msgid "KPI Threshold Range" |
||||
|
msgstr "Faixa limiar do ICD" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi.threshold.range,min_code:0 |
||||
|
msgid "Minimum Computation Code" |
||||
|
msgstr "Código minimo de cálculo" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: code:addons/mgmtsystem_kpi/mgmtsystem_kpi.py:218 |
||||
|
#, python-format |
||||
|
msgid "Please make sure your ranges do not overlap!" |
||||
|
msgstr "Por favor, certifique-se seus intervalos não se sobrepõem!" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi,kpi_code:0 |
||||
|
msgid "KPI Code" |
||||
|
msgstr "Código ICD" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: selection:mgmtsystem.kpi,periodicity_uom:0 |
||||
|
msgid "Hour" |
||||
|
msgstr "Hora" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi.history,date:0 |
||||
|
msgid "Execution Date" |
||||
|
msgstr "Data de Execução" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi.threshold.range:0 |
||||
|
#: field:mgmtsystem.kpi.threshold.range,max_fixed_value:0 |
||||
|
#: field:mgmtsystem.kpi.threshold.range,max_value:0 |
||||
|
msgid "Maximum" |
||||
|
msgstr "Máximo" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi:0 |
||||
|
msgid "Compute KPI Now" |
||||
|
msgstr "Cálcule o ICD agora" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: selection:mgmtsystem.kpi.threshold.range,min_type:0 |
||||
|
msgid "SQL - Externa DB" |
||||
|
msgstr "SQL - DB Externo" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: model:ir.model,name:mgmtsystem_kpi.model_mgmtsystem_kpi_history |
||||
|
msgid "History of the KPI" |
||||
|
msgstr "História do ICD" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi,next_execution_date:0 |
||||
|
msgid "Next execution date" |
||||
|
msgstr "Próxima data de execução" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi,dbsource_id:0 |
||||
|
#: field:mgmtsystem.kpi.threshold.range,max_dbsource_id:0 |
||||
|
#: field:mgmtsystem.kpi.threshold.range,min_dbsource_id:0 |
||||
|
msgid "External DB Source" |
||||
|
msgstr "Fonte Externa de Dados" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: help:mgmtsystem.kpi,active:0 |
||||
|
msgid "" |
||||
|
"Only active KPIs will be updated by the scheduler based on the periodicity " |
||||
|
"configuration." |
||||
|
msgstr "" |
||||
|
"Somente os ICDs ativos serão atualizados pelo programador com base na " |
||||
|
"configuração periodicidade." |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: model:ir.ui.menu,name:mgmtsystem_kpi.menu_mgmtsystem_configuration_kpi |
||||
|
#: model:ir.ui.menu,name:mgmtsystem_kpi.menu_mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi:0 |
||||
|
#: field:mgmtsystem.kpi.history,kpi_id:0 |
||||
|
msgid "KPI" |
||||
|
msgstr "IDC" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi:0 |
||||
|
#: field:mgmtsystem.kpi,history_ids:0 |
||||
|
msgid "History" |
||||
|
msgstr "Histórico" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi,periodicity:0 |
||||
|
msgid "Periodicity" |
||||
|
msgstr "Periodicidade" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi.history,color:0 |
||||
|
#: field:mgmtsystem.kpi.threshold.range,color:0 |
||||
|
msgid "Color" |
||||
|
msgstr "Cor" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: selection:mgmtsystem.kpi,kpi_type:0 |
||||
|
#: selection:mgmtsystem.kpi.threshold.range,max_type:0 |
||||
|
msgid "SQL - External DB" |
||||
|
msgstr "SQL - DB externo" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: selection:mgmtsystem.kpi.threshold.range,max_type:0 |
||||
|
#: selection:mgmtsystem.kpi.threshold.range,min_type:0 |
||||
|
msgid "Python Code" |
||||
|
msgstr "Código Python" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi.threshold.range:0 |
||||
|
msgid "Range" |
||||
|
msgstr "Intervalo" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: selection:mgmtsystem.kpi,periodicity_uom:0 |
||||
|
msgid "Month" |
||||
|
msgstr "Mês" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi,value:0 |
||||
|
#: field:mgmtsystem.kpi.history,value:0 |
||||
|
msgid "Value" |
||||
|
msgstr "Valor" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi.threshold.range:0 |
||||
|
#: field:mgmtsystem.kpi.threshold.range,min_fixed_value:0 |
||||
|
#: field:mgmtsystem.kpi.threshold.range,min_value:0 |
||||
|
msgid "Minimum" |
||||
|
msgstr "Mínimo" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: model:ir.actions.act_window,name:mgmtsystem_kpi.open_mgmtsystem_category_list |
||||
|
#: model:ir.ui.menu,name:mgmtsystem_kpi.menu_mgmtsystem_configuration_kpi_category |
||||
|
#: view:mgmtsystem.kpi.category:0 |
||||
|
msgid "Categories" |
||||
|
msgstr "Categorias" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi:0 |
||||
|
msgid "Computation" |
||||
|
msgstr "Calcular" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi,threshold_id:0 |
||||
|
#: view:mgmtsystem.kpi.threshold:0 |
||||
|
msgid "Threshold" |
||||
|
msgstr "Limiar" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi.threshold:0 |
||||
|
#: field:mgmtsystem.kpi.threshold,kpi_ids:0 |
||||
|
msgid "KPIs" |
||||
|
msgstr "ICDs" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi.threshold,invalid_message:0 |
||||
|
#: field:mgmtsystem.kpi.threshold.range,invalid_message:0 |
||||
|
msgid "Message" |
||||
|
msgstr "Mensagem" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: model:ir.actions.act_window,name:mgmtsystem_kpi.open_mgmtsystem_threshold_list |
||||
|
#: model:ir.ui.menu,name:mgmtsystem_kpi.menu_mgmtsystem_configuration_kpi_threshold |
||||
|
#: view:mgmtsystem.kpi.threshold:0 |
||||
|
#: view:mgmtsystem.kpi.threshold.range:0 |
||||
|
#: field:mgmtsystem.kpi.threshold.range,threshold_ids:0 |
||||
|
msgid "Thresholds" |
||||
|
msgstr "Limites" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: model:ir.model,name:mgmtsystem_kpi.model_mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi:0 |
||||
|
msgid "Key Performance Indicator" |
||||
|
msgstr "Indicador Chave Desempenho" |
@ -0,0 +1,357 @@ |
|||||
|
# Vietnamese translation for openerp-mgmtsystem |
||||
|
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014 |
||||
|
# This file is distributed under the same license as the openerp-mgmtsystem package. |
||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014. |
||||
|
# |
||||
|
msgid "" |
||||
|
msgstr "" |
||||
|
"Project-Id-Version: openerp-mgmtsystem\n" |
||||
|
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" |
||||
|
"POT-Creation-Date: 2013-04-03 18:36+0000\n" |
||||
|
"PO-Revision-Date: 2014-03-05 03:04+0000\n" |
||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |
||||
|
"Language-Team: Vietnamese <vi@li.org>\n" |
||||
|
"MIME-Version: 1.0\n" |
||||
|
"Content-Type: text/plain; charset=UTF-8\n" |
||||
|
"Content-Transfer-Encoding: 8bit\n" |
||||
|
"X-Launchpad-Export-Date: 2014-04-24 06:30+0000\n" |
||||
|
"X-Generator: Launchpad (build 16985)\n" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi:0 |
||||
|
#: field:mgmtsystem.kpi,category_id:0 |
||||
|
#: view:mgmtsystem.kpi.category:0 |
||||
|
msgid "Category" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi:0 |
||||
|
msgid "KPI Computation" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: help:mgmtsystem.kpi.threshold.range,color:0 |
||||
|
msgid "RGB code with #" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi.history:0 |
||||
|
msgid "KPI History" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: help:mgmtsystem.kpi,kpi_code:0 |
||||
|
msgid "" |
||||
|
"SQL code must return the result as 'value' (i.e. 'SELECT 5 AS value')." |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi,kpi_type:0 |
||||
|
msgid "KPI Computation Type" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: model:ir.actions.act_window,name:mgmtsystem_kpi.open_mgmtsystem_kpi_list |
||||
|
#: view:mgmtsystem.kpi:0 |
||||
|
msgid "Key Performance Indicators" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi:0 |
||||
|
msgid "Group By..." |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi.threshold,valid:0 |
||||
|
#: field:mgmtsystem.kpi.threshold.range,valid:0 |
||||
|
msgid "Valid" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: selection:mgmtsystem.kpi,kpi_type:0 |
||||
|
#: selection:mgmtsystem.kpi.threshold.range,max_type:0 |
||||
|
#: selection:mgmtsystem.kpi.threshold.range,min_type:0 |
||||
|
msgid "SQL - Local DB" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: model:ir.model,name:mgmtsystem_kpi.model_mgmtsystem_kpi_category |
||||
|
msgid "KPI Category" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi,periodicity_uom:0 |
||||
|
msgid "Periodicity UoM" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi:0 |
||||
|
msgid "Type" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi,name:0 |
||||
|
#: field:mgmtsystem.kpi.category,name:0 |
||||
|
#: field:mgmtsystem.kpi.history,name:0 |
||||
|
#: field:mgmtsystem.kpi.threshold,name:0 |
||||
|
#: field:mgmtsystem.kpi.threshold.range,name:0 |
||||
|
msgid "Name" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: selection:mgmtsystem.kpi,periodicity_uom:0 |
||||
|
msgid "Week" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi:0 |
||||
|
#: field:mgmtsystem.kpi,description:0 |
||||
|
#: field:mgmtsystem.kpi.category,description:0 |
||||
|
msgid "Description" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: selection:mgmtsystem.kpi,kpi_type:0 |
||||
|
msgid "Python" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi.threshold.range,max_code:0 |
||||
|
msgid "Maximum Computation Code" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi.threshold.range,min_type:0 |
||||
|
msgid "Min Type" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: model:ir.actions.act_window,name:mgmtsystem_kpi.open_mgmtsystem_threshold_range_list |
||||
|
#: model:ir.ui.menu,name:mgmtsystem_kpi.menu_mgmtsystem_configuration_kpi_range |
||||
|
#: view:mgmtsystem.kpi.threshold:0 |
||||
|
#: field:mgmtsystem.kpi.threshold,range_ids:0 |
||||
|
#: view:mgmtsystem.kpi.threshold.range:0 |
||||
|
msgid "Ranges" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: code:addons/mgmtsystem_kpi/mgmtsystem_kpi.py:218 |
||||
|
#, python-format |
||||
|
msgid "2 of your ranges are overlapping!" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: model:ir.ui.menu,name:mgmtsystem_kpi.menu_mgmtsystem_configuration_kpi_dbsource |
||||
|
msgid "Data Sources" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi.threshold.range,max_type:0 |
||||
|
msgid "Max Type" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi:0 |
||||
|
msgid "" |
||||
|
"Only active KPIs are computed by the scheduler based on the periodicity " |
||||
|
"configuration." |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi:0 |
||||
|
#: field:mgmtsystem.kpi,active:0 |
||||
|
msgid "Active" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: model:ir.model,name:mgmtsystem_kpi.model_mgmtsystem_kpi_threshold |
||||
|
msgid "KPI Threshold" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: selection:mgmtsystem.kpi,periodicity_uom:0 |
||||
|
msgid "Day" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: selection:mgmtsystem.kpi.threshold.range,max_type:0 |
||||
|
#: selection:mgmtsystem.kpi.threshold.range,min_type:0 |
||||
|
msgid "Fixed value" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: model:ir.model,name:mgmtsystem_kpi.model_mgmtsystem_kpi_threshold_range |
||||
|
msgid "KPI Threshold Range" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi.threshold.range,min_code:0 |
||||
|
msgid "Minimum Computation Code" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: code:addons/mgmtsystem_kpi/mgmtsystem_kpi.py:218 |
||||
|
#, python-format |
||||
|
msgid "Please make sure your ranges do not overlap!" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi,kpi_code:0 |
||||
|
msgid "KPI Code" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: selection:mgmtsystem.kpi,periodicity_uom:0 |
||||
|
msgid "Hour" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi.history,date:0 |
||||
|
msgid "Execution Date" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi.threshold.range:0 |
||||
|
#: field:mgmtsystem.kpi.threshold.range,max_fixed_value:0 |
||||
|
#: field:mgmtsystem.kpi.threshold.range,max_value:0 |
||||
|
msgid "Maximum" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi:0 |
||||
|
msgid "Compute KPI Now" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: selection:mgmtsystem.kpi.threshold.range,min_type:0 |
||||
|
msgid "SQL - Externa DB" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: model:ir.model,name:mgmtsystem_kpi.model_mgmtsystem_kpi_history |
||||
|
msgid "History of the KPI" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi,next_execution_date:0 |
||||
|
msgid "Next execution date" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi,dbsource_id:0 |
||||
|
#: field:mgmtsystem.kpi.threshold.range,max_dbsource_id:0 |
||||
|
#: field:mgmtsystem.kpi.threshold.range,min_dbsource_id:0 |
||||
|
msgid "External DB Source" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: help:mgmtsystem.kpi,active:0 |
||||
|
msgid "" |
||||
|
"Only active KPIs will be updated by the scheduler based on the periodicity " |
||||
|
"configuration." |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: model:ir.ui.menu,name:mgmtsystem_kpi.menu_mgmtsystem_configuration_kpi |
||||
|
#: model:ir.ui.menu,name:mgmtsystem_kpi.menu_mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi:0 |
||||
|
#: field:mgmtsystem.kpi.history,kpi_id:0 |
||||
|
msgid "KPI" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi:0 |
||||
|
#: field:mgmtsystem.kpi,history_ids:0 |
||||
|
msgid "History" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi,periodicity:0 |
||||
|
msgid "Periodicity" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi.history,color:0 |
||||
|
#: field:mgmtsystem.kpi.threshold.range,color:0 |
||||
|
msgid "Color" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: selection:mgmtsystem.kpi,kpi_type:0 |
||||
|
#: selection:mgmtsystem.kpi.threshold.range,max_type:0 |
||||
|
msgid "SQL - External DB" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: selection:mgmtsystem.kpi.threshold.range,max_type:0 |
||||
|
#: selection:mgmtsystem.kpi.threshold.range,min_type:0 |
||||
|
msgid "Python Code" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi.threshold.range:0 |
||||
|
msgid "Range" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: selection:mgmtsystem.kpi,periodicity_uom:0 |
||||
|
msgid "Month" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi,value:0 |
||||
|
#: field:mgmtsystem.kpi.history,value:0 |
||||
|
msgid "Value" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi.threshold.range:0 |
||||
|
#: field:mgmtsystem.kpi.threshold.range,min_fixed_value:0 |
||||
|
#: field:mgmtsystem.kpi.threshold.range,min_value:0 |
||||
|
msgid "Minimum" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: model:ir.actions.act_window,name:mgmtsystem_kpi.open_mgmtsystem_category_list |
||||
|
#: model:ir.ui.menu,name:mgmtsystem_kpi.menu_mgmtsystem_configuration_kpi_category |
||||
|
#: view:mgmtsystem.kpi.category:0 |
||||
|
msgid "Categories" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi:0 |
||||
|
msgid "Computation" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi,threshold_id:0 |
||||
|
#: view:mgmtsystem.kpi.threshold:0 |
||||
|
msgid "Threshold" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi.threshold:0 |
||||
|
#: field:mgmtsystem.kpi.threshold,kpi_ids:0 |
||||
|
msgid "KPIs" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: field:mgmtsystem.kpi.threshold,invalid_message:0 |
||||
|
#: field:mgmtsystem.kpi.threshold.range,invalid_message:0 |
||||
|
msgid "Message" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: model:ir.actions.act_window,name:mgmtsystem_kpi.open_mgmtsystem_threshold_list |
||||
|
#: model:ir.ui.menu,name:mgmtsystem_kpi.menu_mgmtsystem_configuration_kpi_threshold |
||||
|
#: view:mgmtsystem.kpi.threshold:0 |
||||
|
#: view:mgmtsystem.kpi.threshold.range:0 |
||||
|
#: field:mgmtsystem.kpi.threshold.range,threshold_ids:0 |
||||
|
msgid "Thresholds" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: mgmtsystem_kpi |
||||
|
#: model:ir.model,name:mgmtsystem_kpi.model_mgmtsystem_kpi |
||||
|
#: view:mgmtsystem.kpi:0 |
||||
|
msgid "Key Performance Indicator" |
||||
|
msgstr "" |
After Width: 658 | Height: 352 | Size: 41 KiB |
After Width: 655 | Height: 353 | Size: 46 KiB |
After Width: 818 | Height: 449 | Size: 27 KiB |
After Width: 655 | Height: 266 | Size: 25 KiB |
@ -0,0 +1,532 @@ |
|||||
|
# -*- encoding: utf-8 -*- |
||||
|
############################################################################## |
||||
|
# |
||||
|
# OpenERP, Open Source Management Solution |
||||
|
# Copyright (C) 2012 Savoir-faire Linux (<http://www.savoirfairelinux.com>). |
||||
|
# |
||||
|
# This program is free software: you can redistribute it and/or modify |
||||
|
# it under the terms of the GNU Affero General Public License as |
||||
|
# published by the Free Software Foundation, either version 3 of the |
||||
|
# License, or (at your option) any later version. |
||||
|
# |
||||
|
# This program is distributed in the hope that it will be useful, |
||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
|
# GNU Affero General Public License for more details. |
||||
|
# |
||||
|
# You should have received a copy of the GNU Affero General Public License |
||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
############################################################################## |
||||
|
|
||||
|
from datetime import datetime, timedelta |
||||
|
from openerp.osv import fields, orm |
||||
|
from openerp.tools.translate import _ |
||||
|
from openerp.tools.safe_eval import safe_eval |
||||
|
from openerp.tools import ( |
||||
|
DEFAULT_SERVER_DATETIME_FORMAT as DATETIME_FORMAT, |
||||
|
) |
||||
|
import time |
||||
|
import re |
||||
|
import logging |
||||
|
_logger = logging.getLogger(__name__) |
||||
|
|
||||
|
|
||||
|
def is_one_value(result): |
||||
|
# check if sql query returns only one value |
||||
|
if type(result) is dict and 'value' in result.dictfetchone(): |
||||
|
return True |
||||
|
elif type(result) is list and 'value' in result[0]: |
||||
|
return True |
||||
|
else: |
||||
|
return False |
||||
|
|
||||
|
|
||||
|
RE_SELECT_QUERY = re.compile('.*(' + '|'.join(( |
||||
|
'INSERT', |
||||
|
'UPDATE', |
||||
|
'DELETE', |
||||
|
'CREATE', |
||||
|
'ALTER', |
||||
|
'DROP', |
||||
|
'GRANT', |
||||
|
'REVOKE', |
||||
|
'INDEX', |
||||
|
)) + ')') |
||||
|
|
||||
|
|
||||
|
def is_select_query(query): |
||||
|
"""Check if sql query is a SELECT statement""" |
||||
|
return not RE_SELECT_QUERY.match(query.upper()) |
||||
|
|
||||
|
|
||||
|
class mgmtsystem_kpi_category(orm.Model): |
||||
|
""" |
||||
|
KPI Category |
||||
|
""" |
||||
|
_name = "mgmtsystem.kpi.category" |
||||
|
_description = "KPI Category" |
||||
|
_columns = { |
||||
|
'name': fields.char('Name', size=50, required=True), |
||||
|
'description': fields.text('Description') |
||||
|
} |
||||
|
|
||||
|
|
||||
|
class mgmtsystem_kpi_threshold_range(orm.Model): |
||||
|
""" |
||||
|
KPI Threshold Range |
||||
|
""" |
||||
|
_name = "mgmtsystem.kpi.threshold.range" |
||||
|
_description = "KPI Threshold Range" |
||||
|
|
||||
|
def compute_min_value(self, cr, uid, ids, field_name, arg, context=None): |
||||
|
if context is None: |
||||
|
context = {} |
||||
|
result = {} |
||||
|
for obj in self.browse(cr, uid, ids): |
||||
|
value = None |
||||
|
if obj.min_type == 'local' and is_select_query(obj.min_code): |
||||
|
cr.execute(obj.min_code) |
||||
|
dic = cr.dictfetchall() |
||||
|
if is_one_value(dic): |
||||
|
value = dic[0]['value'] |
||||
|
elif (obj.min_type == 'external' |
||||
|
and obj.min_dbsource_id.id |
||||
|
and is_select_query(obj.min_code)): |
||||
|
dbsrc_obj = obj.min_dbsource_id |
||||
|
res = dbsrc_obj.execute(obj.min_code) |
||||
|
if is_one_value(res): |
||||
|
value = res[0]['value'] |
||||
|
elif obj.min_type == 'python': |
||||
|
value = safe_eval(obj.min_code) |
||||
|
else: |
||||
|
value = obj.min_fixed_value |
||||
|
result[obj.id] = value |
||||
|
return result |
||||
|
|
||||
|
def compute_max_value(self, cr, uid, ids, field_name, arg, context=None): |
||||
|
if context is None: |
||||
|
context = {} |
||||
|
result = {} |
||||
|
for obj in self.browse(cr, uid, ids, context): |
||||
|
value = None |
||||
|
if obj.max_type == 'local' and is_select_query(obj.max_code): |
||||
|
cr.execute(obj.max_code) |
||||
|
dic = cr.dictfetchall() |
||||
|
if is_one_value(dic): |
||||
|
value = dic[0]['value'] |
||||
|
elif obj.max_type == 'python': |
||||
|
value = safe_eval(obj.max_code) |
||||
|
elif (obj.max_type == 'external' |
||||
|
and obj.max_dbsource_id.id |
||||
|
and is_select_query(obj.max_code)): |
||||
|
dbsrc_obj = obj.max_dbsource_id |
||||
|
res = dbsrc_obj.execute(obj.max_code) |
||||
|
if is_one_value(res): |
||||
|
value = res[0]['value'] |
||||
|
else: |
||||
|
value = obj.max_fixed_value |
||||
|
result[obj.id] = value |
||||
|
return result |
||||
|
|
||||
|
def _is_valid_range(self, cr, uid, ids, field_name, arg, context=None): |
||||
|
if context is None: |
||||
|
context = {} |
||||
|
result = {} |
||||
|
for obj in self.browse(cr, uid, ids, context): |
||||
|
if obj.max_value < obj.min_value: |
||||
|
result[obj.id] = False |
||||
|
else: |
||||
|
result[obj.id] = True |
||||
|
return result |
||||
|
|
||||
|
def _generate_invalid_message( |
||||
|
self, cr, uid, ids, field_name, arg, context=None): |
||||
|
if context is None: |
||||
|
context = {} |
||||
|
result = {} |
||||
|
for obj in self.browse(cr, uid, ids, context): |
||||
|
if obj.valid: |
||||
|
result[obj.id] = "" |
||||
|
else: |
||||
|
result[obj.id] = ("Minimum value is greater than the maximum " |
||||
|
"value! Please adjust them.") |
||||
|
return result |
||||
|
|
||||
|
_columns = { |
||||
|
'name': fields.char('Name', size=50, required=True), |
||||
|
'valid': fields.function( |
||||
|
_is_valid_range, |
||||
|
string='Valid', |
||||
|
type='boolean', |
||||
|
required=True, |
||||
|
), |
||||
|
'invalid_message': fields.function( |
||||
|
_generate_invalid_message, |
||||
|
string='Message', |
||||
|
type='char', |
||||
|
size=100, |
||||
|
), |
||||
|
'min_type': fields.selection(( |
||||
|
('static', 'Fixed value'), |
||||
|
('python', 'Python Code'), |
||||
|
('local', 'SQL - Local DB'), |
||||
|
('external', 'SQL - Externa DB'), |
||||
|
), 'Min Type', required=True), |
||||
|
'min_value': fields.function( |
||||
|
compute_min_value, |
||||
|
string='Minimum', |
||||
|
type='float', |
||||
|
), |
||||
|
'min_fixed_value': fields.float('Minimum'), |
||||
|
'min_code': fields.text('Minimum Computation Code'), |
||||
|
'min_dbsource_id': fields.many2one( |
||||
|
'base.external.dbsource', |
||||
|
'External DB Source', |
||||
|
), |
||||
|
'max_type': fields.selection(( |
||||
|
('static', 'Fixed value'), |
||||
|
('python', 'Python Code'), |
||||
|
('local', 'SQL - Local DB'), |
||||
|
('external', 'SQL - External DB'), |
||||
|
), 'Max Type', required=True), |
||||
|
'max_value': fields.function( |
||||
|
compute_max_value, |
||||
|
string='Maximum', |
||||
|
type='float', |
||||
|
), |
||||
|
'max_fixed_value': fields.float('Maximum'), |
||||
|
'max_code': fields.text('Maximum Computation Code'), |
||||
|
'max_dbsource_id': fields.many2one( |
||||
|
'base.external.dbsource', |
||||
|
'External DB Source', |
||||
|
), |
||||
|
'color': fields.char( |
||||
|
'Color', |
||||
|
help='RGB code with #', |
||||
|
size=7, |
||||
|
required=True, |
||||
|
), |
||||
|
'threshold_ids': fields.many2many( |
||||
|
'mgmtsystem.kpi.threshold', |
||||
|
'mgmtsystem_kpi_threshold_range_rel', |
||||
|
'range_id', |
||||
|
'threshold_id', |
||||
|
'Thresholds', |
||||
|
), |
||||
|
'company_id': fields.many2one('res.company', 'Company') |
||||
|
} |
||||
|
|
||||
|
_defaults = { |
||||
|
'company_id': ( |
||||
|
lambda self, cr, uid, c: |
||||
|
self.pool.get('res.users').browse(cr, uid, uid, c).company_id.id), |
||||
|
'valid': True, |
||||
|
} |
||||
|
|
||||
|
|
||||
|
class mgmtsystem_kpi_threshold(orm.Model): |
||||
|
""" |
||||
|
KPI Threshold |
||||
|
""" |
||||
|
_name = "mgmtsystem.kpi.threshold" |
||||
|
_description = "KPI Threshold" |
||||
|
|
||||
|
def _is_valid_threshold(self, cr, uid, ids, field_name, arg, context=None): |
||||
|
if context is None: |
||||
|
context = {} |
||||
|
result = {} |
||||
|
for obj in self.browse(cr, uid, ids, context): |
||||
|
# check if ranges overlap |
||||
|
# TODO: This code can be done better |
||||
|
for range1 in obj.range_ids: |
||||
|
for range2 in obj.range_ids: |
||||
|
if (range1.valid and range2.valid |
||||
|
and range1.min_value < range2.min_value): |
||||
|
result[obj.id] = range1.max_value <= range2.min_value |
||||
|
return result |
||||
|
|
||||
|
def _generate_invalid_message( |
||||
|
self, cr, uid, ids, field_name, arg, context=None): |
||||
|
if context is None: |
||||
|
context = {} |
||||
|
result = {} |
||||
|
for obj in self.browse(cr, uid, ids, context): |
||||
|
if obj.valid: |
||||
|
result[obj.id] = "" |
||||
|
else: |
||||
|
result[obj.id] = ("2 of your ranges are overlapping! Please " |
||||
|
"make sure your ranges do not overlap.") |
||||
|
return result |
||||
|
|
||||
|
_columns = { |
||||
|
'name': fields.char('Name', size=50, required=True), |
||||
|
'range_ids': fields.many2many( |
||||
|
'mgmtsystem.kpi.threshold.range', |
||||
|
'mgmtsystem_kpi_threshold_range_rel', |
||||
|
'threshold_id', |
||||
|
'range_id', |
||||
|
'Ranges' |
||||
|
), |
||||
|
'valid': fields.function( |
||||
|
_is_valid_threshold, |
||||
|
string='Valid', |
||||
|
type='boolean', |
||||
|
required=True, |
||||
|
), |
||||
|
'invalid_message': fields.function( |
||||
|
_generate_invalid_message, |
||||
|
string='Message', |
||||
|
type='char', |
||||
|
size=100, |
||||
|
), |
||||
|
'kpi_ids': fields.one2many('mgmtsystem.kpi', 'threshold_id', 'KPIs'), |
||||
|
'company_id': fields.many2one('res.company', 'Company') |
||||
|
} |
||||
|
|
||||
|
_defaults = { |
||||
|
'company_id': ( |
||||
|
lambda self, cr, uid, c: |
||||
|
self.pool.get('res.users').browse(cr, uid, uid, c).company_id.id), |
||||
|
'valid': True, |
||||
|
} |
||||
|
|
||||
|
def create(self, cr, uid, data, context=None): |
||||
|
if context is None: |
||||
|
context = {} |
||||
|
|
||||
|
# check if ranges overlap |
||||
|
# TODO: This code can be done better |
||||
|
range_obj1 = self.pool.get('mgmtsystem.kpi.threshold.range') |
||||
|
range_obj2 = self.pool.get('mgmtsystem.kpi.threshold.range') |
||||
|
for range1 in data['range_ids'][0][2]: |
||||
|
range_obj1 = range_obj1.browse(cr, uid, range1, context) |
||||
|
for range2 in data['range_ids'][0][2]: |
||||
|
range_obj2 = range_obj2.browse(cr, uid, range2, context) |
||||
|
if (range_obj1.valid and range_obj2.valid |
||||
|
and range_obj1.min_value < range_obj2.min_value): |
||||
|
if range_obj1.max_value > range_obj2.min_value: |
||||
|
raise orm.except_orm( |
||||
|
_("2 of your ranges are overlapping!"), |
||||
|
_("Please make sure your ranges do not overlap!") |
||||
|
) |
||||
|
range_obj2 = self.pool.get('mgmtsystem.kpi.threshold.range') |
||||
|
range_obj1 = self.pool.get('mgmtsystem.kpi.threshold.range') |
||||
|
return super(mgmtsystem_kpi_threshold, self).create( |
||||
|
cr, uid, data, context |
||||
|
) |
||||
|
|
||||
|
def get_color(self, cr, uid, ids, kpi_value, context=None): |
||||
|
if context is None: |
||||
|
context = {} |
||||
|
|
||||
|
color = '#FFFFFF' |
||||
|
for obj in self.browse(cr, uid, ids, context): |
||||
|
for range_obj in obj.range_ids: |
||||
|
if (range_obj.min_value <= kpi_value <= range_obj.max_value |
||||
|
and range_obj.valid): |
||||
|
color = range_obj.color |
||||
|
return color |
||||
|
|
||||
|
|
||||
|
class mgmtsystem_kpi_history(orm.Model): |
||||
|
""" |
||||
|
History of the KPI |
||||
|
""" |
||||
|
_name = "mgmtsystem.kpi.history" |
||||
|
_description = "History of the KPI" |
||||
|
|
||||
|
_columns = { |
||||
|
'name': fields.char('Name', size=150, required=True), |
||||
|
'kpi_id': fields.many2one('mgmtsystem.kpi', 'KPI', required=True), |
||||
|
'date': fields.datetime( |
||||
|
'Execution Date', |
||||
|
required=True, |
||||
|
readonly=True, |
||||
|
), |
||||
|
'value': fields.float('Value', required=True, readonly=True), |
||||
|
'color': fields.text('Color', required=True, readonly=True), |
||||
|
'company_id': fields.many2one('res.company', 'Company') |
||||
|
} |
||||
|
|
||||
|
_defaults = { |
||||
|
'company_id': ( |
||||
|
lambda self, cr, uid, c: |
||||
|
self.pool.get('res.users').browse(cr, uid, uid, c).company_id.id), |
||||
|
'name': lambda *a: time.strftime('%d %B %Y'), |
||||
|
'date': lambda *a: time.strftime(DATETIME_FORMAT), |
||||
|
'color': '#FFFFFF', |
||||
|
} |
||||
|
|
||||
|
_order = "date desc" |
||||
|
|
||||
|
|
||||
|
class mgmtsystem_kpi(orm.Model): |
||||
|
""" |
||||
|
Key Performance Indicators |
||||
|
""" |
||||
|
_name = "mgmtsystem.kpi" |
||||
|
_description = "Key Performance Indicator" |
||||
|
|
||||
|
def _display_last_kpi_value( |
||||
|
self, cr, uid, ids, field_name, arg, context=None): |
||||
|
if context is None: |
||||
|
context = {} |
||||
|
|
||||
|
result = {} |
||||
|
for obj in self.browse(cr, uid, ids): |
||||
|
if obj.history_ids: |
||||
|
result[obj.id] = obj.history_ids[0].value |
||||
|
else: |
||||
|
result[obj.id] = 0 |
||||
|
|
||||
|
return result |
||||
|
|
||||
|
def compute_kpi_value(self, cr, uid, ids, context=None): |
||||
|
if context is None: |
||||
|
context = {} |
||||
|
for obj in self.browse(cr, uid, ids): |
||||
|
kpi_value = 0 |
||||
|
if obj.kpi_type == 'local' and is_select_query(obj.kpi_code): |
||||
|
cr.execute(obj.kpi_code) |
||||
|
dic = cr.dictfetchall() |
||||
|
if is_one_value(dic): |
||||
|
kpi_value = dic[0]['value'] |
||||
|
elif (obj.kpi_type == 'external' |
||||
|
and obj.dbsource_id.id |
||||
|
and is_select_query(obj.kpi_code)): |
||||
|
dbsrc_obj = obj.dbsource_id |
||||
|
res = dbsrc_obj.execute(obj.kpi_code) |
||||
|
if is_one_value(res): |
||||
|
kpi_value = res[0]['value'] |
||||
|
elif obj.kpi_type == 'python': |
||||
|
kpi_value = safe_eval(obj.kpi_code) |
||||
|
|
||||
|
threshold_obj = obj.threshold_id |
||||
|
values = { |
||||
|
'kpi_id': obj.id, |
||||
|
'value': kpi_value, |
||||
|
'color': threshold_obj.get_color(kpi_value), |
||||
|
} |
||||
|
|
||||
|
history_obj = self.pool.get('mgmtsystem.kpi.history') |
||||
|
history_id = history_obj.create(cr, uid, values, context=context) |
||||
|
obj.history_ids.append(history_id) |
||||
|
|
||||
|
return True |
||||
|
|
||||
|
def update_next_execution_date(self, cr, uid, ids, context=None): |
||||
|
if context is None: |
||||
|
context = {} |
||||
|
|
||||
|
for obj in self.browse(cr, uid, ids): |
||||
|
if obj.periodicity_uom == 'hour': |
||||
|
delta = timedelta(hours=obj.periodicity) |
||||
|
elif obj.periodicity_uom == 'day': |
||||
|
delta = timedelta(days=obj.periodicity) |
||||
|
elif obj.periodicity_uom == 'week': |
||||
|
delta = timedelta(weeks=obj.periodicity) |
||||
|
elif obj.periodicity_uom == 'month': |
||||
|
delta = timedelta(months=obj.periodicity) |
||||
|
else: |
||||
|
delta = timedelta() |
||||
|
new_date = datetime.now() + delta |
||||
|
|
||||
|
values = { |
||||
|
'next_execution_date': new_date.strftime(DATETIME_FORMAT), |
||||
|
} |
||||
|
|
||||
|
obj.write(values) |
||||
|
|
||||
|
return True |
||||
|
|
||||
|
# Method called by the scheduler |
||||
|
def update_kpi_value(self, cr, uid, ids=None, context=None): |
||||
|
if context is None: |
||||
|
context = {} |
||||
|
if not ids: |
||||
|
filters = [ |
||||
|
'&', |
||||
|
'|', |
||||
|
('active', '=', True), |
||||
|
('next_execution_date', '<=', |
||||
|
datetime.now().strftime(DATETIME_FORMAT)), |
||||
|
('next_execution_date', '=', False), |
||||
|
] |
||||
|
if 'filters' in context: |
||||
|
filters.extend(context['filters']) |
||||
|
ids = self.search(cr, uid, filters, context=context) |
||||
|
res = None |
||||
|
|
||||
|
try: |
||||
|
res = self.compute_kpi_value(cr, uid, ids, context=context) |
||||
|
self.update_next_execution_date(cr, uid, ids, context=context) |
||||
|
except Exception: |
||||
|
_logger.exception("Failed updating KPI values") |
||||
|
|
||||
|
return res |
||||
|
|
||||
|
_columns = { |
||||
|
'name': fields.char('Name', size=50, required=True), |
||||
|
'description': fields.text('Description'), |
||||
|
'category_id': fields.many2one( |
||||
|
'mgmtsystem.kpi.category', |
||||
|
'Category', |
||||
|
required=True, |
||||
|
), |
||||
|
'threshold_id': fields.many2one( |
||||
|
'mgmtsystem.kpi.threshold', |
||||
|
'Threshold', |
||||
|
required=True, |
||||
|
), |
||||
|
'periodicity': fields.integer('Periodicity'), |
||||
|
'periodicity_uom': fields.selection(( |
||||
|
('hour', 'Hour'), |
||||
|
('day', 'Day'), |
||||
|
('week', 'Week'), |
||||
|
('month', 'Month') |
||||
|
), 'Periodicity UoM', required=True), |
||||
|
'next_execution_date': fields.datetime( |
||||
|
'Next execution date', |
||||
|
readonly=True, |
||||
|
), |
||||
|
'value': fields.function( |
||||
|
_display_last_kpi_value, |
||||
|
string='Value', |
||||
|
type='float', |
||||
|
), |
||||
|
'kpi_type': fields.selection(( |
||||
|
('python', 'Python'), |
||||
|
('local', 'SQL - Local DB'), |
||||
|
('external', 'SQL - External DB') |
||||
|
), 'KPI Computation Type'), |
||||
|
'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( |
||||
|
'mgmtsystem.kpi.history', |
||||
|
'kpi_id', |
||||
|
'History', |
||||
|
), |
||||
|
'active': fields.boolean( |
||||
|
'Active', |
||||
|
help=("Only active KPIs will be updated by the scheduler based on" |
||||
|
" the periodicity configuration."), |
||||
|
), |
||||
|
'company_id': fields.many2one('res.company', 'Company') |
||||
|
} |
||||
|
|
||||
|
_defaults = { |
||||
|
'company_id': ( |
||||
|
lambda self, cr, uid, c: |
||||
|
self.pool.get('res.users').browse(cr, uid, uid, c).company_id.id), |
||||
|
'active': True, |
||||
|
'periodicity': 1, |
||||
|
'periodicity_uom': 'day', |
||||
|
} |
@ -0,0 +1,300 @@ |
|||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||
|
<openerp> |
||||
|
<data> |
||||
|
|
||||
|
<!-- KPI --> |
||||
|
|
||||
|
<record id="view_mgmtsystem_kpi_tree" model="ir.ui.view"> |
||||
|
<field name="name">mgmtsystem.kpi.tree</field> |
||||
|
<field name="model">mgmtsystem.kpi</field> |
||||
|
<field name="arch" type="xml"> |
||||
|
<tree string="Key Performance Indicators"> |
||||
|
<field name="name"/> |
||||
|
<field name="value" widget="progressbar"/> |
||||
|
<field name="category_id"/> |
||||
|
<field name="kpi_type"/> |
||||
|
<field name="company_id" group="base.group_multi_company"/> |
||||
|
</tree> |
||||
|
</field> |
||||
|
</record> |
||||
|
|
||||
|
<record id="view_mgmtsystem_kpi_filter" model="ir.ui.view"> |
||||
|
<field name="name">mgmtsystem.kpi.filter</field> |
||||
|
<field name="model">mgmtsystem.kpi</field> |
||||
|
<field name="arch" type="xml"> |
||||
|
<search string="KPI"> |
||||
|
<group> |
||||
|
<filter name="active" icon="terp-document-new" domain="[('active','=',True)]" string="Active" help="Only active KPIs are computed by the scheduler based on the periodicity configuration."/> |
||||
|
<separator orientation="vertical"/> |
||||
|
<field name="name"/> |
||||
|
<field name="category_id"/> |
||||
|
<field name="company_id" group="base.group_multi_company"/> |
||||
|
</group> |
||||
|
<newline /> |
||||
|
<group expand="0" string="Group By..."> |
||||
|
<filter string="Category" context="{'group_by':'category_id'}"/> |
||||
|
<filter string="Type" context="{'group_by':'kpi_type'}"/> |
||||
|
</group> |
||||
|
</search> |
||||
|
</field> |
||||
|
</record> |
||||
|
|
||||
|
<record id="view_mgmtsystem_kpi_form" model="ir.ui.view"> |
||||
|
<field name="name">mgmtsystem.kpi.form</field> |
||||
|
<field name="model">mgmtsystem.kpi</field> |
||||
|
<field name="arch" type="xml"> |
||||
|
<form string="Key Performance Indicator"> |
||||
|
<group col="6" colspan="6"> |
||||
|
<field name="name" colspan="2"/> |
||||
|
<field name="threshold_id" colspan="2"/> |
||||
|
<field name="category_id" colspan="2"/> |
||||
|
<newline/> |
||||
|
<field name="value" colspan="2"/> |
||||
|
<button name="compute_kpi_value" string="Compute KPI Now" colspan="2" type="object"/> |
||||
|
<field name="active" colspan="2"/> |
||||
|
<field name="company_id" group="base.group_multi_company"/> |
||||
|
</group> |
||||
|
<notebook colspan="6"> |
||||
|
<page string="History"> |
||||
|
<field name="history_ids" readonly="1" nolabel="1"/> |
||||
|
</page> |
||||
|
<page string="Computation"> |
||||
|
<group col="6"> |
||||
|
<field name="periodicity" colspan="2"/> |
||||
|
<field name="periodicity_uom" colspan="2"/> |
||||
|
<field name="next_execution_date" colspan="2"/> |
||||
|
<separator string="KPI Computation" colspan="6"/> |
||||
|
<newline/> |
||||
|
<field name="kpi_type" colspan="2"/> |
||||
|
<field name="dbsource_id" colspan="2" attrs="{'invisible' : [('kpi_type', '!=', 'external')]}"/> |
||||
|
<newline/> |
||||
|
<field name="kpi_code" colspan="6"/> |
||||
|
</group> |
||||
|
</page> |
||||
|
<page string="Description"> |
||||
|
<field name="description" nolabel="1"/> |
||||
|
</page> |
||||
|
</notebook> |
||||
|
</form> |
||||
|
</field> |
||||
|
</record> |
||||
|
|
||||
|
<record model="ir.actions.act_window" id="open_mgmtsystem_kpi_list"> |
||||
|
<field name="name">Key Performance Indicators</field> |
||||
|
<field name="res_model">mgmtsystem.kpi</field> |
||||
|
<field name="view_type">form</field> |
||||
|
<field name="view_mode">tree,form</field> |
||||
|
<field name="view_id" ref="view_mgmtsystem_kpi_tree"/> |
||||
|
<field name="search_view_id" ref="view_mgmtsystem_kpi_filter"/> |
||||
|
</record> |
||||
|
|
||||
|
<menuitem id="menu_mgmtsystem_kpi" |
||||
|
name="KPI" |
||||
|
action="open_mgmtsystem_kpi_list" |
||||
|
sequence="15" |
||||
|
parent="mgmtsystem.menu_mgmtsystem_main" |
||||
|
groups="base.group_user"/> |
||||
|
|
||||
|
<!-- KPI history --> |
||||
|
|
||||
|
<record id="view_mgmtsystem_kpi_history_tree" model="ir.ui.view"> |
||||
|
<field name="name">mgmtsystem.kpi.history.tree</field> |
||||
|
<field name="model">mgmtsystem.kpi.history</field> |
||||
|
<field name="arch" type="xml"> |
||||
|
<tree string="KPI History"> |
||||
|
<field name="name"/> |
||||
|
<field name="date"/> |
||||
|
<field name="value"/> |
||||
|
<field name="color" widget="color"/> |
||||
|
<field name="company_id" group="base.group_multi_company"/> |
||||
|
</tree> |
||||
|
</field> |
||||
|
</record> |
||||
|
|
||||
|
<!-- Configuration menu --> |
||||
|
|
||||
|
<menuitem id="menu_mgmtsystem_configuration_kpi" |
||||
|
name="KPI" |
||||
|
parent="mgmtsystem.menu_mgmtsystem_configuration" |
||||
|
groups="mgmtsystem.group_mgmtsystem_manager" |
||||
|
sequence="20"/> |
||||
|
|
||||
|
<!-- Categories --> |
||||
|
|
||||
|
<record id="view_mgmtsystem_kpi_category_tree" model="ir.ui.view"> |
||||
|
<field name="name">mgmtsystem.kpi.category.tree</field> |
||||
|
<field name="model">mgmtsystem.kpi.category</field> |
||||
|
<field name="arch" type="xml"> |
||||
|
<tree string="Categories"> |
||||
|
<field name="name"/> |
||||
|
</tree> |
||||
|
</field> |
||||
|
</record> |
||||
|
|
||||
|
<record id="view_mgmtsystem_kpi_category_form" model="ir.ui.view"> |
||||
|
<field name="name">mgmtsystem.kpi.category.form</field> |
||||
|
<field name="model">mgmtsystem.kpi.category</field> |
||||
|
<field name="arch" type="xml"> |
||||
|
<form string="Category"> |
||||
|
<field name="name"/> |
||||
|
<newline/> |
||||
|
<field name="description" colspan="4"/> |
||||
|
</form> |
||||
|
</field> |
||||
|
</record> |
||||
|
|
||||
|
<record model="ir.actions.act_window" id="open_mgmtsystem_category_list"> |
||||
|
<field name="name">Categories</field> |
||||
|
<field name="res_model">mgmtsystem.kpi.category</field> |
||||
|
<field name="view_type">form</field> |
||||
|
<field name="view_mode">tree,form</field> |
||||
|
<field name="view_id" ref="view_mgmtsystem_kpi_category_tree"/> |
||||
|
</record> |
||||
|
|
||||
|
<menuitem id="menu_mgmtsystem_configuration_kpi_category" |
||||
|
name="Categories" |
||||
|
action="open_mgmtsystem_category_list" |
||||
|
parent="menu_mgmtsystem_configuration_kpi" |
||||
|
groups="mgmtsystem.group_mgmtsystem_manager" |
||||
|
sequence="10"/> |
||||
|
|
||||
|
<!-- Thresholds --> |
||||
|
|
||||
|
<record id="view_mgmtsystem_kpi_threshold_tree" model="ir.ui.view"> |
||||
|
<field name="name">mgmtsystem.kpi.threshold.tree</field> |
||||
|
<field name="model">mgmtsystem.kpi.threshold</field> |
||||
|
<field name="arch" type="xml"> |
||||
|
<tree string="Thresholds"> |
||||
|
<field name="name"/> |
||||
|
<field name="invalid_message"/> |
||||
|
<field name="company_id" group="base.group_multi_company"/> |
||||
|
</tree> |
||||
|
</field> |
||||
|
</record> |
||||
|
|
||||
|
<record id="view_mgmtsystem_kpi_threshold_form" model="ir.ui.view"> |
||||
|
<field name="name">mgmtsystem.kpi.threshold.form</field> |
||||
|
<field name="model">mgmtsystem.kpi.threshold</field> |
||||
|
<field name="arch" type="xml"> |
||||
|
<form string="Threshold"> |
||||
|
<field name="name"/> |
||||
|
<newline/> |
||||
|
<separator string="Ranges" colspan="2"/> |
||||
|
<newline/> |
||||
|
<field name="range_ids" nolabel="1" colspan="2"/> |
||||
|
<newline/> |
||||
|
<separator string="KPIs" colspan="2"/> |
||||
|
<newline/> |
||||
|
<field name="kpi_ids" nolabel="1" colspan="2"/> |
||||
|
<newline/> |
||||
|
<field name="invalid_message" nolabel="1" attrs="{'invisible' : [('invalid_message', '=', '')]}" colspan="2"/> |
||||
|
<newline/> |
||||
|
<field name="company_id" group="base.group_multi_company"/> |
||||
|
</form> |
||||
|
</field> |
||||
|
</record> |
||||
|
|
||||
|
<record model="ir.actions.act_window" id="open_mgmtsystem_threshold_list"> |
||||
|
<field name="name">Thresholds</field> |
||||
|
<field name="res_model">mgmtsystem.kpi.threshold</field> |
||||
|
<field name="view_type">form</field> |
||||
|
<field name="view_mode">tree,form</field> |
||||
|
<field name="view_id" ref="view_mgmtsystem_kpi_threshold_tree"/> |
||||
|
</record> |
||||
|
|
||||
|
<menuitem id="menu_mgmtsystem_configuration_kpi_threshold" |
||||
|
name="Thresholds" |
||||
|
action="open_mgmtsystem_threshold_list" |
||||
|
parent="menu_mgmtsystem_configuration_kpi" |
||||
|
groups="mgmtsystem.group_mgmtsystem_manager" |
||||
|
sequence="10"/> |
||||
|
|
||||
|
<!-- Ranges --> |
||||
|
|
||||
|
<record id="view_mgmtsystem_kpi_threshold_range_tree" model="ir.ui.view"> |
||||
|
<field name="name">mgmtsystem.kpi.threshold.range.tree</field> |
||||
|
<field name="model">mgmtsystem.kpi.threshold.range</field> |
||||
|
<field name="arch" type="xml"> |
||||
|
<tree string="Ranges"> |
||||
|
<field name="name"/> |
||||
|
<field name="min_value"/> |
||||
|
<field name="max_value"/> |
||||
|
<field name="color" widget="color"/> |
||||
|
<field name="invalid_message"/> |
||||
|
<field name="company_id" group="base.group_multi_company"/> |
||||
|
</tree> |
||||
|
</field> |
||||
|
</record> |
||||
|
|
||||
|
<record id="view_mgmtsystem_kpi_threshold_range_form" model="ir.ui.view"> |
||||
|
<field name="name">mgmtsystem.kpi.threshold.range.form</field> |
||||
|
<field name="model">mgmtsystem.kpi.threshold.range</field> |
||||
|
<field name="arch" type="xml"> |
||||
|
<form string="Range"> |
||||
|
<field name="name"/> |
||||
|
<field name="color"/> |
||||
|
<field name="company_id" group="base.group_multi_company"/> |
||||
|
<newline/> |
||||
|
<separator string="Minimum" colspan="4"/> |
||||
|
<newline/> |
||||
|
<field name="min_type"/> |
||||
|
<field name="min_fixed_value" attrs="{'invisible' : [('min_type', '!=', 'static')]}"/> |
||||
|
<field name="min_dbsource_id" attrs="{'invisible' : [('min_type', '!=', 'external')]}"/> |
||||
|
<newline/> |
||||
|
<field name="min_code" colspan="4" attrs="{'invisible' : [('min_type', 'NOT IN', ('local','external','python'))]}"/> |
||||
|
<newline/> |
||||
|
<separator string="Maximum" colspan="4"/> |
||||
|
<newline/> |
||||
|
<field name="max_type"/> |
||||
|
<field name="max_fixed_value" attrs="{'invisible' : [('max_type', '!=', 'static')]}"/> |
||||
|
<field name="max_dbsource_id" attrs="{'invisible' : [('max_type', '!=', 'external')]}"/> |
||||
|
<newline/> |
||||
|
<field name="max_code" colspan="4" attrs="{'invisible' : [('max_type', 'NOT IN', ('local','external','python'))]}"/> |
||||
|
<newline/> |
||||
|
<separator string="Thresholds" colspan="4"/> |
||||
|
<field name="threshold_ids" nolabel="1" colspan="4"/> |
||||
|
<field name="invalid_message" nolabel="1" attrs="{'invisible' : [('invalid_message', '=', '')]}" colspan="4"/> |
||||
|
</form> |
||||
|
</field> |
||||
|
</record> |
||||
|
|
||||
|
<record model="ir.actions.act_window" id="open_mgmtsystem_threshold_range_list"> |
||||
|
<field name="name">Ranges</field> |
||||
|
<field name="res_model">mgmtsystem.kpi.threshold.range</field> |
||||
|
<field name="view_type">form</field> |
||||
|
<field name="view_mode">tree,form</field> |
||||
|
<field name="view_id" ref="view_mgmtsystem_kpi_threshold_range_tree"/> |
||||
|
</record> |
||||
|
|
||||
|
<menuitem id="menu_mgmtsystem_configuration_kpi_range" |
||||
|
name="Ranges" |
||||
|
action="open_mgmtsystem_threshold_range_list" |
||||
|
parent="menu_mgmtsystem_configuration_kpi" |
||||
|
groups="mgmtsystem.group_mgmtsystem_manager" |
||||
|
sequence="20"/> |
||||
|
|
||||
|
<menuitem id="menu_mgmtsystem_configuration_kpi_dbsource" |
||||
|
name="Data Sources" |
||||
|
action="base_external_dbsource.action_dbsource" |
||||
|
parent="menu_mgmtsystem_configuration_kpi" |
||||
|
groups="mgmtsystem.group_mgmtsystem_manager" |
||||
|
sequence="20"/> |
||||
|
|
||||
|
</data> |
||||
|
|
||||
|
<data noupdate="1"> |
||||
|
|
||||
|
<record forcecreate="True" id="ir_cron_mgmtsystem_kpi_action" model="ir.cron"> |
||||
|
<field name="name">Update KPI values</field> |
||||
|
<field name="user_id" ref="base.user_root"/> |
||||
|
<field name="interval_number">1</field> |
||||
|
<field name="interval_type">hours</field> |
||||
|
<field name="numbercall">-1</field> |
||||
|
<field eval="False" name="doall"/> |
||||
|
<field eval="'mgmtsystem.kpi'" name="model"/> |
||||
|
<field eval="'update_kpi_value'" name="function"/> |
||||
|
<field eval="'()'" name="args"/> |
||||
|
</record> |
||||
|
|
||||
|
</data> |
||||
|
</openerp> |
@ -0,0 +1,11 @@ |
|||||
|
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink" |
||||
|
"access_mgmtsystem_kpi_user","mgmtsystem.kpi.user","model_mgmtsystem_kpi","base.group_user",1,0,0,0 |
||||
|
"access_mgmtsystem_kpi_history_user","mgmtsystem.kpi.history.user","model_mgmtsystem_kpi_history","base.group_user",1,0,0,0 |
||||
|
"access_mgmtsystem_kpi_category_user","mgmtsystem.kpi.category.user","model_mgmtsystem_kpi_category","base.group_user",1,0,0,0 |
||||
|
"access_mgmtsystem_kpi_threshold_user","mgmtsystem.kpi.threshold.user","model_mgmtsystem_kpi_threshold","base.group_user",1,0,0,0 |
||||
|
"access_mgmtsystem_kpi_threshold_range_user","mgmtsystem.kpi.threshold.range.user","model_mgmtsystem_kpi_threshold_range","base.group_user",1,0,0,0 |
||||
|
"access_mgmtsystem_kpi_manager","mgmtsystem.kpi.manager","model_mgmtsystem_kpi","mgmtsystem.group_mgmtsystem_manager",1,1,1,1 |
||||
|
"access_mgmtsystem_kpi_category_manager","mgmtsystem.kpi.category.manager","model_mgmtsystem_kpi_category","mgmtsystem.group_mgmtsystem_manager",1,1,1,1 |
||||
|
"access_mgmtsystem_kpi_threshold_manager","mgmtsystem.kpi.threshold.manager","model_mgmtsystem_kpi_threshold","mgmtsystem.group_mgmtsystem_manager",1,1,1,1 |
||||
|
"access_mgmtsystem_kpi_threshold_range_manager","mgmtsystem.kpi.threshold.range.manager","model_mgmtsystem_kpi_threshold_range","mgmtsystem.group_mgmtsystem_manager",1,1,1,1 |
||||
|
"access_base_external_dbsource_mgmtsystem_manager","base.external.dbsource.manager","base_external_dbsource.model_base_external_dbsource","mgmtsystem.group_mgmtsystem_manager",1,1,1,1 |
@ -0,0 +1,36 @@ |
|||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||
|
<openerp> |
||||
|
<data noupdate="1"> |
||||
|
|
||||
|
<!-- Rule --> |
||||
|
|
||||
|
<record model="ir.rule" id="mgmtsystem_kpi_rule"> |
||||
|
<field name="name">mgmtsystem_kpi multi-company</field> |
||||
|
<field name="model_id" ref="model_mgmtsystem_kpi"/> |
||||
|
<field name="global" eval="True"/> |
||||
|
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field> |
||||
|
</record> |
||||
|
|
||||
|
<record model="ir.rule" id="mgmtsystem_kpi_threshold_range_rule"> |
||||
|
<field name="name">mgmtsystem_kpi_threshold_range multi-company</field> |
||||
|
<field name="model_id" ref="model_mgmtsystem_kpi_threshold_range"/> |
||||
|
<field name="global" eval="True"/> |
||||
|
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field> |
||||
|
</record> |
||||
|
|
||||
|
<record model="ir.rule" id="mgmtsystem_kpi_threshold_rule"> |
||||
|
<field name="name">mgmtsystem_kpi_threshold multi-company</field> |
||||
|
<field name="model_id" ref="model_mgmtsystem_kpi_threshold"/> |
||||
|
<field name="global" eval="True"/> |
||||
|
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field> |
||||
|
</record> |
||||
|
|
||||
|
<record model="ir.rule" id="mgmtsystem_kpi_history_rule"> |
||||
|
<field name="name">mgmtsystem_kpi_history multi-company</field> |
||||
|
<field name="model_id" ref="model_mgmtsystem_kpi_history"/> |
||||
|
<field name="global" eval="True"/> |
||||
|
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field> |
||||
|
</record> |
||||
|
|
||||
|
</data> |
||||
|
</openerp> |
After Width: 100 | Height: 100 | Size: 2.3 KiB |
Write
Preview
Loading…
Cancel
Save
Reference in new issue