Commit Graph

244 Commits

Author SHA1 Message Date
sbejaoui
f7f148c85e [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
2020-07-13 18:26:42 +02:00
Pedro M. Baeza
ed6074d399 [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.
2020-07-13 18:26:42 +02:00
qgroulard
5774aa747b 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/
2020-07-13 18:26:42 +02:00
OCA Transbot
7e0fb4597a 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/
2020-07-13 18:26:42 +02:00
Nelson Ramírez Sánchez
fc6f3b26a0 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/
2020-07-13 18:26:42 +02:00
Nelson Ramírez Sánchez
ba319053b2 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/
2020-07-13 18:26:42 +02:00
OCA Transbot
199205b335 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/
2020-07-13 18:26:42 +02:00
Grégory Moka Tourisme
fab2f91a81 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/
2020-07-13 18:26:42 +02:00
Pedro M. Baeza
410fd6452b [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).
2020-07-13 18:26:42 +02:00
sbejaoui
49326a78b8 [12.0][FIX] - stop update recurring_next_date 2020-07-13 18:26:42 +02:00
sbejaoui
7bc0dab276 [12.0][IMP] - Add failing test for wrong invoicing date after contract line stop 2020-07-13 18:26:42 +02:00
OCA Transbot
5afafed9fc 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/
2020-07-13 18:26:42 +02:00
Andrea Cometa
22ff332ec7 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/
2020-07-13 18:26:42 +02:00
sbejaoui
1c5e23b35a [IMP] - improve code: unify methods argument _renew_create_line and _renew_extend_line 2020-07-13 18:26:42 +02:00
sbejaoui
80d7ed4f86 [12.0][IMP] - extend contract line at renewal 2020-07-13 18:26:42 +02:00
sbejaoui
8bb7e73c5e [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
2020-07-13 18:26:42 +02:00
sbejaoui
5d846a196b [12.0][ADD] - Add note field to contract 2020-07-13 18:26:42 +02:00
sbejaoui
fd23ef1aa1 [12.0][FIX] - raise an error when next invoice date before the last date invoiced 2020-07-13 18:26:42 +02:00
sbejaoui
60b7eecca5 [12.0][IMP] - Add failing test for next invoice date before the last date invoiced 2020-07-13 18:26:42 +02:00
Augusto D. Lisbôa
b41527d2c5 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/
2020-07-13 18:26:42 +02:00
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