- Task list view (bemade_fsm) cleaned up
- Add equipment to service to task list view (bemade_fsm)
- Give base.group_user access to read client application details
- Add migration script for fsm_equipment to refactor components into a
hierarchy of equipment.
- Add the notion of equipment hierarchy instead of components.
partner_id field is only to be filled on the root equipment, to
facilitate viewing client equipment lists without the clutter of all
the subcomponents.
- Add the notion of "inherited partner id" to show the root's partner_id
on child equipment (components) form view.
- Improve the interventions list on the equipment form view. Added a
custom embedded tree view with limited fields, ordered by date.
- Make the default search for equipment only search for root equipments
(parent_id = False)
Add the notion of application specification keys to allow administrators
to specify the names of specification items that can be used on an
application. This aims to homogenize specifications and to later provide
a sort of checklist when creating a new application for a customer.
Added groups for partner applications (user and admin). Administrators
have the right to create specification keys while users can only read
them (and use them to create specifications on an application).
Various view improvements across the affected modules.
- Created models for client applications, application specifications and
application types.
- Created a small technical module for adding a self-incrementing
sequence field to other models. See incrementing_sequence_mixin.
Added tests and fixed an edge case where computing the gross profit
resulted in a division by zero. This happened in production with a zero
ordered quantity on a sales order line and a negative product
availability value.
Also added some test cases to ensure that the calculations for GP and GP
% are correct across logically different cases.
Add a type check to the values being compared when iterating over
current and changed values in a calendar event. Also, rewrite to use
dictionary comprehension for readability.
Pure JS module to override the behaviour of Many2One fields, causing
them to open a confirmation dialog when the user selects the "Create"
option from the autocomplete list of a Many2One field with quick create
enabled.