From ff0b7b67d1e5e940d42d4fa8d6e76d0fe16df38c Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Thu, 21 Jan 2010 15:19:46 +0100 Subject: [PATCH] [add] base_setup: implement execute method on base.setup.company bzr revid: xmo@tinyerp.com-20100121141946-rpfggejgqzk8jlby --- addons/base_setup/todo.py | 40 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/addons/base_setup/todo.py b/addons/base_setup/todo.py index fac32b4b22e..f1c55c1de83 100644 --- a/addons/base_setup/todo.py +++ b/addons/base_setup/todo.py @@ -106,6 +106,46 @@ IBAN: BE74 1262 0121 6907 - SWIFT: CPDF BE71 - VAT: BE0477.472.701'''), 'logo':fields.binary('Logo'), } + def execute(self, cr, uid, ids, context=None): + assert len(ids) == 1, "We should only get one object from the form" + payload = self.browse(cr, uid, ids[0], context=context) + if not getattr(payload, 'company_id', None): + raise ValueError('Case where no default main company is setup ' + 'not handled yet') + + company = payload.company_id + company.write({ + 'name':payload.name, + 'rml_header1':payload.rml_header1, + 'rml_footer1':payload.rml_footer1, + 'rml_footer2':payload.rml_footer2, + 'logo':payload.logo, + }) + + company.partner_id.write({ + 'name':payload.name, + }) + + address_data = { + 'name':payload.name, + 'street':payload.street, + 'street2':payload.street2, + 'zip':payload.zip, + 'city':payload.city, + 'email':payload.email, + 'phone':payload.phone, + 'country_id':int(payload.country_id), + 'state_id':int(payload.country_id), + } + + if company.partner_id.address: + company.partner_id.address[0].write( + address_data) + else: + self.pool.get('res.partner.address').create(cr, uid, + dict(address_data, + partner_id=int(company.partner_id)), + context=context) base_setup_company()