diff --git a/locale/sources/administration.pot b/locale/sources/administration.pot index b3fc7a7f2..e4b101002 100644 --- a/locale/sources/administration.pot +++ b/locale/sources/administration.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo 16.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-04 12:47+0000\n" +"POT-Creation-Date: 2022-11-17 09:28+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -196,11 +196,11 @@ msgid "Allow tcp connection from 192.168.1.x network" msgstr "" #: ../../content/administration/install/deploy.rst:100 -msgid "in ``/etc/postgresql/9.5/main/pg_hba.conf`` set:" +msgid "in ``/etc/postgresql//main/pg_hba.conf`` set:" msgstr "" #: ../../content/administration/install/deploy.rst:108 -msgid "in ``/etc/postgresql/9.5/main/postgresql.conf`` set:" +msgid "in ``/etc/postgresql//main/postgresql.conf`` set:" msgstr "" #: ../../content/administration/install/deploy.rst:119 @@ -260,7 +260,7 @@ msgid "Since Odoo 11.0, you can enforce ssl connection between Odoo and PostgreS msgstr "" #: ../../content/administration/install/deploy.rst:175 -msgid "`PostgreSQL Doc `_" +msgid "`PostgreSQL Doc `_" msgstr "" #: ../../content/administration/install/deploy.rst:180 @@ -324,7 +324,7 @@ msgid "Needed RAM = #worker * ( (light_worker_ratio * light_worker_ram_estimatio msgstr "" #: ../../content/administration/install/deploy.rst:215 -#: ../../content/administration/install/deploy.rst:375 +#: ../../content/administration/install/deploy.rst:379 msgid "LiveChat" msgstr "" @@ -404,319 +404,324 @@ msgstr "" msgid "in ``/etc/nginx/sites-enabled/odoo.conf`` set:" msgstr "" -#: ../../content/administration/install/deploy.rst:349 +#: ../../content/administration/install/deploy.rst:353 msgid "Odoo as a WSGI Application" msgstr "" -#: ../../content/administration/install/deploy.rst:351 +#: ../../content/administration/install/deploy.rst:355 msgid "It is also possible to mount Odoo as a standard WSGI_ application. Odoo provides the base for a WSGI launcher script as ``odoo-wsgi.example.py``. That script should be customized (possibly after copying it from the setup directory) to correctly set the configuration directly in :mod:`odoo.tools.config` rather than through the command-line or a configuration file." msgstr "" -#: ../../content/administration/install/deploy.rst:357 +#: ../../content/administration/install/deploy.rst:361 msgid "However the WSGI server will only expose the main HTTP endpoint for the web client, website and webservice API. Because Odoo does not control the creation of workers anymore it can not setup cron or livechat workers" msgstr "" -#: ../../content/administration/install/deploy.rst:362 +#: ../../content/administration/install/deploy.rst:366 msgid "Cron Workers" msgstr "" -#: ../../content/administration/install/deploy.rst:364 +#: ../../content/administration/install/deploy.rst:368 msgid "To run cron jobs for an Odoo deployment as a WSGI application requires" msgstr "" -#: ../../content/administration/install/deploy.rst:366 +#: ../../content/administration/install/deploy.rst:370 msgid "A classical Odoo (run via ``odoo-bin``)" msgstr "" -#: ../../content/administration/install/deploy.rst:367 +#: ../../content/administration/install/deploy.rst:371 msgid "Connected to the database in which cron jobs have to be run (via :option:`odoo-bin -d`)" msgstr "" -#: ../../content/administration/install/deploy.rst:369 +#: ../../content/administration/install/deploy.rst:373 msgid "Which should not be exposed to the network. To ensure cron runners are not network-accessible, it is possible to disable the built-in HTTP server entirely with :option:`odoo-bin --no-http` or setting ``http_enable = False`` in the configuration file" msgstr "" -#: ../../content/administration/install/deploy.rst:377 +#: ../../content/administration/install/deploy.rst:381 msgid "The second problematic subsystem for WSGI deployments is the LiveChat: where most HTTP connections are relatively short and quickly free up their worker process for the next request, LiveChat require a long-lived connection for each client in order to implement near-real-time notifications." msgstr "" -#: ../../content/administration/install/deploy.rst:382 +#: ../../content/administration/install/deploy.rst:386 msgid "This is in conflict with the process-based worker model, as it will tie up worker processes and prevent new users from accessing the system. However, those long-lived connections do very little and mostly stay parked waiting for notifications." msgstr "" -#: ../../content/administration/install/deploy.rst:387 +#: ../../content/administration/install/deploy.rst:391 msgid "The solutions to support livechat/motifications in a WSGI application are:" msgstr "" -#: ../../content/administration/install/deploy.rst:389 +#: ../../content/administration/install/deploy.rst:393 msgid "Deploy a threaded version of Odoo (instead of a process-based preforking one) and redirect only requests to URLs starting with ``/websocket/`` to that Odoo, this is the simplest and the websocket URL can double up as the cron instance." msgstr "" -#: ../../content/administration/install/deploy.rst:393 +#: ../../content/administration/install/deploy.rst:397 msgid "Deploy an evented Odoo via ``odoo-gevent`` and proxy requests starting with ``/websocket/`` to :option:`the gevent port `." msgstr "" -#: ../../content/administration/install/deploy.rst:400 +#: ../../content/administration/install/deploy.rst:404 msgid "Serving static files and attachments" msgstr "" -#: ../../content/administration/install/deploy.rst:402 +#: ../../content/administration/install/deploy.rst:406 msgid "For development convenience, Odoo directly serves all static files and attachments in its modules. This may not be ideal when it comes to performances, and static files should generally be served by a static HTTP server." msgstr "" -#: ../../content/administration/install/deploy.rst:407 +#: ../../content/administration/install/deploy.rst:411 msgid "Serving static files" msgstr "" -#: ../../content/administration/install/deploy.rst:409 +#: ../../content/administration/install/deploy.rst:413 msgid "Odoo static files are located in each module's :file:`static/` folder, so static files can be served by intercepting all requests to :samp:`/{MODULE}/static/{FILE}`, and looking up the right module (and file) in the various addons paths." msgstr "" -#: ../../content/administration/install/deploy.rst:414 -msgid "Say Odoo has been installed via the **debian packages** for Community and Enterprise, the addons paths is :file:`/usr/lib/python3/dist-packages/odoo/addons`. Using the above NGINX (https) configuration, the following location block should be added to serve static files via NGINX." +#: ../../content/administration/install/deploy.rst:418 +msgid "Say Odoo has been installed via the **debian packages** for Community and Enterprise and the :option:`--addons-path ` is ``'/usr/lib/python3/dist-packages/odoo/addons'``." msgstr "" -#: ../../content/administration/install/deploy.rst:432 -msgid "Say Odoo has been installed via the **source**, and the two git repositories for Community and Enterprise has been cloned in :file:`/opt/odoo` and :file:`/opt/odoo-enterprise` respectively. The addons paths is ``/opt/odoo/odoo,/opt/odoo/addons,/opt/odoo-enterprise``. Using the above NGINX (https) configuragion, the following location block should be added to serve static files via NGINX." +#: ../../content/administration/install/deploy.rst:421 +#: ../../content/administration/install/deploy.rst:443 +msgid "Using the above NGINX (https) configuration, the following location block should be added to serve static files via NGINX." msgstr "" -#: ../../content/administration/install/deploy.rst:466 +#: ../../content/administration/install/deploy.rst:438 +msgid "Say Odoo has been installed via the **source**. The two git repositories for Community and Enterprise have been cloned in :file:`/opt/odoo/community` and :file:`/opt/odoo/enterprise` respectively and the :option:`--addons-path ` is ``'/opt/odoo/community/odoo/addons,/opt/community/addons,/opt/odoo/enterprise'``." +msgstr "" + +#: ../../content/administration/install/deploy.rst:460 msgid "The actual NGINX configuration you need is highly dependent on your own installation. The two above snippets only highlight two possible configurations and may not be used as-is." msgstr "" -#: ../../content/administration/install/deploy.rst:470 +#: ../../content/administration/install/deploy.rst:464 msgid "Serving attachments" msgstr "" -#: ../../content/administration/install/deploy.rst:472 +#: ../../content/administration/install/deploy.rst:466 msgid "Attachments are files stored in the filestore which access is regulated by Odoo. They cannot be directly accessed via a static web server as accessing them requires multiple lookups in the database to determine where the files are stored and whether the current user can access them or not." msgstr "" -#: ../../content/administration/install/deploy.rst:477 +#: ../../content/administration/install/deploy.rst:471 msgid "Nevertheless, once the file has been located and the access rights verified by Odoo, it is a good idea to serve the file using the static web server instead of Odoo. For Odoo to delegate serving files to the static web server, the `X-Sendfile `_ (apache) or `X-Accel `_ (nginx) extensions must be enabled and configured on the static web server. Once it is set up, start Odoo with the :option:`--x-sendfile ` CLI flag (this unique flag is used for both X-Sendfile and X-Accel)." msgstr "" -#: ../../content/administration/install/deploy.rst:487 +#: ../../content/administration/install/deploy.rst:481 msgid "The X-Sendfile extension for apache (and compatible web servers) does not require any supplementary configuration." msgstr "" -#: ../../content/administration/install/deploy.rst:489 +#: ../../content/administration/install/deploy.rst:483 msgid "The X-Accel extension for NGINX **does** require the following additionnal configuration:" msgstr "" -#: ../../content/administration/install/deploy.rst:498 +#: ../../content/administration/install/deploy.rst:492 msgid "In case you don't know what is the path to your filestore, start Odoo with the :option:`--x-sendfile ` option and navigate to the ``/web/filestore`` URL directly via Odoo (don't navigate to the URL via NGINX). This logs a warnings, the message contains the configuration you need." msgstr "" -#: ../../content/administration/install/deploy.rst:507 +#: ../../content/administration/install/deploy.rst:501 msgid "Security" msgstr "" -#: ../../content/administration/install/deploy.rst:509 +#: ../../content/administration/install/deploy.rst:503 msgid "For starters, keep in mind that securing an information system is a continuous process, not a one-shot operation. At any moment, you will only be as secure as the weakest link in your environment." msgstr "" -#: ../../content/administration/install/deploy.rst:513 +#: ../../content/administration/install/deploy.rst:507 msgid "So please do not take this section as the ultimate list of measures that will prevent all security problems. It's only intended as a summary of the first important things you should be sure to include in your security action plan. The rest will come from best security practices for your operating system and distribution, best practices in terms of users, passwords, and access control management, etc." msgstr "" -#: ../../content/administration/install/deploy.rst:519 +#: ../../content/administration/install/deploy.rst:513 msgid "When deploying an internet-facing server, please be sure to consider the following security-related topics:" msgstr "" -#: ../../content/administration/install/deploy.rst:522 +#: ../../content/administration/install/deploy.rst:516 msgid "Always set a strong super-admin admin password, and restrict access to the database management pages as soon as the system is set up. See :ref:`db_manager_security`." msgstr "" -#: ../../content/administration/install/deploy.rst:525 +#: ../../content/administration/install/deploy.rst:519 msgid "Choose unique logins and strong passwords for all administrator accounts on all databases. Do not use 'admin' as the login. Do not use those logins for day-to-day operations, only for controlling/managing the installation. *Never* use any default passwords like admin/admin, even for test/staging databases." msgstr "" -#: ../../content/administration/install/deploy.rst:530 +#: ../../content/administration/install/deploy.rst:524 msgid "Do **not** install demo data on internet-facing servers. Databases with demo data contain default logins and passwords that can be used to get into your systems and cause significant trouble, even on staging/dev systems." msgstr "" -#: ../../content/administration/install/deploy.rst:534 +#: ../../content/administration/install/deploy.rst:528 msgid "Use appropriate database filters ( :option:`--db-filter `) to restrict the visibility of your databases according to the hostname. See :ref:`db_filter`. You may also use :option:`-d ` to provide your own (comma-separated) list of available databases to filter from, instead of letting the system fetch them all from the database backend." msgstr "" -#: ../../content/administration/install/deploy.rst:541 +#: ../../content/administration/install/deploy.rst:535 msgid "Once your ``db_name`` and ``db_filter`` are configured and only match a single database per hostname, you should set ``list_db`` configuration option to ``False``, to prevent listing databases entirely, and to block access to the database management screens (this is also exposed as the :option:`--no-database-list ` command-line option)" msgstr "" -#: ../../content/administration/install/deploy.rst:547 +#: ../../content/administration/install/deploy.rst:541 msgid "Make sure the PostgreSQL user (:option:`--db_user `) is *not* a super-user, and that your databases are owned by a different user. For example they could be owned by the ``postgres`` super-user if you are using a dedicated non-privileged ``db_user``. See also :ref:`setup/deploy/odoo`." msgstr "" -#: ../../content/administration/install/deploy.rst:552 +#: ../../content/administration/install/deploy.rst:546 msgid "Keep installations updated by regularly installing the latest builds, either via GitHub or by downloading the latest version from https://www.odoo.com/page/download or http://nightly.odoo.com" msgstr "" -#: ../../content/administration/install/deploy.rst:556 +#: ../../content/administration/install/deploy.rst:550 msgid "Configure your server in multi-process mode with proper limits matching your typical usage (memory/CPU/timeouts). See also :ref:`builtin_server`." msgstr "" -#: ../../content/administration/install/deploy.rst:559 +#: ../../content/administration/install/deploy.rst:553 msgid "Run Odoo behind a web server providing HTTPS termination with a valid SSL certificate, in order to prevent eavesdropping on cleartext communications. SSL certificates are cheap, and many free options exist. Configure the web proxy to limit the size of requests, set appropriate timeouts, and then enable the :option:`proxy mode ` option. See also :ref:`https_proxy`." msgstr "" -#: ../../content/administration/install/deploy.rst:566 +#: ../../content/administration/install/deploy.rst:560 msgid "If you need to allow remote SSH access to your servers, make sure to set a strong password for **all** accounts, not just `root`. It is strongly recommended to entirely disable password-based authentication, and only allow public key authentication. Also consider restricting access via a VPN, allowing only trusted IPs in the firewall, and/or running a brute-force detection system such as `fail2ban` or equivalent." msgstr "" -#: ../../content/administration/install/deploy.rst:572 +#: ../../content/administration/install/deploy.rst:566 msgid "Consider installing appropriate rate-limiting on your proxy or firewall, to prevent brute-force attacks and denial of service attacks. See also :ref:`login_brute_force` for specific measures." msgstr "" -#: ../../content/administration/install/deploy.rst:576 +#: ../../content/administration/install/deploy.rst:570 msgid "Many network providers provide automatic mitigation for Distributed Denial of Service attacks (DDOS), but this is often an optional service, so you should consult with them." msgstr "" -#: ../../content/administration/install/deploy.rst:580 +#: ../../content/administration/install/deploy.rst:574 msgid "Whenever possible, host your public-facing demo/test/staging instances on different machines than the production ones. And apply the same security precautions as for production." msgstr "" -#: ../../content/administration/install/deploy.rst:584 +#: ../../content/administration/install/deploy.rst:578 msgid "If your public-facing Odoo server has access to sensitive internal network resources or services (e.g. via a private VLAN), implement appropriate firewall rules to protect those internal resources. This will ensure that the Odoo server cannot be used accidentally (or as a result of malicious user actions) to access or disrupt those internal resources. Typically this can be done by applying an outbound default DENY rule on the firewall, then only explicitly authorizing access to internal resources that the Odoo server needs to access. `Systemd IP traffic access control `_ may also be useful to implement per-process network access control." msgstr "" -#: ../../content/administration/install/deploy.rst:595 +#: ../../content/administration/install/deploy.rst:589 msgid "If your public-facing Odoo server is behind a Web Application Firewall, a load-balancer, a transparent DDoS protection service (like CloudFlare) or a similar network-level device, you may wish to avoid direct access to the Odoo system. It is generally difficult to keep the endpoint IP addresses of your Odoo servers secret. For example they can appear in web server logs when querying public systems, or in the headers of emails posted from Odoo. In such a situation you may want to configure your firewall so that the endpoints are not accessible publicly except from the specific IP addresses of your WAF, load-balancer or proxy service. Service providers like CloudFlare usually maintain a public list of their IP address ranges for this purpose." msgstr "" -#: ../../content/administration/install/deploy.rst:606 +#: ../../content/administration/install/deploy.rst:600 msgid "If you are hosting multiple customers, isolate customer data and files from each other using containers or appropriate \"jail\" techniques." msgstr "" -#: ../../content/administration/install/deploy.rst:609 +#: ../../content/administration/install/deploy.rst:603 msgid "Setup daily backups of your databases and filestore data, and copy them to a remote archiving server that is not accessible from the server itself." msgstr "" -#: ../../content/administration/install/deploy.rst:616 +#: ../../content/administration/install/deploy.rst:610 msgid "Blocking Brute Force Attacks" msgstr "" -#: ../../content/administration/install/deploy.rst:617 +#: ../../content/administration/install/deploy.rst:611 msgid "For internet-facing deployments, brute force attacks on user passwords are very common, and this threat should not be neglected for Odoo servers. Odoo emits a log entry whenever a login attempt is performed, and reports the result: success or failure, along with the target login and source IP." msgstr "" -#: ../../content/administration/install/deploy.rst:621 +#: ../../content/administration/install/deploy.rst:615 msgid "The log entries will have the following form." msgstr "" -#: ../../content/administration/install/deploy.rst:623 +#: ../../content/administration/install/deploy.rst:617 msgid "Failed login::" msgstr "" -#: ../../content/administration/install/deploy.rst:627 +#: ../../content/administration/install/deploy.rst:621 msgid "Successful login::" msgstr "" -#: ../../content/administration/install/deploy.rst:632 +#: ../../content/administration/install/deploy.rst:626 msgid "These logs can be easily analyzed by an intrusion prevention system such as `fail2ban`." msgstr "" -#: ../../content/administration/install/deploy.rst:634 +#: ../../content/administration/install/deploy.rst:628 msgid "For example, the following fail2ban filter definition should match a failed login::" msgstr "" -#: ../../content/administration/install/deploy.rst:641 +#: ../../content/administration/install/deploy.rst:635 msgid "This could be used with a jail definition to block the attacking IP on HTTP(S)." msgstr "" -#: ../../content/administration/install/deploy.rst:643 +#: ../../content/administration/install/deploy.rst:637 msgid "Here is what it could look like for blocking the IP for 15 minutes when 10 failed login attempts are detected from the same IP within 1 minute::" msgstr "" -#: ../../content/administration/install/deploy.rst:657 +#: ../../content/administration/install/deploy.rst:651 msgid "Database Manager Security" msgstr "" -#: ../../content/administration/install/deploy.rst:659 +#: ../../content/administration/install/deploy.rst:653 msgid ":ref:`setup/deploy/odoo` mentioned ``admin_passwd`` in passing." msgstr "" -#: ../../content/administration/install/deploy.rst:661 +#: ../../content/administration/install/deploy.rst:655 msgid "This setting is used on all database management screens (to create, delete, dump or restore databases)." msgstr "" -#: ../../content/administration/install/deploy.rst:664 +#: ../../content/administration/install/deploy.rst:658 msgid "If the management screens must not be accessible at all, you should set ``list_db`` configuration option to ``False``, to block access to all the database selection and management screens." msgstr "" -#: ../../content/administration/install/deploy.rst:670 +#: ../../content/administration/install/deploy.rst:664 msgid "It is strongly recommended to disable the Database Manager for any internet-facing system! It is meant as a development/demo tool, to make it easy to quickly create and manage databases. It is not designed for use in production, and may even expose dangerous features to attackers. It is also not designed to handle large databases, and may trigger memory limits." msgstr "" -#: ../../content/administration/install/deploy.rst:676 +#: ../../content/administration/install/deploy.rst:670 msgid "On production systems, database management operations should always be performed by the system administrator, including provisioning of new databases and automated backups." msgstr "" -#: ../../content/administration/install/deploy.rst:679 +#: ../../content/administration/install/deploy.rst:673 msgid "Be sure to setup an appropriate ``db_name`` parameter (and optionally, ``db_filter`` too) so that the system can determine the target database for each request, otherwise users will be blocked as they won't be allowed to choose the database themselves." msgstr "" -#: ../../content/administration/install/deploy.rst:684 +#: ../../content/administration/install/deploy.rst:678 msgid "If the management screens must only be accessible from a selected set of machines, use the proxy server's features to block access to all routes starting with ``/web/database`` except (maybe) ``/web/database/selector`` which displays the database-selection screen." msgstr "" -#: ../../content/administration/install/deploy.rst:688 +#: ../../content/administration/install/deploy.rst:682 msgid "If the database-management screen should be left accessible, the ``admin_passwd`` setting must be changed from its ``admin`` default: this password is checked before allowing database-alteration operations." msgstr "" -#: ../../content/administration/install/deploy.rst:692 +#: ../../content/administration/install/deploy.rst:686 msgid "It should be stored securely, and should be generated randomly e.g." msgstr "" -#: ../../content/administration/install/deploy.rst:698 +#: ../../content/administration/install/deploy.rst:692 msgid "which will generate a 32 characters pseudorandom printable string." msgstr "" -#: ../../content/administration/install/deploy.rst:701 +#: ../../content/administration/install/deploy.rst:695 msgid "Supported Browsers" msgstr "" -#: ../../content/administration/install/deploy.rst:703 +#: ../../content/administration/install/deploy.rst:697 msgid "Odoo supports all the major desktop and mobile browsers available on the market, as long as they are supported by their publishers." msgstr "" -#: ../../content/administration/install/deploy.rst:706 +#: ../../content/administration/install/deploy.rst:700 msgid "Here are the supported browsers:" msgstr "" -#: ../../content/administration/install/deploy.rst:708 +#: ../../content/administration/install/deploy.rst:702 msgid "Google Chrome" msgstr "" -#: ../../content/administration/install/deploy.rst:709 +#: ../../content/administration/install/deploy.rst:703 msgid "Mozilla Firefox" msgstr "" -#: ../../content/administration/install/deploy.rst:710 +#: ../../content/administration/install/deploy.rst:704 msgid "Microsoft Edge" msgstr "" -#: ../../content/administration/install/deploy.rst:711 +#: ../../content/administration/install/deploy.rst:705 msgid "Apple Safari" msgstr "" -#: ../../content/administration/install/deploy.rst:713 +#: ../../content/administration/install/deploy.rst:707 msgid "Please make sure your browser is up-to-date and still supported by its publisher before filing a bug report." msgstr "" -#: ../../content/administration/install/deploy.rst:718 +#: ../../content/administration/install/deploy.rst:712 msgid "Since Odoo 13.0, ES6 is supported. Therefore, IE support is dropped." msgstr "" -#: ../../content/administration/install/deploy.rst:721 +#: ../../content/administration/install/deploy.rst:715 msgid "to have multiple Odoo installations use the same PostgreSQL database, or to provide more computing resources to both software." msgstr "" -#: ../../content/administration/install/deploy.rst:724 +#: ../../content/administration/install/deploy.rst:718 msgid "technically a tool like socat_ can be used to proxy UNIX sockets across networks, but that is mostly for software which can only be used over UNIX sockets" msgstr "" -#: ../../content/administration/install/deploy.rst:728 +#: ../../content/administration/install/deploy.rst:722 msgid "or be accessible only over an internal packet-switched network, but that requires secured switches, protections against `ARP spoofing`_ and precludes usage of WiFi. Even over secure packet-switched networks, deployment over HTTPS is recommended, and possible costs are lowered as \"self-signed\" certificates are easier to deploy on a controlled environment than over the internet." msgstr "" @@ -838,7 +843,7 @@ msgid "Editions" msgstr "" #: ../../content/administration/install/install.rst:35 -msgid "There are two different Editions_ of Odoo: the Community and Enterprise versions. Using the Enterprise version is possible on our SaaS_ and accessing the code is restricted to Enterprise customers and partners. The Community version is freely available to anyone." +msgid "There are two different Editions_ of Odoo: the Community and Enterprise versions. Using the Enterprise version is possible on `Odoo Online`_ and accessing the code is restricted to Enterprise customers and partners. The Community version is freely available to anyone." msgstr "" #: ../../content/administration/install/install.rst:40 @@ -862,11 +867,15 @@ msgid "Demo_ instances require no local installation, just a web browser." msgstr "" #: ../../content/administration/install/install.rst:59 -msgid "SaaS" +#: ../../content/administration/maintain/domain_names.rst:136 +#: ../../content/administration/maintain/domain_names.rst:206 +#: ../../content/administration/maintain/supported_versions.rst:27 +#: ../../content/administration/upgrade/odoo_online.rst:3 +msgid "Odoo Online" msgstr "" #: ../../content/administration/install/install.rst:61 -msgid "Trivial to start with, fully managed and migrated by Odoo S.A., Odoo's SaaS_ provides private instances and starts out free. It can be used to discover and test Odoo and do non-code customizations (i.e. incompatible with custom modules or the Odoo Apps Store) without having to install it locally." +msgid "Trivial to start with, fully managed and migrated by Odoo S.A., `Odoo Online`_ provides private instances and starts out free. It can be used to discover and test Odoo and do non-code customizations (i.e. incompatible with custom modules or the Odoo Apps Store) without having to install it locally." msgstr "" #: ../../content/administration/install/install.rst:66 @@ -874,7 +883,7 @@ msgid "Can be used for both testing Odoo and long-term production use." msgstr "" #: ../../content/administration/install/install.rst:68 -msgid "Like demo_ instances, SaaS_ instances require no local installation, a web browser is sufficient." +msgid "Like demo_ instances, `Odoo Online`_ instances require no local installation, a web browser is sufficient." msgstr "" #: ../../content/administration/install/install.rst:75 @@ -975,7 +984,7 @@ msgid "Repository" msgstr "" #: ../../content/administration/install/install.rst:148 -msgid "Odoo S.A. provides a repository that can be used with Debian and Ubuntu distributions. It can be used to install *Odoo Community Edition* by executing the following commands **as root**:" +msgid "Odoo S.A. provides a repository that can be used with Debian and Ubuntu distributions. It can be used to install *Odoo Community Edition* by executing the following commands:" msgstr "" #: ../../content/administration/install/install.rst:157 @@ -999,7 +1008,7 @@ msgid "Instead of using the repository as described above, the 'deb' packages fo msgstr "" #: ../../content/administration/install/install.rst:186 -msgid "Odoo 15.0 'deb' package currently supports `Debian 11 (Bullseye)`_, `Ubuntu 20.04 (Focal)`_ or above." +msgid "Odoo 16.0 'deb' package currently supports `Debian 11 (Bullseye)`_, `Ubuntu 22.04 (Jammy)`_ or above." msgstr "" #: ../../content/administration/install/install.rst:189 @@ -1031,7 +1040,7 @@ msgid "Instead of using the repository as described above, the 'rpm' packages fo msgstr "" #: ../../content/administration/install/install.rst:227 -msgid "Odoo 15.0 'rpm' package supports Fedora 34." +msgid "Odoo 16.0 'rpm' package supports Fedora 36." msgstr "" #: ../../content/administration/install/install.rst:229 @@ -1164,7 +1173,7 @@ msgid "Odoo requires Python 3.7 or later to run. Use your preferred package mana msgstr "" #: ../../content/administration/install/install.rst:434 -msgid "Odoo uses PostgreSQL as database management system. `Download and install PostgreSQL `_ (supported version: 10.0 and later)." +msgid "Odoo uses PostgreSQL as database management system. `Download and install PostgreSQL `_ (supported version: 12.0 and later)." msgstr "" #: ../../content/administration/install/install.rst:437 @@ -1206,7 +1215,7 @@ msgid "Open the **Privileges** tab and switch **Can login?** to `Yes` and **Crea msgstr "" #: ../../content/administration/install/install.rst:454 -msgid "Odoo uses PostgreSQL as database management system. Use your package manager to download and install PostgreSQL (supported version: 10.0 and later)." +msgid "Odoo uses PostgreSQL as database management system. Use your package manager to download and install PostgreSQL (supported version: 12.0 and later)." msgstr "" #: ../../content/administration/install/install.rst:457 @@ -1219,7 +1228,7 @@ msgid "Because your PostgreSQL user has the same name as your Unix login, you wi msgstr "" #: ../../content/administration/install/install.rst:477 -msgid "Odoo uses PostgreSQL as database management system. Use `postgres.app `_ to download and install PostgreSQL (supported version: 10.0 and later)." +msgid "Odoo uses PostgreSQL as database management system. Use `postgres.app `_ to download and install PostgreSQL (supported version: 12.0 and later)." msgstr "" #: ../../content/administration/install/install.rst:482 @@ -1571,19 +1580,13 @@ msgstr "" msgid "You need a CNAME record that points to your Odoo database. The requirements are detailed in your database manager." msgstr "" -#: ../../content/administration/maintain/domain_names.rst:136 -#: ../../content/administration/maintain/domain_names.rst:206 -#: ../../content/administration/maintain/supported_versions.rst:26 -msgid "Odoo Online" -msgstr "" - #: ../../content/administration/maintain/domain_names.rst:138 msgid "The target address is the current address of your database, as defined at its creation (e.g., ``example.odoo.com``)" msgstr "" #: ../../content/administration/maintain/domain_names.rst:141 #: ../../content/administration/maintain/domain_names.rst:220 -#: ../../content/administration/maintain/supported_versions.rst:26 +#: ../../content/administration/maintain/supported_versions.rst:27 #: ../../content/administration/odoo_sh.rst:5 #: ../../content/administration/upgrade/odoo_sh.rst:3 msgid "Odoo.sh" @@ -2325,6 +2328,229 @@ msgstr "" msgid "Grab a :ref:`backup of your Odoo.sh production database `." msgstr "" +#: ../../content/administration/maintain/odoo_online.rst:3 +msgid "Odoo Online database management" +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:5 +msgid "To manage a database, sign in to https://www.odoo.com and access the `database management page `_ by clicking on the user icon, then on *My Databases*." +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:None +msgid "Clicking on the user icon opens a drop-down menu. \"My databases\" button is highlighted." +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:13 +msgid "Make sure you are connected as the administrator of the database you want to manage." +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:None +msgid "Clicking on the gear icon opens the drop-down menu." +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:19 +msgid "Open the drop-down menu next to the database you want to manage by clicking on the gear icon." +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:21 +msgid "Several actions are available:" +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:23 +msgid ":ref:`odoo_online/upgrade`" +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:24 +msgid ":ref:`odoo_online/duplicate`" +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:25 +msgid ":ref:`odoo_online/rename`" +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:26 +msgid ":ref:`odoo_online/download`" +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:27 +msgid ":ref:`odoo_online/domains`" +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:28 +msgid ":ref:`odoo_online/tags`" +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:29 +msgid ":ref:`odoo_online/delete`" +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:30 +msgid ":ref:`odoo_online/contact-support`" +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:31 +msgid ":ref:`odoo_online/users`" +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:36 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:285 +#: ../../content/administration/upgrade.rst:10 +msgid "Upgrade" +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:38 +msgid "If you are *not* on the latest **Online version**, you should receive an invitation to :doc:`upgrade <../upgrade>` your database. A **Rolling Release button** on your database's main screen proposes an upgrade to the latest version (e.g., 13.0 to 15.1)." +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:0 +msgid "**If your Odoo database's version is lower than the latest major release:**" +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:0 +msgid "You must upgrade your database within two months. After these two months, an automatic upgrade is initiated." +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:0 +msgid "**If your Odoo database's version is equal to or higher than the latest major release:**" +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:0 +msgid "You can disregard the invitation to upgrade as you probably wouldn't benefit from new features every two months." +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:51 +msgid "Versions that are not supported anymore become deprecated and need to be updated to avoid security issues. We recommend you initiate the upgrade of the database yourself, as this method allows you to request a test upgrade of your database to check for any discrepancies." +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:56 +msgid ":doc:`../upgrade`" +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:57 +msgid ":doc:`supported_versions`" +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:62 +msgid "Duplicate" +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:64 +msgid "Make an exact copy of the database to be able to perform testing without compromising the daily operations." +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:68 +msgid "By checking *For testing purposes*, all external communication (emails, payments, delivery orders, etc.) are disabled by default on the duplicated database." +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:70 +msgid "Duplicate databases expire automatically after 15 days." +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:75 +msgid "Rename" +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:77 +msgid "Rename the database and its URL." +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:82 +msgid "Download" +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:84 +msgid "Download instantly a ZIP file with a backup of the database." +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:87 +msgid "Databases are backed up daily according to the `Odoo Cloud SLA `_." +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:93 +msgid "Domains" +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:95 +msgid "Configure custom domains to access the database via another URL." +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:98 +msgid ":doc:`domain_names`" +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:103 +msgid "Tags" +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:105 +msgid "Add tags to sort your databases out. You can search the tags in the search bar." +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:110 +#: ../../content/administration/odoo_sh/getting_started/branches.rst:539 +msgid "Delete" +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:112 +msgid "Delete a database instantly." +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:115 +msgid "Deleting a database means that all data is permanently lost. The deletion is instant and for all users. It is recommended to create a backup of the database before deleting it." +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:118 +msgid "Read carefully the warning message that pops up and proceed only if you fully understand the implications of deleting a database:" +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:None +msgid "A warning message is prompted before deleting a database." +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:126 +msgid "Only an administrator can delete a database." +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:127 +msgid "The database name is immediately available for a new database." +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:128 +msgid "It is not possible to delete a database if it is expired or linked to a subscription. If needed, please get in touch with `Odoo Support `_." +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:130 +msgid "To delete your account, please get in touch with `Odoo Support `_." +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:135 +msgid "Contact Support" +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:137 +msgid "Access the Odoo `support page `_ with your database's details already pre-filled." +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:143 +msgid "Invite / Remove Users" +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:145 +msgid "To invite users, fill out the email address of the new user and click on *Invite*. To add multiple users, click on *Add more users*." +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:None +msgid "Clicking on \"Add more users\" adds additional email fields." +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:152 +msgid "To remove users, select the users to remove and click on *Remove*." +msgstr "" + +#: ../../content/administration/maintain/odoo_online.rst:155 +msgid ":doc:`/applications/general/users/manage_users`" +msgstr "" + #: ../../content/administration/maintain/on_premise.rst:3 msgid "On-premise database management" msgstr "" @@ -2498,229 +2724,6 @@ msgstr "" msgid "The database uuid is currently accessible from the menu :menuselection:`Settings --> Technical --> System Parameters`, we advise you to use a `uuid generator `_ or to use the unix command ``uuidgen`` to generate a new uuid. You can then simply replace it like any other record by clicking on it and using the edit button." msgstr "" -#: ../../content/administration/maintain/online.rst:3 -msgid "Online (SaaS) database management" -msgstr "" - -#: ../../content/administration/maintain/online.rst:5 -msgid "To manage a database, sign in to https://www.odoo.com and access the `database management page `_ by clicking on the user icon, then on *My Databases*." -msgstr "" - -#: ../../content/administration/maintain/online.rst:None -msgid "Clicking on the user icon opens a drop-down menu. \"My databases\" button is highlighted." -msgstr "" - -#: ../../content/administration/maintain/online.rst:13 -msgid "Make sure you are connected as the administrator of the database you want to manage." -msgstr "" - -#: ../../content/administration/maintain/online.rst:None -msgid "Clicking on the gear icon opens the drop-down menu." -msgstr "" - -#: ../../content/administration/maintain/online.rst:19 -msgid "Open the drop-down menu next to the database you want to manage by clicking on the gear icon." -msgstr "" - -#: ../../content/administration/maintain/online.rst:21 -msgid "Several actions are available:" -msgstr "" - -#: ../../content/administration/maintain/online.rst:23 -msgid ":ref:`online/upgrade`" -msgstr "" - -#: ../../content/administration/maintain/online.rst:24 -msgid ":ref:`online/duplicate`" -msgstr "" - -#: ../../content/administration/maintain/online.rst:25 -msgid ":ref:`online/rename`" -msgstr "" - -#: ../../content/administration/maintain/online.rst:26 -msgid ":ref:`online/download`" -msgstr "" - -#: ../../content/administration/maintain/online.rst:27 -msgid ":ref:`online/domains`" -msgstr "" - -#: ../../content/administration/maintain/online.rst:28 -msgid ":ref:`online/tags`" -msgstr "" - -#: ../../content/administration/maintain/online.rst:29 -msgid ":ref:`online/delete`" -msgstr "" - -#: ../../content/administration/maintain/online.rst:30 -msgid ":ref:`online/contact-support`" -msgstr "" - -#: ../../content/administration/maintain/online.rst:31 -msgid ":ref:`online/users`" -msgstr "" - -#: ../../content/administration/maintain/online.rst:36 -#: ../../content/administration/odoo_sh/getting_started/branches.rst:285 -#: ../../content/administration/upgrade.rst:10 -msgid "Upgrade" -msgstr "" - -#: ../../content/administration/maintain/online.rst:38 -msgid "If you are *not* on the latest **Online version**, you should receive an invitation to :doc:`upgrade <../upgrade>` your database. A **Rolling Release button** on your database's main screen proposes an upgrade to the latest version (e.g., 13.0 to 15.1)." -msgstr "" - -#: ../../content/administration/maintain/online.rst:0 -msgid "**If your Odoo database's version is lower than the latest major release:**" -msgstr "" - -#: ../../content/administration/maintain/online.rst:0 -msgid "You must upgrade your database within two months. After these two months, an automatic upgrade is initiated." -msgstr "" - -#: ../../content/administration/maintain/online.rst:0 -msgid "**If your Odoo database's version is equal to or higher than the latest major release:**" -msgstr "" - -#: ../../content/administration/maintain/online.rst:0 -msgid "You can disregard the invitation to upgrade as you probably wouldn't benefit from new features every two months." -msgstr "" - -#: ../../content/administration/maintain/online.rst:51 -msgid "Versions that are not supported anymore become deprecated and need to be updated to avoid security issues. We recommend you initiate the upgrade of the database yourself, as this method allows you to request a test upgrade of your database to check for any discrepancies." -msgstr "" - -#: ../../content/administration/maintain/online.rst:56 -msgid ":doc:`../upgrade`" -msgstr "" - -#: ../../content/administration/maintain/online.rst:57 -msgid ":doc:`supported_versions`" -msgstr "" - -#: ../../content/administration/maintain/online.rst:62 -msgid "Duplicate" -msgstr "" - -#: ../../content/administration/maintain/online.rst:64 -msgid "Make an exact copy of the database to be able to perform testing without compromising the daily operations." -msgstr "" - -#: ../../content/administration/maintain/online.rst:68 -msgid "By checking *For testing purposes*, all external communication (emails, payments, delivery orders, etc.) are disabled by default on the duplicated database." -msgstr "" - -#: ../../content/administration/maintain/online.rst:70 -msgid "Duplicate databases expire automatically after 15 days." -msgstr "" - -#: ../../content/administration/maintain/online.rst:75 -msgid "Rename" -msgstr "" - -#: ../../content/administration/maintain/online.rst:77 -msgid "Rename the database and its URL." -msgstr "" - -#: ../../content/administration/maintain/online.rst:82 -msgid "Download" -msgstr "" - -#: ../../content/administration/maintain/online.rst:84 -msgid "Download instantly a ZIP file with a backup of the database." -msgstr "" - -#: ../../content/administration/maintain/online.rst:87 -msgid "Databases are backed up daily according to the `Odoo Cloud SLA `_." -msgstr "" - -#: ../../content/administration/maintain/online.rst:93 -msgid "Domains" -msgstr "" - -#: ../../content/administration/maintain/online.rst:95 -msgid "Configure custom domains to access the database via another URL." -msgstr "" - -#: ../../content/administration/maintain/online.rst:98 -msgid ":doc:`domain_names`" -msgstr "" - -#: ../../content/administration/maintain/online.rst:103 -msgid "Tags" -msgstr "" - -#: ../../content/administration/maintain/online.rst:105 -msgid "Add tags to sort your databases out. You can search the tags in the search bar." -msgstr "" - -#: ../../content/administration/maintain/online.rst:110 -#: ../../content/administration/odoo_sh/getting_started/branches.rst:539 -msgid "Delete" -msgstr "" - -#: ../../content/administration/maintain/online.rst:112 -msgid "Delete a database instantly." -msgstr "" - -#: ../../content/administration/maintain/online.rst:115 -msgid "Deleting a database means that all data is permanently lost. The deletion is instant and for all users. It is recommended to create a backup of the database before deleting it." -msgstr "" - -#: ../../content/administration/maintain/online.rst:118 -msgid "Read carefully the warning message that pops up and proceed only if you fully understand the implications of deleting a database:" -msgstr "" - -#: ../../content/administration/maintain/online.rst:None -msgid "A warning message is prompted before deleting a database." -msgstr "" - -#: ../../content/administration/maintain/online.rst:126 -msgid "Only an administrator can delete a database." -msgstr "" - -#: ../../content/administration/maintain/online.rst:127 -msgid "The database name is immediately available for a new database." -msgstr "" - -#: ../../content/administration/maintain/online.rst:128 -msgid "It is not possible to delete a database if it is expired or linked to a subscription. If needed, please get in touch with `Odoo Support `_." -msgstr "" - -#: ../../content/administration/maintain/online.rst:130 -msgid "To delete your account, please get in touch with `Odoo Support `_." -msgstr "" - -#: ../../content/administration/maintain/online.rst:135 -msgid "Contact Support" -msgstr "" - -#: ../../content/administration/maintain/online.rst:137 -msgid "Access the Odoo `support page `_ with your database's details already pre-filled." -msgstr "" - -#: ../../content/administration/maintain/online.rst:143 -msgid "Invite / Remove Users" -msgstr "" - -#: ../../content/administration/maintain/online.rst:145 -msgid "To invite users, fill out the email address of the new user and click on *Invite*. To add multiple users, click on *Add more users*." -msgstr "" - -#: ../../content/administration/maintain/online.rst:None -msgid "Clicking on \"Add more users\" adds additional email fields." -msgstr "" - -#: ../../content/administration/maintain/online.rst:152 -msgid "To remove users, select the users to remove and click on *Remove*." -msgstr "" - -#: ../../content/administration/maintain/online.rst:155 -msgid ":doc:`/applications/general/users/manage_users`" -msgstr "" - #: ../../content/administration/maintain/supported_versions.rst:6 #: ../../content/administration/upgrade.rst:208 msgid "Supported versions" @@ -2731,277 +2734,289 @@ msgid "Odoo provides support and bug fixing **for the 3 last major versions** of msgstr "" #: ../../content/administration/maintain/supported_versions.rst:11 -msgid "Odoo releases intermediary versions called **Online versions** on the :doc:`Odoo Online ` hosting every two months. Odoo Online users can then benefit from the latest features of Odoo." -msgstr "" - -#: ../../content/administration/maintain/supported_versions.rst:14 -msgid "Admins of Odoo Online databases are invited to :doc:`upgrade <../upgrade>` them regularly." +msgid "Odoo releases intermediary versions called **Online versions** on the :doc:`Odoo Online ` hosting every two months. Odoo Online users can then benefit from the latest features of Odoo." msgstr "" #: ../../content/administration/maintain/supported_versions.rst:15 -msgid "Online versions are *not* released for Odoo.sh and On-Premise installations." +msgid "Admins of Odoo Online databases are invited to :doc:`upgrade <../upgrade>` them regularly." msgstr "" #: ../../content/administration/maintain/supported_versions.rst:16 +msgid "Online versions are *not* released for Odoo.sh and On-Premise installations." +msgstr "" + +#: ../../content/administration/maintain/supported_versions.rst:17 msgid "Online versions are listed below as *SaaS*." msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:19 +#: ../../content/administration/maintain/supported_versions.rst:20 msgid "What's the support status of my Odoo?" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:21 +#: ../../content/administration/maintain/supported_versions.rst:22 msgid "This matrix shows the support status of every version." msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:23 +#: ../../content/administration/maintain/supported_versions.rst:24 msgid "**Major releases are in bold type.**" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:26 +#: ../../content/administration/maintain/supported_versions.rst:27 #: ../../content/administration/upgrade/on_premise.rst:3 msgid "On-Premise" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:26 +#: ../../content/administration/maintain/supported_versions.rst:27 msgid "Release date" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:26 +#: ../../content/administration/maintain/supported_versions.rst:27 msgid "End of support" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:28 -msgid "Odoo saas~15.2" +#: ../../content/administration/maintain/supported_versions.rst:29 +msgid "**Odoo 16.0**" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:28 -#: ../../content/administration/maintain/supported_versions.rst:32 -#: ../../content/administration/maintain/supported_versions.rst:32 -#: ../../content/administration/maintain/supported_versions.rst:32 -#: ../../content/administration/maintain/supported_versions.rst:34 -#: ../../content/administration/maintain/supported_versions.rst:34 -#: ../../content/administration/maintain/supported_versions.rst:34 -#: ../../content/administration/maintain/supported_versions.rst:36 -#: ../../content/administration/maintain/supported_versions.rst:36 -#: ../../content/administration/maintain/supported_versions.rst:36 +#: ../../content/administration/maintain/supported_versions.rst:29 +#: ../../content/administration/maintain/supported_versions.rst:29 +#: ../../content/administration/maintain/supported_versions.rst:29 +#: ../../content/administration/maintain/supported_versions.rst:31 +#: ../../content/administration/maintain/supported_versions.rst:35 +#: ../../content/administration/maintain/supported_versions.rst:35 +#: ../../content/administration/maintain/supported_versions.rst:35 +#: ../../content/administration/maintain/supported_versions.rst:37 +#: ../../content/administration/maintain/supported_versions.rst:37 +#: ../../content/administration/maintain/supported_versions.rst:37 msgid "|green|" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:28 -#: ../../content/administration/maintain/supported_versions.rst:28 -#: ../../content/administration/maintain/supported_versions.rst:30 -#: ../../content/administration/maintain/supported_versions.rst:30 -#: ../../content/administration/maintain/supported_versions.rst:38 -#: ../../content/administration/maintain/supported_versions.rst:38 -#: ../../content/administration/maintain/supported_versions.rst:42 -#: ../../content/administration/maintain/supported_versions.rst:42 -#: ../../content/administration/maintain/supported_versions.rst:46 -#: ../../content/administration/maintain/supported_versions.rst:46 -#: ../../content/administration/maintain/supported_versions.rst:48 -#: ../../content/administration/maintain/supported_versions.rst:48 -#: ../../content/administration/maintain/supported_versions.rst:52 -#: ../../content/administration/maintain/supported_versions.rst:52 -#: ../../content/administration/maintain/supported_versions.rst:54 -#: ../../content/administration/maintain/supported_versions.rst:56 -#: ../../content/administration/maintain/supported_versions.rst:56 -#: ../../content/administration/maintain/supported_versions.rst:58 +#: ../../content/administration/maintain/supported_versions.rst:29 +#: ../../content/administration/maintain/supported_versions.rst:39 +msgid "October 2022" +msgstr "" + +#: ../../content/administration/maintain/supported_versions.rst:29 +msgid "October 2025 (planned)" +msgstr "" + +#: ../../content/administration/maintain/supported_versions.rst:31 +msgid "Odoo saas~15.2" +msgstr "" + +#: ../../content/administration/maintain/supported_versions.rst:31 +#: ../../content/administration/maintain/supported_versions.rst:31 +#: ../../content/administration/maintain/supported_versions.rst:33 +#: ../../content/administration/maintain/supported_versions.rst:33 +#: ../../content/administration/maintain/supported_versions.rst:41 +#: ../../content/administration/maintain/supported_versions.rst:41 +#: ../../content/administration/maintain/supported_versions.rst:45 +#: ../../content/administration/maintain/supported_versions.rst:45 +#: ../../content/administration/maintain/supported_versions.rst:49 +#: ../../content/administration/maintain/supported_versions.rst:49 +#: ../../content/administration/maintain/supported_versions.rst:51 +#: ../../content/administration/maintain/supported_versions.rst:51 +#: ../../content/administration/maintain/supported_versions.rst:55 +#: ../../content/administration/maintain/supported_versions.rst:55 +#: ../../content/administration/maintain/supported_versions.rst:57 +#: ../../content/administration/maintain/supported_versions.rst:59 +#: ../../content/administration/maintain/supported_versions.rst:59 +#: ../../content/administration/maintain/supported_versions.rst:61 msgid "N/A" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:28 +#: ../../content/administration/maintain/supported_versions.rst:31 msgid "March 2022" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:30 +#: ../../content/administration/maintain/supported_versions.rst:33 msgid "Odoo saas~15.1" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:30 -#: ../../content/administration/maintain/supported_versions.rst:38 -#: ../../content/administration/maintain/supported_versions.rst:40 -#: ../../content/administration/maintain/supported_versions.rst:40 -#: ../../content/administration/maintain/supported_versions.rst:40 -#: ../../content/administration/maintain/supported_versions.rst:42 -#: ../../content/administration/maintain/supported_versions.rst:44 -#: ../../content/administration/maintain/supported_versions.rst:44 -#: ../../content/administration/maintain/supported_versions.rst:44 -#: ../../content/administration/maintain/supported_versions.rst:46 -#: ../../content/administration/maintain/supported_versions.rst:48 -#: ../../content/administration/maintain/supported_versions.rst:50 -#: ../../content/administration/maintain/supported_versions.rst:50 -#: ../../content/administration/maintain/supported_versions.rst:50 -#: ../../content/administration/maintain/supported_versions.rst:52 -#: ../../content/administration/maintain/supported_versions.rst:54 -#: ../../content/administration/maintain/supported_versions.rst:54 -#: ../../content/administration/maintain/supported_versions.rst:56 -#: ../../content/administration/maintain/supported_versions.rst:58 -#: ../../content/administration/maintain/supported_versions.rst:58 +#: ../../content/administration/maintain/supported_versions.rst:33 +#: ../../content/administration/maintain/supported_versions.rst:39 +#: ../../content/administration/maintain/supported_versions.rst:39 +#: ../../content/administration/maintain/supported_versions.rst:39 +#: ../../content/administration/maintain/supported_versions.rst:41 +#: ../../content/administration/maintain/supported_versions.rst:43 +#: ../../content/administration/maintain/supported_versions.rst:43 +#: ../../content/administration/maintain/supported_versions.rst:43 +#: ../../content/administration/maintain/supported_versions.rst:45 +#: ../../content/administration/maintain/supported_versions.rst:47 +#: ../../content/administration/maintain/supported_versions.rst:47 +#: ../../content/administration/maintain/supported_versions.rst:47 +#: ../../content/administration/maintain/supported_versions.rst:49 +#: ../../content/administration/maintain/supported_versions.rst:51 +#: ../../content/administration/maintain/supported_versions.rst:53 +#: ../../content/administration/maintain/supported_versions.rst:53 +#: ../../content/administration/maintain/supported_versions.rst:53 +#: ../../content/administration/maintain/supported_versions.rst:55 +#: ../../content/administration/maintain/supported_versions.rst:57 +#: ../../content/administration/maintain/supported_versions.rst:57 +#: ../../content/administration/maintain/supported_versions.rst:59 +#: ../../content/administration/maintain/supported_versions.rst:61 +#: ../../content/administration/maintain/supported_versions.rst:61 msgid "|red|" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:30 +#: ../../content/administration/maintain/supported_versions.rst:33 msgid "February 2022" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:32 +#: ../../content/administration/maintain/supported_versions.rst:35 msgid "**Odoo 15.0**" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:32 -#: ../../content/administration/maintain/supported_versions.rst:40 +#: ../../content/administration/maintain/supported_versions.rst:35 +#: ../../content/administration/maintain/supported_versions.rst:43 msgid "October 2021" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:32 +#: ../../content/administration/maintain/supported_versions.rst:35 msgid "October 2024 (planned)" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:34 +#: ../../content/administration/maintain/supported_versions.rst:37 msgid "**Odoo 14.0**" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:34 -#: ../../content/administration/maintain/supported_versions.rst:44 +#: ../../content/administration/maintain/supported_versions.rst:37 +#: ../../content/administration/maintain/supported_versions.rst:47 msgid "October 2020" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:34 +#: ../../content/administration/maintain/supported_versions.rst:37 msgid "October 2023 (planned)" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:36 +#: ../../content/administration/maintain/supported_versions.rst:39 msgid "**Odoo 13.0**" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:36 -#: ../../content/administration/maintain/supported_versions.rst:50 +#: ../../content/administration/maintain/supported_versions.rst:39 +#: ../../content/administration/maintain/supported_versions.rst:53 msgid "October 2019" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:36 -msgid "October 2022 (planned)" -msgstr "" - -#: ../../content/administration/maintain/supported_versions.rst:38 +#: ../../content/administration/maintain/supported_versions.rst:41 msgid "Odoo saas~12.3" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:38 +#: ../../content/administration/maintain/supported_versions.rst:41 msgid "August 2019" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:40 +#: ../../content/administration/maintain/supported_versions.rst:43 msgid "**Odoo 12.0**" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:40 -#: ../../content/administration/maintain/supported_versions.rst:54 +#: ../../content/administration/maintain/supported_versions.rst:43 +#: ../../content/administration/maintain/supported_versions.rst:57 msgid "October 2018" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:42 +#: ../../content/administration/maintain/supported_versions.rst:45 msgid "Odoo saas~11.3" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:42 +#: ../../content/administration/maintain/supported_versions.rst:45 msgid "April 2018" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:44 +#: ../../content/administration/maintain/supported_versions.rst:47 msgid "**Odoo 11.0**" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:44 -#: ../../content/administration/maintain/supported_versions.rst:58 +#: ../../content/administration/maintain/supported_versions.rst:47 +#: ../../content/administration/maintain/supported_versions.rst:61 msgid "October 2017" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:46 +#: ../../content/administration/maintain/supported_versions.rst:49 msgid "Odoo 10.saas~15" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:46 +#: ../../content/administration/maintain/supported_versions.rst:49 msgid "March 2017" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:48 +#: ../../content/administration/maintain/supported_versions.rst:51 msgid "Odoo 10.saas~14" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:48 +#: ../../content/administration/maintain/supported_versions.rst:51 msgid "January 2017" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:50 +#: ../../content/administration/maintain/supported_versions.rst:53 msgid "**Odoo 10.0**" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:50 +#: ../../content/administration/maintain/supported_versions.rst:53 msgid "October 2016" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:52 +#: ../../content/administration/maintain/supported_versions.rst:55 msgid "Odoo 9.saas~11" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:52 +#: ../../content/administration/maintain/supported_versions.rst:55 msgid "May 2016" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:54 +#: ../../content/administration/maintain/supported_versions.rst:57 msgid "**Odoo 9.0**" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:54 +#: ../../content/administration/maintain/supported_versions.rst:57 msgid "October 2015" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:56 +#: ../../content/administration/maintain/supported_versions.rst:59 msgid "Odoo 8.saas~6" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:56 +#: ../../content/administration/maintain/supported_versions.rst:59 msgid "February 2015" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:58 +#: ../../content/administration/maintain/supported_versions.rst:61 msgid "**Odoo 8.0**" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:58 +#: ../../content/administration/maintain/supported_versions.rst:61 msgid "September 2014" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:63 +#: ../../content/administration/maintain/supported_versions.rst:66 msgid "|green| Supported version" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:65 +#: ../../content/administration/maintain/supported_versions.rst:68 msgid "|red| End-of-support" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:67 +#: ../../content/administration/maintain/supported_versions.rst:70 msgid "N/A Never released for this platform" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:69 +#: ../../content/administration/maintain/supported_versions.rst:72 msgid "🏁 Future version, not released yet" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:80 +#: ../../content/administration/maintain/supported_versions.rst:83 msgid "I run an older version of Odoo/OpenERP/TinyERP" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:82 +#: ../../content/administration/maintain/supported_versions.rst:85 msgid "OpenERP 7.0, 6.1, 6.0 and 5.0 is not supported anymore, on any platform." msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:84 +#: ../../content/administration/maintain/supported_versions.rst:87 msgid "TinyERP 4.0, 3.0, 2.0 and 1.0 is not supported anymore, on any platform." msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:86 +#: ../../content/administration/maintain/supported_versions.rst:89 msgid "Even though we don't support older versions, you can always `upgrade from any version `_." msgstr "" @@ -4446,7 +4461,7 @@ msgid "`Access your databases manager ` (i.e., Community t msgstr "" #: ../../content/administration/upgrade.rst:25 -msgid "Switching :ref:`hosting type ` (i.e., On-Premise to Online or Odoo.sh)" +msgid "Switching :ref:`hosting type ` (i.e., On-Premise to Odoo Online or Odoo.sh)" msgstr "" #: ../../content/administration/upgrade.rst:27 @@ -5491,7 +5506,7 @@ msgid "You restore it in your Production environment a few short hours later and msgstr "" #: ../../content/administration/upgrade.rst:57 -msgid ":doc:`Upgrade process for Odoo Online (SaaS) `" +msgid ":doc:`Upgrade process for Odoo Online `" msgstr "" #: ../../content/administration/upgrade.rst:58 @@ -5694,7 +5709,7 @@ msgid "What is covered by the Enterprise Licence?" msgstr "" #: ../../content/administration/upgrade.rst:228 -msgid "Databases hosted on Odoo’s Cloud platforms (Saas and Odoo.sh) or On-Premise (Self-Hosting) enjoy the following services at all times." +msgid "Databases hosted on Odoo’s Cloud platforms (Odoo Online and Odoo.sh) or On-Premise (Self-Hosting) enjoy the following services at all times." msgstr "" #: ../../content/administration/upgrade.rst:231 @@ -5866,7 +5881,7 @@ msgid "`Editions `_" msgstr "" #: ../../content/administration/upgrade/faq.rst:112 -msgid "Switching the hosting types (Self-Hosting vs. Online Hosting - SaaS vs. Cloud Platform - Odoo.sh)" +msgid "Switching the hosting types (On-premise vs. Odoo Online vs. Odoo.sh)" msgstr "" #: ../../content/administration/upgrade/faq.rst:114 @@ -5906,7 +5921,7 @@ msgid "How long is my test available for" msgstr "" #: ../../content/administration/upgrade/faq.rst:154 -msgid "An Odoo Online (SaaS) test database is available for one month by default. We can extend this trial period upon request. For Odoo.sh or on-premise, there is no restriction." +msgid "An Odoo Online test database is available for one month by default. We can extend this trial period upon request. For Odoo.sh or on-premise, there is no restriction." msgstr "" #: ../../content/administration/upgrade/faq.rst:158 @@ -6013,6 +6028,46 @@ msgstr "" msgid "If you are using the Website or Studio app, we recommend you always do a test upgrade before upgrading your production instance." msgstr "" +#: ../../content/administration/upgrade/odoo_online.rst:6 +msgid "Requesting a test upgrade" +msgstr "" + +#: ../../content/administration/upgrade/odoo_online.rst:8 +msgid "Go to your `database manager `_" +msgstr "" + +#: ../../content/administration/upgrade/odoo_online.rst:9 +msgid "Click on your profile icon and select *My Databases*." +msgstr "" + +#: ../../content/administration/upgrade/odoo_online.rst:0 +msgid "Selecting My Databases under my profile" +msgstr "" + +#: ../../content/administration/upgrade/odoo_online.rst:14 +msgid "Click on the action settings icon next to your main database and select the *Upgrade* option." +msgstr "" + +#: ../../content/administration/upgrade/odoo_online.rst:0 +msgid "Selecting the action settings icon" +msgstr "" + +#: ../../content/administration/upgrade/odoo_online.rst:19 +msgid "In the pop-up message that will appear, select Test Upgrade." +msgstr "" + +#: ../../content/administration/upgrade/odoo_online.rst:0 +msgid "Selecting test upgrade" +msgstr "" + +#: ../../content/administration/upgrade/odoo_online.rst:24 +msgid "This triggers the automated upgrade process. A confirmation email is then sent to you with the the link to the upgraded database or to provide information if the upgrade failed." +msgstr "" + +#: ../../content/administration/upgrade/odoo_online.rst:28 +msgid "You can also see and access your test database from your *My Databases* page." +msgstr "" + #: ../../content/administration/upgrade/odoo_sh.rst:10 msgid "Odoo.sh is integrated with the upgrade platform to make the upgrade process easier." msgstr "" @@ -6241,47 +6296,3 @@ msgstr "" #: ../../content/administration/upgrade/on_premise.rst:59 msgid "by Odoo (if you hold a subscription to 'Maintenance of Customizations')." msgstr "" - -#: ../../content/administration/upgrade/online_hosting.rst:3 -msgid "Odoo Online (SaaS)" -msgstr "" - -#: ../../content/administration/upgrade/online_hosting.rst:6 -msgid "Requesting a test upgrade" -msgstr "" - -#: ../../content/administration/upgrade/online_hosting.rst:8 -msgid "Go to your `database manager `_" -msgstr "" - -#: ../../content/administration/upgrade/online_hosting.rst:9 -msgid "Click on your profile icon and select *My Databases*." -msgstr "" - -#: ../../content/administration/upgrade/online_hosting.rst:0 -msgid "Selecting My Databases under my profile" -msgstr "" - -#: ../../content/administration/upgrade/online_hosting.rst:14 -msgid "Click on the action settings icon next to your main database and select the *Upgrade* option." -msgstr "" - -#: ../../content/administration/upgrade/online_hosting.rst:0 -msgid "Selecting the action settings icon" -msgstr "" - -#: ../../content/administration/upgrade/online_hosting.rst:19 -msgid "In the pop-up message that will appear, select Test Upgrade." -msgstr "" - -#: ../../content/administration/upgrade/online_hosting.rst:0 -msgid "Selecting test upgrade" -msgstr "" - -#: ../../content/administration/upgrade/online_hosting.rst:24 -msgid "This triggers the automated upgrade process. A confirmation email is then sent to you with the the link to the upgraded database or to provide information if the upgrade failed." -msgstr "" - -#: ../../content/administration/upgrade/online_hosting.rst:28 -msgid "You can also see and access your test database from your *My Databases* page." -msgstr "" diff --git a/locale/sources/contributing.pot b/locale/sources/contributing.pot index 975ab1c5c..e9db2c52d 100644 --- a/locale/sources/contributing.pot +++ b/locale/sources/contributing.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo 16.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-04 12:47+0000\n" +"POT-Creation-Date: 2022-11-17 09:28+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -212,707 +212,687 @@ msgstr "" msgid "template: use it to declare a QWeb View requiring only the ``arch`` section of the view." msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:279 -msgid "report: use to declare a :ref:`report action `" -msgstr "" - #: ../../content/contributing/development/coding_guidelines.rst:280 -msgid "act_window: use it if the record notation can't do what you want" +msgid "These tags are preferred over the *record* notation." msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:282 -msgid "The 4 first tags are preferred over the *record* notation." -msgstr "" - -#: ../../content/contributing/development/coding_guidelines.rst:286 +#: ../../content/contributing/development/coding_guidelines.rst:284 msgid "XML IDs and naming" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:289 +#: ../../content/contributing/development/coding_guidelines.rst:287 msgid "Security, View and Action" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:291 +#: ../../content/contributing/development/coding_guidelines.rst:289 msgid "Use the following pattern :" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:293 +#: ../../content/contributing/development/coding_guidelines.rst:291 msgid "For a menu: :samp:`{}_menu`, or :samp:`{}_menu_{do_stuff}` for submenus." msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:294 +#: ../../content/contributing/development/coding_guidelines.rst:292 msgid "For a view: :samp:`{}_view_{}`, where *view_type* is ``kanban``, ``form``, ``tree``, ``search``, ..." msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:296 +#: ../../content/contributing/development/coding_guidelines.rst:294 msgid "For an action: the main action respects :samp:`{}_action`. Others are suffixed with :samp:`_{}`, where *detail* is a lowercase string briefly explaining the action. This is used only if multiple actions are declared for the model." msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:300 +#: ../../content/contributing/development/coding_guidelines.rst:298 msgid "For window actions: suffix the action name by the specific view information like :samp:`{}_action_view_{}`." msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:302 +#: ../../content/contributing/development/coding_guidelines.rst:300 msgid "For a group: :samp:`{}_group_{}` where *group_name* is the name of the group, generally 'user', 'manager', ..." msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:304 +#: ../../content/contributing/development/coding_guidelines.rst:302 msgid "For a rule: :samp:`{}_rule_{}` where *concerned_group* is the short name of the concerned group ('user' for the 'model_name_group_user', 'public' for public user, 'company' for multi-company rules, ...)." msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:309 +#: ../../content/contributing/development/coding_guidelines.rst:307 msgid "Name should be identical to xml id with dots replacing underscores. Actions should have a real naming as it is used as display name." msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:363 +#: ../../content/contributing/development/coding_guidelines.rst:361 msgid "Inheriting XML" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:365 +#: ../../content/contributing/development/coding_guidelines.rst:363 msgid "Xml Ids of inheriting views should use the same ID as the original record. It helps finding all inheritance at a glance. As final Xml Ids are prefixed by the module that creates them there is no overlap." msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:369 +#: ../../content/contributing/development/coding_guidelines.rst:367 msgid "Naming should contain an ``.inherit.{details}`` suffix to ease understanding the override purpose when looking at its name." msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:380 +#: ../../content/contributing/development/coding_guidelines.rst:378 msgid "New primary views do not require the inherit suffix as those are new records based upon the first one." msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:395 +#: ../../content/contributing/development/coding_guidelines.rst:393 #: ../../content/contributing/documentation.rst:204 -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:861 -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:863 #: ../../content/contributing/documentation/rst_cheat_sheet.rst:879 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:881 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:897 msgid "Python" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:399 +#: ../../content/contributing/development/coding_guidelines.rst:397 msgid "Do not forget to read the :ref:`Security Pitfalls ` section as well to write secure code." msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:403 +#: ../../content/contributing/development/coding_guidelines.rst:401 msgid "PEP8 options" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:405 +#: ../../content/contributing/development/coding_guidelines.rst:403 msgid "Using a linter can help show syntax and semantic warnings or errors. Odoo source code tries to respect Python standard, but some of them can be ignored." msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:408 +#: ../../content/contributing/development/coding_guidelines.rst:406 msgid "E501: line too long" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:409 +#: ../../content/contributing/development/coding_guidelines.rst:407 msgid "E301: expected 1 blank line, found 0" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:410 +#: ../../content/contributing/development/coding_guidelines.rst:408 msgid "E302: expected 2 blank lines, found 1" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:413 +#: ../../content/contributing/development/coding_guidelines.rst:411 msgid "Imports" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:414 +#: ../../content/contributing/development/coding_guidelines.rst:412 msgid "The imports are ordered as" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:416 +#: ../../content/contributing/development/coding_guidelines.rst:414 msgid "External libraries (one per line sorted and split in python stdlib)" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:417 +#: ../../content/contributing/development/coding_guidelines.rst:415 msgid "Imports of ``odoo``" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:418 +#: ../../content/contributing/development/coding_guidelines.rst:416 msgid "Imports from Odoo modules (rarely, and only if necessary)" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:420 +#: ../../content/contributing/development/coding_guidelines.rst:418 msgid "Inside these 3 groups, the imported lines are alphabetically sorted." msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:438 +#: ../../content/contributing/development/coding_guidelines.rst:436 msgid "Idiomatics of Programming (Python)" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:440 +#: ../../content/contributing/development/coding_guidelines.rst:438 msgid "Always favor *readability* over *conciseness* or using the language features or idioms." msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:441 +#: ../../content/contributing/development/coding_guidelines.rst:439 msgid "Don't use ``.clone()``" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:452 +#: ../../content/contributing/development/coding_guidelines.rst:450 msgid "Python dictionary : creation and update" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:477 +#: ../../content/contributing/development/coding_guidelines.rst:475 msgid "Use meaningful variable/class/method names" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:478 +#: ../../content/contributing/development/coding_guidelines.rst:476 msgid "Useless variable : Temporary variables can make the code clearer by giving names to objects, but that doesn't mean you should create temporary variables all the time:" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:490 +#: ../../content/contributing/development/coding_guidelines.rst:488 msgid "Multiple return points are OK, when they're simpler" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:510 +#: ../../content/contributing/development/coding_guidelines.rst:508 msgid "Know your builtins : You should at least have a basic understanding of all the Python builtins (http://docs.python.org/library/functions.html)" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:518 +#: ../../content/contributing/development/coding_guidelines.rst:516 msgid "Also, ``if 'key' in my_dict`` and ``if my_dict.get('key')`` have very different meaning, be sure that you're using the right one." msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:521 +#: ../../content/contributing/development/coding_guidelines.rst:519 msgid "Learn list comprehensions : Use list comprehension, dict comprehension, and basic manipulation using ``map``, ``filter``, ``sum``, ... They make the code easier to read." msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:534 +#: ../../content/contributing/development/coding_guidelines.rst:532 msgid "Collections are booleans too : In python, many objects have \"boolean-ish\" value when evaluated in a boolean context (such as an if). Among these are collections (lists, dicts, sets, ...) which are \"falsy\" when empty and \"truthy\" when containing items:" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:545 +#: ../../content/contributing/development/coding_guidelines.rst:543 msgid "So, you can write ``if some_collection:`` instead of ``if len(some_collection):``." msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:548 +#: ../../content/contributing/development/coding_guidelines.rst:546 msgid "Iterate on iterables" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:562 +#: ../../content/contributing/development/coding_guidelines.rst:560 msgid "Use dict.setdefault" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:578 +#: ../../content/contributing/development/coding_guidelines.rst:576 msgid "As a good developer, document your code (docstring on methods, simple comments for tricky part of code)" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:580 +#: ../../content/contributing/development/coding_guidelines.rst:578 msgid "In additions to these guidelines, you may also find the following link interesting: http://python.net/~goodger/projects/pycon/2007/idiomatic/handout.html (a little bit outdated, but quite relevant)" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:585 +#: ../../content/contributing/development/coding_guidelines.rst:583 msgid "Programming in Odoo" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:587 +#: ../../content/contributing/development/coding_guidelines.rst:585 msgid "Avoid to create generators and decorators: only use the ones provided by the Odoo API." msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:589 +#: ../../content/contributing/development/coding_guidelines.rst:587 msgid "As in python, use ``filtered``, ``mapped``, ``sorted``, ... methods to ease code reading and performance." msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:594 -msgid "Make your method work in batch" -msgstr "" - -#: ../../content/contributing/development/coding_guidelines.rst:595 -msgid "When adding a function, make sure it can process multiple records by iterating on self to treat each record." -msgstr "" - -#: ../../content/contributing/development/coding_guidelines.rst:604 -msgid "For performance issue, when developing a 'stat button' (for instance), do not perform a ``search`` or a ``search_count`` in a loop. It is recommended to use ``read_group`` method, to compute all value in only one request." -msgstr "" - -#: ../../content/contributing/development/coding_guidelines.rst:619 +#: ../../content/contributing/development/coding_guidelines.rst:591 msgid "Propagate the context" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:620 +#: ../../content/contributing/development/coding_guidelines.rst:592 msgid "The context is a ``frozendict`` that cannot be modified. To call a method with a different context, the ``with_context`` method should be used :" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:629 +#: ../../content/contributing/development/coding_guidelines.rst:601 msgid "Passing parameter in context can have dangerous side-effects." msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:631 +#: ../../content/contributing/development/coding_guidelines.rst:603 msgid "Since the values are propagated automatically, some unexpected behavior may appear. Calling ``create()`` method of a model with *default_my_field* key in context will set the default value of *my_field* for the concerned model. But if during this creation, other objects (such as sale.order.line, on sale.order creation) having a field name *my_field* are created, their default value will be set too." msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:637 +#: ../../content/contributing/development/coding_guidelines.rst:609 msgid "If you need to create a key context influencing the behavior of some object, choose a good name, and eventually prefix it by the name of the module to isolate its impact. A good example are the keys of ``mail`` module : *mail_create_nosubscribe*, *mail_notrack*, *mail_notify_user_signature*, ..." msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:644 +#: ../../content/contributing/development/coding_guidelines.rst:616 msgid "Think extendable" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:646 +#: ../../content/contributing/development/coding_guidelines.rst:618 msgid "Functions and methods should not contain too much logic: having a lot of small and simple methods is more advisable than having few large and complex methods. A good rule of thumb is to split a method as soon as it has more than one responsibility (see http://en.wikipedia.org/wiki/Single_responsibility_principle)." msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:651 +#: ../../content/contributing/development/coding_guidelines.rst:623 msgid "Hardcoding a business logic in a method should be avoided as it prevents to be easily extended by a submodule." msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:677 +#: ../../content/contributing/development/coding_guidelines.rst:649 msgid "The above code is over extendable for the sake of example but the readability must be taken into account and a tradeoff must be made." msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:680 +#: ../../content/contributing/development/coding_guidelines.rst:652 msgid "Also, name your functions accordingly: small and properly named functions are the starting point of readable/maintainable code and tighter documentation." msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:683 +#: ../../content/contributing/development/coding_guidelines.rst:655 msgid "This recommendation is also relevant for classes, files, modules and packages. (See also http://en.wikipedia.org/wiki/Cyclomatic_complexity)" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:688 +#: ../../content/contributing/development/coding_guidelines.rst:660 msgid "Never commit the transaction" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:689 +#: ../../content/contributing/development/coding_guidelines.rst:661 msgid "The Odoo framework is in charge of providing the transactional context for all RPC calls. The principle is that a new database cursor is opened at the beginning of each RPC call, and committed when the call has returned, just before transmitting the answer to the RPC client, approximately like this:" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:710 +#: ../../content/contributing/development/coding_guidelines.rst:682 msgid "If any error occurs during the execution of the RPC call, the transaction is rolled back atomically, preserving the state of the system." msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:713 +#: ../../content/contributing/development/coding_guidelines.rst:685 msgid "Similarly, the system also provides a dedicated transaction during the execution of tests suites, so it can be rolled back or not depending on the server startup options." msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:717 +#: ../../content/contributing/development/coding_guidelines.rst:689 msgid "The consequence is that if you manually call ``cr.commit()`` anywhere there is a very high chance that you will break the system in various ways, because you will cause partial commits, and thus partial and unclean rollbacks, causing among others:" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:722 +#: ../../content/contributing/development/coding_guidelines.rst:694 msgid "inconsistent business data, usually data loss" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:723 +#: ../../content/contributing/development/coding_guidelines.rst:695 msgid "workflow desynchronization, documents stuck permanently" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:724 +#: ../../content/contributing/development/coding_guidelines.rst:696 msgid "tests that can't be rolled back cleanly, and will start polluting the database, and triggering error (this is true even if no error occurs during the transaction)" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:735 +#: ../../content/contributing/development/coding_guidelines.rst:707 msgid "Here is the very simple rule:" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:729 +#: ../../content/contributing/development/coding_guidelines.rst:701 msgid "You should **NEVER** call ``cr.commit()`` yourself, **UNLESS** you have created your own database cursor explicitly! And the situations where you need to do that are exceptional!" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:733 +#: ../../content/contributing/development/coding_guidelines.rst:705 msgid "And by the way if you did create your own cursor, then you need to handle error cases and proper rollback, as well as properly close the cursor when you're done with it." msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:737 +#: ../../content/contributing/development/coding_guidelines.rst:709 msgid "And contrary to popular belief, you do not even need to call ``cr.commit()`` in the following situations: - in the ``_auto_init()`` method of an *models.Model* object: this is taken care of by the addons initialization method, or by the ORM transaction when creating custom models - in reports: the ``commit()`` is handled by the framework too, so you can update the database even from within a report - within *models.Transient* methods: these methods are called exactly like regular *models.Model* ones, within a transaction and with the corresponding ``cr.commit()/rollback()`` at the end - etc. (see general rule above if you are in doubt!)" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:749 +#: ../../content/contributing/development/coding_guidelines.rst:721 msgid "All ``cr.commit()`` calls outside of the server framework from now on must have an **explicit comment** explaining why they are absolutely necessary, why they are indeed correct, and why they do not break the transactions. Otherwise they can and will be removed !" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:756 +#: ../../content/contributing/development/coding_guidelines.rst:728 msgid "Use translation method correctly" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:758 +#: ../../content/contributing/development/coding_guidelines.rst:730 msgid "Odoo uses a GetText-like method named \"underscore\" ``_( )`` to indicate that a static string used in the code needs to be translated at runtime using the language of the context. This pseudo-method is accessed within your code by importing as follows:" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:767 +#: ../../content/contributing/development/coding_guidelines.rst:739 msgid "A few very important rules must be followed when using it, in order for it to work and to avoid filling the translations with useless junk." msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:770 +#: ../../content/contributing/development/coding_guidelines.rst:742 msgid "Basically, this method should only be used for static strings written manually in the code, it will not work to translate field values, such as Product names, etc. This must be done instead using the translate flag on the corresponding field." msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:775 +#: ../../content/contributing/development/coding_guidelines.rst:747 msgid "The method accepts optional positional or named parameter The rule is very simple: calls to the underscore method should always be in the form ``_('literal string')`` and nothing else:" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:818 +#: ../../content/contributing/development/coding_guidelines.rst:790 msgid "Also, keep in mind that translators will have to work with the literal values that are passed to the underscore function, so please try to make them easy to understand and keep spurious characters and formatting to a minimum. Translators must be aware that formatting patterns such as ``%s`` or ``%d``, newlines, etc. need to be preserved, but it's important to use these in a sensible and obvious manner:" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:838 +#: ../../content/contributing/development/coding_guidelines.rst:810 msgid "In general in Odoo, when manipulating strings, prefer ``%`` over ``.format()`` (when only one variable to replace in a string), and prefer ``%(varname)`` instead of position (when multiple variables have to be replaced). This makes the translation easier for the community translators." msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:845 +#: ../../content/contributing/development/coding_guidelines.rst:817 msgid "Symbols and Conventions" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:855 +#: ../../content/contributing/development/coding_guidelines.rst:827 msgid "Model name (using the dot notation, prefix by the module name) :" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:848 +#: ../../content/contributing/development/coding_guidelines.rst:820 msgid "When defining an Odoo Model : use singular form of the name (*res.partner* and *sale.order* instead of *res.partnerS* and *saleS.orderS*)" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:850 +#: ../../content/contributing/development/coding_guidelines.rst:822 msgid "When defining an Odoo Transient (wizard) : use ``.`` where *related_base_model* is the base model (defined in *models/*) related to the transient, and *action* is the short name of what the transient do. Avoid the *wizard* word. For instance : ``account.invoice.make``, ``project.task.delegate.batch``, ..." msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:854 +#: ../../content/contributing/development/coding_guidelines.rst:826 msgid "When defining *report* model (SQL views e.i.) : use ``.report.``, based on the Transient convention." msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:857 +#: ../../content/contributing/development/coding_guidelines.rst:829 msgid "Odoo Python Class : use camelcase (Object-oriented style)." msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:868 +#: ../../content/contributing/development/coding_guidelines.rst:840 msgid "Variable name :" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:866 +#: ../../content/contributing/development/coding_guidelines.rst:838 msgid "use camelcase for model variable" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:867 +#: ../../content/contributing/development/coding_guidelines.rst:839 msgid "use underscore lowercase notation for common variable." msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:868 +#: ../../content/contributing/development/coding_guidelines.rst:840 msgid "suffix your variable name with *_id* or *_ids* if it contains a record id or list of id. Don't use ``partner_id`` to contain a record of res.partner" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:876 +#: ../../content/contributing/development/coding_guidelines.rst:848 msgid "``One2Many`` and ``Many2Many`` fields should always have *_ids* as suffix (example: sale_order_line_ids)" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:877 +#: ../../content/contributing/development/coding_guidelines.rst:849 msgid "``Many2One`` fields should have *_id* as suffix (example : partner_id, user_id, ...)" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:887 +#: ../../content/contributing/development/coding_guidelines.rst:859 msgid "Method conventions" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:879 +#: ../../content/contributing/development/coding_guidelines.rst:851 msgid "Compute Field : the compute method pattern is *_compute_*" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:880 +#: ../../content/contributing/development/coding_guidelines.rst:852 msgid "Search method : the search method pattern is *_search_*" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:881 +#: ../../content/contributing/development/coding_guidelines.rst:853 msgid "Default method : the default method pattern is *_default_*" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:882 +#: ../../content/contributing/development/coding_guidelines.rst:854 msgid "Selection method: the selection method pattern is *_selection_*" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:883 +#: ../../content/contributing/development/coding_guidelines.rst:855 msgid "Onchange method : the onchange method pattern is *_onchange_*" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:884 +#: ../../content/contributing/development/coding_guidelines.rst:856 msgid "Constraint method : the constraint method pattern is *_check_*" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:885 +#: ../../content/contributing/development/coding_guidelines.rst:857 msgid "Action method : an object action method is prefix with *action_*. Since it uses only one record, add ``self.ensure_one()`` at the beginning of the method." msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:898 +#: ../../content/contributing/development/coding_guidelines.rst:870 msgid "In a Model attribute order should be" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:890 +#: ../../content/contributing/development/coding_guidelines.rst:862 msgid "Private attributes (``_name``, ``_description``, ``_inherit``, ``_sql_constraints``, ...)" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:891 +#: ../../content/contributing/development/coding_guidelines.rst:863 msgid "Default method and ``default_get``" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:892 +#: ../../content/contributing/development/coding_guidelines.rst:864 msgid "Field declarations" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:893 +#: ../../content/contributing/development/coding_guidelines.rst:865 msgid "Compute, inverse and search methods in the same order as field declaration" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:894 +#: ../../content/contributing/development/coding_guidelines.rst:866 msgid "Selection method (methods used to return computed values for selection fields)" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:895 +#: ../../content/contributing/development/coding_guidelines.rst:867 msgid "Constrains methods (``@api.constrains``) and onchange methods (``@api.onchange``)" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:896 +#: ../../content/contributing/development/coding_guidelines.rst:868 msgid "CRUD methods (ORM overrides)" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:897 +#: ../../content/contributing/development/coding_guidelines.rst:869 msgid "Action methods" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:898 +#: ../../content/contributing/development/coding_guidelines.rst:870 msgid "And finally, other business methods." msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:954 +#: ../../content/contributing/development/coding_guidelines.rst:926 msgid "Javascript and CSS" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:957 +#: ../../content/contributing/development/coding_guidelines.rst:929 msgid "Static files organization" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:959 +#: ../../content/contributing/development/coding_guidelines.rst:931 msgid "Odoo addons have some conventions on how to structure various files. We explain here in more details how web assets are supposed to be organized." msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:962 +#: ../../content/contributing/development/coding_guidelines.rst:934 msgid "The first thing to know is that the Odoo server will serve (statically) all files located in a *static/* folder, but prefixed with the addon name. So, for example, if a file is located in *addons/web/static/src/js/some_file.js*, then it will be statically available at the url *your-odoo-server.com/web/static/src/js/some_file.js*" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:967 +#: ../../content/contributing/development/coding_guidelines.rst:939 msgid "The convention is to organize the code according to the following structure:" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:969 +#: ../../content/contributing/development/coding_guidelines.rst:941 msgid "*static*: all static files in general" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:971 +#: ../../content/contributing/development/coding_guidelines.rst:943 msgid "*static/lib*: this is the place where js libs should be located, in a sub folder. So, for example, all files from the *jquery* library are in *addons/web/static/lib/jquery*" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:973 +#: ../../content/contributing/development/coding_guidelines.rst:945 msgid "*static/src*: the generic static source code folder" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:975 +#: ../../content/contributing/development/coding_guidelines.rst:947 msgid "*static/src/css*: all css files" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:976 +#: ../../content/contributing/development/coding_guidelines.rst:948 msgid "*static/fonts*" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:977 +#: ../../content/contributing/development/coding_guidelines.rst:949 msgid "*static/img*" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:978 +#: ../../content/contributing/development/coding_guidelines.rst:950 msgid "*static/src/js*" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:980 +#: ../../content/contributing/development/coding_guidelines.rst:952 msgid "*static/src/js/tours*: end user tour files (tutorials, not tests)" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:982 +#: ../../content/contributing/development/coding_guidelines.rst:954 msgid "*static/src/scss*: scss files" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:983 +#: ../../content/contributing/development/coding_guidelines.rst:955 msgid "*static/src/xml*: all qweb templates that will be rendered in JS" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:985 +#: ../../content/contributing/development/coding_guidelines.rst:957 msgid "*static/tests*: this is where we put all test related files." msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:987 +#: ../../content/contributing/development/coding_guidelines.rst:959 msgid "*static/tests/tours*: this is where we put all tour test files (not tutorials)." msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:990 +#: ../../content/contributing/development/coding_guidelines.rst:962 msgid "Javascript coding guidelines" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:992 +#: ../../content/contributing/development/coding_guidelines.rst:964 msgid "``use strict;`` is recommended for all javascript files" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:993 +#: ../../content/contributing/development/coding_guidelines.rst:965 msgid "Use a linter (jshint, ...)" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:994 +#: ../../content/contributing/development/coding_guidelines.rst:966 msgid "Never add minified Javascript Libraries" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:995 +#: ../../content/contributing/development/coding_guidelines.rst:967 msgid "Use camelcase for class declaration" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:997 +#: ../../content/contributing/development/coding_guidelines.rst:969 msgid "More precise JS guidelines are detailed in the `github wiki `_. You may also have a look at existing API in Javascript by looking Javascript References." msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:1002 +#: ../../content/contributing/development/coding_guidelines.rst:974 msgid "CSS coding guidelines" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:1004 +#: ../../content/contributing/development/coding_guidelines.rst:976 msgid "Prefix all your classes with *o_* where *module_name* is the technical name of the module ('sale', 'im_chat', ...) or the main route reserved by the module (for website module mainly, i.e. : 'o_forum' for *website_forum* module). The only exception for this rule is the webclient: it simply uses *o_* prefix." msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:1009 +#: ../../content/contributing/development/coding_guidelines.rst:981 msgid "Avoid using *id* tag" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:1010 +#: ../../content/contributing/development/coding_guidelines.rst:982 msgid "Use Bootstrap native classes" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:1011 +#: ../../content/contributing/development/coding_guidelines.rst:983 msgid "Use underscore lowercase notation to name class" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:1016 +#: ../../content/contributing/development/coding_guidelines.rst:988 msgid "Git" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:1019 +#: ../../content/contributing/development/coding_guidelines.rst:991 msgid "Configure your git" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:1021 +#: ../../content/contributing/development/coding_guidelines.rst:993 msgid "Based on ancestral experience and oral tradition, the following things go a long way towards making your commits more helpful:" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:1024 +#: ../../content/contributing/development/coding_guidelines.rst:996 msgid "Be sure to define both the user.email and user.name in your local git config" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:1030 +#: ../../content/contributing/development/coding_guidelines.rst:1002 msgid "Be sure to add your full name to your Github profile here. Please feel fancy and add your team, avatar, your favorite quote, and whatnot ;-)" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:1034 +#: ../../content/contributing/development/coding_guidelines.rst:1006 msgid "Commit message structure" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:1036 +#: ../../content/contributing/development/coding_guidelines.rst:1008 msgid "Commit message has four parts: tag, module, short description and full description. Try to follow the preferred structure for your commit messages" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:1059 +#: ../../content/contributing/development/coding_guidelines.rst:1031 msgid "Tag and module name" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:1061 +#: ../../content/contributing/development/coding_guidelines.rst:1033 msgid "Tags are used to prefix your commit. They should be one of the following" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:1063 +#: ../../content/contributing/development/coding_guidelines.rst:1035 msgid "**[FIX]** for bug fixes: mostly used in stable version but also valid if you are fixing a recent bug in development version;" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:1065 +#: ../../content/contributing/development/coding_guidelines.rst:1037 msgid "**[REF]** for refactoring: when a feature is heavily rewritten;" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:1066 +#: ../../content/contributing/development/coding_guidelines.rst:1038 msgid "**[ADD]** for adding new modules;" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:1067 +#: ../../content/contributing/development/coding_guidelines.rst:1039 msgid "**[REM]** for removing resources: removing dead code, removing views, removing modules, ...;" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:1069 +#: ../../content/contributing/development/coding_guidelines.rst:1041 msgid "**[REV]** for reverting commits: if a commit causes issues or is not wanted reverting it is done using this tag;" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:1071 +#: ../../content/contributing/development/coding_guidelines.rst:1043 msgid "**[MOV]** for moving files: use git move and do not change content of moved file otherwise Git may loose track and history of the file; also used when moving code from one file to another;" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:1074 +#: ../../content/contributing/development/coding_guidelines.rst:1046 msgid "**[REL]** for release commits: new major or minor stable versions;" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:1075 +#: ../../content/contributing/development/coding_guidelines.rst:1047 msgid "**[IMP]** for improvements: most of the changes done in development version are incremental improvements not related to another tag;" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:1077 +#: ../../content/contributing/development/coding_guidelines.rst:1049 msgid "**[MERGE]** for merge commits: used in forward port of bug fixes but also as main commit for feature involving several separated commits;" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:1079 +#: ../../content/contributing/development/coding_guidelines.rst:1051 msgid "**[CLA]** for signing the Odoo Individual Contributor License;" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:1080 +#: ../../content/contributing/development/coding_guidelines.rst:1052 msgid "**[I18N]** for changes in translation files;" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:1082 +#: ../../content/contributing/development/coding_guidelines.rst:1054 msgid "After tag comes the modified module name. Use the technical name as functional name may change with time. If several modules are modified, list them or use various to tell it is cross-modules. Unless really required or easier avoid modifying code across several modules in the same commit. Understanding module history may become difficult." msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:1089 +#: ../../content/contributing/development/coding_guidelines.rst:1061 msgid "Commit message header" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:1091 +#: ../../content/contributing/development/coding_guidelines.rst:1063 msgid "After tag and module name comes a meaningful commit message header. It should be self explanatory and include the reason behind the change. Do not use single words like \"bugfix\" or \"improvements\". Try to limit the header length to about 50 characters for readability." msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:1096 +#: ../../content/contributing/development/coding_guidelines.rst:1068 msgid "Commit message header should make a valid sentence once concatenated with ``if applied, this commit will
``. For example ``[IMP] base: prevent to archive users linked to active partners`` is correct as it makes a valid sentence ``if applied, this commit will prevent users to archive...``." msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:1102 +#: ../../content/contributing/development/coding_guidelines.rst:1074 msgid "Commit message full description" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:1104 +#: ../../content/contributing/development/coding_guidelines.rst:1076 msgid "In the message description specify the part of the code impacted by your changes (module name, lib, transversal object, ...) and a description of the changes." msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:1107 +#: ../../content/contributing/development/coding_guidelines.rst:1079 msgid "First explain WHY you are modifying code. What is important if someone goes back to your commit in about 4 decades (or 3 days) is why you did it. It is the purpose of the change." msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:1111 +#: ../../content/contributing/development/coding_guidelines.rst:1083 msgid "What you did can be found in the commit itself. If there was some technical choices involved it is a good idea to explain it also in the commit message after the why. For Odoo R&D developers \"PO team asked me to do it\" is not a valid why, by the way." msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:1115 +#: ../../content/contributing/development/coding_guidelines.rst:1087 msgid "Please avoid commits which simultaneously impact multiple modules. Try to split into different commits where impacted modules are different. It will be helpful if we need to revert changes in a given module separately." msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:1119 +#: ../../content/contributing/development/coding_guidelines.rst:1091 msgid "Don't hesitate to be a bit verbose. Most people will only see your commit message and judge everything you did in your life just based on those few sentences. No pressure at all." msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:1123 +#: ../../content/contributing/development/coding_guidelines.rst:1095 msgid "**You spend several hours, days or weeks working on meaningful features. Take some time to calm down and write clear and understandable commit messages.**" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:1126 +#: ../../content/contributing/development/coding_guidelines.rst:1098 msgid "If you are an Odoo R&D developer the WHY should be the purpose of the task you are working on. Full specifications make the core of the commit message. **If you are working on a task that lacks purpose and specifications please consider making them clear before continuing.**" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:1131 +#: ../../content/contributing/development/coding_guidelines.rst:1103 msgid "Finally here are some examples of correct commit messages :" msgstr "" -#: ../../content/contributing/development/coding_guidelines.rst:1154 +#: ../../content/contributing/development/coding_guidelines.rst:1126 msgid "Use the long description to explain the *why* not the *what*, the *what* can be seen in the diff" msgstr "" @@ -2201,182 +2181,190 @@ msgid "Code blocks" msgstr "" #: ../../content/contributing/documentation/rst_cheat_sheet.rst:720 -msgid "Content tabs" -msgstr "" - -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:723 -msgid "The `tabs` markup may not work well in some situations. In particular:" -msgstr "" - -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:725 -msgid "The tabs' headers cannot be translated." -msgstr "" - -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:726 -msgid "A tab cannot contain :ref:`headings `." +msgid "Spoilers" msgstr "" #: ../../content/contributing/documentation/rst_cheat_sheet.rst:727 -msgid "An :ref:`alert block ` cannot contain tabs." +msgid "**42**" msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:728 -msgid "A tab cannot contain :ref:`custom anchors `." +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:738 +msgid "Content tabs" msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:733 -msgid "Basic tabs" -msgstr "" - -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:735 -msgid "Basic tabs are useful to split the content into multiple options. The `tabs` markup is used to define sequence of tabs. Each tab is then defined with the `tab` markup followed by a label." +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:741 +msgid "The `tabs` markup may not work well in some situations. In particular:" msgstr "" #: ../../content/contributing/documentation/rst_cheat_sheet.rst:743 -msgid "Odoo Online" +msgid "The tabs' headers cannot be translated." +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:744 +msgid "A tab cannot contain :ref:`headings `." msgstr "" #: ../../content/contributing/documentation/rst_cheat_sheet.rst:745 -msgid "Content dedicated to Odoo Online users." +msgid "An :ref:`alert block ` cannot contain tabs." msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:747 -msgid "Odoo.sh" -msgstr "" - -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:749 -msgid "Alternative for Odoo.sh users." +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:746 +msgid "A tab cannot contain :ref:`custom anchors `." msgstr "" #: ../../content/contributing/documentation/rst_cheat_sheet.rst:751 -msgid "On-premise" +msgid "Basic tabs" msgstr "" #: ../../content/contributing/documentation/rst_cheat_sheet.rst:753 +msgid "Basic tabs are useful to split the content into multiple options. The `tabs` markup is used to define sequence of tabs. Each tab is then defined with the `tab` markup followed by a label." +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:761 +msgid "Odoo Online" +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:763 +msgid "Content dedicated to Odoo Online users." +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:765 +msgid "Odoo.sh" +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:767 +msgid "Alternative for Odoo.sh users." +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:769 +msgid "On-premise" +msgstr "" + +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:771 msgid "Third version for On-premise users." msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:774 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:792 msgid "Nested tabs" msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:776 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:794 msgid "Tabs can be nested inside one another." msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:783 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:801 msgid "Stars" msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:787 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:805 msgid "The Sun" msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:789 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:807 msgid "The closest star to us." msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:791 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:809 msgid "Proxima Centauri" msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:793 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:811 msgid "The second closest star to us." msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:795 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:813 msgid "Polaris" msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:797 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:815 msgid "The North Star." msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:799 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:817 msgid "Moons" msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:803 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:821 msgid "The Moon" msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:805 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:823 msgid "Orbits the Earth." msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:807 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:825 msgid "Titan" msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:809 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:827 msgid "Orbits Jupiter." msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:846 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:864 msgid "Group tabs" msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:848 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:866 msgid "Group tabs are special tabs that synchronize based on a group label. The last selected group is remembered and automatically selected when the user returns to the page or visits another page with the tabs group. The `group-tab` markup is used to define group tabs." msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:857 -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:859 -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:871 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:875 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:877 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:889 msgid "C++" msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:865 -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:867 -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:886 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:883 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:885 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:904 msgid "Java" msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:938 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:956 msgid "Code tabs" msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:940 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:958 msgid "Code tabs are essentially :ref:`group tabs ` that treat the content as a :ref:`code block `. The `code-tab` markup is used to define a code tab. Just as for the `code-block` markup, the language defines the syntax highlighting of the tab. If set, the label is used instead of the language for grouping tabs." msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:991 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1009 msgid "Document metadata" msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:993 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1011 msgid "Sphinx supports document-wide metadata markups that specify a behavior for the entire page." msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:994 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1012 msgid "They must be placed between colons (`:`) at the top of the source file." msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:997 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1015 msgid "**Metadata**" msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:997 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1015 msgid "**Purpose**" msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:999 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1017 msgid "`show-content`" msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:999 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1017 msgid "Make a toctree page accessible from the navigation menu." msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1001 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1019 msgid "`show-toc`" msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1001 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1019 msgid "Show the table of content on a page that has the `show-content` metadata markup." msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1004 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1022 msgid "`code-column`" msgstr "" @@ -2388,59 +2376,59 @@ msgstr "" msgid "For example, see :doc:`/applications/finance/accounting/getting_started/memento`." msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1009 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1027 msgid "`hide-page-toc`" msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1009 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1027 msgid "Hide the \"On this page\" sidebar and use full page width for the content." msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1011 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1029 msgid "`custom-css`" msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1011 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1029 msgid "Link CSS files (comma-separated) to the document." msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1013 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1031 msgid "`custom-js`" msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1013 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1031 msgid "Link JS files (comma-separated) to the document." msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1015 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1033 msgid "`classes`" msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1015 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1033 msgid "Assign the specified classes to the `
` element of the document." msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1017 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1035 msgid "`orphan`" msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1017 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1035 msgid "Suppress the need to include the document in a toctree." msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1019 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1037 msgid "`nosearch`" msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1019 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1037 msgid "Exclude the document from search results." msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1025 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1043 msgid "Formatting tips" msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1030 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1048 msgid "Break the line but not the paragraph" msgstr "" @@ -2452,15 +2440,15 @@ msgstr "" msgid "A second line that follows a line break." msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1048 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1066 msgid "Escape markup symbols (Advanced)" msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1050 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1068 msgid "Markup symbols escaped with backslashes (``\\``) are rendered normally. For instance, ``this \\*\\*line of text\\*\\* with \\*markup\\* symbols`` is rendered as “this \\*\\*line of text\\*\\* with \\*markup\\* symbols”." msgstr "" -#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1054 +#: ../../content/contributing/documentation/rst_cheat_sheet.rst:1072 msgid "When it comes to backticks (`````), which are used in many cases such as :ref:`external hyperlinks `, using backslashes for escaping is no longer an option because the outer backticks interpret enclosed backslashes and thus prevent them from escaping inner backticks. For instance, ```\\`this formatting\\```` produces an ``[UNKNOWN NODE title_reference]`` error. Instead, `````this formatting````` should be used to produce the following result: ```this formatting```." msgstr "" diff --git a/locale/sources/developer.pot b/locale/sources/developer.pot index a078071c8..ef4e0f0a5 100644 --- a/locale/sources/developer.pot +++ b/locale/sources/developer.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo 16.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-04 12:47+0000\n" +"POT-Creation-Date: 2022-11-17 09:28+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -27,7 +27,7 @@ msgstr "" #: ../../content/developer/api.rst:5 #: ../../content/developer/reference/backend/http.rst:52 #: ../../content/developer/reference/backend/orm.rst:54 -#: ../../content/developer/reference/backend/views.rst:1994 +#: ../../content/developer/reference/backend/views.rst:2009 #: ../../content/developer/reference/frontend/hooks.rst:85 #: ../../content/developer/reference/frontend/hooks.rst:120 #: ../../content/developer/reference/frontend/hooks.rst:168 @@ -386,13 +386,13 @@ msgstr "" #: ../../content/developer/reference/backend/actions.rst:19 #: ../../content/developer/reference/backend/actions.rst:416 #: ../../content/developer/reference/backend/data.rst:221 -#: ../../content/developer/reference/backend/views.rst:1376 -#: ../../content/developer/reference/backend/views.rst:1784 -#: ../../content/developer/reference/backend/views.rst:1820 -#: ../../content/developer/reference/backend/views.rst:1904 -#: ../../content/developer/reference/backend/views.rst:2031 -#: ../../content/developer/reference/backend/views.rst:2200 -#: ../../content/developer/reference/backend/views.rst:2341 +#: ../../content/developer/reference/backend/views.rst:1391 +#: ../../content/developer/reference/backend/views.rst:1799 +#: ../../content/developer/reference/backend/views.rst:1835 +#: ../../content/developer/reference/backend/views.rst:1919 +#: ../../content/developer/reference/backend/views.rst:2046 +#: ../../content/developer/reference/backend/views.rst:2215 +#: ../../content/developer/reference/backend/views.rst:2356 #: ../../content/developer/reference/frontend/services.rst:872 msgid "``name``" msgstr "" @@ -402,7 +402,7 @@ msgid "a human-readable description of the model" msgstr "" #: ../../content/developer/api/external_api.rst:866 -#: ../../content/developer/reference/backend/views.rst:2154 +#: ../../content/developer/reference/backend/views.rst:2169 msgid "``model``" msgstr "" @@ -530,11 +530,11 @@ msgstr "" #: ../../content/developer/api/external_api.rst:1012 #: ../../content/developer/reference/backend/data.rst:226 #: ../../content/developer/reference/backend/data.rst:250 -#: ../../content/developer/reference/backend/views.rst:895 -#: ../../content/developer/reference/backend/views.rst:1829 -#: ../../content/developer/reference/backend/views.rst:2232 -#: ../../content/developer/reference/backend/views.rst:2347 -#: ../../content/developer/reference/backend/views.rst:2411 +#: ../../content/developer/reference/backend/views.rst:910 +#: ../../content/developer/reference/backend/views.rst:1844 +#: ../../content/developer/reference/backend/views.rst:2247 +#: ../../content/developer/reference/backend/views.rst:2362 +#: ../../content/developer/reference/backend/views.rst:2426 msgid "``groups``" msgstr "" @@ -784,7 +784,7 @@ msgstr "" #: ../../content/developer/reference/backend/data.rst:155 #: ../../content/developer/reference/backend/data.rst:232 #: ../../content/developer/reference/backend/data.rst:242 -#: ../../content/developer/reference/backend/views.rst:866 +#: ../../content/developer/reference/backend/views.rst:881 msgid "``id``" msgstr "" @@ -1051,8 +1051,8 @@ msgid "detected BIC (string)." msgstr "" #: ../../content/developer/api/extract_api.rst:288 -#: ../../content/developer/reference/backend/views.rst:617 -#: ../../content/developer/reference/backend/views.rst:734 +#: ../../content/developer/reference/backend/views.rst:632 +#: ../../content/developer/reference/backend/views.rst:749 msgid "``name`` (optional)" msgstr "" @@ -1189,8 +1189,8 @@ msgid "Id of the document for which you want to validate the result." msgstr "" #: ../../content/developer/api/extract_api.rst:374 -#: ../../content/developer/reference/backend/views.rst:1496 -#: ../../content/developer/reference/backend/views.rst:1486 +#: ../../content/developer/reference/backend/views.rst:1511 +#: ../../content/developer/reference/backend/views.rst:1501 msgid "``values``" msgstr "" @@ -1469,10 +1469,10 @@ msgstr "" #: ../../content/developer/howtos/website.rst:490 #: ../../content/developer/reference/backend/actions.rst:176 #: ../../../odoo/odoo/api.py:docstring of odoo.api:3 -#: ../../content/developer/reference/backend/orm.rst:637 -#: ../../content/developer/reference/backend/orm.rst:639 -#: ../../content/developer/reference/backend/orm.rst:832 -#: ../../content/developer/reference/backend/orm.rst:989 +#: ../../content/developer/reference/backend/orm.rst:636 +#: ../../content/developer/reference/backend/orm.rst:638 +#: ../../content/developer/reference/backend/orm.rst:827 +#: ../../content/developer/reference/backend/orm.rst:980 #: ../../content/developer/reference/backend/security.rst:28 #: ../../content/developer/reference/backend/security.rst:186 #: ../../content/developer/reference/backend/views.rst:13 @@ -1480,13 +1480,13 @@ msgstr "" #: ../../content/developer/reference/backend/views.rst:81 #: ../../content/developer/reference/backend/views.rst:179 #: ../../content/developer/reference/backend/views.rst:241 -#: ../../content/developer/reference/backend/views.rst:874 -#: ../../content/developer/reference/backend/views.rst:998 -#: ../../content/developer/reference/backend/views.rst:1000 -#: ../../content/developer/reference/backend/views.rst:1569 -#: ../../content/developer/reference/backend/views.rst:1664 -#: ../../content/developer/reference/backend/views.rst:1682 -#: ../../content/developer/reference/backend/views.rst:1811 +#: ../../content/developer/reference/backend/views.rst:889 +#: ../../content/developer/reference/backend/views.rst:1013 +#: ../../content/developer/reference/backend/views.rst:1015 +#: ../../content/developer/reference/backend/views.rst:1584 +#: ../../content/developer/reference/backend/views.rst:1679 +#: ../../content/developer/reference/backend/views.rst:1697 +#: ../../content/developer/reference/backend/views.rst:1826 #: ../../content/developer/reference/frontend/qweb.rst:413 #: ../../content/developer/reference/frontend/qweb.rst:414 #: ../../content/developer/reference/frontend/qweb.rst:476 @@ -1515,7 +1515,7 @@ msgid "The service has *seven* important fields:" msgstr "" #: ../../content/developer/api/iap.rst:142 -msgid ":samp:`name` - :class:`ServiceName`: This is the string you will need to provide inside the client's :ref:`app ` when requesting a transaction from Odoo. (e.g. :class:`self.env['iap.account].get(name)`). As good practice, this should match the technical name of your app." +msgid ":samp:`name` - :class:`ServiceName`: This is the string you will need to provide inside the client's :ref:`app ` when requesting a transaction from Odoo. (e.g. `self.env['iap.account].get(name)`). As good practice, this should match the technical name of your app." msgstr "" #: ../../content/developer/api/iap.rst:147 @@ -1789,6 +1789,7 @@ msgstr "" #: ../../content/developer/api/iap.rst:0 #: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel._check_company:0 #: ../../../odoo/odoo/http.py:docstring of odoo.http.route:0 +#: ../../../odoo/odoo/http.py:docstring of odoo.http.Request.update_env:0 #: ../../../odoo/odoo/http.py:docstring of odoo.http.Request.csrf_token:0 #: ../../../odoo/odoo/http.py:docstring of odoo.http.Request.validate_csrf:0 #: ../../../odoo/odoo/http.py:docstring of odoo.http.Request.make_response:0 @@ -1842,6 +1843,7 @@ msgstr "" #: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Many2oneReference:0 #: ../../../odoo/odoo/api.py:docstring of odoo.api.ondelete:0 #: ../../../odoo/odoo/api.py:docstring of odoo.api.returns:0 +#: ../../../odoo/odoo/api.py:docstring of odoo.api.Environment.ref:0 #: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.with_company:0 #: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.with_env:0 #: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.flush_model:0 @@ -1862,12 +1864,19 @@ msgstr "" #: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.read:0 #: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.read_group:0 #: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.fields_get:0 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.get_view:0 #: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.filtered:0 #: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.filtered_domain:0 #: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.mapped:0 #: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.sorted:0 #: ../../../odoo/odoo/exceptions.py:docstring of odoo.exceptions.RedirectWarning:0 +#: ../../../odoo/odoo/tools/profiler.py:docstring of odoo.tools.profiler.Profiler.__init__:0 +#: ../../../odoo/odoo/tools/profiler.py:docstring of odoo.tools.profiler.PeriodicCollector:0 +#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel._populate:0 +#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.cartesian:0 +#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.compute:0 +#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.iterate:0 +#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.randint:0 +#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.randomize:0 #: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.BaseCase.browse_ref:0 #: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.BaseCase.ref:0 #: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.BaseCase.browse_ref:0 @@ -1875,17 +1884,34 @@ msgstr "" #: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.BaseCase.browse_ref:0 #: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.BaseCase.ref:0 #: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.Form:0 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel._populate:0 -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.cartesian:0 -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.compute:0 -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.iterate:0 -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.randint:0 -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.randomize:0 +#: ../../../odoo/odoo/addons/base/models/ir_ui_view.py:docstring of odoo.addons.base.models.ir_ui_view.Model.get_views:0 +#: ../../../odoo/odoo/addons/base/models/ir_ui_view.py:docstring of odoo.addons.base.models.ir_ui_view.Model.get_view:0 #: ../../content/developer/reference/frontend/framework_overview.rst:0 #: ../../content/developer/reference/frontend/framework_overview.rst:0 #: ../../content/developer/reference/frontend/framework_overview.rst:0 #: ../../content/developer/reference/frontend/framework_overview.rst:0 #: ../../content/developer/reference/frontend/qweb.rst:0 +#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._compute_fees:0 +#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._get_compatible_providers:0 +#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._get_redirect_form_view:0 +#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._is_tokenization_required:0 +#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._should_build_inline_form:0 +#: ../../../odoo/addons/payment/models/payment_token.py:docstring of odoo.addons.payment.models.payment_token.PaymentToken._build_display_name:0 +#: ../../../odoo/addons/payment/models/payment_token.py:docstring of odoo.addons.payment.models.payment_token.PaymentToken._get_specific_create_values:0 +#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._compute_reference:0 +#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._compute_reference_prefix:0 +#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._get_specific_create_values:0 +#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._get_specific_processing_values:0 +#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._get_specific_rendering_values:0 +#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._get_tx_from_notification_data:0 +#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._handle_notification_data:0 +#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._process_notification_data:0 +#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._send_refund_request:0 +#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._set_authorized:0 +#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._set_canceled:0 +#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._set_done:0 +#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._set_error:0 +#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._set_pending:0 msgid "Parameters" msgstr "" @@ -1937,6 +1963,7 @@ msgstr "" #: ../../../odoo/odoo/api.py:docstring of odoo.api.Environment.user:0 #: ../../../odoo/odoo/api.py:docstring of odoo.api.Environment.company:0 #: ../../../odoo/odoo/api.py:docstring of odoo.api.Environment.companies:0 +#: ../../../odoo/odoo/api.py:docstring of odoo.api.Environment.ref:0 #: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.create:0 #: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.copy:0 #: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.default_get:0 @@ -1947,17 +1974,10 @@ msgstr "" #: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.read:0 #: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.read_group:0 #: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.fields_get:0 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.get_view:0 #: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.name_get:0 #: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.get_metadata:0 #: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.filtered:0 #: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.mapped:0 -#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.BaseCase.browse_ref:0 -#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.BaseCase.ref:0 -#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.BaseCase.browse_ref:0 -#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.BaseCase.ref:0 -#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.BaseCase.browse_ref:0 -#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.BaseCase.ref:0 #: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel._populate_factories:0 #: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.cartesian:0 #: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.compute:0 @@ -1965,6 +1985,14 @@ msgstr "" #: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.iterate:0 #: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.randint:0 #: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.randomize:0 +#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.BaseCase.browse_ref:0 +#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.BaseCase.ref:0 +#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.BaseCase.browse_ref:0 +#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.BaseCase.ref:0 +#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.BaseCase.browse_ref:0 +#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.BaseCase.ref:0 +#: ../../../odoo/odoo/addons/base/models/ir_ui_view.py:docstring of odoo.addons.base.models.ir_ui_view.Model.get_views:0 +#: ../../../odoo/odoo/addons/base/models/ir_ui_view.py:docstring of odoo.addons.base.models.ir_ui_view.Model.get_view:0 #: ../../content/developer/reference/frontend/assets.rst:0 #: ../../content/developer/reference/frontend/framework_overview.rst:0 #: ../../content/developer/reference/frontend/framework_overview.rst:0 @@ -1998,6 +2026,38 @@ msgstr "" #: ../../content/developer/reference/frontend/services.rst:0 #: ../../content/developer/reference/frontend/services.rst:0 #: ../../content/developer/reference/frontend/services.rst:0 +#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._compute_feature_support_fields:0 +#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._compute_fees:0 +#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._compute_view_configuration_fields:0 +#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._get_compatible_providers:0 +#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._get_redirect_form_view:0 +#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._get_validation_amount:0 +#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._get_validation_currency:0 +#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._is_tokenization_required:0 +#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._should_build_inline_form:0 +#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._get_removal_values:0 +#: ../../../odoo/addons/payment/models/payment_token.py:docstring of odoo.addons.payment.models.payment_token.PaymentToken._build_display_name:0 +#: ../../../odoo/addons/payment/models/payment_token.py:docstring of odoo.addons.payment.models.payment_token.PaymentToken._get_specific_create_values:0 +#: ../../../odoo/addons/payment/models/payment_token.py:docstring of odoo.addons.payment.models.payment_token.PaymentToken._handle_archiving:0 +#: ../../../odoo/addons/payment/models/payment_token.py:docstring of odoo.addons.payment.models.payment_token.PaymentToken.get_linked_records_info:0 +#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._compute_reference:0 +#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._compute_reference_prefix:0 +#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._get_post_processing_values:0 +#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._get_specific_create_values:0 +#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._get_specific_processing_values:0 +#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._get_specific_rendering_values:0 +#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._get_tx_from_notification_data:0 +#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._handle_notification_data:0 +#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._process_notification_data:0 +#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._send_capture_request:0 +#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._send_payment_request:0 +#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._send_refund_request:0 +#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._send_void_request:0 +#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._set_authorized:0 +#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._set_canceled:0 +#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._set_done:0 +#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._set_error:0 +#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._set_pending:0 msgid "Returns" msgstr "" @@ -2649,407 +2709,399 @@ msgid "The option can be repeated to configure multiple loggers e.g." msgstr "" #: ../../content/developer/cli.rst:490 -msgid "enable DEBUG logging for RPC requests, equivalent to ``--log-handler=odoo.http.rpc.request:DEBUG``" -msgstr "" - -#: ../../content/developer/cli.rst:495 -msgid "enable DEBUG logging for RPC responses, equivalent to ``--log-handler=odoo.http.rpc.response:DEBUG``" -msgstr "" - -#: ../../content/developer/cli.rst:500 msgid "enables DEBUG logging of HTTP requests and responses, equivalent to ``--log-handler=odoo.http:DEBUG``" msgstr "" -#: ../../content/developer/cli.rst:505 +#: ../../content/developer/cli.rst:495 msgid "enables DEBUG logging of SQL querying, equivalent to ``--log-handler=odoo.sql_db:DEBUG``" msgstr "" -#: ../../content/developer/cli.rst:510 +#: ../../content/developer/cli.rst:500 msgid "Shortcut to more easily set predefined levels on specific loggers. \"real\" levels (``critical``, ``error``, ``warn``, ``debug``) are set on the ``odoo`` and ``werkzeug`` loggers (except for ``debug`` which is only set on ``odoo``)." msgstr "" -#: ../../content/developer/cli.rst:515 +#: ../../content/developer/cli.rst:505 msgid "Odoo also provides debugging pseudo-levels which apply to different sets of loggers:" msgstr "" -#: ../../content/developer/cli.rst:520 +#: ../../content/developer/cli.rst:510 msgid "``debug_sql``" msgstr "" -#: ../../content/developer/cli.rst:519 +#: ../../content/developer/cli.rst:509 msgid "sets the SQL logger to ``debug``" msgstr "" -#: ../../content/developer/cli.rst:521 +#: ../../content/developer/cli.rst:511 msgid "equivalent to ``--log-sql``" msgstr "" -#: ../../content/developer/cli.rst:524 +#: ../../content/developer/cli.rst:514 msgid "``debug_rpc``" msgstr "" -#: ../../content/developer/cli.rst:523 +#: ../../content/developer/cli.rst:513 msgid "sets the ``odoo`` and HTTP request loggers to ``debug``" msgstr "" -#: ../../content/developer/cli.rst:525 +#: ../../content/developer/cli.rst:515 msgid "equivalent to ``--log-level debug --log-request``" msgstr "" -#: ../../content/developer/cli.rst:530 +#: ../../content/developer/cli.rst:520 msgid "``debug_rpc_answer``" msgstr "" -#: ../../content/developer/cli.rst:527 +#: ../../content/developer/cli.rst:517 msgid "sets the ``odoo`` and HTTP request and response loggers to ``debug``" msgstr "" -#: ../../content/developer/cli.rst:530 +#: ../../content/developer/cli.rst:520 msgid "equivalent to ``--log-level debug --log-request --log-response``" msgstr "" -#: ../../content/developer/cli.rst:534 +#: ../../content/developer/cli.rst:524 msgid "In case of conflict between :option:`--log-level` and :option:`--log-handler`, the latter is used" msgstr "" -#: ../../content/developer/cli.rst:540 +#: ../../content/developer/cli.rst:530 msgid "Multiprocessing" msgstr "" -#: ../../content/developer/cli.rst:544 +#: ../../content/developer/cli.rst:534 msgid "if ``count`` is not 0 (the default), enables multiprocessing and sets up the specified number of HTTP workers (sub-processes processing HTTP and RPC requests)." msgstr "" -#: ../../content/developer/cli.rst:548 +#: ../../content/developer/cli.rst:538 msgid "multiprocessing mode is only available on Unix-based systems" msgstr "" -#: ../../content/developer/cli.rst:550 +#: ../../content/developer/cli.rst:540 msgid "A number of options allow limiting and recycling workers:" msgstr "" -#: ../../content/developer/cli.rst:554 +#: ../../content/developer/cli.rst:544 msgid "Number of requests a worker will process before being recycled and restarted." msgstr "" -#: ../../content/developer/cli.rst:557 +#: ../../content/developer/cli.rst:547 msgid "Defaults to *8196*." msgstr "" -#: ../../content/developer/cli.rst:561 +#: ../../content/developer/cli.rst:551 msgid "Maximum allowed virtual memory per worker. If the limit is exceeded, the worker is killed and recycled at the end of the current request." msgstr "" -#: ../../content/developer/cli.rst:564 +#: ../../content/developer/cli.rst:554 msgid "Defaults to *2048MiB*." msgstr "" -#: ../../content/developer/cli.rst:568 +#: ../../content/developer/cli.rst:558 msgid "Hard limit on virtual memory, any worker exceeding the limit will be immediately killed without waiting for the end of the current request processing." msgstr "" -#: ../../content/developer/cli.rst:572 +#: ../../content/developer/cli.rst:562 msgid "Defaults to *2560MiB*." msgstr "" -#: ../../content/developer/cli.rst:576 +#: ../../content/developer/cli.rst:566 msgid "Prevents the worker from using more than CPU seconds for each request. If the limit is exceeded, the worker is killed." msgstr "" -#: ../../content/developer/cli.rst:579 +#: ../../content/developer/cli.rst:569 msgid "Defaults to *60*." msgstr "" -#: ../../content/developer/cli.rst:583 +#: ../../content/developer/cli.rst:573 msgid "Prevents the worker from taking longer than seconds to process a request. If the limit is exceeded, the worker is killed." msgstr "" -#: ../../content/developer/cli.rst:586 +#: ../../content/developer/cli.rst:576 msgid "Differs from :option:`--limit-time-cpu` in that this is a \"wall time\" limit including e.g. SQL queries." msgstr "" -#: ../../content/developer/cli.rst:589 +#: ../../content/developer/cli.rst:579 msgid "Defaults to *120*." msgstr "" -#: ../../content/developer/cli.rst:593 +#: ../../content/developer/cli.rst:583 msgid "number of workers dedicated to :ref:`cron ` jobs. Defaults to *2*. The workers are threads in multi-threading mode and processes in multi-processing mode." msgstr "" -#: ../../content/developer/cli.rst:596 +#: ../../content/developer/cli.rst:586 msgid "For multi-processing mode, this is in addition to the HTTP worker processes." msgstr "" -#: ../../content/developer/cli.rst:601 +#: ../../content/developer/cli.rst:591 msgid "Configuration file" msgstr "" -#: ../../content/developer/cli.rst:605 +#: ../../content/developer/cli.rst:595 msgid "Most of the command-line options can also be specified via a configuration file. Most of the time, they use similar names with the prefix ``-`` removed and other ``-`` are replaced by ``_`` e.g. :option:`--db-template` becomes ``db_template``." msgstr "" -#: ../../content/developer/cli.rst:610 +#: ../../content/developer/cli.rst:600 msgid "Some conversions don't match the pattern:" msgstr "" -#: ../../content/developer/cli.rst:612 +#: ../../content/developer/cli.rst:602 msgid ":option:`--db-filter` becomes ``dbfilter``" msgstr "" -#: ../../content/developer/cli.rst:613 +#: ../../content/developer/cli.rst:603 msgid ":option:`--no-http` corresponds to the ``http_enable`` boolean" msgstr "" -#: ../../content/developer/cli.rst:614 +#: ../../content/developer/cli.rst:604 msgid "logging presets (all options starting with ``--log-`` except for :option:`--log-handler` and :option:`--log-db`) just add content to ``log_handler``, use that directly in the configuration file" msgstr "" -#: ../../content/developer/cli.rst:617 +#: ../../content/developer/cli.rst:607 msgid ":option:`--smtp` is stored as ``smtp_server``" msgstr "" -#: ../../content/developer/cli.rst:618 +#: ../../content/developer/cli.rst:608 msgid ":option:`--database` is stored as ``db_name``" msgstr "" -#: ../../content/developer/cli.rst:619 +#: ../../content/developer/cli.rst:609 msgid ":option:`--i18n-import` and :option:`--i18n-export` aren't available at all from configuration files" msgstr "" -#: ../../content/developer/cli.rst:622 +#: ../../content/developer/cli.rst:612 msgid "The default configuration file is :file:`{$HOME}/.odoorc` which can be overridden using :option:`--config `. Specifying :option:`--save ` will save the current configuration state back to that file. The configuration items relative to the command-line are to be specified in the section ``[options]``." msgstr "" -#: ../../content/developer/cli.rst:628 +#: ../../content/developer/cli.rst:618 msgid "Here is a sample file:" msgstr "" -#: ../../content/developer/cli.rst:653 +#: ../../content/developer/cli.rst:643 msgid "Shell" msgstr "" -#: ../../content/developer/cli.rst:655 +#: ../../content/developer/cli.rst:645 msgid "Odoo command-line also allows to launch odoo as a python console environment. This enables direct interaction with the :ref:`orm ` and its functionalities." msgstr "" -#: ../../content/developer/cli.rst:665 +#: ../../content/developer/cli.rst:655 msgid "Specify a preferred REPL to use in shell mode." msgstr "" -#: ../../content/developer/cli.rst:671 +#: ../../content/developer/cli.rst:661 msgid "Scaffolding" msgstr "" -#: ../../content/developer/cli.rst:675 +#: ../../content/developer/cli.rst:665 msgid "Scaffolding is the automated creation of a skeleton structure to simplify bootstrapping (of new modules, in the case of Odoo). While not necessary it avoids the tedium of setting up basic structures and looking up what all starting requirements are." msgstr "" -#: ../../content/developer/cli.rst:680 +#: ../../content/developer/cli.rst:670 msgid "Scaffolding is available via the :command:`odoo-bin scaffold` subcommand." msgstr "" -#: ../../content/developer/cli.rst:688 +#: ../../content/developer/cli.rst:678 msgid "the name of the module to create, may munged in various manners to generate programmatic names (e.g. module directory name, model names, …)" msgstr "" -#: ../../content/developer/cli.rst:693 +#: ../../content/developer/cli.rst:683 msgid "directory in which to create the new module, defaults to the current directory" msgstr "" -#: ../../content/developer/cli.rst:698 +#: ../../content/developer/cli.rst:688 msgid "a template directory, files are passed through jinja2_ then copied to the ``destination`` directory" msgstr "" -#: ../../content/developer/cli.rst:702 +#: ../../content/developer/cli.rst:692 msgid "This will create module *my_module* in directory */addons/*." msgstr "" -#: ../../content/developer/cli.rst:707 +#: ../../content/developer/cli.rst:697 msgid "Database Population" msgstr "" -#: ../../content/developer/cli.rst:711 -msgid "Odoo CLI supports database population features. If the feature is :ref:`implemented on a given model `, it allows automatic data generation of the model's records to test your modules in databases containing non-trivial amounts of records." +#: ../../content/developer/cli.rst:701 +msgid "Odoo CLI supports database population features. If the feature is :ref:`implemented on a given model `, it allows automatic data generation of the model's records to test your modules in databases containing non-trivial amounts of records." msgstr "" -#: ../../content/developer/cli.rst:721 +#: ../../content/developer/cli.rst:712 msgid "list of models for which the database should be filled" msgstr "" -#: ../../content/developer/cli.rst:725 +#: ../../content/developer/cli.rst:716 msgid "population size, the actual records number depends on the model's `_populate_sizes` attribute. The generated records content is specified by the :meth:`~odoo.models._populate_factories` method of a given model (cf. the :file:`populate` folder of modules for further details)." msgstr "" -#: ../../content/developer/cli.rst:731 -msgid ":ref:`reference/testing/populate`" +#: ../../content/developer/cli.rst:721 +msgid ":ref:`reference/performance/populate`" msgstr "" -#: ../../content/developer/cli.rst:736 +#: ../../content/developer/cli.rst:726 msgid "Cloc" msgstr "" -#: ../../content/developer/cli.rst:740 +#: ../../content/developer/cli.rst:730 msgid "Odoo Cloc is a tool to count the number of relevant lines written in Python, Javascript, CSS, SCSS, or XML. This can be used as a rough metric for pricing maintenance of extra modules." msgstr "" -#: ../../content/developer/cli.rst:745 +#: ../../content/developer/cli.rst:735 msgid "Command-line options" msgstr "" -#: ../../content/developer/cli.rst:750 +#: ../../content/developer/cli.rst:740 msgid "Process the code of all extra modules installed on the provided database, and of all server actions and computed fields manually created in the provided database." msgstr "" -#: ../../content/developer/cli.rst:752 +#: ../../content/developer/cli.rst:742 msgid "The :option:`--addons-path` option is required to specify the path(s) to the module folder(s)." msgstr "" -#: ../../content/developer/cli.rst:755 +#: ../../content/developer/cli.rst:745 msgid "If combined with :option:`--path`, the count will be that of the sum of both options' results (with possible overlaps). At least one of these two options is required to specify which code to process." msgstr "" -#: ../../content/developer/cli.rst:762 +#: ../../content/developer/cli.rst:752 msgid ":ref:`reference/cmdline/cloc/database-option`" msgstr "" -#: ../../content/developer/cli.rst:767 +#: ../../content/developer/cli.rst:757 msgid "Process the files in the provided path." msgstr "" -#: ../../content/developer/cli.rst:770 +#: ../../content/developer/cli.rst:760 msgid "If combined with :option:`--database`, the count will be that of the sum of both options' results (with possible overlaps). At least one of these two options is required to specify which code to process." msgstr "" -#: ../../content/developer/cli.rst:777 +#: ../../content/developer/cli.rst:767 msgid "Multiple paths can be provided by repeating the option." msgstr "" -#: ../../content/developer/cli.rst:784 +#: ../../content/developer/cli.rst:774 msgid ":ref:`reference/cmdline/cloc/path-option`" msgstr "" -#: ../../content/developer/cli.rst:790 +#: ../../content/developer/cli.rst:780 msgid "Comma-separated list of directories in which modules are stored. These directories are scanned for modules." msgstr "" -#: ../../content/developer/cli.rst:791 +#: ../../content/developer/cli.rst:781 msgid "Required if the :option:`--database` option is used." msgstr "" -#: ../../content/developer/cli.rst:796 +#: ../../content/developer/cli.rst:786 msgid "Specify a configuration file to use in place of the :option:`--addons-path` option." msgstr "" -#: ../../content/developer/cli.rst:805 +#: ../../content/developer/cli.rst:795 msgid "Show the details of lines counted for each file." msgstr "" -#: ../../content/developer/cli.rst:809 +#: ../../content/developer/cli.rst:799 msgid "Processed files" msgstr "" -#: ../../content/developer/cli.rst:814 +#: ../../content/developer/cli.rst:804 msgid "With the :option:`--database` option" msgstr "" -#: ../../content/developer/cli.rst:816 +#: ../../content/developer/cli.rst:806 msgid "Odoo Cloc counts the lines in each file of extra installed modules in a given database. In addition, it counts the Python lines of server actions and custom computed fields that have been directly created in the database or imported. Finally, it counts the lines of code of Javascript, CSS, and SCSS files, and of QWeb views from imported modules." msgstr "" -#: ../../content/developer/cli.rst:822 +#: ../../content/developer/cli.rst:812 msgid "Some files are excluded from the count by default:" msgstr "" -#: ../../content/developer/cli.rst:824 +#: ../../content/developer/cli.rst:814 msgid "The manifest (:file:`__manifest__.py` or :file:`__openerp__.py`)" msgstr "" -#: ../../content/developer/cli.rst:825 +#: ../../content/developer/cli.rst:815 msgid "The contents of the folder :file:`static/lib`" msgstr "" -#: ../../content/developer/cli.rst:826 +#: ../../content/developer/cli.rst:816 msgid "The tests defined in the folder :file:`tests` and :file:`static/tests`" msgstr "" -#: ../../content/developer/cli.rst:827 +#: ../../content/developer/cli.rst:817 msgid "The migrations scripts defined in the folder :file:`migrations` and `upgrades`" msgstr "" -#: ../../content/developer/cli.rst:828 +#: ../../content/developer/cli.rst:818 msgid "The XML files declared in the ``demo`` or ``demo_xml`` sections of the manifest" msgstr "" -#: ../../content/developer/cli.rst:830 +#: ../../content/developer/cli.rst:820 msgid "For special cases, a list of files that should be ignored by Odoo Cloc can be defined per module. This is specified by the ``cloc_exclude`` entry of the manifest:" msgstr "" -#: ../../content/developer/cli.rst:843 +#: ../../content/developer/cli.rst:833 msgid "The pattern ``**/*`` can be used to ignore an entire module. This can be useful to exclude a module from maintenance service costs." msgstr "" -#: ../../content/developer/cli.rst:845 +#: ../../content/developer/cli.rst:835 msgid "For more information about the pattern syntax, see `glob `_." msgstr "" -#: ../../content/developer/cli.rst:852 +#: ../../content/developer/cli.rst:842 msgid "With the :option:`--path` option" msgstr "" -#: ../../content/developer/cli.rst:854 +#: ../../content/developer/cli.rst:844 msgid "This method works the same as with the :ref:`--database option ` if a manifest file is present in the given folder. Otherwise, it counts all files." msgstr "" -#: ../../content/developer/cli.rst:860 +#: ../../content/developer/cli.rst:850 msgid "Identifying Extra Modules" msgstr "" -#: ../../content/developer/cli.rst:862 +#: ../../content/developer/cli.rst:852 msgid "To distinguish between standard and extra modules, Odoo Cloc uses the following heuristic: modules that are located (real file system path, after following symbolic links) in the same parent directory as the ``base``, ``web`` or ``web_enterprise`` standard modules are considered standard. Other modules are treated as extra modules." msgstr "" -#: ../../content/developer/cli.rst:869 +#: ../../content/developer/cli.rst:859 #: ../../content/developer/reference/frontend/services.rst:662 msgid "Error Handling" msgstr "" -#: ../../content/developer/cli.rst:871 +#: ../../content/developer/cli.rst:861 msgid "Some file cannot be counted by Odoo Cloc. Those file are reported at the end of the output." msgstr "" -#: ../../content/developer/cli.rst:875 +#: ../../content/developer/cli.rst:865 msgid "Max file size exceeded" msgstr "" -#: ../../content/developer/cli.rst:877 +#: ../../content/developer/cli.rst:867 msgid "Odoo Cloc rejects any file larger than 25MB. Usually, source files are smaller than 1 MB. If a file is rejected, it may be:" msgstr "" -#: ../../content/developer/cli.rst:880 +#: ../../content/developer/cli.rst:870 msgid "A generated XML file that contains lots of data. It should be excluded in the manifest." msgstr "" -#: ../../content/developer/cli.rst:881 +#: ../../content/developer/cli.rst:871 msgid "A JavaScript library that should be placed in the :file:`static/lib` folder." msgstr "" -#: ../../content/developer/cli.rst:884 +#: ../../content/developer/cli.rst:874 msgid "Syntax Error" msgstr "" -#: ../../content/developer/cli.rst:886 +#: ../../content/developer/cli.rst:876 msgid "Odoo Cloc cannot count the lines of code of a Python file with a syntax problem. If an extra module contains such files, they should be fixed to allow the module to load. If the module works despite the presence of those files, they are probably not loaded and should therefore be removed from the module, or at least excluded in the manifest via ``cloc_exclude``." msgstr "" -#: ../../content/developer/cli.rst:893 +#: ../../content/developer/cli.rst:883 msgid "TSConfig Generator" msgstr "" -#: ../../content/developer/cli.rst:897 +#: ../../content/developer/cli.rst:887 msgid "When working on javascript, there are ways to help your editor providing you with powerful auto-completion. One of those ways is the use of a tsconfig.json file. Originally meant for typescript, editors can use its information with plain javascript also. With this config file, you will now have full auto-completion across modules." msgstr "" -#: ../../content/developer/cli.rst:902 +#: ../../content/developer/cli.rst:892 msgid "The command to generate this files takes as many unnamed arguments as you need. Those are relative paths to your addon directories. In the example below, we move up one folder to save the tsconfig file in the folder containing community and enterprise." msgstr "" @@ -4308,7 +4360,7 @@ msgid "A simple link to an other object::" msgstr "" #: ../../content/developer/howtos/backend.rst:472 -msgid "`foreign keys `_" +msgid "`foreign keys `_" msgstr "" #: ../../content/developer/howtos/backend.rst:486 @@ -4755,39 +4807,39 @@ msgid "Tree views can take supplementary attributes to further customize their b msgstr "" #: ../../content/developer/howtos/backend.rst:885 -#: ../../content/developer/reference/backend/views.rst:1049 -#: ../../content/developer/reference/backend/views.rst:1733 -#: ../../content/developer/reference/backend/views.rst:1864 +#: ../../content/developer/reference/backend/views.rst:1064 +#: ../../content/developer/reference/backend/views.rst:1748 +#: ../../content/developer/reference/backend/views.rst:1879 msgid "``decoration-{$name}``" msgstr "" #: ../../content/developer/howtos/backend.rst:861 -#: ../../content/developer/reference/backend/views.rst:1036 -#: ../../content/developer/reference/backend/views.rst:1729 +#: ../../content/developer/reference/backend/views.rst:1051 +#: ../../content/developer/reference/backend/views.rst:1744 msgid "allow changing the style of a row's text based on the corresponding record's attributes." msgstr "" #: ../../content/developer/howtos/backend.rst:864 #: ../../content/developer/reference/backend/views.rst:104 -#: ../../content/developer/reference/backend/views.rst:1039 +#: ../../content/developer/reference/backend/views.rst:1054 msgid "Values are Python expressions. For each record, the expression is evaluated with the record's attributes as context values and if ``true``, the corresponding style is applied to the row. Here are some of the other values available in the context:" msgstr "" #: ../../content/developer/howtos/backend.rst:869 #: ../../content/developer/reference/backend/views.rst:109 -#: ../../content/developer/reference/backend/views.rst:1044 +#: ../../content/developer/reference/backend/views.rst:1059 msgid "``uid``: the id of the current user," msgstr "" #: ../../content/developer/howtos/backend.rst:870 #: ../../content/developer/reference/backend/views.rst:110 -#: ../../content/developer/reference/backend/views.rst:1045 +#: ../../content/developer/reference/backend/views.rst:1060 msgid "``today``: the current local date as a string of the form ``YYYY-MM-DD``," msgstr "" #: ../../content/developer/howtos/backend.rst:871 #: ../../content/developer/reference/backend/views.rst:111 -#: ../../content/developer/reference/backend/views.rst:1046 +#: ../../content/developer/reference/backend/views.rst:1061 msgid "``now``: same as ``today`` with the addition of the current time. This value is formatted as ``YYYY-MM-DD hh:mm:ss``." msgstr "" @@ -4796,7 +4848,7 @@ msgid "``{$name}`` can be ``bf`` (``font-weight: bold``), ``it`` (``font-style: msgstr "" #: ../../content/developer/howtos/backend.rst:890 -#: ../../content/developer/reference/backend/views.rst:1713 +#: ../../content/developer/reference/backend/views.rst:1728 msgid "``editable``" msgstr "" @@ -4821,9 +4873,9 @@ msgid "Displays records as calendar events. Their root element is ```` msgstr "" #: ../../content/developer/howtos/backend.rst:907 -#: ../../content/developer/reference/backend/views.rst:434 -#: ../../content/developer/reference/backend/views.rst:1033 -#: ../../content/developer/reference/backend/views.rst:2420 +#: ../../content/developer/reference/backend/views.rst:449 +#: ../../content/developer/reference/backend/views.rst:1048 +#: ../../content/developer/reference/backend/views.rst:2435 msgid "``color``" msgstr "" @@ -4848,14 +4900,14 @@ msgid "record's field holding the end date/time for the event" msgstr "" #: ../../content/developer/howtos/backend.rst:914 -#: ../../content/developer/reference/backend/views.rst:957 -#: ../../content/developer/reference/backend/views.rst:1090 -#: ../../content/developer/reference/backend/views.rst:1378 -#: ../../content/developer/reference/backend/views.rst:1761 -#: ../../content/developer/reference/backend/views.rst:1823 -#: ../../content/developer/reference/backend/views.rst:2034 -#: ../../content/developer/reference/backend/views.rst:2202 -#: ../../content/developer/reference/backend/views.rst:2414 +#: ../../content/developer/reference/backend/views.rst:972 +#: ../../content/developer/reference/backend/views.rst:1105 +#: ../../content/developer/reference/backend/views.rst:1393 +#: ../../content/developer/reference/backend/views.rst:1776 +#: ../../content/developer/reference/backend/views.rst:1838 +#: ../../content/developer/reference/backend/views.rst:2049 +#: ../../content/developer/reference/backend/views.rst:2217 +#: ../../content/developer/reference/backend/views.rst:2429 #: ../../content/developer/reference/frontend/services.rst:870 #: ../../content/developer/reference/frontend/services.rst:873 #: ../../content/developer/reference/frontend/services.rst:879 @@ -4885,12 +4937,12 @@ msgid "Search views can also contain ```` elements, which act as toggles msgstr "" #: ../../content/developer/howtos/backend.rst:938 -#: ../../content/developer/reference/backend/views.rst:908 -#: ../../content/developer/reference/backend/views.rst:1426 -#: ../../content/developer/reference/backend/views.rst:1475 -#: ../../content/developer/reference/backend/views.rst:1488 -#: ../../content/developer/reference/backend/views.rst:2156 -#: ../../content/developer/reference/backend/views.rst:2237 +#: ../../content/developer/reference/backend/views.rst:923 +#: ../../content/developer/reference/backend/views.rst:1441 +#: ../../content/developer/reference/backend/views.rst:1490 +#: ../../content/developer/reference/backend/views.rst:1503 +#: ../../content/developer/reference/backend/views.rst:2171 +#: ../../content/developer/reference/backend/views.rst:2252 msgid "``domain``" msgstr "" @@ -4901,13 +4953,13 @@ msgstr "" #: ../../content/developer/howtos/backend.rst:942 #: ../../content/developer/howtos/web.rst:1710 #: ../../content/developer/reference/backend/data.rst:72 -#: ../../content/developer/reference/backend/views.rst:910 -#: ../../content/developer/reference/backend/views.rst:1635 -#: ../../content/developer/reference/backend/views.rst:1809 -#: ../../content/developer/reference/backend/views.rst:1946 -#: ../../content/developer/reference/backend/views.rst:2158 -#: ../../content/developer/reference/backend/views.rst:2230 -#: ../../content/developer/reference/backend/views.rst:2337 +#: ../../content/developer/reference/backend/views.rst:925 +#: ../../content/developer/reference/backend/views.rst:1650 +#: ../../content/developer/reference/backend/views.rst:1824 +#: ../../content/developer/reference/backend/views.rst:1961 +#: ../../content/developer/reference/backend/views.rst:2173 +#: ../../content/developer/reference/backend/views.rst:2245 +#: ../../content/developer/reference/backend/views.rst:2352 #: ../../content/developer/reference/frontend/services.rst:854 msgid "``context``" msgstr "" @@ -4933,7 +4985,7 @@ msgid "Add a button to group courses by responsible user." msgstr "" #: ../../content/developer/howtos/backend.rst:977 -#: ../../content/developer/reference/backend/views.rst:1005 +#: ../../content/developer/reference/backend/views.rst:1020 msgid "Gantt" msgstr "" @@ -5002,7 +5054,7 @@ msgid "Graph views contain ```` with a mandatory ``@type`` attribute taki msgstr "" #: ../../content/developer/howtos/backend.rst:1029 -#: ../../content/developer/reference/backend/views.rst:2086 +#: ../../content/developer/reference/backend/views.rst:2101 msgid "``row`` (default)" msgstr "" @@ -5011,7 +5063,7 @@ msgid "the field should be aggregated by default" msgstr "" #: ../../content/developer/howtos/backend.rst:1032 -#: ../../content/developer/reference/backend/views.rst:2090 +#: ../../content/developer/reference/backend/views.rst:2105 msgid "``measure``" msgstr "" @@ -5032,7 +5084,7 @@ msgid "Add a Graph view in the Session object that displays, for each course, th msgstr "" #: ../../content/developer/howtos/backend.rst:1052 -#: ../../content/developer/reference/backend/views.rst:1521 +#: ../../content/developer/reference/backend/views.rst:1536 msgid "Kanban" msgstr "" @@ -5445,18 +5497,19 @@ msgstr "" #: ../../../odoo/odoo/http.py:docstring of odoo.http.Response.load:0 #: ../../../odoo/odoo/api.py:docstring of odoo.api.Environment.company:0 #: ../../../odoo/odoo/api.py:docstring of odoo.api.Environment.companies:0 +#: ../../../odoo/odoo/api.py:docstring of odoo.api.Environment.ref:0 #: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.create:0 #: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.write:0 #: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.search:0 #: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.read:0 #: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.read_group:0 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.get_view:0 #: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.unlink:0 #: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.ensure_one:0 #: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.Form.save:0 #: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.O2MProxy.edit:0 #: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.O2MProxy.new:0 #: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.O2MProxy.remove:0 +#: ../../../odoo/odoo/addons/base/models/ir_ui_view.py:docstring of odoo.addons.base.models.ir_ui_view.Model.get_view:0 msgid "Raises" msgstr "" @@ -5514,86 +5567,6 @@ msgstr "" msgid "check_company on company_dependent fields." msgstr "" -#: ../../content/developer/howtos/profilecode.rst:3 -msgid "Profiling Odoo code" -msgstr "" - -#: ../../content/developer/howtos/profilecode.rst:7 -msgid "This tutorial requires :ref:`having installed Odoo ` and :doc:`writing Odoo code `" -msgstr "" - -#: ../../content/developer/howtos/profilecode.rst:11 -msgid "Graph a method" -msgstr "" - -#: ../../content/developer/howtos/profilecode.rst:13 -msgid "Odoo embeds a profiler of code. This embedded profiler output can be used to generate a graph of calls triggered by the method, number of queries, percentage of time taken in the method itself as well as the time that the method took and its sub-called methods." -msgstr "" - -#: ../../content/developer/howtos/profilecode.rst:25 -msgid "This produces a file called /temp/prof.profile" -msgstr "" - -#: ../../content/developer/howtos/profilecode.rst:27 -msgid "A tool called *gprof2dot* will produce a graph with this result:" -msgstr "" - -#: ../../content/developer/howtos/profilecode.rst:33 -msgid "A tool called *xdot* will display the resulting graph:" -msgstr "" - -#: ../../content/developer/howtos/profilecode.rst:40 -msgid "Log a method" -msgstr "" - -#: ../../content/developer/howtos/profilecode.rst:42 -msgid "Another profiler can be used to log statistics on a method:" -msgstr "" - -#: ../../content/developer/howtos/profilecode.rst:52 -msgid "The statistics will be displayed into the logs once the method to be analysed is completely reviewed." -msgstr "" - -#: ../../content/developer/howtos/profilecode.rst:83 -msgid "Dump stack" -msgstr "" - -#: ../../content/developer/howtos/profilecode.rst:85 -msgid "Sending the SIGQUIT signal to an Odoo process (only available on POSIX) makes this process output the current stack trace to log, with info level. When an odoo process seems stuck, sending this signal to the process permit to know what the process is doing, and letting the process continue his job." -msgstr "" - -#: ../../content/developer/howtos/profilecode.rst:91 -msgid "Tracing code execution" -msgstr "" - -#: ../../content/developer/howtos/profilecode.rst:93 -msgid "Instead of sending the SIGQUIT signal to an Odoo process often enough, to check where the processes are performing worse than expected, we can use the `py-spy`_ tool to do it for us." -msgstr "" - -#: ../../content/developer/howtos/profilecode.rst:98 -msgid "Install py-spy" -msgstr "" - -#: ../../content/developer/howtos/profilecode.rst:105 -msgid "Record executed code" -msgstr "" - -#: ../../content/developer/howtos/profilecode.rst:107 -msgid "As py-spy is installed, we now record the executed code lines. This tool will record, multiple times a second, the stacktrace of the process." -msgstr "" - -#: ../../content/developer/howtos/profilecode.rst:118 -msgid "where is the process ID of the odoo process you want to graph." -msgstr "" - -#: ../../content/developer/howtos/profilecode.rst:120 -msgid "To open profile.json you can use online tool `speedscope.app`_." -msgstr "" - -#: ../../content/developer/howtos/profilecode.rst:122 -msgid "To open profile.svg you should use browser, because other viewer may not support interactive part." -msgstr "" - #: ../../content/developer/howtos/rdtraining.rst:39 #: ../../content/developer/howtos/rdtraining.rst:69 #: ../../content/developer/howtos/rdtraining.rst:39 @@ -6789,63 +6762,63 @@ msgstr "" msgid "When no access rights are defined on a model, Odoo determines that no users can access the data. It is even notified in the log:" msgstr "" -#: ../../content/developer/howtos/rdtraining/05_securityintro.rst:89 +#: ../../content/developer/howtos/rdtraining/05_securityintro.rst:90 msgid "Access rights are defined as records of the model ``ir.model.access``. Each access right is associated with a model, a group (or no group for global access) and a set of permissions: create, read, write and unlink\\ [#unlink]_. Such access rights are usually defined in a CSV file named ``ir.model.access.csv``." msgstr "" -#: ../../content/developer/howtos/rdtraining/05_securityintro.rst:95 +#: ../../content/developer/howtos/rdtraining/05_securityintro.rst:96 msgid "Here is an example for our previous ``test.model``:" msgstr "" -#: ../../content/developer/howtos/rdtraining/05_securityintro.rst:102 +#: ../../content/developer/howtos/rdtraining/05_securityintro.rst:103 msgid "``id`` is an :term:`external identifier`." msgstr "" -#: ../../content/developer/howtos/rdtraining/05_securityintro.rst:103 +#: ../../content/developer/howtos/rdtraining/05_securityintro.rst:104 msgid "``name`` is the name of the ``ir.model.access``." msgstr "" -#: ../../content/developer/howtos/rdtraining/05_securityintro.rst:104 +#: ../../content/developer/howtos/rdtraining/05_securityintro.rst:105 msgid "``model_id/id`` refers to the model which the access right applies to. The standard way to refer to the model is ``model_``, where ```` is the ``_name`` of the model with the ``.`` replaced by ``_``. Seems cumbersome? Indeed it is..." msgstr "" -#: ../../content/developer/howtos/rdtraining/05_securityintro.rst:107 +#: ../../content/developer/howtos/rdtraining/05_securityintro.rst:108 msgid "``group_id/id`` refers to the group which the access right applies to. We will cover the concept of groups in the :ref:`advanced topic ` dedicated to the security." msgstr "" -#: ../../content/developer/howtos/rdtraining/05_securityintro.rst:109 +#: ../../content/developer/howtos/rdtraining/05_securityintro.rst:110 msgid "``perm_read,perm_write,perm_create,perm_unlink``: read, write, create and unlink permissions" msgstr "" -#: ../../content/developer/howtos/rdtraining/05_securityintro.rst:111 +#: ../../content/developer/howtos/rdtraining/05_securityintro.rst:112 msgid "Add access rights." msgstr "" -#: ../../content/developer/howtos/rdtraining/05_securityintro.rst:113 +#: ../../content/developer/howtos/rdtraining/05_securityintro.rst:114 msgid "Create the ``ir.model.access.csv`` file in the appropriate folder and define it in the ``__manifest__.py`` file." msgstr "" -#: ../../content/developer/howtos/rdtraining/05_securityintro.rst:116 +#: ../../content/developer/howtos/rdtraining/05_securityintro.rst:117 msgid "Give the read, write, create and unlink permissions to the group ``base.group_user``." msgstr "" -#: ../../content/developer/howtos/rdtraining/05_securityintro.rst:118 +#: ../../content/developer/howtos/rdtraining/05_securityintro.rst:119 msgid "Tip: the warning message in the log gives you most of the solution ;-)" msgstr "" -#: ../../content/developer/howtos/rdtraining/05_securityintro.rst:120 +#: ../../content/developer/howtos/rdtraining/05_securityintro.rst:121 msgid "Restart the server and the warning message should have disappeared!" msgstr "" -#: ../../content/developer/howtos/rdtraining/05_securityintro.rst:122 +#: ../../content/developer/howtos/rdtraining/05_securityintro.rst:123 msgid "It's now time to finally :ref:`interact with the UI `!" msgstr "" -#: ../../content/developer/howtos/rdtraining/05_securityintro.rst:124 +#: ../../content/developer/howtos/rdtraining/05_securityintro.rst:125 msgid "meaning which Odoo user (or group of users)" msgstr "" -#: ../../content/developer/howtos/rdtraining/05_securityintro.rst:126 +#: ../../content/developer/howtos/rdtraining/05_securityintro.rst:127 msgid "'unlink' is the equivalent of 'delete'" msgstr "" @@ -7239,7 +7212,7 @@ msgstr "" #: ../../content/developer/howtos/rdtraining/07_basicviews.rst:23 #: ../../content/developer/howtos/rdtraining/12_sprinkles.rst:317 -#: ../../content/developer/reference/backend/views.rst:1692 +#: ../../content/developer/reference/backend/views.rst:1707 msgid "List" msgstr "" @@ -7299,7 +7272,7 @@ msgstr "" #: ../../content/developer/howtos/rdtraining/07_basicviews.rst:72 #: ../../content/developer/howtos/rdtraining/12_sprinkles.rst:234 -#: ../../content/developer/reference/backend/views.rst:774 +#: ../../content/developer/reference/backend/views.rst:789 msgid "Form" msgstr "" @@ -7349,7 +7322,7 @@ msgstr "" #: ../../content/developer/howtos/rdtraining/07_basicviews.rst:134 #: ../../content/developer/howtos/rdtraining/12_sprinkles.rst:385 -#: ../../content/developer/reference/backend/views.rst:2175 +#: ../../content/developer/reference/backend/views.rst:2190 msgid "Search" msgstr "" @@ -7366,7 +7339,7 @@ msgid "Search fields" msgstr "" #: ../../content/developer/howtos/rdtraining/07_basicviews.rst:0 -#: ../../content/developer/reference/backend/orm.rst:1033 +#: ../../content/developer/reference/backend/orm.rst:1024 msgid "Filter" msgstr "" @@ -7537,7 +7510,7 @@ msgid "By convention, many2one fields have the ``_id`` suffix. Accessing the dat msgstr "" #: ../../content/developer/howtos/rdtraining/08_relations.rst:62 -msgid "`foreign keys `_" +msgid "`foreign keys `_" msgstr "" #: ../../content/developer/howtos/rdtraining/08_relations.rst:64 @@ -7556,6 +7529,7 @@ msgstr "" #: ../../content/developer/howtos/rdtraining/08_relations.rst:178 #: ../../content/developer/howtos/rdtraining/08_relations.rst:241 #: ../../content/developer/reference/backend/views.rst:68 +#: ../../content/developer/reference/backend/views.rst:345 msgid "Attributes" msgstr "" @@ -7797,7 +7771,7 @@ msgstr "" #: ../../content/developer/howtos/rdtraining/09_compute_onchange.rst:19 #: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Field:96 -#: ../../content/developer/reference/backend/orm.rst:241 +#: ../../content/developer/reference/backend/orm.rst:240 msgid "Computed Fields" msgstr "" @@ -8466,7 +8440,7 @@ msgstr "" #: ../../content/developer/howtos/rdtraining/12_sprinkles.rst:215 #: ../../content/developer/howtos/rdtraining/12_sprinkles.rst:262 #: ../../content/developer/howtos/rdtraining/K_dashboard.rst:249 -#: ../../content/developer/reference/backend/orm.rst:95 +#: ../../content/developer/reference/backend/orm.rst:94 msgid "Model" msgstr "" @@ -8518,6 +8492,7 @@ msgstr "" #: ../../content/developer/howtos/rdtraining/12_sprinkles.rst:186 #: ../../content/developer/howtos/rdtraining/12_sprinkles.rst:187 +#: ../../content/developer/reference/backend/performance.rst:183 #: ../../content/developer/reference/frontend/framework_overview.rst:261 #: ../../content/developer/reference/frontend/hooks.rst:21 #: ../../content/developer/reference/frontend/odoo_editor.rst:146 @@ -8910,7 +8885,7 @@ msgid "It should not be possible to delete a property which is not new or cancel msgstr "" #: ../../content/developer/howtos/rdtraining/13_inheritance.rst:0 -#: ../../content/developer/reference/backend/orm.rst:972 +#: ../../content/developer/reference/backend/orm.rst:963 msgid "Unlink" msgstr "" @@ -13632,7 +13607,7 @@ msgid "The name of the method to call, ``my_method`` here" msgstr "" #: ../../content/developer/howtos/web.rst:1343 -#: ../../content/developer/reference/backend/views.rst:1786 +#: ../../content/developer/reference/backend/views.rst:1801 msgid "``args``" msgstr "" @@ -14936,7 +14911,7 @@ msgstr "" #: ../../content/developer/reference/backend/actions.rst:15 #: ../../content/developer/reference/backend/data.rst:135 -#: ../../content/developer/reference/backend/views.rst:1782 +#: ../../content/developer/reference/backend/views.rst:1797 msgid "``type``" msgstr "" @@ -15087,8 +15062,8 @@ msgid "additional context data to pass to the views" msgstr "" #: ../../content/developer/reference/backend/actions.rst:99 -#: ../../content/developer/reference/backend/views.rst:666 -#: ../../content/developer/reference/backend/views.rst:2252 +#: ../../content/developer/reference/backend/views.rst:681 +#: ../../content/developer/reference/backend/views.rst:2267 msgid "``domain`` (optional)" msgstr "" @@ -15333,8 +15308,8 @@ msgid "``ir.model.fields`` to set in the concerned model (``crud_model_id`` for msgstr "" #: ../../content/developer/reference/backend/actions.rst:304 -#: ../../content/developer/reference/backend/orm.rst:937 -#: ../../content/developer/reference/backend/views.rst:1424 +#: ../../content/developer/reference/backend/orm.rst:928 +#: ../../content/developer/reference/backend/views.rst:1439 msgid "``value``" msgstr "" @@ -15404,13 +15379,13 @@ msgstr "" #: ../../content/developer/reference/backend/actions.rst:347 #: ../../content/developer/reference/backend/reports.rst:195 -#: ../../content/developer/reference/backend/views.rst:554 -#: ../../content/developer/reference/backend/views.rst:658 -#: ../../content/developer/reference/backend/views.rst:765 -#: ../../content/developer/reference/backend/views.rst:863 -#: ../../content/developer/reference/backend/views.rst:1226 -#: ../../content/developer/reference/backend/views.rst:2074 -#: ../../content/developer/reference/backend/views.rst:2399 +#: ../../content/developer/reference/backend/views.rst:569 +#: ../../content/developer/reference/backend/views.rst:673 +#: ../../content/developer/reference/backend/views.rst:780 +#: ../../content/developer/reference/backend/views.rst:878 +#: ../../content/developer/reference/backend/views.rst:1241 +#: ../../content/developer/reference/backend/views.rst:2089 +#: ../../content/developer/reference/backend/views.rst:2414 msgid "``name`` (mandatory)" msgstr "" @@ -15623,8 +15598,8 @@ msgid "Core operations" msgstr "" #: ../../content/developer/reference/backend/data.rst:58 -#: ../../content/developer/reference/backend/views.rst:402 -#: ../../content/developer/reference/backend/views.rst:1632 +#: ../../content/developer/reference/backend/views.rst:417 +#: ../../content/developer/reference/backend/views.rst:1647 msgid "``record``" msgstr "" @@ -15670,11 +15645,11 @@ msgid "Requires an :term:`external id`, defaults to ``True``." msgstr "" #: ../../content/developer/reference/backend/data.rst:80 -#: ../../content/developer/reference/backend/views.rst:382 -#: ../../content/developer/reference/backend/views.rst:939 -#: ../../content/developer/reference/backend/views.rst:1590 -#: ../../content/developer/reference/backend/views.rst:1892 -#: ../../content/developer/reference/backend/views.rst:2237 +#: ../../content/developer/reference/backend/views.rst:397 +#: ../../content/developer/reference/backend/views.rst:954 +#: ../../content/developer/reference/backend/views.rst:1605 +#: ../../content/developer/reference/backend/views.rst:1907 +#: ../../content/developer/reference/backend/views.rst:2252 msgid "``field``" msgstr "" @@ -15783,7 +15758,7 @@ msgid "The evaluation context contains various modules (``time``, ``datetime``, msgstr "" #: ../../content/developer/reference/backend/data.rst:148 -#: ../../content/developer/reference/backend/views.rst:1680 +#: ../../content/developer/reference/backend/views.rst:1695 msgid "``delete``" msgstr "" @@ -15856,7 +15831,7 @@ msgid "A ``groups`` attribute is interpreted as a comma-separated sequence of :t msgstr "" #: ../../content/developer/reference/backend/data.rst:229 -#: ../../content/developer/reference/backend/views.rst:1782 +#: ../../content/developer/reference/backend/views.rst:1797 msgid "``action``" msgstr "" @@ -15912,35 +15887,35 @@ msgstr "" msgid "``enabled`` or ``disabled``, whether the view can be disabled (in the website interface) and its default status. If unset, the view is always enabled." msgstr "" -#: ../../content/developer/reference/backend/data.rst:266 +#: ../../content/developer/reference/backend/data.rst:263 msgid "CSV data files" msgstr "" -#: ../../content/developer/reference/backend/data.rst:268 +#: ../../content/developer/reference/backend/data.rst:265 msgid "XML data files are flexible and self-descriptive, but very verbose when creating a number of simple records of the same model in bulk." msgstr "" -#: ../../content/developer/reference/backend/data.rst:271 +#: ../../content/developer/reference/backend/data.rst:268 msgid "For this case, data files can also use csv_, this is often the case for :ref:`access rights `:" msgstr "" -#: ../../content/developer/reference/backend/data.rst:274 +#: ../../content/developer/reference/backend/data.rst:271 msgid "the file name is :file:`{model_name}.csv`" msgstr "" -#: ../../content/developer/reference/backend/data.rst:275 +#: ../../content/developer/reference/backend/data.rst:272 msgid "the first row lists the fields to write, with the special field ``id`` for :term:`external identifiers` (used for creation or update)" msgstr "" -#: ../../content/developer/reference/backend/data.rst:277 +#: ../../content/developer/reference/backend/data.rst:274 msgid "each row thereafter creates a new record" msgstr "" -#: ../../content/developer/reference/backend/data.rst:279 +#: ../../content/developer/reference/backend/data.rst:276 msgid "Here's the first lines of the data file defining country states ``res.country.state.csv``" msgstr "" -#: ../../content/developer/reference/backend/data.rst:285 +#: ../../content/developer/reference/backend/data.rst:282 msgid "rendered in a more readable format:" msgstr "" @@ -16140,23 +16115,23 @@ msgstr "" msgid "CO" msgstr "" -#: ../../content/developer/reference/backend/data.rst:292 +#: ../../content/developer/reference/backend/data.rst:289 msgid "For each row (record):" msgstr "" -#: ../../content/developer/reference/backend/data.rst:294 +#: ../../content/developer/reference/backend/data.rst:291 msgid "the first column is the :term:`external id` of the record to create or update" msgstr "" -#: ../../content/developer/reference/backend/data.rst:296 +#: ../../content/developer/reference/backend/data.rst:293 msgid "the second column is the :term:`external id` of the country object to link to (country objects must have been defined beforehand)" msgstr "" -#: ../../content/developer/reference/backend/data.rst:298 +#: ../../content/developer/reference/backend/data.rst:295 msgid "the third column is the ``name`` field for ``res.country.state``" msgstr "" -#: ../../content/developer/reference/backend/data.rst:299 +#: ../../content/developer/reference/backend/data.rst:296 msgid "the fourth column is the ``code`` field for ``res.country.state``" msgstr "" @@ -16257,15 +16232,27 @@ msgid "The request object is automatically set on :data:`odoo.http.request` at t msgstr "" #: ../../../odoo/odoo/http.py:docstring of odoo.http.Request:1 -msgid "Wrapper around the incomming HTTP request with deserialized request parameters, session utilities and request dispatching logic." +msgid "Wrapper around the incoming HTTP request with deserialized request parameters, session utilities and request dispatching logic." msgstr "" #: ../../../odoo/odoo/http.py:docstring of odoo.http.Request.update_env:1 msgid "Update the environment of the current request." msgstr "" +#: ../../../odoo/odoo/http.py:docstring of odoo.http.Request.update_env:3 +msgid "optional user/user id to change the current user" +msgstr "" + +#: ../../../odoo/odoo/http.py:docstring of odoo.http.Request.update_env:5 +msgid "optional context dictionary to change the current context" +msgstr "" + +#: ../../../odoo/odoo/http.py:docstring of odoo.http.Request.update_env:6 +msgid "optional boolean to change the superuser mode" +msgstr "" + #: ../../../odoo/odoo/http.py:docstring of odoo.http.Request.update_context:1 -msgid "Override the environment context of the current request with the values of ``overrides``. To replace the entire context, please use :meth:`~update_env`: instead." +msgid "Override the environment context of the current request with the values of ``overrides``. To replace the entire context, please use :meth:`~update_env` instead." msgstr "" #: ../../../odoo/odoo/http.py:docstring of odoo.http.Request.geoip:1 @@ -16273,7 +16260,7 @@ msgid "Get the remote address geolocalisation." msgstr "" #: ../../../odoo/odoo/http.py:docstring of odoo.http.Request.geoip:3 -msgid "When geolocalization is successful, the return value is a dictionary whoose format is:" +msgid "When geolocalization is successful, the return value is a dictionary whose format is:" msgstr "" #: ../../../odoo/odoo/http.py:docstring of odoo.http.Request.geoip:8 @@ -16333,7 +16320,6 @@ msgstr "" #: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.read:0 #: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.read_group:0 #: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.fields_get:0 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.get_view:0 #: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.name_get:0 #: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.get_metadata:0 #: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.mapped:0 @@ -16345,6 +16331,32 @@ msgstr "" #: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.iterate:0 #: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.randint:0 #: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.randomize:0 +#: ../../../odoo/odoo/addons/base/models/ir_ui_view.py:docstring of odoo.addons.base.models.ir_ui_view.Model.get_view:0 +#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._compute_fees:0 +#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._get_compatible_providers:0 +#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._get_redirect_form_view:0 +#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._get_validation_amount:0 +#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._get_validation_currency:0 +#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._is_tokenization_required:0 +#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._should_build_inline_form:0 +#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._get_removal_values:0 +#: ../../../odoo/addons/payment/models/payment_token.py:docstring of odoo.addons.payment.models.payment_token.PaymentToken._build_display_name:0 +#: ../../../odoo/addons/payment/models/payment_token.py:docstring of odoo.addons.payment.models.payment_token.PaymentToken._get_specific_create_values:0 +#: ../../../odoo/addons/payment/models/payment_token.py:docstring of odoo.addons.payment.models.payment_token.PaymentToken.get_linked_records_info:0 +#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._compute_reference:0 +#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._compute_reference_prefix:0 +#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._get_post_processing_values:0 +#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._get_specific_create_values:0 +#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._get_specific_processing_values:0 +#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._get_specific_rendering_values:0 +#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._get_tx_from_notification_data:0 +#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._handle_notification_data:0 +#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._send_refund_request:0 +#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._set_authorized:0 +#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._set_canceled:0 +#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._set_done:0 +#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._set_error:0 +#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._set_pending:0 msgid "Return type" msgstr "" @@ -16476,7 +16488,7 @@ msgid "In addition, it is possible to pass a context that replaces the session c msgstr "" #: ../../../odoo/odoo/http.py:docstring of odoo.http.JsonRPCDispatcher.dispatch:16 -msgid "Sucessful request::" +msgid "Successful request::" msgstr "" #: ../../../odoo/odoo/http.py:docstring of odoo.http.JsonRPCDispatcher.dispatch:22 @@ -16484,12 +16496,12 @@ msgid "Request producing a error::" msgstr "" #: ../../../odoo/odoo/http.py:docstring of odoo.http.JsonRPCDispatcher.handle_error:1 -msgid "Handle any exception that occured while dispatching a request to a `type='json'` route. Also handle exceptions that occured when no route matched the request path, that no fallback page could be delivered and that the request ``Content-Type`` was json." +msgid "Handle any exception that occurred while dispatching a request to a `type='json'` route. Also handle exceptions that occurred when no route matched the request path, that no fallback page could be delivered and that the request ``Content-Type`` was json." msgstr "" #: ../../../odoo/odoo/http.py:docstring of odoo.http.JsonRPCDispatcher.handle_error:6 #: ../../../odoo/odoo/http.py:docstring of odoo.http.HttpDispatcher.handle_error:7 -msgid "the exception that occured." +msgid "the exception that occurred." msgstr "" #: ../../../odoo/odoo/http.py:docstring of odoo.http.JsonRPCDispatcher.handle_error:7 @@ -16502,13 +16514,17 @@ msgid "Perform http-related actions such as deserializing the request body and q msgstr "" #: ../../../odoo/odoo/http.py:docstring of odoo.http.HttpDispatcher.dispatch:5 -msgid "See :meth:`~odoo.http.Response.load`: method for the compatible endpoint return types." +msgid "See :meth:`~odoo.http.Response.load` method for the compatible endpoint return types." msgstr "" #: ../../../odoo/odoo/http.py:docstring of odoo.http.HttpDispatcher.handle_error:1 msgid "Handle any exception that occurred while dispatching a request to a `type='http'` route. Also handle exceptions that occurred when no route matched the request path, when no fallback page could be delivered and that the request ``Content-Type`` was not json." msgstr "" +#: ../../../odoo/odoo/http.py:docstring of odoo.http.HttpDispatcher.handle_error:9 +msgid ":class:`werkzeug.wrapper.Response`" +msgstr "" + #: ../../../odoo/odoo/http.py:docstring of odoo.http.Response:1 msgid "Outgoing HTTP response with body, status, headers and qweb support. In addition to the :class:`werkzeug.wrappers.Response` parameters, this class's constructor can take the following additional parameters for QWeb Lazy Rendering." msgstr "" @@ -17040,7 +17056,7 @@ msgid "link type to be generated; can be any of these values:" msgstr "" #: ../../content/developer/reference/backend/mixins.rst:405 -#: ../../content/developer/reference/backend/views.rst:617 +#: ../../content/developer/reference/backend/views.rst:632 msgid "``view``" msgstr "" @@ -17062,8 +17078,8 @@ msgstr "" #: ../../content/developer/reference/backend/mixins.rst:411 #: ../../content/developer/reference/backend/mixins.rst:413 -#: ../../content/developer/reference/backend/views.rst:1638 -#: ../../content/developer/reference/backend/views.rst:1640 +#: ../../content/developer/reference/backend/views.rst:1653 +#: ../../content/developer/reference/backend/views.rst:1655 msgid "self-explanatory" msgstr "" @@ -18037,15 +18053,11 @@ msgstr "" msgid "Alongside a :attr:`~.parent_path` field, sets up an indexed storage of the tree structure of records, to enable faster hierarchical queries on the records of the current model using the ``child_of`` and ``parent_of`` domain operators." msgstr "" -#: ../../docstring of odoo.models.BaseModel._date_name:1 -msgid "field to use for default calendar view" -msgstr "" - #: ../../docstring of odoo.models.BaseModel._fold_name:1 msgid "field to determine folded groups in kanban views" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:90 +#: ../../content/developer/reference/backend/orm.rst:89 msgid "AbstractModel" msgstr "" @@ -18061,7 +18073,7 @@ msgstr "" msgid "The system will later instantiate the class once per database (on which the class' module is installed)." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:103 +#: ../../content/developer/reference/backend/orm.rst:102 msgid "TransientModel" msgstr "" @@ -18113,7 +18125,8 @@ msgstr "" msgid "the 10 rows that have been created/changed the last 5 minutes will NOT be deleted" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:115 +#: ../../content/developer/reference/backend/orm.rst:114 +#: ../../content/developer/reference/backend/orm.rst:855 #: ../../content/developer/reference/backend/views.rst:36 msgid "Fields" msgstr "" @@ -18319,30 +18332,34 @@ msgid "whether the field should be recomputed as superuser to bypass access righ msgstr "" #: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Field:132 -msgid "name of a method that inverses the field (optional)" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Field:134 -msgid "name of a method that implement search on the field (optional)" +msgid "whether the field has recursive dependencies (the field ``X`` has a dependency like ``parent_id.X``); declaring a field recursive must be explicit to guarantee that recomputation is correct" msgstr "" #: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Field:136 -msgid "sequence of field names" +msgid "name of a method that inverses the field (optional)" msgstr "" #: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Field:138 -msgid "whether the field must be exported by default in an import-compatible export .. seealso:: :ref:`Advanced fields/Related fields `" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Field:138 -msgid "whether the field must be exported by default in an import-compatible export" +msgid "name of a method that implement search on the field (optional)" msgstr "" #: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Field:140 +msgid "sequence of field names" +msgstr "" + +#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Field:142 +msgid "whether the field must be exported by default in an import-compatible export .. seealso:: :ref:`Advanced fields/Related fields `" +msgstr "" + +#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Field:142 +msgid "whether the field must be exported by default in an import-compatible export" +msgstr "" + +#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Field:144 msgid ":ref:`Advanced fields/Related fields `" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:127 +#: ../../content/developer/reference/backend/orm.rst:126 msgid "Basic Fields" msgstr "" @@ -18426,7 +18443,7 @@ msgstr "" msgid "Encapsulates an :class:`int`." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:140 +#: ../../content/developer/reference/backend/orm.rst:139 msgid "Advanced Fields" msgstr "" @@ -18487,7 +18504,7 @@ msgid "the maximum height of the image (default: ``0``, no limit)" msgstr "" #: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Image:8 -msgid "whether the image resolution should be verified to ensure it doesn't go over the maximum image resolution (default: ``True``). See :class:`odoo.tools.image.ImageProcess` for maximum image resolution (default: ``45e6``)." +msgid "whether the image resolution should be verified to ensure it doesn't go over the maximum image resolution (default: ``True``). See :class:`odoo.tools.image.ImageProcess` for maximum image resolution (default: ``50e6``)." msgstr "" #: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Image:14 @@ -18566,79 +18583,79 @@ msgstr "" msgid "Very similar to :class:`Char` but used for longer contents, does not have a size and usually displayed as a multiline text box." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:157 +#: ../../content/developer/reference/backend/orm.rst:156 msgid "Date(time) Fields" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:159 +#: ../../content/developer/reference/backend/orm.rst:158 msgid ":class:`Dates ` and :class:`Datetimes ` are very important fields in any kind of business application. Their misuse can create invisible yet painful bugs, this section aims to provide Odoo developers with the knowledge required to avoid misusing these fields." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:165 +#: ../../content/developer/reference/backend/orm.rst:164 msgid "When assigning a value to a Date/Datetime field, the following options are valid:" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:167 +#: ../../content/developer/reference/backend/orm.rst:166 msgid "A `date` or `datetime` object." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:168 +#: ../../content/developer/reference/backend/orm.rst:167 msgid "A string in the proper server format:" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:170 +#: ../../content/developer/reference/backend/orm.rst:169 msgid "``YYYY-MM-DD`` for :class:`~odoo.fields.Date` fields," msgstr "" -#: ../../content/developer/reference/backend/orm.rst:171 +#: ../../content/developer/reference/backend/orm.rst:170 msgid "``YYYY-MM-DD HH:MM:SS`` for :class:`~odoo.fields.Datetime` fields." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:173 +#: ../../content/developer/reference/backend/orm.rst:172 msgid "`False` or `None`." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:175 +#: ../../content/developer/reference/backend/orm.rst:174 msgid "The Date and Datetime fields class have helper methods to attempt conversion into a compatible type:" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:178 +#: ../../content/developer/reference/backend/orm.rst:177 msgid ":func:`~odoo.fields.Date.to_date` will convert to a :class:`datetime.date`" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:179 +#: ../../content/developer/reference/backend/orm.rst:178 msgid ":func:`~odoo.fields.Datetime.to_datetime` will convert to a :class:`datetime.datetime`." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:183 +#: ../../content/developer/reference/backend/orm.rst:182 msgid "To parse date/datetimes coming from external sources::" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:187 +#: ../../content/developer/reference/backend/orm.rst:186 msgid "Date / Datetime comparison best practices:" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:189 +#: ../../content/developer/reference/backend/orm.rst:188 msgid "Date fields can **only** be compared to date objects." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:190 +#: ../../content/developer/reference/backend/orm.rst:189 msgid "Datetime fields can **only** be compared to datetime objects." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:192 +#: ../../content/developer/reference/backend/orm.rst:191 msgid "Strings representing dates and datetimes can be compared between each other, however the result may not be the expected result, as a datetime string will always be greater than a date string, therefore this practice is **heavily** discouraged." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:198 +#: ../../content/developer/reference/backend/orm.rst:197 msgid "Common operations with dates and datetimes such as addition, subtraction or fetching the start/end of a period are exposed through both :class:`~odoo.fields.Date` and :class:`~odoo.fields.Datetime`. These helpers are also available by importing `odoo.tools.date_utils`." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:203 +#: ../../content/developer/reference/backend/orm.rst:202 msgid "Timezones" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:205 +#: ../../content/developer/reference/backend/orm.rst:204 msgid "Datetime fields are stored as `timestamp without timezone` columns in the database and are stored in the UTC timezone. This is by design, as it makes the Odoo database independent from the timezone of the hosting server system. Timezone conversion is managed entirely by the client side." msgstr "" @@ -18812,7 +18829,7 @@ msgstr "" msgid "Return the current day, at midnight (00:00:00)." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:218 +#: ../../content/developer/reference/backend/orm.rst:217 msgid "Relational Fields" msgstr "" @@ -18994,7 +19011,7 @@ msgstr "" msgid "Return the command triple :samp:`(SET, 0, {ids})`" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:232 +#: ../../content/developer/reference/backend/orm.rst:231 msgid "Pseudo-relational fields" msgstr "" @@ -19019,172 +19036,172 @@ msgstr "" msgid "name of the :class:`Char` where the model name is stored." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:243 +#: ../../content/developer/reference/backend/orm.rst:242 msgid "Fields can be computed (instead of read straight from the database) using the ``compute`` parameter. **It must assign the computed value to the field**. If it uses the values of other *fields*, it should specify those fields using :func:`~odoo.api.depends`. ::" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:256 +#: ../../content/developer/reference/backend/orm.rst:255 msgid "dependencies can be dotted paths when using sub-fields::" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:263 +#: ../../content/developer/reference/backend/orm.rst:262 msgid "computed fields are not stored by default, they are computed and returned when requested. Setting ``store=True`` will store them in the database and automatically enable searching." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:266 +#: ../../content/developer/reference/backend/orm.rst:265 msgid "searching on a computed field can also be enabled by setting the ``search`` parameter. The value is a method name returning a :ref:`reference/orm/domains`. ::" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:277 +#: ../../content/developer/reference/backend/orm.rst:276 msgid "The search method is invoked when processing domains before doing an actual search on the model. It must return a domain equivalent to the condition: ``field operator value``." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:283 +#: ../../content/developer/reference/backend/orm.rst:282 msgid "Computed fields are readonly by default. To allow *setting* values on a computed field, use the ``inverse`` parameter. It is the name of a function reversing the computation and setting the relevant fields::" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:299 +#: ../../content/developer/reference/backend/orm.rst:298 msgid "multiple fields can be computed at the same time by the same method, just use the same method on all fields and set all of them::" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:315 +#: ../../content/developer/reference/backend/orm.rst:314 msgid "While it is possible to use the same compute method for multiple fields, it is not recommended to do the same for the inverse method." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:319 +#: ../../content/developer/reference/backend/orm.rst:318 msgid "During the computation of the inverse, **all** fields that use said inverse are protected, meaning that they can't be computed, even if their value is not in the cache." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:323 +#: ../../content/developer/reference/backend/orm.rst:322 msgid "If any of those fields is accessed and its value is not in cache, the ORM will simply return a default value of `False` for these fields. This means that the value of the inverse fields (other than the one triggering the inverse method) may not give their correct value and this will probably break the expected behavior of the inverse method." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:332 +#: ../../content/developer/reference/backend/orm.rst:331 msgid "Related fields" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:334 +#: ../../content/developer/reference/backend/orm.rst:333 msgid "A special case of computed fields are *related* (proxy) fields, which provide the value of a sub-field on the current record. They are defined by setting the ``related`` parameter and like regular computed fields they can be stored::" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:341 +#: ../../content/developer/reference/backend/orm.rst:340 msgid "The value of a related field is given by following a sequence of relational fields and reading a field on the reached model. The complete sequence of fields to traverse is specified by the ``related`` attribute." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:345 +#: ../../content/developer/reference/backend/orm.rst:344 msgid "Some field attributes are automatically copied from the source field if they are not redefined: ``string``, ``help``, ``required`` (only if all fields in the sequence are required), ``groups``, ``digits``, ``size``, ``translate``, ``sanitize``, ``selection``, ``comodel_name``, ``domain``, ``context``. All semantic-free attributes are copied from the source field." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:352 +#: ../../content/developer/reference/backend/orm.rst:351 msgid "By default, related fields are:" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:354 +#: ../../content/developer/reference/backend/orm.rst:353 msgid "not stored" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:355 +#: ../../content/developer/reference/backend/orm.rst:354 msgid "not copied" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:356 +#: ../../content/developer/reference/backend/orm.rst:355 msgid "readonly" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:357 +#: ../../content/developer/reference/backend/orm.rst:356 msgid "computed in superuser mode" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:359 +#: ../../content/developer/reference/backend/orm.rst:358 msgid "Add the attribute ``store=True`` to make it stored, just like computed fields. Related fields are automatically recomputed when their dependencies are modified." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:365 +#: ../../content/developer/reference/backend/orm.rst:364 msgid "You can specify precise field dependencies if you don't want the related field to be recomputed on any dependency change::" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:376 +#: ../../content/developer/reference/backend/orm.rst:375 msgid "You cannot chain :class:`~odoo.fields.Many2many` or :class:`~odoo.fields.One2many` fields in ``related`` fields dependencies." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:378 +#: ../../content/developer/reference/backend/orm.rst:377 msgid "``related`` can be used to refer to a :class:`~odoo.fields.One2many` or :class:`~odoo.fields.Many2many` field on another model on the condition that it's done through a ``Many2one`` relation on the current model. ``One2many`` and ``Many2many`` are not supported and the results will not be aggregated correctly::" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:401 +#: ../../content/developer/reference/backend/orm.rst:400 msgid "Automatic fields" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:405 +#: ../../content/developer/reference/backend/orm.rst:404 msgid "Identifier :class:`field `" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:407 +#: ../../content/developer/reference/backend/orm.rst:406 msgid "If length of current recordset is 1, return id of unique record in it." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:409 +#: ../../content/developer/reference/backend/orm.rst:408 msgid "Raise an Error otherwise." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:414 +#: ../../content/developer/reference/backend/orm.rst:413 msgid "Access Log fields" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:416 +#: ../../content/developer/reference/backend/orm.rst:415 msgid "These fields are automatically set and updated if :attr:`~odoo.models.BaseModel._log_access` is enabled. It can be disabled to avoid creating or updating those fields on tables for which they are not useful." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:421 +#: ../../content/developer/reference/backend/orm.rst:420 msgid "By default, :attr:`~odoo.models.BaseModel._log_access` is set to the same value as :attr:`~odoo.models.BaseModel._auto`" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:426 +#: ../../content/developer/reference/backend/orm.rst:425 msgid "Stores when the record was created, :class:`~odoo.fields.Datetime`" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:430 +#: ../../content/developer/reference/backend/orm.rst:429 msgid "Stores *who* created the record, :class:`~odoo.fields.Many2one` to a ``res.users``." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:435 +#: ../../content/developer/reference/backend/orm.rst:434 msgid "Stores when the record was last updated, :class:`~odoo.fields.Datetime`" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:439 +#: ../../content/developer/reference/backend/orm.rst:438 msgid "Stores who last updated the record, :class:`~odoo.fields.Many2one` to a ``res.users``." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:442 +#: ../../content/developer/reference/backend/orm.rst:441 msgid ":attr:`~odoo.models.BaseModel._log_access` *must* be enabled on :class:`~odoo.models.TransientModel`." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:448 +#: ../../content/developer/reference/backend/orm.rst:447 msgid "Reserved Field names" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:450 +#: ../../content/developer/reference/backend/orm.rst:449 msgid "A few field names are reserved for pre-defined behaviors beyond that of automated fields. They should be defined on a model when the related behavior is desired:" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:456 +#: ../../content/developer/reference/backend/orm.rst:455 msgid "default value for :attr:`~odoo.models.BaseModel._rec_name`, used to display records in context where a representative \"naming\" is necessary." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:460 -#: ../../content/developer/reference/backend/orm.rst:504 +#: ../../content/developer/reference/backend/orm.rst:459 +#: ../../content/developer/reference/backend/orm.rst:503 msgid ":class:`~odoo.fields.Char`" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:464 +#: ../../content/developer/reference/backend/orm.rst:463 msgid "toggles the global visibility of the record, if ``active`` is set to ``False`` the record is invisible in most searches and listing." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:467 +#: ../../content/developer/reference/backend/orm.rst:466 msgid ":class:`~odoo.fields.Boolean`" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:469 +#: ../../content/developer/reference/backend/orm.rst:468 msgid "Special methods:" msgstr "" @@ -19200,103 +19217,103 @@ msgstr "" msgid "Sets :attr:`active` to ``True`` on a recordset, by calling :meth:`toggle_active` on its currently inactive records." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:484 +#: ../../content/developer/reference/backend/orm.rst:483 msgid "lifecycle stages of the object, used by the ``states`` attribute on :class:`fields `." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:487 +#: ../../content/developer/reference/backend/orm.rst:486 msgid ":class:`~odoo.fields.Selection`" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:491 +#: ../../content/developer/reference/backend/orm.rst:490 msgid "default_value of :attr:`~._parent_name`, used to organize records in a tree structure and enables the ``child_of`` and ``parent_of`` operators in domains." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:495 +#: ../../content/developer/reference/backend/orm.rst:494 msgid ":class:`~odoo.fields.Many2one`" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:499 +#: ../../content/developer/reference/backend/orm.rst:498 msgid "When :attr:`~._parent_store` is set to True, used to store a value reflecting the tree structure of :attr:`~._parent_name`, and to optimize the operators ``child_of`` and ``parent_of`` in search domains. It must be declared with ``index=True`` for proper operation." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:508 +#: ../../content/developer/reference/backend/orm.rst:507 msgid "Main field name used for Odoo multi-company behavior." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:510 +#: ../../content/developer/reference/backend/orm.rst:509 msgid "Used by `:meth:~odoo.models._check_company` to check multi company consistency. Defines whether a record is shared between companies (no value) or only accessible by the users of a given company." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:514 +#: ../../content/developer/reference/backend/orm.rst:513 msgid ":class:`~odoo.fields.Many2one` :type: :class:`~odoo.addons.base.models.res_company`" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:518 +#: ../../content/developer/reference/backend/orm.rst:517 msgid "Recordsets" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:520 +#: ../../content/developer/reference/backend/orm.rst:519 msgid "Interactions with models and records are performed through recordsets, an ordered collection of records of the same model." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:523 +#: ../../content/developer/reference/backend/orm.rst:522 msgid "Contrary to what the name implies, it is currently possible for recordsets to contain duplicates. This may change in the future." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:526 +#: ../../content/developer/reference/backend/orm.rst:525 msgid "Methods defined on a model are executed on a recordset, and their ``self`` is a recordset::" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:536 +#: ../../content/developer/reference/backend/orm.rst:535 msgid "Iterating on a recordset will yield new sets of *a single record* (\"singletons\"), much like iterating on a Python string yields strings of a single characters::" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:546 +#: ../../content/developer/reference/backend/orm.rst:545 msgid "Field access" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:548 +#: ../../content/developer/reference/backend/orm.rst:547 msgid "Recordsets provide an \"Active Record\" interface: model fields can be read and written directly from the record as attributes." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:553 +#: ../../content/developer/reference/backend/orm.rst:552 msgid "When accessing non-relational fields on a recordset of potentially multiple records, use :meth:`~odoo.models.BaseModel.mapped`::" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:558 +#: ../../content/developer/reference/backend/orm.rst:557 msgid "Field values can also be accessed like dict items, which is more elegant and safer than ``getattr()`` for dynamic field names. Setting a field's value triggers an update to the database::" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:573 +#: ../../content/developer/reference/backend/orm.rst:572 msgid "Trying to read a field on multiple records will raise an error for non relational fields." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:576 +#: ../../content/developer/reference/backend/orm.rst:575 msgid "Accessing a relational field (:class:`~odoo.fields.Many2one`, :class:`~odoo.fields.One2many`, :class:`~odoo.fields.Many2many`) *always* returns a recordset, empty if the field is not set." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:581 +#: ../../content/developer/reference/backend/orm.rst:580 msgid "Record cache and prefetching" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:583 +#: ../../content/developer/reference/backend/orm.rst:582 msgid "Odoo maintains a cache for the fields of the records, so that not every field access issues a database request, which would be terrible for performance. The following example queries the database only for the first statement::" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:590 +#: ../../content/developer/reference/backend/orm.rst:589 msgid "To avoid reading one field on one record at a time, Odoo *prefetches* records and fields following some heuristics to get good performance. Once a field must be read on a given record, the ORM actually reads that field on a larger recordset, and stores the returned values in cache for later use. The prefetched recordset is usually the recordset from which the record comes by iteration. Moreover, all simple stored fields (boolean, integer, float, char, text, date, datetime, selection, many2one) are fetched altogether; they correspond to the columns of the model's table, and are fetched efficiently in the same query." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:599 +#: ../../content/developer/reference/backend/orm.rst:598 msgid "Consider the following example, where ``partners`` is a recordset of 1000 records. Without prefetching, the loop would make 2000 queries to the database. With prefetching, only one query is made::" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:608 +#: ../../content/developer/reference/backend/orm.rst:607 msgid "The prefetching also works on *secondary records*: when relational fields are read, their values (which are records) are subscribed for future prefetching. Accessing one of those secondary records prefetches all secondary records from the same model. This makes the following example generate only two queries, one for partners and one for countries::" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:623 +#: ../../content/developer/reference/backend/orm.rst:622 msgid "Method decorators" msgstr "" @@ -19476,53 +19493,53 @@ msgstr "" msgid "Those decorators are automatically *inherited*: a method that overrides a decorated existing method will be decorated with the same ``@returns(model)``." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:637 +#: ../../content/developer/reference/backend/orm.rst:636 msgid "With sphinx 2.0 : autodecorator" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:639 +#: ../../content/developer/reference/backend/orm.rst:638 msgid "Add in Views reference * It is possible to suppress the trigger from a specific field by adding ``on_change=\"0\"`` in a view::" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:645 +#: ../../content/developer/reference/backend/orm.rst:644 msgid "will not trigger any interface update when the field is edited by the user, even if there are function fields or explicit onchange depending on that field." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:652 +#: ../../content/developer/reference/backend/orm.rst:651 #: ../../content/developer/reference/frontend/framework_overview.rst:96 msgid "Environment" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:654 -msgid "The :class:`~odoo.api.Environment` stores various contextual data used by the ORM: the database cursor (for database queries), the current user (for access rights checking) and the current context (storing arbitrary metadata). The environment also stores caches." +#: ../../../odoo/odoo/api.py:docstring of odoo.api.Environment:1 +msgid "The environment stores various contextual data used by the ORM:" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:659 -msgid "All recordsets have an environment, which is immutable, can be accessed using :attr:`~odoo.models.Model.env` and gives access to:" +#: ../../../odoo/odoo/api.py:docstring of odoo.api.Environment:3 +msgid ":attr:`cr`: the current database cursor (for database queries);" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:662 -msgid "the current user (:attr:`~odoo.api.Environment.user`)" +#: ../../../odoo/odoo/api.py:docstring of odoo.api.Environment:4 +msgid ":attr:`uid`: the current user id (for access rights checks);" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:663 -msgid "the cursor (:attr:`~odoo.api.Environment.cr`)" +#: ../../../odoo/odoo/api.py:docstring of odoo.api.Environment:5 +msgid ":attr:`context`: the current context dictionary (arbitrary metadata);" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:664 -msgid "the superuser flag (:attr:`~odoo.api.Environment.su`)" +#: ../../../odoo/odoo/api.py:docstring of odoo.api.Environment:6 +msgid ":attr:`su`: whether in superuser mode." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:665 -msgid "or the context (:attr:`~odoo.api.Environment.context`)" +#: ../../../odoo/odoo/api.py:docstring of odoo.api.Environment:8 +msgid "It provides access to the registry by implementing a mapping from model names to models. It also holds a cache for records, and a data structure to manage recomputations." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:676 -msgid "When creating a recordset from an other recordset, the environment is inherited. The environment can be used to get an empty recordset in an other model, and query that model::" +#: ../../content/developer/reference/backend/orm.rst:668 +msgid "When creating a recordset from an other recordset, the environment is inherited. The environment can be used to get an empty recordset in an other model, and query that model:" msgstr "" -#: ../../../odoo/odoo/api.py:docstring of odoo.api.Environment.ref:1 -msgid "Return the record corresponding to the given ``xml_id``." +#: ../../content/developer/reference/backend/orm.rst:679 +msgid "Some lazy properties are available to access the environment (contextual) data:" msgstr "" #: ../../docstring of odoo.api.Environment.lang:1 @@ -19538,7 +19555,7 @@ msgid "current user - sudoed" msgstr "" #: ../../docstring of odoo.api.Environment.user:4 -msgid ":class:`~odoo.addons.base.models.res_users`" +msgid ":class:`res.users record<~odoo.addons.base.models.res_users.Users>`" msgstr "" #: ../../docstring of odoo.api.Environment.company:1 @@ -19558,6 +19575,10 @@ msgstr "" msgid "current company (default=`self.user.company_id`), with the current environment" msgstr "" +#: ../../docstring of odoo.api.Environment.company:8 +msgid ":class:`res.company record<~odoo.addons.base.models.res_company.Company>`" +msgstr "" + #: ../../docstring of odoo.api.Environment.company:12 #: ../../docstring of odoo.api.Environment.companies:12 msgid "No sanity checks applied in sudo mode ! When in sudo mode, a user can access any company, even if not in his allowed companies." @@ -19580,7 +19601,47 @@ msgstr "" msgid "current companies (default=`self.user.company_ids`), with the current environment" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:700 +#: ../../docstring of odoo.api.Environment.companies:8 +msgid ":class:`res.company recordset<~odoo.addons.base.models.res_company.Company>`" +msgstr "" + +#: ../../content/developer/reference/backend/orm.rst:687 +msgid "Useful environment methods" +msgstr "" + +#: ../../../odoo/odoo/api.py:docstring of odoo.api.Environment.ref:1 +msgid "Return the record corresponding to the given ``xml_id``." +msgstr "" + +#: ../../../odoo/odoo/api.py:docstring of odoo.api.Environment.ref:3 +msgid "record xml_id, under the format ````" +msgstr "" + +#: ../../../odoo/odoo/api.py:docstring of odoo.api.Environment.ref:4 +msgid "whether the method should raise if record is not found" +msgstr "" + +#: ../../../odoo/odoo/api.py:docstring of odoo.api.Environment.ref:5 +msgid "Found record or None" +msgstr "" + +#: ../../../odoo/odoo/api.py:docstring of odoo.api.Environment.ref:6 +msgid "if record wasn't found and ``raise_if_not_found`` is True" +msgstr "" + +#: ../../../odoo/odoo/api.py:docstring of odoo.api.Environment.is_superuser:1 +msgid "Return whether the environment is in superuser mode." +msgstr "" + +#: ../../../odoo/odoo/api.py:docstring of odoo.api.Environment.is_admin:1 +msgid "Return whether the current user has group \"Access Rights\", or is in superuser mode." +msgstr "" + +#: ../../../odoo/odoo/api.py:docstring of odoo.api.Environment.is_system:1 +msgid "Return whether the current user has group \"Settings\", or is in superuser mode." +msgstr "" + +#: ../../content/developer/reference/backend/orm.rst:695 msgid "Altering the environment" msgstr "" @@ -19629,23 +19690,23 @@ msgstr "" msgid "It may lead to un-intuitive results in methods which select one record among many - for example getting the default company, or selecting a Bill of Materials." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:717 +#: ../../content/developer/reference/backend/orm.rst:712 msgid "SQL Execution" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:719 +#: ../../content/developer/reference/backend/orm.rst:714 msgid "The :attr:`~odoo.api.Environment.cr` attribute on environments is the cursor for the current database transaction and allows executing SQL directly, either for queries which are difficult to express using the ORM (e.g. complex joins) or for performance reasons::" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:727 +#: ../../content/developer/reference/backend/orm.rst:722 msgid "Executing raw SQL bypasses the ORM and, by consequent, Odoo security rules. Please make sure your queries are sanitized when using user input and prefer using ORM utilities if you don't really need to use SQL queries." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:731 +#: ../../content/developer/reference/backend/orm.rst:726 msgid "One important thing to know about models is that they don't necessarily perform database updates right away. Indeed, for performance reasons, the framework delays the recomputation of fields after modifying records. And some database updates are delayed, too. Therefore, before querying the database, one has to make sure that it contains the relevant data for the query. This operation is called *flushing* and performs the expected database updates." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:748 +#: ../../content/developer/reference/backend/orm.rst:743 msgid "Before every SQL query, one has to flush the data needed for that query. There are three levels for flushing, each with its own API. One can flush either everything, all the records of a model, or some specific records. Because delaying updates improves performance in general, we recommend to be *specific* when flushing." msgstr "" @@ -19666,11 +19727,11 @@ msgstr "" msgid "Process the pending computations and database updates on the records ``self``. When the parameter is given, the method guarantees that at least the given fields on records ``self`` are flushed to the database. More fields and records can be flushed, though." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:760 +#: ../../content/developer/reference/backend/orm.rst:755 msgid "Because models use the same cursor and the :class:`~odoo.api.Environment` holds various caches, these caches must be invalidated when *altering* the database in raw SQL, or further uses of models may become incoherent. It is necessary to clear caches when using ``CREATE``, ``UPDATE`` or ``DELETE`` in SQL, but not ``SELECT`` (which simply reads the database)." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:778 +#: ../../content/developer/reference/backend/orm.rst:773 msgid "Just like flushing, one can invalidate either the whole cache, the cache of all the records of a model, or the cache of specific records. One can even invalidate specific fields on some records or all records of a model. As the cache improves performance in general, we recommend to be *specific* when invalidating." msgstr "" @@ -19697,11 +19758,11 @@ msgstr "" msgid "Invalidate the cache of the records in ``self``, when the cached values no longer correspond to the database values. If the parameter is given, only the given fields on ``self`` are invalidated from cache." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:790 +#: ../../content/developer/reference/backend/orm.rst:785 msgid "The methods above keep the caches and the database consistent with each other. However, if computed field dependencies have been modified in the database, one has to inform the models for the computed fields to be recomputed. The only thing the framework needs to know is *what* fields have changed on *which* records." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:812 +#: ../../content/developer/reference/backend/orm.rst:807 msgid "One has to figure out which records have been modified. There are many ways to do this, possibly involving extra SQL queries. In the example above, we take advantage of the ``RETURNING`` clause of PostgreSQL to retrieve the information without an extra query. After making the cache consistent by invalidation, invoke the method ``modified`` on the modified records with the fields that have been updated." msgstr "" @@ -19721,15 +19782,15 @@ msgstr "" msgid "whether called before modifying records ``self``" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:825 +#: ../../content/developer/reference/backend/orm.rst:820 msgid "Common ORM methods" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:830 +#: ../../content/developer/reference/backend/orm.rst:825 msgid "Create/update" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:832 +#: ../../content/developer/reference/backend/orm.rst:827 msgid "api.model_create_multi information" msgstr "" @@ -19870,7 +19931,7 @@ msgstr "" msgid "Other non-relational fields use a string for value" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:845 +#: ../../content/developer/reference/backend/orm.rst:840 msgid "Search/Read" msgstr "" @@ -20035,10 +20096,6 @@ msgstr "" msgid "mapping to a dictionary with keys: \"from\" (inclusive) and \"to\" (exclusive) mapping to a string representation of the temporal bounds of the group" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:860 -msgid "Fields/Views" -msgstr "" - #: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.fields_get:1 msgid "Return the definition of each field." msgstr "" @@ -20059,252 +20116,212 @@ msgstr "" msgid "dictionary mapping field names to a dictionary mapping attributes to values." msgstr "" -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.get_view:1 -msgid "Get the detailed composition of the requested view like model, view architecture" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.get_view:3 -msgid "id of the view or None" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.get_view:4 -msgid "type of the view to return if view_id is None ('form', 'tree', ...)" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.get_view:5 -msgid "boolean options to return additional features: - bool mobile: true if the web client is currently using the responsive mobile view (to use kanban views instead of list views for x2many fields)" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.get_view:8 -msgid "composition of the requested view (including inherited views and extensions)" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.get_view:10 -msgid "* if the inherited view has unknown position to work with other than 'before', 'after', 'inside', 'replace' * if some tag other than 'position' is found in parent view" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.get_view:12 -msgid "if the inherited view has unknown position to work with other than 'before', 'after', 'inside', 'replace'" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.get_view:13 -msgid "if some tag other than 'position' is found in parent view" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.get_view:15 -msgid "if there is view type other than form, tree, calendar, search etc... defined on the structure" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.fields_view_get:3 -msgid "Use :meth:`~odoo.models.Model.get_view()` instead." -msgstr "" - -#: ../../content/developer/reference/backend/orm.rst:871 +#: ../../content/developer/reference/backend/orm.rst:862 msgid "Search domains" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:873 +#: ../../content/developer/reference/backend/orm.rst:864 msgid "A domain is a list of criteria, each criterion being a triple (either a ``list`` or a ``tuple``) of ``(field_name, operator, value)`` where:" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:879 +#: ../../content/developer/reference/backend/orm.rst:870 msgid "``field_name`` (``str``)" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:877 +#: ../../content/developer/reference/backend/orm.rst:868 msgid "a field name of the current model, or a relationship traversal through a :class:`~odoo.fields.Many2one` using dot-notation e.g. ``'street'`` or ``'partner_id.country'``" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:933 +#: ../../content/developer/reference/backend/orm.rst:924 msgid "``operator`` (``str``)" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:882 +#: ../../content/developer/reference/backend/orm.rst:873 msgid "an operator used to compare the ``field_name`` with the ``value``. Valid operators are:" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:885 +#: ../../content/developer/reference/backend/orm.rst:876 msgid "``=``" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:886 +#: ../../content/developer/reference/backend/orm.rst:877 msgid "equals to" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:887 +#: ../../content/developer/reference/backend/orm.rst:878 msgid "``!=``" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:888 +#: ../../content/developer/reference/backend/orm.rst:879 msgid "not equals to" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:889 +#: ../../content/developer/reference/backend/orm.rst:880 msgid "``>``" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:890 +#: ../../content/developer/reference/backend/orm.rst:881 msgid "greater than" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:891 +#: ../../content/developer/reference/backend/orm.rst:882 msgid "``>=``" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:892 +#: ../../content/developer/reference/backend/orm.rst:883 msgid "greater than or equal to" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:893 +#: ../../content/developer/reference/backend/orm.rst:884 msgid "``<``" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:894 +#: ../../content/developer/reference/backend/orm.rst:885 msgid "less than" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:895 +#: ../../content/developer/reference/backend/orm.rst:886 msgid "``<=``" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:896 +#: ../../content/developer/reference/backend/orm.rst:887 msgid "less than or equal to" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:898 +#: ../../content/developer/reference/backend/orm.rst:889 msgid "``=?``" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:898 +#: ../../content/developer/reference/backend/orm.rst:889 msgid "unset or equals to (returns true if ``value`` is either ``None`` or ``False``, otherwise behaves like ``=``)" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:902 +#: ../../content/developer/reference/backend/orm.rst:893 msgid "``=like``" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:901 +#: ../../content/developer/reference/backend/orm.rst:892 msgid "matches ``field_name`` against the ``value`` pattern. An underscore ``_`` in the pattern stands for (matches) any single character; a percent sign ``%`` matches any string of zero or more characters." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:905 +#: ../../content/developer/reference/backend/orm.rst:896 msgid "``like``" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:905 +#: ../../content/developer/reference/backend/orm.rst:896 msgid "matches ``field_name`` against the ``%value%`` pattern. Similar to ``=like`` but wraps ``value`` with '%' before matching" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:907 +#: ../../content/developer/reference/backend/orm.rst:898 msgid "``not like``" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:908 +#: ../../content/developer/reference/backend/orm.rst:899 msgid "doesn't match against the ``%value%`` pattern" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:909 +#: ../../content/developer/reference/backend/orm.rst:900 msgid "``ilike``" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:910 +#: ../../content/developer/reference/backend/orm.rst:901 msgid "case insensitive ``like``" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:911 +#: ../../content/developer/reference/backend/orm.rst:902 msgid "``not ilike``" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:912 +#: ../../content/developer/reference/backend/orm.rst:903 msgid "case insensitive ``not like``" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:913 +#: ../../content/developer/reference/backend/orm.rst:904 msgid "``=ilike``" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:914 +#: ../../content/developer/reference/backend/orm.rst:905 msgid "case insensitive ``=like``" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:916 +#: ../../content/developer/reference/backend/orm.rst:907 msgid "``in``" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:916 +#: ../../content/developer/reference/backend/orm.rst:907 msgid "is equal to any of the items from ``value``, ``value`` should be a list of items" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:918 +#: ../../content/developer/reference/backend/orm.rst:909 msgid "``not in``" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:919 +#: ../../content/developer/reference/backend/orm.rst:910 msgid "is unequal to all of the items from ``value``" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:925 +#: ../../content/developer/reference/backend/orm.rst:916 msgid "``child_of``" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:921 +#: ../../content/developer/reference/backend/orm.rst:912 msgid "is a child (descendant) of a ``value`` record (value can be either one item or a list of items)." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:924 -#: ../../content/developer/reference/backend/orm.rst:931 +#: ../../content/developer/reference/backend/orm.rst:915 +#: ../../content/developer/reference/backend/orm.rst:922 msgid "Takes the semantics of the model into account (i.e following the relationship field named by :attr:`~odoo.models.Model._parent_name`)." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:933 +#: ../../content/developer/reference/backend/orm.rst:924 msgid "``parent_of``" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:928 +#: ../../content/developer/reference/backend/orm.rst:919 msgid "is a parent (ascendant) of a ``value`` record (value can be either one item or a list of items)." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:936 +#: ../../content/developer/reference/backend/orm.rst:927 msgid "variable type, must be comparable (through ``operator``) to the named field." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:939 +#: ../../content/developer/reference/backend/orm.rst:930 msgid "Domain criteria can be combined using logical operators in *prefix* form:" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:942 +#: ../../content/developer/reference/backend/orm.rst:933 msgid "``'&'``" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:942 +#: ../../content/developer/reference/backend/orm.rst:933 msgid "logical *AND*, default operation to combine criteria following one another. Arity 2 (uses the next 2 criteria or combinations)." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:944 +#: ../../content/developer/reference/backend/orm.rst:935 msgid "``'|'``" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:945 +#: ../../content/developer/reference/backend/orm.rst:936 msgid "logical *OR*, arity 2." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:951 +#: ../../content/developer/reference/backend/orm.rst:942 msgid "``'!'``" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:947 +#: ../../content/developer/reference/backend/orm.rst:938 msgid "logical *NOT*, arity 1." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:949 +#: ../../content/developer/reference/backend/orm.rst:940 msgid "Mostly to negate combinations of criteria Individual criterion generally have a negative form (e.g. ``=`` -> ``!=``, ``<`` -> ``>=``) which is simpler than negating the positive." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:955 +#: ../../content/developer/reference/backend/orm.rst:946 msgid "To search for partners named *ABC*, from belgium or germany, whose language is not english::" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:963 +#: ../../content/developer/reference/backend/orm.rst:954 msgid "This domain is interpreted as:" msgstr "" @@ -20320,7 +20337,7 @@ msgstr "" msgid "if the record is default property for other records" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:979 +#: ../../content/developer/reference/backend/orm.rst:970 msgid "Record(set) information" msgstr "" @@ -20328,15 +20345,15 @@ msgstr "" msgid "Return the list of actual record ids corresponding to ``self``." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:985 +#: ../../content/developer/reference/backend/orm.rst:976 msgid "Returns the environment of the given recordset." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:987 +#: ../../content/developer/reference/backend/orm.rst:978 msgid ":class:`~odoo.api.Environment`" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:989 +#: ../../content/developer/reference/backend/orm.rst:980 msgid "Environment documentation" msgstr "" @@ -20416,44 +20433,44 @@ msgstr "" msgid "noupdate: A boolean telling if the record will be updated or not" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:1002 +#: ../../content/developer/reference/backend/orm.rst:993 #: ../../content/developer/reference/frontend/assets.rst:105 msgid "Operations" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:1004 +#: ../../content/developer/reference/backend/orm.rst:995 msgid "Recordsets are immutable, but sets of the same model can be combined using various set operations, returning new recordsets." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:1009 +#: ../../content/developer/reference/backend/orm.rst:1000 msgid "``record in set`` returns whether ``record`` (which must be a 1-element recordset) is present in ``set``. ``record not in set`` is the inverse operation" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:1012 +#: ../../content/developer/reference/backend/orm.rst:1003 msgid "``set1 <= set2`` and ``set1 < set2`` return whether ``set1`` is a subset of ``set2`` (resp. strict)" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:1014 +#: ../../content/developer/reference/backend/orm.rst:1005 msgid "``set1 >= set2`` and ``set1 > set2`` return whether ``set1`` is a superset of ``set2`` (resp. strict)" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:1016 +#: ../../content/developer/reference/backend/orm.rst:1007 msgid "``set1 | set2`` returns the union of the two recordsets, a new recordset containing all records present in either source" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:1018 +#: ../../content/developer/reference/backend/orm.rst:1009 msgid "``set1 & set2`` returns the intersection of two recordsets, a new recordset containing only records present in both sources" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:1020 +#: ../../content/developer/reference/backend/orm.rst:1011 msgid "``set1 - set2`` returns a new recordset containing only records of ``set1`` which are *not* in ``set2``" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:1023 +#: ../../content/developer/reference/backend/orm.rst:1014 msgid "Recordsets are iterable so the usual Python tools are available for transformation (:func:`python:map`, :func:`python:sorted`, :func:`~python:itertools.ifilter`, ...) however these return either a :class:`python:list` or an :term:`python:iterator`, removing the ability to call methods on their result, or to use set operations." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:1029 +#: ../../content/developer/reference/backend/orm.rst:1020 msgid "Recordsets therefore provide the following operations returning recordsets themselves (when possible):" msgstr "" @@ -20478,8 +20495,8 @@ msgstr "" msgid ":ref:`A search domain `." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:1040 -#: ../../content/developer/reference/backend/views.rst:1979 +#: ../../content/developer/reference/backend/orm.rst:1031 +#: ../../content/developer/reference/backend/views.rst:1994 msgid "Map" msgstr "" @@ -20495,11 +20512,11 @@ msgstr "" msgid "The provided function can be a string to get field values:" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:1046 +#: ../../content/developer/reference/backend/orm.rst:1037 msgid "Since V13, multi-relational field access is supported and works like a mapped call:" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:1055 +#: ../../content/developer/reference/backend/orm.rst:1046 msgid "Sort" msgstr "" @@ -20515,114 +20532,114 @@ msgstr "" msgid "if ``True``, return the result in reverse order" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:1062 +#: ../../content/developer/reference/backend/orm.rst:1053 msgid "Inheritance and extension" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:1064 +#: ../../content/developer/reference/backend/orm.rst:1055 msgid "Odoo provides three different mechanisms to extend models in a modular way:" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:1066 +#: ../../content/developer/reference/backend/orm.rst:1057 msgid "creating a new model from an existing one, adding new information to the copy but leaving the original module as-is" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:1068 +#: ../../content/developer/reference/backend/orm.rst:1059 msgid "extending models defined in other modules in-place, replacing the previous version" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:1070 +#: ../../content/developer/reference/backend/orm.rst:1061 msgid "delegating some of the model's fields to records it contains" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:1076 +#: ../../content/developer/reference/backend/orm.rst:1067 msgid "Classical inheritance" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:1078 +#: ../../content/developer/reference/backend/orm.rst:1069 msgid "When using the :attr:`~odoo.models.Model._inherit` and :attr:`~odoo.models.Model._name` attributes together, Odoo creates a new model using the existing one (provided via :attr:`~odoo.models.Model._inherit`) as a base. The new model gets all the fields, methods and meta-information (defaults & al) from its base." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:1106 +#: ../../content/developer/reference/backend/orm.rst:1097 msgid "and using them::" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:1114 +#: ../../content/developer/reference/backend/orm.rst:1105 msgid "will yield:" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:1116 +#: ../../content/developer/reference/backend/orm.rst:1107 msgid "\"This is model 0 record A\" \"This is model 1 record B\"" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:1119 +#: ../../content/developer/reference/backend/orm.rst:1110 msgid "the second model has inherited from the first model's ``check`` method and its ``name`` field, but overridden the ``call`` method, as when using standard :ref:`Python inheritance `." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:1124 +#: ../../content/developer/reference/backend/orm.rst:1115 msgid "Extension" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:1126 +#: ../../content/developer/reference/backend/orm.rst:1117 msgid "When using :attr:`~odoo.models.Model._inherit` but leaving out :attr:`~odoo.models.Model._name`, the new model replaces the existing one, essentially extending it in-place. This is useful to add new fields or methods to existing models (created in other modules), or to customize or reconfigure them (e.g. to change their default sort order)::" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:1148 +#: ../../content/developer/reference/backend/orm.rst:1139 msgid "will yield::" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:1155 +#: ../../content/developer/reference/backend/orm.rst:1146 msgid "It will also yield the various :ref:`automatic fields ` unless they've been disabled" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:1159 +#: ../../content/developer/reference/backend/orm.rst:1150 msgid "Delegation" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:1161 +#: ../../content/developer/reference/backend/orm.rst:1152 msgid "The third inheritance mechanism provides more flexibility (it can be altered at runtime) but less power: using the :attr:`~odoo.models.Model._inherits` a model *delegates* the lookup of any field not found on the current model to \"children\" models. The delegation is performed via :class:`~odoo.fields.Reference` fields automatically set up on the parent model." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:1168 +#: ../../content/developer/reference/backend/orm.rst:1159 msgid "The main difference is in the meaning. When using Delegation, the model **has one** instead of **is one**, turning the relationship in a composition instead of inheritance::" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:1210 +#: ../../content/developer/reference/backend/orm.rst:1201 #: ../../content/developer/reference/frontend/qweb.rst:26 #: ../../content/developer/reference/frontend/qweb.rst:36 #: ../../content/developer/reference/frontend/qweb.rst:331 msgid "will result in::" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:1215 +#: ../../content/developer/reference/backend/orm.rst:1206 msgid "and it's possible to write directly on the delegated field::" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:1219 +#: ../../content/developer/reference/backend/orm.rst:1210 msgid "when using delegation inheritance, methods are *not* inherited, only fields" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:1224 +#: ../../content/developer/reference/backend/orm.rst:1215 msgid "`_inherits` is more or less implemented, avoid it if you can;" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:1225 +#: ../../content/developer/reference/backend/orm.rst:1216 msgid "chained `_inherits` is essentially not implemented, we cannot guarantee anything on the final behavior." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:1229 +#: ../../content/developer/reference/backend/orm.rst:1220 msgid "Fields Incremental Definition" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:1231 +#: ../../content/developer/reference/backend/orm.rst:1222 msgid "A field is defined as class attribute on a model class. If the model is extended, one can also extend the field definition by redefining a field with the same name and same type on the subclass. In that case, the attributes of the field are taken from the parent class and overridden by the ones given in subclasses." msgstr "" -#: ../../content/developer/reference/backend/orm.rst:1237 +#: ../../content/developer/reference/backend/orm.rst:1228 msgid "For instance, the second class below only adds a tooltip on the field ``state``::" msgstr "" -#: ../../content/developer/reference/backend/orm.rst:1251 +#: ../../content/developer/reference/backend/orm.rst:1242 msgid "Error management" msgstr "" @@ -20715,21 +20732,629 @@ msgid "Changelog" msgstr "" #: ../../content/developer/reference/backend/orm/changelog.rst:8 -msgid "Odoo Online version 15.4" +msgid "Odoo version 16.0" msgstr "" #: ../../content/developer/reference/backend/orm/changelog.rst:10 -msgid "New API for flushing to the database and invalidating the cache with `#87527 `_. New methods have been added to `odoo.models.Model` and `odoo.api.Environment`, and are less confusing about what is actually done in each case. See the section :ref:`SQL Execution `." +msgid "Translations for translated fields are stored as JSONB values with `#97692 `_ and `#101115 `_. Code translations are no longer stored into the database. They become static and are extracted from the PO files when needed." msgstr "" #: ../../content/developer/reference/backend/orm/changelog.rst:17 -msgid "Odoo Online version 15.2" +msgid "Odoo Online version 15.4" msgstr "" #: ../../content/developer/reference/backend/orm/changelog.rst:19 +msgid "New API for flushing to the database and invalidating the cache with `#87527 `_. New methods have been added to `odoo.models.Model` and `odoo.api.Environment`, and are less confusing about what is actually done in each case. See the section :ref:`SQL Execution `." +msgstr "" + +#: ../../content/developer/reference/backend/orm/changelog.rst:26 +msgid "Odoo Online version 15.2" +msgstr "" + +#: ../../content/developer/reference/backend/orm/changelog.rst:28 msgid "Specific index types on fields: With `#83274 `_ and `#83015 `_, developers can now define what type of indexes can be used on fields by PostgreSQL. See the :ref:`index property ` of `odoo.fields.Field`." msgstr "" +#: ../../content/developer/reference/backend/performance.rst:5 +msgid "Performance" +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:10 +msgid "Profiling" +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:14 +msgid "Profiling is about analysing the execution of a program and measure aggregated data. These data can be the elapsed time for each function, the executed SQL queries..." +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:17 +msgid "While profiling does not improve the performance of a program by itself, it can prove very helpful in finding performance issues and identifying which part of the program is responsible for them." +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:20 +msgid "Odoo provides an integrated profiling tool that allows recording all executed queries and stack traces during execution. It can be used to profile either a set of requests of a user session, or a specific portion of code. Profiling results can be either inspected with the integrated `speedscope `_ :dfn:`open source app allowing to visualize a flamegraph` view or analyzed with custom tools by first saving them in a JSON file or in the database." +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:29 +msgid "Enable the profiler" +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:31 +msgid "The profiler can either be enabled from the user interface, which is the easiest way to do so but allows profiling only web requests, or from Python code, which allows profiling any piece of code including tests." +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:37 +msgid "Enable from the user interface" +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:39 +msgid ":ref:`Enable the developer mode `." +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:40 +msgid "Before starting a profiling session, the profiler must be enabled globally on the database. This can be done in two ways:" +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:43 +msgid "Open the :ref:`developer mode tools `, then toggle the :guilabel:`Enable profiling` button. A wizard suggests a set of expiry times for the profiling. Click on :guilabel:`ENABLE PROFILING` to enable the profiler globally." +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:49 +msgid "Go to :guilabel:`Settings --> General Settings --> Performance` and set the desired time to the field :guilabel:`Enable profiling until`." +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:52 +msgid "After the profiler is enabled on the database, users can enable it on their session. To do so, toggle the :guilabel:`Enable profiling` button in the :ref:`developer mode tools ` again. By default, the recommended options :guilabel:`Record sql` and :guilabel:`Record traces` are enabled. To learn more about the different options, head over to :ref:`performance/profiling/collectors`." +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:60 +msgid "When the profiler is enabled, all the requests made to the server are profiled and saved into an `ir.profile` record. Such records are grouped into the current profiling session which spans from when the profiler was enabled until it is disabled." +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:65 +msgid "Odoo Online databases cannot be profiled." +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:67 +msgid "Enable from Python code" +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:69 +msgid "Starting the profiler manually can be convenient to profile a specific method or a part of the code. This code can be a test, a compute method, the entire loading, etc." +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:72 +msgid "To start the profiler from Python code, call it as a context manager. You may specify *what* you want to record through the parameters. A shortcut is available for profiling test classes: :code:`self.profile()`. See :ref:`performance/profiling/collectors` for more information on the `collectors` parameter." +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:100 +msgid "The profiler is called outside of the `assertQueryCount` in order to catch queries made when exiting the context manager (e.g., flush)." +msgstr "" + +#: ../../../odoo/odoo/tools/profiler.py:docstring of odoo.tools.profiler.Profiler:1 +msgid "Context manager to use to start the recording of some execution. Will save sql and async stack trace by default." +msgstr "" + +#: ../../../odoo/odoo/tools/profiler.py:docstring of odoo.tools.profiler.Profiler.__init__:1 +msgid "database name to use to save results. Will try to define database automatically by default. Use value ``None`` to not save results in a database." +msgstr "" + +#: ../../../odoo/odoo/tools/profiler.py:docstring of odoo.tools.profiler.Profiler.__init__:4 +msgid "list of string and Collector object Ex: ['sql', PeriodicCollector(interval=0.2)]. Use `None` for default collectors" +msgstr "" + +#: ../../../odoo/odoo/tools/profiler.py:docstring of odoo.tools.profiler.Profiler.__init__:5 +msgid "session description to use to reproup multiple profile. use make_session(name) for default format." +msgstr "" + +#: ../../../odoo/odoo/tools/profiler.py:docstring of odoo.tools.profiler.Profiler.__init__:6 +msgid "description of the current profiler Suggestion: (route name/test method/loading module, ...)" +msgstr "" + +#: ../../../odoo/odoo/tools/profiler.py:docstring of odoo.tools.profiler.Profiler.__init__:7 +msgid "flag to disable gc durring profiling (usefull to avoid gc while profiling, especially during sql execution)" +msgstr "" + +#: ../../../odoo/odoo/tools/profiler.py:docstring of odoo.tools.profiler.Profiler.__init__:8 +msgid "parameters usable by collectors (like frame interval)" +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:106 +msgid "When the profiler is enabled, all executions of a test method are profiled and saved into an `ir.profile` record. Such records are grouped into a single profiling session. This is especially useful when using the :code:`@warmup` and :code:`@users` decorators." +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:111 +msgid "It can be complicated to analyze profiling results of a method that is called several times because all the calls are grouped together in the stack trace. Add an **execution context** as a context manager to break down the results into multiple frames." +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:126 +msgid "Analyse the results" +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:128 +msgid "To browse the profiling results, make sure that the :ref:`profiler is enabled globally on the database `, then open the :ref:`developer mode tools ` and click on the button in the top-right corner of the profiling section. A list view of the `ir.profile` records grouped by profiling session opens." +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:136 +msgid "Each record has a clickable link that opens the speedscope results in a new tab." +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:141 +msgid "Speedscope falls out of the scope of this documentation but there are a lot of tools to try: search, highlight of similar frames, zoom on frame, timeline, left heavy, sandwich view..." +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:144 +msgid "Depending on the profiling options that were activated, Odoo generates different view modes that you can access from the top menu." +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:150 +msgid "The :guilabel:`Combined` view shows all the SQL queries and traces merged togethers." +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:151 +msgid "The :guilabel:`Combined no context` view shows the same result but ignores the saved execution context `." +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:153 +msgid "The :guilabel:`sql (no gap)` view shows all the SQL queries as if they were executed one after another, without any Python logic. This is useful for optimizing SQL only." +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:155 +msgid "The :guilabel:`sql (density)` view shows only all the SQL queries, leaving gap between them. This can be useful to spot if eiter SQL or Python code is the problem, and to identify zones in where many small queries could be batched." +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:158 +msgid "The :guilabel:`frames` view shows the results of only the :ref:`periodic collector `." +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:162 +msgid "Even though the profiler has been designed to be as light as possible, it can still impact performance, especially when using the :ref:`Sync collector `. Keep that in mind when analyzing speedscope results." +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:169 +msgid "Collectors" +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:171 +msgid "Whereas the profiler is about the *when* of profiling, the collectors take care of the *what*." +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:173 +msgid "Each collector specializes in collecting profiling data in its own format and manner. They can be individually enabled from the user interface through their dedicated toggle button in the :ref:`developer mode tools `, or from Python code through their key or class." +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:178 +msgid "There are currently four collectors available in Odoo:" +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:184 +msgid "Toggle button" +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:185 +msgid "Python key" +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:186 +msgid "Python class" +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:187 +msgid ":ref:`SQL collector `" +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:188 +msgid ":guilabel:`Record sql`" +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:189 +msgid "`sql`" +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:190 +msgid "`SqlCollector`" +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:191 +msgid ":ref:`Periodic collector `" +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:192 +msgid ":guilabel:`Record traces`" +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:193 +msgid "`traces_async`" +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:194 +msgid "`PeriodicCollector`" +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:195 +msgid ":ref:`QWeb collector `" +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:196 +msgid ":guilabel:`Record qweb`" +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:197 +#: ../../content/developer/reference/frontend/framework_overview.rst:108 +msgid "`qweb`" +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:198 +msgid "`QwebCollector`" +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:199 +msgid ":ref:`Sync collector `" +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:200 +msgid "No" +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:201 +msgid "`traces_sync`" +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:202 +msgid "`SyncCollector`" +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:204 +msgid "By default, the profiler enables the SQL and the Periodic collectors. Both when it is enabled from the user interface or Python code." +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:210 +msgid "SQL collector" +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:212 +msgid "The SQL collector saves all the SQL queries made to the database in the current thread (for all cursors), as well as the stack trace. The overhead of the collector is added to the analysed thread for each query, which means that using it on a lot of small queries may impact execution time and other profilers." +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:217 +msgid "It is especially useful to debug query counts, or to add information to the :ref:`Periodic collector ` in the combined speedscope view." +msgstr "" + +#: ../../../odoo/odoo/tools/profiler.py:docstring of odoo.tools.profiler.SQLCollector:1 +msgid "Saves all executed queries in the current thread with the call stack." +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:225 +msgid "Periodic collector" +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:227 +msgid "This collector runs in a separate thread and saves the stack trace of the analysed thread at every interval. The interval (by default 10 ms) can be defined through the :guilabel:`Interval` option in the user interface, or the `interval` parameter in Python code." +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:232 +msgid "If the interval is set at a very low value, profiling long requests will generate memory issues. If the interval is set at a very high value, information on short function executions will be lost." +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:236 +msgid "It is one of the best way to analyse performance as it should have a very low impact on the execution time thanks to its separate thread." +msgstr "" + +#: ../../../odoo/odoo/tools/profiler.py:docstring of odoo.tools.profiler.PeriodicCollector:1 +msgid "Record execution frames asynchronously at most every `interval` seconds." +msgstr "" + +#: ../../../odoo/odoo/tools/profiler.py:docstring of odoo.tools.profiler.PeriodicCollector:3 +msgid "time to wait in seconds between two samples." +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:244 +msgid "QWeb collector" +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:246 +msgid "This collector saves the Python execution time and queries of all directives. As for the :ref:`SQL collector `, the overhead can be important when executing a lot of small directives. The results are different from other collectors in terms of collected data, and can be analysed from the `ir.profile` form view using a custom widget." +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:251 +msgid "It is mainly useful for optimizing views." +msgstr "" + +#: ../../../odoo/odoo/tools/profiler.py:docstring of odoo.tools.profiler.QwebCollector:1 +msgid "Record qweb execution with directive trace." +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:258 +msgid "Sync collector" +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:260 +msgid "This collector saves the stack for every function's call and return and runs on the same thread, which greatly impacts performance." +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:263 +msgid "It can be useful to debug and understand complex flows, and follow their execution in the code. It is however not recommended for performance analysis because the overhead is high." +msgstr "" + +#: ../../../odoo/odoo/tools/profiler.py:docstring of odoo.tools.profiler.SyncCollector:1 +msgid "Record complete execution synchronously. Note that --limit-memory-hard may need to be increased when launching Odoo." +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:271 +msgid "Performance pitfalls" +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:273 +msgid "Be careful with randomness. Multiple executions may lead to different results. E.g., a garbage collector being triggered during execution." +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:275 +msgid "Be careful with blocking calls. In some cases, external `c_call` may take some time before releasing the GIL, thus leading to unexpected long frames with the :ref:`Periodic collector `. This should be detected by the profiler and give a warning. It is possible to trigger the profiler manually before such calls if needed." +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:279 +msgid "Pay attention to the cache. Profiling before that the `view`/`assets`/... are in cache can lead to different results." +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:281 +msgid "Be aware of the profiler's overhead. The :ref:`SQL collector `'s overhead can be important when a lot of small queries are executed. Profiling is practical to spot a problem but you may want to disable the profiler in order to measure the real impact of a code change." +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:285 +msgid "Profiling results can be memory intensive. In some cases (e.g., profiling an install or a long request), it is possible that you reach memory limit, especially when rendering the speedscope results, which can lead to an HTTP 500 error. In this case, you may need to start the server with a higher memory limit: `--limit-memory-hard $((8*1024**3))`." +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:293 +msgid "Database population" +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:295 +msgid "Odoo CLI offers a :ref:`database population ` feature through the CLI command :command:`odoo-bin populate`." +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:298 +msgid "Instead of the tedious manual, or programmatic, specification of test data, one can use this feature to fill a database on demand with the desired number of test data. This can be used to detect diverse bugs or performance issues in tested flows." +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:304 +msgid "To populate a given model, the following methods and attributes can be defined." +msgstr "" + +#: ../../docstring of odoo.models.Model._populate_sizes:1 +msgid "Return a dict mapping symbolic sizes (``'small'``, ``'medium'``, ``'large'``) to integers, giving the minimal number of records that :meth:`_populate` should create." +msgstr "" + +#: ../../docstring of odoo.models.Model._populate_sizes:4 +msgid "The default population sizes are:" +msgstr "" + +#: ../../docstring of odoo.models.Model._populate_sizes:6 +msgid "``small`` : 10" +msgstr "" + +#: ../../docstring of odoo.models.Model._populate_sizes:7 +msgid "``medium`` : 100" +msgstr "" + +#: ../../docstring of odoo.models.Model._populate_sizes:8 +msgid "``large`` : 1000" +msgstr "" + +#: ../../docstring of odoo.models.Model._populate_dependencies:1 +msgid "Return the list of models which have to be populated before the current one." +msgstr "" + +#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel._populate:1 +msgid "Create records to populate this model." +msgstr "" + +#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel._populate:3 +msgid "symbolic size for the number of records: ``'small'``, ``'medium'`` or ``'large'``" +msgstr "" + +#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel._populate_factories:1 +msgid "Generates a factory for the different fields of the model." +msgstr "" + +#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel._populate_factories:3 +msgid "``factory`` is a generator of values (dict of field values)." +msgstr "" + +#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel._populate_factories:5 +msgid "Factory skeleton::" +msgstr "" + +#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel._populate_factories:12 +msgid "See :mod:`odoo.tools.populate` for population tools and applications." +msgstr "" + +#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel._populate_factories:14 +msgid "list of pairs(field_name, factory) where `factory` is a generator function." +msgstr "" + +#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel._populate_factories:19 +msgid "It is the responsibility of the generator to handle the field_name correctly. The generator could generate values for multiple fields together. In this case, the field_name should be more a \"field_group\" (should be begin by a \"_\"), covering the different fields updated by the generator (e.g. \"_address\" for a generator updating multiple address fields)." +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:314 +msgid "You have to define at least :meth:`~odoo.models.Model._populate` or :meth:`~odoo.models.Model._populate_factories` on the model to enable database population." +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:360 +msgid "Population tools" +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:362 +msgid "Multiple population tools are available to easily create the needed data generators." +msgstr "" + +#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.cartesian:1 +msgid "Return a factory for an iterator of values dicts that combines all ``vals`` for the field with the other field values in input." +msgstr "" + +#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.cartesian:4 +#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.iterate:5 +#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.randomize:4 +msgid "list in which a value will be chosen, depending on `weights`" +msgstr "" + +#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.cartesian:5 +#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.iterate:6 +#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.randomize:5 +msgid "list of probabilistic weights" +msgstr "" + +#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.cartesian:6 +#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.compute:6 +#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.iterate:7 +#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.randomize:6 +msgid "optional initialization of the random number generator" +msgstr "" + +#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.cartesian:7 +#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.iterate:8 +#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.randomize:7 +msgid "(val, counter, values) --> formatted_value" +msgstr "" + +#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.cartesian:8 +#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.iterate:9 +msgid "if defined, factory used when vals has been consumed." +msgstr "" + +#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.cartesian:9 +#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.compute:7 +#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.constant:4 +#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.iterate:10 +#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.randint:7 +#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.randomize:9 +msgid "function of the form (iterator, field_name, model_name) -> values" +msgstr "" + +#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.compute:1 +msgid "Return a factory for an iterator of values dicts that computes the field value as ``function(values, counter, random)``, where ``values`` is the other field values, ``counter`` is an integer, and ``random`` is a pseudo-random number generator." +msgstr "" + +#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.compute:5 +msgid "(values, counter, random) --> field_values" +msgstr "" + +#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.constant:1 +msgid "Return a factory for an iterator of values dicts that sets the field to the given value in each input dict." +msgstr "" + +#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.iterate:1 +msgid "Return a factory for an iterator of values dicts that picks a value among ``vals`` for each input. Once all ``vals`` have been used once, resume as ``then`` or as a ``randomize`` generator." +msgstr "" + +#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.randint:1 +msgid "Return a factory for an iterator of values dicts that sets the field to a random integer between a and b included in each input dict." +msgstr "" + +#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.randint:4 +msgid "minimal random value" +msgstr "" + +#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.randint:5 +msgid "maximal random value" +msgstr "" + +#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.randomize:1 +msgid "Return a factory for an iterator of values dicts with pseudo-randomly chosen values (among ``vals``) for a field." +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:370 +msgid "Good practices" +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:375 +msgid "Batch operations" +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:377 +msgid "When working with recordsets, it is almost always better to batch operations." +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:380 +msgid "Don't call a method that runs SQL queries while looping over a recordset because it will do so for each record of the set." +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:391 +msgid "Instead, replace the `search_count` with a `read_group` to execute one SQL query for the entire batch of records." +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:410 +msgid "This example is not optimal nor correct in all cases. It is only a substitute for a `search_count`. Another solution could be to prefetch and count the inverse `One2many` field." +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:414 +msgid "Don't create records one after another." +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:422 +msgid "Instead, accumulate the create values and call the `create` method on the batch. Doing so has mostly no impact and helps the framework optimize fields computation." +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:434 +msgid "Fail to prefetch the fields of a recordset while browsing a single record inside a loop." +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:443 +msgid "Instead, browse the entire recordset first." +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:452 +msgid "We can verify that the records are prefetched in batch by reading the field `prefetch_ids` which includes each of the record ids.browsing all records together is unpractical," +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:455 +msgid "If needed, the `with_prefetch` method can be used to disable batch prefetching:" +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:465 +msgid "Reduce the algorithmic complexity" +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:467 +msgid "Algorithmic complexity is a measure of how long an algorithm would take to complete in regard to the size `n` of the input. When the complexity is high, the execution time can grow quickly as the input becomes larger. In some cases, the algorithmic complexity can be reduced by preparing the input's data correctly." +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:473 +msgid "For a given problem, let's consider a naive algorithm crafted with two nested loops for which the complexity in in O(n²)." +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:485 +msgid "Assuming that all results have a different id, we can prepare the data to reduce the complexity." +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:495 +msgid "Choosing the bad data structure to hold the input can lead to quadratic complexity." +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:505 +msgid "If `invalid_ids` is a list-like data structure, the complexity of the algorithm may be quadratic." +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:507 +msgid "Instead, prefer using set operations like casting `invalid_ids` to a set." +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:517 +msgid "Depending on the input, recordset operations can also be used." +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:529 +msgid "Use indexes" +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:531 +msgid "Database indexes can help fasten search operations, be it from a search in the or through the user interface." +msgstr "" + +#: ../../content/developer/reference/backend/performance.rst:539 +msgid "Be careful not to index every field as indexes consume space and impact on performance when executing one of `INSERT`, `UPDATE`, and `DELETE`." +msgstr "" + #: ../../content/developer/reference/backend/reports.rst:10 msgid "QWeb Reports" msgstr "" @@ -20920,7 +21545,7 @@ msgid "a small description of your format" msgstr "" #: ../../content/developer/reference/backend/reports.rst:201 -#: ../../content/developer/reference/backend/views.rst:1496 +#: ../../content/developer/reference/backend/views.rst:1511 msgid "``format``" msgstr "" @@ -22401,169 +23026,6 @@ msgstr "" msgid "One of the ways to test performance is to measure database queries. Manually, this can be tested with the `--log-sql` CLI parameter. If you want to establish the maximum number of queries for an operation, you can use the :meth:`~odoo.tests.common.BaseCase.assertQueryCount` method, integrated in Odoo test classes." msgstr "" -#: ../../content/developer/reference/backend/testing.rst:870 -msgid "Database population" -msgstr "" - -#: ../../content/developer/reference/backend/testing.rst:872 -msgid "Odoo CLI offers a :ref:`database population` feature." -msgstr "" - -#: ../../content/developer/reference/backend/testing.rst:878 -msgid "Instead of the tedious manual, or programmatic, specification of test data, one can use this feature to fill a database on demand with the desired number of test data. This can be used to detect diverse bugs or performance issues in tested flows." -msgstr "" - -#: ../../content/developer/reference/backend/testing.rst:884 -msgid "To specify this feature for a given model, the following methods and attributes can be defined." -msgstr "" - -#: ../../docstring of odoo.models.Model._populate_sizes:1 -msgid "Return a dict mapping symbolic sizes (``'small'``, ``'medium'``, ``'large'``) to integers, giving the minimal number of records that :meth:`_populate` should create." -msgstr "" - -#: ../../docstring of odoo.models.Model._populate_sizes:4 -msgid "The default population sizes are:" -msgstr "" - -#: ../../docstring of odoo.models.Model._populate_sizes:6 -msgid "``small`` : 10" -msgstr "" - -#: ../../docstring of odoo.models.Model._populate_sizes:7 -msgid "``medium`` : 100" -msgstr "" - -#: ../../docstring of odoo.models.Model._populate_sizes:8 -msgid "``large`` : 1000" -msgstr "" - -#: ../../docstring of odoo.models.Model._populate_dependencies:1 -msgid "Return the list of models which have to be populated before the current one." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel._populate:1 -msgid "Create records to populate this model." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel._populate:3 -msgid "symbolic size for the number of records: ``'small'``, ``'medium'`` or ``'large'``" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel._populate_factories:1 -msgid "Generates a factory for the different fields of the model." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel._populate_factories:3 -msgid "``factory`` is a generator of values (dict of field values)." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel._populate_factories:5 -msgid "Factory skeleton::" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel._populate_factories:12 -msgid "See :mod:`odoo.tools.populate` for population tools and applications." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel._populate_factories:14 -msgid "list of pairs(field_name, factory) where `factory` is a generator function." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel._populate_factories:19 -msgid "It is the responsibility of the generator to handle the field_name correctly. The generator could generate values for multiple fields together. In this case, the field_name should be more a \"field_group\" (should be begin by a \"_\"), covering the different fields updated by the generator (e.g. \"_address\" for a generator updating multiple address fields)." -msgstr "" - -#: ../../content/developer/reference/backend/testing.rst:895 -msgid "You have to define at least :meth:`~odoo.models.Model._populate` or :meth:`~odoo.models.Model._populate_factories` on the model to enable database population." -msgstr "" - -#: ../../content/developer/reference/backend/testing.rst:899 -msgid "Example model" -msgstr "" - -#: ../../content/developer/reference/backend/testing.rst:943 -msgid "Population tools" -msgstr "" - -#: ../../content/developer/reference/backend/testing.rst:945 -msgid "Multiple population tools are available to easily create the needed data generators." -msgstr "" - -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.cartesian:1 -msgid "Return a factory for an iterator of values dicts that combines all ``vals`` for the field with the other field values in input." -msgstr "" - -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.cartesian:4 -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.iterate:5 -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.randomize:4 -msgid "list in which a value will be chosen, depending on `weights`" -msgstr "" - -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.cartesian:5 -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.iterate:6 -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.randomize:5 -msgid "list of probabilistic weights" -msgstr "" - -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.cartesian:6 -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.compute:6 -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.iterate:7 -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.randomize:6 -msgid "optional initialization of the random number generator" -msgstr "" - -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.cartesian:7 -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.iterate:8 -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.randomize:7 -msgid "(val, counter, values) --> formatted_value" -msgstr "" - -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.cartesian:8 -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.iterate:9 -msgid "if defined, factory used when vals has been consumed." -msgstr "" - -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.cartesian:9 -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.compute:7 -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.constant:4 -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.iterate:10 -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.randint:7 -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.randomize:9 -msgid "function of the form (iterator, field_name, model_name) -> values" -msgstr "" - -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.compute:1 -msgid "Return a factory for an iterator of values dicts that computes the field value as ``function(values, counter, random)``, where ``values`` is the other field values, ``counter`` is an integer, and ``random`` is a pseudo-random number generator." -msgstr "" - -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.compute:5 -msgid "(values, counter, random) --> field_values" -msgstr "" - -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.constant:1 -msgid "Return a factory for an iterator of values dicts that sets the field to the given value in each input dict." -msgstr "" - -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.iterate:1 -msgid "Return a factory for an iterator of values dicts that picks a value among ``vals`` for each input. Once all ``vals`` have been used once, resume as ``then`` or as a ``randomize`` generator." -msgstr "" - -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.randint:1 -msgid "Return a factory for an iterator of values dicts that sets the field to a random integer between a and b included in each input dict." -msgstr "" - -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.randint:4 -msgid "minimal random value" -msgstr "" - -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.randint:5 -msgid "maximal random value" -msgstr "" - -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.randomize:1 -msgid "Return a factory for an iterator of values dicts with pseudo-randomly chosen values (among ``vals``) for a field." -msgstr "" - #: ../../content/developer/reference/backend/views.rst:8 msgid "Views are what define how records should be displayed to end-users. They are specified in XML which means that they can be edited independently from the models that they represent. They are flexible and allow a high level of customization of the screens that they control. There exist various types of views. Each of them represents a mode of visualization: *form*, *list*, *kanban*, etc." msgstr "" @@ -22573,7 +23035,7 @@ msgid "Build doc of ir_ui_view.py ?" msgstr "" #: ../../content/developer/reference/backend/views.rst:18 -#: ../../content/developer/reference/backend/views.rst:966 +#: ../../content/developer/reference/backend/views.rst:981 msgid "Generic structure" msgstr "" @@ -22650,7 +23112,7 @@ msgid "info on create/... in the context ?" msgstr "" #: ../../content/developer/reference/backend/views.rst:83 -#: ../../content/developer/reference/backend/views.rst:1946 +#: ../../content/developer/reference/backend/views.rst:1961 msgid "``create``" msgstr "" @@ -22731,8 +23193,8 @@ msgid "Only views extending AbstractView and AbstractController can use this att msgstr "" #: ../../content/developer/reference/backend/views.rst:159 -#: ../../content/developer/reference/backend/views.rst:2262 -#: ../../content/developer/reference/backend/views.rst:2328 +#: ../../content/developer/reference/backend/views.rst:2277 +#: ../../content/developer/reference/backend/views.rst:2343 #: ../../content/developer/reference/frontend/framework_overview.rst:329 #: ../../content/developer/reference/frontend/registries.rst:292 msgid "Example:" @@ -22890,1972 +23352,2065 @@ msgstr "" msgid "an extension function is added for simpler matching in QWeb views: ``hasclass(*classes)`` matches if the context node has all the specified classes" msgstr "" -#: ../../content/developer/reference/backend/views.rst:342 +#: ../../content/developer/reference/backend/views.rst:340 +msgid "Model Commons" +msgstr "" + +#: ../../docstring of odoo.addons.base.models.ir_ui_view.Model._date_name:1 +msgid "field to use for default calendar view" +msgstr "" + +#: ../../content/developer/reference/backend/views.rst:350 +#: ../../content/developer/reference/frontend/mobile.rst:61 +msgid "Methods" +msgstr "" + +#: ../../../odoo/odoo/addons/base/models/ir_ui_view.py:docstring of odoo.addons.base.models.ir_ui_view.Model.get_views:1 +msgid "Returns the fields_views of given views, along with the fields of the current model, and optionally its filters for the given action." +msgstr "" + +#: ../../../odoo/odoo/addons/base/models/ir_ui_view.py:docstring of odoo.addons.base.models.ir_ui_view.Model.get_views:4 +msgid "list of [view_id, view_type]" +msgstr "" + +#: ../../../odoo/odoo/addons/base/models/ir_ui_view.py:docstring of odoo.addons.base.models.ir_ui_view.Model.get_views:5 +msgid "a dict optional boolean flags, set to enable: ``toolbar`` includes contextual actions when loading fields_views ``load_filters`` returns the model's filters ``action_id`` id of the action to get the filters, otherwise loads the global filters or the model" +msgstr "" + +#: ../../../odoo/odoo/addons/base/models/ir_ui_view.py:docstring of odoo.addons.base.models.ir_ui_view.Model.get_views:5 +msgid "a dict optional boolean flags, set to enable:" +msgstr "" + +#: ../../../odoo/odoo/addons/base/models/ir_ui_view.py:docstring of odoo.addons.base.models.ir_ui_view.Model.get_views:7 +msgid "``toolbar``" +msgstr "" + +#: ../../../odoo/odoo/addons/base/models/ir_ui_view.py:docstring of odoo.addons.base.models.ir_ui_view.Model.get_views:8 +msgid "includes contextual actions when loading fields_views" +msgstr "" + +#: ../../../odoo/odoo/addons/base/models/ir_ui_view.py:docstring of odoo.addons.base.models.ir_ui_view.Model.get_views:9 +msgid "``load_filters``" +msgstr "" + +#: ../../../odoo/odoo/addons/base/models/ir_ui_view.py:docstring of odoo.addons.base.models.ir_ui_view.Model.get_views:10 +msgid "returns the model's filters" +msgstr "" + +#: ../../../odoo/odoo/addons/base/models/ir_ui_view.py:docstring of odoo.addons.base.models.ir_ui_view.Model.get_views:13 +msgid "``action_id``" +msgstr "" + +#: ../../../odoo/odoo/addons/base/models/ir_ui_view.py:docstring of odoo.addons.base.models.ir_ui_view.Model.get_views:12 +msgid "id of the action to get the filters, otherwise loads the global filters or the model" +msgstr "" + +#: ../../../odoo/odoo/addons/base/models/ir_ui_view.py:docstring of odoo.addons.base.models.ir_ui_view.Model.get_views:15 +msgid "dictionary with fields_views, fields and optionally filters" +msgstr "" + +#: ../../../odoo/odoo/addons/base/models/ir_ui_view.py:docstring of odoo.addons.base.models.ir_ui_view.Model.get_view:1 +msgid "Get the detailed composition of the requested view like model, view architecture" +msgstr "" + +#: ../../../odoo/odoo/addons/base/models/ir_ui_view.py:docstring of odoo.addons.base.models.ir_ui_view.Model.get_view:3 +msgid "id of the view or None" +msgstr "" + +#: ../../../odoo/odoo/addons/base/models/ir_ui_view.py:docstring of odoo.addons.base.models.ir_ui_view.Model.get_view:4 +msgid "type of the view to return if view_id is None ('form', 'tree', ...)" +msgstr "" + +#: ../../../odoo/odoo/addons/base/models/ir_ui_view.py:docstring of odoo.addons.base.models.ir_ui_view.Model.get_view:5 +msgid "boolean options to return additional features: - bool mobile: true if the web client is currently using the responsive mobile view (to use kanban views instead of list views for x2many fields)" +msgstr "" + +#: ../../../odoo/odoo/addons/base/models/ir_ui_view.py:docstring of odoo.addons.base.models.ir_ui_view.Model.get_view:8 +msgid "composition of the requested view (including inherited views and extensions)" +msgstr "" + +#: ../../../odoo/odoo/addons/base/models/ir_ui_view.py:docstring of odoo.addons.base.models.ir_ui_view.Model.get_view:10 +msgid "* if the inherited view has unknown position to work with other than 'before', 'after', 'inside', 'replace' * if some tag other than 'position' is found in parent view" +msgstr "" + +#: ../../../odoo/odoo/addons/base/models/ir_ui_view.py:docstring of odoo.addons.base.models.ir_ui_view.Model.get_view:12 +msgid "if the inherited view has unknown position to work with other than 'before', 'after', 'inside', 'replace'" +msgstr "" + +#: ../../../odoo/odoo/addons/base/models/ir_ui_view.py:docstring of odoo.addons.base.models.ir_ui_view.Model.get_view:13 +msgid "if some tag other than 'position' is found in parent view" +msgstr "" + +#: ../../../odoo/odoo/addons/base/models/ir_ui_view.py:docstring of odoo.addons.base.models.ir_ui_view.Model.get_view:15 +msgid "if there is view type other than form, tree, calendar, search etc... defined on the structure" +msgstr "" + +#: ../../content/developer/reference/backend/views.rst:357 msgid "View types" msgstr "" -#: ../../content/developer/reference/backend/views.rst:347 +#: ../../content/developer/reference/backend/views.rst:362 msgid "Activity" msgstr "" -#: ../../content/developer/reference/backend/views.rst:349 +#: ../../content/developer/reference/backend/views.rst:364 msgid "The Activity view is used to display the activities linked to the records. The data are displayed in a chart with the records forming the rows and the activity types the columns. The first cell of each row displays a (customizable, see ``templates``, quite similarly to :ref:`reference/views/kanban`) card representing the corresponding record. When clicking on others cells, a detailed description of all activities of the same type for the record is displayed." msgstr "" -#: ../../content/developer/reference/backend/views.rst:358 +#: ../../content/developer/reference/backend/views.rst:373 msgid "The Activity view is only available when the ``mail`` module is installed, and for the models that inherit from the ``mail.activity.mixin``." msgstr "" -#: ../../content/developer/reference/backend/views.rst:361 +#: ../../content/developer/reference/backend/views.rst:376 msgid "The root element of the Activity view is ````, it accepts the following attributes:" msgstr "" -#: ../../content/developer/reference/backend/views.rst:367 -#: ../../content/developer/reference/backend/views.rst:519 +#: ../../content/developer/reference/backend/views.rst:382 +#: ../../content/developer/reference/backend/views.rst:534 msgid "``string`` (mandatory)" msgstr "" -#: ../../content/developer/reference/backend/views.rst:367 -#: ../../content/developer/reference/backend/views.rst:519 +#: ../../content/developer/reference/backend/views.rst:382 +#: ../../content/developer/reference/backend/views.rst:534 msgid "A title, which should describe the view" msgstr "" -#: ../../content/developer/reference/backend/views.rst:369 -#: ../../content/developer/reference/backend/views.rst:1571 +#: ../../content/developer/reference/backend/views.rst:384 +#: ../../content/developer/reference/backend/views.rst:1586 msgid "Possible children of the view element are:" msgstr "" -#: ../../content/developer/reference/backend/views.rst:374 +#: ../../content/developer/reference/backend/views.rst:389 msgid "declares fields to use in activity *logic*. If the field is simply displayed in the activity view, it does not need to be pre-declared." msgstr "" -#: ../../content/developer/reference/backend/views.rst:377 -#: ../../content/developer/reference/backend/views.rst:1579 -#: ../../content/developer/reference/backend/views.rst:1595 +#: ../../content/developer/reference/backend/views.rst:392 +#: ../../content/developer/reference/backend/views.rst:1594 +#: ../../content/developer/reference/backend/views.rst:1610 msgid "Possible attributes are:" msgstr "" -#: ../../content/developer/reference/backend/views.rst:382 -#: ../../content/developer/reference/backend/views.rst:1584 +#: ../../content/developer/reference/backend/views.rst:397 +#: ../../content/developer/reference/backend/views.rst:1599 msgid "``name`` (required)" msgstr "" -#: ../../content/developer/reference/backend/views.rst:382 -#: ../../content/developer/reference/backend/views.rst:1584 +#: ../../content/developer/reference/backend/views.rst:397 +#: ../../content/developer/reference/backend/views.rst:1599 msgid "the name of the field to fetch" msgstr "" -#: ../../content/developer/reference/backend/views.rst:402 -#: ../../content/developer/reference/backend/views.rst:1156 -#: ../../content/developer/reference/backend/views.rst:1685 +#: ../../content/developer/reference/backend/views.rst:417 +#: ../../content/developer/reference/backend/views.rst:1171 +#: ../../content/developer/reference/backend/views.rst:1700 msgid "``templates``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:385 +#: ../../content/developer/reference/backend/views.rst:400 msgid "defines the :ref:`reference/qweb` templates. Cards definition may be split into multiple templates for clarity, but activity views *must* define at least one root template ``activity-box``, which will be rendered once for each record." msgstr "" -#: ../../content/developer/reference/backend/views.rst:390 +#: ../../content/developer/reference/backend/views.rst:405 msgid "The activity view uses mostly-standard :ref:`javascript qweb ` and provides the following context variables (see :ref:`reference/views/kanban` for more details):" msgstr "" -#: ../../content/developer/reference/backend/views.rst:398 -#: ../../content/developer/reference/backend/views.rst:769 -#: ../../content/developer/reference/backend/views.rst:876 -#: ../../content/developer/reference/backend/views.rst:1152 -#: ../../content/developer/reference/backend/views.rst:1625 -#: ../../content/developer/reference/backend/views.rst:1841 +#: ../../content/developer/reference/backend/views.rst:413 +#: ../../content/developer/reference/backend/views.rst:784 +#: ../../content/developer/reference/backend/views.rst:891 +#: ../../content/developer/reference/backend/views.rst:1167 +#: ../../content/developer/reference/backend/views.rst:1640 +#: ../../content/developer/reference/backend/views.rst:1856 msgid "``widget``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:397 +#: ../../content/developer/reference/backend/views.rst:412 msgid "the current :js:class:`ActivityRecord`, can be used to fetch some meta-information. These methods are also available directly in the template context and don't need to be accessed via ``widget``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:401 +#: ../../content/developer/reference/backend/views.rst:416 msgid "an object with all the requested fields as its attributes. Each field has two attributes ``value`` and ``raw_value``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:407 +#: ../../content/developer/reference/backend/views.rst:422 msgid "Calendar" msgstr "" -#: ../../content/developer/reference/backend/views.rst:409 +#: ../../content/developer/reference/backend/views.rst:424 msgid "Calendar views display records as events in a daily, weekly, monthly or yearly calendar." msgstr "" -#: ../../content/developer/reference/backend/views.rst:412 +#: ../../content/developer/reference/backend/views.rst:427 msgid "By default the calendar view will be centered around the current date (today). You can pass a specific initial date to the context of the action in order to set the initial focus of the calendar on the period (see `mode`) around this date (the context key to use being `initial_date`)" msgstr "" -#: ../../content/developer/reference/backend/views.rst:417 +#: ../../content/developer/reference/backend/views.rst:432 msgid "Their root element is ````. Available attributes on the calendar view are:" msgstr "" -#: ../../content/developer/reference/backend/views.rst:422 -#: ../../content/developer/reference/backend/views.rst:1019 +#: ../../content/developer/reference/backend/views.rst:437 +#: ../../content/developer/reference/backend/views.rst:1034 msgid "``date_start`` (required)" msgstr "" -#: ../../content/developer/reference/backend/views.rst:423 +#: ../../content/developer/reference/backend/views.rst:438 msgid "name of the record's field holding the start date for the event" msgstr "" -#: ../../content/developer/reference/backend/views.rst:426 +#: ../../content/developer/reference/backend/views.rst:441 msgid "``date_stop``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:425 +#: ../../content/developer/reference/backend/views.rst:440 msgid "name of the record's field holding the end date for the event, if ``date_stop`` is provided records become movable (via drag and drop) directly in the calendar" msgstr "" -#: ../../content/developer/reference/backend/views.rst:429 +#: ../../content/developer/reference/backend/views.rst:444 msgid "``date_delay``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:429 +#: ../../content/developer/reference/backend/views.rst:444 msgid "alternative to ``date_stop``, provides the duration of the event instead of its end date (unit: day)" msgstr "" -#: ../../content/developer/reference/backend/views.rst:432 +#: ../../content/developer/reference/backend/views.rst:447 msgid "name of a record field to use for *color segmentation*. Records in the same color segment are allocated the same highlight color in the calendar, colors are allocated semi-randomly. Displayed the display_name/avatar of the visible record in the sidebar" msgstr "" -#: ../../content/developer/reference/backend/views.rst:438 -#: ../../content/developer/reference/backend/views.rst:1161 +#: ../../content/developer/reference/backend/views.rst:453 +#: ../../content/developer/reference/backend/views.rst:1176 msgid "``form_view_id``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:437 +#: ../../content/developer/reference/backend/views.rst:452 msgid "view to open when the user create or edit an event. Note that if this attribute is not set, the calendar view will fall back to the id of the form view in the current action, if any." msgstr "" -#: ../../content/developer/reference/backend/views.rst:442 +#: ../../content/developer/reference/backend/views.rst:457 msgid "``event_open_popup``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:441 +#: ../../content/developer/reference/backend/views.rst:456 msgid "If the option 'event_open_popup' is set to true, then the calendar view will open events (or records) in a FormViewDialog. Otherwise, it will open events in a new form view (with a do_action)" msgstr "" -#: ../../content/developer/reference/backend/views.rst:447 +#: ../../content/developer/reference/backend/views.rst:462 msgid "``quick_add``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:445 +#: ../../content/developer/reference/backend/views.rst:460 msgid "enables quick-event creation on click: only asks the user for a ``name`` (the field to which this values is saved can be controlled through ``rec_name``) and tries to create a new event with just that and the clicked event time. Falls back to a full form dialog if the quick creation fails" msgstr "" -#: ../../content/developer/reference/backend/views.rst:450 +#: ../../content/developer/reference/backend/views.rst:465 msgid "``create_name_field``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:450 +#: ../../content/developer/reference/backend/views.rst:465 msgid "name of the record's field holding the textual representation of the record, this is used when creating records through the 'quick create' mechanism" msgstr "" -#: ../../content/developer/reference/backend/views.rst:453 +#: ../../content/developer/reference/backend/views.rst:468 msgid "``all_day``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:453 +#: ../../content/developer/reference/backend/views.rst:468 msgid "name of a boolean field on the record indicating whether the corresponding event is flagged as day-long (and duration is irrelevant)" msgstr "" -#: ../../content/developer/reference/backend/views.rst:456 -#: ../../content/developer/reference/backend/views.rst:927 +#: ../../content/developer/reference/backend/views.rst:471 +#: ../../content/developer/reference/backend/views.rst:942 msgid "``mode``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:456 +#: ../../content/developer/reference/backend/views.rst:471 msgid "Default display mode when loading the calendar. Possible attributes are: ``day``, ``week``, ``month``, ``year``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:459 -#: ../../content/developer/reference/backend/views.rst:1138 +#: ../../content/developer/reference/backend/views.rst:474 +#: ../../content/developer/reference/backend/views.rst:1153 msgid "``scales``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:459 +#: ../../content/developer/reference/backend/views.rst:474 msgid "Comma-separated list of scales to provide. By default, all scales are available. See mode for possible scale values." msgstr "" -#: ../../content/developer/reference/backend/views.rst:462 +#: ../../content/developer/reference/backend/views.rst:477 msgid "``create``, ``delete``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:462 +#: ../../content/developer/reference/backend/views.rst:477 msgid "allows disabling the corresponding action in the view by setting the corresponding attribute to ``false``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:483 +#: ../../content/developer/reference/backend/views.rst:498 msgid "````" msgstr "" -#: ../../content/developer/reference/backend/views.rst:465 +#: ../../content/developer/reference/backend/views.rst:480 msgid "declares fields to aggregate or to use in kanban *logic*. If the field is simply displayed in the calendar cards." msgstr "" -#: ../../content/developer/reference/backend/views.rst:468 +#: ../../content/developer/reference/backend/views.rst:483 msgid "Fields can have additional attributes:" msgstr "" -#: ../../content/developer/reference/backend/views.rst:472 -#: ../../content/developer/reference/backend/views.rst:1827 +#: ../../content/developer/reference/backend/views.rst:487 +#: ../../content/developer/reference/backend/views.rst:1842 msgid "``invisible``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:473 +#: ../../content/developer/reference/backend/views.rst:488 msgid "use \"True\" to hide the value in the cards" msgstr "" -#: ../../content/developer/reference/backend/views.rst:475 +#: ../../content/developer/reference/backend/views.rst:490 msgid "``avatar_field``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:475 +#: ../../content/developer/reference/backend/views.rst:490 msgid "only for x2many field, to display the avatar instead of the display_name in the cards" msgstr "" -#: ../../content/developer/reference/backend/views.rst:479 +#: ../../content/developer/reference/backend/views.rst:494 msgid "``write_model`` and ``write_field`` and ``filter_field``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:478 +#: ../../content/developer/reference/backend/views.rst:493 msgid "you can add a filter and save the result in the defined model, the filter is added in the sidebar. The ``filter_field`` is optional and allows you to specify the field that will hold the status of the filter." msgstr "" -#: ../../content/developer/reference/backend/views.rst:483 +#: ../../content/developer/reference/backend/views.rst:498 msgid "``filters`` and ``color``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:482 +#: ../../content/developer/reference/backend/views.rst:497 msgid "use \"True\" to add this field in filter in the sidebar. You can specify a ``color`` field used to colorize the checkbox." msgstr "" -#: ../../content/developer/reference/backend/views.rst:488 +#: ../../content/developer/reference/backend/views.rst:503 msgid "Cohort" msgstr "" -#: ../../content/developer/reference/backend/views.rst:494 +#: ../../content/developer/reference/backend/views.rst:509 msgid "The cohort view is used to display and understand the way some data changes over a period of time. For example, imagine that for a given business, clients can subscribe to some service. The cohort view can then display the total number of subscriptions each month, and study the rate at which client leave the service (churn). When clicking on a cell, the cohort view will redirect you to a new action in which you will only see the records contained in the cell's time interval; this action contains a list view and a form view." msgstr "" -#: ../../content/developer/reference/backend/views.rst:502 +#: ../../content/developer/reference/backend/views.rst:517 msgid "By default the cohort view will use the same list and form views as those defined on the action. You can pass a list view and a form view to the context of the action in order to set/override the views that will be used (the context keys to use being `form_view_id` and `list_view_id`)" msgstr "" -#: ../../content/developer/reference/backend/views.rst:507 +#: ../../content/developer/reference/backend/views.rst:522 msgid "For example, here is a very simple cohort view:" msgstr "" -#: ../../content/developer/reference/backend/views.rst:513 +#: ../../content/developer/reference/backend/views.rst:528 msgid "The root element of the Cohort view is , it accepts the following attributes:" msgstr "" -#: ../../content/developer/reference/backend/views.rst:523 +#: ../../content/developer/reference/backend/views.rst:538 msgid "``date_start`` (mandatory)" msgstr "" -#: ../../content/developer/reference/backend/views.rst:522 +#: ../../content/developer/reference/backend/views.rst:537 msgid "A valid date or datetime field. This field is understood by the view as the beginning date of a record" msgstr "" -#: ../../content/developer/reference/backend/views.rst:527 +#: ../../content/developer/reference/backend/views.rst:542 msgid "``date_stop`` (mandatory)" msgstr "" -#: ../../content/developer/reference/backend/views.rst:526 +#: ../../content/developer/reference/backend/views.rst:541 msgid "A valid date or datetime field. This field is understood by the view as the end date of a record. This is the field that will determine the churn." msgstr "" -#: ../../content/developer/reference/backend/views.rst:532 +#: ../../content/developer/reference/backend/views.rst:547 msgid "``mode`` (optional)" msgstr "" -#: ../../content/developer/reference/backend/views.rst:530 +#: ../../content/developer/reference/backend/views.rst:545 msgid "A string to describe the mode. It should be either 'churn' or 'retention' (default). Churn mode will start at 0% and accumulate over time whereas retention will start at 100% and decrease over time." msgstr "" -#: ../../content/developer/reference/backend/views.rst:538 +#: ../../content/developer/reference/backend/views.rst:553 msgid "``timeline`` (optional)" msgstr "" -#: ../../content/developer/reference/backend/views.rst:535 +#: ../../content/developer/reference/backend/views.rst:550 msgid "A string to describe the timeline. It should be either 'backward' or 'forward' (default). Forward timeline will display data from date_start to date_stop, whereas backward timeline will display data from date_stop to date_start (when the date_start is in future / greater than date_stop)." msgstr "" -#: ../../content/developer/reference/backend/views.rst:542 -#: ../../content/developer/reference/backend/views.rst:1242 +#: ../../content/developer/reference/backend/views.rst:557 +#: ../../content/developer/reference/backend/views.rst:1257 msgid "``interval`` (optional)" msgstr "" -#: ../../content/developer/reference/backend/views.rst:541 +#: ../../content/developer/reference/backend/views.rst:556 msgid "A string to describe a time interval. It should be 'day', 'week', 'month'' (default) or 'year'." msgstr "" -#: ../../content/developer/reference/backend/views.rst:546 -#: ../../content/developer/reference/backend/views.rst:705 +#: ../../content/developer/reference/backend/views.rst:561 +#: ../../content/developer/reference/backend/views.rst:720 msgid "``measure`` (optional)" msgstr "" -#: ../../content/developer/reference/backend/views.rst:545 +#: ../../content/developer/reference/backend/views.rst:560 msgid "A field that can be aggregated. This field will be used to compute the values for each cell. If not set, the cohort view will count the number of occurrences." msgstr "" -#: ../../content/developer/reference/backend/views.rst:562 +#: ../../content/developer/reference/backend/views.rst:577 msgid "```` (optional)" msgstr "" -#: ../../content/developer/reference/backend/views.rst:549 +#: ../../content/developer/reference/backend/views.rst:564 msgid "allows to specify a particular field in order to manage it from the available measures, it's main use is for hiding a field from the selectable measures:" msgstr "" -#: ../../content/developer/reference/backend/views.rst:555 +#: ../../content/developer/reference/backend/views.rst:570 msgid "the name of the field to use in the view." msgstr "" -#: ../../content/developer/reference/backend/views.rst:557 -#: ../../content/developer/reference/backend/views.rst:628 -#: ../../content/developer/reference/backend/views.rst:662 -#: ../../content/developer/reference/backend/views.rst:737 -#: ../../content/developer/reference/backend/views.rst:1217 -#: ../../content/developer/reference/backend/views.rst:1247 -#: ../../content/developer/reference/backend/views.rst:2078 +#: ../../content/developer/reference/backend/views.rst:572 +#: ../../content/developer/reference/backend/views.rst:643 +#: ../../content/developer/reference/backend/views.rst:677 +#: ../../content/developer/reference/backend/views.rst:752 +#: ../../content/developer/reference/backend/views.rst:1232 +#: ../../content/developer/reference/backend/views.rst:1262 +#: ../../content/developer/reference/backend/views.rst:2093 msgid "``string`` (optional)" msgstr "" -#: ../../content/developer/reference/backend/views.rst:557 +#: ../../content/developer/reference/backend/views.rst:572 msgid "the name that would be used to display the field in the cohort view, overrides the default python String attribute of the field." msgstr "" -#: ../../content/developer/reference/backend/views.rst:562 -#: ../../content/developer/reference/backend/views.rst:1230 -#: ../../content/developer/reference/backend/views.rst:2100 +#: ../../content/developer/reference/backend/views.rst:577 +#: ../../content/developer/reference/backend/views.rst:1245 +#: ../../content/developer/reference/backend/views.rst:2115 msgid "``invisible`` (optional)" msgstr "" -#: ../../content/developer/reference/backend/views.rst:560 -#: ../../content/developer/reference/backend/views.rst:2098 +#: ../../content/developer/reference/backend/views.rst:575 +#: ../../content/developer/reference/backend/views.rst:2113 msgid "if true, the field will not appear either in the active measures nor in the selectable measures (useful for fields that do not make sense aggregated, such as fields in different units, e.g. € and $)." msgstr "" -#: ../../content/developer/reference/backend/views.rst:567 +#: ../../content/developer/reference/backend/views.rst:582 msgid "Dashboard" msgstr "" -#: ../../content/developer/reference/backend/views.rst:573 +#: ../../content/developer/reference/backend/views.rst:588 msgid "Like pivot and graph view, The dashboard view is used to display aggregate data. However, the dashboard can embed sub views, which makes it possible to have a more complete and interesting look on a given dataset." msgstr "" -#: ../../content/developer/reference/backend/views.rst:577 +#: ../../content/developer/reference/backend/views.rst:592 msgid "The dashboard view can display sub views, aggregates for some fields (over a domain), or even *formulas* (expressions which involves one or more aggregates). For example, here is a very simple dashboard:" msgstr "" -#: ../../content/developer/reference/backend/views.rst:594 +#: ../../content/developer/reference/backend/views.rst:609 msgid "The root element of the Dashboard view is , it does not accept any attributes." msgstr "" -#: ../../content/developer/reference/backend/views.rst:597 +#: ../../content/developer/reference/backend/views.rst:612 msgid "There are 5 possible type of tags in a dashboard view:" msgstr "" -#: ../../content/developer/reference/backend/views.rst:602 +#: ../../content/developer/reference/backend/views.rst:617 msgid "declares a sub view." msgstr "" -#: ../../content/developer/reference/backend/views.rst:604 -#: ../../content/developer/reference/backend/views.rst:623 -#: ../../content/developer/reference/backend/views.rst:645 -#: ../../content/developer/reference/backend/views.rst:723 -#: ../../content/developer/reference/backend/views.rst:759 +#: ../../content/developer/reference/backend/views.rst:619 +#: ../../content/developer/reference/backend/views.rst:638 +#: ../../content/developer/reference/backend/views.rst:660 +#: ../../content/developer/reference/backend/views.rst:738 +#: ../../content/developer/reference/backend/views.rst:774 msgid "Admissible attributes are:" msgstr "" -#: ../../content/developer/reference/backend/views.rst:609 +#: ../../content/developer/reference/backend/views.rst:624 msgid "``type`` (mandatory)" msgstr "" -#: ../../content/developer/reference/backend/views.rst:609 +#: ../../content/developer/reference/backend/views.rst:624 msgid "The type of the sub view. For example, *graph* or *pivot*." msgstr "" -#: ../../content/developer/reference/backend/views.rst:613 +#: ../../content/developer/reference/backend/views.rst:628 msgid "``ref`` (optional)" msgstr "" -#: ../../content/developer/reference/backend/views.rst:612 +#: ../../content/developer/reference/backend/views.rst:627 msgid "An xml id for a view. If not given, the default view for the model will be used." msgstr "" -#: ../../content/developer/reference/backend/views.rst:616 +#: ../../content/developer/reference/backend/views.rst:631 msgid "A string which identifies this element. It is mostly useful to be used as a target for an xpath." msgstr "" -#: ../../content/developer/reference/backend/views.rst:636 -#: ../../content/developer/reference/backend/views.rst:816 -#: ../../content/developer/reference/backend/views.rst:2379 +#: ../../content/developer/reference/backend/views.rst:651 +#: ../../content/developer/reference/backend/views.rst:831 +#: ../../content/developer/reference/backend/views.rst:2394 msgid "``group``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:620 +#: ../../content/developer/reference/backend/views.rst:635 msgid "defines a column layout. This is actually very similar to the group element in a form view." msgstr "" -#: ../../content/developer/reference/backend/views.rst:628 +#: ../../content/developer/reference/backend/views.rst:643 msgid "A description which will be displayed as a group title." msgstr "" -#: ../../content/developer/reference/backend/views.rst:631 +#: ../../content/developer/reference/backend/views.rst:646 msgid "``colspan`` (optional)" msgstr "" -#: ../../content/developer/reference/backend/views.rst:631 +#: ../../content/developer/reference/backend/views.rst:646 msgid "The number of subcolumns in this group tag. By default, 6." msgstr "" -#: ../../content/developer/reference/backend/views.rst:636 -#: ../../content/developer/reference/backend/views.rst:689 -#: ../../content/developer/reference/backend/views.rst:741 -#: ../../content/developer/reference/backend/views.rst:769 +#: ../../content/developer/reference/backend/views.rst:651 +#: ../../content/developer/reference/backend/views.rst:704 +#: ../../content/developer/reference/backend/views.rst:756 +#: ../../content/developer/reference/backend/views.rst:784 msgid "``col`` (optional)" msgstr "" -#: ../../content/developer/reference/backend/views.rst:634 +#: ../../content/developer/reference/backend/views.rst:649 msgid "The number of columns spanned by this group tag (only makes sense inside another group). By default, 6." msgstr "" -#: ../../content/developer/reference/backend/views.rst:715 +#: ../../content/developer/reference/backend/views.rst:730 msgid "``aggregate``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:639 +#: ../../content/developer/reference/backend/views.rst:654 msgid "declares an aggregate. This is the value of an aggregate for a given field over the current domain." msgstr "" -#: ../../content/developer/reference/backend/views.rst:642 +#: ../../content/developer/reference/backend/views.rst:657 msgid "Note that aggregates are supposed to be used inside a group tag (otherwise the style will not be properly applied)." msgstr "" -#: ../../content/developer/reference/backend/views.rst:655 +#: ../../content/developer/reference/backend/views.rst:670 msgid "``field`` (mandatory)" msgstr "" -#: ../../content/developer/reference/backend/views.rst:650 +#: ../../content/developer/reference/backend/views.rst:665 msgid "The field name to use for computing the aggregate. Possible field types are:" msgstr "" -#: ../../content/developer/reference/backend/views.rst:653 +#: ../../content/developer/reference/backend/views.rst:668 msgid "``integer`` (default group operator is sum)" msgstr "" -#: ../../content/developer/reference/backend/views.rst:654 +#: ../../content/developer/reference/backend/views.rst:669 msgid "``float`` (default group operator is sum)" msgstr "" -#: ../../content/developer/reference/backend/views.rst:655 +#: ../../content/developer/reference/backend/views.rst:670 msgid "``many2one`` (default group operator is count distinct)" msgstr "" -#: ../../content/developer/reference/backend/views.rst:658 +#: ../../content/developer/reference/backend/views.rst:673 msgid "A string to identify this aggregate (useful for formulas)" msgstr "" -#: ../../content/developer/reference/backend/views.rst:661 +#: ../../content/developer/reference/backend/views.rst:676 msgid "A short description that will be displayed above the value. If not given, it will fall back to the field string." msgstr "" -#: ../../content/developer/reference/backend/views.rst:665 +#: ../../content/developer/reference/backend/views.rst:680 msgid "An additional restriction on the set of records that we want to aggregate. This domain will be combined with the current domain." msgstr "" -#: ../../content/developer/reference/backend/views.rst:671 +#: ../../content/developer/reference/backend/views.rst:686 msgid "``domain_label`` (optional)" msgstr "" -#: ../../content/developer/reference/backend/views.rst:669 +#: ../../content/developer/reference/backend/views.rst:684 msgid "When the user clicks on an aggregate with a domain, it will be added to the search view as a facet. The string displayed for this facet can be customized with this attribute." msgstr "" -#: ../../content/developer/reference/backend/views.rst:685 +#: ../../content/developer/reference/backend/views.rst:700 msgid "``group_operator`` (optional)" msgstr "" -#: ../../content/developer/reference/backend/views.rst:674 -msgid "A valid postgreSQL aggregate function identifier to use when aggregating values (see https://www.postgresql.org/docs/9.5/static/functions-aggregate.html). If not provided, By default, the group_operator from the field definition is used. Note that no aggregation of field values is achieved if the group_operator value is \"\"." +#: ../../content/developer/reference/backend/views.rst:689 +msgid "A valid postgreSQL aggregate function identifier to use when aggregating values (see https://www.postgresql.org/docs/12/static/functions-aggregate.html). If not provided, By default, the group_operator from the field definition is used. Note that no aggregation of field values is achieved if the group_operator value is \"\"." msgstr "" -#: ../../content/developer/reference/backend/views.rst:679 +#: ../../content/developer/reference/backend/views.rst:694 msgid "The special aggregate function ``count_distinct`` (defined in odoo) can also be used here" msgstr "" -#: ../../content/developer/reference/backend/views.rst:688 -#: ../../content/developer/reference/backend/views.rst:740 -#: ../../content/developer/reference/backend/views.rst:768 +#: ../../content/developer/reference/backend/views.rst:703 +#: ../../content/developer/reference/backend/views.rst:755 +#: ../../content/developer/reference/backend/views.rst:783 msgid "The number of columns spanned by this tag (only makes sense inside a group). By default, 1." msgstr "" -#: ../../content/developer/reference/backend/views.rst:693 -#: ../../content/developer/reference/backend/views.rst:745 +#: ../../content/developer/reference/backend/views.rst:708 +#: ../../content/developer/reference/backend/views.rst:760 msgid "``widget`` (optional)" msgstr "" -#: ../../content/developer/reference/backend/views.rst:692 +#: ../../content/developer/reference/backend/views.rst:707 msgid "A widget to format the value (like the widget attribute for fields). For example, monetary." msgstr "" -#: ../../content/developer/reference/backend/views.rst:696 -#: ../../content/developer/reference/backend/views.rst:748 +#: ../../content/developer/reference/backend/views.rst:711 +#: ../../content/developer/reference/backend/views.rst:763 msgid "``help`` (optional)" msgstr "" -#: ../../content/developer/reference/backend/views.rst:696 -#: ../../content/developer/reference/backend/views.rst:748 +#: ../../content/developer/reference/backend/views.rst:711 +#: ../../content/developer/reference/backend/views.rst:763 msgid "A help message to dipslay in a tooltip (equivalent of help for a field in python)" msgstr "" -#: ../../content/developer/reference/backend/views.rst:699 +#: ../../content/developer/reference/backend/views.rst:714 msgid "This attribute is the name of a field describing the measure that has to be used in the graph and pivot views when clicking on the aggregate. The special value __count__ can be used to use the count measure." msgstr "" -#: ../../content/developer/reference/backend/views.rst:710 +#: ../../content/developer/reference/backend/views.rst:725 msgid "``clickable`` (optional)" msgstr "" -#: ../../content/developer/reference/backend/views.rst:708 +#: ../../content/developer/reference/backend/views.rst:723 msgid "A boolean indicating if this aggregate should be clickable or not (default to true). Clicking on a clickable aggregate will change the measures used by the subviews and add the value of the domain attribute (if any) to the search view." msgstr "" -#: ../../content/developer/reference/backend/views.rst:715 -#: ../../content/developer/reference/backend/views.rst:753 +#: ../../content/developer/reference/backend/views.rst:730 +#: ../../content/developer/reference/backend/views.rst:768 msgid "``value_label`` (optional)" msgstr "" -#: ../../content/developer/reference/backend/views.rst:713 +#: ../../content/developer/reference/backend/views.rst:728 msgid "A string put on the right of the aggregate value. For example, it can be useful to indicate the unit of measure of the aggregate value." msgstr "" -#: ../../content/developer/reference/backend/views.rst:753 +#: ../../content/developer/reference/backend/views.rst:768 msgid "``formula``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:718 +#: ../../content/developer/reference/backend/views.rst:733 msgid "declares a derived value. Formulas are values computed from aggregates." msgstr "" -#: ../../content/developer/reference/backend/views.rst:720 +#: ../../content/developer/reference/backend/views.rst:735 msgid "Note that like aggregates, formulas are supposed to be used inside a group tag (otherwise the style will not be properly applied)." msgstr "" -#: ../../content/developer/reference/backend/views.rst:731 +#: ../../content/developer/reference/backend/views.rst:746 msgid "``value`` (mandatory)" msgstr "" -#: ../../content/developer/reference/backend/views.rst:728 +#: ../../content/developer/reference/backend/views.rst:743 msgid "A string expression that will be evaluated, with the builtin python evaluator (in the web client). Every aggregate can be used in the context, in the ``record`` variable. For example, ``record.price_total / record.order_id``." msgstr "" -#: ../../content/developer/reference/backend/views.rst:734 +#: ../../content/developer/reference/backend/views.rst:749 msgid "A string to identify this formula" msgstr "" -#: ../../content/developer/reference/backend/views.rst:737 +#: ../../content/developer/reference/backend/views.rst:752 msgid "A short description that will be displayed above the formula." msgstr "" -#: ../../content/developer/reference/backend/views.rst:744 +#: ../../content/developer/reference/backend/views.rst:759 msgid "A widget to format the value (like the widget attribute for fields). For example, monetary. By default, it is 'float'." msgstr "" -#: ../../content/developer/reference/backend/views.rst:751 +#: ../../content/developer/reference/backend/views.rst:766 msgid "A string put on the right of the formula value. For example, it can be useful to indicate the unit of measure of the formula value." msgstr "" -#: ../../content/developer/reference/backend/views.rst:756 +#: ../../content/developer/reference/backend/views.rst:771 msgid "Declares a specialized widget to be used to display the information. This is a mechanism similar to the widgets in the form view." msgstr "" -#: ../../content/developer/reference/backend/views.rst:764 +#: ../../content/developer/reference/backend/views.rst:779 msgid "A string to identify which widget should be instantiated. The view will look into the ``widget_registry`` to get the proper class." msgstr "" -#: ../../content/developer/reference/backend/views.rst:776 +#: ../../content/developer/reference/backend/views.rst:791 msgid "Form views are used to display the data from a single record. Their root element is ``
``. They are composed of regular HTML_ with additional structural and semantic components." msgstr "" -#: ../../content/developer/reference/backend/views.rst:781 -#: ../../content/developer/reference/backend/views.rst:2003 +#: ../../content/developer/reference/backend/views.rst:796 +#: ../../content/developer/reference/backend/views.rst:2018 msgid "Structural components" msgstr "" -#: ../../content/developer/reference/backend/views.rst:783 +#: ../../content/developer/reference/backend/views.rst:798 msgid "Structural components provide structure or \"visual\" features with little logic. They are used as elements or sets of elements in form views." msgstr "" -#: ../../content/developer/reference/backend/views.rst:801 +#: ../../content/developer/reference/backend/views.rst:816 msgid "``notebook``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:789 +#: ../../content/developer/reference/backend/views.rst:804 msgid "defines a tabbed section. Each tab is defined through a ``page`` child element. Pages can have the following attributes:" msgstr "" -#: ../../content/developer/reference/backend/views.rst:794 -#: ../../content/developer/reference/backend/views.rst:1939 -#: ../../content/developer/reference/backend/views.rst:2249 +#: ../../content/developer/reference/backend/views.rst:809 +#: ../../content/developer/reference/backend/views.rst:1954 +#: ../../content/developer/reference/backend/views.rst:2264 msgid "``string`` (required)" msgstr "" -#: ../../content/developer/reference/backend/views.rst:795 +#: ../../content/developer/reference/backend/views.rst:810 msgid "the title of the tab" msgstr "" -#: ../../content/developer/reference/backend/views.rst:796 +#: ../../content/developer/reference/backend/views.rst:811 msgid "``accesskey``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:797 +#: ../../content/developer/reference/backend/views.rst:812 msgid "an HTML accesskey_" msgstr "" -#: ../../content/developer/reference/backend/views.rst:799 -#: ../../content/developer/reference/backend/views.rst:905 -#: ../../content/developer/reference/backend/views.rst:963 -#: ../../content/developer/reference/backend/views.rst:1794 -#: ../../content/developer/reference/backend/views.rst:1850 +#: ../../content/developer/reference/backend/views.rst:814 +#: ../../content/developer/reference/backend/views.rst:920 +#: ../../content/developer/reference/backend/views.rst:978 +#: ../../content/developer/reference/backend/views.rst:1809 +#: ../../content/developer/reference/backend/views.rst:1865 msgid "``attrs``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:799 +#: ../../content/developer/reference/backend/views.rst:814 msgid "standard dynamic attributes based on record values" msgstr "" -#: ../../content/developer/reference/backend/views.rst:801 +#: ../../content/developer/reference/backend/views.rst:816 msgid "Note that ``notebook`` should not be placed within ``group``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:804 +#: ../../content/developer/reference/backend/views.rst:819 msgid "used to define column layouts in forms. By default, groups define 2 columns and most direct children of groups take a single column. ``field`` direct children of groups display a label by default, and the label and the field itself have a colspan of 1 each." msgstr "" -#: ../../content/developer/reference/backend/views.rst:809 +#: ../../content/developer/reference/backend/views.rst:824 msgid "The number of columns in a ``group`` can be customized using the ``col`` attribute, the number of columns taken by an element can be customized using ``colspan``." msgstr "" -#: ../../content/developer/reference/backend/views.rst:813 +#: ../../content/developer/reference/backend/views.rst:828 msgid "Children are laid out horizontally (tries to fill the next column before changing row)." msgstr "" -#: ../../content/developer/reference/backend/views.rst:816 +#: ../../content/developer/reference/backend/views.rst:831 msgid "Groups can have a ``string`` attribute, which is displayed as the group's title" msgstr "" -#: ../../content/developer/reference/backend/views.rst:820 +#: ../../content/developer/reference/backend/views.rst:835 msgid "``newline``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:819 +#: ../../content/developer/reference/backend/views.rst:834 msgid "only useful within ``group`` elements, ends the current row early and immediately switches to a new row (without filling any remaining column beforehand)" msgstr "" -#: ../../content/developer/reference/backend/views.rst:823 -#: ../../content/developer/reference/backend/views.rst:2375 +#: ../../content/developer/reference/backend/views.rst:838 +#: ../../content/developer/reference/backend/views.rst:2390 msgid "``separator``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:823 +#: ../../content/developer/reference/backend/views.rst:838 msgid "small horizontal spacing, with a ``string`` attribute behaves as a section title" msgstr "" -#: ../../content/developer/reference/backend/views.rst:826 +#: ../../content/developer/reference/backend/views.rst:841 msgid "``sheet``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:826 +#: ../../content/developer/reference/backend/views.rst:841 msgid "can be used as a direct child to ``form`` for a narrower and more responsive form layout" msgstr "" -#: ../../content/developer/reference/backend/views.rst:830 +#: ../../content/developer/reference/backend/views.rst:845 msgid "``header``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:829 +#: ../../content/developer/reference/backend/views.rst:844 msgid "combined with ``sheet``, provides a full-width location above the sheet itself, generally used to display workflow buttons and status widgets" msgstr "" -#: ../../content/developer/reference/backend/views.rst:833 +#: ../../content/developer/reference/backend/views.rst:848 msgid "Semantic components" msgstr "" -#: ../../content/developer/reference/backend/views.rst:835 +#: ../../content/developer/reference/backend/views.rst:850 msgid "Semantic components tie into and allow interaction with the Odoo system. Available semantic components are:" msgstr "" -#: ../../content/developer/reference/backend/views.rst:852 -#: ../../content/developer/reference/backend/views.rst:1811 +#: ../../content/developer/reference/backend/views.rst:867 +#: ../../content/developer/reference/backend/views.rst:1826 msgid "``button``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:841 +#: ../../content/developer/reference/backend/views.rst:856 msgid "call into the Odoo system, similar to :ref:`list view buttons `. In addition, the following attribute can be specified:" msgstr "" -#: ../../content/developer/reference/backend/views.rst:848 +#: ../../content/developer/reference/backend/views.rst:863 msgid "``special``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:848 +#: ../../content/developer/reference/backend/views.rst:863 msgid "for form views opened in dialogs: ``save`` to save the record and close the dialog, ``cancel`` to close the dialog without saving." msgstr "" -#: ../../content/developer/reference/backend/views.rst:852 +#: ../../content/developer/reference/backend/views.rst:867 msgid "``confirm``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:851 +#: ../../content/developer/reference/backend/views.rst:866 msgid "confirmation message to display (and for the user to accept) before performing the button's Odoo call (also works in Kanban views)." msgstr "" -#: ../../content/developer/reference/backend/views.rst:855 +#: ../../content/developer/reference/backend/views.rst:870 msgid "renders (and allow editing of, possibly) a single field of the current record. Using several times a field in a form view is supported and the fields can receive different values for modifiers 'invisible' and 'readonly'. However, the behavior is not guaranteed when several fields exist with different values for modifier 'required'. Possible attributes of the field node are:" msgstr "" -#: ../../content/developer/reference/backend/views.rst:864 +#: ../../content/developer/reference/backend/views.rst:879 msgid "the name of the field to render" msgstr "" -#: ../../content/developer/reference/backend/views.rst:866 +#: ../../content/developer/reference/backend/views.rst:881 msgid "the node id. Useful when there are several occurrences of the same field in the view (see ``label`` component below). Default is the field name." msgstr "" -#: ../../content/developer/reference/backend/views.rst:869 +#: ../../content/developer/reference/backend/views.rst:884 msgid "fields have a default rendering based on their type (e.g. :class:`~odoo.fields.Char`, :class:`~odoo.fields.Many2one`). The ``widget`` attributes allows using a different rendering method and context." msgstr "" -#: ../../content/developer/reference/backend/views.rst:874 +#: ../../content/developer/reference/backend/views.rst:889 msgid "list of widgets" msgstr "" -#: ../../content/developer/reference/backend/views.rst:876 +#: ../../content/developer/reference/backend/views.rst:891 msgid "& options & specific attributes (e.g. widget=statusbar statusbar_visible clickable)" msgstr "" -#: ../../content/developer/reference/backend/views.rst:879 +#: ../../content/developer/reference/backend/views.rst:894 msgid "``options``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:879 +#: ../../content/developer/reference/backend/views.rst:894 msgid "JSON object specifying configuration option for the field's widget (including default widgets)" msgstr "" -#: ../../content/developer/reference/backend/views.rst:893 -#: ../../content/developer/reference/backend/views.rst:959 -#: ../../content/developer/reference/backend/views.rst:1545 +#: ../../content/developer/reference/backend/views.rst:908 +#: ../../content/developer/reference/backend/views.rst:974 +#: ../../content/developer/reference/backend/views.rst:1560 msgid "``class``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:882 +#: ../../content/developer/reference/backend/views.rst:897 msgid "HTML class to set on the generated element, common field classes are:" msgstr "" -#: ../../content/developer/reference/backend/views.rst:886 +#: ../../content/developer/reference/backend/views.rst:901 msgid "``oe_inline``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:887 +#: ../../content/developer/reference/backend/views.rst:902 msgid "prevent the usual line break following fields" msgstr "" -#: ../../content/developer/reference/backend/views.rst:888 +#: ../../content/developer/reference/backend/views.rst:903 msgid "``oe_left``, ``oe_right``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:889 +#: ../../content/developer/reference/backend/views.rst:904 msgid "floats_ the field to the corresponding direction" msgstr "" -#: ../../content/developer/reference/backend/views.rst:890 +#: ../../content/developer/reference/backend/views.rst:905 msgid "``oe_read_only``, ``oe_edit_only``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:891 +#: ../../content/developer/reference/backend/views.rst:906 msgid "only displays the field in the corresponding form mode" msgstr "" -#: ../../content/developer/reference/backend/views.rst:893 +#: ../../content/developer/reference/backend/views.rst:908 msgid "``oe_avatar``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:893 +#: ../../content/developer/reference/backend/views.rst:908 msgid "for image fields, displays images as \"avatar\" (square, 90x90 maximum size, some image decorations)" msgstr "" -#: ../../content/developer/reference/backend/views.rst:896 +#: ../../content/developer/reference/backend/views.rst:911 msgid "only displays the field for specific users" msgstr "" -#: ../../content/developer/reference/backend/views.rst:903 +#: ../../content/developer/reference/backend/views.rst:918 msgid "``on_change``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:898 +#: ../../content/developer/reference/backend/views.rst:913 msgid "calls the specified method when this field's value is edited, can generate update other fields or display warnings for the user" msgstr "" -#: ../../content/developer/reference/backend/views.rst:903 +#: ../../content/developer/reference/backend/views.rst:918 msgid "Use :func:`odoo.api.onchange` on the model" msgstr "" -#: ../../content/developer/reference/backend/views.rst:906 +#: ../../content/developer/reference/backend/views.rst:921 msgid "dynamic meta-parameters based on record values" msgstr "" -#: ../../content/developer/reference/backend/views.rst:908 +#: ../../content/developer/reference/backend/views.rst:923 msgid "for relational fields only, filters to apply when displaying existing records for selection" msgstr "" -#: ../../content/developer/reference/backend/views.rst:911 +#: ../../content/developer/reference/backend/views.rst:926 msgid "for relational fields only, context to pass when fetching possible values" msgstr "" -#: ../../content/developer/reference/backend/views.rst:913 +#: ../../content/developer/reference/backend/views.rst:928 msgid "``readonly``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:913 +#: ../../content/developer/reference/backend/views.rst:928 msgid "display the field in both readonly and edit mode, but never make it editable" msgstr "" -#: ../../content/developer/reference/backend/views.rst:916 +#: ../../content/developer/reference/backend/views.rst:931 msgid "``required``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:916 +#: ../../content/developer/reference/backend/views.rst:931 msgid "generates an error and prevents saving the record if the field doesn't have a value" msgstr "" -#: ../../content/developer/reference/backend/views.rst:919 -#: ../../content/developer/reference/backend/views.rst:1868 +#: ../../content/developer/reference/backend/views.rst:934 +#: ../../content/developer/reference/backend/views.rst:1883 msgid "``nolabel``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:919 +#: ../../content/developer/reference/backend/views.rst:934 msgid "don't automatically display the field's label, only makes sense if the field is a direct child of a ``group`` element" msgstr "" -#: ../../content/developer/reference/backend/views.rst:923 +#: ../../content/developer/reference/backend/views.rst:938 msgid "``placeholder``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:922 +#: ../../content/developer/reference/backend/views.rst:937 msgid "help message to display in *empty* fields. Can replace field labels in complex forms. *Should not* be an example of data as users are liable to confuse placeholder text with filled fields" msgstr "" -#: ../../content/developer/reference/backend/views.rst:926 +#: ../../content/developer/reference/backend/views.rst:941 msgid "for :class:`~odoo.fields.One2many`, display mode (view type) to use for the field's linked records. One of ``tree``, ``form``, ``kanban`` or ``graph``. The default is ``tree`` (a list display)" msgstr "" -#: ../../content/developer/reference/backend/views.rst:929 -#: ../../content/developer/reference/backend/views.rst:2344 +#: ../../content/developer/reference/backend/views.rst:944 +#: ../../content/developer/reference/backend/views.rst:2359 msgid "``help``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:930 +#: ../../content/developer/reference/backend/views.rst:945 msgid "tooltip displayed for users when hovering the field or its label" msgstr "" -#: ../../content/developer/reference/backend/views.rst:932 +#: ../../content/developer/reference/backend/views.rst:947 msgid "``filename``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:932 +#: ../../content/developer/reference/backend/views.rst:947 msgid "for binary fields, name of the related field providing the name of the file" msgstr "" -#: ../../content/developer/reference/backend/views.rst:935 +#: ../../content/developer/reference/backend/views.rst:950 msgid "``password``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:935 +#: ../../content/developer/reference/backend/views.rst:950 msgid "indicates that a :class:`~odoo.fields.Char` field stores a password and that its data shouldn't be displayed" msgstr "" -#: ../../content/developer/reference/backend/views.rst:939 +#: ../../content/developer/reference/backend/views.rst:954 msgid "``kanban_view_ref``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:938 +#: ../../content/developer/reference/backend/views.rst:953 msgid "for opening specific kanban view when selecting records from m2o/m2m in mobile environment" msgstr "" -#: ../../content/developer/reference/backend/views.rst:963 +#: ../../content/developer/reference/backend/views.rst:978 msgid "``label``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:942 +#: ../../content/developer/reference/backend/views.rst:957 msgid "when a ``field`` component isn't placed directly inside a ``group``, or when its ``nolabel`` attribute is set, the field's label isn't automatically displayed alongside its value. The ``label`` component is the manual alternative of displaying the label of a field. Possible attributes are:" msgstr "" -#: ../../content/developer/reference/backend/views.rst:954 +#: ../../content/developer/reference/backend/views.rst:969 msgid "``for`` (mandatory)" msgstr "" -#: ../../content/developer/reference/backend/views.rst:950 +#: ../../content/developer/reference/backend/views.rst:965 msgid "the reference to the field associated with the label. Can be either the name of a field, or its id (``id`` attribute set on the ``field``). When there are several occurrences of the same field in the view, and there are several ``label`` components associated with these ``field`` nodes, those labels must have unique ``for`` attributes (in this case referencing the ``id`` attribute of the corresponding ``field`` nodes)." msgstr "" -#: ../../content/developer/reference/backend/views.rst:957 +#: ../../content/developer/reference/backend/views.rst:972 msgid "the label to display. Display the field's label (coming from the field definition in the model) by default." msgstr "" -#: ../../content/developer/reference/backend/views.rst:960 -#: ../../content/developer/reference/backend/views.rst:962 +#: ../../content/developer/reference/backend/views.rst:975 +#: ../../content/developer/reference/backend/views.rst:977 msgid "same as for ``field`` component." msgstr "" -#: ../../content/developer/reference/backend/views.rst:998 +#: ../../content/developer/reference/backend/views.rst:1013 msgid "classes for forms" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1000 +#: ../../content/developer/reference/backend/views.rst:1015 msgid "widgets?" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1011 +#: ../../content/developer/reference/backend/views.rst:1026 msgid "Gantt views appropriately display Gantt charts (for scheduling)." msgstr "" -#: ../../content/developer/reference/backend/views.rst:1013 +#: ../../content/developer/reference/backend/views.rst:1028 msgid "The root element of gantt views is ````, it has no children but can take the following attributes:" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1019 +#: ../../content/developer/reference/backend/views.rst:1034 msgid "name of the field providing the start datetime of the event for each record." msgstr "" -#: ../../content/developer/reference/backend/views.rst:1022 +#: ../../content/developer/reference/backend/views.rst:1037 msgid "``date_stop`` (required)" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1022 +#: ../../content/developer/reference/backend/views.rst:1037 msgid "name of the field providing the end duration of the event for each record." msgstr "" -#: ../../content/developer/reference/backend/views.rst:1027 +#: ../../content/developer/reference/backend/views.rst:1042 msgid "``dependency_field``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1025 +#: ../../content/developer/reference/backend/views.rst:1040 msgid "name of the ``many2many`` field that provides the dependency relation between two records. If B depends on A, ``dependency_field`` is the field that allows getting A from B. Both this field and ``dependency_inverted_field`` field are used to draw dependency arrows between pills and reschedule them." msgstr "" -#: ../../content/developer/reference/backend/views.rst:1031 +#: ../../content/developer/reference/backend/views.rst:1046 msgid "``dependency_inverted_field`` (required if ``dependency_field`` is provided)" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1030 +#: ../../content/developer/reference/backend/views.rst:1045 msgid "name of the ``many2many`` field that provides the invert dependency relation than ``dependency_field``. If B depends on A, ``dependency_inverted_field`` is the field that allows getting B from A." msgstr "" -#: ../../content/developer/reference/backend/views.rst:1034 +#: ../../content/developer/reference/backend/views.rst:1049 msgid "name of the field used to color the pills according to its value" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1049 +#: ../../content/developer/reference/backend/views.rst:1064 msgid "``{$name}`` can be one of the following `bootstrap contextual color`_ (``danger``, ``info``, ``secondary``, ``success`` or ``warning``)." msgstr "" -#: ../../content/developer/reference/backend/views.rst:1051 -#: ../../content/developer/reference/backend/views.rst:1540 +#: ../../content/developer/reference/backend/views.rst:1066 +#: ../../content/developer/reference/backend/views.rst:1555 msgid "``default_group_by``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1052 +#: ../../content/developer/reference/backend/views.rst:1067 msgid "name of a field to group tasks by" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1053 +#: ../../content/developer/reference/backend/views.rst:1068 msgid "``disable_drag_drop``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1054 +#: ../../content/developer/reference/backend/views.rst:1069 msgid "if set to true, the gantt view will not have any drag&drop support" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1055 +#: ../../content/developer/reference/backend/views.rst:1070 msgid "``consolidation``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1056 +#: ../../content/developer/reference/backend/views.rst:1071 msgid "field name to display consolidation value in record cell" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1059 +#: ../../content/developer/reference/backend/views.rst:1074 msgid "``consolidation_max``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1058 +#: ../../content/developer/reference/backend/views.rst:1073 msgid "dictionary with the \"group by\" field as key and the maximum consolidation value that can be reached before displaying the cell in red (e.g. ``{\"user_id\": 100}``)" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1063 +#: ../../content/developer/reference/backend/views.rst:1078 msgid "``consolidation_exclude``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1062 +#: ../../content/developer/reference/backend/views.rst:1077 msgid "name of the field that describes if the task has to be excluded from the consolidation if set to true it displays a striped zone in the consolidation line" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1080 +#: ../../content/developer/reference/backend/views.rst:1095 msgid "``create``, ``cell_create``, ``edit``, ``delete``, ``plan``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1066 +#: ../../content/developer/reference/backend/views.rst:1081 msgid "allows *dis*\\ abling the corresponding action in the view by setting the corresponding attribute to ``false`` (default: ``true``)." msgstr "" -#: ../../content/developer/reference/backend/views.rst:1069 +#: ../../content/developer/reference/backend/views.rst:1084 msgid "``create``: If enabled, an ``Add`` button will be available in the control panel to create records." msgstr "" -#: ../../content/developer/reference/backend/views.rst:1071 +#: ../../content/developer/reference/backend/views.rst:1086 msgid "``cell_create``: If enabled and ``create`` enabled, a \"**+**\" button will be displayed while hovering on a time slot cell to create a new record on that slot." msgstr "" -#: ../../content/developer/reference/backend/views.rst:1073 +#: ../../content/developer/reference/backend/views.rst:1088 msgid "``edit``: If enabled, the opened records will be in edit mode (thus editable)." msgstr "" -#: ../../content/developer/reference/backend/views.rst:1074 +#: ../../content/developer/reference/backend/views.rst:1089 msgid "``plan``: If enabled and ``edit`` enabled, a \"magnifying glass\" button will be displayed on time slots to plan unassigned records into that time slot." msgstr "" -#: ../../content/developer/reference/backend/views.rst:1079 +#: ../../content/developer/reference/backend/views.rst:1094 msgid "When you do not want to create records on the gantt view and the beginning and end dates are required on the model, the planning feature should be disabled because no record will ever be found." msgstr "" -#: ../../content/developer/reference/backend/views.rst:1085 +#: ../../content/developer/reference/backend/views.rst:1100 msgid "``offset``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1083 +#: ../../content/developer/reference/backend/views.rst:1098 msgid "Depending on the scale, the number of units to add to today to compute the default period. Examples: An offset of +1 in default_scale week will open the gantt view for next week, and an offset of -2 in default_scale month will open the gantt view of 2 months ago." msgstr "" -#: ../../content/developer/reference/backend/views.rst:1088 +#: ../../content/developer/reference/backend/views.rst:1103 msgid "``progress``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1088 +#: ../../content/developer/reference/backend/views.rst:1103 msgid "name of a field providing the completion percentage for the record's event, between 0 and 100" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1091 +#: ../../content/developer/reference/backend/views.rst:1106 msgid "title of the gantt view" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1116 +#: ../../content/developer/reference/backend/views.rst:1131 msgid "``precision``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1093 +#: ../../content/developer/reference/backend/views.rst:1108 msgid "JSON object specifying snapping precisions for the pills in each scale." msgstr "" -#: ../../content/developer/reference/backend/views.rst:1095 +#: ../../content/developer/reference/backend/views.rst:1110 msgid "Possible values for scale ``day`` are (default: ``hour``):" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1097 +#: ../../content/developer/reference/backend/views.rst:1112 msgid "``hour``: records times snap to full hours (ex: 7:12 becomes 8:00)" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1099 +#: ../../content/developer/reference/backend/views.rst:1114 msgid "``hour:half``: records times snap to half hours (ex: 7:12 becomes 7:30)" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1101 +#: ../../content/developer/reference/backend/views.rst:1116 msgid "``hour:quarter``: records times snap to half hours (ex: 7:12 becomes 7:15)" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1103 +#: ../../content/developer/reference/backend/views.rst:1118 msgid "Possible values for scale ``week`` are (default: ``day:half``):" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1105 -#: ../../content/developer/reference/backend/views.rst:1111 +#: ../../content/developer/reference/backend/views.rst:1120 +#: ../../content/developer/reference/backend/views.rst:1126 msgid "``day``: records times snap to full days (ex: 7:28 AM becomes 11:59:59 PM of the previous day, 10:32 PM becomes 12:00 PM of the current day)" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1107 -#: ../../content/developer/reference/backend/views.rst:1113 +#: ../../content/developer/reference/backend/views.rst:1122 +#: ../../content/developer/reference/backend/views.rst:1128 msgid "``day:half``: records times snap to half hours (ex: 7:28 AM becomes 12:00 PM)" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1109 +#: ../../content/developer/reference/backend/views.rst:1124 msgid "Possible values for scale ``month`` are (default: ``day:half``):" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1115 +#: ../../content/developer/reference/backend/views.rst:1130 msgid "Scale ``year`` always snap to full day." msgstr "" -#: ../../content/developer/reference/backend/views.rst:1117 +#: ../../content/developer/reference/backend/views.rst:1132 msgid "Example of precision attribute: ``{\"day\": \"hour:quarter\", \"week\": \"day:half\", \"month\": \"day\"}``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1119 +#: ../../content/developer/reference/backend/views.rst:1134 msgid "``total_row``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1119 +#: ../../content/developer/reference/backend/views.rst:1134 msgid "boolean to control whether the row containing the total count of records should be displayed. (default: ``false``)" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1122 +#: ../../content/developer/reference/backend/views.rst:1137 msgid "``collapse_first_level``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1122 +#: ../../content/developer/reference/backend/views.rst:1137 msgid "boolean to control whether it is possible to collapse each row if grouped by one field. (default: ``false``, the collapse starts when grouping by two fields)" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1126 +#: ../../content/developer/reference/backend/views.rst:1141 msgid "``display_unavailability``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1125 +#: ../../content/developer/reference/backend/views.rst:1140 msgid "boolean to mark the dates returned by the ``gantt_unavailability`` function of the model as available inside the gantt view. Records can still be scheduled in them, but their unavailability is visually displayed. (default: ``false``)" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1134 +#: ../../content/developer/reference/backend/views.rst:1149 msgid "``default_scale``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1129 +#: ../../content/developer/reference/backend/views.rst:1144 msgid "default scale when rendering the view. Possible values are (default: ``month``):" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1131 +#: ../../content/developer/reference/backend/views.rst:1146 msgid "``day``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1132 +#: ../../content/developer/reference/backend/views.rst:1147 msgid "``week``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1133 +#: ../../content/developer/reference/backend/views.rst:1148 msgid "``month``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1134 +#: ../../content/developer/reference/backend/views.rst:1149 msgid "``year``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1137 +#: ../../content/developer/reference/backend/views.rst:1152 msgid "comma-separated list of allowed scales for this view. By default, all scales are allowed. For possible scale values to use in this list, see ``default_scale``." msgstr "" -#: ../../content/developer/reference/backend/views.rst:1141 +#: ../../content/developer/reference/backend/views.rst:1156 msgid "defines the :ref:`reference/qweb` template ``gantt-popover`` which is used when the user hovers over one of the records in the gantt view." msgstr "" -#: ../../content/developer/reference/backend/views.rst:1144 +#: ../../content/developer/reference/backend/views.rst:1159 msgid "The gantt view uses mostly-standard :ref:`javascript qweb ` and provides the following context variables:" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1150 +#: ../../content/developer/reference/backend/views.rst:1165 msgid "the current :js:class:`GanttRow`, can be used to fetch some meta-information. The ``getColor`` method to convert in a color integer is also available directly in the template context without using ``widget``." msgstr "" -#: ../../content/developer/reference/backend/views.rst:1156 +#: ../../content/developer/reference/backend/views.rst:1171 msgid "``on_create``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1155 +#: ../../content/developer/reference/backend/views.rst:1170 msgid "If specified when clicking the add button on the view, instead of opening a generic dialog, launch a client action. this should hold the xmlid of the action (eg: ``on_create=\"%(my_module.my_wizard)d\"``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1159 +#: ../../content/developer/reference/backend/views.rst:1174 msgid "view to open when the user create or edit a record. Note that if this attribute is not set, the gantt view will fall back to the id of the form view in the current action, if any." msgstr "" -#: ../../content/developer/reference/backend/views.rst:1165 +#: ../../content/developer/reference/backend/views.rst:1180 msgid "``dynamic_range``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1164 +#: ../../content/developer/reference/backend/views.rst:1179 msgid "if set to true, the gantt view will start at the first record, instead of starting at the beginning of the year/month/day." msgstr "" -#: ../../content/developer/reference/backend/views.rst:1169 +#: ../../content/developer/reference/backend/views.rst:1184 msgid "``pill_label``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1168 +#: ../../content/developer/reference/backend/views.rst:1183 msgid "If set to true, the time appears in the pill label when the scale is set on week or month. (e.g. `7:00 AM - 11:00 AM (4h) - DST Task 1`)" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1188 +#: ../../content/developer/reference/backend/views.rst:1203 msgid "``thumbnails``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1172 +#: ../../content/developer/reference/backend/views.rst:1187 msgid "This allows to display a thumbnail next to groups name if the group is a relationnal field. This expects a python dict which keys are the name of the field on the active model. Values are the names of the field holding the thumbnail on the related model." msgstr "" -#: ../../content/developer/reference/backend/views.rst:1176 +#: ../../content/developer/reference/backend/views.rst:1191 msgid "Example: tasks have a field user_id that reference res.users. The res.users model has a field image that holds the avatar, then:" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1188 +#: ../../content/developer/reference/backend/views.rst:1203 msgid "will display the users avatars next to their names when grouped by user_id." msgstr "" -#: ../../content/developer/reference/backend/views.rst:1193 +#: ../../content/developer/reference/backend/views.rst:1208 msgid "Graph" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1195 +#: ../../content/developer/reference/backend/views.rst:1210 msgid "The graph view is used to visualize aggregations over a number of records or record groups. Its root element is ```` which can take the following attributes:" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1202 -#: ../../content/developer/reference/backend/views.rst:1236 -#: ../../content/developer/reference/backend/views.rst:2095 +#: ../../content/developer/reference/backend/views.rst:1217 +#: ../../content/developer/reference/backend/views.rst:1251 +#: ../../content/developer/reference/backend/views.rst:2110 msgid "``type`` (optional)" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1202 +#: ../../content/developer/reference/backend/views.rst:1217 msgid "one of ``bar`` (default), ``pie`` and ``line``, the type of graph to use" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1206 +#: ../../content/developer/reference/backend/views.rst:1221 msgid "``stacked`` (optional)" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1205 +#: ../../content/developer/reference/backend/views.rst:1220 msgid "only used for ``bar`` charts. Set to ``0`` to prevent the bars within a group to be stacked initially." msgstr "" -#: ../../content/developer/reference/backend/views.rst:1209 -#: ../../content/developer/reference/backend/views.rst:2053 +#: ../../content/developer/reference/backend/views.rst:1224 +#: ../../content/developer/reference/backend/views.rst:2068 msgid "``disable_linking`` (optional)" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1209 +#: ../../content/developer/reference/backend/views.rst:1224 msgid "set to ``1`` to prevent from redirecting clicks on graph to list view" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1214 +#: ../../content/developer/reference/backend/views.rst:1229 msgid "``order`` (optional)" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1212 +#: ../../content/developer/reference/backend/views.rst:1227 msgid "if set, x-axis values will be sorted by default according their measure with respect to the given order (``asc`` or ``desc``). Only used for ``bar`` and ``pie`` charts." msgstr "" -#: ../../content/developer/reference/backend/views.rst:1217 +#: ../../content/developer/reference/backend/views.rst:1232 msgid "string displayed in the breadcrumbs when redirecting to list view." msgstr "" -#: ../../content/developer/reference/backend/views.rst:1219 +#: ../../content/developer/reference/backend/views.rst:1234 msgid "The only allowed element within a graph view is ``field`` which can have the following attributes:" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1225 -#: ../../content/developer/reference/backend/views.rst:2073 +#: ../../content/developer/reference/backend/views.rst:1240 +#: ../../content/developer/reference/backend/views.rst:2088 msgid "the name of a field to use in the view. If used for grouping (rather than aggregating)" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1229 +#: ../../content/developer/reference/backend/views.rst:1244 msgid "if true, the field will not appear either in the active measures nor in the selectable measures." msgstr "" -#: ../../content/developer/reference/backend/views.rst:1233 +#: ../../content/developer/reference/backend/views.rst:1248 msgid "if set to ``measure``, the field will be used as an aggregated value within a group instead of a grouping criteria. It only works for the last field with that attribute but it is useful for other fields with string attribute (see below)." msgstr "" -#: ../../content/developer/reference/backend/views.rst:1239 +#: ../../content/developer/reference/backend/views.rst:1254 msgid "on date and datetime fields, groups by the specified interval (``day``, ``week``, ``month``, ``quarter`` or ``year``) instead of grouping on the specific datetime (fixed second resolution) or date (fixed day resolution). Default is ``month``." msgstr "" -#: ../../content/developer/reference/backend/views.rst:1245 +#: ../../content/developer/reference/backend/views.rst:1260 msgid "only used for field with ``type=\"measure\"``. The name that will be used to display the field in the graph view, overrides the default python String attribute of the field." msgstr "" -#: ../../content/developer/reference/backend/views.rst:1249 -#: ../../content/developer/reference/backend/views.rst:2102 +#: ../../content/developer/reference/backend/views.rst:1264 +#: ../../content/developer/reference/backend/views.rst:2117 msgid "The measures are automatically generated from the model fields; only the aggregatable fields are used. Those measures are also alphabetically sorted on the string of the field." msgstr "" -#: ../../content/developer/reference/backend/views.rst:1255 +#: ../../content/developer/reference/backend/views.rst:1270 msgid "graph view aggregations are performed on database content, non-stored function fields can not be used in graph views" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1261 +#: ../../content/developer/reference/backend/views.rst:1276 msgid "Grid" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1268 +#: ../../content/developer/reference/backend/views.rst:1283 #: ../../content/developer/reference/frontend/javascript_modules.rst:193 msgid "Limitations" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1270 +#: ../../content/developer/reference/backend/views.rst:1285 msgid "This view is a work in progress and may have to be expanded or altered." msgstr "" -#: ../../content/developer/reference/backend/views.rst:1272 +#: ../../content/developer/reference/backend/views.rst:1287 msgid "only ``date`` column fields have been tested, ``selection`` and ``many2one`` are nominally implemented and supported but have not been tested, ``datetime`` is not implemented at all." msgstr "" -#: ../../content/developer/reference/backend/views.rst:1275 +#: ../../content/developer/reference/backend/views.rst:1290 msgid "column cells are hardly configurable and must be numerical" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1276 +#: ../../content/developer/reference/backend/views.rst:1291 msgid "cell adjustment is disabled by default and must be configured to be enabled" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1277 +#: ../../content/developer/reference/backend/views.rst:1292 msgid "``create``, ``edit`` and ``delete`` ACL metadata doesn't get automatically set on the view root due to limitations in ``fields_view_get`` post-processing (there's a fixed explicit list of the view types getting those attributes)" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1283 +#: ../../content/developer/reference/backend/views.rst:1298 msgid "Schema" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1285 +#: ../../content/developer/reference/backend/views.rst:1300 msgid "The grid view has its own schema and additional validation in this module. The view architecture is:" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1342 +#: ../../content/developer/reference/backend/views.rst:1357 msgid "```` (1)" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1289 +#: ../../content/developer/reference/backend/views.rst:1304 msgid "architecture root element" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1291 +#: ../../content/developer/reference/backend/views.rst:1306 msgid "mandatory ``string`` attribute" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1292 +#: ../../content/developer/reference/backend/views.rst:1307 msgid "optional ``create``, ``edit`` and ``delete`` attributes" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1293 +#: ../../content/developer/reference/backend/views.rst:1308 msgid "optional ``adjustment`` and ``adjust_name`` attributes" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1295 +#: ../../content/developer/reference/backend/views.rst:1310 msgid "``adjustment`` can be either ``object`` or ``action`` to indicate whether a cell's adjustment should be performed through a method call or an action execution. ``adjust_name`` provides respectively the method name and the action id." msgstr "" -#: ../../content/developer/reference/backend/views.rst:1300 +#: ../../content/developer/reference/backend/views.rst:1315 msgid "In both cases, the adjustment parameters are provided as a ``grid_adjust`` context member, in the ``object`` case, the parameters are also provided as positional function parameters (next to an empty list of ids):" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1305 +#: ../../content/developer/reference/backend/views.rst:1320 msgid "``row_domain``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1306 +#: ../../content/developer/reference/backend/views.rst:1321 msgid "the domain matching the entire row of the adjusted cell" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1307 +#: ../../content/developer/reference/backend/views.rst:1322 msgid "``column_field``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1308 +#: ../../content/developer/reference/backend/views.rst:1323 msgid "the name of the column for the adjusted cell" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1309 +#: ../../content/developer/reference/backend/views.rst:1324 msgid "``column_value``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1310 +#: ../../content/developer/reference/backend/views.rst:1325 msgid "the value of the column for the adjusted cell" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1311 +#: ../../content/developer/reference/backend/views.rst:1326 msgid "``cell_field``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1312 +#: ../../content/developer/reference/backend/views.rst:1327 msgid "the measure field of the adjusted cell" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1315 +#: ../../content/developer/reference/backend/views.rst:1330 msgid "``change``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1314 +#: ../../content/developer/reference/backend/views.rst:1329 msgid "the difference between the old value of the cell and the adjusted one, may be positive or negative" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1317 +#: ../../content/developer/reference/backend/views.rst:1332 msgid "optional ``hide_line_total`` and ``hide_column_total`` attributes" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1319 +#: ../../content/developer/reference/backend/views.rst:1334 msgid "``hide_line_total``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1320 +#: ../../content/developer/reference/backend/views.rst:1335 msgid "set to true to hide total line (default false)" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1322 +#: ../../content/developer/reference/backend/views.rst:1337 msgid "``hide_column_total``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1322 +#: ../../content/developer/reference/backend/views.rst:1337 msgid "set to true to hide total column (default false)" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1324 +#: ../../content/developer/reference/backend/views.rst:1339 msgid "optional ``barchart_total`` attribute" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1328 +#: ../../content/developer/reference/backend/views.rst:1343 msgid "``barchart_total``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1327 +#: ../../content/developer/reference/backend/views.rst:1342 msgid "set to ``true`` in order to display a bar chart at the bottom of the grid, based on the totals of the columns (default false)." msgstr "" -#: ../../content/developer/reference/backend/views.rst:1330 +#: ../../content/developer/reference/backend/views.rst:1345 msgid "optional ``create_inline`` and ``display_empty`` attributes" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1336 +#: ../../content/developer/reference/backend/views.rst:1351 msgid "``create_inline``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1333 +#: ../../content/developer/reference/backend/views.rst:1348 msgid "set to ``true`` in order to display an additional row at bottom of the grid with an ``Add a line`` button (default false). When this option is set to ``true``, the ``Add a line`` button from the control panel is hidden. When no data is available and when ``display_empty`` is not set (so when the help content is displayed), the the ``Add a line`` button from the control panel is shown in order to let the user create a first record." msgstr "" -#: ../../content/developer/reference/backend/views.rst:1342 +#: ../../content/developer/reference/backend/views.rst:1357 msgid "``display_empty``" msgstr "" -#: ../../content/developer/reference/backend/views.rst:1339 +#: ../../content/developer/reference/backend/views.rst:1354 msgid "set to ``true`` in order to keep displaying the grid when there is no data (default false). This can be useful when you want the user to be able to keep track of the current period (as dates are displayed in the columns headers). As a reminder, when no data are present and when this attribute is no set, the help content is displayed instead of the grid." msgstr "" -#: ../../content/developer/reference/backend/views.rst:1358 +#: ../../content/developer/reference/backend/views.rst:1373 msgid "``