Commit Graph

437 Commits

Author SHA1 Message Date
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
Martronic SA
8210b4e95d Translated using Weblate (French)
Currently translated at 40.1% (85 of 212 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
Stéphane Bidoul (ACSONE)
ba712d2a1a [REF] contract: Several refactorings
- rename misnamed methods
- clarify _get_recurring_next_date
  First compute the next period end date,
  then derive the next invoice date from the next
  period stard and end date.
- handle max_date_end in _get_recurring_next_date
  This concentrates all next date calculation
  logic in one place, and will allow further simplifications.
- add next period start/end fields
  Add two computed field showing the next period
  start and end date. This improve the UX and will
  enable further simplifications in the code.
- refactor _get_period_to_invoice
  Move the part of the logic that compute the next
  period depending on the chosen next invoice date
  to _get_next_period_date_end.
2024-03-23 15:10:09 +00:00
Pedro M. Baeza
912480c68d [FIX] contract: Don't execute onchange after invoice creation + Tests with duplicated name
- Don't execute onchange after invoice creation
  Using that approach (that is the current one in core)  has a lot of side effects and
  performance bottlenecks. You can read odoo/odoo#40156 for summarizing them.
  This also improves the handling of the values of payment term an fiscal position
  for using the partner ones if not set.
- Tests with duplicated name
  So they are not executed at all. Detected by chance looking for a test for the other PR.
2024-03-23 15:10:09 +00:00
sbejaoui
ab32fa5f30 [12.0][FIX] - Run onchange contract_type when changing the contract template
Fix this use-case:

If the contract journal is not set on the contract template the contract is created
without a journal when confirming the sale order
2024-03-23 15:10:09 +00:00
Bole
9b62be9a10 Translated using Weblate (Croatian)
Currently translated at 22.2% (47 of 212 strings)

Translation: contract-12.0/contract-12.0-contract
Translate-URL: https://translation.odoo-community.org/projects/contract-12-0/contract-12-0-contract/hr/
2024-03-23 15:10:09 +00:00
Pedro M. Baeza
71dbf0fc06 [MIG][FIX] contract: Move contracts, but disable them
There were an error in previous query for moving only contracts with the mark checked,
but it's also more logic to move them, but remain them disabled.
2024-03-23 15:10:09 +00:00
Sergio Teruel
5d83f9de6d [IMP] contract: Fix test crash with other modules 2024-03-23 15:10:09 +00:00
Bole
a0d0b42700 Translated using Weblate (Croatian)
Currently translated at 21.7% (46 of 212 strings)

Translation: contract-12.0/contract-12.0-contract
Translate-URL: https://translation.odoo-community.org/projects/contract-12-0/contract-12-0-contract/hr/
2024-03-23 15:10:09 +00:00
Pedro M. Baeza
ddce2e7c2b [MIG] contract: No contract on AA without recurring invoices flag
Don't transfer to contract those analytic accounts with the "Recurring invoicing" flag
unchecked.
2024-03-23 15:10:09 +00:00
sbejaoui
f212a26186 [FIX] contract: Fix performance issue on contract line read + Fix contract partner label + contract company must be the same as the sale order
- multi-company record rules on contract line causes performance issue
- the label Partner (always False) don't make any sens
- When creating a contract from a sale order the company must be the sale order
  company and not the user company
2024-03-23 15:10:09 +00:00
Josep M
582f91f6ca Translated using Weblate (Spanish)
Currently translated at 100.0% (212 of 212 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