Wizard¶
A wizard is a finite state machine.
There is also a more practical introduction into wizards.
-
class
trytond.wizard.
Wizard
(session_id)¶ This is the base for any wizard. It contains the engine for the finite state machine. A wizard must have some
State
instance attributes that the engine will use.
Class attributes are:
-
Wizard.
__name__
¶ It contains the unique name to reference the wizard throughout the platform.
-
Wizard.
start_state
¶ It contains the name of the starting state.
-
Wizard.
end_state
¶ It contains the name of the ending state.
-
Wizard.
__rpc__
¶ Same as
trytond.model.Model.__rpc__
.
Class methods are:
-
classmethod
Wizard.
__setup__
()¶ Setup the class before adding into the
trytond.pool.Pool
.
-
classmethod
Wizard.
__post_setup__
()¶ Setup the class after added into the
trytond.pool.Pool
.
-
classmethod
Wizard.
__register__
(module_name)¶ Register the wizard.
-
classmethod
Wizard.
create
()¶ Create a session for the wizard and returns a tuple containing the session id, the starting and ending state.
-
classmethod
Wizard.
delete
(session_id)¶ Delete the session.
-
classmethod
Wizard.
execute
(session_id, data, state_name)¶ Execute the wizard for the state. session_id is a session id. data is a dictionary with the session data to update. active_id, active_ids and active_model must be set in the context according to the records on which the wizard is run.
State¶
-
class
trytond.wizard.
State
¶ This is the base for any wizard state.
Instance attributes are:
-
State.
name
¶ The name of the state.
StateView¶
-
class
trytond.wizard.
StateView
(model_name, view, buttons)¶ A
StateView
is a state that will display a form in the client. The form is defined by theModelView
with the name model_name, the XML id in view and the buttons.
Instance attributes are:
-
StateView.
view
¶ The XML id of the form view.
The list of
Button
instances to display on the form.
Instance methods are:
-
StateView.
get_view
()¶ Returns the view definition like
fields_view_get()
.
-
StateView.
get_defaults
(wizard, state_name, fields)¶ Return default values for the fields.
StateTransition¶
-
class
trytond.wizard.
StateTransition
¶ A
StateTransition
brings the wizard to the state returned by the method having the same name as the state but starting with transition_.
StateAction¶
-
class
trytond.wizard.
StateAction
(action_id)¶ A
StateAction
is aStateTransition
which let the client launch an ir.action. This action definition can be customized with a method on wizard having the same name as the state but starting with do_.
Instance attributes are:
-
StateAction.
action_id
¶ The XML id of the ir.action.
Instance methods are:
-
StateAction.
get_action
()¶ Returns the ir.action definition.
Button¶
-
class
trytond.wizard.
Button
(string, state[, icon[, default]])¶ A
Button
is a single object containing the definition of a wizard button.
Instance attributes are:
-
Button.
string
¶ The label display on the button.
-
Button.
state
¶ The next state to reach if button is clicked.
-
Button.
icon
¶ The name of the icon to display on the button.
-
Button.
default
¶ A boolean to set it as default on the form.