Abstract classes ================ .. py:module:: anyblok_wms_base.core.operation Fundamental Models ~~~~~~~~~~~~~~~~~~ Model.Wms.Operation ------------------- .. autoclass:: anyblok_wms_base.core.operation.base.Operation .. raw:: html

Fields and their semantics

.. autoattribute:: id .. autoattribute:: type .. autoattribute:: state .. autoattribute:: inputs .. autoattribute:: outcomes .. autoattribute:: follows .. autoattribute:: followers .. autoattribute:: dt_execution .. autoattribute:: dt_start .. raw:: html

Main API

These are the methods end applications and downstream libraries are supposed to use. .. automethod:: create .. automethod:: execute .. automethod:: cancel .. automethod:: plan_revert .. automethod:: obliviate .. automethod:: alter_destination .. raw:: html

Mandatory API of subclasses

These are the methods the concrete Operation subclasses must implement. .. note:: we provide helper Mixins to help reduce boilerplate and duplication. .. automethod:: after_insert .. automethod:: execute_planned .. automethod:: plan_revert_single .. automethod:: input_location_altered .. raw:: html

Optional API of subclasses

These methods have a default implementation in the base class, and are meant for the concrete Operation subclasses to override them if needed. .. autoattribute:: destination_field .. automethod:: is_reversible .. automethod:: check_create_conditions .. automethod:: check_execute_conditions .. automethod:: cancel_single .. automethod:: obliviate_single .. automethod:: before_insert Model.Wms.Operation.HistoryInput -------------------------------- .. autoclass:: anyblok_wms_base.core.operation.base.HistoryInput .. raw:: html

Fields and their semantics

.. autoattribute:: operation .. autoattribute:: avatar .. autoattribute:: orig_dt_until Helper Mixin classes ~~~~~~~~~~~~~~~~~~~~ These implement a subset of the mandatory API for subclasses of :class:`Operation <.base.Operation>`. They tend to have long names because Anyblok does not have namespaces for Mixins. Being Mixins, they can themselves be overridden in concrete applications, but this is not recommended except for quick bug fixing. Mixin.WmsSingleInputOperation: working on a single input -------------------------------------------------------- .. autoclass:: anyblok_wms_base.core.operation.single_input.WmsSingleInputOperation .. raw:: html

Fields and their semantics

.. autoattribute:: inputs_number .. autoattribute:: input .. raw:: html

Overrides of the base class.

.. automethod:: create .. raw:: html

Specific methods.

.. automethod:: refine_with_leading_move Mixin.WmsSingleOutcomeOperation: producing only one outcome ----------------------------------------------------------- .. autoclass:: anyblok_wms_base.core.operation.single_outcome.WmsSingleOutcomeOperation .. raw:: html

Fields and their semantics

.. autoattribute:: outcome .. raw:: html

Specific methods.

.. automethod:: refine_with_trailing_move Mixin.WmsInPlaceOperation: staying in the same location or container -------------------------------------------------------------------- .. autoclass:: anyblok_wms_base.core.operation.in_place.WmsInPlaceOperation .. raw:: html

Specific methods.

.. automethod:: unique_inputs_location .. raw:: html

Overrides of the base class.

.. automethod:: check_create_conditions .. automethod:: input_location_altered Mixin.WmsInventoryOperation: common logic of inventory Operations ----------------------------------------------------------------- .. autoclass:: anyblok_wms_base.core.operation.inventory.WmsInventoryOperation .. raw:: html

Optional API of subclasses

.. automethod:: check_create_conditions