added from extra-addons
[odoo/odoo.git] / addons / crm_profiling / wizard / open_questionnaire.py
1 # -*- encoding: utf-8 -*-
2 import pooler
3 import wizard
4 from tools import UpdateableStr, UpdateableDict
5
6 _QUEST_FORM = UpdateableStr()
7 _QUEST_FIELDS=UpdateableDict()
8
9 class open_questionnaire(wizard.interface):
10
11     def _questionnaire_compute(self, cr, uid, data, context):
12         pooler.get_pool(cr.dbname).get(data['model'])._questionnaire_compute(cr, uid, data, context)
13         return {}
14
15
16     def build_form(self, cr, uid, data, context):
17         quest_form, quest_fields = pooler.get_pool(cr.dbname).get('crm_profiling.questionnaire').build_form(cr, uid, data, context)
18         _QUEST_FORM. __init__(quest_form)
19         _QUEST_FIELDS.__init__(quest_fields)
20         return{}
21
22     _questionnaire_choice_arch = '''<?xml version="1.0"?>
23     <form string="Questionnaire">
24         <field name="questionnaire_name"/>
25     </form>'''
26
27     _questionnaire_choice_fields = {
28             'questionnaire_name': {'string': 'Questionnaire name', 'type': 'many2one', 'relation': 'crm_profiling.questionnaire', 'required': True },
29     }
30
31     states = {
32         'init': {
33             'actions': [],
34             'result': {'type': 'form', 'arch': _questionnaire_choice_arch, 'fields': _questionnaire_choice_fields, 'state':[('end', 'Cancel'), ('open', 'Open Questionnaire')]}
35         },
36         'open': {
37             'actions': [build_form],
38             'result': {'type': 'form', 'arch':_QUEST_FORM, 'fields': _QUEST_FIELDS, 'state':[('end', 'Cancel'), ('compute', 'Save Data')]}
39         },
40         'compute': {
41             'actions': [],
42             'result': {'type': 'action', 'action': _questionnaire_compute, 'state':'end'}
43         }
44     }
45
46 open_questionnaire('open_questionnaire')
47 # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
48