Skip to Content

Contributors

  • 2019 OCA Extra Delegates Campaign is NOW OPEN

    Dear OCA Contributors,


    As you may be aware the decision to run an extra campaign to fill the remaining 7 Delegate positions for this year has been made. 

    The 3 new Delegates from the earlier election were: 
    • Yves Goldberg
    • Simone Orsi
    • Sergio Teruel Albert
    The new campaign is now open and will run from today until the 18th of October, 2019. The current Board Member and Financial Auditor Campaign will be suspended until October 28th, 2019.

    Why?


    There are 10 places each year for new Delegates. This year's previous election only had 3 new Delegates elected leaving 7 positions to be filled.

    The Delegate Assembly is the Association’s supreme authority. Each Delegate member is entitled to one vote at the Delegate Assembly. Decisions of the Delegate Assembly are taken by a majority vote of the Delegate members present and voting. For further details, please read the Bylaws.


    How?


    To apply as a candidate, you have to:

    The campaign will be closed on October 18th, 2019.


    Then what?


    The vote will be open from October 19th to October 25th, 2019: Current OCA Delegates will vote for 7 new Delegates among the candidates.


    The results of the election will be announced on October 26th, 2019.


    The 10 new Delegates and existing Delegates will then take part in:

    • the 2019 OCA Board Member Campaign from October 28th to November 8th, 2019.

    • the 2019 OCA Financial Auditor Campaign from October 28th to November 8th, 2019.

    • the 2019 General Assembly from November 11th to November 22nd, 2019.


    Should you have any questions, please get in touch.


    Warm regards,

    Rebecca--
    Rebecca Gellatly
    General Secretary
    Odoo Community Association

    by Rebecca Gellatly - 01:26 - 8 Oct 2019
  • Linting for 13.0 branches (using black and pre-commit)
    Dear contributors,

    Following a recent conversation on twitter, and further talks during #OCAdays, there seems to be a wide interest for using Black [1] as a code formatter for OCA code.

    This post explains the proposed approach to implement it in OCA, as well as several improvements to code linting tools.

    In a nutshell, Black is a python code formatter that quickly gained traction in the Python community in the last couple of years. It formats the code for you with a predefined set of rules and almost no options so as to free your mind for more important matters.

    At #OCAdays, we discussed on how to put it in practice, and it was proposed to take the opportunity of this change to introduce pre-commit [2] as the linting framework for OCA in the 13.0 branches.

    TL;DR: If you are not interested in the nitty gritty details, the only change you will need to remember compared to your current workflow is:
    • run Black before committing your code on the 13.0 branches
    • sort imports (stdlib, odoo, odoo.addons, local imports)
    • To save time, install pre-commit and run pre-commit install after cloning an OCA repository on the 13.0 branch. Linting, running black and sorting imports will be done automatically for you when you commit. You can also run it manually with 'pre-commit run --all-files'.
    If you are interested in practical details and the rationale, read on.

    pre-commit is a tool that lets contributors easily run lint checks locally in a consistent and reproducible manner. These checks are then run again by Travis to be sure conventions are enforced. In principle this is similar to what we are doing now with MQT LINT_CHECK="1", with the following beneficial differences:
    • installation of the linters locally is easier: only one tool needs to be installed on developer's machines: pre-commit, which will then take care of installing all the required linters for you
    • you then run "pre-commit install" after cloning a repository
    • lint checks are then run automatically when creating a commit locally so you can detect errors much earlier, without having to wait for Travis to detect them for you
    • some linters (such as Black, and the import sorter) fix the code for you, so you immediately have the diff available with all fixes to commit
    • all configurations are stored locally in the repository using default configuration files (.pylintrc, .flake8, etc); this means your favorite IDE will pick them up automatically to give you assistance in detecting and fixing errors
    • a wide variety of pre-commit plugins exist, which means we can easily benefit from them and progressively add more in the future
    The proposed configuration includes the following linters:
    • black, with default options (to facilitate usage)
    • auto fix trailing whitespace
    • auto fix newline at end of files
    • detect debug statements
    • flake8 with same options as before (except line length which is now the 88 black default)
    • pyupgrade, to encourage python 3 idioms
    • pylint with mandatory checks (with some more mandatory checks than before, for v13 only)
    • pylint with all checks (optional + mandatory), not failing
    • isort to automatically sort imports (except in __init__.py where import order might be significant)
    • run eslint as a pre-commit hook, with the same configuration as pylint-odoo except that all checks are warnings. This is the same as what pylint-odoo does (javascript checks are not blocking).
    You can see an example configuration in the storage project [3], the queue project [4] as well as partner-contact [5]. Look for the following files: .pre-commit-config.yaml, .flake8, .pylintrc, .eslintrc. Also look at the updated .travis.yml to see how pre-commit is run. To try it out,
    • checkout these branches
    • run 'pre-commit install'
    • start committing lint failures to see the effect.
    If you have suggestions to make on the linter configurations, you can make them on this MQT PR: https://github.com/OCA/maintainer-quality-tools/pull/613/files

    In practice, if there are no objections, the plan is to setup this configuration on all 13.0 branches this week, while there are not too many v13 modules merged. To do this, I will push all linter configuration files to 13.0 branches, as well as resetting the travis configuration to the default.

    When the configurations will need to evolve later, the maintenance of these configuration files will become a bot task. As before, there will be no possibility to configure linting rules per repo.

    Looking forward to reading your feedback.

    Best regards,

    -sbi



    by Stéphane Bidoul - 12:56 - 7 Oct 2019
  • [OXP] Odoo Merge Sprint
    Dear OCA developers,
    
    If you are coming to our Odoo Experience[1] event this week (just after
    the OCA Code Sprint), don't forget to come see us at the Merge Sprint
    room (in the Hocaille room).
    This will be the occasion to meet the Odoo developers and review
    together your pull requests and contribution to the source code of Odoo.
    
    Check the event page[2] for details.
    There is an agenda published there to meet developers specialised in
    specific applications, this way you are sure to meet somebody that will
    be able to answer your questions.
    
    See you there,
    
    Martin
    
    [1]
    https://www.odoo.com/event/odoo-experience-2019-2019-09-30-2019-10-04-1629/page/oxp19-homepage
    [2]
    https://www.odoo.com/event/odoo-experience-2019-2019-09-30-2019-10-04-1629/page/oxp19-merge-sprint
    
    
    -- 
    Martin Trigaux
    Odoo
    https://odoo.com
    https://github.com/mart-e
    
    

    by Martin Trigaux - 01:56 - 1 Oct 2019
  • Propose Héctor Villarreal as PSC of purchases
    Hi all,

    Here is his Github account. He has actively participated with a lot of contributions at purchase-workflow repository in the newest versions: https://github.com/OCA/purchase-workflow/pulls/hveficent and has migrated to latest version purchase_request among others.

    Regards,

    --
    Lois Rilo Antelo
    Eficent Business and IT Consulting Services, S.L.
    (+34) 679052448 | lois.rilo@eficent.com | http://www.eficent.com
    Twitter: lreficent_erp

    by Lois Rilo Antelo - 06:26 - 30 Sep 2019
  • Souheil Bejaoui for project & service PSC
    I want to propose https://github.com/sbejaoui for this PSC as he has been working a lot on all the contract stuff. You can see some os his PRs in:


    Regards.

    by Pedro M. Baeza - 04:26 - 30 Sep 2019
  • 13.0 Migration instructions
    Dear community,

    In https://github.com/OCA/maintainer-tools/wiki/Migration-to-version-13.0 there’s “Squash administrative commits (if any) with the previous commit for reducing commit noise.”
    It should be understood as “Squash with previous administrative commits” or “Squash with any previous commit”?

    Kind regards,
    Alexey

    by Alexey Pelykh <alexey.pelykh@gmail.com> - 12:41 - 30 Sep 2019
  • Kenyan Localization Repo
    Hello Contributors,

    I would like to publish my work to OCA (l10n-kenya), I have created some modules for Kenyan Localization.

    Thanks.

    Duncan Kiplangat,
    Sunflower IT.

    by Kiplangat Dan <kiplangatdan@gmail.com> - 11:35 - 30 Sep 2019
  • OCA days on remote
    Just a reminder for all of you that don't able to come to the LLN OCA Days Agenda. If you are on remote, you can also work on the code sprint. There's a channel on IRC for synchronizing.


    Regards.

    by Pedro M. Baeza - 09:56 - 30 Sep 2019
  • How to use @api.onchange in models.AbstractModel, when the interiting class field name are different.
    Dear all,

    I have one technical challenge while doing this PR -> https://github.com/OCA/account-analytic/pull/251

    In the origin module, there was abstract class,

    class AnalyticDimensionLine(models.AbstractModel):
        _name = 'analytic.dimension.line'

    Which are inherited by other model, i.e., account.move.line, account.invoice.line, etc.

    class AccountInvoiceLine(models.Model):
        _name = 'account.invoice.line'
        _inherit = ['analytic.dimension.line', 'account.invoice.line']
        _analytic_tag_field_name = 'analytic_tag_ids'

    Now, I wanted to add api.onchange method on a field which can be varied by each inheriting model via _analytic_tag_field_name

    Question is, I would want to do the onchange on the base abstract class, analytic.dimension.line like this, but it doesn't work.

    class AnalyticDimensionLine(models.AbstractModel):
        _inherit = 'analytic.dimension.line'

        @api.onchange(lambda self: self._analytic_tag_field_name)      ---------------------> THIS NOT WORK
        def _onchange_analytic_tag_ids(self):

    And so, I end up having to add @api.onchange in inheriting models. Which I think not very good.

    class AccountInvoiceLine(models.Model):
        _inherit = 'account.invoice.line'

        @api.onchange('analytic_tag_ids')  ----------------------> NOT GOOD
        def _onchange_analytic_tag_ids(self):


    Any thought are appreciated,
    Than you,




    by Kitti Upariphutthiphong - 01:31 - 27 Sep 2019
  • See you guys soon on OCA days.
    Dear all contributors,

    My team, 4 people, are very excited to see you guys on the coming OCA code sprint. In fact, it is our very first sprint else where.

    It is a great opportunity to face to face with people we saw online. If you come across developers who can't speak English, chances they are our team.

    So, please be gentle to us :)
    See you soon!
    Kitti U.

    by Kitti Upariphutthiphong - 12:15 - 27 Sep 2019
  • Review your PRs before OCA Code Sprint

    Dear contributors,

     

    My recommendation for the OCA Code Sprint next week is that tomorrow 27th September review ALL you OWN PRs,

     

    -          Rebase

    -          Review

    -          Attend comments

    -          FIX travis

    -          FIX runbot

    -          Rebuild runbot for reviewers

    -          Improve you USAGE section in order that other reviewers understand what should be tested functionaly

    -          If travis is RED and the problem is other module, SEARCH the one who did the last PR of that module and ask to fix travis…

     

    I wish we will have powerful server next week :-D

     

    Thanks everyone

     

    Regards,

    Rafael Blasco

    Tecnativa

     


    by Rafael Blasco (Moduon) - 11:10 - 26 Sep 2019
  • OCA Days registration
    Dear community,
    
    
    Is it possible for someone to check my registration for the OCA Days?
    
    I didn't get any confirmation by email and now I can't recall if I 
    registered at all or somehow I missed to do that. I hope it is not too 
    late :/.
    
    
    Kind Regards,
    
    Kiril Vangelovski
    
    
    -- 
    Lambda IS DOOEL - free/open-source information systems implementation & development
    
    Kiril Vangelovski - consultant/developer
    
    web: https://www.lambda-is.com
    tel: +38971753823
    
    

    by Kiril Vangelovski - 03:21 - 26 Sep 2019
  • OCA Days / Odoo XP - run on Tuesday
    Hi there,
    
    I would like to organise an informal run between the OCA Days and the
    Odoo Experience in Louvain-La-Neuve with Odoo employees, partners and
    the community of users.
    
    It would start at 18:15 in front of the Aula-Magna, just enough time for
    you to finish the OCA Days and change.
    
    Please fill the below survey so I can get in touch with you and estimate
    the number of people and distance to run.
    https://www.odoo.com/survey/start/0bd24eaa-7cd9-4ed7-a85c-2832df89463d
    
    I hope to see you all there !
    
    Martin
    
    
    -- 
    Martin Trigaux
    Odoo
    https://odoo.com
    https://github.com/mart-e
    
    

    by Martin Trigaux - 01:51 - 25 Sep 2019
  • Consultancy Services - Expressions of Interest - Upgrade of the Odoo CORE Vertical Uruguayan State - Odoo v8 to Odoo Community v12
    Dear Contributors,

    The Government of the Eastern Republic of Uruguay has sent an invitation from The Budgetary and Financial Management Program (PGPF) for expressions of interest for the diagnosis of the effort required for the Upgrade of the Odoo Core Vertical Uruguayan Estate from the version Odoo v8 to the version Odoo Community v12.

    Please find attached the PDF and link to the invitation.

    A short list will be formed by the Ministry of Economy and Finance in Uruguay (MEF) according to the “Policies for the Selection of Consultants Financed by the Inter-American Development Bank GN-2350-9 of March 2011”. This project will be partially financed by the Inter-American Development Bank (IADB) Loan Nº 4705 / OC-UR.

    An English translation for the text will be shared before the end of the week.

    Expressions of interest need to be submitted by October 7th, 2019 at 12:00.

    Warm regards,
    Rebecca

     --
    Rebecca Gellatly
    General Secretary
    Odoo Community Association

    by Rebecca Gellatly - 10:51 - 24 Sep 2019
  • OCA Days Code Sprint 2019 - Agenda - please add topics
    Hi all,

    Following on from Alexandre's email about how to prepare for the codesprint you can find the agenda here.

    You will see there are already a number of sprint topics, please add more so we can make the most of the time there.

    See you next week.
    Rebecca

    --
    Rebecca Gellatly
    General Secretary
    Odoo Community Association

    by Rebecca Gellatly - 09:25 - 24 Sep 2019
  • Runbot builds HTTP 404 Page not found
    Hi,

    We have found runbot builds where build/base/all logs give an HTTP 404 Page not found. For example:


    Do you have any idea?

    Thanks,
    --

    Paco Fernández Nogueira
    Núm. Col. 1007 (COEINF)
    ffernandez@planetatic.com
    +34 931 81 78 91
    www.planetatic.com

    Aquest missatge i els seus arxius adjunts van dirigits exclusivament al seu destinatari, i pot contenir informació confidencial sotmesa a secret professional. No està permesa la seva reproducció o distribució sense l’autorització expressa de PENEDESTIC SOLUCIONS SLP. Si vostè no és el destinatari final, si us plau, el pot eliminar i informar-nos per aquest mateix mitjà. D’acord amb allò establert per la Llei Orgànica 15/1999, de 13 de desembre, de Protecció de Dades de Caràcter Personal (LOPD), li informem que les seves dades estan incorporades en un fitxer del qual és titular PENEDESTIC SOLUCIONS SLP amb la finalitat de realitzar la gestió administrativa, comptable i fiscal, així como enviar-li comunicacions comercials sobre els nostres productes i/o serveis. Tanmateix, li informem de la possibilitat d’exercir els drets d’accés, rectificació, cancel·lació i oposició de les seves dades al domicili fiscal de PENEDESTIC SOLUCIONS SLP situat a C/ Mare Ràfols, 3 2o 1a - 08720 Vilafranca del Penedès - Barcelona. Si vostè no desitja rebre la nostra informació, pot contactar amb nosaltres enviant un correu electrònic a la següent adreça: info@planetatic.com
     Abans d'imprimir aquest missatge, assegureu-vos que és necessari. Protegir el medi ambient està en mà de tots.


    Este mensaje y sus archivos adjuntos van dirigidos exclusivamente a su destinatario, pudiendo contener información confidencial sometida a secreto profesional. No está permitida su reproducción o distribución sin la autorización expresa de PENEDESTIC SOLUCIONS SLP. Si usted no es el destinatario final por favor elimínelo e infórmenos por esta vía. De acuerdo con lo establecido por la Ley Orgánica 15/1999, de 13 de diciembre, de Protección de Datos de Carácter Personal (LOPD), le informamos que sus datos están incorporados en un fichero del que es titular PENEDESTIC SOLUCIONS SLP con la finalidad de realizar la gestión administrativa, contable y fiscal, así como enviarle comunicaciones comerciales sobre nuestros productos y/o servicios. Asimismo, le informamos de la posibilidad de ejercer los derechos de acceso, rectificación, cancelación y oposición de sus datos en el domicilio de PENEDESTIC SOLUCIONS SLP sito en C/ Mare Ràfols, 3 2o 1a - 08720 Vilafranca del Penedès - Barcelona. Si usted no desea recibir nuestra información, póngase en contacto con nosotros enviando un correo electrónico a la siguiente dirección: info@planetatic.com
     Antes de imprimir este mensaje, asegúrese de que es necesario. Proteger el medio ambiente está en mano de todos.


    by Francisco Fernández Nogueira - 06:46 - 24 Sep 2019
  • Website HTTP 500 Internal Server Error if logged in
    Hi,

    Website responses us a HTTP 500 Internal Server Error if we are logged in.

    It responses the same to you?

    Thanks,
    --

    Paco Fernández Nogueira
    Núm. Col. 1007 (COEINF)
    ffernandez@planetatic.com
    +34 931 81 78 91
    www.planetatic.com

    Aquest missatge i els seus arxius adjunts van dirigits exclusivament al seu destinatari, i pot contenir informació confidencial sotmesa a secret professional. No està permesa la seva reproducció o distribució sense l’autorització expressa de PENEDESTIC SOLUCIONS SLP. Si vostè no és el destinatari final, si us plau, el pot eliminar i informar-nos per aquest mateix mitjà. D’acord amb allò establert per la Llei Orgànica 15/1999, de 13 de desembre, de Protecció de Dades de Caràcter Personal (LOPD), li informem que les seves dades estan incorporades en un fitxer del qual és titular PENEDESTIC SOLUCIONS SLP amb la finalitat de realitzar la gestió administrativa, comptable i fiscal, així como enviar-li comunicacions comercials sobre els nostres productes i/o serveis. Tanmateix, li informem de la possibilitat d’exercir els drets d’accés, rectificació, cancel·lació i oposició de les seves dades al domicili fiscal de PENEDESTIC SOLUCIONS SLP situat a C/ Mare Ràfols, 3 2o 1a - 08720 Vilafranca del Penedès - Barcelona. Si vostè no desitja rebre la nostra informació, pot contactar amb nosaltres enviant un correu electrònic a la següent adreça: info@planetatic.com
     Abans d'imprimir aquest missatge, assegureu-vos que és necessari. Protegir el medi ambient està en mà de tots.


    Este mensaje y sus archivos adjuntos van dirigidos exclusivamente a su destinatario, pudiendo contener información confidencial sometida a secreto profesional. No está permitida su reproducción o distribución sin la autorización expresa de PENEDESTIC SOLUCIONS SLP. Si usted no es el destinatario final por favor elimínelo e infórmenos por esta vía. De acuerdo con lo establecido por la Ley Orgánica 15/1999, de 13 de diciembre, de Protección de Datos de Carácter Personal (LOPD), le informamos que sus datos están incorporados en un fichero del que es titular PENEDESTIC SOLUCIONS SLP con la finalidad de realizar la gestión administrativa, contable y fiscal, así como enviarle comunicaciones comerciales sobre nuestros productos y/o servicios. Asimismo, le informamos de la posibilidad de ejercer los derechos de acceso, rectificación, cancelación y oposición de sus datos en el domicilio de PENEDESTIC SOLUCIONS SLP sito en C/ Mare Ràfols, 3 2o 1a - 08720 Vilafranca del Penedès - Barcelona. Si usted no desea recibir nuestra información, póngase en contacto con nosotros enviando un correo electrónico a la siguiente dirección: info@planetatic.com
     Antes de imprimir este mensaje, asegúrese de que es necesario. Proteger el medio ambiente está en mano de todos.


    by Francisco Fernández Nogueira - 06:31 - 24 Sep 2019
  • Getting ready for the OCA Code Sprint in Louvain la Neuve
    Hello all,
    
    It's this time of the year again :) We are expecting a lot of people to
    join for the OCA code sprint this year, and it will be in a new location
    (at least for us), so we can't know for sure how good the network
    connectivity will be (although the tennants promised it is good).
    
    For the address of the location, check
    https://odoo-community.org/event/louvain-la-neuve-oca-days-2019-2019-09-30-2019-10-01-104/register
    
    
    As always there are things you can do to ease the load on the bandwidth
    as we would like to avoid having 100 devs cloning the Odoo repository
    from scratch on day 1 of the sprint.
    
    I recommend you make sure BEFORE LEAVING FOR THE SPRINT that you have an
    up-to-date clone of Odoo and of all the OCA repository you plan to work
    on. In the maintainer-tools repository, you will find a clone-everything
    script which can help making clones of all the OCA repositories.
    
    Also, since Travis will end up loaded and the version for FLOSS has an
    organisation-wide concurrent build limit, I recommend that you enable
    travis builds on your forks of the OCA repositories. This way, you will
    get builds of your forks which are likely to be faster than the builds
    of the PRs and merges on the OCA repositories.
    
    That's all for now. I'm looking forward to meeting you during the code
    sprint.
    
    
    -- 
    Alexandre Fayolle
    Chef de Projet
    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 - 09:01 - 24 Sep 2019
  • OCA Days / Odoo XP - Volunteers needed
    Dear OCA Contributors,

    Are you coming to OCA Days or Odoo Experience?

    Can you spare a bit of time to help out?

    We need volunteers to help things run smoothly at OCA Days 2019 and also volunteers to help 'man the stand' at Odoo Experience.
    If you can help out please add your name to the list above.

    Also, have you seen the agenda for discussion/training talks during OCA Days? It is up on the website.

    You can see a bit more detail about each talk here.

    We are looking forward to seeing those that are in LLN that week.
    Rebecca
    --
    Rebecca Gellatly
    General Secretary
    Odoo Community Association

    by Rebecca Gellatly - 12:40 - 24 Sep 2019
  • OCA Financial Auditors and Board Member Campaign 2019 - further extended till 16th October 2019
    Hello OCA Contributors,

    I am writing to share with you that the candidate campaign for the Board Members and Financial Auditors for next year has been further extended till Wednesday 16th October - this is due to the low number of applicants for the Board member positions - we currently only have 6 applications for the 9 positions.

    Please come along to the open discussion "The Future of the OCA and its Governance" at the OCA Days in Louvain-la-Neuve (Martin's Agora Hotel) at 5:30pm on Monday 30th September, to find out more about how you can be a part of the future. 

    Or, come visit the OCA stand during Odoo Experience, have a chat with us to get a feel for what is involved in becoming a Member and a Delegate next year with the view to potentially even becoming a Board member at some stage in the future.

    With the sad passing of Eric Caudal earlier this year, the OCA Board has run with 8 committed members since May, please feel free to talk with any of them next week in LLN:
    • Joël Grand-Guillaume
    • Maxime Chambreuil
    • Daniel Reis
    • Pedro M. Baeza
    • Stéphane Bidoul
    • Jordi Ballester
    • Alexandre Fayolle
    • Frederik Kramer
    The Financial Auditor candidate campaign is still open to members and non-members and will finish on the 16th of October with voting starting on 17th October till the 30th October. Announcement 1st November.

    To apply for 2019 OCA Financial Auditor, please fill in this form:

    For more information on responsibilities within the OCA, please read the Bylaws:

    We are looking forward to seeing you in LLN next week.
    Rebecca

    --
    Rebecca Gellatly
    General Secretary
    Odoo Community Association

    by Rebecca Gellatly - 01:41 - 23 Sep 2019