- multi-company record rules on contract line causes performance issue
- the label Partner (always False) don't make any sens
- When creating a contract from a sale order the company must be the sale order
company and not the user company
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.
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] use context_today instead of time in filters
[REF] Contract: split from analytic account
[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
[FIX] - manual_renew_needed should be visible to all contract users
[REF] - add _get_next_invoiced_period method
[FIX] - Fix In progress contract filter
[REF] - add method to get quantity to invoice
the contract line quantity can be in some use cases variable, to simplify
the way it is changed we add a new method _get_quantity_to_invoice.
[FIX] - Onchange contract line don't reste contract lines
[FIX] - Rename _get_invoiced_period to _get_period_to_invoice
[ADD] - Add stop_at_date_end to _get_period_to_invoice
[FIX] - Remove useless filter
[FIX] - don't play onchange date_start for old lines on contract template change
[FIX] - Fix stop post message
[FIX] - Fix sale_contract_count should count all partner contract
[FIX] - set recurring_next_date to False if contract line stoped at last date invoiced
[FIX] - Group by next_invoice also considers dates in the past
[IMP] - A canceled contract line can't be set to auto-renew
[REF] Contract: pep8
[IMP] Contract: update USAGE section of README
[IMP]call onchange_is_auto_renew when changing template
[REF] - refactoring for compute_first_date_end
[RMV] - remove auto_renew_rule_type option monthlylastday
[IMP] - rename manual_renew_needed label
[IMP] - use get_product_multiline_description_sale to get contract line description
[FIX] - as date_start is required, constraints on it become useless
[FIX] - for finished contract _get_lines_to_invoice should return False
[FIX] - default value for active field in contract line
[FIX] - fix flake8
[IMP] - check invoice line vals before assignment
[FIX] - Fix unit tests.
[FIX] - do not copy last_date_invoiced on plan_successor
[FIX] - renew only recurring_invoices contract
[FIX] - filter by termination_notice for contract line to renew
[IMP] - Improve inprogress search filter
[IMP] - Link invoice line to contract lines
[IMP] - Add index on contract line
[IMP] - Add is_suspended flag and _search_state
[IMP] - Add is_suspended flag to stop contract line
[MV] - move onchange method to contract_product module
[IMP] - Replace is_suspended flag by manual_renew_needed
Add a computed field for the first date of the termination notice period
Adapt state compute and search method
[IMP] - Improve unit tests
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
[12.0][IMP] - Add strat/stop wizard to contract line
[12.0][IMP] - Add pause button to contract line
[IMP] - Add state filed in contract line form
[FIX] - stop don't change date_end for finished contract line
[IMP] - Change contract line buttons visibility
Add renewal process with termination notice
[FIX] - don't consider stop_date If it is after the contract line end_date
[IMP] - consider more cases in stop_plan_successor
[IMP] - cancel upcoming line on stop
[IMP] - Chnage next invoice date on un-cancel
[IMP] - Post message in contract on contract line actions
[IMP] - check contract line overlap
[FIX] - invoice last period for post-paid case
[IMP] - Add primary views for contract
[IMP] - don't use related filed for partner_id and pricelist_id
[FIX] - fix stop_plan_successor case 5
contract line start in the suspension period and end after it
[IMP] - improve cancel/uncancel process
[FIX] - Test if start_date is set before compute
[FIX] - date_end include in the period in auto_renew case
[FIX] - in suspension case, contract line should start a day after the end
[IMP] - confirm message on contract line cancel
[IMP] - hide recurring_invoicing_type if recurring_rule_type is monthlylastday
for the monthlylastday case, pre-paid is logicly impossible,
if monthlylastday is set, we consider only post-paid case
[IMP] - Improve unit tests
[IMP] - store last_date_invoiced on contract_line
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
[IMP] - don't allow to unlink uncnaceled contrac line
[FIX] - check date_start before onchange
[FIX] - compute recurring_next_date for contract
[IMP] - get contract line default data onchange product_id
[IMP] - Add responsible to contract form view
[FIX] - contract recurring_next_date ignore canceled lines
[FIX] - fix _get_invoiced_period if recurring_next_date manually updated
[IMP] - archive contract_line on contract archive