1
##############################################################################
3
# Copyright (c) 2005-2006 TINY SPRL. (http://tiny.be) All Rights Reserved.
5
# WARNING: This program as such is intended to be used by professional
6
# programmers who take the whole responsability of assessing all potential
7
# consequences resulting from its eventual inadequacies and bugs
8
# End users who are looking for a ready-to-use solution with commercial
9
# garantees and support are strongly adviced to contract a Free Software
12
# This program is Free Software; you can redistribute it and/or
13
# modify it under the terms of the GNU General Public License
14
# as published by the Free Software Foundation; either version 2
15
# of the License, or (at your option) any later version.
17
# This program is distributed in the hope that it will be useful,
18
# but WITHOUT ANY WARRANTY; without even the implied warranty of
19
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20
# GNU General Public License for more details.
22
# You should have received a copy of the GNU General Public License
23
# along with this program; if not, write to the Free Software
24
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
##############################################################################
31
_line_form = '''<?xml version="1.0"?>
32
<form string="Letter Paragraphs">
33
<separator string="Choose Paragraphs to add" colspan="4"/>
34
<field name="paragraph_lines" colspan="4" nolabel="1"/>
38
'paragraph_lines': {'string':'Paragraphs', 'type':'many2many', 'relation':'letter.paragraph'},
41
def _paragraph_find(self, cr, uid, data, context):
42
service = netsvc.LocalService("object_proxy")
43
type_id = service.execute(cr.dbname, uid, 'letter.letter', 'read', [data['id']], ['type_id'])[0]['type_id'][0]
44
para_ids = service.execute(cr.dbname, uid, 'letter.letter.type', 'read', [type_id], ['paragraph_ids'])[0]['paragraph_ids']
45
return {'paragraph_lines': para_ids}
47
def _paragraph_add(self, cr, uid, data, context):
48
service = netsvc.LocalService("object_proxy")
49
lines = service.execute(cr.dbname, uid, 'letter.paragraph', 'read', data['form']['paragraph_lines'][0][2], ['name','sequence','content','type_id'])
52
line['letter_id'] = data['id']
53
line['type_id'] = line['type_id'][0]
55
adding.append((0,0,line))
56
service.execute(cr.dbname, uid, 'letter.letter', 'write', [data['id']], {'paragraph_ids': adding})
59
class paragraph_load(wizard.interface):
62
'actions': [_paragraph_find],
63
'result': {'type':'form', 'arch':_line_form, 'fields':_line_fields, 'state':[('end','Cancel'),('add','Add Paragraphs')]}
66
'actions': [_paragraph_add],
67
'result': {'type':'state', 'state':'end'}
70
paragraph_load('letter.paragraph.load')