From 95cfd5c87c1b2bc6115bd655b596fcbe3b052518 Mon Sep 17 00:00:00 2001 From: "Ysa (Open ERP)" Date: Thu, 8 Apr 2010 11:30:47 +0530 Subject: [PATCH] [IMP] survey :- add print_survey method to print surve form or survey answer. bzr revid: ysa@tinyerp.co.in-20100408060047-ythm986g7igkdcbv --- addons/survey/survey.py | 40 +++++++++++++++++++++++++++++++++++ addons/survey/survey_view.xml | 4 ++-- 2 files changed, 42 insertions(+), 2 deletions(-) diff --git a/addons/survey/survey.py b/addons/survey/survey.py index a1db5bdcc86..5acc1c73d06 100644 --- a/addons/survey/survey.py +++ b/addons/survey/survey.py @@ -95,6 +95,46 @@ class survey(osv.osv): def copy(self, cr, uid, id, default=None,context={}): raise osv.except_osv(_('Warning !'),_('You cannot duplicate the resource!')) + def action_print_survey(self, cr, uid, ids, context=None): + """ + If response is available then print this response otherwise print survey form(print template of the survey). + @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 ids: List of Survey IDs + @param context: A standard dictionary for contextual values + @return : Dictionary value for print survey form. + """ + if not context: + context = {} + datas = {} + response_id = self.pool.get('survey.response').search(cr, uid, [('survey_id','=', ids)], context=context) + page_setting = {'orientation': 'vertical', 'without_pagebreak': 0, 'paper_size': 'letter', 'page_number': 1, 'survey_title': 1} + report = {} + datas['ids'] = ids + if response_id: + context.update({'survey_id': datas['ids']}) + datas['form'] = page_setting + datas['model'] = 'survey.print.answer' + report = { + 'type': 'ir.actions.report.xml', + 'report_name': 'survey.browse.response', + 'datas': datas, + 'nodestroy': True, + 'context' : context + } + else: + datas['form'] = page_setting + datas['model'] = 'survey.print' + report = { + 'type': 'ir.actions.report.xml', + 'report_name': 'survey.form', + 'datas': datas, + 'nodestroy':True, + 'context' : context + } + return report + survey() class survey_history(osv.osv): diff --git a/addons/survey/survey_view.xml b/addons/survey/survey_view.xml index 4d6fc536dd2..5b1eaef72f4 100644 --- a/addons/survey/survey_view.xml +++ b/addons/survey/survey_view.xml @@ -243,8 +243,8 @@ string="Answer Survey" type="action" icon="gtk-execute" context="{'survey_id': active_id}" attrs="{'invisible':[('state','!=','open')]}"/>