From a53b237da9ae22daf01ee2654b3e7f8562ab33b4 Mon Sep 17 00:00:00 2001 From: "Ujjvala Collins (OpenERP)" Date: Mon, 12 Sep 2011 11:35:32 +0530 Subject: [PATCH] [IMP] crm_profiling: Converted simple wizard to osv_memory. bzr revid: uco@tinyerp.com-20110912060532-6u9kquqq394hhf8l --- addons/crm_profiling/__openerp__.py | 2 +- addons/crm_profiling/crm_profiling.py | 21 ++-- addons/crm_profiling/crm_profiling_view.xml | 9 +- addons/crm_profiling/crm_profiling_wizard.xml | 5 - .../wizard/open_questionnaire.py | 100 +++++++++++------- .../wizard/open_questionnaire_view.xml | 44 ++++++++ 6 files changed, 117 insertions(+), 64 deletions(-) delete mode 100644 addons/crm_profiling/crm_profiling_wizard.xml create mode 100644 addons/crm_profiling/wizard/open_questionnaire_view.xml diff --git a/addons/crm_profiling/__openerp__.py b/addons/crm_profiling/__openerp__.py index c76278201b1..dbd3d5fde43 100644 --- a/addons/crm_profiling/__openerp__.py +++ b/addons/crm_profiling/__openerp__.py @@ -39,7 +39,7 @@ It also has been merged with the earlier CRM & SRM segmentation tool because the 'website': 'http://www.openerp.com', 'depends': ['base', 'crm'], 'init_xml': [], - 'update_xml': ['security/ir.model.access.csv', 'crm_profiling_view.xml'], + 'update_xml': ['security/ir.model.access.csv', 'wizard/open_questionnaire_view.xml', 'crm_profiling_view.xml'], 'demo_xml': ['crm_profiling_demo.xml'], 'installable': True, 'active': False, diff --git a/addons/crm_profiling/crm_profiling.py b/addons/crm_profiling/crm_profiling.py index 90dc0818743..e8418ce03a4 100644 --- a/addons/crm_profiling/crm_profiling.py +++ b/addons/crm_profiling/crm_profiling.py @@ -159,19 +159,19 @@ class questionnaire(osv.osv): _name="crm_profiling.questionnaire" _description= "Questionnaire" - def build_form(self, cr, uid, data, context=None): + def build_form(self, cr, uid, questionnaire_id, context=None): """ @param self: The object pointer @param cr: the current row, from the database cursor, @param uid: the current user’s ID for security checks, @param data: Get Data @param context: A standard dictionary for contextual values """ - + query = """ select name, id from crm_profiling_question where id in ( select question from profile_questionnaire_quest_rel where questionnaire = %s)""" - res = cr.execute(query, (data['form']['questionnaire_name'],)) + res = cr.execute(query, (questionnaire_id,)) result = cr.fetchall() quest_fields={} quest_form=''' @@ -180,7 +180,6 @@ class questionnaire(osv.osv): quest_form = quest_form + '' % (oid,) quest_fields['quest_form%d' % (oid,)] = {'string': name, 'type': 'many2one', \ 'relation': 'crm_profiling.answer', 'domain': [('question_id','=',oid)] } - quest_form = quest_form + '''''' return quest_form, quest_fields _columns = { @@ -219,16 +218,16 @@ class partner(osv.osv): @param context: A standard dictionary for contextual values """ temp = [] - for x in data['form']: - if x.startswith("quest_form") and data['form'][x] != 0 : - temp.append(data['form'][x]) - + for x in context.get('fields'): + if x.startswith("quest_form") and data[x] != 0 : + if data[x] and data[x][0]: + temp.append(data[x][0]) + partner_id = context.get('active_id') query = "select answer from partner_question_rel where partner=%s" - cr.execute(query, (data['id'],)) + cr.execute(query, (partner_id,)) for x in cr.fetchall(): temp.append(x[0]) - - self.write(cr, uid, [data['id']], {'answers_ids':[[6, 0, temp]]}, context=context) + self.write(cr, uid, [partner_id], {'answers_ids':[[6, 0, temp]]}, context=context) return {} diff --git a/addons/crm_profiling/crm_profiling_view.xml b/addons/crm_profiling/crm_profiling_view.xml index 258de2e4e2d..a54d3d4b0a9 100644 --- a/addons/crm_profiling/crm_profiling_view.xml +++ b/addons/crm_profiling/crm_profiling_view.xml @@ -2,13 +2,6 @@ - - Questionnaires crm_profiling.questionnaire @@ -140,7 +133,7 @@