Commit Graph

77 Commits

Author SHA1 Message Date
Francisco Ivan Anton Prieto
85fda61634 [MIG] contract: Migration to 14.0 2021-04-02 13:49:16 +02:00
Francisco Ivan Anton Prieto
5e22708411 [IMP] contract: black, isort, prettier 2021-04-01 14:03:12 +02:00
OCA-git-bot
9b6f790dc1 contract 13.0.2.3.7 2021-04-01 13:53:04 +02:00
OCA-git-bot
b0e137dd71 contract 13.0.2.3.6 2021-04-01 13:53:04 +02:00
OCA-git-bot
d79342d915 contract 13.0.2.3.5 2021-04-01 13:53:04 +02:00
OCA-git-bot
76e7324443 contract 13.0.2.3.4 2021-04-01 13:53:04 +02:00
OCA-git-bot
896aa125a5 contract 13.0.2.3.3 2021-04-01 13:53:04 +02:00
OCA-git-bot
39171739e1 contract 13.0.2.3.2 2021-04-01 13:53:04 +02:00
Víctor Martínez
3d88528e9d [FIX] contract: Prevent first contract modification mail to partner 2021-04-01 13:53:04 +02:00
OCA-git-bot
f0877a9944 contract 13.0.2.3.0 2021-04-01 13:53:04 +02:00
Víctor Martínez
01a142e6d3 [FIX] contract: Modification mail + Auto-create follower in contract creation related to partner_id
Co-Authored-By: Pedro M. Baeza <pedro.baeza@tecnativa.com>
2021-04-01 13:53:04 +02:00
OCA-git-bot
1b5d9a0349 contract 13.0.2.2.1 2021-04-01 13:53:04 +02:00
OCA-git-bot
d11d7d84d5 contract 13.0.2.2.0 2021-04-01 13:53:04 +02:00
OCA-git-bot
6bf58d3c23 contract 13.0.2.1.0 2021-04-01 13:53:04 +02:00
OCA-git-bot
abcc6bafbc contract 13.0.2.0.0 2021-04-01 13:53:03 +02:00
Pedro M. Baeza
5667977264 [IMP] contract: JS tour on test assets 2021-04-01 13:53:03 +02:00
Víctor Martínez
ea928628bb [IMP] contract: Portal 2021-04-01 13:53:03 +02:00
OCA-git-bot
0aad4ab1ae contract 13.0.1.0.3 2021-04-01 13:53:03 +02:00
Víctor Martínez
828103000f [IMP] contract: Add followers to invoices created 2021-04-01 13:53:03 +02:00
OCA-git-bot
a85e84c7cc contract 13.0.1.0.2 2021-04-01 13:53:03 +02:00
OCA-git-bot
5f7c52b4f4 contract 13.0.1.0.1 2021-04-01 13:53:03 +02:00
Pedro M. Baeza
fc4eb98c74 [MIG] contract: Migration to 13.0
- Standard procedure
- Adapt invoice creation to new account.move
- Tests adapted
2021-04-01 13:53:03 +02:00
Pedro M. Baeza
a2f71595bf [IMP] : black, isort, prettier 2021-04-01 13:53:03 +02:00
Jairo Llopis
392c27a161 [FIX] contract: do not die if modified partner has contracts in several companies
In a multicompany scenario where a contact belongs to a company and has contracts in several companies, if the user goes to the contact to edit anything, when saving, it will trigger the recomputation of the `commercial_partner_id` field, which gets populated to all the related contracts, and will undeniably fail with an `AccessError`.

A simple test is provided that, without the fix, fails like this:

```
2020-06-25 07:21:24,859 33 ERROR devel odoo.addons.contract.tests.test_contract: ERROR: test_multicompany_partner_edited (odoo.addons.contract.tests.test_contract.TestContract)
2020-06-25 07:21:24,859 33 ERROR devel odoo.addons.contract.tests.test_contract: ` Editing a partner with contracts in several companies works.
2020-06-25 07:21:24,859 33 ERROR devel odoo.addons.contract.tests.test_contract: Traceback (most recent call last):
2020-06-25 07:21:24,859 33 ERROR devel odoo.addons.contract.tests.test_contract: `   File "/opt/odoo/auto/addons/contract/tests/test_contract.py", line 2513, in test_multicompany_partner_edited
2020-06-25 07:21:24,859 33 ERROR devel odoo.addons.contract.tests.test_contract: `     'parent_id': parent_partner.id,
2020-06-25 07:21:24,859 33 ERROR devel odoo.addons.contract.tests.test_contract: `   File "/opt/odoo/auto/addons/partner_autocomplete/models/res_partner.py", line 183, in write
2020-06-25 07:21:24,860 33 ERROR devel odoo.addons.contract.tests.test_contract: `     res = super(ResPartner, self).write(values)
2020-06-25 07:21:24,860 33 ERROR devel odoo.addons.contract.tests.test_contract: `   File "/opt/odoo/custom/src/odoo/odoo/addons/base/models/res_partner.py", line 570, in write
2020-06-25 07:21:24,860 33 ERROR devel odoo.addons.contract.tests.test_contract: `     result = result and super(Partner, self).write(vals)
2020-06-25 07:21:24,860 33 ERROR devel odoo.addons.contract.tests.test_contract: `   File "/opt/odoo/auto/addons/mail/models/mail_thread.py", line 321, in write
2020-06-25 07:21:24,860 33 ERROR devel odoo.addons.contract.tests.test_contract: `     result = super(MailThread, self).write(values)
2020-06-25 07:21:24,860 33 ERROR devel odoo.addons.contract.tests.test_contract: `   File "/opt/odoo/auto/addons/mail/models/mail_activity.py", line 613, in write
2020-06-25 07:21:24,860 33 ERROR devel odoo.addons.contract.tests.test_contract: `     return super(MailActivityMixin, self).write(vals)
2020-06-25 07:21:24,860 33 ERROR devel odoo.addons.contract.tests.test_contract: `   File "/opt/odoo/custom/src/odoo/odoo/models.py", line 3381, in write
2020-06-25 07:21:24,860 33 ERROR devel odoo.addons.contract.tests.test_contract: `     self.recompute()
2020-06-25 07:21:24,860 33 ERROR devel odoo.addons.contract.tests.test_contract: `   File "/opt/odoo/custom/src/odoo/odoo/models.py", line 5308, in recompute
2020-06-25 07:21:24,860 33 ERROR devel odoo.addons.contract.tests.test_contract: `     target._write(dict(vals))
2020-06-25 07:21:24,860 33 ERROR devel odoo.addons.contract.tests.test_contract: `   File "/opt/odoo/custom/src/odoo/odoo/models.py", line 3433, in _write
2020-06-25 07:21:24,860 33 ERROR devel odoo.addons.contract.tests.test_contract: `     self.check_access_rule('write')
2020-06-25 07:21:24,860 33 ERROR devel odoo.addons.contract.tests.test_contract: `   File "/opt/odoo/custom/src/odoo/odoo/models.py", line 3081, in check_access_rule
2020-06-25 07:21:24,860 33 ERROR devel odoo.addons.contract.tests.test_contract: `     + ' - ({} {}, {} {})'.format(_('Records:'), invalid.ids[:6], _('User:'), self._uid)
2020-06-25 07:21:24,861 33 ERROR devel odoo.addons.contract.tests.test_contract: ` odoo.exceptions.AccessError: ('The requested operation cannot be completed due to security restrictions. Please contact your system administrator.\n\n(Document type: Contract, Operation: write) - (Records: [101], User: 12)', None)
```

@Tecnativa TT24482
2021-04-01 13:53:03 +02:00
Pedro M. Baeza
bb766e2d74 [FIX] contract: Currency is not editable + pricelist from partner
Previous related field was not accurated nor editable. Now the field is got
properly from a computed field.

Reviewing this, as the currency was taken (and it continues being taken) from the partner
pricelist if no pricelist is explicitly set, automatic price should use the same logic for
using partner pricelist.
2021-04-01 13:53:03 +02:00
sbejaoui
79efc8d59c [IMP] - Contract: add new recurring_rule_type quarterly and semesterly 2021-04-01 13:53:03 +02:00
Ernesto Tejeda
cd93b6a114 [FIX] contract: Select the correct sections/notes to be invoiced 2021-04-01 13:53:03 +02:00
Pedro M. Baeza
18eac7950f [FIX+IMP] contract: improve test coverage with new sections + fix search method 2021-04-01 13:53:03 +02:00
Ernesto Tejeda
493501e6c7 [IMP] contract: add section and notes in contract line 2021-04-01 13:53:03 +02:00
Bejaoui Souheil
45122e17ed [IMP] - Place id attribute before model
Co-Authored-By: Carlos Dauden <carlos.dauden@tecnativa.com>
2021-04-01 13:53:03 +02:00
Pedro M. Baeza
4b829d3bcb [FIX] contract: Delete cascade line wizard
For avoiding problems while trying to remove the contract/contract line
2021-04-01 13:53:03 +02:00
Stéphane Valaeys
05fe36d3ae Set company_id earlier in the invoice preparation process so that _onchange_partner can execute as intended. 2021-04-01 13:53:03 +02:00
sbejaoui
f9167d81e8 [IMP] - Add contract tags 2021-04-01 13:53:03 +02:00
sbejaoui
3ff689a01d [IMP] - contract termination 2021-04-01 13:53:03 +02:00
sbejaoui
1533e3cd4c [12.0][IMP] - Improve partner With running contracts search view filter 2021-04-01 13:53:03 +02:00
Ernesto Tejeda
e9e3284274 [IMP] contract: add analytic_tag_ids field in contract lines 2021-04-01 13:53:03 +02:00
sbejaoui
789d7260a6 [12.0][IMP] - Add an action for contracts manual invoicing
It happen that a company has to trigger the invoicing action to generate invoices before
the scheduled date (to print and prepare invoices documents, check invoices, etc.).
This requires technical access for end users with the risk that this represents.

This commit adds a new wizard to run the invoicing action for a given date with a helper
to see and check the contract that will be invoiced. When the manual action is called,
the system displays all created invoices.

[12.0][IMP] - log the manual invoice action in contract chatter

[IMP] - Add alink to the invoice in contract message at manual invoicing

[IMP] - Improve code

[FIX] - log message for invoice creation only when there is an invoice

[IMP] - split the manual invoice menu into to menus sale & purhcase

[IMP] - hide invoice button if there is nothing to invoice
2021-04-01 13:53:03 +02:00
Pedro M. Baeza
46b8715806 [FIX] contract: Handle properly multi-company setups
If you have contracts in several companies, cron will create all of them, but
property fields will be populated with incorrect data as the taken company is
the main from the cron user (usually admin).
2021-04-01 13:53:03 +02:00
sbejaoui
d39629a1ef [12.0][FIX] - stop update recurring_next_date 2021-04-01 13:53:03 +02:00
sbejaoui
b7927f67de [IMP] - improve code: unify methods argument _renew_create_line and _renew_extend_line 2021-04-01 13:53:03 +02:00
sbejaoui
becaad164f [12.0][IMP] - add new option: create_new_line_at_contract_line_renew
Add a company config option to decide whether to create or to extend contract
line at renew action
2021-04-01 13:53:02 +02:00
sbejaoui
a5ae569e4f [12.0][FIX] - raise an error when next invoice date before the last date invoiced 2021-04-01 13:53:02 +02:00
Stéphane Bidoul (ACSONE)
4188abb093 [IMP] contract: display invoicing offset 2021-04-01 13:53:02 +02:00
Stéphane Bidoul (ACSONE)
198060511c [REF] contract: make recurring_invoicing_offset a computed field
In preparation to making it user modifiable.
2021-04-01 13:53:02 +02:00
Sergio Teruel
5008ef3ba4 [IMP] contract: Fix test crash with other modules 2021-04-01 13:53:02 +02:00
sbejaoui
3e8233d46b [12.0][FIX] - contract company must be the same as the sale order
When creating a contract from a sale order the company must be the sale order
company and not the user company
2021-04-01 13:53:02 +02:00
sbejaoui
a102a655c8 [IMP] - Add multi-company access rule for contract objects 2021-04-01 13:53:02 +02:00
Enrique
caa5cae7d7 [12.0][FIX] contract & contract_sale - security fix
The lowest model access for contract.contract model is group_account_invoice group. However the addon adds two smart buttons to res.partner view without any security restrictions and without compute_sudo attribute on computed fields.
This causes the view to crash when a user without the proper permissions tries to access the res.partner form view.
The solution adds groups_id to the partner form views in which the buttons are added, so the only loads when the user has proper permissions.
Other way to solve it would be to add compute_sudo attribute to the relevant fields, but this causes an access error when the user clicks on the smart buttons.
2021-04-01 13:53:02 +02:00
Thomas Binsfeld
c770e97adb [REF] Contract Sale Invoicing: split from analytic account
[REF] Contract Sale Invoicing: update translations

[IMP] - Assert that the predecessor is available for new link at uncancel

[RMV] - remove usless changes

[RMV] - Remove usless field recurring_invoices

after the total isolation between contract model and account analytic one.
recurring_invoices which was used to mark analytic account as contract became usless

[IMP] - P3 syntax

[IMP] - use @openupgrade.migrate() and openupgrade.logged_query

[IMP] - drop transient table in migration script
2021-04-01 13:53:02 +02:00
Thomas Binsfeld
3ca769e079 [REF] Contract: split from analytic account 2021-04-01 13:53:02 +02:00