[FIX] calendar: allow creation of 'All day' events
[FIX] calendar: allow creation of 'All day' events

Previously, creation of the 'All day' event was not possible in some
scenarios due to constraint error, even with proper configuration.

Scenario 1: (main spec of the task)
------------------------------------
- go to form view of calendar event
- create a new event
- enter future datetime in 'Starting at' field
- tick the 'All day' checkbox
- enter the end date which is greater than start date
- try to save the record

Scenario 2:
------------------------------------
- go to form view of calendar event
- create a new event
- enter future datetime in 'Starting at' field
- try to save the record

Scenario 3:
------------------------------------
- go to form view of calendar event
- create a new event
- enter any datetime in 'Starting at' field
- enter duration -1.00 hour
- tick the 'All day' checkbox
- enter the end date which is greater than start date
- try to save the record

In all above scenarios, user is not able to save the record even if
the there is no obvioius wrong configuration.

All of the above bugs are result of a recent refactoring[1]
where some redundant fields were removed.

The first two scenarios are result of 'stop' date not being computed
proerly based on 'start' in case the duration is set to '00:00'
(which is default duration) while the third one is due to lack of
proper check in the constraint after the fields used to validate
starting and ending dates were removed.

This commit fixes the issue by improving the compute method and by
ensuring proper validation in the constraint.

[1] - https://github.com/odoo/odoo/pull/42031/commits/6bafd7c677d016e82473f01bd0a3381ac3b24bbd

Task Id: 2299212
PR #54673

Signed-off-by: Thibault Delavallee (tde) <2d325771bb6e8870d87f0f3f7b45589a8338e550@openerp.com>
Co-authored-by: D J <cf1af486034ab0119a20f38a060e40da25f4cea3@odoo.com>

ygol/odoo,ygol/odoo,ygol/odoo,ygol/odoo,ygol/odoo,ygol/odoo,ygol/odoo