[IMP] crm: improved yml test case to sen mail.
[odoo/odoo.git] / addons / survey / wizard / survey_print_answer.py
1 # -*- encoding: utf-8 -*-
2 ##############################################################################
3 #
4 #    OpenERP, Open Source Management Solution
5 #    Copyright (C) 2004-TODAY OpenERP S.A. <http://www.openerp.com>
6 #
7 #    This program is free software: you can redistribute it and/or modify
8 #    it under the terms of the GNU Affero General Public License as
9 #    published by the Free Software Foundation, either version 3 of the
10 #    License, or (at your option) any later version.
11 #
12 #    This program is distributed in the hope that it will be useful,
13 #    but WITHOUT ANY WARRANTY; without even the implied warranty of
14 #    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 #    GNU Affero General Public License for more details.
16 #
17 #    You should have received a copy of the GNU Affero General Public License
18 #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
19 #
20 ##############################################################################
21
22 from osv import osv
23 from osv import fields
24 from tools.translate import _
25
26 class survey_print_answer(osv.osv_memory):
27     _name = 'survey.print.answer'
28     _columns = {
29         'response_ids': fields.many2many('survey.response','survey_print_response',\
30                             'response_id','print_id', "Answer", required="1"),
31         'orientation': fields.selection([('vertical','Portrait(Vertical)'),\
32                             ('horizontal','Landscape(Horizontal)')], 'Orientation'),
33         'paper_size': fields.selection([('letter','Letter (8.5" x 11")'),\
34                             ('legal','Legal (8.5" x 14")'),\
35                             ('a4','A4 (210mm x 297mm)')], 'Paper Size'),
36         'page_number': fields.boolean('Include Page Number'),
37         'without_pagebreak': fields.boolean('Print Without Page Breaks')
38     }
39
40     _defaults = {
41         'orientation': lambda *a:'vertical',
42         'paper_size': lambda *a:'letter',
43         'page_number': lambda *a: 0,
44         'without_pagebreak': lambda *a: 0
45     }
46
47     def action_next(self, cr, uid, ids, context=None):
48         """
49         Print Survey Answer in pdf format.
50
51         @param self: The object pointer
52         @param cr: the current row, from the database cursor,
53         @param uid: the current user’s ID for security checks,
54         @param ids: List of print answer IDs
55         @param context: A standard dictionary for contextual values
56         @return : Dictionary value for created survey answer report
57         """
58         if context is None:
59             context = {}
60         datas = {'ids': context.get('active_ids', [])}
61         res = self.read(cr, uid, ids, ['response_ids', 'orientation', 'paper_size',\
62                              'page_number', 'without_pagebreak'], context=context)
63         res = res and res[0] or {}
64         datas['form'] = res
65         datas['model'] = 'survey.print.answer'
66         return {
67             'type': 'ir.actions.report.xml',
68             'report_name': 'survey.browse.response',
69             'datas': datas,
70         }
71
72 survey_print_answer()
73
74 # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: