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.
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.
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.
* 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.
[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
[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
Improve CRITERIA_ALLOWED_DICT
[IMP] - code improvement
[IMP] - Use last_date_invoiced to set marker in invoice description
[IMP] - add migration script to init last_day_invoiced and some other improvement
[FIX] - a contract line suspended should start a day after the suspension end
Make recurrence mechanism on contract line and some other refactoring
[FIX] - Keep contract_cron on account_analytic_account model
contract_cron defined with no_update option.
Changing it, will cause issue to past version installation.
[IMP] - Fix recurring_next_date default value
recurring_next_date should have start_date as default value in prepaid policy
and start_date + invoicing_interval if postpaid
[FIX] - Fix test check no journal
[IMP] - Return created invoices on recurring_create_invoice
[IMP] - Specific process to compute recurring_next_date for monthly-last-day
fixes: #198
[ADD] - Add Post-migration script to bring recurrence info from contract to contract lines
[ADD] - Add search filter based on date_end and recurring_next_date
- not_finished filter in contract search view
- finished filter in contract search view
- Next Invoice group by in contract search view
[ADD] - Add unit tests
- cases to compute first recurring next date
- contract recurring_next_date
- contract date_end
[IMP] - Improve Unit tests