Initial commit: OCA Technical packages (595 packages)

This commit is contained in:
Ernad Husremovic 2025-08-29 15:43:03 +02:00
commit 2cc02aac6e
24950 changed files with 2318079 additions and 0 deletions

View file

@ -0,0 +1,46 @@
# NSCA Client
Odoo addon: nsca_client
## Installation
```bash
pip install odoo-bringout-oca-server-tools-nsca_client
```
## Dependencies
This addon depends on:
- base
## Manifest Information
- **Name**: NSCA Client
- **Version**: 16.0.1.0.0
- **Category**: Tools
- **License**: AGPL-3
- **Installable**: True
## Source
Based on [OCA/server-tools](https://github.com/OCA/server-tools) branch 16.0, addon `nsca_client`.
## License
This package maintains the original AGPL-3 license from the upstream Odoo project.
## Documentation
- Overview: doc/OVERVIEW.md
- Architecture: doc/ARCHITECTURE.md
- Models: doc/MODELS.md
- Controllers: doc/CONTROLLERS.md
- Wizards: doc/WIZARDS.md
- Reports: doc/REPORTS.md
- Security: doc/SECURITY.md
- Install: doc/INSTALL.md
- Usage: doc/USAGE.md
- Configuration: doc/CONFIGURATION.md
- Dependencies: doc/DEPENDENCIES.md
- Troubleshooting: doc/TROUBLESHOOTING.md
- FAQ: doc/FAQ.md

View file

@ -0,0 +1,32 @@
# Architecture
```mermaid
flowchart TD
U[Users] -->|HTTP| V[Views and QWeb Templates]
V --> C[Controllers]
V --> W[Wizards Transient Models]
C --> M[Models and ORM]
W --> M
M --> R[Reports]
DX[Data XML] --> M
S[Security ACLs and Groups] -. enforces .-> M
subgraph Nsca_client Module - nsca_client
direction LR
M:::layer
W:::layer
C:::layer
V:::layer
R:::layer
S:::layer
DX:::layer
end
classDef layer fill:#eef8ff,stroke:#6ea8fe,stroke-width:1px
```
Notes
- Views include tree/form/kanban templates and report templates.
- Controllers provide website/portal routes when present.
- Wizards are UI flows implemented with `models.TransientModel`.
- Data XML loads data/demo records; Security defines groups and access.

View file

@ -0,0 +1,3 @@
# Configuration
Refer to Odoo settings for nsca_client. Configure related models, access rights, and options as needed.

View file

@ -0,0 +1,3 @@
# Controllers
This module does not define custom HTTP controllers.

View file

@ -0,0 +1,5 @@
# Dependencies
This addon depends on:
- base

View file

@ -0,0 +1,4 @@
# FAQ
- Q: Which Odoo version? A: 16.0 (OCA/OCB packaged).
- Q: How to enable? A: Start server with --addon nsca_client or install in UI.

View file

@ -0,0 +1,7 @@
# Install
```bash
pip install odoo-bringout-oca-server-tools-nsca_client"
# or
uv pip install odoo-bringout-oca-server-tools-nsca_client"
```

View file

@ -0,0 +1,13 @@
# Models
Detected core models and extensions in nsca_client.
```mermaid
classDiagram
class nsca_check
class nsca_server
```
Notes
- Classes show model technical names; fields omitted for brevity.
- Items listed under _inherit are extensions of existing models.

View file

@ -0,0 +1,6 @@
# Overview
Packaged Odoo addon: nsca_client. Provides features documented in upstream Odoo 16 under this addon.
- Source: OCA/OCB 16.0, addon nsca_client
- License: LGPL-3

View file

@ -0,0 +1,3 @@
# Reports
This module does not define custom reports.

View file

@ -0,0 +1,34 @@
# Security
Access control and security definitions in nsca_client.
## Access Control Lists (ACLs)
Model access permissions defined in:
- **[ir.model.access.csv](../nsca_client/security/ir.model.access.csv)**
- 2 model access rules
## Record Rules
Row-level security rules defined in:
```mermaid
graph TB
subgraph "Security Layers"
A[Users] --> B[Groups]
B --> C[Access Control Lists]
C --> D[Models]
B --> E[Record Rules]
E --> F[Individual Records]
end
```
Security files overview:
- **[ir.model.access.csv](../nsca_client/security/ir.model.access.csv)**
- Model access permissions (CRUD rights)
Notes
- Access Control Lists define which groups can access which models
- Record Rules provide row-level security (filter records by user/group)
- Security groups organize users and define permission sets
- All security is enforced at the ORM level by Odoo

View file

@ -0,0 +1,5 @@
# Troubleshooting
- Ensure Python and Odoo environment matches repo guidance.
- Check database connectivity and logs if startup fails.
- Validate that dependent addons listed in DEPENDENCIES.md are installed.

View file

@ -0,0 +1,7 @@
# Usage
Start Odoo including this addon (from repo root):
```bash
python3 scripts/nix_odoo_web_server.py --db-name mydb --addon nsca_client
```

View file

@ -0,0 +1,3 @@
# Wizards
This module does not include UI wizards.

View file

@ -0,0 +1,150 @@
===========
NSCA Client
===========
..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:04a3c96ea4630fd8abd0b531436b95c8eb4ab07c3c8efcee9a5f5343c2477d36
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fserver--tools-lightgray.png?logo=github
:target: https://github.com/OCA/server-tools/tree/16.0/nsca_client
:alt: OCA/server-tools
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/server-tools-16-0/server-tools-16-0-nsca_client
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
:target: https://runboat.odoo-community.org/builds?repo=OCA/server-tools&target_branch=16.0
:alt: Try me on Runboat
|badge1| |badge2| |badge3| |badge4| |badge5|
This is a technical module to send passive alerts to your favorite NSCA daemon
(Nagios, Shinken...).
This module is based on the Odoo cron system and requires a NSCA client
installed on the system to satisfy the ``/usr/sbin/send_nsca`` command.
**Table of contents**
.. contents::
:local:
Installation
============
To use this module, you need to install a NSCA client.
On Debian/Ubuntu::
$ sudo apt-get install nsca-client
Configuration
=============
To configure this module, you need to:
* Configure your server and a passive service in your monitoring tool
(e.g service ``Odoo Mail Queue`` on host ``MY-SERVER``).
* Declare your NSCA server in the menu Configuration / Technical / NSCA Client / Servers
.. image:: https://raw.githubusercontent.com/OCA/server-tools/16.0/nsca_client/nsca_client/static/description/server.png
:width: 400 px
* Create NSCA checks in the menu Configuration / Technical / NSCA Client / Checks
.. image:: https://raw.githubusercontent.com/OCA/server-tools/16.0/nsca_client/nsca_client/static/description/check.png
:width: 400 px
* Code the methods which will be called by the NSCA checks.
Such methods must return a tuple ``(RC, MESSAGE, PERFORMANCE_DATA)`` where ``RC`` is an integer,
``MESSAGE`` a unicode string AND ``PERFOMANCE_DATA`` is a dictionary.
``RC`` values and the corresponding status are:
- 0: OK
- 1: WARNING
- 2: CRITICAL
- 3: UNKNOWN
``PERFORMANCE_DATA`` is not mandatory, so it could be possible to send
``(RC, MESSAGE)``.
Each element of ``PERFORMANCE_DATA`` will be a dictionary that could contain:
- value: value of the data (required)
- max: Max value on the chart
- min: Minimum value on the chart
- warn: Warning value on the chart
- crit: Critical value on the chart
- uom: Unit of Measure on the chart (s - Seconds, % - Percentage, B - Bytes, c - Continuous)
The key of the dictionary will be used as the performance_data label.
E.g:
.. code-block:: python
class MailMail(models.Model):
_inherit = 'mail.mail'
@api.model
def nsca_check_mails(self):
mails = self.search([('state', '=', 'exception')])
if mails:
return (1, u"%s mails not sent" % len(mails), {
'exceptions': {'value': len(mails)}})
return (0, u"OK", {'exceptions': {'value': len(mails)}})
On the example, the performance data will use the label ``exceptions`` and the
value will be the number of exception of mails.
Bug Tracker
===========
Bugs are tracked on `GitHub Issues <https://github.com/OCA/server-tools/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/OCA/server-tools/issues/new?body=module:%20nsca_client%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
Do not contact contributors directly about support or help with technical issues.
Credits
=======
Authors
~~~~~~~
* ABF OSIELL
Contributors
~~~~~~~~~~~~
* Sébastien Alix <sebastien.alix@osiell.com>
* Enric Tobella <etobella@creublanca.es>
* Jaime Arroyo <jaime.arroyo@creublanca.es>
Maintainers
~~~~~~~~~~~
This module is maintained by the OCA.
.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org
OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.
This module is part of the `OCA/server-tools <https://github.com/OCA/server-tools/tree/16.0/nsca_client>`_ project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

View file

@ -0,0 +1,4 @@
# © 2015 ABF OSIELL <http://osiell.com>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from . import models

View file

@ -0,0 +1,22 @@
# © 2015 ABF OSIELL <http://osiell.com>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
{
"name": "NSCA Client",
"summary": "Send passive alerts to monitor your Odoo application.",
"version": "16.0.1.0.0",
"category": "Tools",
"website": "https://github.com/OCA/server-tools",
"author": "ABF OSIELL, Odoo Community Association (OCA)",
"license": "AGPL-3",
"application": False,
"installable": True,
"depends": ["base"],
"data": [
"security/ir.model.access.csv",
"views/nsca_menu.xml",
"views/nsca_check.xml",
"views/nsca_server.xml",
],
"external_dependencies": {"deb": ["nsca-client"]},
"demo": ["demo/demo_data.xml"],
}

View file

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo noupdate="1">
<record id="nsca_server_default" model="nsca.server">
<field name="name">nagios.example.net</field>
<field name="port">5667</field>
<field name="node_hostname">MY-SERVER</field>
</record>
<record id="demo_nsca_check_mails" model="nsca.check">
<field name="server_id" ref="nsca_server_default" />
<field name="service">Odoo Mail Queue</field>
<field name="interval_number" eval="10" />
<field name="interval_type">minutes</field>
<field name="nsca_model">mail.mail</field>
<field name="nsca_function">nsca_check_mails</field>
<field name="nsca_args" />
</record>
</odoo>

View file

@ -0,0 +1,623 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * nsca_client
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \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: nsca_client
#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form
msgid "0: OK"
msgstr "0: U REDU"
#. module: nsca_client
#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form
msgid "1: WARNING"
msgstr "1: UPOZORENJE"
#. module: nsca_client
#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form
msgid "2: CRITICAL"
msgstr "2: KRITIČNO"
#. module: nsca_client
#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form
msgid "3: UNKNOWN"
msgstr "3: NEPOZNATO"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__help
msgid "Action Description"
msgstr "Opis akcije"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__name
msgid "Action Name"
msgstr "Naziv akcije"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__state
msgid "Action To Do"
msgstr "Akcija za uraditi"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__type
msgid "Action Type"
msgstr "Tip akcije"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__active
msgid "Active"
msgstr "Aktivan"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__activity_type_id
msgid "Activity"
msgstr "Aktivnost"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__activity_user_type
msgid "Activity User Type"
msgstr "Vrsta korisničke aktivnosti"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__partner_ids
msgid "Add Followers"
msgstr "Dodaj pratioce"
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__daylight_saving_time_resistant
msgid ""
"Adjust interval to run at the same hour after and beforedaylight saving time"
" change. It's used twice a year"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__allow_void_result
msgid "Allow void result"
msgstr "Dozvoli prazan rezultat"
#. module: nsca_client
#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form
msgid ""
"Any other RC value will be treated as\n"
" CRITICAL."
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__nsca_args
msgid "Arguments"
msgstr "Argumenti"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__binding_model_id
msgid "Binding Model"
msgstr "Vezni model"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__binding_type
msgid "Binding Type"
msgstr "Tip vezivanja"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__binding_view_types
msgid "Binding View Types"
msgstr "Vezujući tipovi prikaza"
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__allow_void_result
msgid ""
"By default, a CRITICAL message is sent if the method does not return.\n"
"If checked, no message will be sent in such a case."
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__check_count
msgid "Check Count"
msgstr "Broj provjera"
#. module: nsca_client
#: model:ir.actions.act_window,name:nsca_client.action_nsca_check_tree
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__check_ids
#: model:ir.ui.menu,name:nsca_client.menu_action_nsca_check_tree
#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_server_form
msgid "Checks"
msgstr "Kontrole"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__child_ids
msgid "Child Actions"
msgstr "Podređena akcija"
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__child_ids
msgid ""
"Child server actions that will be executed. Note that the last return "
"returned action value will be used as global return value."
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__sms_method
msgid ""
"Choose method for SMS sending:\n"
"SMS: mass SMS\n"
"Post as Message: log on document\n"
"Post as Note: mass SMS with archives"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__mail_post_method
msgid ""
"Choose method for email sending:\n"
"EMail: send directly emails\n"
"Post as Message: post on document and notify followers\n"
"Post as Note: log a note on document"
msgstr ""
#. module: nsca_client
#. odoo-python
#: code:addons/nsca_client/models/nsca_server.py:0
#, python-format
msgid ""
"Command '%s' not found. Please install the NSCA client.\n"
"On Debian/Ubuntu: apt-get install nsca-client"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__config_dir_path
msgid "Configuration directory"
msgstr "Direktorij konfiguracije"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__config_file_path
msgid "Configuration file"
msgstr "Datoteka konfiguracije"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__create_uid
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__create_uid
msgid "Created by"
msgstr "Kreirao"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__create_date
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__create_date
msgid "Created on"
msgstr "Kreirano"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__cron_id
msgid "Cron"
msgstr "Kron"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__daylight_saving_time_resistant
msgid "Daylight Saving Time Resistant"
msgstr "Otporan na ljetno računanje vremena"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__display_name
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__display_name
msgid "Display Name"
msgstr "Prikazani naziv"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__activity_date_deadline_range
msgid "Due Date In"
msgstr "Datum dospijeća u"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__activity_date_deadline_range_type
msgid "Due type"
msgstr "Vrsta predviđeno"
#. module: nsca_client
#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form
msgid ""
"E.g.\n"
" <em>(1, u\"3 mails not sent\")</em>"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__template_id
msgid "Email Template"
msgstr "Predložak email-a"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__encryption_method
msgid "Encryption method"
msgstr "Metod šifriranja"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__xml_id
msgid "External ID"
msgstr "Externi ID"
#. module: nsca_client
#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form
msgid "Frequency"
msgstr "Frekvencija"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__groups_id
msgid "Groups"
msgstr "Grupe"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__name
msgid "Hostname"
msgstr "Ime hosta"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__node_hostname
msgid "Hostname of this node"
msgstr "Ime hosta ovog čvora"
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__numbercall
msgid ""
"How many times the method is called,\n"
"a negative number indicates no limit."
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__id
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__id
msgid "ID"
msgstr "ID"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__interval_number
msgid "Interval Number"
msgstr "Broj intervala"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__interval_type
msgid "Interval Unit"
msgstr "Jedinica intervala"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__lastcall
msgid "Last Execution Date"
msgstr "Datum poslednjeg izvršavanja"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check____last_update
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server____last_update
msgid "Last Modified on"
msgstr "Zadnje mijenjano"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__write_uid
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__write_uid
msgid "Last Updated by"
msgstr "Zadnji ažurirao"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__write_date
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__write_date
msgid "Last Updated on"
msgstr "Zadnje ažurirano"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__link_field_id
msgid "Link Field"
msgstr "Polje veze"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__nsca_function
msgid "Method"
msgstr "Metoda"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__model_id
msgid "Model"
msgstr "Model"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__model_name
msgid "Model Name"
msgstr "Naziv modela"
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__crud_model_id
msgid ""
"Model for record creation / update. Set this field only to specify a "
"different model than the base model."
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__model_id
msgid "Model on which the server action runs."
msgstr "Model na kojem se izvršava serverska akcija."
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__mutually_exclusive_cron_ids
msgid "Mutually Exclusive Scheduled Actions"
msgstr "Međusobno isključive zakazane akcije"
#. module: nsca_client
#. odoo-python
#: code:addons/nsca_client/models/nsca_check.py:0
#: model:ir.model,name:nsca_client.model_nsca_check
#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form
#, python-format
msgid "NSCA Check"
msgstr "NSCA provjera"
#. module: nsca_client
#: model:ir.cron,cron_name:nsca_client.demo_nsca_check_mails_ir_cron
msgid "NSCA Check - Odoo Mail Queue"
msgstr "NSCA provjera - Odoo red čekanja pošte"
#. module: nsca_client
#: model:ir.ui.menu,name:nsca_client.menu_nsca_client
msgid "NSCA Client"
msgstr "NSCA klijent"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__nsca_model
msgid "NSCA Model"
msgstr "NSCA model"
#. module: nsca_client
#: model:ir.model,name:nsca_client.model_nsca_server
#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_server_form
msgid "NSCA Server"
msgstr "NSCA server"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__cron_name
msgid "Name"
msgstr "Naziv:"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__nextcall
msgid "Next Execution Date"
msgstr "Datum slijedećeg izvršavanja"
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__nextcall
msgid "Next planned execution date for this job."
msgstr "Sljedeće planirano vrijeme izvršenja za ovaj posao."
#. module: nsca_client
#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_server_form
msgid "Node identity"
msgstr "Identitet čvora"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__activity_note
msgid "Note"
msgstr "Zabilješka"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__numbercall
msgid "Number of Calls"
msgstr "Broj pokretanja"
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__help
msgid ""
"Optional help text for the users with a description of the target view, such"
" as its usage and purpose."
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__password
msgid "Password"
msgstr "Zaporka"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__port
msgid "Port"
msgstr "Port"
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__lastcall
msgid ""
"Previous time the cron ran successfully, provided to the job through the "
"context on the `lastcall` key"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__priority
msgid "Priority"
msgstr "Prioritet"
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__link_field_id
msgid ""
"Provide the field used to link the newly created record on the record used "
"by the server action."
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__code
msgid "Python Code"
msgstr "Python Kod"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__doall
msgid "Repeat Missed"
msgstr "Ponovi propušteno"
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__interval_number
msgid "Repeat every x."
msgstr "Ponovi svaki x."
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__activity_user_id
msgid "Responsible"
msgstr "Odgovoran"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__sms_template_id
msgid "SMS Template"
msgstr "Predložak SMS poruke"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__user_id
msgid "Scheduler User"
msgstr "Korisnik planera"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__mail_post_method
msgid "Send as"
msgstr "Pošalji kao"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__sms_method
msgid "Send as (SMS)"
msgstr "Pošalji kao (SMS)"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__sequence
msgid "Sequence"
msgstr "Sekvenca"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__server_id
msgid "Server"
msgstr "Server"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__ir_actions_server_id
msgid "Server action"
msgstr "Serverska akcija"
#. module: nsca_client
#: model:ir.actions.act_window,name:nsca_client.action_nsca_server_tree
#: model:ir.ui.menu,name:nsca_client.menu_action_nsca_server_tree
msgid "Servers"
msgstr "Poslužitelji"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__service
msgid "Service"
msgstr "Usluga"
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__binding_model_id
msgid ""
"Setting a value makes this action available in the sidebar for the given "
"model."
msgstr ""
#. module: nsca_client
#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form
msgid "Settings"
msgstr "Postavke"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__smart_search
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__smart_search
msgid "Smart Search"
msgstr "Pametna pretraga"
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__doall
msgid ""
"Specify if missed occurrences should be executed when the server restarts."
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__mail_post_autofollow
msgid "Subscribe Recipients"
msgstr "Pretplati primaoca"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__activity_summary
msgid "Summary"
msgstr "Sažetak"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__crud_model_id
msgid "Target Model"
msgstr "Ciljani model"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__crud_model_name
msgid "Target Model Name"
msgstr "Naziv ciljanog modela"
#. module: nsca_client
#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form
msgid ""
"The method must return a tuple (RC,\n"
" MESSAGE) where RC is an integer:"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__priority
msgid ""
"The priority of the job, as an integer: 0 means higher priority, 10 means "
"lower priority."
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_server__node_hostname
msgid ""
"This is the hostname of the current Odoo node declared in the monitoring "
"server."
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__state
msgid ""
"Type of server action. The following values are available:\n"
"- 'Execute Python Code': a block of python code that will be executed\n"
"- 'Create a new Record': create a new record with new values\n"
"- 'Update a Record': update the values of a record\n"
"- 'Execute several actions': define an action that triggers several other server actions\n"
"- 'Send Email': post a message, a note or send an email (Discuss)\n"
"- 'Add Followers': add followers to a record (Discuss)\n"
"- 'Create Next Activity': create an activity (Discuss)\n"
"- 'Send SMS Text Message': send SMS, log them on documents (SMS)"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__usage
msgid "Usage"
msgstr "Upotreba"
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__activity_user_type
msgid ""
"Use 'Specific User' to always assign the same user on the next activity. Use"
" 'Generic User From Record' to specify the field name of the user to choose "
"on the record."
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__activity_user_field_name
msgid "User field name"
msgstr "Naziv korisničkog polja"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__fields_lines
msgid "Value Mapping"
msgstr "Mapirana vrijednost"
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__sequence
msgid ""
"When dealing with multiple actions, the execution order is based on the "
"sequence. Low number means high priority."
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__code
msgid ""
"Write Python code that the action will execute. Some variables are available"
" for use; help about python expression is given in the help tab."
msgstr ""

View file

@ -0,0 +1,695 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * nsca_client
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 14.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2024-04-20 23:50+0000\n"
"Last-Translator: Ivorra78 <informatica@totmaterial.es>\n"
"Language-Team: none\n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.17\n"
#. module: nsca_client
#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form
msgid "0: OK"
msgstr "0: OK"
#. module: nsca_client
#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form
msgid "1: WARNING"
msgstr "1: ADVERTENCIA"
#. module: nsca_client
#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form
msgid "2: CRITICAL"
msgstr "2: CRÍTICO"
#. module: nsca_client
#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form
msgid "3: UNKNOWN"
msgstr "3: DESCONOCIDO"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__help
msgid "Action Description"
msgstr "Descripción de la Acción"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__name
msgid "Action Name"
msgstr "Nombre Acción"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__state
msgid "Action To Do"
msgstr "Acción A Realizar"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__type
msgid "Action Type"
msgstr "Tipo de Acción"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__active
msgid "Active"
msgstr "Activo"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__activity_type_id
msgid "Activity"
msgstr "Actividad"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__activity_user_type
msgid "Activity User Type"
msgstr "Tipo Actividad Usuario"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__partner_ids
msgid "Add Followers"
msgstr "Añadir Seguidores"
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__daylight_saving_time_resistant
msgid ""
"Adjust interval to run at the same hour after and beforedaylight saving time "
"change. It's used twice a year"
msgstr ""
"Ajuste el intervalo para que funcione a la misma hora después y antes del "
"cambio de horario de verano. Se utiliza dos veces al año"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__allow_void_result
msgid "Allow void result"
msgstr "Permitir resultado nulo"
#. module: nsca_client
#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form
msgid ""
"Any other RC value will be treated as\n"
" CRITICAL."
msgstr ""
"Cualquier otro valor RC será tratado como\n"
" CRÍTICO."
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__nsca_args
msgid "Arguments"
msgstr "Argumentos"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__binding_model_id
msgid "Binding Model"
msgstr "Modelo de Encuadernación"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__binding_type
msgid "Binding Type"
msgstr "Tipo de Encuadernación"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__binding_view_types
msgid "Binding View Types"
msgstr "Tipos de Vistas Vinculantes"
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__allow_void_result
msgid ""
"By default, a CRITICAL message is sent if the method does not return.\n"
"If checked, no message will be sent in such a case."
msgstr ""
"Por defecto, se envía un mensaje CRÍTICO si el método no devuelve.\n"
"Si se marca, no se enviará ningún mensaje en tal caso."
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__check_count
msgid "Check Count"
msgstr "Comprobar el Recuento"
#. module: nsca_client
#: model:ir.actions.act_window,name:nsca_client.action_nsca_check_tree
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__check_ids
#: model:ir.ui.menu,name:nsca_client.menu_action_nsca_check_tree
#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_server_form
msgid "Checks"
msgstr "Comprobaciones"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__child_ids
msgid "Child Actions"
msgstr "Acciones Hijas"
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__child_ids
msgid ""
"Child server actions that will be executed. Note that the last return "
"returned action value will be used as global return value."
msgstr ""
"Acciones del servidor hijo que se ejecutarán. Tenga en cuenta que el último "
"valor de acción devuelto se utilizará como valor de retorno global."
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__sms_method
msgid ""
"Choose method for SMS sending:\n"
"SMS: mass SMS\n"
"Post as Message: log on document\n"
"Post as Note: mass SMS with archives"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__mail_post_method
msgid ""
"Choose method for email sending:\n"
"EMail: send directly emails\n"
"Post as Message: post on document and notify followers\n"
"Post as Note: log a note on document"
msgstr ""
#. module: nsca_client
#. odoo-python
#: code:addons/nsca_client/models/nsca_server.py:0
#, python-format
msgid ""
"Command '%s' not found. Please install the NSCA client.\n"
"On Debian/Ubuntu: apt-get install nsca-client"
msgstr ""
"Comando '%s' no encontrado. Por favor, instale el cliente NSCA.\n"
"En Debian/Ubuntu: apt-get install nsca-client"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__config_dir_path
msgid "Configuration directory"
msgstr "Directorio de configuración"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__config_file_path
msgid "Configuration file"
msgstr "Archivo de Configuración"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__create_uid
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__create_uid
msgid "Created by"
msgstr "Creado por"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__create_date
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__create_date
msgid "Created on"
msgstr "Creado el"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__cron_id
msgid "Cron"
msgstr "Cron"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__daylight_saving_time_resistant
msgid "Daylight Saving Time Resistant"
msgstr "Resistente al Horario de Verano"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__display_name
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__display_name
msgid "Display Name"
msgstr "Mostrar Nombre"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__activity_date_deadline_range
msgid "Due Date In"
msgstr "Fecha de Vencimiento En"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__activity_date_deadline_range_type
msgid "Due type"
msgstr "Tipo de vencimiento"
#. module: nsca_client
#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form
msgid ""
"E.g.\n"
" <em>(1, u\"3 mails not sent\")</em>"
msgstr ""
"Por ejemplo\n"
" <em>(1, u \"3 correos no enviados\")</em>"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__template_id
msgid "Email Template"
msgstr "Plantilla de Correo Electrónico"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__encryption_method
msgid "Encryption method"
msgstr "Método de encriptación"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__xml_id
msgid "External ID"
msgstr "ID Externo"
#. module: nsca_client
#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form
msgid "Frequency"
msgstr "Frecuencia"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__groups_id
msgid "Groups"
msgstr "Grupos"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__name
msgid "Hostname"
msgstr "Nombre del huésped"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__node_hostname
msgid "Hostname of this node"
msgstr "Nombre de host de este nodo"
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__numbercall
msgid ""
"How many times the method is called,\n"
"a negative number indicates no limit."
msgstr ""
"Cuántas veces se llama al método,\n"
"un número negativo indica que no hay límite."
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__id
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__id
msgid "ID"
msgstr "ID"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__interval_number
msgid "Interval Number"
msgstr "Número de Intervalo"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__interval_type
msgid "Interval Unit"
msgstr "Unidad de Intervalo"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__lastcall
msgid "Last Execution Date"
msgstr "Última Fecha de Ejecución"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check____last_update
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server____last_update
msgid "Last Modified on"
msgstr "Última Modificación el"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__write_uid
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__write_uid
msgid "Last Updated by"
msgstr "Última Actualización por"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__write_date
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__write_date
msgid "Last Updated on"
msgstr "Última Actualización el"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__link_field_id
msgid "Link Field"
msgstr "Campo de Enlace"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__nsca_function
msgid "Method"
msgstr "Método"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__model_id
msgid "Model"
msgstr "Modelo"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__model_name
msgid "Model Name"
msgstr "Nombre del Modelo"
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__crud_model_id
msgid ""
"Model for record creation / update. Set this field only to specify a "
"different model than the base model."
msgstr ""
"Modelo para la creación / actualización de registros. Establezca este campo "
"sólo para especificar un modelo diferente al modelo base."
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__model_id
msgid "Model on which the server action runs."
msgstr "Modelo sobre el que se ejecuta la acción del servidor."
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__mutually_exclusive_cron_ids
msgid "Mutually Exclusive Scheduled Actions"
msgstr "Acciones programadas excluyentes mutuamente"
#. module: nsca_client
#. odoo-python
#: code:addons/nsca_client/models/nsca_check.py:0
#: model:ir.model,name:nsca_client.model_nsca_check
#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form
#, python-format
msgid "NSCA Check"
msgstr "Comprobación NSCA"
#. module: nsca_client
#: model:ir.cron,cron_name:nsca_client.demo_nsca_check_mails_ir_cron
msgid "NSCA Check - Odoo Mail Queue"
msgstr "NSCA Comprobación - Cola de correo Odoo"
#. module: nsca_client
#: model:ir.ui.menu,name:nsca_client.menu_nsca_client
msgid "NSCA Client"
msgstr "Cliente NSCA"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__nsca_model
msgid "NSCA Model"
msgstr "Modelo NSCA"
#. module: nsca_client
#: model:ir.model,name:nsca_client.model_nsca_server
#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_server_form
msgid "NSCA Server"
msgstr "Servidor NSCA"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__cron_name
msgid "Name"
msgstr "Nombre"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__nextcall
msgid "Next Execution Date"
msgstr "Próxima Fecha de Ejecución"
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__nextcall
msgid "Next planned execution date for this job."
msgstr "Próxima fecha de ejecución prevista para este trabajo."
#. module: nsca_client
#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_server_form
msgid "Node identity"
msgstr "Identidad del nodo"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__activity_note
msgid "Note"
msgstr "Nota"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__numbercall
msgid "Number of Calls"
msgstr "Número de Llamadas"
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__help
msgid ""
"Optional help text for the users with a description of the target view, such "
"as its usage and purpose."
msgstr ""
"Texto de ayuda opcional para los usuarios con una descripción de la vista de "
"destino, como su uso y propósito."
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__password
msgid "Password"
msgstr "Contraseña"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__port
msgid "Port"
msgstr "Puerto"
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__lastcall
msgid ""
"Previous time the cron ran successfully, provided to the job through the "
"context on the `lastcall` key"
msgstr ""
"Hora anterior en la que el cron se ejecutó correctamente, proporcionada al "
"trabajo a través del contexto en la tecla `lastcall"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__priority
msgid "Priority"
msgstr "Prioridad"
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__link_field_id
msgid ""
"Provide the field used to link the newly created record on the record used "
"by the server action."
msgstr ""
"Proporcione el campo utilizado para vincular el registro recién creado en el "
"registro utilizado por la acción del servidor."
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__code
msgid "Python Code"
msgstr "Código Python"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__doall
msgid "Repeat Missed"
msgstr "Repetición Fallida"
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__interval_number
msgid "Repeat every x."
msgstr "Repite cada x."
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__activity_user_id
msgid "Responsible"
msgstr "Responsable"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__sms_template_id
msgid "SMS Template"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__user_id
msgid "Scheduler User"
msgstr "Programador Usuario"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__mail_post_method
msgid "Send as"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__sms_method
msgid "Send as (SMS)"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__sequence
msgid "Sequence"
msgstr "Secuencia"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__server_id
msgid "Server"
msgstr "Servidor"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__ir_actions_server_id
msgid "Server action"
msgstr "Acción de servidor"
#. module: nsca_client
#: model:ir.actions.act_window,name:nsca_client.action_nsca_server_tree
#: model:ir.ui.menu,name:nsca_client.menu_action_nsca_server_tree
msgid "Servers"
msgstr "Servidores"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__service
msgid "Service"
msgstr "Servicio"
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__binding_model_id
msgid ""
"Setting a value makes this action available in the sidebar for the given "
"model."
msgstr ""
"Establecer un valor hace que esta acción esté disponible en la barra lateral "
"para el modelo dado."
#. module: nsca_client
#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form
msgid "Settings"
msgstr "Configuraciones"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__smart_search
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__smart_search
msgid "Smart Search"
msgstr "Búsqueda Inteligente"
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__doall
msgid ""
"Specify if missed occurrences should be executed when the server restarts."
msgstr ""
"Especifique si las incidencias omitidas deben ejecutarse cuando se reinicie "
"el servidor."
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__mail_post_autofollow
msgid "Subscribe Recipients"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__activity_summary
msgid "Summary"
msgstr "Resumen"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__crud_model_id
msgid "Target Model"
msgstr "Modelo de Objetivo"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__crud_model_name
msgid "Target Model Name"
msgstr "Nombre del modelo de destino"
#. module: nsca_client
#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form
msgid ""
"The method must return a tuple (RC,\n"
" MESSAGE) where RC is an integer:"
msgstr ""
"El método debe devolver una tupla (RC,\n"
" MENSAJE) donde RC es un número entero:"
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__priority
msgid ""
"The priority of the job, as an integer: 0 means higher priority, 10 means "
"lower priority."
msgstr ""
"La prioridad del trabajo, como un número entero: 0 significa mayor "
"prioridad, 10 menor prioridad."
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_server__node_hostname
msgid ""
"This is the hostname of the current Odoo node declared in the monitoring "
"server."
msgstr ""
"Este es el nombre de host del nodo Odoo actual declarado en el servidor de "
"monitorización."
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__state
msgid ""
"Type of server action. The following values are available:\n"
"- 'Execute Python Code': a block of python code that will be executed\n"
"- 'Create a new Record': create a new record with new values\n"
"- 'Update a Record': update the values of a record\n"
"- 'Execute several actions': define an action that triggers several other "
"server actions\n"
"- 'Send Email': post a message, a note or send an email (Discuss)\n"
"- 'Add Followers': add followers to a record (Discuss)\n"
"- 'Create Next Activity': create an activity (Discuss)\n"
"- 'Send SMS Text Message': send SMS, log them on documents (SMS)"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__usage
msgid "Usage"
msgstr "Uso"
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__activity_user_type
msgid ""
"Use 'Specific User' to always assign the same user on the next activity. Use "
"'Generic User From Record' to specify the field name of the user to choose "
"on the record."
msgstr ""
"Utilice 'Usuario Específico' para asignar siempre el mismo usuario en la "
"siguiente actividad. Utilice 'Usuario genérico del registro' para "
"especificar el nombre de campo del usuario a elegir en el registro."
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__activity_user_field_name
msgid "User field name"
msgstr "Nombre del campo de usuario"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__fields_lines
msgid "Value Mapping"
msgstr "Mapa de valores"
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__sequence
msgid ""
"When dealing with multiple actions, the execution order is based on the "
"sequence. Low number means high priority."
msgstr ""
"Cuando se trata de acciones múltiples, el orden de ejecución se basa en la "
"secuencia. Un número bajo significa prioridad alta."
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__code
msgid ""
"Write Python code that the action will execute. Some variables are available "
"for use; help about python expression is given in the help tab."
msgstr ""
"Escriba el código Python que ejecutará la acción. Algunas variables están "
"disponibles para su uso; ayuda sobre la expresión de Python se da en la "
"pestaña de ayuda."
#~ msgid "Add Channels"
#~ msgstr "Añadir Canales"
#~ msgid "Technical name of the user on the record"
#~ msgstr "Nombre técnico del usuario en el registro"
#~ msgid ""
#~ "Type of server action. The following values are available:\n"
#~ "- 'Execute Python Code': a block of python code that will be executed\n"
#~ "- 'Create': create a new record with new values\n"
#~ "- 'Update a Record': update the values of a record\n"
#~ "- 'Execute several actions': define an action that triggers several other "
#~ "server actions\n"
#~ "- 'Send Email': automatically send an email (Discuss)\n"
#~ "- 'Add Followers': add followers to a record (Discuss)\n"
#~ "- 'Create Next Activity': create an activity (Discuss)"
#~ msgstr ""
#~ "Tipo de acción del servidor. Están disponibles los siguientes valores:\n"
#~ "- 'Ejecutar código Python': un bloque de código python que se ejecutará.\n"
#~ "- 'Create': crear un nuevo registro con nuevos valores\n"
#~ "- 'Actualizar un registro': actualizar los valores de un registro\n"
#~ "- Ejecutar varias acciones\": define una acción que desencadena otras "
#~ "acciones del servidor.\n"
#~ "- Enviar correo electrónico': enviar automáticamente un correo "
#~ "electrónico (Discutir)\n"
#~ "- Añadir seguidores\": añadir seguidores a un registro (Discutir)\n"
#~ "- Crear siguiente actividad': crear una actividad (Discutir)"

View file

@ -0,0 +1,651 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * nsca_client
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 8.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-04-07 12:33+0000\n"
"PO-Revision-Date: 2016-04-07 12:33+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
#. module: nsca_client
#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form
msgid "0: OK"
msgstr "0: OK"
#. module: nsca_client
#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form
msgid "1: WARNING"
msgstr "1: WARNING"
#. module: nsca_client
#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form
msgid "2: CRITICAL"
msgstr "2: CRITICAL"
#. module: nsca_client
#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form
msgid "3: UNKNOWN"
msgstr "3: UNKNOWN"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__help
msgid "Action Description"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__name
msgid "Action Name"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__state
msgid "Action To Do"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__type
msgid "Action Type"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__active
msgid "Active"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__activity_type_id
msgid "Activity"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__activity_user_type
msgid "Activity User Type"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__partner_ids
msgid "Add Followers"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__daylight_saving_time_resistant
msgid ""
"Adjust interval to run at the same hour after and beforedaylight saving time "
"change. It's used twice a year"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__allow_void_result
msgid "Allow void result"
msgstr "Autoriser l'absence de résultat"
#. module: nsca_client
#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form
#, fuzzy
msgid ""
"Any other RC value will be treated as\n"
" CRITICAL."
msgstr "Tout autre valeur RC sera traitée comme CRITICAL."
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__nsca_args
msgid "Arguments"
msgstr "Arguments"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__binding_model_id
msgid "Binding Model"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__binding_type
msgid "Binding Type"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__binding_view_types
msgid "Binding View Types"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__allow_void_result
msgid ""
"By default, a CRITICAL message is sent if the method does not return.\n"
"If checked, no message will be sent in such a case."
msgstr ""
"Par défaut, un message de niveau CRITICAL sera envoyé si la méthode ne "
"retourne aucun résultat.\n"
"Si cette option est cochée, aucun message ne sera envoyé dans un tel cas."
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__check_count
msgid "Check Count"
msgstr ""
#. module: nsca_client
#: model:ir.actions.act_window,name:nsca_client.action_nsca_check_tree
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__check_ids
#: model:ir.ui.menu,name:nsca_client.menu_action_nsca_check_tree
#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_server_form
msgid "Checks"
msgstr "Contrôles"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__child_ids
msgid "Child Actions"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__child_ids
msgid ""
"Child server actions that will be executed. Note that the last return "
"returned action value will be used as global return value."
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__sms_method
msgid ""
"Choose method for SMS sending:\n"
"SMS: mass SMS\n"
"Post as Message: log on document\n"
"Post as Note: mass SMS with archives"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__mail_post_method
msgid ""
"Choose method for email sending:\n"
"EMail: send directly emails\n"
"Post as Message: post on document and notify followers\n"
"Post as Note: log a note on document"
msgstr ""
#. module: nsca_client
#. odoo-python
#: code:addons/nsca_client/models/nsca_server.py:0
#, python-format
msgid ""
"Command '%s' not found. Please install the NSCA client.\n"
"On Debian/Ubuntu: apt-get install nsca-client"
msgstr ""
"Commande '%s' non-disponible. Veuillez installer le client NSCA.\n"
"Sur Debian/Ubuntu: apt-get install nsca-client"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__config_dir_path
msgid "Configuration directory"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__config_file_path
msgid "Configuration file"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__create_uid
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__create_uid
msgid "Created by"
msgstr "Créé par"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__create_date
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__create_date
msgid "Created on"
msgstr "Créé le"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__cron_id
msgid "Cron"
msgstr "Cron"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__daylight_saving_time_resistant
msgid "Daylight Saving Time Resistant"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__display_name
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__display_name
msgid "Display Name"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__activity_date_deadline_range
msgid "Due Date In"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__activity_date_deadline_range_type
msgid "Due type"
msgstr ""
#. module: nsca_client
#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form
msgid ""
"E.g.\n"
" <em>(1, u\"3 mails not sent\")</em>"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__template_id
msgid "Email Template"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__encryption_method
msgid "Encryption method"
msgstr "Méthode de chiffrement"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__xml_id
msgid "External ID"
msgstr ""
#. module: nsca_client
#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form
msgid "Frequency"
msgstr "Fréquence"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__groups_id
msgid "Groups"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__name
msgid "Hostname"
msgstr "Serveur"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__node_hostname
msgid "Hostname of this node"
msgstr "Nom d'hôte du noeud"
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__numbercall
msgid ""
"How many times the method is called,\n"
"a negative number indicates no limit."
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__id
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__id
msgid "ID"
msgstr "ID"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__interval_number
msgid "Interval Number"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__interval_type
msgid "Interval Unit"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__lastcall
msgid "Last Execution Date"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check____last_update
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server____last_update
#, fuzzy
msgid "Last Modified on"
msgstr "Dernière mise à jour le"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__write_uid
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__write_uid
msgid "Last Updated by"
msgstr "Dernière modification par"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__write_date
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__write_date
msgid "Last Updated on"
msgstr "Dernière mise à jour le"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__link_field_id
msgid "Link Field"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__nsca_function
msgid "Method"
msgstr "Méthode"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__model_id
msgid "Model"
msgstr "Modèle"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__model_name
msgid "Model Name"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__crud_model_id
msgid ""
"Model for record creation / update. Set this field only to specify a "
"different model than the base model."
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__model_id
msgid "Model on which the server action runs."
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__mutually_exclusive_cron_ids
msgid "Mutually Exclusive Scheduled Actions"
msgstr ""
#. module: nsca_client
#. odoo-python
#: code:addons/nsca_client/models/nsca_check.py:0
#: model:ir.model,name:nsca_client.model_nsca_check
#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form
#, python-format
msgid "NSCA Check"
msgstr "Contrôle NSCA"
#. module: nsca_client
#: model:ir.cron,cron_name:nsca_client.demo_nsca_check_mails_ir_cron
msgid "NSCA Check - Odoo Mail Queue"
msgstr ""
#. module: nsca_client
#: model:ir.ui.menu,name:nsca_client.menu_nsca_client
msgid "NSCA Client"
msgstr "Client NSCA"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__nsca_model
msgid "NSCA Model"
msgstr ""
#. module: nsca_client
#: model:ir.model,name:nsca_client.model_nsca_server
#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_server_form
msgid "NSCA Server"
msgstr "Serveur NSCA"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__cron_name
msgid "Name"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__nextcall
msgid "Next Execution Date"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__nextcall
msgid "Next planned execution date for this job."
msgstr ""
#. module: nsca_client
#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_server_form
msgid "Node identity"
msgstr "Identité du noeud"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__activity_note
msgid "Note"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__numbercall
msgid "Number of Calls"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__help
msgid ""
"Optional help text for the users with a description of the target view, such "
"as its usage and purpose."
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__password
msgid "Password"
msgstr "Mot de passe"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__port
msgid "Port"
msgstr "Port"
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__lastcall
msgid ""
"Previous time the cron ran successfully, provided to the job through the "
"context on the `lastcall` key"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__priority
msgid "Priority"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__link_field_id
msgid ""
"Provide the field used to link the newly created record on the record used "
"by the server action."
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__code
msgid "Python Code"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__doall
msgid "Repeat Missed"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__interval_number
msgid "Repeat every x."
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__activity_user_id
msgid "Responsible"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__sms_template_id
msgid "SMS Template"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__user_id
msgid "Scheduler User"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__mail_post_method
msgid "Send as"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__sms_method
msgid "Send as (SMS)"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__sequence
#, fuzzy
msgid "Sequence"
msgstr "Fréquence"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__server_id
msgid "Server"
msgstr "Serveur"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__ir_actions_server_id
#, fuzzy
msgid "Server action"
msgstr "Serveur"
#. module: nsca_client
#: model:ir.actions.act_window,name:nsca_client.action_nsca_server_tree
#: model:ir.ui.menu,name:nsca_client.menu_action_nsca_server_tree
msgid "Servers"
msgstr "Serveurs"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__service
msgid "Service"
msgstr "Service"
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__binding_model_id
msgid ""
"Setting a value makes this action available in the sidebar for the given "
"model."
msgstr ""
#. module: nsca_client
#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form
msgid "Settings"
msgstr "Paramètres"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__smart_search
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__smart_search
msgid "Smart Search"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__doall
msgid ""
"Specify if missed occurrences should be executed when the server restarts."
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__mail_post_autofollow
msgid "Subscribe Recipients"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__activity_summary
msgid "Summary"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__crud_model_id
msgid "Target Model"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__crud_model_name
msgid "Target Model Name"
msgstr ""
#. module: nsca_client
#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form
#, fuzzy
msgid ""
"The method must return a tuple (RC,\n"
" MESSAGE) where RC is an integer:"
msgstr "La méthode doit retourner un tuple (RC, MESSAGE) où RC est un entier :"
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__priority
msgid ""
"The priority of the job, as an integer: 0 means higher priority, 10 means "
"lower priority."
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_server__node_hostname
msgid ""
"This is the hostname of the current Odoo node declared in the monitoring "
"server."
msgstr ""
"C'est le nom d'hôte identifiant le serveur Odoo dans la configuration du "
"serveur NSCA."
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__state
msgid ""
"Type of server action. The following values are available:\n"
"- 'Execute Python Code': a block of python code that will be executed\n"
"- 'Create a new Record': create a new record with new values\n"
"- 'Update a Record': update the values of a record\n"
"- 'Execute several actions': define an action that triggers several other "
"server actions\n"
"- 'Send Email': post a message, a note or send an email (Discuss)\n"
"- 'Add Followers': add followers to a record (Discuss)\n"
"- 'Create Next Activity': create an activity (Discuss)\n"
"- 'Send SMS Text Message': send SMS, log them on documents (SMS)"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__usage
msgid "Usage"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__activity_user_type
msgid ""
"Use 'Specific User' to always assign the same user on the next activity. Use "
"'Generic User From Record' to specify the field name of the user to choose "
"on the record."
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__activity_user_field_name
msgid "User field name"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__fields_lines
msgid "Value Mapping"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__sequence
msgid ""
"When dealing with multiple actions, the execution order is based on the "
"sequence. Low number means high priority."
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__code
msgid ""
"Write Python code that the action will execute. Some variables are available "
"for use; help about python expression is given in the help tab."
msgstr ""
#~ msgid "NSCA Checks"
#~ msgstr "Contrôles NSCA"
#~ msgid "NSCA Servers"
#~ msgstr "Serveurs NSCA"
#~ msgid "(1, u\"3 mails not sent\")"
#~ msgstr "(1, u\"3 mails non-envoyés\")"
#~ msgid "E.g."
#~ msgstr "Ex :"

View file

@ -0,0 +1,687 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * nsca_client
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2025-01-11 15:06+0000\n"
"Last-Translator: mymage <stefano.consolaro@mymage.it>\n"
"Language-Team: none\n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.6.2\n"
#. module: nsca_client
#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form
msgid "0: OK"
msgstr "0: OK"
#. module: nsca_client
#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form
msgid "1: WARNING"
msgstr "1: ATTENZIONE"
#. module: nsca_client
#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form
msgid "2: CRITICAL"
msgstr "2: CRITICO"
#. module: nsca_client
#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form
msgid "3: UNKNOWN"
msgstr "3: SCONOSCIUTO"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__help
msgid "Action Description"
msgstr "Descrizione azione"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__name
msgid "Action Name"
msgstr "Nome azione"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__state
msgid "Action To Do"
msgstr "Azione da compiere"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__type
msgid "Action Type"
msgstr "Tipo azione"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__active
msgid "Active"
msgstr "Attiva"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__activity_type_id
msgid "Activity"
msgstr "Attività"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__activity_user_type
msgid "Activity User Type"
msgstr "Tipo utente attività"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__partner_ids
msgid "Add Followers"
msgstr "Aggiungi chi segue"
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__daylight_saving_time_resistant
msgid ""
"Adjust interval to run at the same hour after and beforedaylight saving time"
" change. It's used twice a year"
msgstr ""
"Correggere l'intervallo per eseguire alla stessa ora dopo e prima il cambio "
"di orario del salvataggio giornaliero. È utilizzato due volte all'anno"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__allow_void_result
msgid "Allow void result"
msgstr "Consenti risultato vuoto"
#. module: nsca_client
#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form
msgid ""
"Any other RC value will be treated as\n"
" CRITICAL."
msgstr ""
"Qualsiasi altro valore RC verrà considerato come\n"
" CRITICO."
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__nsca_args
msgid "Arguments"
msgstr "Argomenti"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__binding_model_id
msgid "Binding Model"
msgstr "Modello collegamento"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__binding_type
msgid "Binding Type"
msgstr "Tipo collegamento"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__binding_view_types
msgid "Binding View Types"
msgstr "Tipi vista collegamento"
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__allow_void_result
msgid ""
"By default, a CRITICAL message is sent if the method does not return.\n"
"If checked, no message will be sent in such a case."
msgstr ""
"Per impostazione predefinita, viene inviato un messaggio CRITICO se il "
"metodo non restituisce un risultato.\n"
"Se selezionato, in tal caso non verrà inviato alcun messaggio."
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__check_count
msgid "Check Count"
msgstr "Conteggio controlli"
#. module: nsca_client
#: model:ir.actions.act_window,name:nsca_client.action_nsca_check_tree
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__check_ids
#: model:ir.ui.menu,name:nsca_client.menu_action_nsca_check_tree
#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_server_form
msgid "Checks"
msgstr "Controlli"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__child_ids
msgid "Child Actions"
msgstr "Azioni figlie"
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__child_ids
msgid ""
"Child server actions that will be executed. Note that the last return "
"returned action value will be used as global return value."
msgstr ""
"Azioni figlie del server che verranno eseguite. Notare che l'ultimo valore "
"di azione restituito verrà utilizzato come valore di ritorno globale."
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__sms_method
msgid ""
"Choose method for SMS sending:\n"
"SMS: mass SMS\n"
"Post as Message: log on document\n"
"Post as Note: mass SMS with archives"
msgstr ""
"Scegliere il metodo per l'invio di SMS:\n"
"SMS: SMS di massa\n"
"Invia come messaggio: registra sul documento\n"
"Invia come nota: SMS di massa con archivi"
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__mail_post_method
msgid ""
"Choose method for email sending:\n"
"EMail: send directly emails\n"
"Post as Message: post on document and notify followers\n"
"Post as Note: log a note on document"
msgstr ""
"Scegliereil metodo per l'invio di email:\n"
"E-mail: invia e-mail direttamente\n"
"Invia come messaggio: pubblica sul documento e notifica chi segue\n"
"Invia come nota: registra una nota sul documento"
#. module: nsca_client
#. odoo-python
#: code:addons/nsca_client/models/nsca_server.py:0
#, python-format
msgid ""
"Command '%s' not found. Please install the NSCA client.\n"
"On Debian/Ubuntu: apt-get install nsca-client"
msgstr ""
"Comando '%s' non trovato. Installare il client NSCA.\n"
"Su Debian/Ubuntu: apt-get install nsca-client"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__config_dir_path
msgid "Configuration directory"
msgstr "Cartella configurazione"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__config_file_path
msgid "Configuration file"
msgstr "File configurazione"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__create_uid
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__create_uid
msgid "Created by"
msgstr "Creato da"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__create_date
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__create_date
msgid "Created on"
msgstr "Creato il"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__cron_id
msgid "Cron"
msgstr "Cron"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__daylight_saving_time_resistant
msgid "Daylight Saving Time Resistant"
msgstr "Indifferente all'orario giornaliero di salvataggio"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__display_name
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__display_name
msgid "Display Name"
msgstr "Nome visualizzato"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__activity_date_deadline_range
msgid "Due Date In"
msgstr "Scade in"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__activity_date_deadline_range_type
msgid "Due type"
msgstr "Tipo scadenza"
#. module: nsca_client
#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form
msgid ""
"E.g.\n"
" <em>(1, u\"3 mails not sent\")</em>"
msgstr ""
"Es.\n"
" <em>(1, u\"3 e-mail non inviate\""
")</em>"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__template_id
msgid "Email Template"
msgstr "Modello e-mail"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__encryption_method
msgid "Encryption method"
msgstr "Metodo criptazione"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__xml_id
msgid "External ID"
msgstr "ID esterno"
#. module: nsca_client
#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form
msgid "Frequency"
msgstr "Frequenza"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__groups_id
msgid "Groups"
msgstr "Gruppi"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__name
msgid "Hostname"
msgstr "Nome host"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__node_hostname
msgid "Hostname of this node"
msgstr "Nome host di questo nodo"
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__numbercall
msgid ""
"How many times the method is called,\n"
"a negative number indicates no limit."
msgstr ""
"Quante volte viene chiamato il metodo, \n"
"un numero negativo indica nessun limite."
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__id
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__id
msgid "ID"
msgstr "ID"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__interval_number
msgid "Interval Number"
msgstr "Numero intervallo"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__interval_type
msgid "Interval Unit"
msgstr "Unità intervallo"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__lastcall
msgid "Last Execution Date"
msgstr "Data ultima esecuzione"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check____last_update
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server____last_update
msgid "Last Modified on"
msgstr "Ultima modifica il"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__write_uid
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__write_uid
msgid "Last Updated by"
msgstr "Ultimo aggiornamento di"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__write_date
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__write_date
msgid "Last Updated on"
msgstr "Ultimo aggiornamento il"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__link_field_id
msgid "Link Field"
msgstr "Campo link"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__nsca_function
msgid "Method"
msgstr "Metodo"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__model_id
msgid "Model"
msgstr "Modello"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__model_name
msgid "Model Name"
msgstr "Nome modello"
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__crud_model_id
msgid ""
"Model for record creation / update. Set this field only to specify a "
"different model than the base model."
msgstr ""
"Modello per la creazione/aggiornamento dei record. Impostare questo campo "
"solo per specificare un modello diverso dal modello base."
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__model_id
msgid "Model on which the server action runs."
msgstr "Modello sul quale l'azione del server si applica."
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__mutually_exclusive_cron_ids
msgid "Mutually Exclusive Scheduled Actions"
msgstr "Azioni pianificate mutualmente esclusive"
#. module: nsca_client
#. odoo-python
#: code:addons/nsca_client/models/nsca_check.py:0
#: model:ir.model,name:nsca_client.model_nsca_check
#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form
#, python-format
msgid "NSCA Check"
msgstr "Controllo NSCA"
#. module: nsca_client
#: model:ir.cron,cron_name:nsca_client.demo_nsca_check_mails_ir_cron
msgid "NSCA Check - Odoo Mail Queue"
msgstr "Controllo NSCA - Coda e-mail Odoo"
#. module: nsca_client
#: model:ir.ui.menu,name:nsca_client.menu_nsca_client
msgid "NSCA Client"
msgstr "Client NSCA"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__nsca_model
msgid "NSCA Model"
msgstr "Modello NSCA"
#. module: nsca_client
#: model:ir.model,name:nsca_client.model_nsca_server
#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_server_form
msgid "NSCA Server"
msgstr "Server NSCA"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__cron_name
msgid "Name"
msgstr "Nome"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__nextcall
msgid "Next Execution Date"
msgstr "Data prossima esecuzione"
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__nextcall
msgid "Next planned execution date for this job."
msgstr "Data prossima esecuzione pianificata per questo lavoro."
#. module: nsca_client
#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_server_form
msgid "Node identity"
msgstr "Identità nodo"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__activity_note
msgid "Note"
msgstr "Nota"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__numbercall
msgid "Number of Calls"
msgstr "Numero di chiamate"
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__help
msgid ""
"Optional help text for the users with a description of the target view, such"
" as its usage and purpose."
msgstr ""
"Testo di aiuto opzionale per l'utente con una descrizione della vista "
"obiettivo, come il suo utilizzo e obiettivo."
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__password
msgid "Password"
msgstr "Password"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__port
msgid "Port"
msgstr "Porta"
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__lastcall
msgid ""
"Previous time the cron ran successfully, provided to the job through the "
"context on the `lastcall` key"
msgstr ""
"La volta precedente il cron è stato eseguito correttamente, fornito al "
"lavoro tramite il contesto sulla chiave `lastcall`"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__priority
msgid "Priority"
msgstr "Priorità"
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__link_field_id
msgid ""
"Provide the field used to link the newly created record on the record used "
"by the server action."
msgstr ""
"Fornire il campo utilizzato per collegare il record appena creato al record "
"utilizzato dall'azione del server."
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__code
msgid "Python Code"
msgstr "Codice Python"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__doall
msgid "Repeat Missed"
msgstr "Ripeti mancati"
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__interval_number
msgid "Repeat every x."
msgstr "Ripeti ogni x."
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__activity_user_id
msgid "Responsible"
msgstr "Responsabile"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__sms_template_id
msgid "SMS Template"
msgstr "Modello SMS"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__user_id
msgid "Scheduler User"
msgstr "Utente schedulatore"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__mail_post_method
msgid "Send as"
msgstr "Invia come"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__sms_method
msgid "Send as (SMS)"
msgstr "Invia come (SMS)"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__sequence
msgid "Sequence"
msgstr "Sequenza"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__server_id
msgid "Server"
msgstr "Server"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__ir_actions_server_id
msgid "Server action"
msgstr "Azione server"
#. module: nsca_client
#: model:ir.actions.act_window,name:nsca_client.action_nsca_server_tree
#: model:ir.ui.menu,name:nsca_client.menu_action_nsca_server_tree
msgid "Servers"
msgstr "Server"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__service
msgid "Service"
msgstr "Servizio"
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__binding_model_id
msgid ""
"Setting a value makes this action available in the sidebar for the given "
"model."
msgstr ""
"Impostare un valore rende questa azione disponibile nella barra laterale per "
"il dato modello."
#. module: nsca_client
#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form
msgid "Settings"
msgstr "Impostazioni"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__smart_search
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__smart_search
msgid "Smart Search"
msgstr "Ricerca intelligente"
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__doall
msgid ""
"Specify if missed occurrences should be executed when the server restarts."
msgstr ""
"Specificare se le occorrenze perse devono essere eseguite al riavvio del "
"server."
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__mail_post_autofollow
msgid "Subscribe Recipients"
msgstr "Sottoscrivi destinatari"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__activity_summary
msgid "Summary"
msgstr "Riepilogo"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__crud_model_id
msgid "Target Model"
msgstr "Modello obiettivo"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__crud_model_name
msgid "Target Model Name"
msgstr "Nome modello obiettivo"
#. module: nsca_client
#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form
msgid ""
"The method must return a tuple (RC,\n"
" MESSAGE) where RC is an integer:"
msgstr ""
"Il metodo deve restituire una tupla (RC,\n"
" MESSAGGIO) dove RC è un intero:"
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__priority
msgid ""
"The priority of the job, as an integer: 0 means higher priority, 10 means "
"lower priority."
msgstr ""
"La priorità del lavoro, espressa come numero intero: 0 indica priorità più "
"alta, 10 indica priorità più bassa."
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_server__node_hostname
msgid ""
"This is the hostname of the current Odoo node declared in the monitoring "
"server."
msgstr ""
"Questo è il nome host del nodo Odoo corrente dichiarato nel server di "
"monitoraggio."
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__state
msgid ""
"Type of server action. The following values are available:\n"
"- 'Execute Python Code': a block of python code that will be executed\n"
"- 'Create a new Record': create a new record with new values\n"
"- 'Update a Record': update the values of a record\n"
"- 'Execute several actions': define an action that triggers several other server actions\n"
"- 'Send Email': post a message, a note or send an email (Discuss)\n"
"- 'Add Followers': add followers to a record (Discuss)\n"
"- 'Create Next Activity': create an activity (Discuss)\n"
"- 'Send SMS Text Message': send SMS, log them on documents (SMS)"
msgstr ""
"Tipo di azione server. Sono disponibili i seguenti valori:\n"
"- 'Esegue codice Python': un blocco di codice Python che verrà eseguito\n"
"- 'Crea un nuovo record': crea un nuovo record con nuovi valori\n"
"- 'Aggiorna un record': aggiorna i valori di un record\n"
"- 'Esegue diverse azioni': definisce un'azione che attiva diverse altre "
"azioni\n"
"- 'Invia e-mail': inva un messagio, una nota o inviauna e-mail (Discussione)"
"\n"
"- 'Aggiunge chi segue': aggiunge chi segue ad un record (Discussione)\n"
"- 'Crea attività successiva': crea un'attività (Discussione)\n"
"- 'Invia SMS': invia SMS, registrandoli nei documenti (SMS)"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__usage
msgid "Usage"
msgstr "Uilizzo"
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__activity_user_type
msgid ""
"Use 'Specific User' to always assign the same user on the next activity. Use"
" 'Generic User From Record' to specify the field name of the user to choose "
"on the record."
msgstr ""
"Utilizzare 'Utente specifico' per assegnare sempre lo stesso utente "
"all'attività successiva. Utilizzare 'Utente generico dal record' per "
"indicare il nome del campo dell'utente da scegliere sul record."
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__activity_user_field_name
msgid "User field name"
msgstr "Nome campo utente"
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__fields_lines
msgid "Value Mapping"
msgstr "Mappatura valore"
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__sequence
msgid ""
"When dealing with multiple actions, the execution order is based on the "
"sequence. Low number means high priority."
msgstr ""
"Quando si ha a che fare con più azioni, l'ordine di esecuzione si basa sulla "
"sequenza. Un numero basso significa alta priorità."
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__code
msgid ""
"Write Python code that the action will execute. Some variables are available"
" for use; help about python expression is given in the help tab."
msgstr ""
"Scrivere il codice Python che l'azione eseguirà. Alcune variabili sono "
"disponibili per l'uso; la guida sull'espressione Python è fornita nella "
"scheda della guida."

View file

@ -0,0 +1,623 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * nsca_client
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \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: nsca_client
#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form
msgid "0: OK"
msgstr ""
#. module: nsca_client
#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form
msgid "1: WARNING"
msgstr ""
#. module: nsca_client
#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form
msgid "2: CRITICAL"
msgstr ""
#. module: nsca_client
#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form
msgid "3: UNKNOWN"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__help
msgid "Action Description"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__name
msgid "Action Name"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__state
msgid "Action To Do"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__type
msgid "Action Type"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__active
msgid "Active"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__activity_type_id
msgid "Activity"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__activity_user_type
msgid "Activity User Type"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__partner_ids
msgid "Add Followers"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__daylight_saving_time_resistant
msgid ""
"Adjust interval to run at the same hour after and beforedaylight saving time"
" change. It's used twice a year"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__allow_void_result
msgid "Allow void result"
msgstr ""
#. module: nsca_client
#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form
msgid ""
"Any other RC value will be treated as\n"
" CRITICAL."
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__nsca_args
msgid "Arguments"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__binding_model_id
msgid "Binding Model"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__binding_type
msgid "Binding Type"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__binding_view_types
msgid "Binding View Types"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__allow_void_result
msgid ""
"By default, a CRITICAL message is sent if the method does not return.\n"
"If checked, no message will be sent in such a case."
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__check_count
msgid "Check Count"
msgstr ""
#. module: nsca_client
#: model:ir.actions.act_window,name:nsca_client.action_nsca_check_tree
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__check_ids
#: model:ir.ui.menu,name:nsca_client.menu_action_nsca_check_tree
#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_server_form
msgid "Checks"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__child_ids
msgid "Child Actions"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__child_ids
msgid ""
"Child server actions that will be executed. Note that the last return "
"returned action value will be used as global return value."
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__sms_method
msgid ""
"Choose method for SMS sending:\n"
"SMS: mass SMS\n"
"Post as Message: log on document\n"
"Post as Note: mass SMS with archives"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__mail_post_method
msgid ""
"Choose method for email sending:\n"
"EMail: send directly emails\n"
"Post as Message: post on document and notify followers\n"
"Post as Note: log a note on document"
msgstr ""
#. module: nsca_client
#. odoo-python
#: code:addons/nsca_client/models/nsca_server.py:0
#, python-format
msgid ""
"Command '%s' not found. Please install the NSCA client.\n"
"On Debian/Ubuntu: apt-get install nsca-client"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__config_dir_path
msgid "Configuration directory"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__config_file_path
msgid "Configuration file"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__create_uid
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__create_uid
msgid "Created by"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__create_date
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__create_date
msgid "Created on"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__cron_id
msgid "Cron"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__daylight_saving_time_resistant
msgid "Daylight Saving Time Resistant"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__display_name
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__display_name
msgid "Display Name"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__activity_date_deadline_range
msgid "Due Date In"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__activity_date_deadline_range_type
msgid "Due type"
msgstr ""
#. module: nsca_client
#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form
msgid ""
"E.g.\n"
" <em>(1, u\"3 mails not sent\")</em>"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__template_id
msgid "Email Template"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__encryption_method
msgid "Encryption method"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__xml_id
msgid "External ID"
msgstr ""
#. module: nsca_client
#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form
msgid "Frequency"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__groups_id
msgid "Groups"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__name
msgid "Hostname"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__node_hostname
msgid "Hostname of this node"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__numbercall
msgid ""
"How many times the method is called,\n"
"a negative number indicates no limit."
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__id
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__id
msgid "ID"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__interval_number
msgid "Interval Number"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__interval_type
msgid "Interval Unit"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__lastcall
msgid "Last Execution Date"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check____last_update
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server____last_update
msgid "Last Modified on"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__write_uid
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__write_uid
msgid "Last Updated by"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__write_date
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__write_date
msgid "Last Updated on"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__link_field_id
msgid "Link Field"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__nsca_function
msgid "Method"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__model_id
msgid "Model"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__model_name
msgid "Model Name"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__crud_model_id
msgid ""
"Model for record creation / update. Set this field only to specify a "
"different model than the base model."
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__model_id
msgid "Model on which the server action runs."
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__mutually_exclusive_cron_ids
msgid "Mutually Exclusive Scheduled Actions"
msgstr ""
#. module: nsca_client
#. odoo-python
#: code:addons/nsca_client/models/nsca_check.py:0
#: model:ir.model,name:nsca_client.model_nsca_check
#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form
#, python-format
msgid "NSCA Check"
msgstr ""
#. module: nsca_client
#: model:ir.cron,cron_name:nsca_client.demo_nsca_check_mails_ir_cron
msgid "NSCA Check - Odoo Mail Queue"
msgstr ""
#. module: nsca_client
#: model:ir.ui.menu,name:nsca_client.menu_nsca_client
msgid "NSCA Client"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__nsca_model
msgid "NSCA Model"
msgstr ""
#. module: nsca_client
#: model:ir.model,name:nsca_client.model_nsca_server
#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_server_form
msgid "NSCA Server"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__cron_name
msgid "Name"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__nextcall
msgid "Next Execution Date"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__nextcall
msgid "Next planned execution date for this job."
msgstr ""
#. module: nsca_client
#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_server_form
msgid "Node identity"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__activity_note
msgid "Note"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__numbercall
msgid "Number of Calls"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__help
msgid ""
"Optional help text for the users with a description of the target view, such"
" as its usage and purpose."
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__password
msgid "Password"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__port
msgid "Port"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__lastcall
msgid ""
"Previous time the cron ran successfully, provided to the job through the "
"context on the `lastcall` key"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__priority
msgid "Priority"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__link_field_id
msgid ""
"Provide the field used to link the newly created record on the record used "
"by the server action."
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__code
msgid "Python Code"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__doall
msgid "Repeat Missed"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__interval_number
msgid "Repeat every x."
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__activity_user_id
msgid "Responsible"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__sms_template_id
msgid "SMS Template"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__user_id
msgid "Scheduler User"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__mail_post_method
msgid "Send as"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__sms_method
msgid "Send as (SMS)"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__sequence
msgid "Sequence"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__server_id
msgid "Server"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__ir_actions_server_id
msgid "Server action"
msgstr ""
#. module: nsca_client
#: model:ir.actions.act_window,name:nsca_client.action_nsca_server_tree
#: model:ir.ui.menu,name:nsca_client.menu_action_nsca_server_tree
msgid "Servers"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__service
msgid "Service"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__binding_model_id
msgid ""
"Setting a value makes this action available in the sidebar for the given "
"model."
msgstr ""
#. module: nsca_client
#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form
msgid "Settings"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__smart_search
#: model:ir.model.fields,field_description:nsca_client.field_nsca_server__smart_search
msgid "Smart Search"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__doall
msgid ""
"Specify if missed occurrences should be executed when the server restarts."
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__mail_post_autofollow
msgid "Subscribe Recipients"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__activity_summary
msgid "Summary"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__crud_model_id
msgid "Target Model"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__crud_model_name
msgid "Target Model Name"
msgstr ""
#. module: nsca_client
#: model_terms:ir.ui.view,arch_db:nsca_client.view_nsca_check_form
msgid ""
"The method must return a tuple (RC,\n"
" MESSAGE) where RC is an integer:"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__priority
msgid ""
"The priority of the job, as an integer: 0 means higher priority, 10 means "
"lower priority."
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_server__node_hostname
msgid ""
"This is the hostname of the current Odoo node declared in the monitoring "
"server."
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__state
msgid ""
"Type of server action. The following values are available:\n"
"- 'Execute Python Code': a block of python code that will be executed\n"
"- 'Create a new Record': create a new record with new values\n"
"- 'Update a Record': update the values of a record\n"
"- 'Execute several actions': define an action that triggers several other server actions\n"
"- 'Send Email': post a message, a note or send an email (Discuss)\n"
"- 'Add Followers': add followers to a record (Discuss)\n"
"- 'Create Next Activity': create an activity (Discuss)\n"
"- 'Send SMS Text Message': send SMS, log them on documents (SMS)"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__usage
msgid "Usage"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__activity_user_type
msgid ""
"Use 'Specific User' to always assign the same user on the next activity. Use"
" 'Generic User From Record' to specify the field name of the user to choose "
"on the record."
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__activity_user_field_name
msgid "User field name"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,field_description:nsca_client.field_nsca_check__fields_lines
msgid "Value Mapping"
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__sequence
msgid ""
"When dealing with multiple actions, the execution order is based on the "
"sequence. Low number means high priority."
msgstr ""
#. module: nsca_client
#: model:ir.model.fields,help:nsca_client.field_nsca_check__code
msgid ""
"Write Python code that the action will execute. Some variables are available"
" for use; help about python expression is given in the help tab."
msgstr ""

View file

@ -0,0 +1 @@
from . import nsca_check, nsca_server

View file

@ -0,0 +1,112 @@
# (Copyright) 2015 ABF OSIELL <http://osiell.com>
# (Copyright) 2018 Creu Blanca
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
import logging
from odoo import _, api, fields, models
from odoo.tools.safe_eval import safe_eval
_logger = logging.getLogger(__name__)
class NscaCheck(models.Model):
_name = "nsca.check"
_description = "NSCA Check"
_inherits = {"ir.cron": "cron_id"}
cron_id = fields.Many2one(
"ir.cron", string="Cron", required=True, ondelete="cascade", readonly=True
)
server_id = fields.Many2one("nsca.server", string="Server", required=True)
service = fields.Char(required=True)
nsca_model = fields.Char("NSCA Model")
nsca_function = fields.Char("Method")
nsca_args = fields.Char("Arguments")
allow_void_result = fields.Boolean(
"Allow void result",
default=False,
help="By default, a CRITICAL message is sent if the method does not "
"return.\nIf checked, no message will be sent in such a case.",
)
@api.model
def default_get(self, fields_list):
"""Set some default values on the fly, without overriding fields (which
has the side effect to re-create the fields on the current model).
"""
res = super(NscaCheck, self).default_get(fields_list)
res["name"] = "TEMP" # Required on 'ir.cron', replaced later
res["interval_number"] = 10
res["interval_type"] = "minutes"
return res
def _force_values(self):
"""Force some values:
- Compute the name of the NSCA check to be readable
among the others 'ir.cron' records.
"""
model = self.env["ir.model"].search([("model", "=", self._name)])
for check in self:
vals = {
"name": "{} - {}".format(_("NSCA Check"), check.service),
"model_id": model.id,
"state": "code",
"code": "model._cron_check(%s,)" % check.id,
"doall": False,
"numbercall": -1,
}
res = super(NscaCheck, check).write(vals)
return res
@api.model
def create(self, vals):
if not vals.get("model_id", False):
vals["model_id"] = (
self.env["ir.model"].search([("model", "=", self._name)]).id
)
if not vals.get("state", False):
vals["state"] = "code"
check = super(NscaCheck, self).create(vals)
check._force_values()
return check
def write(self, vals):
res = super(NscaCheck, self).write(vals)
if "service" in vals:
self._force_values()
return res
@api.model
def _cron_check(self, check_id):
self.env["nsca.server"]._check_send_nsca_command()
check = self.browse(check_id)
rc, message, performance = 3, "Unknown", {}
try:
NscaModel = self.env[check.nsca_model]
results = {"model": NscaModel}
safe_eval(
"result = model.{}({})".format(
check.nsca_function, check.nsca_args or ""
),
results,
mode="exec",
nocopy=True,
)
result = results["result"]
if not result:
if check.allow_void_result:
return False
raise ValueError("'%s' method does not return" % check.nsca_function)
if len(result) == 2:
rc, message = result
else:
rc, message, performance = result
except Exception as exc:
rc, message = 2, "%s" % exc
_logger.warning("%s - %s", check.service, message)
check._send_nsca(rc, message, performance)
return True
def _send_nsca(self, rc, message, performance):
for check in self:
check.server_id._send_nsca(check.service, rc, message, performance)

View file

@ -0,0 +1,236 @@
# (Copyright) 2015 ABF OSIELL <http://osiell.com>
# (Copyright) 2018 Creu Blanca
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
import errno
import logging
import os
import shlex
import subprocess
import psutil
from odoo import _, api, fields, models
from odoo.exceptions import UserError
from odoo.tools import config
def is_exe(fpath):
return os.path.isfile(fpath) and os.access(fpath, os.X_OK)
_logger = logging.getLogger(__name__)
SEND_NSCA_BIN = "/usr/sbin/send_nsca"
class NscaServer(models.Model):
_name = "nsca.server"
_description = "NSCA Server"
name = fields.Char("Hostname", required=True)
port = fields.Integer(default=5667, required=True)
password = fields.Char()
encryption_method = fields.Selection(
selection="_selection_encryption_method",
string="Encryption method",
default="1",
required=True,
)
config_dir_path = fields.Char(
"Configuration directory", compute="_compute_config_dir_path"
)
config_file_path = fields.Char(
"Configuration file", compute="_compute_config_file_path"
)
node_hostname = fields.Char(
"Hostname of this node",
required=True,
help="This is the hostname of the current Odoo node declared in the "
"monitoring server.",
)
check_ids = fields.One2many("nsca.check", "server_id", string="Checks")
check_count = fields.Integer(compute="_compute_check_count")
@api.depends("check_ids")
def _compute_check_count(self):
for r in self:
r.check_count = len(r.check_ids)
def _selection_encryption_method(self):
return [
("0", "0 - None (Do NOT use this option)"),
("1", "1 - Simple XOR"),
("2", "2 - DES"),
("3", "3 - 3DES (Triple DES)"),
("4", "4 - CAST-128"),
("5", "5 - CAST-256"),
("6", "6 - xTEA"),
("7", "7 - 3WAY"),
("8", "8 - BLOWFISH"),
("9", "9 - TWOFISH"),
("10", "10 - LOKI97"),
("11", "11 - RC2"),
("12", "12 - ARCFOUR"),
("14", "14 - RIJNDAEL-128"),
("15", "15 - RIJNDAEL-192"),
("16", "16 - RIJNDAEL-256"),
("19", "19 - WAKE"),
("20", "20 - SERPENT"),
("22", "22 - ENIGMA (Unix crypt)"),
("23", "23 - GOST"),
("24", "24 - SAFER64"),
("25", "25 - SAFER128"),
("26", "26 - SAFER+"),
]
def _compute_config_dir_path(self):
for server in self:
data_dir_path = config.get("data_dir")
dir_path = os.path.join(data_dir_path, "nsca_client", self.env.cr.dbname)
server.config_dir_path = dir_path
def _compute_config_file_path(self):
for server in self:
file_name = "send_nsca_%s.cfg" % server.id
full_path = os.path.join(server.config_dir_path, file_name)
server.config_file_path = full_path
def write_config_file(self):
for server in self:
try:
os.makedirs(server.config_dir_path)
except OSError as exception:
if exception.errno != errno.EEXIST:
raise
with open(server.config_file_path, "w") as config_file:
if server.password:
config_file.write("password=%s\n" % server.password)
config_file.write("encryption_method=%s\n" % server.encryption_method)
return True
def write(self, vals):
res = super(NscaServer, self).write(vals)
self.write_config_file()
return res
@api.model
def create(self, vals):
res = super(NscaServer, self).create(vals)
res.write_config_file()
return res
@api.model
def current_status(self):
ram = 0
cpu = 0
if psutil:
process = psutil.Process(os.getpid())
# psutil changed its api through versions
processes = [process]
if config.get("workers") and process.parent: # pragma: no cover
if callable(process.parent):
process = process.parent()
else:
process = process.parent
if hasattr(process, "children"):
processes += process.children(True)
elif hasattr(process, "get_children"):
processes += process.get_children(True)
for process in processes:
if hasattr(process, "memory_percent"):
ram += process.memory_percent()
if hasattr(process, "cpu_percent"):
cpu += process.cpu_percent(interval=1)
user_count = 0
if "bus.presence" in self.env.registry:
user_count = self.env["bus.presence"].search_count(
[("status", "=", "online")]
)
performance = {
"cpu": {"value": cpu},
"ram": {"value": ram},
"user_count": {"value": user_count},
}
return 0, "OK", performance
def _prepare_command(self):
"""Prepare the shell command used to send the check result
to the NSCA daemon.
"""
cmd = "/usr/sbin/send_nsca -H {} -p {} -c {}".format(
self.name,
self.port,
self.config_file_path,
)
return shlex.split(cmd)
@api.model
def _run_command(self, cmd, check_result):
"""Send the check result through the '/usr/sbin/send_nsca' command."""
try:
proc = subprocess.Popen(
cmd,
stdout=subprocess.PIPE,
stdin=subprocess.PIPE,
stderr=subprocess.STDOUT,
)
stdout = proc.communicate(input=check_result)[0]
_logger.debug("%s: %s", check_result, stdout.strip())
except Exception as exc:
_logger.error(exc)
def _check_send_nsca_command(self):
"""Check if the NSCA client is installed."""
if not is_exe(SEND_NSCA_BIN):
raise UserError(
_(
"Command '%s' not found. Please install the NSCA client.\n"
"On Debian/Ubuntu: apt-get install nsca-client"
)
% (SEND_NSCA_BIN)
)
def _format_check_result(self, service, rc, message):
"""Format the check result with tabulations as delimiter."""
message = message.replace("\t", " ")
hostname = self.node_hostname
check_result = "{}\t{}\t{}\t{}".format(hostname, service, rc, message)
return check_result.encode("utf-8")
def _send_nsca(self, service, rc, message, performance):
"""Send the result of the check to the NSCA daemon."""
msg = message
if len(performance) > 0:
msg += "| " + "".join(
[
"%s=%s%s;%s;%s;%s;%s"
% (
key,
performance[key]["value"],
performance[key].get("uom", ""),
performance[key].get("warn", ""),
performance[key].get("crit", ""),
performance[key].get("min", ""),
performance[key].get("max", ""),
)
for key in sorted(performance)
]
)
check_result = self._format_check_result(service, rc, msg)
cmd = self._prepare_command()
self._run_command(cmd, check_result)
def show_checks(self):
self.ensure_one()
result = self.env["ir.actions.act_window"]._for_xml_id(
"nsca_client.action_nsca_check_tree"
)
context = {"default_server_id": self.id}
result["context"] = context
result["domain"] = [("server_id", "=", self.id)]
if len(self.check_ids) == 1:
res = self.env.ref("nsca_client.view_nsca_check_form", False)
result["views"] = [(res and res.id or False, "form")]
result["res_id"] = self.check_ids.id
return result

View file

@ -0,0 +1,56 @@
To configure this module, you need to:
* Configure your server and a passive service in your monitoring tool
(e.g service ``Odoo Mail Queue`` on host ``MY-SERVER``).
* Declare your NSCA server in the menu Configuration / Technical / NSCA Client / Servers
.. image:: nsca_client/static/description/server.png
:width: 400 px
* Create NSCA checks in the menu Configuration / Technical / NSCA Client / Checks
.. image:: nsca_client/static/description/check.png
:width: 400 px
* Code the methods which will be called by the NSCA checks.
Such methods must return a tuple ``(RC, MESSAGE, PERFORMANCE_DATA)`` where ``RC`` is an integer,
``MESSAGE`` a unicode string AND ``PERFOMANCE_DATA`` is a dictionary.
``RC`` values and the corresponding status are:
- 0: OK
- 1: WARNING
- 2: CRITICAL
- 3: UNKNOWN
``PERFORMANCE_DATA`` is not mandatory, so it could be possible to send
``(RC, MESSAGE)``.
Each element of ``PERFORMANCE_DATA`` will be a dictionary that could contain:
- value: value of the data (required)
- max: Max value on the chart
- min: Minimum value on the chart
- warn: Warning value on the chart
- crit: Critical value on the chart
- uom: Unit of Measure on the chart (s - Seconds, % - Percentage, B - Bytes, c - Continuous)
The key of the dictionary will be used as the performance_data label.
E.g:
.. code-block:: python
class MailMail(models.Model):
_inherit = 'mail.mail'
@api.model
def nsca_check_mails(self):
mails = self.search([('state', '=', 'exception')])
if mails:
return (1, u"%s mails not sent" % len(mails), {
'exceptions': {'value': len(mails)}})
return (0, u"OK", {'exceptions': {'value': len(mails)}})
On the example, the performance data will use the label ``exceptions`` and the
value will be the number of exception of mails.

View file

@ -0,0 +1,3 @@
* Sébastien Alix <sebastien.alix@osiell.com>
* Enric Tobella <etobella@creublanca.es>
* Jaime Arroyo <jaime.arroyo@creublanca.es>

View file

@ -0,0 +1,4 @@
This is a technical module to send passive alerts to your favorite NSCA daemon
(Nagios, Shinken...).
This module is based on the Odoo cron system and requires a NSCA client
installed on the system to satisfy the ``/usr/sbin/send_nsca`` command.

View file

@ -0,0 +1,5 @@
To use this module, you need to install a NSCA client.
On Debian/Ubuntu::
$ sudo apt-get install nsca-client

View file

@ -0,0 +1,3 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_nsca_check,access_nsca_check,model_nsca_check,base.group_erp_manager,1,1,1,1
access_nsca_server,access_nsca_server,model_nsca_server,base.group_erp_manager,1,1,1,1
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_nsca_check access_nsca_check model_nsca_check base.group_erp_manager 1 1 1 1
3 access_nsca_server access_nsca_server model_nsca_server base.group_erp_manager 1 1 1 1

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

View file

@ -0,0 +1,489 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Docutils: https://docutils.sourceforge.io/" />
<title>NSCA Client</title>
<style type="text/css">
/*
:Author: David Goodger (goodger@python.org)
:Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $
:Copyright: This stylesheet has been placed in the public domain.
Default cascading style sheet for the HTML output of Docutils.
See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to
customize this style sheet.
*/
/* used to remove borders from tables and images */
.borderless, table.borderless td, table.borderless th {
border: 0 }
table.borderless td, table.borderless th {
/* Override padding for "table.docutils td" with "! important".
The right padding separates the table cells. */
padding: 0 0.5em 0 0 ! important }
.first {
/* Override more specific margin styles with "! important". */
margin-top: 0 ! important }
.last, .with-subtitle {
margin-bottom: 0 ! important }
.hidden {
display: none }
.subscript {
vertical-align: sub;
font-size: smaller }
.superscript {
vertical-align: super;
font-size: smaller }
a.toc-backref {
text-decoration: none ;
color: black }
blockquote.epigraph {
margin: 2em 5em ; }
dl.docutils dd {
margin-bottom: 0.5em }
object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] {
overflow: hidden;
}
/* Uncomment (and remove this text!) to get bold-faced definition list terms
dl.docutils dt {
font-weight: bold }
*/
div.abstract {
margin: 2em 5em }
div.abstract p.topic-title {
font-weight: bold ;
text-align: center }
div.admonition, div.attention, div.caution, div.danger, div.error,
div.hint, div.important, div.note, div.tip, div.warning {
margin: 2em ;
border: medium outset ;
padding: 1em }
div.admonition p.admonition-title, div.hint p.admonition-title,
div.important p.admonition-title, div.note p.admonition-title,
div.tip p.admonition-title {
font-weight: bold ;
font-family: sans-serif }
div.attention p.admonition-title, div.caution p.admonition-title,
div.danger p.admonition-title, div.error p.admonition-title,
div.warning p.admonition-title, .code .error {
color: red ;
font-weight: bold ;
font-family: sans-serif }
/* Uncomment (and remove this text!) to get reduced vertical space in
compound paragraphs.
div.compound .compound-first, div.compound .compound-middle {
margin-bottom: 0.5em }
div.compound .compound-last, div.compound .compound-middle {
margin-top: 0.5em }
*/
div.dedication {
margin: 2em 5em ;
text-align: center ;
font-style: italic }
div.dedication p.topic-title {
font-weight: bold ;
font-style: normal }
div.figure {
margin-left: 2em ;
margin-right: 2em }
div.footer, div.header {
clear: both;
font-size: smaller }
div.line-block {
display: block ;
margin-top: 1em ;
margin-bottom: 1em }
div.line-block div.line-block {
margin-top: 0 ;
margin-bottom: 0 ;
margin-left: 1.5em }
div.sidebar {
margin: 0 0 0.5em 1em ;
border: medium outset ;
padding: 1em ;
background-color: #ffffee ;
width: 40% ;
float: right ;
clear: right }
div.sidebar p.rubric {
font-family: sans-serif ;
font-size: medium }
div.system-messages {
margin: 5em }
div.system-messages h1 {
color: red }
div.system-message {
border: medium outset ;
padding: 1em }
div.system-message p.system-message-title {
color: red ;
font-weight: bold }
div.topic {
margin: 2em }
h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
margin-top: 0.4em }
h1.title {
text-align: center }
h2.subtitle {
text-align: center }
hr.docutils {
width: 75% }
img.align-left, .figure.align-left, object.align-left, table.align-left {
clear: left ;
float: left ;
margin-right: 1em }
img.align-right, .figure.align-right, object.align-right, table.align-right {
clear: right ;
float: right ;
margin-left: 1em }
img.align-center, .figure.align-center, object.align-center {
display: block;
margin-left: auto;
margin-right: auto;
}
table.align-center {
margin-left: auto;
margin-right: auto;
}
.align-left {
text-align: left }
.align-center {
clear: both ;
text-align: center }
.align-right {
text-align: right }
/* reset inner alignment in figures */
div.align-right {
text-align: inherit }
/* div.align-center * { */
/* text-align: left } */
.align-top {
vertical-align: top }
.align-middle {
vertical-align: middle }
.align-bottom {
vertical-align: bottom }
ol.simple, ul.simple {
margin-bottom: 1em }
ol.arabic {
list-style: decimal }
ol.loweralpha {
list-style: lower-alpha }
ol.upperalpha {
list-style: upper-alpha }
ol.lowerroman {
list-style: lower-roman }
ol.upperroman {
list-style: upper-roman }
p.attribution {
text-align: right ;
margin-left: 50% }
p.caption {
font-style: italic }
p.credits {
font-style: italic ;
font-size: smaller }
p.label {
white-space: nowrap }
p.rubric {
font-weight: bold ;
font-size: larger ;
color: maroon ;
text-align: center }
p.sidebar-title {
font-family: sans-serif ;
font-weight: bold ;
font-size: larger }
p.sidebar-subtitle {
font-family: sans-serif ;
font-weight: bold }
p.topic-title {
font-weight: bold }
pre.address {
margin-bottom: 0 ;
margin-top: 0 ;
font: inherit }
pre.literal-block, pre.doctest-block, pre.math, pre.code {
margin-left: 2em ;
margin-right: 2em }
pre.code .ln { color: grey; } /* line numbers */
pre.code, code { background-color: #eeeeee }
pre.code .comment, code .comment { color: #5C6576 }
pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
pre.code .literal.string, code .literal.string { color: #0C5404 }
pre.code .name.builtin, code .name.builtin { color: #352B84 }
pre.code .deleted, code .deleted { background-color: #DEB0A1}
pre.code .inserted, code .inserted { background-color: #A3D289}
span.classifier {
font-family: sans-serif ;
font-style: oblique }
span.classifier-delimiter {
font-family: sans-serif ;
font-weight: bold }
span.interpreted {
font-family: sans-serif }
span.option {
white-space: nowrap }
span.pre {
white-space: pre }
span.problematic {
color: red }
span.section-subtitle {
/* font-size relative to parent (h1..h6 element) */
font-size: 80% }
table.citation {
border-left: solid 1px gray;
margin-left: 1px }
table.docinfo {
margin: 2em 4em }
table.docutils {
margin-top: 0.5em ;
margin-bottom: 0.5em }
table.footnote {
border-left: solid 1px black;
margin-left: 1px }
table.docutils td, table.docutils th,
table.docinfo td, table.docinfo th {
padding-left: 0.5em ;
padding-right: 0.5em ;
vertical-align: top }
table.docutils th.field-name, table.docinfo th.docinfo-name {
font-weight: bold ;
text-align: left ;
white-space: nowrap ;
padding-left: 0 }
/* "booktabs" style (no vertical lines) */
table.docutils.booktabs {
border: 0px;
border-top: 2px solid;
border-bottom: 2px solid;
border-collapse: collapse;
}
table.docutils.booktabs * {
border: 0px;
}
table.docutils.booktabs th {
border-bottom: thin solid;
text-align: left;
}
h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
font-size: 100% }
ul.auto-toc {
list-style-type: none }
</style>
</head>
<body>
<div class="document" id="nsca-client">
<h1 class="title">NSCA Client</h1>
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:04a3c96ea4630fd8abd0b531436b95c8eb4ab07c3c8efcee9a5f5343c2477d36
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/server-tools/tree/16.0/nsca_client"><img alt="OCA/server-tools" src="https://img.shields.io/badge/github-OCA%2Fserver--tools-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/server-tools-16-0/server-tools-16-0-nsca_client"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/server-tools&amp;target_branch=16.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
<p>This is a technical module to send passive alerts to your favorite NSCA daemon
(Nagios, Shinken…).
This module is based on the Odoo cron system and requires a NSCA client
installed on the system to satisfy the <tt class="docutils literal">/usr/sbin/send_nsca</tt> command.</p>
<p><strong>Table of contents</strong></p>
<div class="contents local topic" id="contents">
<ul class="simple">
<li><a class="reference internal" href="#installation" id="toc-entry-1">Installation</a></li>
<li><a class="reference internal" href="#configuration" id="toc-entry-2">Configuration</a></li>
<li><a class="reference internal" href="#bug-tracker" id="toc-entry-3">Bug Tracker</a></li>
<li><a class="reference internal" href="#credits" id="toc-entry-4">Credits</a><ul>
<li><a class="reference internal" href="#authors" id="toc-entry-5">Authors</a></li>
<li><a class="reference internal" href="#contributors" id="toc-entry-6">Contributors</a></li>
<li><a class="reference internal" href="#maintainers" id="toc-entry-7">Maintainers</a></li>
</ul>
</li>
</ul>
</div>
<div class="section" id="installation">
<h1><a class="toc-backref" href="#toc-entry-1">Installation</a></h1>
<p>To use this module, you need to install a NSCA client.</p>
<p>On Debian/Ubuntu:</p>
<pre class="literal-block">
$ sudo apt-get install nsca-client
</pre>
</div>
<div class="section" id="configuration">
<h1><a class="toc-backref" href="#toc-entry-2">Configuration</a></h1>
<p>To configure this module, you need to:</p>
<ul class="simple">
<li>Configure your server and a passive service in your monitoring tool
(e.g service <tt class="docutils literal">Odoo Mail Queue</tt> on host <tt class="docutils literal"><span class="pre">MY-SERVER</span></tt>).</li>
<li>Declare your NSCA server in the menu Configuration / Technical / NSCA Client / Servers</li>
</ul>
<img alt="https://raw.githubusercontent.com/OCA/server-tools/16.0/nsca_client/nsca_client/static/description/server.png" src="https://raw.githubusercontent.com/OCA/server-tools/16.0/nsca_client/nsca_client/static/description/server.png" style="width: 400px;" />
<ul class="simple">
<li>Create NSCA checks in the menu Configuration / Technical / NSCA Client / Checks</li>
</ul>
<img alt="https://raw.githubusercontent.com/OCA/server-tools/16.0/nsca_client/nsca_client/static/description/check.png" src="https://raw.githubusercontent.com/OCA/server-tools/16.0/nsca_client/nsca_client/static/description/check.png" style="width: 400px;" />
<ul class="simple">
<li>Code the methods which will be called by the NSCA checks.</li>
</ul>
<p>Such methods must return a tuple <tt class="docutils literal">(RC, MESSAGE, PERFORMANCE_DATA)</tt> where <tt class="docutils literal">RC</tt> is an integer,
<tt class="docutils literal">MESSAGE</tt> a unicode string AND <tt class="docutils literal">PERFOMANCE_DATA</tt> is a dictionary.
<tt class="docutils literal">RC</tt> values and the corresponding status are:</p>
<ul class="simple">
<li>0: OK</li>
<li>1: WARNING</li>
<li>2: CRITICAL</li>
<li>3: UNKNOWN</li>
</ul>
<p><tt class="docutils literal">PERFORMANCE_DATA</tt> is not mandatory, so it could be possible to send
<tt class="docutils literal">(RC, MESSAGE)</tt>.
Each element of <tt class="docutils literal">PERFORMANCE_DATA</tt> will be a dictionary that could contain:</p>
<ul class="simple">
<li>value: value of the data (required)</li>
<li>max: Max value on the chart</li>
<li>min: Minimum value on the chart</li>
<li>warn: Warning value on the chart</li>
<li>crit: Critical value on the chart</li>
<li>uom: Unit of Measure on the chart (s - Seconds, % - Percentage, B - Bytes, c - Continuous)</li>
</ul>
<p>The key of the dictionary will be used as the performance_data label.</p>
<p>E.g:</p>
<pre class="code python literal-block">
<span class="k">class</span> <span class="nc">MailMail</span><span class="p">(</span><span class="n">models</span><span class="o">.</span><span class="n">Model</span><span class="p">):</span><span class="w">
</span> <span class="n">_inherit</span> <span class="o">=</span> <span class="s1">'mail.mail'</span><span class="w">
</span> <span class="nd">&#64;api</span><span class="o">.</span><span class="n">model</span><span class="w">
</span> <span class="k">def</span> <span class="nf">nsca_check_mails</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span><span class="w">
</span> <span class="n">mails</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">search</span><span class="p">([(</span><span class="s1">'state'</span><span class="p">,</span> <span class="s1">'='</span><span class="p">,</span> <span class="s1">'exception'</span><span class="p">)])</span><span class="w">
</span> <span class="k">if</span> <span class="n">mails</span><span class="p">:</span><span class="w">
</span> <span class="k">return</span> <span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="sa">u</span><span class="s2">&quot;</span><span class="si">%s</span><span class="s2"> mails not sent&quot;</span> <span class="o">%</span> <span class="nb">len</span><span class="p">(</span><span class="n">mails</span><span class="p">),</span> <span class="p">{</span><span class="w">
</span> <span class="s1">'exceptions'</span><span class="p">:</span> <span class="p">{</span><span class="s1">'value'</span><span class="p">:</span> <span class="nb">len</span><span class="p">(</span><span class="n">mails</span><span class="p">)}})</span><span class="w">
</span> <span class="k">return</span> <span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="sa">u</span><span class="s2">&quot;OK&quot;</span><span class="p">,</span> <span class="p">{</span><span class="s1">'exceptions'</span><span class="p">:</span> <span class="p">{</span><span class="s1">'value'</span><span class="p">:</span> <span class="nb">len</span><span class="p">(</span><span class="n">mails</span><span class="p">)}})</span>
</pre>
<p>On the example, the performance data will use the label <tt class="docutils literal">exceptions</tt> and the
value will be the number of exception of mails.</p>
</div>
<div class="section" id="bug-tracker">
<h1><a class="toc-backref" href="#toc-entry-3">Bug Tracker</a></h1>
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/server-tools/issues">GitHub Issues</a>.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
<a class="reference external" href="https://github.com/OCA/server-tools/issues/new?body=module:%20nsca_client%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
<p>Do not contact contributors directly about support or help with technical issues.</p>
</div>
<div class="section" id="credits">
<h1><a class="toc-backref" href="#toc-entry-4">Credits</a></h1>
<div class="section" id="authors">
<h2><a class="toc-backref" href="#toc-entry-5">Authors</a></h2>
<ul class="simple">
<li>ABF OSIELL</li>
</ul>
</div>
<div class="section" id="contributors">
<h2><a class="toc-backref" href="#toc-entry-6">Contributors</a></h2>
<ul class="simple">
<li>Sébastien Alix &lt;<a class="reference external" href="mailto:sebastien.alix&#64;osiell.com">sebastien.alix&#64;osiell.com</a>&gt;</li>
<li>Enric Tobella &lt;<a class="reference external" href="mailto:etobella&#64;creublanca.es">etobella&#64;creublanca.es</a>&gt;</li>
<li>Jaime Arroyo &lt;<a class="reference external" href="mailto:jaime.arroyo&#64;creublanca.es">jaime.arroyo&#64;creublanca.es</a>&gt;</li>
</ul>
</div>
<div class="section" id="maintainers">
<h2><a class="toc-backref" href="#toc-entry-7">Maintainers</a></h2>
<p>This module is maintained by the OCA.</p>
<a class="reference external image-reference" href="https://odoo-community.org"><img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" /></a>
<p>OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.</p>
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/server-tools/tree/16.0/nsca_client">OCA/server-tools</a> project on GitHub.</p>
<p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
</div>
</div>
</div>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

View file

@ -0,0 +1 @@
from . import test_nsca

View file

@ -0,0 +1,148 @@
# Copyright 2018 Creu Blanca
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from unittest.mock import patch
from odoo.tests.common import TransactionCase
from odoo.tools import mute_logger
from odoo.addons.nsca_client.models.nsca_server import NscaServer
class Popen:
def __init__(self, cmd, stdout, stdin, stderr):
self.cmd = cmd
self.stdout = stdout
self.stdin = stdin
self.stderr = stderr
# flake8: noqa: B902
def communicate(_input):
return ["test"]
class TestNsca(TransactionCase):
def test_nsca(self):
server = self.env["nsca.server"].create(
{
"name": "localhost",
"password": "pass",
"encryption_method": "3",
"node_hostname": "odoodev",
}
)
self.assertTrue(server.config_file_path)
with patch("subprocess.Popen") as post:
post.return_value = Popen
check = self.env["nsca.check"].create(
{
"server_id": server.id,
"service": "test",
"nsca_model": "nsca.server",
"nsca_function": "current_status",
}
)
self.assertTrue(check.model_id)
self.env["nsca.check"]._cron_check(check.id)
def test_write(self):
server = self.env["nsca.server"].create(
{
"name": "localhost",
"password": "pass",
"encryption_method": "3",
"node_hostname": "odoodev",
}
)
self.assertTrue(server.config_file_path)
check = self.env["nsca.check"].create(
{
"server_id": server.id,
"service": "test",
"nsca_model": "nsca.server",
"nsca_function": "current_status",
}
)
check.cron_id.state = "object_create"
check.write({"interval_number": 1})
self.assertEqual(check.cron_id.state, "object_create")
check.write({"service": "change"})
self.assertNotEqual(check.cron_id.state, "object_create")
def test_void_failure(self):
server = self.env["nsca.server"].create(
{
"name": "localhost",
"password": "pass",
"encryption_method": "3",
"node_hostname": "odoodev",
}
)
check = self.env["nsca.check"].create(
{
"server_id": server.id,
"service": "test",
"nsca_model": "nsca.server",
"allow_void_result": False,
"nsca_function": "_check_send_nsca_command",
}
)
with patch("subprocess.Popen") as post:
post.return_value = Popen
with mute_logger("odoo.addons.nsca_client.models.nsca_check"):
self.env["nsca.check"]._cron_check(check.id)
post.assert_called_once()
def test_void_ok(self):
server = self.env["nsca.server"].create(
{
"name": "localhost",
"password": "pass",
"encryption_method": "3",
"node_hostname": "odoodev",
}
)
self.assertEqual(server.check_count, 0)
check = self.env["nsca.check"].create(
{
"server_id": server.id,
"service": "test",
"nsca_model": "nsca.server",
"allow_void_result": True,
"nsca_function": "_check_send_nsca_command",
}
)
self.assertEqual(server.check_count, 1)
action = server.show_checks()
self.assertEqual(check, self.env["nsca.check"].browse(action["res_id"]))
self.assertEqual(check, self.env["nsca.check"].search(action["domain"]))
with patch("subprocess.Popen") as post:
post.return_value = Popen
self.env["nsca.check"]._cron_check(check.id)
post.assert_not_called()
def test_values(self):
server = self.env["nsca.server"].create(
{
"name": "localhost",
"password": "pass",
"encryption_method": "3",
"node_hostname": "odoodev",
}
)
check = self.env["nsca.check"].create(
{
"server_id": server.id,
"service": "test",
"nsca_model": "nsca.server",
"allow_void_result": False,
"nsca_function": "_check_send_nsca_command",
}
)
with patch("subprocess.Popen") as post:
post.return_value = Popen
with patch.object(NscaServer, "_check_send_nsca_command") as func:
func.return_value = ("OK", "RESULT")
self.env["nsca.check"]._cron_check(check.id)
func.assert_called()
post.assert_called_once()

View file

@ -0,0 +1,85 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- © 2015 ABF OSIELL <http://osiell.com>
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). -->
<odoo>
<record id="view_nsca_check_form" model="ir.ui.view">
<field name="name">nsca.check.form</field>
<field name="model">nsca.check</field>
<field name="arch" type="xml">
<form string="NSCA Check">
<sheet>
<group>
<group string="NSCA Check">
<field name="server_id" />
<field name="service" />
<label for="interval_number" string="Frequency" />
<div>
<field name="interval_number" class="oe_inline" />
<field name="interval_type" class="oe_inline" />
</div>
<field name="nextcall" />
<field name="active" />
</group>
<group string="Settings">
<field name="nsca_model" />
<field name="nsca_function" />
<field
name="nsca_args"
widget="ace"
options="{'mode': 'python'}"
/>
<field name="allow_void_result" />
<div colspan="2">
<p>The method must return a tuple (RC,
MESSAGE) where RC is an integer:
</p>
<newline />
<ul>
<li>0: OK</li>
<li>1: WARNING</li>
<li>2: CRITICAL</li>
<li>3: UNKNOWN</li>
</ul>
<newline />
<p>Any other RC value will be treated as
CRITICAL.
</p>
<p>E.g.
<em>(1, u"3 mails not sent")</em>
</p>
</div>
</group>
</group>
</sheet>
</form>
</field>
</record>
<record id="view_nsca_check_tree" model="ir.ui.view">
<field name="name">nsca.check.tree</field>
<field name="model">nsca.check</field>
<field name="arch" type="xml">
<tree decoration-muted="active==False">
<field name="service" />
<field name="server_id" />
<field name="nextcall" />
<field name="active" />
</tree>
</field>
</record>
<record model="ir.actions.act_window" id="action_nsca_check_tree">
<field name="name">Checks</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">nsca.check</field>
<field name="view_mode">tree,form</field>
<field name="view_id" ref="view_nsca_check_tree" />
<field name="context" eval="{'default_active': True}" />
<field name="domain">['|', ('active', '=', True), ('active', '=',
False)]
</field>
</record>
<menuitem
id="menu_action_nsca_check_tree"
parent="menu_nsca_client"
action="action_nsca_check_tree"
/>
</odoo>

View file

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- © 2015 ABF OSIELL <http://osiell.com>
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). -->
<odoo>
<menuitem id="menu_nsca_client" parent="base.menu_custom" name="NSCA Client" />
</odoo>

View file

@ -0,0 +1,63 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- © 2015 ABF OSIELL <http://osiell.com>
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). -->
<odoo>
<record id="view_nsca_server_form" model="ir.ui.view">
<field name="name">nsca.server.form</field>
<field name="model">nsca.server</field>
<field name="arch" type="xml">
<form string="NSCA Server">
<sheet>
<div class="oe_button_box" name="button_box">
<button
name="show_checks"
type="object"
class="oe_stat_button"
icon="fa-check-square"
>
<field
name="check_count"
widget="statinfo"
string="Checks"
/>
<field name="check_ids" invisible="1" />
</button>
</div>
<group string="NSCA Server">
<field name="name" style="width: 30%;" />
<field name="port" />
<field name="password" password="1" />
<field name="encryption_method" />
<field name="config_file_path" />
</group>
<group string="Node identity">
<field name="node_hostname" />
</group>
</sheet>
</form>
</field>
</record>
<record id="view_nsca_server_tree" model="ir.ui.view">
<field name="name">nsca.server.tree</field>
<field name="model">nsca.server</field>
<field name="arch" type="xml">
<tree>
<field name="name" />
<field name="port" />
<field name="config_file_path" />
</tree>
</field>
</record>
<record model="ir.actions.act_window" id="action_nsca_server_tree">
<field name="name">Servers</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">nsca.server</field>
<field name="view_mode">tree,form</field>
<field name="view_id" ref="view_nsca_server_tree" />
</record>
<menuitem
id="menu_action_nsca_server_tree"
parent="menu_nsca_client"
action="action_nsca_server_tree"
/>
</odoo>

View file

@ -0,0 +1,42 @@
[project]
name = "odoo-bringout-oca-server-tools-nsca_client"
version = "16.0.0"
description = "NSCA Client - Send passive alerts to monitor your Odoo application."
authors = [
{ name = "Ernad Husremovic", email = "hernad@bring.out.ba" }
]
dependencies = [
"odoo-bringout-oca-ocb-base>=16.0.0",
"requests>=2.25.1"
]
readme = "README.md"
requires-python = ">= 3.11"
classifiers = [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Topic :: Office/Business",
]
[project.urls]
homepage = "https://github.com/bringout/0"
repository = "https://github.com/bringout/0"
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.metadata]
allow-direct-references = true
[tool.hatch.build.targets.wheel]
packages = ["nsca_client"]
[tool.rye]
managed = true
dev-dependencies = [
"pytest>=8.4.1",
]