Commit Graph

196 Commits

Author SHA1 Message Date
sbejaoui
d74f65ff97 [FIX] contract: Improve unit tests 2021-04-01 13:53:02 +02:00
Stéphane Bidoul (ACSONE)
7649f5b385 [IMP] contract: 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.
2021-04-01 13:53:02 +02:00
Stéphane Bidoul (ACSONE)
4b2f0d2e25 [REF] contract: 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.
2021-04-01 13:53:02 +02:00
Stéphane Bidoul (ACSONE)
4bfe8cd56e [FIX] contract: add missing dependency in computed field 2021-04-01 13:53:02 +02:00
Stéphane Bidoul (ACSONE)
e2fa625aeb [REF] contract: re-add _compute_first_recurring_next_date
For backward compatibility
2021-04-01 13:53:02 +02:00
Stéphane Bidoul (ACSONE)
92cb491f6b [REF] contract: refactor _update_recurring_next_date
Reuse the logic that is now fully located in _get_recurring_next_date.
2021-04-01 13:53:02 +02:00
Martronic SA
250c959f05 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/
2021-04-01 13:53:02 +02:00
Stéphane Bidoul (ACSONE)
ad696645f8 [REF] contract: 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.
2021-04-01 13:53:02 +02:00
Stéphane Bidoul (ACSONE)
ea235974b8 [IMP] contract: 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.
2021-04-01 13:53:02 +02:00
Stéphane Bidoul (ACSONE)
967023c31b [REF] contract: handle max_date_end in _get_recurring_next_date
This concentrates all next date calculation
logic in one place, and will allow further simplifications.
2021-04-01 13:53:02 +02:00
Stéphane Bidoul (ACSONE)
e63ad7d15f [REF] contract: 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.
2021-04-01 13:53:02 +02:00
Stéphane Bidoul (ACSONE)
87babeba9f [REF] contract: rename misnamed methods 2021-04-01 13:53:02 +02:00
Pedro M. Baeza
c3c0ffaac1 [FIX] contract: Tests with duplicated name
So they are not executed at all. Detected by chance looking for a test for the other PR.
2021-04-01 13:53:02 +02:00
Pedro M. Baeza
d0499324c4 [FIX] contract: 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.
2021-04-01 13:53:02 +02:00
sbejaoui
b30a41b2da [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
2021-04-01 13:53:02 +02:00
Bole
3fcae72d8a 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/
2021-04-01 13:53:02 +02:00
Pedro M. Baeza
2127d72820 [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.
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
Bole
b7467218dc 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/
2021-04-01 13:53:02 +02:00
Pedro M. Baeza
029ee426db [MIG] contract: No contract on AA without recurring invoices flag
Don't transfer to contract those analytic accounts with the "Recurring invoicing" flag
unchecked.
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
923cffe91c [12.0][FIX] - Fix contract partner label
the label Partner (always False) don't make any sens
2021-04-01 13:53:02 +02:00
sbejaoui
cb5f4c21fa [12.0][FIX] - Fix performance issue on contract line read
multi-company record rules on contract line causes performance issue
2021-04-01 13:53:02 +02:00
Josep M
0ddc15b82e 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/
2021-04-01 13:53:02 +02:00
Rudolf Schnapka
f7bd7564f4 Translated using Weblate (German)
Currently translated at 99.1% (210 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/de/
2021-04-01 13:53:02 +02:00
sbejaoui
0aa712adc2 [12.0][FIX] - Fix contract report 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
Thomas Pot
12b0df3c4c Translated using Weblate (Dutch)
Currently translated at 98.1% (208 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/nl/
2021-04-01 13:53:02 +02:00
Pedro M. Baeza
cc16140e1e [MIG] contract: Create contract sequence for allowing to create records 2021-04-01 13:53:02 +02:00
黎伟杰
e0c857a9cc Translated using Weblate (Chinese (Simplified))
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/zh_CN/
2021-04-01 13:53:02 +02:00
Pedro M. Baeza
83925c5286 [MIG] contract: Missing renaming of invoice link
Done through `oldname`.
2021-04-01 13:53:02 +02:00
Eder Brito
56e7d9bb9e Translated using Weblate (Portuguese (Brazil))
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/pt_BR/
2021-04-01 13:53:02 +02:00
Albert Pons
eb9161cc75 Translated using Weblate (Catalan)
Currently translated at 61.3% (130 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/ca/
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
Maria Sparenberg
6dfd9656d4 Translated using Weblate (German)
Currently translated at 78.8% (167 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/de/
2021-04-01 13:53:02 +02:00
Pedro M. Baeza
7efe3b3cee [MIG] contract: Assign old partner's salesman to migrated contracts
As v11 takes salesman from linked partner and now the salesman is a field in the
contract that is initialized to current user, we need to assign to the recently
converted contracts following old logic, or they will have admin as responsible.
2021-04-01 13:53:02 +02:00
Lorenzo Battistini
744386f59a Translated using Weblate (Italian)
Currently translated at 96.2% (204 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/it/
2021-04-01 13:53:02 +02:00
hparfr
cc7f8c66a1 Add commercial_partner_id fields into contract module
Remove string attribute
2021-04-01 13:53:02 +02:00
Pedro M. Baeza
ac5af54614 [MIG+FIX] contract: Missing pieces for moving info from analytic account to contract 2021-04-01 13:53:02 +02:00
黎伟杰
2baecc368c Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (211 of 211 strings)

Translation: contract-12.0/contract-12.0-contract
Translate-URL: https://translation.odoo-community.org/projects/contract-12-0/contract-12-0-contract/zh_CN/
2021-04-01 13:53:02 +02:00
Pedro M. Baeza
a2cd6455ad [FIX+IMP+MIG] contract: Several refinements:
* Remove incorrect oldname attributes.
* Add filter on partners for running contracts (+ a support o2m field for that).
* Cover more tables in model renaming + cleaner code using a loop.
* Don't copy contract lines, but rename table + copy contract records on pre.
* Contract code is now populated to "Reference/Description" field in invoice.
* Order on new contract model has been restored to the same as old analytic accounts.
2021-04-01 13:53:02 +02:00
sbejaoui
f55b537d08 [IMP] - Make one migration from 12.0.1 to 12.0.4
[RMV] - Remove empty file

[IMP] - Update no_update cron after migration

[IMP] - move contract template recurrence info to line level

[FIX] - Fix contract line model description

[IMP] - Link contracts to analytic accounts

[FIX] - Fix pylint

[IMP] - Move chatter and attachments from analytic account to contract

[IMP] - Move account_analytic_id to contract line level

[IMP] - Improve version check in migration script

[IMP] - Move contracts followers from analytic accounts

[ADD] - Add mail.activity.mixin to contract.contract model

remove data drop from migration scripts

[12.0][FIX] - Fix _init_last_date_invoiced

fix flake8

[ADD] - Update contributors list
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
Thomas Binsfeld
70db1094ff [REF] Contract: use context_today instead of time in filters 2021-04-01 13:53:02 +02:00
Aaron Henriquez
1b92a2ee59 [IMP]pass the payment term to the contract from the partner 2021-04-01 13:53:02 +02:00
sbejaoui
107dbc65d6 [IMP] - A canceled contract line can't be set to auto-renew
[REF] Contract: pep8

[IMP] Contract: update USAGE section of README

[IMP]call onchange_is_auto_renew when changing template
2021-04-01 13:53:02 +02:00
sbejaoui
5c8c875b61 [FIX] - don't play onchange date_start for old lines on contract template change
[FIX] - Fix stop post message

[FIX] - Fix sale_contract_count should count all partner contract

[FIX] - set recurring_next_date to False if contract line stoped at last date invoiced

[FIX] - Group by next_invoice also considers dates in the past
2021-04-01 13:53:02 +02:00
sbejaoui
5248e17bab [FIX] - Onchange contract line don't reste contract lines
[FIX] - Rename _get_invoiced_period to _get_period_to_invoice

[ADD] - Add stop_at_date_end to _get_period_to_invoice

[FIX] - Remove useless filter
2021-04-01 13:53:02 +02:00
sbejaoui
c9ef02df2b [REF] - add method to get quantity to invoice
the contract line quantity can be in some use cases variable, to simplify
the way it is changed we add a new method _get_quantity_to_invoice.
2021-04-01 13:53:02 +02:00