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
The test as it was, leaves to the demo pricelist the control on the price of
the product, so other modules that modifies this pricelist will make the
test to fail.
This is the minimum change needed for avoiding the problem.
In previous commit changed inheritance order of
'account.analytic.*.line' models, thus classes and models were renamed.
This commit only renames files to temporary names.
This commit does not change file contents.
Bug description
---------------
`account.analytic.contract.line` inherits
`account.analytic.invoice.line`
`account.analytic.invoice.line` defines field `analytic_account_id`:
- comodel='account.analytic.account'
`account.analytic.contract.line` redefines field `analytic_account_id`:
- comodel='account.analytic.contract'
On attempt to extend `account.analytic.invoice.line` model adding
field that depends on `analytic_account_id.date_start`
Odoo fails to update, because it adds this field to
`account.analytic.contract.line` through inheritance,
and `account.analytic.contract` model have no this field.
What is done
------------
Change inheritance order:
- `account.analytic.invoice.line` inherits
`account.analytic.contract.line`
- no file renames at this stage (this wil be done in next commit)
If you have contract lines with automatic price and your pricelist
contains different prices per quantity, the price is not changed
when computing quantity.
This PR fixes this.
* company_id was empty because an onchange, not inheritance nor visibility
* Added multi-company group to company_id fields
* Added multi-company access rule to contract templates
* Fix double %% in XML dates that was causing an error
* When creating a contract, recurring_invoices is set by default
* Correct domain attribute in field journal_id
Original domain includes unknown value company_id. Throws error when selecting the journal.
* Corregidos errores detectados por Lint
* Refactoring, DRY
* [FIX] Add missing field company_id to account_analytic_contract
* Small refactoring for company_id field
* [FIX+IMP] contract: Improve usability and don't fail on wrong data
* Cron create invoices masked for avoiding silent errors
* New constraints for assuring data consistency
* UI helps for entering consistent data
* Spanish translation
* Remove double company_id field on form