On 08 May 09:11, Sergi Almacellas Abellana wrote:
> El 08/05/15 a les 09:07, Raimon Esteve ha escrit:
> >Hie,
> >
> >I like to call a wizard GUI (popup) from a custom method. My scenario:
> >
> >1- A button, call a method example().
> >2. The method example(), depend state, call other method. For example:
> >    - Draft state call example_draft()
> >    - Done state call example_done()
> >
> >About example method:
> >
> >def example():
> >  if state == 'done':
> >     example_done()
> >   else:
> >     example_draft()
> >
> >Now, in case is done(), I like to open a GUI wizard. For example:
> >
> >def example_done():
> >    # Here I check some parts
> >    ...
> >    if someting:
> >     # Call a wizard GUI. How do it?
> >    else:
> >     # Not do nothing
> >    return
> >
> >Of course calling Wizard.create() and Wizard.execute() don't open
> >wizard GUI. I like to do similar @ModelView.button_action but inside a
> >method.
> >
> >Is it possible to do it?
> 
> AFAIU what you wan't is a StateAction that call your wizard. Once you have
> this, on your transition simply return the state name of the StateAction
> that points to the wizard and the client will open it.
> 
> Example:
> 
> class Wizard(Wizard):
> 
> start = StateTransition()
> open_wizard = StateAction('xml_id_of_your_wizard')
> 
> def transition_start(self):
>     return 'open_wizard'
> 

Or you can just return the action_id when you want to run it. That's
what does ModelView.button_action decorator.

-- 
Cédric Krier - B2CK SPRL
Email/Jabber: [email protected]
Tel: +32 472 54 46 59
Website: http://www.b2ck.com/

Reply via email to