Contributors mailing list archives

contributors@odoo-community.org

Browse archives

Avatar

Re: OCA Contract Repository

by
Acsone SA/NV, Denis Roussel
- 15/02/2023 10:11:44
> - Contract objects don’t have states. It appears to me that in some versions states existed but is a functionality that was dropped and some point. I strongly think that a module like this must have states.


>  I think the name of the contract should be computed, or at least use a sequence. I don’t see the point of the name to be manually edited. Having a computed one will help with search and filtering. 

Indeed, this can be improved.

> - There is not grouping entity of contract objects. Meaning we don't have an easy way to group contracts by category or an hicherarchical structure. I think this is useful for usability and to set default parameters. 

Maybe adding a 'contract.category' model could be great (in another module ?). But, for the time being, this can be done through contract tags. See: https://github.com/OCA/contract/blob/14.0/contract/models/contract.py#L110

> - There is not link between contracts and agreement modules. My common sense dict that a contract should be created from an agreement, meaning that an agreement is a legal contract and when approved and signed, it creates a contract record which defines invoicing schedule. If not, i really don't see any use for agreements if they are not linked. Maybe this can be solved with a new module. 

This is still tested in a draft PR: https://github.com/OCA/contract/pull/649 You can review it and make suggestions.

> - I think all codebase should be refactored and maybe split the contract module to have one base_contract with basic functionality for simple cases and then other modules to plug-in more functionality. 

This module has indeed a big history, refactored on 12.0 version I think. Since, some improvements have been done (refactoring on recurrency computations by Pedro see: https://github.com/OCA/contract/pull/533/commits/cd086ddbb4a9b85ccfcac288e53fb93e716d9446)

Indeed, I think it has now a very complex implementation that makes user understanding (and debugging) difficult.

We could make an issue on the github repository to help gathering ideas and focus discussion there than on this mailing list. But I agree that we could split some logic in separate modules (with meaningful names - if we could avoid base_contract).

I hope this answered your questions.


Regards,


On Fri, Feb 10, 2023 at 5:57 PM Nicolas Rodriguez Sande <notifications@odoo-community.org> wrote:

Hello, I’m writing to know your opinion about the contract repository. I started to use the modules in the repository and noted that the module versions of contract module differ a lot between odoo versions. 


I have to do some implementations regarding that modules so I’m going to start making PRs to that repo and try to improve the modules starting in version 14.0 and then port it to the others. 

I want to have your opinions on things you can tell me about what is missing in the modules and so I can organize my roadmap. Also, I don’t know if there are currently active PSC of the module, if not or you want me to join the team I will be interested, because I need to improve the modules and if that can help the development of the repo, count with me. 

From what I saw, I see the following issues to solve, please if you know another issues or want to make an opinion of changes you would like to see in the module please comment me here: 

- Contract objects don’t have states. It appears to me that in some versions states existed but is a functionality that was dropped and some point. I strongly think that a module like this must have states.

- I think the name of the contract should be computed, or at least use a sequence. I don’t see the point of the name to be manually edited. Having a computed one will help with search and filtering. 

- There is not grouping entity of contract objects. Meaning we don't have an easy way to group contracts by category or an hicherarchical structure. I think this is useful for usability and to set default parameters. 

- There is not link between contracts and agreement modules. My common sense dict that a contract should be created from an agreement, meaning that an agreement is a legal contract and when approved and signed, it creates a contract record which defines invoicing schedule. If not, i really don't see any use for agreements if they are not linked. Maybe this can be solved with a new module. 

- Contract views are awful and need to be improved to favor user usability and comprehension of the module mechanics and uses. This is one of the first changes i want to introduce. 

- Contract reports and portal views need to be improved. Currently the contract report is not so much developed. Also could be a good idea to allow to see agreements from portal contracts. 

- I think all codebase should be refactored and maybe split the contract module to have one base_contract with basic functionality for simple cases and then other modules to plug-in more functionality. 

If you have more opinions and things you want to see in a roadmap, please tell me here and i can maybe add it to my next PRs. Also if you have opinions of how the module should work will be great for when we refactor it. 

Regards and i want for your thoughts. 

_______________________________________________
Mailing-List: https://odoo-community.org/groups/contributors-15
Post to: mailto:contributors@odoo-community.org
Unsubscribe: https://odoo-community.org/groups?unsubscribe



--

Denis Roussel
Software Engineer
T    : +32 2 888 31 49
M : +32 472 22 00 57


Val Benoit, Quai Banning 6 | B-4000 Liège | Belgium
Atrium Building, Drève Richelle 167 | B-1410 Waterloo | Belgium
Zone industrielle 22 | L-8287 Kehlen | Luxembourg

Reference