Skip to Content
  • emergency maintenance on OCA server
    Hello everyone,
    
    We have a faulty disk on the OCA server. I opened a support issue to get 
    it replaced in the datacenter. This will result in a downtime of the 
    server, and possibly some degraded performance while the RAID arrays get 
    rebuild.
    
    Impacted services:
    
    * our Odoo instance
    * our webite
    * the translation platform
    * the OCA gitbot
    
    I'll keep you posted when we have more information about the time of the 
    intervention.
    
    We thank you for your understanding.
    
    
    
    -- 
    Alexandre Fayolle
    Senior Software Engineer
    Tel : +33 4 58 48 20 30
    
    Camptocamp France SAS
    18 rue du Lac Saint André
    73 370 Le Bourget-du-Lac
    France
    
    http://www.camptocamp.com
    

    by Alexandre Fayolle - 01:01 - 16 Nov 2023
  • Manual Currency Conversion Bank Transaction
    Hi everyone,

    I have the case of a client who wants that when importing a bank statement, in the reconciliation of movements thanks to the `account_reconciliation_widget` module, he can determine the rate that he agreed with his bank and not the one offered by Odoo.

    I'm surprised that there is no module for this, since it is very common.

    I am trying to develop the functionality, but it is a bit complex to avoid the odoo rate and make everything add up in the end, since the rate calculation is repeated in several places.

    Any ideas or suggestions?

    Greetings and thank you very much,

    /Lansana Barry






    by Lansana Barry - 09:25 - 16 Nov 2023
  • Odoo Test framework and rollback issue
    Hi everyone,

    I'm currently developing on 14.0 a test for one of my module and I'm having a headache trying to understand why an action is not properly rolled back after the exception is raised.

    My code sample:
    class TestSoftwareLicensePass(TransactionCase):
        def test_activation(self):
            ...
            self.assertEqual(pass_lic1.get_remaining_activation(), 1)
            with self.assertRaisesRegex(ValidationError, r"Max activation reached"):
                pass_lic1.activate("device_uuid_4/3")
            self.assertEqual(pass_lic1.get_remaining_activation(), 1)
            with self.assertRaisesRegex(ValidationError, r"Max activation reached"):
                pass_lic1.activate("device_uuid_4/3")

    The second assertEqual statement FAILS because get_remaining_activation() returns 0, but since the exception has been correctly captured by the  with self.assertRaisesRegex statement, this part should have been rolled back by the odoo framework.
    (and no cr.commit in the activate function)

    Looking in other tests, I can see that a lot of with self.assert statements have a self.cr.savepoint() at their side (like this code sample in odoo/odoo/addons/base/tests/test_views.py):

    class TestViewInheritance(ViewCase):   
        def test_no_recursion(self):
            r1 = self.makeView('R1')
            with self.assertRaises(ValidationError), self.cr.savepoint():
                r1.write({'inherit_id': r1.id})

    Is this related to the TransactionCase class ? (Probably not, I made a test with SavepointCase and same issue)
    Should I always append self.cr.savepoint() ?

    Yann.

    by Yann Papouin - 06:16 - 15 Nov 2023
  • Sale/invoice report break page
    Dear community,

    One of my customers using odoo 14.0 needs to get the control where page breaks appear in pdf reports on quotations and invoice documents.

    Do you know any existing modules to do that ?

    As sections are table rows it's not as easy to add a page-break-inside: avoid; on a html block and would not fit all corner cases. So I'm going to add a link button (such as the add section) that will add a new kind of row to manage the break page in reports.

    This probably ends up with 3 modules:

    base_breakpage in oca/reporting-engine
    sale_report_breakpage in oca/sale-reporting
    account_invoice_report_breakpage in oca/account-invoice-reporting

    Any hints on that ?
    regards

    --
    Pierre Verkest
    06 81 12 25 20
    Github: petrus-v - Linkedin: pierre-verkest

    by Pierre Verkest - 11:36 - 15 Nov 2023
  • unit price precision based on product UOM category selected
    Hi,
    Is there a module that can help me with the following?

    use case: change the unit price precision based on the selected product's uom (or product category's uom)

    I add to a SO, invoice, PO:
    - a 1st line with an article with a UOM of type "energy" and this would allow me to specify the unit price with 4 digits
    - a 2nd line with an article with a UOM of type "unit" and this would allow me to specify the unit price with default 2 digits.

    Thank you
     --
    Yves Goldberg
    --


    by Yves Goldberg - 09:21 - 15 Nov 2023
  • Info Server VPS
    Ciao Lorenzo,
    come da comunicazione con Fabrizio, faccio un elendo dei task da
    completare ed il relativo costo.
    
    - creazione server virtuale 15 EUR
    - installazione e configurazione backend 25 EUR
    	* tomcat
    	* php-fpm
    	* postgresql
    	* mariadb (mysql)
    
    - Installazione Wordpress e wp-cli 15 EUR
    - Installazione e configurazione letsencrypt 15 EUR
    - Migrazione sito web Wordpress 25 EUR
    - Migrazione applicazione in Java 25 EUR
    - Migrazione DNS e SSL per il dominio booking 25 EUR
    - Migrazione DNS e SSL per il sito web wordpress 25 EUR
    - Creazione soluzione di backup in gdrive 75 EUR
    - Migrazione database (postgresql, e mysql) 30 EUR
    - Backup una tantum 25 EUR
    
    In totale 300 EUR
    
    Per il backup di postgres ci pensa Fabrizio, per il sito web avete
    bisogno di backup?
    
    Inoltre per la quota mensile posso fare 120 EUR con pagamento
    anticipato trimestrale che include assistenza e monitoring, manutenzione
    e aggiornamento del server con test di ripristino backup mensile.
    
    Inoltre c'è un servizio opzionale di hardening del server, per la messa
    in sicurezza.
    
    Attendo tue,
    Salvatore De Paolis
    

    by Salvatore - 06:55 - 14 Nov 2023
  • intercompany transfer
    dear all

    i have issue with inter company 
    i have to companies A&B
    both company sell and purchase from them
    when make this process between them i have in inventory tow delivery order or tow Receipts for one sales order or purchase 
    please i need help to solve it

    --
    Best Regards
    Samir Mahmoud
    00201062648111



    by Samir Mahmoud Hassan - 03:30 - 14 Nov 2023
  • Expression of Interest in Becoming Maintainer for l10n-switzerland Repository
    Dear community,

    I hope this email finds you well. My name is Emanuel, and I am writing to express my interest in the l10n-switzerland repository. I recently noticed that the repository appears to be inactive, and as someone passionate about its purpose, I am eager to contribute to its revitalization.

    I am writing to inquire about the current maintainers of the l10n-switzerland repository and to express my willingness to take on a role as a maintainer. The project's objectives align closely with my interests and skills, and I believe that by actively participating in its development, we can work together to ensure its continued growth and success.

    I have successfully contributed to various OCA repositories in the past, and I am committed to dedicating time and effort to this project to help bring it back to life.

    If the opportunity to become a maintainer is available, I would appreciate any guidance on the steps I need to take or the process involved.

    Thank you for considering my request, and I look forward to your guidance on how I can assist in reviving this valuable open-source initiative.

    Best regards,

    Compassion Switzerland

    by "Emanuel Cino" <emanuel@compassion.ch> - 12:29 - 13 Nov 2023
  • 17.0 branches
    Hi everyone,

    The 17.0 branches are being created in all OCA repos as I'm writing this.

    There are few news and improvements compared to previous branches, mainly in the pre-commit configuration:

    • It uses ruff and ruff-format instead of flake8, autoflakes, isort, pyupgrade and black. This will improve the performance of pre-commit runs. Note that if some PSC want to be stricter by enabling additional ruff rules [1], it is possible by re-running "copier update --trust" and answering the corresponding question.
    • The readme fragments are converted to markdown. This makes it easier for non-technical contributors, and is also more robust (wrt subtitles formats, for instance). This is already reflected in the OCA module template [2]
    • pre-commit creates a pyproject.toml file at the root of each addon, in place of setup.py in the separate setup/ directory. This is more intuitive (each addon is a little python project) and standards based. It is also more robust as some recent version of setuptools break our setup.py (and Odoo's) editable mode in some circumstances.
    • pre-commit generates README.rst and index.hml. This is for easier review of the module descriptions in runboat.
    The migration issues had been created last week. Don't forget to announce yourself when you start migrating a module.

    In case of problem, let us know of any problem by creating an issue in the repo template project [3]

    Best regards,

    [1] https://docs.astral.sh/ruff/rules/

    --
    Stéphane Bidoul
    http://acsone.eu/


    by Stéphane Bidoul - 04:18 - 12 Nov 2023
  • Ledger for the individual related to a company
    Hi 

    If the customer is an individual without a related company, I would find the entries in the partner ledger. the same if it is a company.
    But if the customer is an individual (or a contact) related to a company, all records appear only in the partner ledger of the company itself but the individual contact ledger will be empty

    Is there an OCA module that shows whose contact this amount is for? in the partner ledger ?
    I mean a module that makes the entry appear in the contact-partner also, if he is chosen while invoicing or while creating a payment.

    Thanks alot



    by Ahmed - 10:01 - 10 Nov 2023
  • Looking for a module
    Hi, 

    use case: in SO field "Delivery Address" user can select only contacts related to partner set in "Customer".

    is there a module doing this to your knowledge?

    Thanks!

    Francesco

    --

    Francesco Foresti
    Sicurpharma Srl
    +39 333 8123 790

    by Francesco Foresti - 11:01 - 10 Nov 2023
  • e-commerce category with images
    Dear contributors,

    I've been asked for a way to render categories in e-commerce pretty much like brands in https://github.com/OCA/e-commerce/tree/14.0/website_sale_product_brand 

    Do we have a module for this?

    Thanks

    --
    Francesco Ballerini

    by Francesco Ballerini - 11:00 - 8 Nov 2023
  • Benchmark of deployment / maintenance solutions

    Dear contributors,

    I would like to propose a benchmark of deployment and maintenance solutions being used by OCA users.
    Please contribute to this discussion if you would like your solution to be part of the benchmark: https://github.com/orgs/OCA/discussions/123

    Best regards,
    Théo.


    by Théo Chapy - 03:16 - 7 Nov 2023
  • Run HelpDesk Management
    Hi, I want to know how to run this app, I just downloaded it but I don't know what to do now :(

    by Raul Marcos Mateo Galvan Ortiz - 08:38 - 5 Nov 2023
  • DMS: uploading xml files bypassing svg mimetype
    Dear contributors, 

    I am using DMS module on odoo14 to implement some shared backend data storage. 
    By the way thanks for sharing this module, it's a powerful resource.

    I have succeeded in uploading some XML files by python code and they are uploaded with an "image/svg+xml" mimetype: this is ok but causes "my_file.xml" to be downloaded in .svg format while I need them to be directly downloaded as .xml (extension is correctly computed as xml).

    At the moment a simple way to solve this is by inheriting mimetype computing function and forcing mimetype by using context when creating records from code in a specific workflow

    @api.depends("content")

    def _compute_mimetype(self):

       super(File, self)._compute_mimetype()

       for record in self:

           force_mimetype = self.env.context.get("force_mimetype")

           if force_mimetype:

               record.mimetype = force_mimetype



    Actually my guess is that any non-mapped odoo.tools mimetype will lead the "download" button to ignore the mimetype and download file with the proper extension. This also makes me think why "mimetype" has priority over the "extension" for download, but I am more interested to know if there is a proper way to avoid this behaviour.

    I am not confident with data upload from code so I am wondering if I'm missing something that can be done only in create method, without having to inherit the module source code.

    Best Regards
    --
    Francesco Ballerini


    by Francesco Ballerini - 08:01 - 4 Nov 2023
  • Guidance Request for Pull Request Submission - Backporting agreement_rebate module from v15 to v14

    Dear OCA contributors,

    I am currently working on backporting the agreement_rebate module from Odoo version 15 to version 14 for integration into the OCA/contract repository. I have noticed that the module operates flawlessly on version 14.

    However, I am aware there might be nuances or specific OCA standards that I should adhere to ensure a successful and compliant integration. I have already forked and integrated the module into the local repository, but before proceeding with the PR submission, I wish to ensure that all OCA standards and requirements are met.

    I would be very grateful if you could provide guidance or recommendations on specific steps or modifications I should undertake to properly prepare and submit this PR. Your expertise and advice would be invaluable to ensure a smooth process and adherence to OCA community expectations.

    I am ready to provide any additional information required and work collaboratively with community members to achieve this backporting successfully. Thank you in advance for your time and assistance.

    Warm regards,
    Nazaire ADJAKOUN


    by Nazaire ADJAKOUN - 01:26 - 2 Nov 2023
  • Installing Odoo on ubuntu desktop is suitable for production?
    Dear contributors,

    It would be really helpful to me if you can give me an hint on this.

    I premise I have very low experience with odoo maintenance as I'm generally engaged with developement area. 

    I mantain a couple of very simple instances with ubuntu server but I need to build and be active in the mantainance process of a more complex instance, with e-Commerce logic involved. 

    It's been an year I work on server version and I got used to it pretty much, despite that I wonder if it's really worth to lose GUI feature to save some resources for an Odoo instance, so I am considering dropping server version in favour of desktop.

    In the logic of an Odoo server mantainer is this crazy or fairly acceptable?

    Regards
    -----

    Francesco Ballerini


    Privo di virus.www.avast.com

    by Francesco Ballerini - 01:51 - 29 Oct 2023
  • Abandoning python 2, Odoo <= 10
    Hi everyone,

    As time goes by, it becomes harder and harder to support very old and unsupported python versions, as libraries and tooling stop supporting it.

    Moreover, the growing number of branches place an increasing burden on our infrastructure (bot, weblate, etc).

    Therefore the board proposes to drop support for Python 2 and therefore Odoo <= 10.0.

    Concretely, this means the branches will remain available for ad-hoc collaboration or bug fixes, but we will stop maintaining tooling: CI (travis will soon be stopped), weblate sync, bot, publishing to PyPI etc.

    This may happen soon as we clean up things while preparing for Odoo 17. In the future we will consider having an explicit version support policy, but I suspect the main decision criteria will be tool maintenance burden.

    Best regards,

    -Stéphane

    by Stéphane Bidoul - 06:30 - 27 Oct 2023
  • Looking for purchase module to filter vendors in PO
    Hi, 

    do you know if there is an OCA module setting a domain on field Vendor in PO to only allow selection of partners with supplier_rank != 0 ?

    I'm on 14 but will gladly back- or forward-port.

    Thanks!

    --

    Francesco Foresti
    Sicurpharma Srl
    +39 333 8123 790

    by Francesco Foresti - 04:06 - 27 Oct 2023
  • EAN 13 pattern with barcodes_generator_product
    Hi,

    I'm trying to use https://github.com/OCA/stock-logistics-barcode/tree/14.0/barcodes_generator_product to generate barcodes using GS1 barcodes purchased by customer. 

    I see in the readme the example:

    For example, a typical pattern for products is "20.....{NNNDD}" that means that: * the EAN13 code will begin by '20' * followed by 5 digits (named Barcode Base in this module) * and after 5 others digits to define the variable price * a 13 digit control

    The pattern I'd like to implement is 8069235 + 5 digits provided by barcode base + 1 check digit. 

    How does this translate in the format from the example ("20.....{NNNDD}")? Does any one have any reference guide for this?

    Thanks!

    --

    Francesco Foresti
    Sicurpharma Srl

    by Francesco Foresti - 06:36 - 25 Oct 2023