From 6765024e27d3693eaf5c59d880bb91f2add448c1 Mon Sep 17 00:00:00 2001 From: "rpa (Open ERP)" Date: Tue, 8 Jun 2010 11:13:36 +0530 Subject: [PATCH] [ADD]: base_contact: Added migration script to create a contact with the name of the address when we install base_contact bzr revid: rpa@tinyerp.com-20100608054336-0qgwpndsdv0gft5q --- .../1.2/pre-10-res_partner_address_change.py | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 addons/base_contact/migrations/1.2/pre-10-res_partner_address_change.py diff --git a/addons/base_contact/migrations/1.2/pre-10-res_partner_address_change.py b/addons/base_contact/migrations/1.2/pre-10-res_partner_address_change.py new file mode 100644 index 00000000000..326a9caed9d --- /dev/null +++ b/addons/base_contact/migrations/1.2/pre-10-res_partner_address_change.py @@ -0,0 +1,28 @@ +# -*- coding: utf8 -*- + +__name__ = "res.partner.adress: for each address it should create a contact with the name of the address" + +def migrate(cr, version): + generate_contact(cr) + +def generate_contact(cr): + cr.execute("""DROP TRIGGER IF EXISTS contactjob on res_partner_contact; + DROP LANGUAGE IF EXISTS plpgsql CASCADE; + CREATE LANGUAGE plpgsql ; + CREATE OR REPLACE FUNCTION add_to_job() RETURNS TRIGGER AS $contactjob$ + DECLARE + new_name varchar; + new_phonenum varchar; + BEGIN + IF(TG_OP='INSERT') THEN + INSERT INTO res_partner_job(contact_id, address_id, function, state) VALUES(NEW.id, NEW.website::integer,NEW.first_name, 'current'); + UPDATE res_partner_contact set first_name=Null, website=Null, active=True where id=NEW.id; + END IF; + RETURN NEW; + END; + $contactjob$ LANGUAGE plpgsql; + CREATE TRIGGER contactjob AFTER INSERT ON res_partner_contact FOR EACH ROW EXECUTE PROCEDURE add_to_job();""") + cr.commit() + + cr.execute("INSERT into res_partner_contact (name, title, email, first_name, website) (SELECT coalesce(name, 'Noname'), title, email, function , to_char(id, '99999999') from res_partner_address)") + cr.commit()