Commit Graph

498 Commits

Author SHA1 Message Date
Bosd
48fc230630 Translated using Weblate (Dutch)
Currently translated at 71.6% (200 of 279 strings)

Translation: contract-13.0/contract-13.0-contract
Translate-URL: https://translation.odoo-community.org/projects/contract-13-0/contract-13-0-contract/nl/
2024-03-23 15:10:10 +00:00
Víctor Martínez
5b52ee97d0 [IMP] contract: Add followers to invoices created
[UPD] Update contract.pot

[UPD] README.rst
2024-03-23 15:10:10 +00:00
Ignacio Buioli
cdc17eba63 Translated using Weblate (Spanish (Argentina))
Currently translated at 100.0% (278 of 278 strings)

Translation: contract-13.0/contract-13.0-contract
Translate-URL: https://translation.odoo-community.org/projects/contract-13-0/contract-13-0-contract/es_AR/
2024-03-23 15:10:10 +00:00
Víctor Martínez
15b1e29650 [FIX] contract: Only include 'section_and_note_one2many' js widget in view fields that contain it 2024-03-23 15:10:10 +00:00
Carlos Roca
f4c0376a62 [IMP] contract: Set a condicion to avoid create lines on invoices 2024-03-23 15:10:10 +00:00
Denis Roussel
de8ad4886c [13.0][FIX] contract: Recompute recurring next date
After invoice creation, the recurring next date has to be recomputed
in order to get good values

[UPD] Update contract.pot
2024-03-23 15:10:10 +00:00
Pedro M. Baeza
1a31ec1ee7 [IMP+REF] contract: Allow to set recurrency at header level
Big refactoring for allowing to define recurrency at header level for simplifying
the use of the module for most of the cases where you don't need different
recurrency at line level.
2024-03-23 15:10:10 +00:00
Pedro M. Baeza
017faff34a [MIG] contract: Migration to 13.0
- Standard procedure
- Adapt invoice creation to new account.move
- Tests adapted
2024-03-23 15:10:10 +00:00
Pedro M. Baeza
a425d2a431 [IMP] : black, isort, prettier 2024-03-23 15:10:10 +00:00
sbejaoui
46e0645584 [12.0][FIX] - fiscal position, payment mode and pricelist obtained according to contract company 2024-03-23 15:10:10 +00:00
Jairo Llopis
6accadb475 [FIX] contract: multi-company assignment notification
Steps to reproduce the problem:

1. Log in as Mitchell Admin.
2. Create contract CNT-A for company CMP-A, assigned to Marc Demo.
3. Create contract CNT-B for company CMP-B, assigned to Marc Demo.
4. Run cron to create recurring invoices.

Actual results:

- Odoo sends automated assignment emails to Marc Demo, which indicate the name of the company activated for `__system__` user whlie the cron was being executed.

Expected results after this patch:

- Odoo sends automated assignment emails to Marc Demo, which indicate the invoice company.

@Tecnativa TT24657
2024-03-23 15:10:10 +00:00
Matjaz Mozetic
3483169017 Translated using Weblate (Slovenian)
Currently translated at 7.4% (20 of 270 strings)

Translation: contract-12.0/contract-12.0-contract
Translate-URL: https://translation.odoo-community.org/projects/contract-12-0/contract-12-0-contract/sl/
2024-03-23 15:10:10 +00:00
Pedro M. Baeza
38d8f43619 [IMP] contract: Allow to set a manual currency
Done through an extra field + inverse in the existing compute. This way, we have
the flexibility of auto-remove custom value if it matches the computed one + we don't
need extra changes in the rest of the code.
2024-03-23 15:10:10 +00:00
Jairo Llopis
1531b29de4 [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
2024-03-23 15:10:10 +00:00
Pedro M. Baeza
cd84a80e4e Translated using Weblate (Spanish)
Currently translated at 100.0% (270 of 270 strings)

Translation: contract-12.0/contract-12.0-contract
Translate-URL: https://translation.odoo-community.org/projects/contract-12-0/contract-12-0-contract/es/
2024-03-23 15:10:10 +00:00
Fernando Colus
82f5babe1f Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (270 of 270 strings)

Translation: contract-12.0/contract-12.0-contract
Translate-URL: https://translation.odoo-community.org/projects/contract-12-0/contract-12-0-contract/pt_BR/
2024-03-23 15:10:10 +00:00
Pedro M. Baeza
e887a42736 [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.

Also remove roadmap as already attended
2024-03-23 15:10:10 +00:00
Jorge Luis Quinteros
8f13d857e5 Translated using Weblate (Spanish)
Currently translated at 89.3% (241 of 270 strings)

Translation: contract-12.0/contract-12.0-contract
Translate-URL: https://translation.odoo-community.org/projects/contract-12-0/contract-12-0-contract/es/
2024-03-23 15:10:10 +00:00
sbejaoui
5635f524f1 [IMP] - Contract: add new recurring_rule_type quarterly and semesterly 2024-03-23 15:10:10 +00:00
Ernesto Tejeda
03af8ba703 [FIX] contract: Select the correct sections/notes to be invoiced 2024-03-23 15:10:10 +00:00
Maria Sparenberg
5408289c0e Translated using Weblate (German)
Currently translated at 91.3% (240 of 263 strings)

Translation: contract-12.0/contract-12.0-contract
Translate-URL: https://translation.odoo-community.org/projects/contract-12-0/contract-12-0-contract/de/
2024-03-23 15:10:10 +00:00
Pedro M. Baeza
6b0f5086b6 [FIX+IMP] contract: improve test coverage with new sections + fix search method 2024-03-23 15:10:10 +00:00
Ernesto Tejeda
b782d9d602 [IMP] contract: add section and notes in contract line 2024-03-23 15:10:09 +00:00
Bejaoui Souheil
b208d10d98 [IMP] - Place id attribute before model
Co-Authored-By: Carlos Dauden <carlos.dauden@tecnativa.com>
2024-03-23 15:10:09 +00:00
Pedro M. Baeza
b52bb30727 [FIX] contract: Delete cascade line wizard
For avoiding problems while trying to remove the contract/contract line
2024-03-23 15:10:09 +00:00
Nelson Ramírez Sánchez
886d9f5ddb Translated using Weblate (Spanish)
Currently translated at 94.9% (241 of 254 strings)

Translation: contract-12.0/contract-12.0-contract
Translate-URL: https://translation.odoo-community.org/projects/contract-12-0/contract-12-0-contract/es/
2024-03-23 15:10:09 +00:00
Stéphane Valaeys
2f4c027ffd Set company_id earlier in the invoice preparation process so that _onchange_partner can execute as intended. 2024-03-23 15:10:09 +00:00
sbejaoui
40d22616dc [IMP] - Add contract tags 2024-03-23 15:10:09 +00:00
Valaeys Stéphane
7b912ac165 Translated using Weblate (French)
Currently translated at 100.0% (254 of 254 strings)

Translation: contract-12.0/contract-12.0-contract
Translate-URL: https://translation.odoo-community.org/projects/contract-12-0/contract-12-0-contract/fr/
2024-03-23 15:10:09 +00:00
sbejaoui
6cb0fc6ebe [IMP] contract: Improve partner With running contracts search view filter + contract termination 2024-03-23 15:10:09 +00:00
Ernesto Tejeda
924aae8bc6 [IMP] contract: add analytic_tag_ids field in contract lines 2024-03-23 15:10:09 +00:00
Jarmo Kortetjärvi
23e9146f4f Translated using Weblate (Finnish)
Currently translated at 100.0% (234 of 234 strings)

Translation: contract-12.0/contract-12.0-contract
Translate-URL: https://translation.odoo-community.org/projects/contract-12-0/contract-12-0-contract/fi/
2024-03-23 15:10:09 +00:00
Pedro Castro Silva
98548071e7 Translated using Weblate (Portuguese)
Translated using Weblate (Portuguese)

Currently translated at 99.6% (233 of 234 strings)

Translation: contract-12.0/contract-12.0-contract
Translate-URL: https://translation.odoo-community.org/projects/contract-12-0/contract-12-0-contract/pt/
2024-03-23 15:10:09 +00:00
Jarmo Kortetjärvi
d27cbc5baa Translated using Weblate (Finnish)
Currently translated at 100.0% (234 of 234 strings)

Translation: contract-12.0/contract-12.0-contract
Translate-URL: https://translation.odoo-community.org/projects/contract-12-0/contract-12-0-contract/fi/
2024-03-23 15:10:09 +00:00
Marcel Savegnago
5e04792e01 Translated using Weblate (Portuguese (Brazil))
Currently translated at 96.6% (226 of 234 strings)

Translation: contract-12.0/contract-12.0-contract
Translate-URL: https://translation.odoo-community.org/projects/contract-12-0/contract-12-0-contract/pt_BR/
2024-03-23 15:10:09 +00:00
Mario Riva
31c2938b61 Translated using Weblate (Italian)
Currently translated at 91.0% (213 of 234 strings)

Translation: contract-12.0/contract-12.0-contract
Translate-URL: https://translation.odoo-community.org/projects/contract-12-0/contract-12-0-contract/it/
2024-03-23 15:10:09 +00:00
sbejaoui
8412378133 [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
2024-03-23 15:10:09 +00:00
Pedro M. Baeza
8cdc1516d4 [IMP] contract: remove redundant method
I have detected a method that was created as redundant and with the same
technique used when preparing the line values, so better to have
everything together in the same method instead of having it spread.
2024-03-23 15:10:09 +00:00
qgroulard
8199825b64 Translated using Weblate (French)
Currently translated at 38.6% (86 of 223 strings)

Translation: contract-12.0/contract-12.0-contract
Translate-URL: https://translation.odoo-community.org/projects/contract-12-0/contract-12-0-contract/fr/
2024-03-23 15:10:09 +00:00
Nelson Ramírez Sánchez
b9fbe15d5d Translated using Weblate (Spanish)
Currently translated at 99.6% (222 of 223 strings)

Translation: contract-12.0/contract-12.0-contract
Translate-URL: https://translation.odoo-community.org/projects/contract-12-0/contract-12-0-contract/es/
2024-03-23 15:10:09 +00:00
Nelson Ramírez Sánchez
1fcfa6f079 Added translation using Weblate (Spanish (Chile))
Currently translated at 0.9% (2 of 223 strings)

Translation: contract-12.0/contract-12.0-contract
Translate-URL: https://translation.odoo-community.org/projects/contract-12-0/contract-12-0-contract/es_CL/
2024-03-23 15:10:09 +00:00
Grégory Moka Tourisme
9a3c8ec270 Translated using Weblate (French)
Currently translated at 38.1% (85 of 223 strings)

Translation: contract-12.0/contract-12.0-contract
Translate-URL: https://translation.odoo-community.org/projects/contract-12-0/contract-12-0-contract/fr/
2024-03-23 15:10:09 +00:00
Pedro M. Baeza
abf30c16b4 [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).
2024-03-23 15:10:09 +00:00
sbejaoui
d1e7dde56e [IMP+FIX] contract: Add failing test for wrong invoicing date after contract line stop + stop update recurring_next_date 2024-03-23 15:10:09 +00:00
Andrea Cometa
5ea575e28e Translated using Weblate (Italian)
Currently translated at 91.9% (204 of 222 strings)

Translation: contract-12.0/contract-12.0-contract
Translate-URL: https://translation.odoo-community.org/projects/contract-12-0/contract-12-0-contract/it/
2024-03-23 15:10:09 +00:00
sbejaoui
90fa0e055f [IMP+FIX] contract: Several things
- Add failing test for next invoice date before the last date invoiced
- raise an error when next invoice date before the last date invoiced
- Add note field to contract
- 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
- extend contract line at renewal
- improve code: unify methods argument _renew_create_line and _renew_extend_line
2024-03-23 15:10:09 +00:00
Augusto D. Lisbôa
954262697d Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (216 of 216 strings)

Translation: contract-12.0/contract-12.0-contract
Translate-URL: https://translation.odoo-community.org/projects/contract-12-0/contract-12-0-contract/pt_BR/
2024-03-23 15:10:09 +00:00
Stéphane Bidoul (ACSONE)
3fcb17d6f3 [IMP] contract: display invoicing offset 2024-03-23 15:10:09 +00:00
sbejaoui
13c5f8ecfd [FIX+REF] contract: Improve unit tests + add unit test for different combinations for next invoicing period + simplify _get_period_to_invoice 2024-03-23 15:10:09 +00:00
Stéphane Bidoul (ACSONE)
68d2b84a4b [REF+FIX+IMP] contract: Several refactorings + fixes + imps
- REF: Refactor _update_recurring_next_date
  Reuse the logic that is now fully located in _get_recurring_next_date.
- REF: re-add _compute_first_recurring_next_date
  for backward compatibility
- FIX: add missing dependency in computed field
- REF: remove one monthlylastday special case
  get_relative_delta now works the same for all recurring rules.
  Move the special case handling to _init_last_date_invoiced
  which is used only for migration.
- IMP: support pre-paid for monthlylastday
  monthlylastday is (almost) not a special case anymore \o/.
  montlylastday is simply a montly period where the
  periods are aligned on month boundaries.
  The last bit of special casing is that postpaid generates
  invoice the day after the last dasy of the period, except
  for monthlylastday where the invoice is generated on the
  last day of the period. This last exception will disappear
  when we put the offset under user control.
  This is a breaking change because the post-paid/pre-paid
  mode becomes relevant for monthlylastday invoicing.
  The field becomes visible in the UI. Code that generate
  monthlylastday contract lines must now correctly set
  the pre-paid/post-paid mode too. Some tests have had
  to be adapted to reflect that.
- REF: make recurring_invoicing_offset a computed field
  In preparation to making it user modifiable.
- REF: make get_next_period_date_end public
  Make it public because it is the core logic of the module.
  Also, clarify that recurring_invoicing_type
  and recurring_invoicing_offset are needed only when
  we want the next period to be computed from a
  user chosen next invoice date.
- REF: rename _get_recurring_next_date as get_next_invoice_date
  It is easier to understand. Also make it public.
2024-03-23 15:10:09 +00:00