Commit Graph

222 Commits

Author SHA1 Message Date
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
39becb9dc9 [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.
2021-04-01 13:53:03 +02:00
qgroulard
d58d313846 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/
2021-04-01 13:53:03 +02:00
OCA Transbot
a1f9ac4fcf Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: contract-12.0/contract-12.0-contract
Translate-URL: https://translation.odoo-community.org/projects/contract-12-0/contract-12-0-contract/
2021-04-01 13:53:03 +02:00
Nelson Ramírez Sánchez
fae75eaa66 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/
2021-04-01 13:53:03 +02:00
Nelson Ramírez Sánchez
e6049b8cc5 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/
2021-04-01 13:53:03 +02:00
OCA Transbot
14367a7744 Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: contract-12.0/contract-12.0-contract
Translate-URL: https://translation.odoo-community.org/projects/contract-12-0/contract-12-0-contract/
2021-04-01 13:53:03 +02:00
Grégory Moka Tourisme
6a02e1eac7 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/
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
f54661e53e [12.0][IMP] - Add failing test for wrong invoicing date after contract line stop 2021-04-01 13:53:03 +02:00
OCA Transbot
cf2b206fca Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: contract-12.0/contract-12.0-contract
Translate-URL: https://translation.odoo-community.org/projects/contract-12-0/contract-12-0-contract/
2021-04-01 13:53:03 +02:00
Andrea Cometa
027ababaaf 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/
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
57f5df2a03 [12.0][IMP] - extend contract line at renewal 2021-04-01 13:53:02 +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
f2de4aafe9 [12.0][ADD] - Add note field to contract 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
sbejaoui
7e55756ddd [12.0][IMP] - Add failing test for next invoice date before the last date invoiced 2021-04-01 13:53:02 +02:00
Augusto D. Lisbôa
5f5a5eb8d4 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/
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
Bejaoui Souheil
313bacff0f [REF] contract: simplify _get_period_to_invoice 2021-04-01 13:53:02 +02:00
sbejaoui
bfa220bcb8 [IMP] contract: add unit test for different combinations for next invoicing period 2021-04-01 13:53:02 +02:00
Stéphane Bidoul (ACSONE)
8061e3f0cd [REF] contract: rename _get_recurring_next_date as get_next_invoice_date
It is easier to understand. Also make it public.
2021-04-01 13:53:02 +02:00
Stéphane Bidoul (ACSONE)
809c90c676 [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.
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
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