Commit Graph

174 Commits

Author SHA1 Message Date
Stéphane Bidoul (ACSONE)
c1d7e080e1 [IMP] contract: display invoicing offset 2020-07-13 18:26:42 +02:00
Bejaoui Souheil
18ed3b9172 [REF] contract: simplify _get_period_to_invoice 2020-07-13 18:26:42 +02:00
sbejaoui
7dd36bc1e8 [IMP] contract: add unit test for different combinations for next invoicing period 2020-07-13 18:26:42 +02:00
Stéphane Bidoul (ACSONE)
56d243b35a [REF] contract: rename _get_recurring_next_date as get_next_invoice_date
It is easier to understand. Also make it public.
2020-07-13 18:26:42 +02:00
Stéphane Bidoul (ACSONE)
e4633d5db7 [REF] contract: 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.
2020-07-13 18:26:42 +02:00
Stéphane Bidoul (ACSONE)
49918590da [REF] contract: make recurring_invoicing_offset a computed field
In preparation to making it user modifiable.
2020-07-13 18:26:42 +02:00
sbejaoui
4e84efa97e [FIX] contract: Improve unit tests 2020-07-13 18:26:42 +02:00
Stéphane Bidoul (ACSONE)
41468b0388 [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.
2020-07-13 18:26:42 +02:00
Stéphane Bidoul (ACSONE)
a3648ca0c9 [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.
2020-07-13 18:26:42 +02:00
Stéphane Bidoul (ACSONE)
d93c3ad0d2 [FIX] contract: add missing dependency in computed field 2020-07-13 18:26:42 +02:00
Stéphane Bidoul (ACSONE)
8489544dc5 [REF] contract: re-add _compute_first_recurring_next_date
For backward compatibility
2020-07-13 18:26:42 +02:00
Stéphane Bidoul (ACSONE)
238cb85a19 [REF] contract: refactor _update_recurring_next_date
Reuse the logic that is now fully located in _get_recurring_next_date.
2020-07-13 18:26:42 +02:00
Martronic SA
0b5aaf1e92 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/
2020-07-13 18:26:42 +02:00
Stéphane Bidoul (ACSONE)
ab49596169 [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.
2020-07-13 18:26:42 +02:00
Stéphane Bidoul (ACSONE)
a040b1c066 [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.
2020-07-13 18:26:42 +02:00
Stéphane Bidoul (ACSONE)
562e775bdf [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.
2020-07-13 18:26:42 +02:00
Stéphane Bidoul (ACSONE)
d730fcc72f [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.
2020-07-13 18:26:42 +02:00
Stéphane Bidoul (ACSONE)
a27f377c85 [REF] contract: rename misnamed methods 2020-07-13 18:26:42 +02:00
Pedro M. Baeza
8ecd8bbc95 [FIX] contract: Tests with duplicated name
So they are not executed at all. Detected by chance looking for a test for the other PR.
2020-07-13 18:26:42 +02:00
Pedro M. Baeza
77e405e05d [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.
2020-07-13 18:26:42 +02:00
sbejaoui
d58a5bdb2a [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
2020-07-13 18:26:42 +02:00
Bole
d5847f4016 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/
2020-07-13 18:26:42 +02:00
Pedro M. Baeza
8ce70cd799 [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.
2020-07-13 18:26:42 +02:00
Sergio Teruel
8976dcfcb4 [IMP] contract: Fix test crash with other modules 2020-07-13 18:26:42 +02:00
Bole
da6aa66a45 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/
2020-07-13 18:26:42 +02:00
Pedro M. Baeza
c36275ef09 [MIG] contract: No contract on AA without recurring invoices flag
Don't transfer to contract those analytic accounts with the "Recurring invoicing" flag
unchecked.
2020-07-13 18:26:42 +02:00
sbejaoui
eb1d618f2f [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
2020-07-13 18:26:42 +02:00
sbejaoui
d74a095d49 [12.0][FIX] - Fix contract partner label
the label Partner (always False) don't make any sens
2020-07-13 18:26:42 +02:00
sbejaoui
4c5585aa7d [12.0][FIX] - Fix performance issue on contract line read
multi-company record rules on contract line causes performance issue
2020-07-13 18:26:42 +02:00
Josep M
bd1374a076 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/
2020-07-13 18:26:42 +02:00
Rudolf Schnapka
543119835d 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/
2020-07-13 18:26:42 +02:00
sbejaoui
bb94a32a30 [12.0][FIX] - Fix contract report 2020-07-13 18:26:42 +02:00
sbejaoui
4cac18c7d4 [IMP] - Add multi-company access rule for contract objects 2020-07-13 18:26:42 +02:00
Thomas Pot
5ebc8d9914 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/
2020-07-13 18:26:42 +02:00
Pedro M. Baeza
5a755eeed8 [MIG] contract: Create contract sequence for allowing to create records 2020-07-13 18:26:41 +02:00
黎伟杰
0945e0ef7e 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/
2020-07-13 18:26:41 +02:00
Pedro M. Baeza
04c26ebbc9 [MIG] contract: Missing renaming of invoice link
Done through `oldname`.
2020-07-13 18:26:41 +02:00
Eder Brito
c6a1962c50 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/
2020-07-13 18:26:41 +02:00
Albert Pons
9a9b2f82ed 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/
2020-07-13 18:26:41 +02:00
Enrique
932d2abf8d [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.
2020-07-13 18:26:41 +02:00
Maria Sparenberg
18259f448c 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/
2020-07-13 18:26:41 +02:00
Pedro M. Baeza
ebd26c455c [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.
2020-07-13 18:26:41 +02:00
Lorenzo Battistini
490647984b 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/
2020-07-13 18:26:41 +02:00
hparfr
8517152991 Add commercial_partner_id fields into contract module
Remove string attribute
2020-07-13 18:26:41 +02:00
Pedro M. Baeza
10a4433663 [MIG+FIX] contract: Missing pieces for moving info from analytic account to contract 2020-07-13 18:26:41 +02:00
黎伟杰
feb2f1056a 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/
2020-07-13 18:26:41 +02:00
Pedro M. Baeza
8aa27b9f6e [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.
2020-07-13 18:26:41 +02:00
sbejaoui
f4db1ce2b0 [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
2020-07-13 18:26:41 +02:00
Thomas Binsfeld
1169382b18 [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
2020-07-13 18:26:41 +02:00
Thomas Binsfeld
fff9eac579 [REF] Contract: split from analytic account 2020-07-13 18:26:41 +02:00