From 93960634c169bab8b9a0e221c3a5cd07f53b1468 Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" Date: Mon, 20 Feb 2012 14:47:05 +0530 Subject: [PATCH 001/313] [IMP] res_partner:add res_partner_address field to res_partner bzr revid: kjo@tinyerp.com-20120220091705-y7xdh00sdkotpqj6 --- openerp/addons/base/base_data.xml | 10 +- openerp/addons/base/base_demo.xml | 2 +- openerp/addons/base/res/res_company.py | 8 +- openerp/addons/base/res/res_partner.py | 137 +++--------------- openerp/addons/base/res/res_partner_demo.xml | 82 +++++------ .../addons/base/res/res_partner_report.xml | 2 +- openerp/addons/base/res/res_partner_view.xml | 27 ++-- .../addons/base/security/ir.model.access.csv | 6 +- .../addons/base/test/test_osv_expression.yml | 27 +--- openerp/report/report_sxw.py | 2 +- openerp/tests/test_orm.py | 2 +- openerp/tools/import_email.py | 4 +- 12 files changed, 97 insertions(+), 212 deletions(-) diff --git a/openerp/addons/base/base_data.xml b/openerp/addons/base/base_data.xml index 525c7e2e334..70ade7133a9 100644 --- a/openerp/addons/base/base_data.xml +++ b/openerp/addons/base/base_data.xml @@ -1058,15 +1058,15 @@ Your Company - + - + @@ -1102,9 +1102,9 @@ - + diff --git a/openerp/addons/base/base_demo.xml b/openerp/addons/base/base_demo.xml index 3d1eae3c4bc..3ba951618cf 100644 --- a/openerp/addons/base/base_demo.xml +++ b/openerp/addons/base/base_demo.xml @@ -2,7 +2,7 @@ - + Fabien Dupont Chaussee de Namur 1367 diff --git a/openerp/addons/base/res/res_company.py b/openerp/addons/base/res/res_company.py index f04e28832a0..b22800bfb94 100644 --- a/openerp/addons/base/res/res_company.py +++ b/openerp/addons/base/res/res_company.py @@ -77,13 +77,12 @@ class res_company(osv.osv): """ Read the 'address' functional fields. """ result = {} part_obj = self.pool.get('res.partner') - address_obj = self.pool.get('res.partner.address') for company in self.browse(cr, uid, ids, context=context): result[company.id] = {}.fromkeys(field_names, False) if company.partner_id: address_data = part_obj.address_get(cr, uid, [company.partner_id.id], adr_pref=['default']) if address_data['default']: - address = address_obj.read(cr, uid, address_data['default'], field_names, context=context) + address = part_obj.read(cr, uid, address_data['default'], field_names, context=context) for field in field_names: result[company.id][field] = address[field] or False return result @@ -105,13 +104,12 @@ class res_company(osv.osv): company = self.browse(cr, uid, company_id, context=context) if company.partner_id: part_obj = self.pool.get('res.partner') - address_obj = self.pool.get('res.partner.address') address_data = part_obj.address_get(cr, uid, [company.partner_id.id], adr_pref=['default']) address = address_data['default'] if address: - address_obj.write(cr, uid, [address], {name: value or False}) + part_obj.write(cr, uid, [address], {name: value or False}) else: - address_obj.create(cr, uid, {name: value or False, 'partner_id': company.partner_id.id}, context=context) + part_obj.create(cr, uid, {name: value or False, 'partner_id': company.partner_id.id}, context=context) return True diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index f4a36b46b77..f2152aeaa55 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -134,23 +134,32 @@ class res_partner(osv.osv): 'bank_ids': fields.one2many('res.partner.bank', 'partner_id', 'Banks'), 'website': fields.char('Website',size=64, help="Website of Partner."), 'comment': fields.text('Notes'), - 'address': fields.one2many('res.partner.address', 'partner_id', 'Contacts'), 'category_id': fields.many2many('res.partner.category', 'res_partner_category_rel', 'partner_id', 'category_id', 'Categories'), 'events': fields.one2many('res.partner.event', 'partner_id', 'Events'), 'credit_limit': fields.float(string='Credit Limit'), 'ean13': fields.char('EAN13', size=13), - 'active': fields.boolean('Active'), 'customer': fields.boolean('Customer', help="Check this box if the partner is a customer."), 'supplier': fields.boolean('Supplier', help="Check this box if the partner is a supplier. If it's not checked, purchase people will not see it when encoding a purchase order."), - 'city': fields.related('address', 'city', type='char', string='City'), - 'function': fields.related('address', 'function', type='char', string='function'), - 'subname': fields.related('address', 'name', type='char', string='Contact Name'), - 'phone': fields.related('address', 'phone', type='char', string='Phone'), - 'mobile': fields.related('address', 'mobile', type='char', string='Mobile'), - 'country': fields.related('address', 'country_id', type='many2one', relation='res.country', string='Country'), 'employee': fields.boolean('Employee', help="Check this box if the partner is an Employee."), - 'email': fields.related('address', 'email', type='char', size=240, string='E-mail'), - 'company_id': fields.many2one('res.company', 'Company', select=1), + 'color': fields.integer('Color Index'), + 'partner_id': fields.many2one('res.partner', 'Partner Name', ondelete='set null', select=True, help="Keep empty for a private address, not related to partner."), + 'type': fields.selection( [ ('default','Default'),('invoice','Invoice'), ('delivery','Delivery'), ('contact','Contact'), ('other','Other') ],'Address Type', help="Used to select automatically the right address according to the context in sales and purchases documents."), + 'function': fields.char('Function', size=128), + 'street': fields.char('Street', size=128), + 'street2': fields.char('Street2', size=128), + 'zip': fields.char('Zip', change_default=True, size=24), + 'city': fields.char('City', size=128), + 'state_id': fields.many2one("res.country.state", 'Fed. State', domain="[('country_id','=',country_id)]"), + 'country_id': fields.many2one('res.country', 'Country'), + 'email': fields.char('E-Mail', size=240), + 'phone': fields.char('Phone', size=64), + 'fax': fields.char('Fax', size=64), + 'mobile': fields.char('Mobile', size=64), + 'birthdate': fields.char('Birthdate', size=64), + 'active': fields.boolean('Active', help="Uncheck the active field to hide the contact."), +# 'company_id': fields.related('partner_id','company_id',type='many2one',relation='res.company',string='Company', store=True), + 'company_id': fields.many2one('res.company', 'Company',select=1), + 'is_company': fields.boolean('Company', help="Check if you want to create company"), 'color': fields.integer('Color Index'), } def _default_category(self, cr, uid, context=None): @@ -166,6 +175,8 @@ class res_partner(osv.osv): 'category_id': _default_category, 'company_id': lambda s,cr,uid,c: s.pool.get('res.company')._company_default_get(cr, uid, 'res.partner', context=c), 'color': 0, + 'is_company': lambda *a: 0, + 'type': 'default', } def copy(self, cr, uid, id, default=None, context=None): @@ -243,9 +254,8 @@ class res_partner(osv.osv): def address_get(self, cr, uid, ids, adr_pref=None): if adr_pref is None: adr_pref = ['default'] - address_obj = self.pool.get('res.partner.address') - address_ids = address_obj.search(cr, uid, [('partner_id', 'in', ids)]) - address_rec = address_obj.read(cr, uid, address_ids, ['type']) + address_ids = self.search(cr, uid, [('partner_id', 'in', ids)]) + address_rec = self.read(cr, uid, address_ids, ['type']) res = list((addr['type'],addr['id']) for addr in address_rec) adr = dict(res) # get the id of the (first) default address if there is one, @@ -293,107 +303,6 @@ class res_partner(osv.osv): ).res_id res_partner() -class res_partner_address(osv.osv): - _description ='Partner Addresses' - _name = 'res.partner.address' - _order = 'type, name' - _columns = { - 'partner_id': fields.many2one('res.partner', 'Partner Name', ondelete='set null', select=True, help="Keep empty for a private address, not related to partner."), - 'type': fields.selection( [ ('default','Default'),('invoice','Invoice'), ('delivery','Delivery'), ('contact','Contact'), ('other','Other') ],'Address Type', help="Used to select automatically the right address according to the context in sales and purchases documents."), - 'function': fields.char('Function', size=128), - 'title': fields.many2one('res.partner.title','Title'), - 'name': fields.char('Contact Name', size=64, select=1), - 'street': fields.char('Street', size=128), - 'street2': fields.char('Street2', size=128), - 'zip': fields.char('Zip', change_default=True, size=24), - 'city': fields.char('City', size=128), - 'state_id': fields.many2one("res.country.state", 'Fed. State', domain="[('country_id','=',country_id)]"), - 'country_id': fields.many2one('res.country', 'Country'), - 'email': fields.char('E-Mail', size=240), - 'phone': fields.char('Phone', size=64), - 'fax': fields.char('Fax', size=64), - 'mobile': fields.char('Mobile', size=64), - 'birthdate': fields.char('Birthdate', size=64), - 'is_customer_add': fields.related('partner_id', 'customer', type='boolean', string='Customer'), - 'is_supplier_add': fields.related('partner_id', 'supplier', type='boolean', string='Supplier'), - 'active': fields.boolean('Active', help="Uncheck the active field to hide the contact."), -# 'company_id': fields.related('partner_id','company_id',type='many2one',relation='res.company',string='Company', store=True), - 'company_id': fields.many2one('res.company', 'Company',select=1), - 'color': fields.integer('Color Index'), - } - _defaults = { - 'active': lambda *a: 1, - 'company_id': lambda s,cr,uid,c: s.pool.get('res.company')._company_default_get(cr, uid, 'res.partner.address', context=c), - } - def name_get(self, cr, user, ids, context=None): - if context is None: - context = {} - if not len(ids): - return [] - res = [] - for r in self.read(cr, user, ids, ['name','zip','country_id', 'city','partner_id', 'street']): - if context.get('contact_display', 'contact')=='partner' and r['partner_id']: - res.append((r['id'], r['partner_id'][1])) - else: - # make a comma-separated list with the following non-empty elements - elems = [r['name'], r['country_id'] and r['country_id'][1], r['city'], r['street']] - addr = ', '.join(filter(bool, elems)) - if (context.get('contact_display', 'contact')=='partner_address') and r['partner_id']: - res.append((r['id'], "%s: %s" % (r['partner_id'][1], addr or '/'))) - else: - res.append((r['id'], addr or '/')) - return res - - def name_search(self, cr, user, name, args=None, operator='ilike', context=None, limit=100): - if not args: - args=[] - if not context: - context={} - if context.get('contact_display', 'contact')=='partner ' or context.get('contact_display', 'contact')=='partner_address ' : - ids = self.search(cr, user, [('partner_id',operator,name)], limit=limit, context=context) - else: - if not name: - ids = self.search(cr, user, args, limit=limit, context=context) - else: - ids = self.search(cr, user, [('zip','=',name)] + args, limit=limit, context=context) - if not ids: - ids = self.search(cr, user, [('city',operator,name)] + args, limit=limit, context=context) - if name: - ids += self.search(cr, user, [('name',operator,name)] + args, limit=limit, context=context) - ids += self.search(cr, user, [('partner_id',operator,name)] + args, limit=limit, context=context) - return self.name_get(cr, user, ids, context=context) - - def get_city(self, cr, uid, id): - return self.browse(cr, uid, id).city - - def _display_address(self, cr, uid, address, context=None): - ''' - The purpose of this function is to build and return an address formatted accordingly to the - standards of the country where it belongs. - - :param address: browse record of the res.partner.address to format - :returns: the address formatted in a display that fit its country habits (or the default ones - if not country is specified) - :rtype: string - ''' - # get the address format - address_format = address.country_id and address.country_id.address_format or \ - '%(street)s\n%(street2)s\n%(city)s,%(state_code)s %(zip)s' - # get the information that will be injected into the display format - args = { - 'state_code': address.state_id and address.state_id.code or '', - 'state_name': address.state_id and address.state_id.name or '', - 'country_code': address.country_id and address.country_id.code or '', - 'country_name': address.country_id and address.country_id.name or '', - } - address_field = ['title', 'street', 'street2', 'zip', 'city'] - for field in address_field : - args[field] = getattr(address, field) or '' - - return address_format % args - -res_partner_address() - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/openerp/addons/base/res/res_partner_demo.xml b/openerp/addons/base/res/res_partner_demo.xml index d38a6a68511..de7a318cc08 100644 --- a/openerp/addons/base/res/res_partner_demo.xml +++ b/openerp/addons/base/res/res_partner_demo.xml @@ -294,7 +294,7 @@ Resource: res.partner.address --> - + Bruxelles Michel Schumacher 1000 @@ -305,7 +305,7 @@ default - + Avignon CEDEX 09 Laurent Jacot 84911 @@ -316,7 +316,7 @@ default - + Champs sur Marne Laith Jubair 77420 @@ -327,7 +327,7 @@ default - + Louvain-la-Neuve Thomas Passot 1348 @@ -336,7 +336,7 @@ Rue de l'Angelique, 1 - + Taiwan Tang 23410 @@ -347,7 +347,7 @@ default - + Hong Kong Wong 23540 @@ -358,7 +358,7 @@ default - + Brussels Etienne Lacarte 2365 @@ -369,7 +369,7 @@ + 32 025 897 456 - + Namur Jean Guy Lavente 2541 @@ -380,7 +380,7 @@ + 32 081256987 - + Wavre Sylvie Lelitre 5478 @@ -392,7 +392,7 @@ - + Wavre Paul Lelitre 5478 @@ -404,7 +404,7 @@ - + Wavre Serge Lelitre 5478 @@ -416,7 +416,7 @@ - + Paris Arthur Grosbonnet 75016 @@ -428,7 +428,7 @@ - + Alencon Sebastien LANGE 61000 @@ -439,7 +439,7 @@ default - + Liege Karine Lesbrouffe 6985 @@ -450,7 +450,7 @@ default - + Shanghai Zen 478552 @@ -461,7 +461,7 @@ +86-751-64845671 - + default Grenoble Loïc Dupont @@ -473,7 +473,7 @@ +33-658-256545 - + default Carl François Bruxelles @@ -484,7 +484,7 @@ +32-258-256545 - + default Lucien Ferguson 89 Chaussée de Liège @@ -494,7 +494,7 @@ +32-621-568978 - + default Marine Leclerc rue Grande @@ -504,7 +504,7 @@ +33-298.334558 - + invoice Claude Leclerc rue Grande @@ -515,7 +515,7 @@ - + default Martine Ohio Place du 20Août @@ -525,7 +525,7 @@ +32-45895245 - + Lausanne Luc Maurer 1015 @@ -535,7 +535,7 @@ default - + Cupertino Seagate Technology 95014 @@ -546,7 +546,7 @@ default - + Buenos Aires Jack Daniels 1659 @@ -558,7 +558,7 @@ default - + Boston Tiny Work 5501 @@ -574,7 +574,7 @@ Resource: res.partner.address for Training --> - + @@ -586,34 +586,34 @@ - + - + - + - + - + @@ -621,7 +621,7 @@ - + @@ -634,7 +634,7 @@ - + @@ -643,7 +643,7 @@ - + @@ -651,7 +651,7 @@ - + @@ -662,7 +662,7 @@ - + @@ -672,7 +672,7 @@ - + @@ -684,7 +684,7 @@ - + diff --git a/openerp/addons/base/res/res_partner_view.xml b/openerp/addons/base/res/res_partner_view.xml index 1f0e8f88b1c..28338f863c0 100644 --- a/openerp/addons/base/res/res_partner_view.xml +++ b/openerp/addons/base/res/res_partner_view.xml @@ -20,7 +20,7 @@ ===================== --> - + - + @@ -341,11 +341,10 @@ - + + + @@ -413,8 +412,8 @@ - - + + @@ -465,7 +464,7 @@
, - +
diff --git a/openerp/addons/base/security/ir.model.access.csv b/openerp/addons/base/security/ir.model.access.csv index 59ebafb2f99..838ecb2c3d4 100644 --- a/openerp/addons/base/security/ir.model.access.csv +++ b/openerp/addons/base/security/ir.model.access.csv @@ -55,8 +55,8 @@ "access_res_lang_group_user","res_lang group_user","model_res_lang","group_system",1,1,1,1 "access_res_partner_group_partner_manager","res_partner group_partner_manager","model_res_partner","group_partner_manager",1,1,1,1 "access_res_partner_group_user","res_partner group_user","model_res_partner","group_user",1,0,0,0 -"access_res_partner_address_group_partner_manager","res_partner_address group_partner_manager","model_res_partner_address","group_partner_manager",1,1,1,1 -"access_res_partner_address_group_user","res_partner_address group_user","model_res_partner_address","group_user",1,0,0,0 +"access_res_partner_address_group_partner_manager","res_partner_address group_partner_manager","model_res_partner","group_partner_manager",1,1,1,1 +"access_res_partner_address_group_user","res_partner_address group_user","model_res_partner","group_user",1,0,0,0 "access_res_partner_bank_group_user","res_partner_bank group_user","model_res_partner_bank","group_user",1,0,0,0 "access_res_partner_bank_group_partner_manager","res_partner_bank group_partner_manager","model_res_partner_bank","group_partner_manager",1,1,1,1 "access_res_partner_bank_type_group_partner_manager","res_partner_bank_type group_partner_manager","model_res_partner_bank_type","group_partner_manager",1,1,1,1 @@ -117,7 +117,7 @@ "access_ir_filter all","ir_filters all","model_ir_filters",,1,0,0,0 "access_ir_filter employee","ir_filters employee","model_ir_filters","group_user",1,1,1,1 "access_ir_filters","ir_filters_all","model_ir_filters",,1,1,1,1 -"access_res_partner_address","res.partner.address","model_res_partner_address","group_system",1,1,1,1 +"access_res_partner_address","res.partner.address","model_res_partner","group_system",1,1,1,1 "access_res_widget","res.widget","model_res_widget","group_erp_manager",1,1,1,1 "access_res_widget_user","res.widget.user","model_res_widget",,1,0,0,0 "access_res_log_all","res.log","model_res_log",,1,1,1,1 diff --git a/openerp/addons/base/test/test_osv_expression.yml b/openerp/addons/base/test/test_osv_expression.yml index d9a1b215000..852647b540b 100644 --- a/openerp/addons/base/test/test_osv_expression.yml +++ b/openerp/addons/base/test/test_osv_expression.yml @@ -68,19 +68,19 @@ - Testing that some domain expressions work - - !python {model: res.partner.address }: | + !python {model: res.partner }: | ids = self.search(cr, uid, [('partner_id','=','Agrolait')]) assert len(ids) >= 1, ids - Trying the "in" operator, for scalar value - - !python {model: res.partner.address }: | + !python {model: res.partner }: | ids = self.search(cr, uid, [('partner_id','in','Agrolait')]) assert len(ids) >= 1, ids - Trying the "in" operator for list value - - !python {model: res.partner.address }: | + !python {model: res.partner }: | ids = self.search(cr, uid, [('partner_id','in',['Agrolait','ASUStek'])]) assert len(ids) >= 1, ids - @@ -89,15 +89,6 @@ !python {model: ir.ui.menu }: | ids = self.search(cr, uid, [('sequence','in',[1, 2, 10, 20])]) assert len(ids) >= 1, ids -- - Test one2many operator with empty search list -- - !assert {model: res.partner, search: "[('address', 'in', [])]", count: 0, string: "Ids should be empty"} -- - Test one2many operator with False -- - !assert {model: res.partner, search: "[('address', '=', False)]"}: - - address in (False, None, []) - Test many2many operator with empty search list - @@ -107,10 +98,6 @@ - !assert {model: res.partner, search: "[('category_id', '=', False)]"}: - category_id in (False, None, []) -- - Filtering on invalid value across x2many relationship should return an empty set -- - !assert {model: res.partner, search: "[('address.city','=','foo')]", count: 0, string: "Searching for address.city = foo should give empty results"} - Check if many2one works with empty search list - @@ -525,15 +512,7 @@ vals = {'category_id': [(6, 0, [ref("base.res_partner_category_8")])], 'name': 'OpenERP Test', 'active': False, - 'address': [(0, 0, {'country_id': ref("base.be")})] } self.create(cr, uid, vals, context=context) res_ids = self.search(cr, uid, [('category_id', 'ilike', 'supplier'), ('active', '=', False)]) assert len(res_ids) != 0, "Record not Found with category supplier and active False." -- - Testing for One2Many field with country Belgium and active=False -- - !python {model: res.partner }: | - res_ids = self.search(cr, uid, [('address.country_id','=','Belgium'),('active','=',False)]) - assert len(res_ids) != 0, "Record not Found with country Belgium and active False." - diff --git a/openerp/report/report_sxw.py b/openerp/report/report_sxw.py index 4a713ac3df8..9764a64a3f6 100644 --- a/openerp/report/report_sxw.py +++ b/openerp/report/report_sxw.py @@ -321,7 +321,7 @@ class rml_parse(object): return res def display_address(self, address_browse_record): - return self.pool.get('res.partner.address')._display_address(self.cr, self.uid, address_browse_record) + return self.pool.get('res.partner')._display_address(self.cr, self.uid, address_browse_record) def repeatIn(self, lst, name,nodes_parent=False): ret_lst = [] diff --git a/openerp/tests/test_orm.py b/openerp/tests/test_orm.py index c11d4cd19d2..3640fd17f78 100644 --- a/openerp/tests/test_orm.py +++ b/openerp/tests/test_orm.py @@ -19,7 +19,7 @@ class TestO2MSerialization(unittest2.TestCase): def setUp(self): self.cr = openerp.modules.registry.RegistryManager.get(DB).db.cursor() self.partner = openerp.modules.registry.RegistryManager.get(DB)['res.partner'] - self.address = openerp.modules.registry.RegistryManager.get(DB)['res.partner.address'] +# self.address = openerp.modules.registry.RegistryManager.get(DB)['res.partner.address'] def tearDown(self): self.cr.rollback() diff --git a/openerp/tools/import_email.py b/openerp/tools/import_email.py index b597dab5722..d73c50865a2 100644 --- a/openerp/tools/import_email.py +++ b/openerp/tools/import_email.py @@ -86,8 +86,8 @@ class ReceiverEmail2Event(object): def get_partners(self, headers, msg): alladdresses = self.get_addresses(headers, msg) - address_ids = self.rpc(('res.partner.address', 'search', [('email', 'in', alladdresses)])) - addresses = self.rpc(('res.partner.address', 'read', address_ids)) + address_ids = self.rpc(('res.partner', 'search', [('email', 'in', alladdresses)])) + addresses = self.rpc(('res.partner', 'read', address_ids)) return [x['partner_id'][0] for x in addresses] def __call__(self, request): From 0d6c14fec43c3e93c7db47980db98ec49bf2de6f Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" Date: Mon, 20 Feb 2012 16:14:30 +0530 Subject: [PATCH 002/313] [IMP] res_partner: set parent_id field bzr revid: kjo@tinyerp.com-20120220104430-x2sc8ivxa9pi7ikk --- openerp/addons/base/res/res_partner.py | 1 - openerp/addons/base/res/res_partner_demo.xml | 98 +++++++------------ openerp/addons/base/res/res_partner_view.xml | 2 + .../addons/base/test/test_osv_expression.yml | 6 +- 4 files changed, 40 insertions(+), 67 deletions(-) diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index f2152aeaa55..b2b1a95096a 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -142,7 +142,6 @@ class res_partner(osv.osv): 'supplier': fields.boolean('Supplier', help="Check this box if the partner is a supplier. If it's not checked, purchase people will not see it when encoding a purchase order."), 'employee': fields.boolean('Employee', help="Check this box if the partner is an Employee."), 'color': fields.integer('Color Index'), - 'partner_id': fields.many2one('res.partner', 'Partner Name', ondelete='set null', select=True, help="Keep empty for a private address, not related to partner."), 'type': fields.selection( [ ('default','Default'),('invoice','Invoice'), ('delivery','Delivery'), ('contact','Contact'), ('other','Other') ],'Address Type', help="Used to select automatically the right address according to the context in sales and purchases documents."), 'function': fields.char('Function', size=128), 'street': fields.char('Street', size=128), diff --git a/openerp/addons/base/res/res_partner_demo.xml b/openerp/addons/base/res/res_partner_demo.xml index de7a318cc08..0b36f2aac50 100644 --- a/openerp/addons/base/res/res_partner_demo.xml +++ b/openerp/addons/base/res/res_partner_demo.xml @@ -93,27 +93,23 @@ 1 - www.asustek.com Agrolait - www.agrolait.com Camptocamp 1 - www.camptocamp.com www.syleam.fr Syleam - SmartBusiness @@ -123,7 +119,6 @@ Axelor 1 - www.axelor.com/ @@ -133,13 +128,11 @@ Bank Wealthy and sons - www.wealthyandsons.com/ China Export - www.chinaexport.com/ @@ -147,13 +140,11 @@ 1 - www.distribpc.com/ Ecole de Commerce de Liege - www.eci-liege.info// @@ -161,7 +152,6 @@ 1 - Maxtor @@ -169,20 +159,17 @@ 1 - Seagate 1 - http://mediapole.net Mediapole SPRL - www.balmerinc.com @@ -190,19 +177,16 @@ or - Tecsas 3020170000003 - Leclerc - Centrale d'achats BML @@ -210,7 +194,6 @@ - Magazin BML 1 @@ -218,12 +201,10 @@ - Université de Liège - http://www.ulg.ac.be/ @@ -234,35 +215,29 @@ Dubois sprl - http://www.dubois.be/ Eric Dubois - Fabien Dupont - Lucie Vonck - NotSoTiny SARL - notsotiny.be The Shelve House - @@ -270,7 +245,6 @@ 1 0 - vicking-direct.be @@ -279,14 +253,12 @@ 1 - woodywoodpecker.com ZeroOne Inc - http://www.zerooneinc.com/ @@ -303,7 +275,7 @@ (+32)2 211 34 83 Rue des Palais 51, bte 33 default - + Avignon CEDEX 09 @@ -314,7 +286,7 @@ (+33)4.32.74.10.57 85 rue du traite de Rome default - + Champs sur Marne @@ -325,7 +297,7 @@ +33 1 64 61 04 01 12 rue Albert Einstein default - + Louvain-la-Neuve @@ -334,7 +306,7 @@ (+32).10.45.17.73 Rue de l'Angelique, 1 - + Taiwan @@ -345,7 +317,7 @@ info@asustek.com + 1 64 61 04 01 default - + Hong Kong @@ -356,7 +328,7 @@ info@maxtor.com + 11 8528 456 789 default - + Brussels @@ -367,7 +339,7 @@ default info@elecimport.com + 32 025 897 456 - + Namur @@ -378,7 +350,7 @@ default info@distribpc.com + 32 081256987 - + Wavre @@ -389,7 +361,7 @@ default s.l@agrolait.be 003281588558 - + @@ -401,7 +373,7 @@ delivery p.l@agrolait.be 003281588557 - + @@ -413,7 +385,7 @@ invoice serge.l@agrolait.be 003281588556 - + @@ -425,7 +397,7 @@ default a.g@wealthyandsons.com 003368978776 - + @@ -437,7 +409,7 @@ +33 (0) 2 33 31 22 10 default - + Liege @@ -448,7 +420,7 @@ k.lesbrouffe@eci-liege.info +32 421 52571 default - + Shanghai @@ -459,7 +431,7 @@ default zen@chinaexport.com +86-751-64845671 - + default @@ -471,7 +443,7 @@ default l.dupont@tecsas.fr +33-658-256545 - + default @@ -482,7 +454,7 @@ 89 Chaussée de Waterloo carl.françois@bml.be +32-258-256545 - + default @@ -492,7 +464,7 @@ 5000 lucien.ferguson@bml.be +32-621-568978 - + default @@ -502,7 +474,7 @@ 29200 marine@leclerc.fr +33-298.334558 - + invoice @@ -512,7 +484,7 @@ 29200 claude@leclerc.fr +33-298.334598 - + @@ -523,7 +495,7 @@ 4000 martine.ohio@ulg.ac.be +32-45895245 - + Lausanne @@ -533,7 +505,7 @@ PSE-A, EPFL default - + Cupertino @@ -544,7 +516,7 @@ info@seagate.com +1 408 256987 default - + Buenos Aires @@ -556,7 +528,7 @@ (5411) 4773-9666 default - + Boston @@ -567,7 +539,7 @@ One Lincoln Street default - + diff --git a/openerp/addons/base/res/res_partner_view.xml b/openerp/addons/base/res/res_partner_view.xml index 28338f863c0..3ec9fbfb163 100644 --- a/openerp/addons/base/res/res_partner_view.xml +++ b/openerp/addons/base/res/res_partner_view.xml @@ -317,6 +317,7 @@ + @@ -422,6 +423,7 @@ + diff --git a/openerp/addons/base/test/test_osv_expression.yml b/openerp/addons/base/test/test_osv_expression.yml index 852647b540b..300c39ba451 100644 --- a/openerp/addons/base/test/test_osv_expression.yml +++ b/openerp/addons/base/test/test_osv_expression.yml @@ -69,19 +69,19 @@ Testing that some domain expressions work - !python {model: res.partner }: | - ids = self.search(cr, uid, [('partner_id','=','Agrolait')]) + ids = self.search(cr, uid, [('parent_id','=','Agrolait')]) assert len(ids) >= 1, ids - Trying the "in" operator, for scalar value - !python {model: res.partner }: | - ids = self.search(cr, uid, [('partner_id','in','Agrolait')]) + ids = self.search(cr, uid, [('parent_id','in','Agrolait')]) assert len(ids) >= 1, ids - Trying the "in" operator for list value - !python {model: res.partner }: | - ids = self.search(cr, uid, [('partner_id','in',['Agrolait','ASUStek'])]) + ids = self.search(cr, uid, [('parent_id','in',['Agrolait','ASUStek'])]) assert len(ids) >= 1, ids - Check we can use "in" operator for plain fields. From 323811c285ef980b7835ec47ee6d3f162593e188 Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" Date: Mon, 20 Feb 2012 18:36:58 +0530 Subject: [PATCH 003/313] [IMP] res_partner: change res_partner view bzr revid: kjo@tinyerp.com-20120220130658-2frz0vxjy0tkbl42 --- openerp/addons/base/res/res_partner_view.xml | 73 +++++++++----------- 1 file changed, 31 insertions(+), 42 deletions(-) diff --git a/openerp/addons/base/res/res_partner_view.xml b/openerp/addons/base/res/res_partner_view.xml index 3ec9fbfb163..db4c287ac46 100644 --- a/openerp/addons/base/res/res_partner_view.xml +++ b/openerp/addons/base/res/res_partner_view.xml @@ -332,65 +332,54 @@ - + - - - + - - - + + + + + + + + + + + + - + + + + + From a245e9d632cd1fca676ec240f80125aaefee454e Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" Date: Tue, 21 Feb 2012 11:11:23 +0530 Subject: [PATCH 004/313] [IMP] res_partner: change the menu name Contacts bzr revid: kjo@tinyerp.com-20120221054123-prz5fd0odxwktp7n --- openerp/addons/base/res/res_partner_view.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openerp/addons/base/res/res_partner_view.xml b/openerp/addons/base/res/res_partner_view.xml index db4c287ac46..af9229b8f02 100644 --- a/openerp/addons/base/res/res_partner_view.xml +++ b/openerp/addons/base/res/res_partner_view.xml @@ -340,7 +340,7 @@ - + @@ -490,7 +490,7 @@ - Customers + Contacts ir.actions.act_window res.partner form From 8e7736df183e80da9472724fa074ff42f07e62eb Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" Date: Tue, 21 Feb 2012 11:28:55 +0530 Subject: [PATCH 005/313] [IMP] res_partner: set name Contacts to tree view bzr revid: kjo@tinyerp.com-20120221055855-zktnp5ubv57opdtq --- openerp/addons/base/res/res_partner_view.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openerp/addons/base/res/res_partner_view.xml b/openerp/addons/base/res/res_partner_view.xml index af9229b8f02..74ca6a4dcd7 100644 --- a/openerp/addons/base/res/res_partner_view.xml +++ b/openerp/addons/base/res/res_partner_view.xml @@ -309,7 +309,7 @@ tree - + From b800cd26012c07f9313aa0d32df1eb5effd2ce3b Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" Date: Tue, 21 Feb 2012 11:47:10 +0530 Subject: [PATCH 006/313] [IMP] res_partner: change company field tooltip bzr revid: kjo@tinyerp.com-20120221061710-96acnar7jbqcdt95 --- openerp/addons/base/res/res_partner.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index b2b1a95096a..d6e4901011e 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -158,7 +158,7 @@ class res_partner(osv.osv): 'active': fields.boolean('Active', help="Uncheck the active field to hide the contact."), # 'company_id': fields.related('partner_id','company_id',type='many2one',relation='res.company',string='Company', store=True), 'company_id': fields.many2one('res.company', 'Company',select=1), - 'is_company': fields.boolean('Company', help="Check if you want to create company"), + 'is_company': fields.boolean('Company', help="Check the field to create company otherwise it is personal contacts"), 'color': fields.integer('Color Index'), } def _default_category(self, cr, uid, context=None): From b6696e250ad8a966419029c043b7365f54fba662 Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" Date: Tue, 21 Feb 2012 14:16:15 +0530 Subject: [PATCH 007/313] [IMP] change res_company and res_bank bzr revid: kjo@tinyerp.com-20120221084615-oxcm3q1qg3upmp9n --- openerp/addons/base/res/res_bank.py | 10 +++++----- openerp/addons/base/res/res_company.py | 2 +- openerp/addons/base/res/res_partner.py | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/openerp/addons/base/res/res_bank.py b/openerp/addons/base/res/res_bank.py index b9e449284e1..7f9107f986d 100644 --- a/openerp/addons/base/res/res_bank.py +++ b/openerp/addons/base/res/res_bank.py @@ -219,11 +219,11 @@ class res_partner_bank(osv.osv): if partner_id: part = self.pool.get('res.partner').browse(cr, uid, partner_id, context=context) result['owner_name'] = part.name - result['street'] = part.address and part.address[0].street or False - result['city'] = part.address and part.address[0].city or False - result['zip'] = part.address and part.address[0].zip or False - result['country_id'] = part.address and part.address[0].country_id and part.address[0].country_id.id or False - result['state_id'] = part.address and part.address[0].state_id and part.address[0].state_id.id or False + result['street'] = part and part.street or False + result['city'] = part and part.city or False + result['zip'] = part and part.zip or False + result['country_id'] = part and part.country_id and part.country_id.id or False + result['state_id'] = part and part.state_id and part.state_id.id or False return {'value': result} res_partner_bank() diff --git a/openerp/addons/base/res/res_company.py b/openerp/addons/base/res/res_company.py index b22800bfb94..8866846932c 100644 --- a/openerp/addons/base/res/res_company.py +++ b/openerp/addons/base/res/res_company.py @@ -80,7 +80,7 @@ class res_company(osv.osv): for company in self.browse(cr, uid, ids, context=context): result[company.id] = {}.fromkeys(field_names, False) if company.partner_id: - address_data = part_obj.address_get(cr, uid, [company.partner_id.id], adr_pref=['default']) + address_data = part_obj.address_get(cr, uid, [company.parent_id.id], adr_pref=['default']) if address_data['default']: address = part_obj.read(cr, uid, address_data['default'], field_names, context=context) for field in field_names: diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index d6e4901011e..372c1231824 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -253,7 +253,7 @@ class res_partner(osv.osv): def address_get(self, cr, uid, ids, adr_pref=None): if adr_pref is None: adr_pref = ['default'] - address_ids = self.search(cr, uid, [('partner_id', 'in', ids)]) + address_ids = self.search(cr, uid, [('parent_id', 'in', ids)]) address_rec = self.read(cr, uid, address_ids, ['type']) res = list((addr['type'],addr['id']) for addr in address_rec) adr = dict(res) From 00d9c02229b6a119b948380514b48c9145330db1 Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" Date: Tue, 21 Feb 2012 14:24:58 +0530 Subject: [PATCH 008/313] [IMP] change label parent company bzr revid: kjo@tinyerp.com-20120221085458-13oyrs1h7k6ruq5u --- openerp/addons/base/res/res_partner_view.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openerp/addons/base/res/res_partner_view.xml b/openerp/addons/base/res/res_partner_view.xml index 74ca6a4dcd7..ba36a237849 100644 --- a/openerp/addons/base/res/res_partner_view.xml +++ b/openerp/addons/base/res/res_partner_view.xml @@ -373,7 +373,7 @@ - + From 81c288015cc10b64811953104d65fbb459cb4641 Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" Date: Tue, 21 Feb 2012 16:08:04 +0530 Subject: [PATCH 009/313] [IMP] res_partner view change bzr revid: kjo@tinyerp.com-20120221103804-96d0jg3n1gj07otf --- openerp/addons/base/res/res_partner_view.xml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/openerp/addons/base/res/res_partner_view.xml b/openerp/addons/base/res/res_partner_view.xml index ba36a237849..4cea1516b68 100644 --- a/openerp/addons/base/res/res_partner_view.xml +++ b/openerp/addons/base/res/res_partner_view.xml @@ -317,7 +317,7 @@ - + @@ -378,14 +378,16 @@ - - + + + + From aea4dc6931ad0d616cb0235fdd535e29141cedbf Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" Date: Tue, 21 Feb 2012 16:30:32 +0530 Subject: [PATCH 010/313] [IMP] change contacts page location bzr revid: kjo@tinyerp.com-20120221110032-yq9jo9t2m8v3t82o --- openerp/addons/base/res/res_partner_view.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/openerp/addons/base/res/res_partner_view.xml b/openerp/addons/base/res/res_partner_view.xml index 4cea1516b68..2ab64554cb7 100644 --- a/openerp/addons/base/res/res_partner_view.xml +++ b/openerp/addons/base/res/res_partner_view.xml @@ -367,6 +367,9 @@ + + + @@ -385,9 +388,6 @@ - - - From fb6a2c7c4c8d436a04dd8e1ed4aa9a5b798c9d1f Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" Date: Tue, 21 Feb 2012 17:01:58 +0530 Subject: [PATCH 011/313] [IMP] remove res_partner_address right and object bzr revid: kjo@tinyerp.com-20120221113158-5td030b5muw0gnlr --- openerp/addons/base/res/wizard/partner_wizard_massmail.py | 2 +- openerp/addons/base/security/ir.model.access.csv | 3 --- openerp/tests/test_orm.py | 1 - 3 files changed, 1 insertion(+), 5 deletions(-) diff --git a/openerp/addons/base/res/wizard/partner_wizard_massmail.py b/openerp/addons/base/res/wizard/partner_wizard_massmail.py index 330d585de98..ee8eda91902 100644 --- a/openerp/addons/base/res/wizard/partner_wizard_massmail.py +++ b/openerp/addons/base/res/wizard/partner_wizard_massmail.py @@ -60,7 +60,7 @@ class partner_massmail_wizard(osv.osv_memory): ir_mail_server = self.pool.get('ir.mail_server') emails_seen = set() for partner in partners: - for adr in partner.address: + for adr in partner.child_ids: if adr.email and not adr.email in emails_seen: try: emails_seen.add(adr.email) diff --git a/openerp/addons/base/security/ir.model.access.csv b/openerp/addons/base/security/ir.model.access.csv index 838ecb2c3d4..5140ac1b144 100644 --- a/openerp/addons/base/security/ir.model.access.csv +++ b/openerp/addons/base/security/ir.model.access.csv @@ -55,8 +55,6 @@ "access_res_lang_group_user","res_lang group_user","model_res_lang","group_system",1,1,1,1 "access_res_partner_group_partner_manager","res_partner group_partner_manager","model_res_partner","group_partner_manager",1,1,1,1 "access_res_partner_group_user","res_partner group_user","model_res_partner","group_user",1,0,0,0 -"access_res_partner_address_group_partner_manager","res_partner_address group_partner_manager","model_res_partner","group_partner_manager",1,1,1,1 -"access_res_partner_address_group_user","res_partner_address group_user","model_res_partner","group_user",1,0,0,0 "access_res_partner_bank_group_user","res_partner_bank group_user","model_res_partner_bank","group_user",1,0,0,0 "access_res_partner_bank_group_partner_manager","res_partner_bank group_partner_manager","model_res_partner_bank","group_partner_manager",1,1,1,1 "access_res_partner_bank_type_group_partner_manager","res_partner_bank_type group_partner_manager","model_res_partner_bank_type","group_partner_manager",1,1,1,1 @@ -117,7 +115,6 @@ "access_ir_filter all","ir_filters all","model_ir_filters",,1,0,0,0 "access_ir_filter employee","ir_filters employee","model_ir_filters","group_user",1,1,1,1 "access_ir_filters","ir_filters_all","model_ir_filters",,1,1,1,1 -"access_res_partner_address","res.partner.address","model_res_partner","group_system",1,1,1,1 "access_res_widget","res.widget","model_res_widget","group_erp_manager",1,1,1,1 "access_res_widget_user","res.widget.user","model_res_widget",,1,0,0,0 "access_res_log_all","res.log","model_res_log",,1,1,1,1 diff --git a/openerp/tests/test_orm.py b/openerp/tests/test_orm.py index 3640fd17f78..69ddd37ecd4 100644 --- a/openerp/tests/test_orm.py +++ b/openerp/tests/test_orm.py @@ -19,7 +19,6 @@ class TestO2MSerialization(unittest2.TestCase): def setUp(self): self.cr = openerp.modules.registry.RegistryManager.get(DB).db.cursor() self.partner = openerp.modules.registry.RegistryManager.get(DB)['res.partner'] -# self.address = openerp.modules.registry.RegistryManager.get(DB)['res.partner.address'] def tearDown(self): self.cr.rollback() From 33a5c3648de2c10c44dcb84a199658ee61c05e4a Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" Date: Tue, 21 Feb 2012 18:38:57 +0530 Subject: [PATCH 012/313] [IMP] res_partner: change in _email_send method bzr revid: kjo@tinyerp.com-20120221130857-l1s3ixwmwn7o12w5 --- openerp/addons/base/res/res_partner.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index 372c1231824..73c633dd7f0 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -232,9 +232,8 @@ class res_partner(osv.osv): def _email_send(self, cr, uid, ids, email_from, subject, body, on_error=None): partners = self.browse(cr, uid, ids) for partner in partners: - if len(partner.address): - if partner.address[0].email: - tools.email_send(email_from, [partner.address[0].email], subject, body, on_error) + if partner.email: + tools.email_send(email_from, [partner.email], subject, body, on_error) return True def email_send(self, cr, uid, ids, email_from, subject, body, on_error=''): From 72949e29002ccc7a52d4fc488037dcb3c6eba17a Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" Date: Wed, 22 Feb 2012 12:54:52 +0530 Subject: [PATCH 013/313] [IMP] res_partner: view change bzr revid: kjo@tinyerp.com-20120222072452-mt9e8m00xbt6ei8y --- openerp/addons/base/res/res_bank.py | 1 - openerp/addons/base/res/res_partner_view.xml | 12 +++++------- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/openerp/addons/base/res/res_bank.py b/openerp/addons/base/res/res_bank.py index 7f9107f986d..7f6c11abb99 100644 --- a/openerp/addons/base/res/res_bank.py +++ b/openerp/addons/base/res/res_bank.py @@ -108,7 +108,6 @@ class res_partner_bank(osv.osv): value = '' if not context.get('address'): return value - for address in self.pool.get('res.partner').resolve_o2m_commands_to_record_dicts( cursor, user, 'address', context['address'], ['type', field], context=context): diff --git a/openerp/addons/base/res/res_partner_view.xml b/openerp/addons/base/res/res_partner_view.xml index 2ab64554cb7..6d95335bb51 100644 --- a/openerp/addons/base/res/res_partner_view.xml +++ b/openerp/addons/base/res/res_partner_view.xml @@ -362,14 +362,10 @@ - - - + + - - - @@ -381,10 +377,12 @@ - + + + From ea0e222002e04a2a06dd6a1fe47220af167be911 Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" Date: Wed, 22 Feb 2012 18:30:20 +0530 Subject: [PATCH 014/313] [IMP] res_partner view change bzr revid: kjo@tinyerp.com-20120222130020-mt336dpul07b9cgt --- openerp/addons/base/res/res_partner.py | 1 + openerp/addons/base/res/res_partner_view.xml | 53 ++++++++++---------- 2 files changed, 28 insertions(+), 26 deletions(-) diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index 73c633dd7f0..4127d6fb557 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -160,6 +160,7 @@ class res_partner(osv.osv): 'company_id': fields.many2one('res.company', 'Company',select=1), 'is_company': fields.boolean('Company', help="Check the field to create company otherwise it is personal contacts"), 'color': fields.integer('Color Index'), + 'is_company_address': fields.boolean('Company Address', help="Check the field to use the company address"), } def _default_category(self, cr, uid, context=None): if context is None: diff --git a/openerp/addons/base/res/res_partner_view.xml b/openerp/addons/base/res/res_partner_view.xml index 6d95335bb51..15b6d0ed3f2 100644 --- a/openerp/addons/base/res/res_partner_view.xml +++ b/openerp/addons/base/res/res_partner_view.xml @@ -311,13 +311,11 @@ - + - - @@ -328,26 +326,29 @@ form
- - + + - + - + - + + + + + + - - - - - - + + + + @@ -355,28 +356,28 @@ - - - - - - + + + + + + + + + - + + - + - - - - From 123315db72596b8c7cbb6e7ea21e261525bd38c6 Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" Date: Wed, 22 Feb 2012 19:04:51 +0530 Subject: [PATCH 015/313] [IMP] add photo file in view bzr revid: kjo@tinyerp.com-20120222133451-22hsl2zti7umlgf4 --- openerp/addons/base/res/res_partner.py | 3 ++- openerp/addons/base/res/res_partner_view.xml | 18 +++++++++++++----- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index 4127d6fb557..6178cba3ffb 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -124,7 +124,7 @@ class res_partner(osv.osv): _columns = { 'name': fields.char('Name', size=128, required=True, select=True), 'date': fields.date('Date', select=1), - 'title': fields.many2one('res.partner.title','Partner Firm'), + 'title': fields.many2one('res.partner.title','Title'), 'parent_id': fields.many2one('res.partner','Parent Partner'), 'child_ids': fields.one2many('res.partner', 'parent_id', 'Partner Ref.'), 'ref': fields.char('Reference', size=64, select=1), @@ -160,6 +160,7 @@ class res_partner(osv.osv): 'company_id': fields.many2one('res.company', 'Company',select=1), 'is_company': fields.boolean('Company', help="Check the field to create company otherwise it is personal contacts"), 'color': fields.integer('Color Index'), + 'photo': fields.binary('Photo'), 'is_company_address': fields.boolean('Company Address', help="Check the field to use the company address"), } def _default_category(self, cr, uid, context=None): diff --git a/openerp/addons/base/res/res_partner_view.xml b/openerp/addons/base/res/res_partner_view.xml index 15b6d0ed3f2..e8241299bbb 100644 --- a/openerp/addons/base/res/res_partner_view.xml +++ b/openerp/addons/base/res/res_partner_view.xml @@ -327,11 +327,15 @@ - - - - - + + + + + + + + + @@ -341,6 +345,10 @@ + + + + From 6999ae4dc0a5d2709bc37570940e8bc0ca057859 Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" Date: Thu, 23 Feb 2012 11:43:46 +0530 Subject: [PATCH 016/313] [IMP] res_partner: address onchange method add bzr revid: kjo@tinyerp.com-20120223061346-co33pf7qi05b46hx --- openerp/addons/base/res/res_partner.py | 8 +++++ openerp/addons/base/res/res_partner_view.xml | 36 +++++++++----------- 2 files changed, 24 insertions(+), 20 deletions(-) diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index 6178cba3ffb..b35c4f012d8 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -189,6 +189,14 @@ class res_partner(osv.osv): def do_share(self, cr, uid, ids, *args): return True + + def onchange_address(self, cr, uid, ids, is_company_address, parent_id, context=None): + if is_company_address != False and parent_id: + data = self.read(cr, uid, parent_id, ['street', 'street2', 'zip', 'city', 'email', 'phone', 'fax', 'mobile', 'country_id', 'state_id', 'website', 'ref', 'lang'], context=context) + else: + data = self.read(cr, uid, ids[0], ['street', 'street2', 'zip', 'city', 'email', 'phone', 'fax', 'mobile', 'country_id', 'state_id', 'website', 'ref', 'lang'], context=context) + + return {'value': {'street': data['street'], 'street2':data['street2'], 'zip':data['zip'], 'city':data['city'], 'email':data['email'], 'phone':data['phone'], 'fax':data['fax'], 'mobile':data['mobile'], 'country_id':data['country_id'], 'state_id':data['state_id'], 'website':data['website'], 'ref':data['ref'], 'lang':data['lang']}} def _check_ean_key(self, cr, uid, ids, context=None): for partner_o in pooler.get_pool(cr.dbname).get('res.partner').read(cr, uid, ids, ['ean13',]): diff --git a/openerp/addons/base/res/res_partner_view.xml b/openerp/addons/base/res/res_partner_view.xml index e8241299bbb..6a43a7554c1 100644 --- a/openerp/addons/base/res/res_partner_view.xml +++ b/openerp/addons/base/res/res_partner_view.xml @@ -314,8 +314,6 @@ - - @@ -330,10 +328,10 @@ - + - + @@ -343,7 +341,7 @@ - + @@ -353,27 +351,25 @@ - - - - - - - + + + + + + - - - - - - - - + + + + + + + From b0192abb5fedbd1a3675fb96d6e7845748bdbf48 Mon Sep 17 00:00:00 2001 From: "Bhumika (OpenERP)" Date: Thu, 23 Feb 2012 14:42:17 +0530 Subject: [PATCH 017/313] [Fix] : Fix Label reports bzr revid: sbh@tinyerp.com-20120223091217-573vqlxwprt70ba8 --- .../addons/base/report/corporate_defaults.xml | 2 -- .../addons/base/report/corporate_defaults.xsl | 24 ++++++++-------- .../base/res/report/partner_address.xml | 2 -- .../base/res/report/partner_address.xsl | 28 +++++-------------- 4 files changed, 19 insertions(+), 37 deletions(-) diff --git a/openerp/addons/base/report/corporate_defaults.xml b/openerp/addons/base/report/corporate_defaults.xml index cef5acdd020..88d42d40814 100644 --- a/openerp/addons/base/report/corporate_defaults.xml +++ b/openerp/addons/base/report/corporate_defaults.xml @@ -6,7 +6,6 @@ <name type="field" name="partner_id.name"/> - <address type="zoom" name="partner_id.address"> <street type="field" name="street"/> <zip type="field" name="zip"/> <city type="field" name="city"/> @@ -14,7 +13,6 @@ <country type="field" name="country_id.name"/> <phone type="field" name="phone"/> <email type="field" name="email"/> - </address> </corporation> <user> <name type="field" name="name"/> diff --git a/openerp/addons/base/report/corporate_defaults.xsl b/openerp/addons/base/report/corporate_defaults.xsl index 414071466af..e0f6918ec59 100644 --- a/openerp/addons/base/report/corporate_defaults.xsl +++ b/openerp/addons/base/report/corporate_defaults.xsl @@ -22,18 +22,18 @@ <setFont name="Helvetica" size="10"/> <drawRightString x="20cm" y="28.5cm"><xsl:value-of select="//corporate-header/corporation/rml_header1"/></drawRightString> - <drawString x="1cm" y="27cm"><xsl:value-of select="//corporate-header/corporation/address/street"/></drawString> + <drawString x="1cm" y="27cm"><xsl:value-of select="//corporate-header/corporation/street"/></drawString> <drawString x="1cm" y="26.5cm"> - <xsl:value-of select="//corporate-header/corporation/address/zip"/> + <xsl:value-of select="//corporate-header/corporation/zip"/> <xsl:text> </xsl:text> - <xsl:value-of select="//corporate-header/corporation/address/city"/> + <xsl:value-of select="//corporate-header/corporation/city"/> <xsl:text> - </xsl:text> - <xsl:value-of select="//corporate-header/corporation/address/country"/> + <xsl:value-of select="//corporate-header/corporation/country"/> </drawString> <drawString x="1cm" y="26cm">Phone:</drawString> - <drawRightString x="7cm" y="26cm"><xsl:value-of select="//corporate-header/corporation/address/phone"/></drawRightString> + <drawRightString x="7cm" y="26cm"><xsl:value-of select="//corporate-header/corporation/phone"/></drawRightString> <drawString x="1cm" y="25.5cm">Mail:</drawString> - <drawRightString x="7cm" y="25.5cm"><xsl:value-of select="//corporate-header/corporation/address/email"/></drawRightString> + <drawRightString x="7cm" y="25.5cm"><xsl:value-of select="//corporate-header/corporation/email"/></drawRightString> <!--page bottom--> @@ -57,18 +57,18 @@ <setFont name="Helvetica" size="10"/> <drawRightString x="1cm" y="27.5cm"><xsl:value-of select="//corporate-header/corporation/rml_header1"/></drawRightString> - <drawString x="1cm" y="27cm"><xsl:value-of select="//corporate-header/corporation/address/street"/></drawString> + <drawString x="1cm" y="27cm"><xsl:value-of select="//corporate-header/corporation/street"/></drawString> <drawString x="1cm" y="26.5cm"> - <xsl:value-of select="//corporate-header/corporation/address/zip"/> + <xsl:value-of select="//corporate-header/corporation/zip"/> <xsl:text> </xsl:text> - <xsl:value-of select="//corporate-header/corporation/address/city"/> + <xsl:value-of select="//corporate-header/corporation/city"/> <xsl:text> - </xsl:text> - <xsl:value-of select="//corporate-header/corporation/address/country"/> + <xsl:value-of select="//corporate-header/corporation/country"/> </drawString> <drawString x="1cm" y="26cm">Phone:</drawString> - <drawRightString x="7cm" y="26cm"><xsl:value-of select="//corporate-header/corporation/address/phone"/></drawRightString> + <drawRightString x="7cm" y="26cm"><xsl:value-of select="//corporate-header/corporation/phone"/></drawRightString> <drawString x="1cm" y="25.5cm">Mail:</drawString> - <drawRightString x="7cm" y="25.5cm"><xsl:value-of select="//corporate-header/corporation/address/email"/></drawRightString> + <drawRightString x="7cm" y="25.5cm"><xsl:value-of select="//corporate-header/corporation/email"/></drawRightString> <!--page bottom--> diff --git a/openerp/addons/base/res/report/partner_address.xml b/openerp/addons/base/res/report/partner_address.xml index 2a413f4e3c6..706e5fbd6fe 100644 --- a/openerp/addons/base/res/report/partner_address.xml +++ b/openerp/addons/base/res/report/partner_address.xml @@ -3,7 +3,6 @@ <address type="fields" name="id"> <company-title type="field" name="title.name"/> <company-name type="field" name="name"/> - <contact type="zoom" name="address"> <type type="field" name="type"/> <title type="field" name="title.name"/> <name type="field" name="name"/> @@ -13,6 +12,5 @@ <city type="field" name="city"/> <state type="field" name="state_id.name"/> <country type="field" name="country_id.name"/> - </contact> </address> </addresses> diff --git a/openerp/addons/base/res/report/partner_address.xsl b/openerp/addons/base/res/report/partner_address.xsl index 01fcc120c23..bbf069605e8 100644 --- a/openerp/addons/base/res/report/partner_address.xsl +++ b/openerp/addons/base/res/report/partner_address.xsl @@ -58,31 +58,17 @@ <xsl:template match="address" mode="story"> <para style="nospace"><xsl:value-of select="company-name"/><xsl:text> </xsl:text><xsl:value-of select="company-title"/></para> - <xsl:choose> - <xsl:when test="count(contact[type='default']) >= 1"> - <!-- apply the first 'contact' node with the type 'default' --> - <xsl:apply-templates select="contact[type='default'][1]"/> - </xsl:when> - <xsl:when test="count(contact[type='']) >= 1"> - <!-- apply the first 'contact' node with an empty type --> - <xsl:apply-templates select="contact[type=''][1]"/> - </xsl:when> - <xsl:otherwise> - <!-- apply the first 'contact' node --> - <xsl:apply-templates select="contact[1]"/> - </xsl:otherwise> - </xsl:choose> - <xsl:if test="position() < last()"> - <nextFrame/> - </xsl:if> - </xsl:template> - - <xsl:template match="contact"> - <para style="nospace"><xsl:value-of select="title"/><xsl:text> </xsl:text><xsl:value-of select="name"/></para> <para style="nospace"><xsl:value-of select="street"/></para> <para style="nospace"><xsl:value-of select="street2"/></para> <para style="nospace"><xsl:value-of select="zip"/><xsl:text> </xsl:text><xsl:value-of select="city"/></para> <para style="nospace"><xsl:value-of select="state"/></para> <para style="nospace"><xsl:value-of select="country"/></para> + <xsl:if test="position() < last()"> + <nextFrame/> + </xsl:if> + </xsl:template> + + <xsl:template match="contact"> + </xsl:template> </xsl:stylesheet> From 0120ff0c42b0665b4e1ea04516d70de124b3eb0f Mon Sep 17 00:00:00 2001 From: "Bhumika (OpenERP)" <sbh@tinyerp.com> Date: Thu, 23 Feb 2012 14:44:36 +0530 Subject: [PATCH 018/313] [IMP] base: Remove unused field from xml bzr revid: sbh@tinyerp.com-20120223091436-97q6ps20k4067gpk --- openerp/addons/base/res/report/partner_address.xml | 2 -- 1 file changed, 2 deletions(-) diff --git a/openerp/addons/base/res/report/partner_address.xml b/openerp/addons/base/res/report/partner_address.xml index 706e5fbd6fe..109d231c8a8 100644 --- a/openerp/addons/base/res/report/partner_address.xml +++ b/openerp/addons/base/res/report/partner_address.xml @@ -4,8 +4,6 @@ <company-title type="field" name="title.name"/> <company-name type="field" name="name"/> <type type="field" name="type"/> - <title type="field" name="title.name"/> - <name type="field" name="name"/> <street type="field" name="street"/> <street2 type="field" name="street2"/> <zip type="field" name="zip"/> From 0f6b199c74dcddcd62e15422bb717c82300f57c9 Mon Sep 17 00:00:00 2001 From: "Bhumika (OpenERP)" <sbh@tinyerp.com> Date: Thu, 23 Feb 2012 15:07:36 +0530 Subject: [PATCH 019/313] [Fix] report: Fix the header and print preivew report bzr revid: sbh@tinyerp.com-20120223093736-a1o9cyu582jh0e17 --- .../base/report/corporate_sxw_header.xml | 8 ++++---- openerp/addons/base/report/mako_header.html | 18 +++++++++--------- openerp/addons/base/res/res_company.py | 10 +++++----- 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/openerp/addons/base/report/corporate_sxw_header.xml b/openerp/addons/base/report/corporate_sxw_header.xml index 2f6f885f3ba..d6330e66a7a 100644 --- a/openerp/addons/base/report/corporate_sxw_header.xml +++ b/openerp/addons/base/report/corporate_sxw_header.xml @@ -204,8 +204,8 @@ </table:table-cell> </table:table-row> </table:table> - <text:p text:style-name="P3">[[ company.partner_id.address and company.partner_id.address[0].street ]]</text:p> - <text:p text:style-name="P3">[[ company.partner_id.address and company.partner_id.address[0].zip ]] [[ company.partner_id.address and company.partner_id.address[0].city ]] - [[ company.partner_id.address and company.partner_id.address[0].country_id and company.partner_id.address[0].country_id.name ]]</text:p> + <text:p text:style-name="P3">[[ company.partner_id and company.partner_id.street ]]</text:p> + <text:p text:style-name="P3">[[ company.partner_id and company.partner_id.zip ]] [[ company.partner_id and company.partner_id.city ]] - [[ company.partner_id and company.partner_id.country_id and company.partner_id.country_id.name ]]</text:p> <table:table table:name="Table3" table:style-name="Table3"> <table:table-column table:style-name="Table3.A"/> <table:table-column table:style-name="Table3.B"/> @@ -214,7 +214,7 @@ <text:p text:style-name="P4">Phone :</text:p> </table:table-cell> <table:table-cell table:style-name="Table3.A1" table:value-type="string"> - <text:p text:style-name="P5">[[ company.partner_id.address and company.partner_id.address[0].phone ]]</text:p> + <text:p text:style-name="P5">[[ company.partner_id and company.partner_id.phone ]]</text:p> </table:table-cell> </table:table-row> <table:table-row> @@ -222,7 +222,7 @@ <text:p text:style-name="P4">Mail :</text:p> </table:table-cell> <table:table-cell table:style-name="Table3.A2" table:value-type="string"> - <text:p text:style-name="P5">[[ company.partner_id.address and company.partner_id.address[0].email ]]</text:p> + <text:p text:style-name="P5">[[ company.partner_id and company.partner_id.email ]]</text:p> </table:table-cell> </table:table-row> </table:table> diff --git a/openerp/addons/base/report/mako_header.html b/openerp/addons/base/report/mako_header.html index 5bd3aaf18fb..a8c7d71b8d9 100644 --- a/openerp/addons/base/report/mako_header.html +++ b/openerp/addons/base/report/mako_header.html @@ -14,33 +14,33 @@ <tr> <td> - % if company['partner_id']['address'] and company['partner_id']['address'][0]['street']: - <small>${company.partner_id.address[0].street}</small></br> + % if company['partner_id'] and company['partner_id']['street']: + <small>${company.partner_id.street}</small></br> %endif </td> </tr> <tr> <td> - % if company['partner_id']['address'] and company['partner_id']['address'][0]['zip']: - <small>${company.partner_id.address[0].zip} - ${company.partner_id.address[0].city}-${company.partner_id.address[0].country_id and company.partner_id.address[0].country_id.name}</small></br> + % if company['partner_id'] and company['partner_id']['zip']: + <small>${company.partner_id.zip} + ${company.partner_id.city}-${company.partner_id.country_id and company.partner_id.country_id.name}</small></br> %endif </td> </tr> <tr> <td> - % if company['partner_id']['address'] and company['partner_id']['address'][0]['phone']: - <small><b>Phone:</b>${company.partner_id.address and company.partner_id.address[0].phone}</small></br> + % if company['partner_id'] and company['partner_id']['phone']: + <small><b>Phone:</b>${company.partner_id and company.partner_id.phone}</small></br> %endif </td> </tr> <tr> <td> - % if company['partner_id']['address'] and company['partner_id']['address'][0]['email']: - <small><b>Mail:</b>${company.partner_id.address and company.partner_id.address[0].email}</small></br></<address> + % if company['partner_id'] and company['partner_id']['email']: + <small><b>Mail:</b>${company.partner_id and company.partner_id.email}</small></br></<address> %endif </td> </tr> diff --git a/openerp/addons/base/res/res_company.py b/openerp/addons/base/res/res_company.py index 8866846932c..0da8825c9f1 100644 --- a/openerp/addons/base/res/res_company.py +++ b/openerp/addons/base/res/res_company.py @@ -109,7 +109,7 @@ class res_company(osv.osv): if address: part_obj.write(cr, uid, [address], {name: value or False}) else: - part_obj.create(cr, uid, {name: value or False, 'partner_id': company.partner_id.id}, context=context) + part_obj.create(cr, uid, {name: value or False, 'parent_id': company.partner_id.id}, context=context) return True @@ -294,12 +294,12 @@ class res_company(osv.osv): <drawString x="1.3cm" y="%s">[[ company.partner_id.name ]]</drawString> - <drawString x="1.3cm" y="%s">[[ company.partner_id.address and company.partner_id.address[0].street or '' ]]</drawString> - <drawString x="1.3cm" y="%s">[[ company.partner_id.address and company.partner_id.address[0].zip or '' ]] [[ company.partner_id.address and company.partner_id.address[0].city or '' ]] - [[ company.partner_id.address and company.partner_id.address[0].country_id and company.partner_id.address[0].country_id.name or '']]</drawString> + <drawString x="1.3cm" y="%s">[[ company.partner_id and company.partner_id.street or '' ]]</drawString> + <drawString x="1.3cm" y="%s">[[ company.partner_id and company.partner_id.city or '' ]] - [[ company.partner_id and company.partner_id.country_id and company.partner_id.country_id.name or '']]</drawString> <drawString x="1.3cm" y="%s">Phone:</drawString> - <drawRightString x="7cm" y="%s">[[ company.partner_id.address and company.partner_id.address[0].phone or '' ]]</drawRightString> + <drawRightString x="7cm" y="%s">[[ company.partner_id and company.partner_id.phone or '' ]]</drawRightString> <drawString x="1.3cm" y="%s">Mail:</drawString> - <drawRightString x="7cm" y="%s">[[ company.partner_id.address and company.partner_id.address[0].email or '' ]]</drawRightString> + <drawRightString x="7cm" y="%s">[[ company.partner_id and company.partner_id.email or '' ]]</drawRightString> <lines>1.3cm %s 7cm %s</lines> <!--page bottom--> From 1e88b2d9c4b4e6ffabfee48fd7501cd0ccbbedc9 Mon Sep 17 00:00:00 2001 From: Raphael Collet <rco@openerp.com> Date: Thu, 23 Feb 2012 12:09:07 +0100 Subject: [PATCH 020/313] [IMP] base/report: reindent xml bzr revid: rco@openerp.com-20120223110907-y4w70xygyvieooj8 --- openerp/addons/base/report/corporate_defaults.xml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/openerp/addons/base/report/corporate_defaults.xml b/openerp/addons/base/report/corporate_defaults.xml index 88d42d40814..12e8bb5eeea 100644 --- a/openerp/addons/base/report/corporate_defaults.xml +++ b/openerp/addons/base/report/corporate_defaults.xml @@ -6,13 +6,13 @@ <rml_footer2 type="field" name="rml_footer2"/> <title type="field" name="partner_id.title"/> <name type="field" name="partner_id.name"/> - <street type="field" name="street"/> - <zip type="field" name="zip"/> - <city type="field" name="city"/> - <state type="field" name="state_id.name"/> - <country type="field" name="country_id.name"/> - <phone type="field" name="phone"/> - <email type="field" name="email"/> + <street type="field" name="street"/> + <zip type="field" name="zip"/> + <city type="field" name="city"/> + <state type="field" name="state_id.name"/> + <country type="field" name="country_id.name"/> + <phone type="field" name="phone"/> + <email type="field" name="email"/> </corporation> <user> <name type="field" name="name"/> From e114bb5211e62d9123f252fcb1cb524dc30c4aa0 Mon Sep 17 00:00:00 2001 From: Raphael Collet <rco@openerp.com> Date: Thu, 23 Feb 2012 12:12:44 +0100 Subject: [PATCH 021/313] [IMP] base/res/report: reindent xml bzr revid: rco@openerp.com-20120223111244-g3ezpw004f4k7bfz --- openerp/addons/base/res/report/partner_address.xml | 14 +++++++------- openerp/addons/base/res/report/partner_address.xsl | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/openerp/addons/base/res/report/partner_address.xml b/openerp/addons/base/res/report/partner_address.xml index 109d231c8a8..1449eb5bc0c 100644 --- a/openerp/addons/base/res/report/partner_address.xml +++ b/openerp/addons/base/res/report/partner_address.xml @@ -3,12 +3,12 @@ <address type="fields" name="id"> <company-title type="field" name="title.name"/> <company-name type="field" name="name"/> - <type type="field" name="type"/> - <street type="field" name="street"/> - <street2 type="field" name="street2"/> - <zip type="field" name="zip"/> - <city type="field" name="city"/> - <state type="field" name="state_id.name"/> - <country type="field" name="country_id.name"/> + <type type="field" name="type"/> + <street type="field" name="street"/> + <street2 type="field" name="street2"/> + <zip type="field" name="zip"/> + <city type="field" name="city"/> + <state type="field" name="state_id.name"/> + <country type="field" name="country_id.name"/> </address> </addresses> diff --git a/openerp/addons/base/res/report/partner_address.xsl b/openerp/addons/base/res/report/partner_address.xsl index bbf069605e8..ca212f2d2b0 100644 --- a/openerp/addons/base/res/report/partner_address.xsl +++ b/openerp/addons/base/res/report/partner_address.xsl @@ -64,7 +64,7 @@ <para style="nospace"><xsl:value-of select="state"/></para> <para style="nospace"><xsl:value-of select="country"/></para> <xsl:if test="position() < last()"> - <nextFrame/> + <nextFrame/> </xsl:if> </xsl:template> From e06a8dbd0ebde5c962b10a2f62236fe7cc53ef1a Mon Sep 17 00:00:00 2001 From: Raphael Collet <rco@openerp.com> Date: Thu, 23 Feb 2012 12:41:12 +0100 Subject: [PATCH 022/313] [IMP] base/res: clean a bit partner fields, and fix onchange_address bzr revid: rco@openerp.com-20120223114112-ehxy2hvfap3u0nq8 --- openerp/addons/base/res/res_partner.py | 48 ++++++++++++++++---------- 1 file changed, 29 insertions(+), 19 deletions(-) diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index b35c4f012d8..b5de96f09b4 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -126,7 +126,7 @@ class res_partner(osv.osv): 'date': fields.date('Date', select=1), 'title': fields.many2one('res.partner.title','Title'), 'parent_id': fields.many2one('res.partner','Parent Partner'), - 'child_ids': fields.one2many('res.partner', 'parent_id', 'Partner Ref.'), + 'child_ids': fields.one2many('res.partner', 'parent_id', 'Contacts'), 'ref': fields.char('Reference', size=64, select=1), 'lang': fields.selection(_lang_get, 'Language', help="If the selected language is loaded in the system, all documents related to this partner will be printed in this language. If not, it will be english."), 'user_id': fields.many2one('res.users', 'Salesman', help='The internal user that is in charge of communicating with this partner if any.'), @@ -138,12 +138,12 @@ class res_partner(osv.osv): 'events': fields.one2many('res.partner.event', 'partner_id', 'Events'), 'credit_limit': fields.float(string='Credit Limit'), 'ean13': fields.char('EAN13', size=13), + 'active': fields.boolean('Active'), 'customer': fields.boolean('Customer', help="Check this box if the partner is a customer."), 'supplier': fields.boolean('Supplier', help="Check this box if the partner is a supplier. If it's not checked, purchase people will not see it when encoding a purchase order."), 'employee': fields.boolean('Employee', help="Check this box if the partner is an Employee."), - 'color': fields.integer('Color Index'), - 'type': fields.selection( [ ('default','Default'),('invoice','Invoice'), ('delivery','Delivery'), ('contact','Contact'), ('other','Other') ],'Address Type', help="Used to select automatically the right address according to the context in sales and purchases documents."), 'function': fields.char('Function', size=128), + 'type': fields.selection( [ ('default','Default'),('invoice','Invoice'), ('delivery','Delivery'), ('contact','Contact'), ('other','Other') ],'Address Type', help="Used to select automatically the right address according to the context in sales and purchases documents."), 'street': fields.char('Street', size=128), 'street2': fields.char('Street2', size=128), 'zip': fields.char('Zip', change_default=True, size=24), @@ -155,13 +155,11 @@ class res_partner(osv.osv): 'fax': fields.char('Fax', size=64), 'mobile': fields.char('Mobile', size=64), 'birthdate': fields.char('Birthdate', size=64), - 'active': fields.boolean('Active', help="Uncheck the active field to hide the contact."), -# 'company_id': fields.related('partner_id','company_id',type='many2one',relation='res.company',string='Company', store=True), - 'company_id': fields.many2one('res.company', 'Company',select=1), - 'is_company': fields.boolean('Company', help="Check the field to create company otherwise it is personal contacts"), - 'color': fields.integer('Color Index'), + 'is_company': fields.boolean('Company', help="Check if the partner is a company, uncheck it for a person"), + 'is_company_address': fields.boolean('Use Parent Address', help="Check to use the parent partner's address"), 'photo': fields.binary('Photo'), - 'is_company_address': fields.boolean('Company Address', help="Check the field to use the company address"), + 'company_id': fields.many2one('res.company', 'Company', select=1), + 'color': fields.integer('Color Index'), } def _default_category(self, cr, uid, context=None): if context is None: @@ -171,12 +169,12 @@ class res_partner(osv.osv): return [] _defaults = { - 'active': lambda *a: 1, - 'customer': lambda *a: 1, + 'active': True, + 'customer': True, 'category_id': _default_category, 'company_id': lambda s,cr,uid,c: s.pool.get('res.company')._company_default_get(cr, uid, 'res.partner', context=c), 'color': 0, - 'is_company': lambda *a: 0, + 'is_company': False, 'type': 'default', } @@ -191,12 +189,24 @@ class res_partner(osv.osv): return True def onchange_address(self, cr, uid, ids, is_company_address, parent_id, context=None): - if is_company_address != False and parent_id: - data = self.read(cr, uid, parent_id, ['street', 'street2', 'zip', 'city', 'email', 'phone', 'fax', 'mobile', 'country_id', 'state_id', 'website', 'ref', 'lang'], context=context) - else: - data = self.read(cr, uid, ids[0], ['street', 'street2', 'zip', 'city', 'email', 'phone', 'fax', 'mobile', 'country_id', 'state_id', 'website', 'ref', 'lang'], context=context) - - return {'value': {'street': data['street'], 'street2':data['street2'], 'zip':data['zip'], 'city':data['city'], 'email':data['email'], 'phone':data['phone'], 'fax':data['fax'], 'mobile':data['mobile'], 'country_id':data['country_id'], 'state_id':data['state_id'], 'website':data['website'], 'ref':data['ref'], 'lang':data['lang']}} + if is_company_address and parent_id: + parent = self.browse(cr, uid, parent_id, context=context) + return {'value': { + 'street': parent.street, + 'street2': parent.street2, + 'zip': parent.zip, + 'city': parent.city, + 'state_id': parent.state_id.id, + 'country_id': parent.country_id.id, + 'email': parent.email, + 'phone': parent.phone, + 'fax': parent.fax, + 'mobile': parent.mobile, + 'website': parent.website, + 'ref': parent.ref, + 'lang': parent.lang, + }} + return {} def _check_ean_key(self, cr, uid, ids, context=None): for partner_o in pooler.get_pool(cr.dbname).get('res.partner').read(cr, uid, ids, ['ean13',]): @@ -309,8 +319,8 @@ class res_partner(osv.osv): model_data.search(cr, uid, [('module','=','base'), ('name','=','main_partner')])[0], ).res_id + res_partner() # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - From d1eb5e6eaeea968a02b44c1981a18052c6602692 Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Thu, 23 Feb 2012 18:00:59 +0530 Subject: [PATCH 023/313] [IMP]base_address: add module bzr revid: kjo@tinyerp.com-20120223123059-04d0obj53i80z0jq --- addons/base_address/__init__.py | 24 +++++++++++++++++ addons/base_address/__openerp__.py | 42 +++++++++++++++++++++++++++++ addons/base_address/base_address.py | 29 ++++++++++++++++++++ 3 files changed, 95 insertions(+) create mode 100644 addons/base_address/__init__.py create mode 100644 addons/base_address/__openerp__.py create mode 100644 addons/base_address/base_address.py diff --git a/addons/base_address/__init__.py b/addons/base_address/__init__.py new file mode 100644 index 00000000000..c4af73d2bb7 --- /dev/null +++ b/addons/base_address/__init__.py @@ -0,0 +1,24 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2004-2012 Tiny SPRL (<http://tiny.be>). +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. +# +############################################################################## + +import base_address + +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/base_address/__openerp__.py b/addons/base_address/__openerp__.py new file mode 100644 index 00000000000..1abf12a3597 --- /dev/null +++ b/addons/base_address/__openerp__.py @@ -0,0 +1,42 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2004-2012 Tiny SPRL (<http://tiny.be>). +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. +# +############################################################################## + +{ + "name": "base address", + "version": "1.0", + "depends": ["base"], + 'complexity': "easy", + 'description': """ +backwards compatible + """, + "author": "OpenERP SA", + 'category': 'Hidden/Dependency', + 'website': 'http://www.openerp.com', + "init_xml": [], + "demo_xml": [], + "update_xml": [], + "test" : [], + "installable": True, + "auto_install": False, + 'images': [], +} + +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/base_address/base_address.py b/addons/base_address/base_address.py new file mode 100644 index 00000000000..ddfb4e6572f --- /dev/null +++ b/addons/base_address/base_address.py @@ -0,0 +1,29 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2004-2012 Tiny SPRL (<http://tiny.be>). +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. +# +############################################################################## + +from osv import fields, osv + +class res_partner_address(osv.osv): + _name = "res.partner.address" + _table = "res.partner" + _columns= { + } +res_partner_address() From f72fc4acfa5ae29504621fdda7d8a7e20195068a Mon Sep 17 00:00:00 2001 From: Raphael Collet <rco@openerp.com> Date: Thu, 23 Feb 2012 14:53:47 +0100 Subject: [PATCH 024/313] [IMP] base/res: simplify code and fix res_partner.address_get bzr revid: rco@openerp.com-20120223135347-ff3h8eikq2xj7x4q --- openerp/addons/base/res/res_bank.py | 11 ++++++----- openerp/addons/base/res/res_partner.py | 14 ++++++++------ 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/openerp/addons/base/res/res_bank.py b/openerp/addons/base/res/res_bank.py index 7f6c11abb99..891794cb99c 100644 --- a/openerp/addons/base/res/res_bank.py +++ b/openerp/addons/base/res/res_bank.py @@ -108,6 +108,7 @@ class res_partner_bank(osv.osv): value = '' if not context.get('address'): return value + for address in self.pool.get('res.partner').resolve_o2m_commands_to_record_dicts( cursor, user, 'address', context['address'], ['type', field], context=context): @@ -218,11 +219,11 @@ class res_partner_bank(osv.osv): if partner_id: part = self.pool.get('res.partner').browse(cr, uid, partner_id, context=context) result['owner_name'] = part.name - result['street'] = part and part.street or False - result['city'] = part and part.city or False - result['zip'] = part and part.zip or False - result['country_id'] = part and part.country_id and part.country_id.id or False - result['state_id'] = part and part.state_id and part.state_id.id or False + result['street'] = part.street or False + result['city'] = part.city or False + result['zip'] = part.zip or False + result['country_id'] = part.country_id.id + result['state_id'] = part.state_id.id return {'value': result} res_partner_bank() diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index b5de96f09b4..c6354fa8cd2 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -272,19 +272,21 @@ class res_partner(osv.osv): def address_get(self, cr, uid, ids, adr_pref=None): if adr_pref is None: adr_pref = ['default'] - address_ids = self.search(cr, uid, [('parent_id', 'in', ids)]) - address_rec = self.read(cr, uid, address_ids, ['type']) - res = list((addr['type'],addr['id']) for addr in address_rec) - adr = dict(res) + # retrieve addresses from the partner itself and its children + res = [] + for p in self.browse(cr, uid, ids, context): + res.append((p.type, p.id)) + res.extend((c.type, c.id) for c in p.child_ids) + addr = dict(reversed(res)) # get the id of the (first) default address if there is one, # otherwise get the id of the first address in the list if res: - default_address = adr.get('default', res[0][1]) + default_address = addr.get('default', res[0][1]) else: default_address = False result = {} for a in adr_pref: - result[a] = adr.get(a, default_address) + result[a] = addr.get(a, default_address) return result def gen_next_ref(self, cr, uid, ids): From a70e1fef3db25ffe1597089d8cc4eaa89a5c6f75 Mon Sep 17 00:00:00 2001 From: Raphael Collet <rco@openerp.com> Date: Thu, 23 Feb 2012 15:54:26 +0100 Subject: [PATCH 025/313] [IMP] base/res/partner: rename field and improve partner form bzr revid: rco@openerp.com-20120223145426-7q18zqbt0wqwvzpf --- openerp/addons/base/res/res_partner.py | 6 +- openerp/addons/base/res/res_partner_view.xml | 70 +++++++++----------- 2 files changed, 36 insertions(+), 40 deletions(-) diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index c6354fa8cd2..629766b29f4 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -156,7 +156,7 @@ class res_partner(osv.osv): 'mobile': fields.char('Mobile', size=64), 'birthdate': fields.char('Birthdate', size=64), 'is_company': fields.boolean('Company', help="Check if the partner is a company, uncheck it for a person"), - 'is_company_address': fields.boolean('Use Parent Address', help="Check to use the parent partner's address"), + 'use_parent_address': fields.boolean('Use Company Address', help="Check to use the company's address"), 'photo': fields.binary('Photo'), 'company_id': fields.many2one('res.company', 'Company', select=1), 'color': fields.integer('Color Index'), @@ -188,8 +188,8 @@ class res_partner(osv.osv): def do_share(self, cr, uid, ids, *args): return True - def onchange_address(self, cr, uid, ids, is_company_address, parent_id, context=None): - if is_company_address and parent_id: + def onchange_address(self, cr, uid, ids, use_parent_address, parent_id, context=None): + if use_parent_address and parent_id: parent = self.browse(cr, uid, parent_id, context=context) return {'value': { 'street': parent.street, diff --git a/openerp/addons/base/res/res_partner_view.xml b/openerp/addons/base/res/res_partner_view.xml index 6a43a7554c1..5b3c7480eb0 100644 --- a/openerp/addons/base/res/res_partner_view.xml +++ b/openerp/addons/base/res/res_partner_view.xml @@ -323,54 +323,50 @@ <field name="model">res.partner</field> <field name="type">form</field> <field name="arch" type="xml"> - <form string="Partners" col='1'> + <form string="Partners"> <group col="8" colspan="4"> - <group colspan="4" col="4"> - <group col="2"> - <field name="name" select="1"/> - <field name="function"/> - </group> - <group col="2"> - <field name="title" size="0" groups="base.group_extended"/> - <field name="parent_id" string="Parent Company" groups="base.group_extended" attrs="{'invisible': [('is_company','=', True)]}"/> - </group> + <group col="2"> + <field name="name"/> + <field name="parent_id" string="Company" attrs="{'invisible': [('is_company','=', True)]}"/> + <field name="function" attrs="{'invisible': [('is_company','=', True)]}"/> </group> <group col="2"> - <field name="customer" select="1"/> + <field name="title" size="0" groups="base.group_extended"/> + <field name="is_company"/> + </group> + <group col="2"> + <field name="customer"/> <field name="supplier"/> </group> - <group col="2"> - <field name="is_company" select="1"/> - <field name="is_company_address" on_change="onchange_address(is_company_address, parent_id)"/> - </group> <group col="2"> <field name="photo" widget='image' nolabel="1"/> </group> - </group> <notebook colspan="4"> <page string="General"> - <newline/> - <group colspan="2" col="4" > - <separator string="Address" colspan="4" col="4" /> - <field name="type" string="Type" colspan="2" attrs="{'invisible': [('is_company', '=', True)]}"/> - <field name="street" colspan="4" attrs="{'readonly': [('is_company','=', True)]}"/> - <field name="street2" colspan="4" attrs="{'readonly': [('is_company','=', True)]}"/> - <field name="zip" attrs="{'readonly': [('is_company','=', True)]}"/> - <field name="city" attrs="{'readonly': [('is_company','=', True)]}"/> - <field name="country_id" completion="1" attrs="{'readonly': [('is_company','=', True)]}"/> - <field name="state_id" attrs="{'readonly': [('is_company','=', True)]}"/> + <group colspan="2"> + <separator string="Address" colspan="4"/> + <field name="type" string="Type"/> + <field name="use_parent_address" attrs="{'invisible': [('parent_id', '=', False)]}" + on_change="onchange_address(use_parent_address, parent_id)"/> + <newline/> + <field name="street" colspan="4" attrs="{'readonly': [('use_parent_address','=', True)]}"/> + <field name="street2" colspan="4" attrs="{'readonly': [('use_parent_address','=', True)]}"/> + <field name="zip" attrs="{'readonly': [('use_parent_address','=', True)]}"/> + <field name="city" attrs="{'readonly': [('use_parent_address','=', True)]}"/> + <field name="country_id" completion="1" attrs="{'readonly': [('use_parent_address','=', True)]}"/> + <field name="state_id" attrs="{'readonly': [('use_parent_address','=', True)]}"/> </group> - <group colspan="2" col="4"> + <group colspan="2"> <separator string="Communication" colspan="4"/> - <field name="phone" colspan="4" attrs="{'readonly': [('is_company','=', True)]}"/> + <field name="lang" colspan="4"/> + <field name="phone" colspan="4"/> <field name="mobile" colspan="4" attrs="{'readonly': [('is_company','=', True)]}"/> - <field name="fax" colspan="4" attrs="{'readonly': [('is_company','=', True)]}"/> - <field name="email" widget="email" colspan="4" attrs="{'readonly': [('is_company','=', True)]}"/> - <field name="website" widget="url" colspan="4" attrs="{'readonly': [('is_company','=', True)]}"/> - <field name="ref" groups="base.group_extended" colspan="4" attrs="{'readonly': [('is_company','=', True)]}"/> - <field name="lang" colspan="4" attrs="{'readonly': [('is_company','=', True)]}"/> - </group> + <field name="fax" colspan="4"/> + <field name="email" widget="email" colspan="4"/> + <field name="website" widget="url" colspan="4"/> + <field name="ref" groups="base.group_extended" colspan="4"/> + </group> <group colspan="4" attrs="{'invisible': [('is_company','=', False)]}"> <field name="child_ids" nolabel="1"/> </group> @@ -385,11 +381,11 @@ </page> <page string="History" groups="base.group_extended" invisible="True"> </page> - <page string="Category" groups="base.group_extended"> - <field name="category_id" nolabel="1" colspan="8" /> + <page string="Categories" groups="base.group_extended"> + <field name="category_id" colspan="4" nolabel="1"/> </page> <page string="Notes"> - <field colspan="4" name="comment" nolabel="1"/> + <field name="comment" colspan="4" nolabel="1"/> </page> </notebook> </form> From 3310e9f2fa7712c344aa9cd5dcd8f25f1d0a758a Mon Sep 17 00:00:00 2001 From: Raphael Collet <rco@openerp.com> Date: Thu, 23 Feb 2012 16:43:48 +0100 Subject: [PATCH 026/313] [FIX] base/res/partner: fix kanban view (unknown fields) bzr revid: rco@openerp.com-20120223154348-sdzk9nozb6mi84lg --- openerp/addons/base/res/res_partner_view.xml | 24 ++++++++++++++------ 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/openerp/addons/base/res/res_partner_view.xml b/openerp/addons/base/res/res_partner_view.xml index 5b3c7480eb0..c32095de646 100644 --- a/openerp/addons/base/res/res_partner_view.xml +++ b/openerp/addons/base/res/res_partner_view.xml @@ -428,7 +428,12 @@ <kanban> <field name="color"/> <field name="name"/> + <field name="title"/> <field name="email"/> + <field name="parent_id"/> + <field name="is_company"/> + <field name="function"/> + <field name="phone"/> <templates> <t t-name="kanban-box"> <t t-set="color" t-value="kanban_color(record.color.raw_value || record.name.raw_value)"/> @@ -439,6 +444,8 @@ <tr> <td class="oe_kanban_title1" align="left" valign="middle"> <field name="name"/> + <t t-if="record.name.raw_value and record.title.raw_value">,</t> + <field name="title"/> </td> <td valign="top" width="22"> <img t-att-src="kanban_gravatar(record.email.value, 22)" class="oe_kanban_gravatar"/> @@ -450,18 +457,21 @@ <table class="oe_kanban_table"> <tr> <td valign="top" width="64" align="left"> - <img src="/base/static/src/img/kanban_partner.png" width="64" height="64"/> + <img t-att-src="kanban_image('res.partner', 'photo', record.id.value)" width="64" height="64"/> </td> <td valign="top" align="left"> <div class="oe_kanban_title2"> - <field name="title"/> - <t t-if="record.title.raw_value and record.country.raw_value">,</t> - <!--field name="country"/--> + <t t-if="record.parent_id.raw_value"> + <field name="parent_id"/> + </t> + <t t-if="record.is_company.raw_value"> + <field name="country_id"/> + </t> </div> <div class="oe_kanban_title3"> - <field name="subname"/> - <t t-if="record.subname.raw_value and record.function.raw_value">,</t> - <field name="function"/> + <t t-if="record.function.raw_value"> + <field name="function"/> + </t> </div> <div class="oe_kanban_title3"> <i><field name="email"/> From f4a91d5d21983d775babdc55d2fe36f97b527037 Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Fri, 24 Feb 2012 12:46:35 +0530 Subject: [PATCH 027/313] [IMP] base/res_partner_demo.xml change bzr revid: kjo@tinyerp.com-20120224071635-1lw946hbfdyv45cw --- openerp/addons/base/res/res_partner_demo.xml | 44 ++++++++++++++++---- openerp/addons/base/res/res_partner_view.xml | 2 +- 2 files changed, 36 insertions(+), 10 deletions(-) diff --git a/openerp/addons/base/res/res_partner_demo.xml b/openerp/addons/base/res/res_partner_demo.xml index 0b36f2aac50..c794a821ca6 100644 --- a/openerp/addons/base/res/res_partner_demo.xml +++ b/openerp/addons/base/res/res_partner_demo.xml @@ -93,50 +93,60 @@ <field eval="[(6, 0, [ref('res_partner_category_9')])]" name="category_id"/> <field name="supplier">1</field> <field eval="0" name="customer"/> + <field eval="1" name="is_company"/> <field name="website">www.asustek.com</field> </record> <record id="res_partner_agrolait" model="res.partner"> <field name="name">Agrolait</field> <field eval="[(6, 0, [ref('base.res_partner_category_0')])]" name="category_id"/> + <field eval="1" name="is_company"/> <field name="website">www.agrolait.com</field> </record> <record id="res_partner_c2c" model="res.partner"> <field name="name">Camptocamp</field> <field eval="[(6, 0, [ref('res_partner_category_10'), ref('res_partner_category_5')])]" name="category_id"/> + <field eval="1" name="is_company"/> <field name="supplier">1</field> <field name="website">www.camptocamp.com</field> </record> <record id="res_partner_sednacom" model="res.partner"> <field name="website">www.syleam.fr</field> <field name="name">Syleam</field> + <field eval="1" name="is_company"/> <field eval="[(6, 0, [ref('res_partner_category_5')])]" name="category_id"/> </record> <record id="res_partner_thymbra" model="res.partner"> <field name="name">SmartBusiness</field> + <field eval="1" name="is_company"/> <field eval="[(6, 0, [ref('res_partner_category_4')])]" name="category_id"/> </record> <record id="res_partner_desertic_hispafuentes" model="res.partner"> <field name="name">Axelor</field> + <field eval="1" name="is_company"/> <field eval="[(6, 0, [ref('res_partner_category_4')])]" name="category_id"/> <field name="supplier">1</field> <field name="website">www.axelor.com/</field> </record> <record id="res_partner_tinyatwork" model="res.partner"> <field name="name">Tiny AT Work</field> + <field eval="1" name="is_company"/> <field eval="[(6, 0, [ref('res_partner_category_5'), ref('res_partner_category_10')])]" name="category_id"/> <field name="website">www.tinyatwork.com/</field> </record> <record id="res_partner_2" model="res.partner"> <field name="name">Bank Wealthy and sons</field> + <field eval="1" name="is_company"/> <field name="website">www.wealthyandsons.com/</field> </record> <record id="res_partner_3" model="res.partner"> <field name="name">China Export</field> + <field eval="1" name="is_company"/> <field eval="[(6, 0, [ref('res_partner_category_9')])]" name="category_id"/> <field name="website">www.chinaexport.com/</field> </record> <record id="res_partner_4" model="res.partner"> <field name="name">Distrib PC</field> + <field eval="1" name="is_company"/> <field eval="[(6, 0, [ref('res_partner_category_9')])]" name="category_id"/> <field name="supplier">1</field> <field eval="0" name="customer"/> @@ -144,17 +154,20 @@ </record> <record id="res_partner_5" model="res.partner"> <field name="name">Ecole de Commerce de Liege</field> + <field eval="1" name="is_company"/> <field eval="[(6, 0, [ref('res_partner_category_1')])]" name="category_id"/> <field name="website">www.eci-liege.info//</field> </record> <record id="res_partner_6" model="res.partner"> <field name="name">Elec Import</field> + <field eval="1" name="is_company"/> <field eval="[(6, 0, [ref('res_partner_category_9')])]" name="category_id"/> <field name="supplier">1</field> <field eval="0" name="customer"/> </record> <record id="res_partner_maxtor" model="res.partner"> <field name="name">Maxtor</field> + <field eval="1" name="is_company"/> <field eval="32000.00" name="credit_limit"/> <field eval="[(6, 0, [ref('res_partner_category_9')])]" name="category_id"/> <field name="supplier">1</field> @@ -162,6 +175,7 @@ </record> <record id="res_partner_seagate" model="res.partner"> <field name="name">Seagate</field> + <field eval="1" name="is_company"/> <field eval="5000.00" name="credit_limit"/> <field eval="[(6, 0, [ref('res_partner_category_9')])]" name="category_id"/> <field name="supplier">1</field> @@ -169,27 +183,32 @@ <record id="res_partner_8" model="res.partner"> <field name="website">http://mediapole.net</field> <field name="name">Mediapole SPRL</field> + <field eval="1" name="is_company"/> <field eval="[(6, 0, [ref('res_partner_category_1')])]" name="category_id"/> </record> <record id="res_partner_9" model="res.partner"> <field name="website">www.balmerinc.com</field> <field name="name">BalmerInc S.A.</field> + <field eval="1" name="is_company"/> <field eval="12000.00" name="credit_limit"/> <field name="ref">or</field> <field eval="[(6, 0, [ref('res_partner_category_1')])]" name="category_id"/> </record> <record id="res_partner_10" model="res.partner"> <field name="name">Tecsas</field> + <field eval="1" name="is_company"/> <field name="ean13">3020170000003</field> <field eval="[(6, 0, [ref('res_partner_category_9')])]" name="category_id"/> </record> <record id="res_partner_11" model="res.partner"> <field name="name">Leclerc</field> + <field eval="1" name="is_company"/> <field eval="1200.00" name="credit_limit"/> <field eval="[(6, 0, [ref('res_partner_category_0')])]" name="category_id"/> </record> <record id="res_partner_14" model="res.partner"> <field name="name">Centrale d'achats BML</field> + <field eval="1" name="is_company"/> <field name="ean13">3020178572427</field> <field eval="15000.00" name="credit_limit"/> <field name="parent_id" ref="res_partner_10"/> @@ -197,6 +216,7 @@ </record> <record id="res_partner_15" model="res.partner"> <field name="name">Magazin BML 1</field> + <field eval="1" name="is_company"/> <field name="ean13">3020178570171</field> <field name="parent_id" ref="res_partner_14"/> <field eval="1500.00" name="credit_limit"/> @@ -204,6 +224,7 @@ </record> <record id="res_partner_accent" model="res.partner"> <field name="name">Université de Liège</field> + <field eval="1" name="is_company"/> <field eval="[(6, 0, [ref('res_partner_category_9')])]" name="category_id"/> <field name="website">http://www.ulg.ac.be/</field> </record> @@ -215,33 +236,36 @@ <record id="res_partner_duboissprl0" model="res.partner"> <field eval="'Sprl Dubois would like to sell our bookshelves but they have no storage location, so it would be exclusively on order'" name="comment"/> <field name="name">Dubois sprl</field> + <field eval="1" name="is_company"/> <field name="website">http://www.dubois.be/</field> </record> - <record id="res_partner_ericdubois0" model="res.partner"> + <!--record id="res_partner_ericdubois0" model="res.partner"> <field name="name">Eric Dubois</field> - </record> + </record--> - <record id="res_partner_fabiendupont0" model="res.partner"> + <!--record id="res_partner_fabiendupont0" model="res.partner"> <field name="name">Fabien Dupont</field> - </record> + </record--> <record id="res_partner_lucievonck0" model="res.partner"> <field name="name">Lucie Vonck</field> </record> - <record id="res_partner_notsotinysarl0" model="res.partner"> + <!--record id="res_partner_notsotinysarl0" model="res.partner"> <field name="name">NotSoTiny SARL</field> <field name="website">notsotiny.be</field> - </record> + </record--> <record id="res_partner_theshelvehouse0" model="res.partner"> <field name="name">The Shelve House</field> + <field eval="1" name="is_company"/> <field eval="[(6,0,[ref('res_partner_category_retailers0')])]" name="category_id"/> </record> <record id="res_partner_vickingdirect0" model="res.partner"> <field name="name">Vicking Direct</field> + <field eval="1" name="is_company"/> <field eval="[(6,0,[ref('res_partner_category_miscellaneoussuppliers0')])]" name="category_id"/> <field name="supplier">1</field> <field name="customer">0</field> @@ -250,6 +274,7 @@ <record id="res_partner_woodywoodpecker0" model="res.partner"> <field name="name">Wood y Wood Pecker</field> + <field eval="1" name="is_company"/> <field eval="[(6,0,[ref('res_partner_category_woodsuppliers0')])]" name="category_id"/> <field name="supplier">1</field> <field eval="0" name="customer"/> @@ -258,6 +283,7 @@ <record id="res_partner_zerooneinc0" model="res.partner"> <field name="name">ZeroOne Inc</field> + <field eval="1" name="is_company"/> <field eval="[(6,0,[ref('res_partner_category_consumers0')])]" name="category_id"/> <field name="website">http://www.zerooneinc.com/</field> </record> @@ -550,7 +576,7 @@ <field eval="'Namur'" name="city"/> <field eval="'NotSoTiny SARL'" name="name"/> <field eval="'5000'" name="zip"/> - <field name="parent_id" ref="res_partner_notsotinysarl0"/> + <!--field name="parent_id" ref="res_partner_notsotinysarl0"/--> <field name="country_id" ref="base.be"/> <field eval="'(+32).81.81.37.00'" name="phone"/> <field eval="'Rue du Nid 1'" name="street"/> @@ -638,7 +664,7 @@ <field eval="'Namur'" name="city"/> <field eval="'Fabien Dupont'" name="name"/> <field eval="'5000'" name="zip"/> - <field name="parent_id" ref="res_partner_fabiendupont0"/> + <!--field name="parent_id" ref="res_partner_fabiendupont0"/--> <field name="country_id" ref="base.be"/> <field eval="'Blvd Kennedy, 13'" name="street"/> </record> @@ -648,7 +674,7 @@ <field eval="'Mons'" name="city"/> <field eval="'Eric Dubois'" name="name"/> <field eval="'7000'" name="zip"/> - <field name="parent_id" ref="res_partner_ericdubois0"/> + <!--field name="parent_id" ref="res_partner_ericdubois0"/--> <field name="country_id" ref="base.be"/> <field eval="'Chaussée de Binche, 27'" name="street"/> <field eval="'e.dubois@gmail.com'" name="email"/> diff --git a/openerp/addons/base/res/res_partner_view.xml b/openerp/addons/base/res/res_partner_view.xml index c32095de646..a65244b5374 100644 --- a/openerp/addons/base/res/res_partner_view.xml +++ b/openerp/addons/base/res/res_partner_view.xml @@ -361,7 +361,7 @@ <separator string="Communication" colspan="4"/> <field name="lang" colspan="4"/> <field name="phone" colspan="4"/> - <field name="mobile" colspan="4" attrs="{'readonly': [('is_company','=', True)]}"/> + <field name="mobile" colspan="4"/> <field name="fax" colspan="4"/> <field name="email" widget="email" colspan="4"/> <field name="website" widget="url" colspan="4"/> From a7895adc862ade60b5bee98ae698477174888784 Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Fri, 24 Feb 2012 14:38:54 +0530 Subject: [PATCH 028/313] [IMP] res_partner: set domain on title field bzr revid: kjo@tinyerp.com-20120224090854-t2gq45iw4g2wjw5z --- openerp/addons/base/res/res_partner.py | 10 +++++++++- openerp/addons/base/res/res_partner_view.xml | 10 +++++----- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index 629766b29f4..c3b3015f8b3 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -155,7 +155,7 @@ class res_partner(osv.osv): 'fax': fields.char('Fax', size=64), 'mobile': fields.char('Mobile', size=64), 'birthdate': fields.char('Birthdate', size=64), - 'is_company': fields.boolean('Company', help="Check if the partner is a company, uncheck it for a person"), + 'is_company': fields.selection( [ ('contact','Person'),('partner','Company') ],'Partner Type', help="Select if the partner is a company or person"), 'use_parent_address': fields.boolean('Use Company Address', help="Check to use the company's address"), 'photo': fields.binary('Photo'), 'company_id': fields.many2one('res.company', 'Company', select=1), @@ -188,6 +188,14 @@ class res_partner(osv.osv): def do_share(self, cr, uid, ids, *args): return True + def onchange_type(self, cr, uid, ids, is_company, title, context=None): + if is_company == 'contact': + return {'value': {'is_company': is_company, 'title': ''}} + elif is_company == 'partner': + return {'value': {'is_company': is_company, 'title': ''}} + return {'value': {'is_comapny': '', 'title': ''}} + + def onchange_address(self, cr, uid, ids, use_parent_address, parent_id, context=None): if use_parent_address and parent_id: parent = self.browse(cr, uid, parent_id, context=context) diff --git a/openerp/addons/base/res/res_partner_view.xml b/openerp/addons/base/res/res_partner_view.xml index a65244b5374..cd70bf8295a 100644 --- a/openerp/addons/base/res/res_partner_view.xml +++ b/openerp/addons/base/res/res_partner_view.xml @@ -327,12 +327,11 @@ <group col="8" colspan="4"> <group col="2"> <field name="name"/> - <field name="parent_id" string="Company" attrs="{'invisible': [('is_company','=', True)]}"/> - <field name="function" attrs="{'invisible': [('is_company','=', True)]}"/> + <field name="parent_id" string="Company" attrs="{'invisible': [('is_company','=', 'partner')]}"/> </group> <group col="2"> - <field name="title" size="0" groups="base.group_extended"/> - <field name="is_company"/> + <field name="title" size="0" groups="base.group_extended" domain="[('domain', '=', is_company)]"/> + <field name="is_company" on_change="onchange_type(is_company, title)"/> </group> <group col="2"> <field name="customer"/> @@ -366,8 +365,9 @@ <field name="email" widget="email" colspan="4"/> <field name="website" widget="url" colspan="4"/> <field name="ref" groups="base.group_extended" colspan="4"/> + <field name="function" attrs="{'invisible': [('is_company','=', 'partner')]}" colspan="4"/> </group> - <group colspan="4" attrs="{'invisible': [('is_company','=', False)]}"> + <group colspan="4" attrs="{'invisible': [('is_company','!=', 'partner')]}"> <field name="child_ids" nolabel="1"/> </group> </page> From 508c4e83109d077d38461445274e797be3e6e4ac Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Fri, 24 Feb 2012 15:58:44 +0530 Subject: [PATCH 029/313] [IMP] set default value of contact type bzr revid: kjo@tinyerp.com-20120224102844-91a8jv3udzatfqfr --- openerp/addons/base/res/res_partner.py | 4 +- openerp/addons/base/res/res_partner_demo.xml | 52 ++++++++++---------- openerp/addons/base/res/res_partner_view.xml | 9 ++-- 3 files changed, 34 insertions(+), 31 deletions(-) diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index c3b3015f8b3..872910aaf95 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -155,7 +155,7 @@ class res_partner(osv.osv): 'fax': fields.char('Fax', size=64), 'mobile': fields.char('Mobile', size=64), 'birthdate': fields.char('Birthdate', size=64), - 'is_company': fields.selection( [ ('contact','Person'),('partner','Company') ],'Partner Type', help="Select if the partner is a company or person"), + 'is_company': fields.selection( [ ('contact','Person'),('partner','Company') ],'Contact Type', help="Select if the partner is a company or person"), 'use_parent_address': fields.boolean('Use Company Address', help="Check to use the company's address"), 'photo': fields.binary('Photo'), 'company_id': fields.many2one('res.company', 'Company', select=1), @@ -174,7 +174,7 @@ class res_partner(osv.osv): 'category_id': _default_category, 'company_id': lambda s,cr,uid,c: s.pool.get('res.company')._company_default_get(cr, uid, 'res.partner', context=c), 'color': 0, - 'is_company': False, + 'is_company': 'contact', 'type': 'default', } diff --git a/openerp/addons/base/res/res_partner_demo.xml b/openerp/addons/base/res/res_partner_demo.xml index c794a821ca6..017abc13e79 100644 --- a/openerp/addons/base/res/res_partner_demo.xml +++ b/openerp/addons/base/res/res_partner_demo.xml @@ -93,60 +93,60 @@ <field eval="[(6, 0, [ref('res_partner_category_9')])]" name="category_id"/> <field name="supplier">1</field> <field eval="0" name="customer"/> - <field eval="1" name="is_company"/> + <field name="is_company">partner</field> <field name="website">www.asustek.com</field> </record> <record id="res_partner_agrolait" model="res.partner"> <field name="name">Agrolait</field> <field eval="[(6, 0, [ref('base.res_partner_category_0')])]" name="category_id"/> - <field eval="1" name="is_company"/> + <field name="is_company">partner</field> <field name="website">www.agrolait.com</field> </record> <record id="res_partner_c2c" model="res.partner"> <field name="name">Camptocamp</field> <field eval="[(6, 0, [ref('res_partner_category_10'), ref('res_partner_category_5')])]" name="category_id"/> - <field eval="1" name="is_company"/> + <field name="is_company">partner</field> <field name="supplier">1</field> <field name="website">www.camptocamp.com</field> </record> <record id="res_partner_sednacom" model="res.partner"> <field name="website">www.syleam.fr</field> <field name="name">Syleam</field> - <field eval="1" name="is_company"/> + <field name="is_company">partner</field> <field eval="[(6, 0, [ref('res_partner_category_5')])]" name="category_id"/> </record> <record id="res_partner_thymbra" model="res.partner"> <field name="name">SmartBusiness</field> - <field eval="1" name="is_company"/> + <field name="is_company">partner</field> <field eval="[(6, 0, [ref('res_partner_category_4')])]" name="category_id"/> </record> <record id="res_partner_desertic_hispafuentes" model="res.partner"> <field name="name">Axelor</field> - <field eval="1" name="is_company"/> + <field name="is_company">partner</field> <field eval="[(6, 0, [ref('res_partner_category_4')])]" name="category_id"/> <field name="supplier">1</field> <field name="website">www.axelor.com/</field> </record> <record id="res_partner_tinyatwork" model="res.partner"> <field name="name">Tiny AT Work</field> - <field eval="1" name="is_company"/> + <field name="is_company">partner</field> <field eval="[(6, 0, [ref('res_partner_category_5'), ref('res_partner_category_10')])]" name="category_id"/> <field name="website">www.tinyatwork.com/</field> </record> <record id="res_partner_2" model="res.partner"> <field name="name">Bank Wealthy and sons</field> - <field eval="1" name="is_company"/> + <field name="is_company">partner</field> <field name="website">www.wealthyandsons.com/</field> </record> <record id="res_partner_3" model="res.partner"> <field name="name">China Export</field> - <field eval="1" name="is_company"/> + <field name="is_company">partner</field> <field eval="[(6, 0, [ref('res_partner_category_9')])]" name="category_id"/> <field name="website">www.chinaexport.com/</field> </record> <record id="res_partner_4" model="res.partner"> <field name="name">Distrib PC</field> - <field eval="1" name="is_company"/> + <field name="is_company">partner</field> <field eval="[(6, 0, [ref('res_partner_category_9')])]" name="category_id"/> <field name="supplier">1</field> <field eval="0" name="customer"/> @@ -154,20 +154,20 @@ </record> <record id="res_partner_5" model="res.partner"> <field name="name">Ecole de Commerce de Liege</field> - <field eval="1" name="is_company"/> + <field name="is_company">partner</field> <field eval="[(6, 0, [ref('res_partner_category_1')])]" name="category_id"/> <field name="website">www.eci-liege.info//</field> </record> <record id="res_partner_6" model="res.partner"> <field name="name">Elec Import</field> - <field eval="1" name="is_company"/> + <field name="is_company">partner</field> <field eval="[(6, 0, [ref('res_partner_category_9')])]" name="category_id"/> <field name="supplier">1</field> <field eval="0" name="customer"/> </record> <record id="res_partner_maxtor" model="res.partner"> <field name="name">Maxtor</field> - <field eval="1" name="is_company"/> + <field name="is_company">partner</field> <field eval="32000.00" name="credit_limit"/> <field eval="[(6, 0, [ref('res_partner_category_9')])]" name="category_id"/> <field name="supplier">1</field> @@ -175,7 +175,7 @@ </record> <record id="res_partner_seagate" model="res.partner"> <field name="name">Seagate</field> - <field eval="1" name="is_company"/> + <field name="is_company">partner</field> <field eval="5000.00" name="credit_limit"/> <field eval="[(6, 0, [ref('res_partner_category_9')])]" name="category_id"/> <field name="supplier">1</field> @@ -183,32 +183,32 @@ <record id="res_partner_8" model="res.partner"> <field name="website">http://mediapole.net</field> <field name="name">Mediapole SPRL</field> - <field eval="1" name="is_company"/> + <field name="is_company">partner</field> <field eval="[(6, 0, [ref('res_partner_category_1')])]" name="category_id"/> </record> <record id="res_partner_9" model="res.partner"> <field name="website">www.balmerinc.com</field> <field name="name">BalmerInc S.A.</field> - <field eval="1" name="is_company"/> + <field name="is_company">partner</field> <field eval="12000.00" name="credit_limit"/> <field name="ref">or</field> <field eval="[(6, 0, [ref('res_partner_category_1')])]" name="category_id"/> </record> <record id="res_partner_10" model="res.partner"> <field name="name">Tecsas</field> - <field eval="1" name="is_company"/> + <field name="is_company">partner</field> <field name="ean13">3020170000003</field> <field eval="[(6, 0, [ref('res_partner_category_9')])]" name="category_id"/> </record> <record id="res_partner_11" model="res.partner"> <field name="name">Leclerc</field> - <field eval="1" name="is_company"/> + <field name="is_company">partner</field> <field eval="1200.00" name="credit_limit"/> <field eval="[(6, 0, [ref('res_partner_category_0')])]" name="category_id"/> </record> <record id="res_partner_14" model="res.partner"> <field name="name">Centrale d'achats BML</field> - <field eval="1" name="is_company"/> + <field name="is_company">partner</field> <field name="ean13">3020178572427</field> <field eval="15000.00" name="credit_limit"/> <field name="parent_id" ref="res_partner_10"/> @@ -216,7 +216,7 @@ </record> <record id="res_partner_15" model="res.partner"> <field name="name">Magazin BML 1</field> - <field eval="1" name="is_company"/> + <field name="is_company">partner</field> <field name="ean13">3020178570171</field> <field name="parent_id" ref="res_partner_14"/> <field eval="1500.00" name="credit_limit"/> @@ -224,7 +224,7 @@ </record> <record id="res_partner_accent" model="res.partner"> <field name="name">Université de Liège</field> - <field eval="1" name="is_company"/> + <field name="is_company">partner</field> <field eval="[(6, 0, [ref('res_partner_category_9')])]" name="category_id"/> <field name="website">http://www.ulg.ac.be/</field> </record> @@ -236,7 +236,7 @@ <record id="res_partner_duboissprl0" model="res.partner"> <field eval="'Sprl Dubois would like to sell our bookshelves but they have no storage location, so it would be exclusively on order'" name="comment"/> <field name="name">Dubois sprl</field> - <field eval="1" name="is_company"/> + <field name="is_company">partner</field> <field name="website">http://www.dubois.be/</field> </record> @@ -259,13 +259,13 @@ <record id="res_partner_theshelvehouse0" model="res.partner"> <field name="name">The Shelve House</field> - <field eval="1" name="is_company"/> + <field name="is_company">partner</field> <field eval="[(6,0,[ref('res_partner_category_retailers0')])]" name="category_id"/> </record> <record id="res_partner_vickingdirect0" model="res.partner"> <field name="name">Vicking Direct</field> - <field eval="1" name="is_company"/> + <field name="is_company">partner</field> <field eval="[(6,0,[ref('res_partner_category_miscellaneoussuppliers0')])]" name="category_id"/> <field name="supplier">1</field> <field name="customer">0</field> @@ -274,7 +274,7 @@ <record id="res_partner_woodywoodpecker0" model="res.partner"> <field name="name">Wood y Wood Pecker</field> - <field eval="1" name="is_company"/> + <field name="is_company">partner</field> <field eval="[(6,0,[ref('res_partner_category_woodsuppliers0')])]" name="category_id"/> <field name="supplier">1</field> <field eval="0" name="customer"/> @@ -283,7 +283,7 @@ <record id="res_partner_zerooneinc0" model="res.partner"> <field name="name">ZeroOne Inc</field> - <field eval="1" name="is_company"/> + <field name="is_company">partner</field> <field eval="[(6,0,[ref('res_partner_category_consumers0')])]" name="category_id"/> <field name="website">http://www.zerooneinc.com/</field> </record> diff --git a/openerp/addons/base/res/res_partner_view.xml b/openerp/addons/base/res/res_partner_view.xml index cd70bf8295a..199baaaa2ee 100644 --- a/openerp/addons/base/res/res_partner_view.xml +++ b/openerp/addons/base/res/res_partner_view.xml @@ -345,9 +345,12 @@ <page string="General"> <group colspan="2"> <separator string="Address" colspan="4"/> - <field name="type" string="Type"/> - <field name="use_parent_address" attrs="{'invisible': [('parent_id', '=', False)]}" - on_change="onchange_address(use_parent_address, parent_id)"/> + <group colspan="2"> + <field name="type" string="Type" attrs="{'invisible': [('is_company','=', 'partner')]}"/> + </group> + <group colspan="2"> + <field name="use_parent_address" attrs="{'invisible': [('parent_id', '=', False)]}" on_change="onchange_address(use_parent_address, parent_id)"/> + </group> <newline/> <field name="street" colspan="4" attrs="{'readonly': [('use_parent_address','=', True)]}"/> <field name="street2" colspan="4" attrs="{'readonly': [('use_parent_address','=', True)]}"/> From fe8708ecfb0d807c375300f1f5c0abf59b6f402d Mon Sep 17 00:00:00 2001 From: "Bhumika (OpenERP)" <sbh@tinyerp.com> Date: Fri, 24 Feb 2012 19:09:08 +0530 Subject: [PATCH 030/313] [Fix]:base/res: Add backwards compatible for res.partner.address bzr revid: sbh@tinyerp.com-20120224133908-prvmlde4ivyz70zi --- openerp/addons/base/base_data.xml | 10 +- openerp/addons/base/res/res_partner.py | 30 +++ openerp/addons/base/res/res_partner_demo.xml | 218 ++++++++++--------- 3 files changed, 145 insertions(+), 113 deletions(-) diff --git a/openerp/addons/base/base_data.xml b/openerp/addons/base/base_data.xml index 70ade7133a9..525c7e2e334 100644 --- a/openerp/addons/base/base_data.xml +++ b/openerp/addons/base/base_data.xml @@ -1058,15 +1058,15 @@ <record id="main_partner" model="res.partner"> <field name="name">Your Company</field> <!-- Address and Company ID will be set later --> - <!--field name="address" eval="[]"/--> + <field name="address" eval="[]"/> <field name="company_id" eval="None"/> <field name="customer" eval="False"/> </record> - <!--record id="main_address" model="res.partner.address"> + <record id="main_address" model="res.partner.address"> <field name="partner_id" ref="main_partner"/> <field name="type">default</field> <field name="company_id" eval="None"/> - </record--> + </record> <!-- Currencies --> <record id="EUR" model="res.currency"> @@ -1102,9 +1102,9 @@ <record id="main_partner" model="res.partner"> <field name="company_id" ref="main_company"/> </record> - <!--record id="main_address" model="res.partner.address"> + <record id="main_address" model="res.partner.address"> <field name="company_id" ref="main_company"/> - </record--> + </record> <record id="EUR" model="res.currency"> <field name="company_id" ref="main_company"/> </record> diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index 872910aaf95..cef9ead8cf1 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -332,5 +332,35 @@ class res_partner(osv.osv): res_partner() +# Deprecated this feature +class res_partner_address(osv.osv): + _table = "res_partner" + _name = 'res.partner.address' + _order = 'type, name' + _columns = { + 'partner_id': fields.many2one('res.partner', 'Partner Name', ondelete='set null', select=True, help="Keep empty for a private address, not related to partner."), + 'type': fields.selection( [ ('default','Default'),('invoice','Invoice'), ('delivery','Delivery'), ('contact','Contact'), ('other','Other') ],'Address Type', help="Used to select automatically the right address according to the context in sales and purchases documents."), + 'function': fields.char('Function', size=128), + 'title': fields.many2one('res.partner.title','Title'), + 'name': fields.char('Contact Name', size=64, select=1), + 'street': fields.char('Street', size=128), + 'street2': fields.char('Street2', size=128), + 'zip': fields.char('Zip', change_default=True, size=24), + 'city': fields.char('City', size=128), + 'state_id': fields.many2one("res.country.state", 'Fed. State', domain="[('country_id','=',country_id)]"), + 'country_id': fields.many2one('res.country', 'Country'), + 'email': fields.char('E-Mail', size=240), + 'phone': fields.char('Phone', size=64), + 'fax': fields.char('Fax', size=64), + 'mobile': fields.char('Mobile', size=64), + 'birthdate': fields.char('Birthdate', size=64), + 'is_customer_add': fields.related('partner_id', 'customer', type='boolean', string='Customer'), + 'is_supplier_add': fields.related('partner_id', 'supplier', type='boolean', string='Supplier'), + 'active': fields.boolean('Active', help="Uncheck the active field to hide the contact."), +# 'company_id': fields.related('partner_id','company_id',type='many2one',relation='res.company',string='Company', store=True), + 'company_id': fields.many2one('res.company', 'Company',select=1), + 'color': fields.integer('Color Index'), + } +res_partner_address() # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/openerp/addons/base/res/res_partner_demo.xml b/openerp/addons/base/res/res_partner_demo.xml index 017abc13e79..d38a6a68511 100644 --- a/openerp/addons/base/res/res_partner_demo.xml +++ b/openerp/addons/base/res/res_partner_demo.xml @@ -93,139 +93,137 @@ <field eval="[(6, 0, [ref('res_partner_category_9')])]" name="category_id"/> <field name="supplier">1</field> <field eval="0" name="customer"/> - <field name="is_company">partner</field> + <field name="address" eval="[]"/> <field name="website">www.asustek.com</field> </record> <record id="res_partner_agrolait" model="res.partner"> <field name="name">Agrolait</field> <field eval="[(6, 0, [ref('base.res_partner_category_0')])]" name="category_id"/> - <field name="is_company">partner</field> + <field name="address" eval="[]"/> <field name="website">www.agrolait.com</field> </record> <record id="res_partner_c2c" model="res.partner"> <field name="name">Camptocamp</field> <field eval="[(6, 0, [ref('res_partner_category_10'), ref('res_partner_category_5')])]" name="category_id"/> - <field name="is_company">partner</field> <field name="supplier">1</field> + <field name="address" eval="[]"/> <field name="website">www.camptocamp.com</field> </record> <record id="res_partner_sednacom" model="res.partner"> <field name="website">www.syleam.fr</field> <field name="name">Syleam</field> - <field name="is_company">partner</field> <field eval="[(6, 0, [ref('res_partner_category_5')])]" name="category_id"/> + <field name="address" eval="[]"/> </record> <record id="res_partner_thymbra" model="res.partner"> <field name="name">SmartBusiness</field> - <field name="is_company">partner</field> <field eval="[(6, 0, [ref('res_partner_category_4')])]" name="category_id"/> </record> <record id="res_partner_desertic_hispafuentes" model="res.partner"> <field name="name">Axelor</field> - <field name="is_company">partner</field> <field eval="[(6, 0, [ref('res_partner_category_4')])]" name="category_id"/> <field name="supplier">1</field> + <field name="address" eval="[]"/> <field name="website">www.axelor.com/</field> </record> <record id="res_partner_tinyatwork" model="res.partner"> <field name="name">Tiny AT Work</field> - <field name="is_company">partner</field> <field eval="[(6, 0, [ref('res_partner_category_5'), ref('res_partner_category_10')])]" name="category_id"/> <field name="website">www.tinyatwork.com/</field> </record> <record id="res_partner_2" model="res.partner"> <field name="name">Bank Wealthy and sons</field> - <field name="is_company">partner</field> + <field name="address" eval="[]"/> <field name="website">www.wealthyandsons.com/</field> </record> <record id="res_partner_3" model="res.partner"> <field name="name">China Export</field> - <field name="is_company">partner</field> <field eval="[(6, 0, [ref('res_partner_category_9')])]" name="category_id"/> + <field name="address" eval="[]"/> <field name="website">www.chinaexport.com/</field> </record> <record id="res_partner_4" model="res.partner"> <field name="name">Distrib PC</field> - <field name="is_company">partner</field> <field eval="[(6, 0, [ref('res_partner_category_9')])]" name="category_id"/> <field name="supplier">1</field> <field eval="0" name="customer"/> + <field name="address" eval="[]"/> <field name="website">www.distribpc.com/</field> </record> <record id="res_partner_5" model="res.partner"> <field name="name">Ecole de Commerce de Liege</field> - <field name="is_company">partner</field> <field eval="[(6, 0, [ref('res_partner_category_1')])]" name="category_id"/> + <field name="address" eval="[]"/> <field name="website">www.eci-liege.info//</field> </record> <record id="res_partner_6" model="res.partner"> <field name="name">Elec Import</field> - <field name="is_company">partner</field> <field eval="[(6, 0, [ref('res_partner_category_9')])]" name="category_id"/> <field name="supplier">1</field> <field eval="0" name="customer"/> + <field name="address" eval="[]"/> </record> <record id="res_partner_maxtor" model="res.partner"> <field name="name">Maxtor</field> - <field name="is_company">partner</field> <field eval="32000.00" name="credit_limit"/> <field eval="[(6, 0, [ref('res_partner_category_9')])]" name="category_id"/> <field name="supplier">1</field> <field eval="0" name="customer"/> + <field name="address" eval="[]"/> </record> <record id="res_partner_seagate" model="res.partner"> <field name="name">Seagate</field> - <field name="is_company">partner</field> <field eval="5000.00" name="credit_limit"/> <field eval="[(6, 0, [ref('res_partner_category_9')])]" name="category_id"/> <field name="supplier">1</field> + <field name="address" eval="[]"/> </record> <record id="res_partner_8" model="res.partner"> <field name="website">http://mediapole.net</field> <field name="name">Mediapole SPRL</field> - <field name="is_company">partner</field> <field eval="[(6, 0, [ref('res_partner_category_1')])]" name="category_id"/> + <field name="address" eval="[]"/> </record> <record id="res_partner_9" model="res.partner"> <field name="website">www.balmerinc.com</field> <field name="name">BalmerInc S.A.</field> - <field name="is_company">partner</field> <field eval="12000.00" name="credit_limit"/> <field name="ref">or</field> <field eval="[(6, 0, [ref('res_partner_category_1')])]" name="category_id"/> + <field name="address" eval="[]"/> </record> <record id="res_partner_10" model="res.partner"> <field name="name">Tecsas</field> - <field name="is_company">partner</field> <field name="ean13">3020170000003</field> <field eval="[(6, 0, [ref('res_partner_category_9')])]" name="category_id"/> + <field name="address" eval="[]"/> </record> <record id="res_partner_11" model="res.partner"> <field name="name">Leclerc</field> - <field name="is_company">partner</field> <field eval="1200.00" name="credit_limit"/> <field eval="[(6, 0, [ref('res_partner_category_0')])]" name="category_id"/> + <field name="address" eval="[]"/> </record> <record id="res_partner_14" model="res.partner"> <field name="name">Centrale d'achats BML</field> - <field name="is_company">partner</field> <field name="ean13">3020178572427</field> <field eval="15000.00" name="credit_limit"/> <field name="parent_id" ref="res_partner_10"/> <field eval="[(6, 0, [ref('res_partner_category_11')])]" name="category_id"/> + <field name="address" eval="[]"/> </record> <record id="res_partner_15" model="res.partner"> <field name="name">Magazin BML 1</field> - <field name="is_company">partner</field> <field name="ean13">3020178570171</field> <field name="parent_id" ref="res_partner_14"/> <field eval="1500.00" name="credit_limit"/> <field eval="[(6, 0, [ref('res_partner_category_11')])]" name="category_id"/> + <field name="address" eval="[]"/> </record> <record id="res_partner_accent" model="res.partner"> <field name="name">Université de Liège</field> - <field name="is_company">partner</field> <field eval="[(6, 0, [ref('res_partner_category_9')])]" name="category_id"/> + <field name="address" eval="[]"/> <field name="website">http://www.ulg.ac.be/</field> </record> @@ -236,55 +234,59 @@ <record id="res_partner_duboissprl0" model="res.partner"> <field eval="'Sprl Dubois would like to sell our bookshelves but they have no storage location, so it would be exclusively on order'" name="comment"/> <field name="name">Dubois sprl</field> - <field name="is_company">partner</field> + <field name="address" eval="[]"/> <field name="website">http://www.dubois.be/</field> </record> - <!--record id="res_partner_ericdubois0" model="res.partner"> + <record id="res_partner_ericdubois0" model="res.partner"> <field name="name">Eric Dubois</field> - </record--> + <field name="address" eval="[]"/> + </record> - <!--record id="res_partner_fabiendupont0" model="res.partner"> + <record id="res_partner_fabiendupont0" model="res.partner"> <field name="name">Fabien Dupont</field> - </record--> + <field name="address" eval="[]"/> + </record> <record id="res_partner_lucievonck0" model="res.partner"> <field name="name">Lucie Vonck</field> + <field name="address" eval="[]"/> </record> - <!--record id="res_partner_notsotinysarl0" model="res.partner"> + <record id="res_partner_notsotinysarl0" model="res.partner"> <field name="name">NotSoTiny SARL</field> + <field name="address" eval="[]"/> <field name="website">notsotiny.be</field> - </record--> + </record> <record id="res_partner_theshelvehouse0" model="res.partner"> <field name="name">The Shelve House</field> - <field name="is_company">partner</field> <field eval="[(6,0,[ref('res_partner_category_retailers0')])]" name="category_id"/> + <field name="address" eval="[]"/> </record> <record id="res_partner_vickingdirect0" model="res.partner"> <field name="name">Vicking Direct</field> - <field name="is_company">partner</field> <field eval="[(6,0,[ref('res_partner_category_miscellaneoussuppliers0')])]" name="category_id"/> <field name="supplier">1</field> <field name="customer">0</field> + <field name="address" eval="[]"/> <field name="website">vicking-direct.be</field> </record> <record id="res_partner_woodywoodpecker0" model="res.partner"> <field name="name">Wood y Wood Pecker</field> - <field name="is_company">partner</field> <field eval="[(6,0,[ref('res_partner_category_woodsuppliers0')])]" name="category_id"/> <field name="supplier">1</field> <field eval="0" name="customer"/> + <field name="address" eval="[]"/> <field name="website">woodywoodpecker.com</field> </record> <record id="res_partner_zerooneinc0" model="res.partner"> <field name="name">ZeroOne Inc</field> - <field name="is_company">partner</field> <field eval="[(6,0,[ref('res_partner_category_consumers0')])]" name="category_id"/> + <field name="address" eval="[]"/> <field name="website">http://www.zerooneinc.com/</field> </record> @@ -292,7 +294,7 @@ Resource: res.partner.address --> - <record id="res_partner_address_1" model="res.partner"> + <record id="res_partner_address_1" model="res.partner.address"> <field name="city">Bruxelles</field> <field name="name">Michel Schumacher</field> <field name="zip">1000</field> @@ -301,9 +303,9 @@ <field name="phone">(+32)2 211 34 83</field> <field name="street">Rue des Palais 51, bte 33</field> <field name="type">default</field> - <field name="parent_id" ref="res_partner_9"/> + <field name="partner_id" ref="res_partner_9"/> </record> - <record id="res_partner_address_2" model="res.partner"> + <record id="res_partner_address_2" model="res.partner.address"> <field name="city">Avignon CEDEX 09</field> <field name="name">Laurent Jacot</field> <field name="zip">84911</field> @@ -312,9 +314,9 @@ <field name="phone">(+33)4.32.74.10.57</field> <field name="street">85 rue du traite de Rome</field> <field name="type">default</field> - <field name="parent_id" ref="res_partner_10"/> + <field name="partner_id" ref="res_partner_10"/> </record> - <record id="res_partner_address_3000" model="res.partner"> + <record id="res_partner_address_3000" model="res.partner.address"> <field name="city">Champs sur Marne</field> <field name="name">Laith Jubair</field> <field name="zip">77420</field> @@ -323,18 +325,18 @@ <field name="phone">+33 1 64 61 04 01</field> <field name="street">12 rue Albert Einstein</field> <field name="type">default</field> - <field name="parent_id" ref="res_partner_desertic_hispafuentes"/> + <field name="partner_id" ref="res_partner_desertic_hispafuentes"/> </record> - <record id="res_partner_address_3" model="res.partner"> + <record id="res_partner_address_3" model="res.partner.address"> <field name="city">Louvain-la-Neuve</field> <field name="name">Thomas Passot</field> <field name="zip">1348</field> <field model="res.country" name="country_id" search="[('name','=','Belgium')]"/> <field name="phone">(+32).10.45.17.73</field> <field name="street">Rue de l'Angelique, 1</field> - <field name="parent_id" ref="res_partner_8"/> + <field name="partner_id" ref="res_partner_8"/> </record> - <record id="res_partner_address_tang" model="res.partner"> + <record id="res_partner_address_tang" model="res.partner.address"> <field name="city">Taiwan</field> <field name="name">Tang</field> <field name="zip">23410</field> @@ -343,9 +345,9 @@ <field name="email">info@asustek.com</field> <field name="phone">+ 1 64 61 04 01</field> <field name="type">default</field> - <field name="parent_id" ref="res_partner_asus"/> + <field name="partner_id" ref="res_partner_asus"/> </record> - <record id="res_partner_address_wong" model="res.partner"> + <record id="res_partner_address_wong" model="res.partner.address"> <field name="city">Hong Kong</field> <field name="name">Wong</field> <field name="zip">23540</field> @@ -354,9 +356,9 @@ <field name="email">info@maxtor.com</field> <field name="phone">+ 11 8528 456 789</field> <field name="type">default</field> - <field name="parent_id" ref="res_partner_maxtor"/> + <field name="partner_id" ref="res_partner_maxtor"/> </record> - <record id="res_partner_address_6" model="res.partner"> + <record id="res_partner_address_6" model="res.partner.address"> <field name="city">Brussels</field> <field name="name">Etienne Lacarte</field> <field name="zip">2365</field> @@ -365,9 +367,9 @@ <field name="type">default</field> <field name="email">info@elecimport.com</field> <field name="phone">+ 32 025 897 456</field> - <field name="parent_id" ref="res_partner_6"/> + <field name="partner_id" ref="res_partner_6"/> </record> - <record id="res_partner_address_7" model="res.partner"> + <record id="res_partner_address_7" model="res.partner.address"> <field name="city">Namur</field> <field name="name">Jean Guy Lavente</field> <field name="zip">2541</field> @@ -376,9 +378,9 @@ <field name="type">default</field> <field name="email">info@distribpc.com</field> <field name="phone">+ 32 081256987</field> - <field name="parent_id" ref="res_partner_4"/> + <field name="partner_id" ref="res_partner_4"/> </record> - <record id="res_partner_address_8" model="res.partner"> + <record id="res_partner_address_8" model="res.partner.address"> <field name="city">Wavre</field> <field name="name">Sylvie Lelitre</field> <field name="zip">5478</field> @@ -387,10 +389,10 @@ <field name="type">default</field> <field name="email">s.l@agrolait.be</field> <field name="phone">003281588558</field> - <field name="parent_id" ref="res_partner_agrolait"/> + <field name="partner_id" ref="res_partner_agrolait"/> <field name="title" ref="base.res_partner_title_madam"/> </record> - <record id="res_partner_address_8delivery" model="res.partner"> + <record id="res_partner_address_8delivery" model="res.partner.address"> <field name="city">Wavre</field> <field name="name">Paul Lelitre</field> <field name="zip">5478</field> @@ -399,10 +401,10 @@ <field name="type">delivery</field> <field name="email">p.l@agrolait.be</field> <field name="phone">003281588557</field> - <field name="parent_id" ref="res_partner_agrolait"/> + <field name="partner_id" ref="res_partner_agrolait"/> <field name="title" ref="base.res_partner_title_sir"/> </record> - <record id="res_partner_address_8invoice" model="res.partner"> + <record id="res_partner_address_8invoice" model="res.partner.address"> <field name="city">Wavre</field> <field name="name">Serge Lelitre</field> <field name="zip">5478</field> @@ -411,10 +413,10 @@ <field name="type">invoice</field> <field name="email">serge.l@agrolait.be</field> <field name="phone">003281588556</field> - <field name="parent_id" ref="res_partner_agrolait"/> + <field name="partner_id" ref="res_partner_agrolait"/> <field name="title" ref="base.res_partner_title_sir"/> </record> - <record id="res_partner_address_9" model="res.partner"> + <record id="res_partner_address_9" model="res.partner.address"> <field name="city">Paris</field> <field name="name">Arthur Grosbonnet</field> <field name="zip">75016</field> @@ -423,10 +425,10 @@ <field name="type">default</field> <field name="email">a.g@wealthyandsons.com</field> <field name="phone">003368978776</field> - <field name="parent_id" ref="res_partner_2"/> + <field name="partner_id" ref="res_partner_2"/> <field name="title" ref="base.res_partner_title_sir"/> </record> - <record id="res_partner_address_11" model="res.partner"> + <record id="res_partner_address_11" model="res.partner.address"> <field name="city">Alencon</field> <field name="name">Sebastien LANGE</field> <field name="zip">61000</field> @@ -435,9 +437,9 @@ <field name="phone">+33 (0) 2 33 31 22 10</field> <field model="res.country" name="country_id" search="[('name','=','France')]"/> <field name="type">default</field> - <field name="parent_id" ref="res_partner_sednacom"/> + <field name="partner_id" ref="res_partner_sednacom"/> </record> - <record id="res_partner_address_10" model="res.partner"> + <record id="res_partner_address_10" model="res.partner.address"> <field name="city">Liege</field> <field name="name">Karine Lesbrouffe</field> <field name="zip">6985</field> @@ -446,9 +448,9 @@ <field name="email">k.lesbrouffe@eci-liege.info</field> <field name="phone">+32 421 52571</field> <field name="type">default</field> - <field name="parent_id" ref="res_partner_5"/> + <field name="partner_id" ref="res_partner_5"/> </record> - <record id="res_partner_address_zen" model="res.partner"> + <record id="res_partner_address_zen" model="res.partner.address"> <field name="city">Shanghai</field> <field name="name">Zen</field> <field name="zip">478552</field> @@ -457,9 +459,9 @@ <field name="type">default</field> <field name="email">zen@chinaexport.com</field> <field name="phone">+86-751-64845671</field> - <field name="parent_id" ref="res_partner_3"/> + <field name="partner_id" ref="res_partner_3"/> </record> - <record id="res_partner_address_12" model="res.partner"> + <record id="res_partner_address_12" model="res.partner.address"> <field name="type">default</field> <field name="city">Grenoble</field> <field name="name">Loïc Dupont</field> @@ -469,9 +471,9 @@ <field name="type">default</field> <field name="email">l.dupont@tecsas.fr</field> <field name="phone">+33-658-256545</field> - <field name="parent_id" ref="res_partner_10"/> + <field name="partner_id" ref="res_partner_10"/> </record> - <record id="res_partner_address_13" model="res.partner"> + <record id="res_partner_address_13" model="res.partner.address"> <field name="type">default</field> <field name="name">Carl François</field> <field name="city">Bruxelles</field> @@ -480,9 +482,9 @@ <field name="street">89 Chaussée de Waterloo</field> <field name="email">carl.françois@bml.be</field> <field name="phone">+32-258-256545</field> - <field name="parent_id" ref="res_partner_14"/> + <field name="partner_id" ref="res_partner_14"/> </record> - <record id="res_partner_address_14" model="res.partner"> + <record id="res_partner_address_14" model="res.partner.address"> <field name="type">default</field> <field name="name">Lucien Ferguson</field> <field name="street">89 Chaussée de Liège</field> @@ -490,9 +492,9 @@ <field name="zip">5000</field> <field name="email">lucien.ferguson@bml.be</field> <field name="phone">+32-621-568978</field> - <field name="parent_id" ref="res_partner_15"/> + <field name="partner_id" ref="res_partner_15"/> </record> - <record id="res_partner_address_15" model="res.partner"> + <record id="res_partner_address_15" model="res.partner.address"> <field name="type">default</field> <field name="name">Marine Leclerc</field> <field name="street">rue Grande</field> @@ -500,9 +502,9 @@ <field name="zip">29200</field> <field name="email">marine@leclerc.fr</field> <field name="phone">+33-298.334558</field> - <field name="parent_id" ref="res_partner_11"/> + <field name="partner_id" ref="res_partner_11"/> </record> - <record id="res_partner_address_16" model="res.partner"> + <record id="res_partner_address_16" model="res.partner.address"> <field name="type">invoice</field> <field name="name">Claude Leclerc</field> <field name="street">rue Grande</field> @@ -510,10 +512,10 @@ <field name="zip">29200</field> <field name="email">claude@leclerc.fr</field> <field name="phone">+33-298.334598</field> - <field name="parent_id" ref="res_partner_11"/> + <field name="partner_id" ref="res_partner_11"/> </record> - <record id="res_partner_address_accent" model="res.partner"> + <record id="res_partner_address_accent" model="res.partner.address"> <field name="type">default</field> <field name="name">Martine Ohio</field> <field name="street">Place du 20Août</field> @@ -521,9 +523,9 @@ <field name="zip">4000</field> <field name="email">martine.ohio@ulg.ac.be</field> <field name="phone">+32-45895245</field> - <field name="parent_id" ref="res_partner_accent"/> + <field name="partner_id" ref="res_partner_accent"/> </record> - <record id="res_partner_address_Camptocamp" model="res.partner"> + <record id="res_partner_address_Camptocamp" model="res.partner.address"> <field name="city">Lausanne</field> <field name="name">Luc Maurer</field> <field name="zip">1015</field> @@ -531,9 +533,9 @@ <field model="res.country" name="country_id" search="[('name','=','Switzerland')]"/> <field name="street">PSE-A, EPFL </field> <field name="type">default</field> - <field name="parent_id" ref="res_partner_c2c"/> + <field name="partner_id" ref="res_partner_c2c"/> </record> - <record id="res_partner_address_seagate" model="res.partner"> + <record id="res_partner_address_seagate" model="res.partner.address"> <field name="city">Cupertino</field> <field name="name">Seagate Technology</field> <field name="zip">95014</field> @@ -542,9 +544,9 @@ <field name="email">info@seagate.com</field> <field name="phone">+1 408 256987</field> <field name="type">default</field> - <field name="parent_id" ref="res_partner_seagate"/> + <field name="partner_id" ref="res_partner_seagate"/> </record> - <record id="res_partner_address_thymbra" model="res.partner"> + <record id="res_partner_address_thymbra" model="res.partner.address"> <field name="city">Buenos Aires</field> <field name="name">Jack Daniels</field> <field name="zip">1659</field> @@ -554,9 +556,9 @@ <field name="phone">(5411) 4773-9666 </field> <field model="res.country" name="country_id" search="[('name','=','Argentina')]"/> <field name="type">default</field> - <field name="parent_id" ref="res_partner_thymbra"/> + <field name="partner_id" ref="res_partner_thymbra"/> </record> - <record id="res_partner_address_tinyatwork" model="res.partner"> + <record id="res_partner_address_tinyatwork" model="res.partner.address"> <field name="city">Boston</field> <field name="name">Tiny Work</field> <field name="zip">5501</field> @@ -565,18 +567,18 @@ <field model="res.country" name="country_id" search="[('name','=','United States')]"/> <field name="street">One Lincoln Street</field> <field name="type">default</field> - <field name="parent_id" ref="res_partner_tinyatwork"/> + <field name="partner_id" ref="res_partner_tinyatwork"/> </record> <!-- Resource: res.partner.address for Training --> - <record id="res_partner_address_notsotinysarl0" model="res.partner"> + <record id="res_partner_address_notsotinysarl0" model="res.partner.address"> <field eval="'Namur'" name="city"/> <field eval="'NotSoTiny SARL'" name="name"/> <field eval="'5000'" name="zip"/> - <!--field name="parent_id" ref="res_partner_notsotinysarl0"/--> + <field name="partner_id" ref="res_partner_notsotinysarl0"/> <field name="country_id" ref="base.be"/> <field eval="'(+32).81.81.37.00'" name="phone"/> <field eval="'Rue du Nid 1'" name="street"/> @@ -584,42 +586,42 @@ </record> - <record id="res_partner_address_henrychard0" model="res.partner"> + <record id="res_partner_address_henrychard0" model="res.partner.address"> <field eval="'Paris'" name="city"/> <field eval="'Henry Chard'" name="name"/> <field name="country_id" ref="base.fr"/> </record> - <record id="res_partner_address_geoff0" model="res.partner"> + <record id="res_partner_address_geoff0" model="res.partner.address"> <field eval="'Brussels'" name="city"/> <field eval="'Geoff'" name="name"/> <field name="country_id" ref="base.be"/> </record> - <record id="res_partner_address_rogerpecker0" model="res.partner"> + <record id="res_partner_address_rogerpecker0" model="res.partner.address"> <field eval="'Kainuu'" name="city"/> <field eval="'Roger Pecker'" name="name"/> <field name="country_id" ref="base.fi"/> </record> - <!--record id="res_partner_address_0" model="res.partner"> + <record id="res_partner_address_0" model="res.partner.address"> <field eval="'Brussels'" name="city"/> <field name="country_id" ref="base.be"/> - </record--> + </record> - <record id="res_partner_address_henrychard1" model="res.partner"> + <record id="res_partner_address_henrychard1" model="res.partner.address"> <field eval="'Paris'" name="city"/> <field eval="'Henry Chard'" name="name"/> - <field name="parent_id" ref="res_partner_theshelvehouse0"/> + <field name="partner_id" ref="res_partner_theshelvehouse0"/> <field name="country_id" ref="base.fr"/> </record> - <record id="res_partner_address_brussels0" model="res.partner"> + <record id="res_partner_address_brussels0" model="res.partner.address"> <field eval="'Brussels'" name="city"/> <field eval="'Leen Vandenloep'" name="name"/> <field eval="'Puurs'" name="city"/> @@ -627,54 +629,54 @@ <field name="country_id" ref="base.be"/> <field eval="'(+32).70.12.85.00'" name="phone"/> <field eval="'Schoonmansveld 28'" name="street"/> - <field name="parent_id" ref="res_partner_vickingdirect0"/> + <field name="partner_id" ref="res_partner_vickingdirect0"/> <field name="country_id" ref="base.be"/> </record> - <record id="res_partner_address_rogerpecker1" model="res.partner"> + <record id="res_partner_address_rogerpecker1" model="res.partner.address"> <field eval="'Kainuu'" name="city"/> <field eval="'Roger Pecker'" name="name"/> - <field name="parent_id" ref="res_partner_woodywoodpecker0"/> + <field name="partner_id" ref="res_partner_woodywoodpecker0"/> <field eval="'(+358).9.589 689'" name="phone"/> <field name="country_id" ref="base.fi"/> </record> - <record id="res_partner_address_geoff1" model="res.partner"> + <record id="res_partner_address_geoff1" model="res.partner.address"> <field eval="'Brussels'" name="city"/> <field eval="'Geoff'" name="name"/> - <field name="parent_id" ref="res_partner_zerooneinc0"/> + <field name="partner_id" ref="res_partner_zerooneinc0"/> <field name="country_id" ref="base.be"/> </record> - <record id="res_partner_address_marcdubois0" model="res.partner"> + <record id="res_partner_address_marcdubois0" model="res.partner.address"> <field eval="'Brussels'" name="city"/> <field eval="'Marc Dubois'" name="name"/> <field eval="'1000'" name="zip"/> - <field name="parent_id" ref="res_partner_duboissprl0"/> + <field name="partner_id" ref="res_partner_duboissprl0"/> <field name="country_id" ref="base.be"/> <field eval="'Avenue de la Liberté 56'" name="street"/> <field eval="'m.dubois@dubois.be'" name="email"/> </record> - <record id="res_partner_address_fabiendupont0" model="res.partner"> + <record id="res_partner_address_fabiendupont0" model="res.partner.address"> <field eval="'Namur'" name="city"/> <field eval="'Fabien Dupont'" name="name"/> <field eval="'5000'" name="zip"/> - <!--field name="parent_id" ref="res_partner_fabiendupont0"/--> + <field name="partner_id" ref="res_partner_fabiendupont0"/> <field name="country_id" ref="base.be"/> <field eval="'Blvd Kennedy, 13'" name="street"/> </record> - <record id="res_partner_address_ericdubois0" model="res.partner"> + <record id="res_partner_address_ericdubois0" model="res.partner.address"> <field eval="'Mons'" name="city"/> <field eval="'Eric Dubois'" name="name"/> <field eval="'7000'" name="zip"/> - <!--field name="parent_id" ref="res_partner_ericdubois0"/--> + <field name="partner_id" ref="res_partner_ericdubois0"/> <field name="country_id" ref="base.be"/> <field eval="'Chaussée de Binche, 27'" name="street"/> <field eval="'e.dubois@gmail.com'" name="email"/> @@ -682,23 +684,23 @@ </record> - <!--record id="res_partner_address_notsotinysarl1" model="res.partner"> + <record id="res_partner_address_notsotinysarl1" model="res.partner.address"> <field eval="'Antwerpen'" name="city"/> <field eval="'2000'" name="zip"/> - <field name="parent_id" ref="res_partner_notsotinysarl0"/> + <field name="partner_id" ref="res_partner_notsotinysarl0"/> <field name="country_id" ref="base.be"/> <field eval="'Antwerpsesteenweg 254'" name="street"/> <field eval="'invoice'" name="type"/> </record> - <record id="res_partner_address_4" model="res.partner"> + <record id="res_partner_address_4" model="res.partner.address"> <field eval="'Grand-Rosière'" name="city"/> <field eval="'1367'" name="zip"/> - <field name="parent_id" ref="res_partner_lucievonck0"/> + <field name="partner_id" ref="res_partner_lucievonck0"/> <field name="country_id" ref="base.be"/> <field eval="'Chaussée de Namur'" name="street"/> - </record--> + </record> <!-- From ab7a5b16c9be8d9f57c280ad3da9fabcdc0f521e Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Mon, 27 Feb 2012 12:34:05 +0530 Subject: [PATCH 031/313] [IMP] res_partner: domain on parent_id field bzr revid: kjo@tinyerp.com-20120227070405-dnntj5ekk9x6plca --- openerp/addons/base/res/res_partner.py | 3 ++- openerp/addons/base/res/res_partner_view.xml | 22 ++++++++++---------- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index cef9ead8cf1..ff856be0cb8 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -17,7 +17,7 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # -############################################################################## +########################################################################onchange_address###### import math @@ -197,6 +197,7 @@ class res_partner(osv.osv): def onchange_address(self, cr, uid, ids, use_parent_address, parent_id, context=None): + print "\n =-=-=-=-=->>", parent_id, use_parent_address if use_parent_address and parent_id: parent = self.browse(cr, uid, parent_id, context=context) return {'value': { diff --git a/openerp/addons/base/res/res_partner_view.xml b/openerp/addons/base/res/res_partner_view.xml index 199baaaa2ee..b04954195c2 100644 --- a/openerp/addons/base/res/res_partner_view.xml +++ b/openerp/addons/base/res/res_partner_view.xml @@ -326,13 +326,14 @@ <form string="Partners"> <group col="8" colspan="4"> <group col="2"> - <field name="name"/> - <field name="parent_id" string="Company" attrs="{'invisible': [('is_company','=', 'partner')]}"/> + <field name="is_company" on_change="onchange_type(is_company, title)"/> + <field name="function" attrs="{'invisible': [('is_company','=', 'partner')]}" colspan="2"/> </group> <group col="2"> - <field name="title" size="0" groups="base.group_extended" domain="[('domain', '=', is_company)]"/> - <field name="is_company" on_change="onchange_type(is_company, title)"/> + <field name="name"/> + <field name="parent_id" string="Company" attrs="{'invisible': [('is_company','=', 'partner')]}" domain="[('is_company', '=', 'partner')]" context="{'default_is_company': 'partner'}" on_change="onchange_address(use_parent_address, parent_id)"/> </group> + <field name="title" size="0" groups="base.group_extended" domain="[('domain', '=', is_company)]"/> <group col="2"> <field name="customer"/> <field name="supplier"/> @@ -352,12 +353,12 @@ <field name="use_parent_address" attrs="{'invisible': [('parent_id', '=', False)]}" on_change="onchange_address(use_parent_address, parent_id)"/> </group> <newline/> - <field name="street" colspan="4" attrs="{'readonly': [('use_parent_address','=', True)]}"/> - <field name="street2" colspan="4" attrs="{'readonly': [('use_parent_address','=', True)]}"/> - <field name="zip" attrs="{'readonly': [('use_parent_address','=', True)]}"/> - <field name="city" attrs="{'readonly': [('use_parent_address','=', True)]}"/> - <field name="country_id" completion="1" attrs="{'readonly': [('use_parent_address','=', True)]}"/> - <field name="state_id" attrs="{'readonly': [('use_parent_address','=', True)]}"/> + <field name="street" colspan="4"/> + <field name="street2" colspan="4"/> + <field name="zip"/> + <field name="city"/> + <field name="country_id"/> + <field name="state_id"/> </group> <group colspan="2"> <separator string="Communication" colspan="4"/> @@ -368,7 +369,6 @@ <field name="email" widget="email" colspan="4"/> <field name="website" widget="url" colspan="4"/> <field name="ref" groups="base.group_extended" colspan="4"/> - <field name="function" attrs="{'invisible': [('is_company','=', 'partner')]}" colspan="4"/> </group> <group colspan="4" attrs="{'invisible': [('is_company','!=', 'partner')]}"> <field name="child_ids" nolabel="1"/> From aaab31453e619f04faf94408cf50cfeeebdc20a2 Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Mon, 27 Feb 2012 12:35:28 +0530 Subject: [PATCH 032/313] [IMP] res_partner: remove print statement bzr revid: kjo@tinyerp.com-20120227070528-pgoon7kdnlr83kz5 --- openerp/addons/base/res/res_partner.py | 1 - 1 file changed, 1 deletion(-) diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index ff856be0cb8..fcfffabf9d7 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -197,7 +197,6 @@ class res_partner(osv.osv): def onchange_address(self, cr, uid, ids, use_parent_address, parent_id, context=None): - print "\n =-=-=-=-=->>", parent_id, use_parent_address if use_parent_address and parent_id: parent = self.browse(cr, uid, parent_id, context=context) return {'value': { From d4ae852caa647f55dc0592ada5a04bf72ba95bcd Mon Sep 17 00:00:00 2001 From: "Bhumika (OpenERP)" <sbh@tinyerp.com> Date: Mon, 27 Feb 2012 12:35:28 +0530 Subject: [PATCH 033/313] [Fix]base/res: Fix the address get method bzr revid: sbh@tinyerp.com-20120227070528-t8ewhheaxy63c9qe --- openerp/addons/base/res/res_partner.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index fcfffabf9d7..70ac3cf9e9f 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -282,9 +282,11 @@ class res_partner(osv.osv): adr_pref = ['default'] # retrieve addresses from the partner itself and its children res = [] - for p in self.browse(cr, uid, ids, context): - res.append((p.type, p.id)) - res.extend((c.type, c.id) for c in p.child_ids) + # need to fix the ids ,It get False value in list like ids[False] + if ids and ids[0]!=False: + for p in self.browse(cr, uid, ids): + res.append((p.type, p.id)) + res.extend((c.type, c.id) for c in p.child_ids) addr = dict(reversed(res)) # get the id of the (first) default address if there is one, # otherwise get the id of the first address in the list From cf495b04e8b36b2884aae578be5fecbf4fdba582 Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Mon, 27 Feb 2012 12:39:20 +0530 Subject: [PATCH 034/313] [IMP] res_partner: change the view bzr revid: kjo@tinyerp.com-20120227070920-x3y0n882p2de41hh --- openerp/addons/base/res/res_partner_view.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openerp/addons/base/res/res_partner_view.xml b/openerp/addons/base/res/res_partner_view.xml index b04954195c2..b30bd49ac82 100644 --- a/openerp/addons/base/res/res_partner_view.xml +++ b/openerp/addons/base/res/res_partner_view.xml @@ -328,12 +328,12 @@ <group col="2"> <field name="is_company" on_change="onchange_type(is_company, title)"/> <field name="function" attrs="{'invisible': [('is_company','=', 'partner')]}" colspan="2"/> + <field name="title" size="0" groups="base.group_extended" domain="[('domain', '=', is_company)]"/> </group> <group col="2"> <field name="name"/> <field name="parent_id" string="Company" attrs="{'invisible': [('is_company','=', 'partner')]}" domain="[('is_company', '=', 'partner')]" context="{'default_is_company': 'partner'}" on_change="onchange_address(use_parent_address, parent_id)"/> </group> - <field name="title" size="0" groups="base.group_extended" domain="[('domain', '=', is_company)]"/> <group col="2"> <field name="customer"/> <field name="supplier"/> From 4bbe96a3543d7c49fc09a9a19dcd1e236b4b65ba Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Mon, 27 Feb 2012 13:03:13 +0530 Subject: [PATCH 035/313] [IMP] res_partner: set domain on use_parent_address field bzr revid: kjo@tinyerp.com-20120227073313-q680c9bu12pjqjlj --- openerp/addons/base/res/res_partner_view.xml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/openerp/addons/base/res/res_partner_view.xml b/openerp/addons/base/res/res_partner_view.xml index b30bd49ac82..f2ae93eeb34 100644 --- a/openerp/addons/base/res/res_partner_view.xml +++ b/openerp/addons/base/res/res_partner_view.xml @@ -348,9 +348,7 @@ <separator string="Address" colspan="4"/> <group colspan="2"> <field name="type" string="Type" attrs="{'invisible': [('is_company','=', 'partner')]}"/> - </group> - <group colspan="2"> - <field name="use_parent_address" attrs="{'invisible': [('parent_id', '=', False)]}" on_change="onchange_address(use_parent_address, parent_id)"/> + <field name="use_parent_address" attrs="{'invisible': ['|', ('is_company','=', 'partner'), ('parent_id', '=', False)]}" on_change="onchange_address(use_parent_address, parent_id)"/> </group> <newline/> <field name="street" colspan="4"/> From d39fca9edd4054f0870362ac6a175d28bcea96a0 Mon Sep 17 00:00:00 2001 From: "Bhumika (OpenERP)" <sbh@tinyerp.com> Date: Mon, 27 Feb 2012 14:00:38 +0530 Subject: [PATCH 036/313] [REM]: remove base_address module bzr revid: sbh@tinyerp.com-20120227083038-s8cli99znrggf7bu --- addons/base_address/__init__.py | 24 ----------------- addons/base_address/__openerp__.py | 42 ----------------------------- addons/base_address/base_address.py | 29 -------------------- 3 files changed, 95 deletions(-) delete mode 100644 addons/base_address/__init__.py delete mode 100644 addons/base_address/__openerp__.py delete mode 100644 addons/base_address/base_address.py diff --git a/addons/base_address/__init__.py b/addons/base_address/__init__.py deleted file mode 100644 index c4af73d2bb7..00000000000 --- a/addons/base_address/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# -# OpenERP, Open Source Management Solution -# Copyright (C) 2004-2012 Tiny SPRL (<http://tiny.be>). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. -# -############################################################################## - -import base_address - -# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/base_address/__openerp__.py b/addons/base_address/__openerp__.py deleted file mode 100644 index 1abf12a3597..00000000000 --- a/addons/base_address/__openerp__.py +++ /dev/null @@ -1,42 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# -# OpenERP, Open Source Management Solution -# Copyright (C) 2004-2012 Tiny SPRL (<http://tiny.be>). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. -# -############################################################################## - -{ - "name": "base address", - "version": "1.0", - "depends": ["base"], - 'complexity': "easy", - 'description': """ -backwards compatible - """, - "author": "OpenERP SA", - 'category': 'Hidden/Dependency', - 'website': 'http://www.openerp.com', - "init_xml": [], - "demo_xml": [], - "update_xml": [], - "test" : [], - "installable": True, - "auto_install": False, - 'images': [], -} - -# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/base_address/base_address.py b/addons/base_address/base_address.py deleted file mode 100644 index ddfb4e6572f..00000000000 --- a/addons/base_address/base_address.py +++ /dev/null @@ -1,29 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# -# OpenERP, Open Source Management Solution -# Copyright (C) 2004-2012 Tiny SPRL (<http://tiny.be>). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. -# -############################################################################## - -from osv import fields, osv - -class res_partner_address(osv.osv): - _name = "res.partner.address" - _table = "res.partner" - _columns= { - } -res_partner_address() From 92015be2766bf3d3e5d86478f4fd0c73de4d5e86 Mon Sep 17 00:00:00 2001 From: "Bhumika (OpenERP)" <sbh@tinyerp.com> Date: Mon, 27 Feb 2012 14:16:11 +0530 Subject: [PATCH 037/313] [Fix] account: fix field name in yml bzr revid: sbh@tinyerp.com-20120227084611-29mx3m5awxivoa8i --- addons/account/account_pre_install.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/account/account_pre_install.yml b/addons/account/account_pre_install.yml index 13adbe8108f..744a8c4bc99 100644 --- a/addons/account/account_pre_install.yml +++ b/addons/account/account_pre_install.yml @@ -7,8 +7,8 @@ wiz = wizards.browse(cr, uid, ref('account.account_configuration_installer_todo')) part = self.pool.get('res.partner').browse(cr, uid, ref('base.main_partner')) # if we know the country and the wizard has not yet been executed, we do it - if (part.country.id) and (wiz.state=='open'): - mod = 'l10n_'+part.country.code.lower() + if (part.country_id.id) and (wiz.state=='open'): + mod = 'l10n_'+part.country_id.co7de.lower() ids = modules.search(cr, uid, [ ('name','=',mod) ], context=context) if ids: wizards.write(cr, uid, [ref('account.account_configuration_installer_todo')], { From fa64c13138543aa9bfcc61d9579b0cb3de715793 Mon Sep 17 00:00:00 2001 From: "Bhumika (OpenERP)" <sbh@tinyerp.com> Date: Mon, 27 Feb 2012 15:35:30 +0530 Subject: [PATCH 038/313] [IMP]base/res: Move display_address method in res.partner bzr revid: sbh@tinyerp.com-20120227100530-8xg61062982kyf97 --- openerp/addons/base/res/res_partner.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index 70ac3cf9e9f..3fb32e47038 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -331,6 +331,32 @@ class res_partner(osv.osv): model_data.search(cr, uid, [('module','=','base'), ('name','=','main_partner')])[0], ).res_id + + def _display_address(self, cr, uid, address, context=None): + ''' + The purpose of this function is to build and return an address formatted accordingly to the + standards of the country where it belongs. + + :param address: browse record of the res.partner.address to format + :returns: the address formatted in a display that fit its country habits (or the default ones + if not country is specified) + :rtype: string + ''' + # get the address format + address_format = address.country_id and address.country_id.address_format or \ + '%(street)s\n%(street2)s\n%(city)s,%(state_code)s %(zip)s' + # get the information that will be injected into the display format + args = { + 'state_code': address.state_id and address.state_id.code or '', + 'state_name': address.state_id and address.state_id.name or '', + 'country_code': address.country_id and address.country_id.code or '', + 'country_name': address.country_id and address.country_id.name or '', + } + address_field = ['title', 'street', 'street2', 'zip', 'city'] + for field in address_field : + args[field] = getattr(address, field) or '' + + return address_format % args res_partner() From 2c7d2973f29ba6cbd77fa08db4fedb5c61a3c0ec Mon Sep 17 00:00:00 2001 From: "Bhumika (OpenERP)" <sbh@tinyerp.com> Date: Mon, 27 Feb 2012 18:09:04 +0530 Subject: [PATCH 039/313] [IMP]base/res : make contact type required bzr revid: sbh@tinyerp.com-20120227123904-98m7kec2x64yosya --- openerp/addons/base/res/res_partner.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index 3fb32e47038..0bd555f70d7 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -155,7 +155,7 @@ class res_partner(osv.osv): 'fax': fields.char('Fax', size=64), 'mobile': fields.char('Mobile', size=64), 'birthdate': fields.char('Birthdate', size=64), - 'is_company': fields.selection( [ ('contact','Person'),('partner','Company') ],'Contact Type', help="Select if the partner is a company or person"), + 'is_company': fields.selection( [ ('contact','Person'),('partner','Company') ],'Contact Type', help="Select if the partner is a company or person",required=True), 'use_parent_address': fields.boolean('Use Company Address', help="Check to use the company's address"), 'photo': fields.binary('Photo'), 'company_id': fields.many2one('res.company', 'Company', select=1), From d62cd975fbedc26af69a490e41fd3a51de1d6a1a Mon Sep 17 00:00:00 2001 From: "Bhumika (OpenERP)" <sbh@tinyerp.com> Date: Mon, 27 Feb 2012 18:15:42 +0530 Subject: [PATCH 040/313] [IMP]base/res : set true for parent_address bzr revid: sbh@tinyerp.com-20120227124542-nhdnq62z0b8fnslb --- openerp/addons/base/res/res_partner.py | 1 + 1 file changed, 1 insertion(+) diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index 0bd555f70d7..a4da32d3d57 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -176,6 +176,7 @@ class res_partner(osv.osv): 'color': 0, 'is_company': 'contact', 'type': 'default', + 'use_parent_address':True } def copy(self, cr, uid, id, default=None, context=None): From 2369d4649de554c8254550abb84a3afb9181244a Mon Sep 17 00:00:00 2001 From: "Bhumika (OpenERP)" <sbh@tinyerp.com> Date: Mon, 27 Feb 2012 18:30:53 +0530 Subject: [PATCH 041/313] [IMP]base/res : parent not display in childs contact bzr revid: sbh@tinyerp.com-20120227130053-pt6c88195q4ohfjr --- openerp/addons/base/res/res_partner_view.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openerp/addons/base/res/res_partner_view.xml b/openerp/addons/base/res/res_partner_view.xml index f2ae93eeb34..0257bda3acf 100644 --- a/openerp/addons/base/res/res_partner_view.xml +++ b/openerp/addons/base/res/res_partner_view.xml @@ -369,7 +369,7 @@ <field name="ref" groups="base.group_extended" colspan="4"/> </group> <group colspan="4" attrs="{'invisible': [('is_company','!=', 'partner')]}"> - <field name="child_ids" nolabel="1"/> + <field name="child_ids" domain="[('id','!=',parent_id.id)]" nolabel="1"/> </group> </page> <page string="Sales & Purchases" attrs="{'invisible': [('customer', '=', False), ('supplier', '=', False)]}"> From e982f916c43ddfcffd52e3565fd4af8351f82e67 Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Tue, 28 Feb 2012 12:35:34 +0530 Subject: [PATCH 042/313] [IMP] base/res_partner: change demo and view bzr revid: kjo@tinyerp.com-20120228070534-bluy3498x3616y3n --- openerp/addons/base/res/res_partner.py | 4 +- openerp/addons/base/res/res_partner_demo.xml | 207 ++++++++++--------- openerp/addons/base/res/res_partner_view.xml | 4 +- 3 files changed, 109 insertions(+), 106 deletions(-) diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index a4da32d3d57..8f79e653453 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -122,7 +122,7 @@ class res_partner(osv.osv): _name = "res.partner" _order = "name" _columns = { - 'name': fields.char('Name', size=128, required=True, select=True), + 'name': fields.char('Name', size=128, select=True), 'date': fields.date('Date', select=1), 'title': fields.many2one('res.partner.title','Title'), 'parent_id': fields.many2one('res.partner','Parent Partner'), @@ -155,7 +155,7 @@ class res_partner(osv.osv): 'fax': fields.char('Fax', size=64), 'mobile': fields.char('Mobile', size=64), 'birthdate': fields.char('Birthdate', size=64), - 'is_company': fields.selection( [ ('contact','Person'),('partner','Company') ],'Contact Type', help="Select if the partner is a company or person",required=True), + 'is_company': fields.selection( [ ('contact','Person'),('partner','Company') ],'Contact Type', help="Select if the partner is a company or person"), 'use_parent_address': fields.boolean('Use Company Address', help="Check to use the company's address"), 'photo': fields.binary('Photo'), 'company_id': fields.many2one('res.company', 'Company', select=1), diff --git a/openerp/addons/base/res/res_partner_demo.xml b/openerp/addons/base/res/res_partner_demo.xml index d38a6a68511..b558c7610fb 100644 --- a/openerp/addons/base/res/res_partner_demo.xml +++ b/openerp/addons/base/res/res_partner_demo.xml @@ -93,53 +93,56 @@ <field eval="[(6, 0, [ref('res_partner_category_9')])]" name="category_id"/> <field name="supplier">1</field> <field eval="0" name="customer"/> - <field name="address" eval="[]"/> + <field name="is_company">partner</field> <field name="website">www.asustek.com</field> </record> <record id="res_partner_agrolait" model="res.partner"> <field name="name">Agrolait</field> <field eval="[(6, 0, [ref('base.res_partner_category_0')])]" name="category_id"/> - <field name="address" eval="[]"/> + <field name="is_company">partner</field> <field name="website">www.agrolait.com</field> </record> <record id="res_partner_c2c" model="res.partner"> <field name="name">Camptocamp</field> + <field name="is_company">partner</field> <field eval="[(6, 0, [ref('res_partner_category_10'), ref('res_partner_category_5')])]" name="category_id"/> <field name="supplier">1</field> - <field name="address" eval="[]"/> + <field name="is_company">partner</field> <field name="website">www.camptocamp.com</field> </record> <record id="res_partner_sednacom" model="res.partner"> <field name="website">www.syleam.fr</field> <field name="name">Syleam</field> <field eval="[(6, 0, [ref('res_partner_category_5')])]" name="category_id"/> - <field name="address" eval="[]"/> + <field name="is_company">partner</field> </record> <record id="res_partner_thymbra" model="res.partner"> <field name="name">SmartBusiness</field> + <field name="is_company">partner</field> <field eval="[(6, 0, [ref('res_partner_category_4')])]" name="category_id"/> </record> <record id="res_partner_desertic_hispafuentes" model="res.partner"> <field name="name">Axelor</field> <field eval="[(6, 0, [ref('res_partner_category_4')])]" name="category_id"/> <field name="supplier">1</field> - <field name="address" eval="[]"/> + <field name="is_company">partner</field> <field name="website">www.axelor.com/</field> </record> <record id="res_partner_tinyatwork" model="res.partner"> <field name="name">Tiny AT Work</field> + <field name="is_company">partner</field> <field eval="[(6, 0, [ref('res_partner_category_5'), ref('res_partner_category_10')])]" name="category_id"/> <field name="website">www.tinyatwork.com/</field> </record> <record id="res_partner_2" model="res.partner"> <field name="name">Bank Wealthy and sons</field> - <field name="address" eval="[]"/> + <field name="is_company">partner</field> <field name="website">www.wealthyandsons.com/</field> </record> <record id="res_partner_3" model="res.partner"> <field name="name">China Export</field> <field eval="[(6, 0, [ref('res_partner_category_9')])]" name="category_id"/> - <field name="address" eval="[]"/> + <field name="is_company">partner</field> <field name="website">www.chinaexport.com/</field> </record> <record id="res_partner_4" model="res.partner"> @@ -147,13 +150,13 @@ <field eval="[(6, 0, [ref('res_partner_category_9')])]" name="category_id"/> <field name="supplier">1</field> <field eval="0" name="customer"/> - <field name="address" eval="[]"/> + <field name="is_company">partner</field> <field name="website">www.distribpc.com/</field> </record> <record id="res_partner_5" model="res.partner"> <field name="name">Ecole de Commerce de Liege</field> <field eval="[(6, 0, [ref('res_partner_category_1')])]" name="category_id"/> - <field name="address" eval="[]"/> + <field name="is_company">partner</field> <field name="website">www.eci-liege.info//</field> </record> <record id="res_partner_6" model="res.partner"> @@ -161,7 +164,7 @@ <field eval="[(6, 0, [ref('res_partner_category_9')])]" name="category_id"/> <field name="supplier">1</field> <field eval="0" name="customer"/> - <field name="address" eval="[]"/> + <field name="is_company">partner</field> </record> <record id="res_partner_maxtor" model="res.partner"> <field name="name">Maxtor</field> @@ -169,20 +172,20 @@ <field eval="[(6, 0, [ref('res_partner_category_9')])]" name="category_id"/> <field name="supplier">1</field> <field eval="0" name="customer"/> - <field name="address" eval="[]"/> + <field name="is_company">partner</field> </record> <record id="res_partner_seagate" model="res.partner"> <field name="name">Seagate</field> <field eval="5000.00" name="credit_limit"/> <field eval="[(6, 0, [ref('res_partner_category_9')])]" name="category_id"/> <field name="supplier">1</field> - <field name="address" eval="[]"/> + <field name="is_company">partner</field> </record> <record id="res_partner_8" model="res.partner"> <field name="website">http://mediapole.net</field> <field name="name">Mediapole SPRL</field> <field eval="[(6, 0, [ref('res_partner_category_1')])]" name="category_id"/> - <field name="address" eval="[]"/> + <field name="is_company">partner</field> </record> <record id="res_partner_9" model="res.partner"> <field name="website">www.balmerinc.com</field> @@ -190,19 +193,19 @@ <field eval="12000.00" name="credit_limit"/> <field name="ref">or</field> <field eval="[(6, 0, [ref('res_partner_category_1')])]" name="category_id"/> - <field name="address" eval="[]"/> + <field name="is_company">partner</field> </record> <record id="res_partner_10" model="res.partner"> <field name="name">Tecsas</field> <field name="ean13">3020170000003</field> <field eval="[(6, 0, [ref('res_partner_category_9')])]" name="category_id"/> - <field name="address" eval="[]"/> + <field name="is_company">partner</field> </record> <record id="res_partner_11" model="res.partner"> <field name="name">Leclerc</field> <field eval="1200.00" name="credit_limit"/> <field eval="[(6, 0, [ref('res_partner_category_0')])]" name="category_id"/> - <field name="address" eval="[]"/> + <field name="is_company">partner</field> </record> <record id="res_partner_14" model="res.partner"> <field name="name">Centrale d'achats BML</field> @@ -210,7 +213,7 @@ <field eval="15000.00" name="credit_limit"/> <field name="parent_id" ref="res_partner_10"/> <field eval="[(6, 0, [ref('res_partner_category_11')])]" name="category_id"/> - <field name="address" eval="[]"/> + <field name="is_company">partner</field> </record> <record id="res_partner_15" model="res.partner"> <field name="name">Magazin BML 1</field> @@ -218,12 +221,12 @@ <field name="parent_id" ref="res_partner_14"/> <field eval="1500.00" name="credit_limit"/> <field eval="[(6, 0, [ref('res_partner_category_11')])]" name="category_id"/> - <field name="address" eval="[]"/> + <field name="is_company">partner</field> </record> <record id="res_partner_accent" model="res.partner"> <field name="name">Université de Liège</field> <field eval="[(6, 0, [ref('res_partner_category_9')])]" name="category_id"/> - <field name="address" eval="[]"/> + <field name="is_company">partner</field> <field name="website">http://www.ulg.ac.be/</field> </record> @@ -238,7 +241,7 @@ <field name="website">http://www.dubois.be/</field> </record> - <record id="res_partner_ericdubois0" model="res.partner"> + <!--record id="res_partner_ericdubois0" model="res.partner"> <field name="name">Eric Dubois</field> <field name="address" eval="[]"/> </record> @@ -246,23 +249,23 @@ <record id="res_partner_fabiendupont0" model="res.partner"> <field name="name">Fabien Dupont</field> <field name="address" eval="[]"/> - </record> + </record--> <record id="res_partner_lucievonck0" model="res.partner"> <field name="name">Lucie Vonck</field> <field name="address" eval="[]"/> </record> - <record id="res_partner_notsotinysarl0" model="res.partner"> + <!--record id="res_partner_notsotinysarl0" model="res.partner"> <field name="name">NotSoTiny SARL</field> <field name="address" eval="[]"/> <field name="website">notsotiny.be</field> - </record> + </record--> <record id="res_partner_theshelvehouse0" model="res.partner"> <field name="name">The Shelve House</field> <field eval="[(6,0,[ref('res_partner_category_retailers0')])]" name="category_id"/> - <field name="address" eval="[]"/> + <field name="is_company">partner</field> </record> <record id="res_partner_vickingdirect0" model="res.partner"> @@ -270,7 +273,7 @@ <field eval="[(6,0,[ref('res_partner_category_miscellaneoussuppliers0')])]" name="category_id"/> <field name="supplier">1</field> <field name="customer">0</field> - <field name="address" eval="[]"/> + <field name="is_company">partner</field> <field name="website">vicking-direct.be</field> </record> @@ -279,14 +282,14 @@ <field eval="[(6,0,[ref('res_partner_category_woodsuppliers0')])]" name="category_id"/> <field name="supplier">1</field> <field eval="0" name="customer"/> - <field name="address" eval="[]"/> + <field name="is_company">partner</field> <field name="website">woodywoodpecker.com</field> </record> <record id="res_partner_zerooneinc0" model="res.partner"> <field name="name">ZeroOne Inc</field> <field eval="[(6,0,[ref('res_partner_category_consumers0')])]" name="category_id"/> - <field name="address" eval="[]"/> + <field name="is_company">partner</field> <field name="website">http://www.zerooneinc.com/</field> </record> @@ -294,7 +297,7 @@ Resource: res.partner.address --> - <record id="res_partner_address_1" model="res.partner.address"> + <record id="res_partner_address_1" model="res.partner"> <field name="city">Bruxelles</field> <field name="name">Michel Schumacher</field> <field name="zip">1000</field> @@ -303,9 +306,9 @@ <field name="phone">(+32)2 211 34 83</field> <field name="street">Rue des Palais 51, bte 33</field> <field name="type">default</field> - <field name="partner_id" ref="res_partner_9"/> + <field name="parent_id" ref="res_partner_9"/> </record> - <record id="res_partner_address_2" model="res.partner.address"> + <record id="res_partner_address_2" model="res.partner"> <field name="city">Avignon CEDEX 09</field> <field name="name">Laurent Jacot</field> <field name="zip">84911</field> @@ -314,9 +317,9 @@ <field name="phone">(+33)4.32.74.10.57</field> <field name="street">85 rue du traite de Rome</field> <field name="type">default</field> - <field name="partner_id" ref="res_partner_10"/> + <field name="parent_id" ref="res_partner_10"/> </record> - <record id="res_partner_address_3000" model="res.partner.address"> + <record id="res_partner_address_3000" model="res.partner"> <field name="city">Champs sur Marne</field> <field name="name">Laith Jubair</field> <field name="zip">77420</field> @@ -325,18 +328,18 @@ <field name="phone">+33 1 64 61 04 01</field> <field name="street">12 rue Albert Einstein</field> <field name="type">default</field> - <field name="partner_id" ref="res_partner_desertic_hispafuentes"/> + <field name="parent_id" ref="res_partner_desertic_hispafuentes"/> </record> - <record id="res_partner_address_3" model="res.partner.address"> + <record id="res_partner_address_3" model="res.partner"> <field name="city">Louvain-la-Neuve</field> <field name="name">Thomas Passot</field> <field name="zip">1348</field> <field model="res.country" name="country_id" search="[('name','=','Belgium')]"/> <field name="phone">(+32).10.45.17.73</field> <field name="street">Rue de l'Angelique, 1</field> - <field name="partner_id" ref="res_partner_8"/> + <field name="parent_id" ref="res_partner_8"/> </record> - <record id="res_partner_address_tang" model="res.partner.address"> + <record id="res_partner_address_tang" model="res.partner"> <field name="city">Taiwan</field> <field name="name">Tang</field> <field name="zip">23410</field> @@ -345,9 +348,9 @@ <field name="email">info@asustek.com</field> <field name="phone">+ 1 64 61 04 01</field> <field name="type">default</field> - <field name="partner_id" ref="res_partner_asus"/> + <field name="parent_id" ref="res_partner_asus"/> </record> - <record id="res_partner_address_wong" model="res.partner.address"> + <record id="res_partner_address_wong" model="res.partner"> <field name="city">Hong Kong</field> <field name="name">Wong</field> <field name="zip">23540</field> @@ -356,9 +359,9 @@ <field name="email">info@maxtor.com</field> <field name="phone">+ 11 8528 456 789</field> <field name="type">default</field> - <field name="partner_id" ref="res_partner_maxtor"/> + <field name="parent_id" ref="res_partner_maxtor"/> </record> - <record id="res_partner_address_6" model="res.partner.address"> + <record id="res_partner_address_6" model="res.partner"> <field name="city">Brussels</field> <field name="name">Etienne Lacarte</field> <field name="zip">2365</field> @@ -367,9 +370,9 @@ <field name="type">default</field> <field name="email">info@elecimport.com</field> <field name="phone">+ 32 025 897 456</field> - <field name="partner_id" ref="res_partner_6"/> + <field name="parent_id" ref="res_partner_6"/> </record> - <record id="res_partner_address_7" model="res.partner.address"> + <record id="res_partner_address_7" model="res.partner"> <field name="city">Namur</field> <field name="name">Jean Guy Lavente</field> <field name="zip">2541</field> @@ -378,9 +381,9 @@ <field name="type">default</field> <field name="email">info@distribpc.com</field> <field name="phone">+ 32 081256987</field> - <field name="partner_id" ref="res_partner_4"/> + <field name="parent_id" ref="res_partner_4"/> </record> - <record id="res_partner_address_8" model="res.partner.address"> + <record id="res_partner_address_8" model="res.partner"> <field name="city">Wavre</field> <field name="name">Sylvie Lelitre</field> <field name="zip">5478</field> @@ -389,10 +392,10 @@ <field name="type">default</field> <field name="email">s.l@agrolait.be</field> <field name="phone">003281588558</field> - <field name="partner_id" ref="res_partner_agrolait"/> + <field name="parent_id" ref="res_partner_agrolait"/> <field name="title" ref="base.res_partner_title_madam"/> </record> - <record id="res_partner_address_8delivery" model="res.partner.address"> + <record id="res_partner_address_8delivery" model="res.partner"> <field name="city">Wavre</field> <field name="name">Paul Lelitre</field> <field name="zip">5478</field> @@ -401,10 +404,10 @@ <field name="type">delivery</field> <field name="email">p.l@agrolait.be</field> <field name="phone">003281588557</field> - <field name="partner_id" ref="res_partner_agrolait"/> + <field name="parent_id" ref="res_partner_agrolait"/> <field name="title" ref="base.res_partner_title_sir"/> </record> - <record id="res_partner_address_8invoice" model="res.partner.address"> + <record id="res_partner_address_8invoice" model="res.partner"> <field name="city">Wavre</field> <field name="name">Serge Lelitre</field> <field name="zip">5478</field> @@ -413,10 +416,10 @@ <field name="type">invoice</field> <field name="email">serge.l@agrolait.be</field> <field name="phone">003281588556</field> - <field name="partner_id" ref="res_partner_agrolait"/> + <field name="parent_id" ref="res_partner_agrolait"/> <field name="title" ref="base.res_partner_title_sir"/> </record> - <record id="res_partner_address_9" model="res.partner.address"> + <record id="res_partner_address_9" model="res.partner"> <field name="city">Paris</field> <field name="name">Arthur Grosbonnet</field> <field name="zip">75016</field> @@ -425,10 +428,10 @@ <field name="type">default</field> <field name="email">a.g@wealthyandsons.com</field> <field name="phone">003368978776</field> - <field name="partner_id" ref="res_partner_2"/> + <field name="parent_id" ref="res_partner_2"/> <field name="title" ref="base.res_partner_title_sir"/> </record> - <record id="res_partner_address_11" model="res.partner.address"> + <record id="res_partner_address_11" model="res.partner"> <field name="city">Alencon</field> <field name="name">Sebastien LANGE</field> <field name="zip">61000</field> @@ -437,9 +440,9 @@ <field name="phone">+33 (0) 2 33 31 22 10</field> <field model="res.country" name="country_id" search="[('name','=','France')]"/> <field name="type">default</field> - <field name="partner_id" ref="res_partner_sednacom"/> + <field name="parent_id" ref="res_partner_sednacom"/> </record> - <record id="res_partner_address_10" model="res.partner.address"> + <record id="res_partner_address_10" model="res.partner"> <field name="city">Liege</field> <field name="name">Karine Lesbrouffe</field> <field name="zip">6985</field> @@ -448,9 +451,9 @@ <field name="email">k.lesbrouffe@eci-liege.info</field> <field name="phone">+32 421 52571</field> <field name="type">default</field> - <field name="partner_id" ref="res_partner_5"/> + <field name="parent_id" ref="res_partner_5"/> </record> - <record id="res_partner_address_zen" model="res.partner.address"> + <record id="res_partner_address_zen" model="res.partner"> <field name="city">Shanghai</field> <field name="name">Zen</field> <field name="zip">478552</field> @@ -459,9 +462,9 @@ <field name="type">default</field> <field name="email">zen@chinaexport.com</field> <field name="phone">+86-751-64845671</field> - <field name="partner_id" ref="res_partner_3"/> + <field name="parent_id" ref="res_partner_3"/> </record> - <record id="res_partner_address_12" model="res.partner.address"> + <record id="res_partner_address_12" model="res.partner"> <field name="type">default</field> <field name="city">Grenoble</field> <field name="name">Loïc Dupont</field> @@ -471,9 +474,9 @@ <field name="type">default</field> <field name="email">l.dupont@tecsas.fr</field> <field name="phone">+33-658-256545</field> - <field name="partner_id" ref="res_partner_10"/> + <field name="parent_id" ref="res_partner_10"/> </record> - <record id="res_partner_address_13" model="res.partner.address"> + <record id="res_partner_address_13" model="res.partner"> <field name="type">default</field> <field name="name">Carl François</field> <field name="city">Bruxelles</field> @@ -482,9 +485,9 @@ <field name="street">89 Chaussée de Waterloo</field> <field name="email">carl.françois@bml.be</field> <field name="phone">+32-258-256545</field> - <field name="partner_id" ref="res_partner_14"/> + <field name="parent_id" ref="res_partner_14"/> </record> - <record id="res_partner_address_14" model="res.partner.address"> + <record id="res_partner_address_14" model="res.partner"> <field name="type">default</field> <field name="name">Lucien Ferguson</field> <field name="street">89 Chaussée de Liège</field> @@ -492,9 +495,9 @@ <field name="zip">5000</field> <field name="email">lucien.ferguson@bml.be</field> <field name="phone">+32-621-568978</field> - <field name="partner_id" ref="res_partner_15"/> + <field name="parent_id" ref="res_partner_15"/> </record> - <record id="res_partner_address_15" model="res.partner.address"> + <record id="res_partner_address_15" model="res.partner"> <field name="type">default</field> <field name="name">Marine Leclerc</field> <field name="street">rue Grande</field> @@ -502,9 +505,9 @@ <field name="zip">29200</field> <field name="email">marine@leclerc.fr</field> <field name="phone">+33-298.334558</field> - <field name="partner_id" ref="res_partner_11"/> + <field name="parent_id" ref="res_partner_11"/> </record> - <record id="res_partner_address_16" model="res.partner.address"> + <record id="res_partner_address_16" model="res.partner"> <field name="type">invoice</field> <field name="name">Claude Leclerc</field> <field name="street">rue Grande</field> @@ -512,10 +515,10 @@ <field name="zip">29200</field> <field name="email">claude@leclerc.fr</field> <field name="phone">+33-298.334598</field> - <field name="partner_id" ref="res_partner_11"/> + <field name="parent_id" ref="res_partner_11"/> </record> - <record id="res_partner_address_accent" model="res.partner.address"> + <record id="res_partner_address_accent" model="res.partner"> <field name="type">default</field> <field name="name">Martine Ohio</field> <field name="street">Place du 20Août</field> @@ -523,9 +526,9 @@ <field name="zip">4000</field> <field name="email">martine.ohio@ulg.ac.be</field> <field name="phone">+32-45895245</field> - <field name="partner_id" ref="res_partner_accent"/> + <field name="parent_id" ref="res_partner_accent"/> </record> - <record id="res_partner_address_Camptocamp" model="res.partner.address"> + <record id="res_partner_address_Camptocamp" model="res.partner"> <field name="city">Lausanne</field> <field name="name">Luc Maurer</field> <field name="zip">1015</field> @@ -533,9 +536,9 @@ <field model="res.country" name="country_id" search="[('name','=','Switzerland')]"/> <field name="street">PSE-A, EPFL </field> <field name="type">default</field> - <field name="partner_id" ref="res_partner_c2c"/> + <field name="parent_id" ref="res_partner_c2c"/> </record> - <record id="res_partner_address_seagate" model="res.partner.address"> + <record id="res_partner_address_seagate" model="res.partner"> <field name="city">Cupertino</field> <field name="name">Seagate Technology</field> <field name="zip">95014</field> @@ -544,9 +547,9 @@ <field name="email">info@seagate.com</field> <field name="phone">+1 408 256987</field> <field name="type">default</field> - <field name="partner_id" ref="res_partner_seagate"/> + <field name="parent_id" ref="res_partner_seagate"/> </record> - <record id="res_partner_address_thymbra" model="res.partner.address"> + <record id="res_partner_address_thymbra" model="res.partner"> <field name="city">Buenos Aires</field> <field name="name">Jack Daniels</field> <field name="zip">1659</field> @@ -556,9 +559,9 @@ <field name="phone">(5411) 4773-9666 </field> <field model="res.country" name="country_id" search="[('name','=','Argentina')]"/> <field name="type">default</field> - <field name="partner_id" ref="res_partner_thymbra"/> + <field name="parent_id" ref="res_partner_thymbra"/> </record> - <record id="res_partner_address_tinyatwork" model="res.partner.address"> + <record id="res_partner_address_tinyatwork" model="res.partner"> <field name="city">Boston</field> <field name="name">Tiny Work</field> <field name="zip">5501</field> @@ -567,18 +570,18 @@ <field model="res.country" name="country_id" search="[('name','=','United States')]"/> <field name="street">One Lincoln Street</field> <field name="type">default</field> - <field name="partner_id" ref="res_partner_tinyatwork"/> + <field name="parent_id" ref="res_partner_tinyatwork"/> </record> <!-- Resource: res.partner.address for Training --> - <record id="res_partner_address_notsotinysarl0" model="res.partner.address"> + <record id="res_partner_address_notsotinysarl0" model="res.partner"> <field eval="'Namur'" name="city"/> <field eval="'NotSoTiny SARL'" name="name"/> <field eval="'5000'" name="zip"/> - <field name="partner_id" ref="res_partner_notsotinysarl0"/> + <!--field name="parent_id" ref="res_partner_notsotinysarl0"/--> <field name="country_id" ref="base.be"/> <field eval="'(+32).81.81.37.00'" name="phone"/> <field eval="'Rue du Nid 1'" name="street"/> @@ -586,42 +589,42 @@ </record> - <record id="res_partner_address_henrychard0" model="res.partner.address"> + <record id="res_partner_address_henrychard0" model="res.partner"> <field eval="'Paris'" name="city"/> <field eval="'Henry Chard'" name="name"/> <field name="country_id" ref="base.fr"/> </record> - <record id="res_partner_address_geoff0" model="res.partner.address"> + <record id="res_partner_address_geoff0" model="res.partner"> <field eval="'Brussels'" name="city"/> <field eval="'Geoff'" name="name"/> <field name="country_id" ref="base.be"/> </record> - <record id="res_partner_address_rogerpecker0" model="res.partner.address"> + <record id="res_partner_address_rogerpecker0" model="res.partner"> <field eval="'Kainuu'" name="city"/> <field eval="'Roger Pecker'" name="name"/> <field name="country_id" ref="base.fi"/> </record> - <record id="res_partner_address_0" model="res.partner.address"> + <record id="res_partner_address_0" model="res.partner"> <field eval="'Brussels'" name="city"/> <field name="country_id" ref="base.be"/> </record> - <record id="res_partner_address_henrychard1" model="res.partner.address"> + <record id="res_partner_address_henrychard1" model="res.partner"> <field eval="'Paris'" name="city"/> <field eval="'Henry Chard'" name="name"/> - <field name="partner_id" ref="res_partner_theshelvehouse0"/> + <field name="parent_id" ref="res_partner_theshelvehouse0"/> <field name="country_id" ref="base.fr"/> </record> - <record id="res_partner_address_brussels0" model="res.partner.address"> + <record id="res_partner_address_brussels0" model="res.partner"> <field eval="'Brussels'" name="city"/> <field eval="'Leen Vandenloep'" name="name"/> <field eval="'Puurs'" name="city"/> @@ -629,54 +632,54 @@ <field name="country_id" ref="base.be"/> <field eval="'(+32).70.12.85.00'" name="phone"/> <field eval="'Schoonmansveld 28'" name="street"/> - <field name="partner_id" ref="res_partner_vickingdirect0"/> + <field name="parent_id" ref="res_partner_vickingdirect0"/> <field name="country_id" ref="base.be"/> </record> - <record id="res_partner_address_rogerpecker1" model="res.partner.address"> + <record id="res_partner_address_rogerpecker1" model="res.partner"> <field eval="'Kainuu'" name="city"/> <field eval="'Roger Pecker'" name="name"/> - <field name="partner_id" ref="res_partner_woodywoodpecker0"/> + <field name="parent_id" ref="res_partner_woodywoodpecker0"/> <field eval="'(+358).9.589 689'" name="phone"/> <field name="country_id" ref="base.fi"/> </record> - <record id="res_partner_address_geoff1" model="res.partner.address"> + <record id="res_partner_address_geoff1" model="res.partner"> <field eval="'Brussels'" name="city"/> <field eval="'Geoff'" name="name"/> - <field name="partner_id" ref="res_partner_zerooneinc0"/> + <field name="parent_id" ref="res_partner_zerooneinc0"/> <field name="country_id" ref="base.be"/> </record> - <record id="res_partner_address_marcdubois0" model="res.partner.address"> + <record id="res_partner_address_marcdubois0" model="res.partner"> <field eval="'Brussels'" name="city"/> <field eval="'Marc Dubois'" name="name"/> <field eval="'1000'" name="zip"/> - <field name="partner_id" ref="res_partner_duboissprl0"/> + <field name="parent_id" ref="res_partner_duboissprl0"/> <field name="country_id" ref="base.be"/> <field eval="'Avenue de la Liberté 56'" name="street"/> <field eval="'m.dubois@dubois.be'" name="email"/> </record> - <record id="res_partner_address_fabiendupont0" model="res.partner.address"> + <record id="res_partner_address_fabiendupont0" model="res.partner"> <field eval="'Namur'" name="city"/> <field eval="'Fabien Dupont'" name="name"/> <field eval="'5000'" name="zip"/> - <field name="partner_id" ref="res_partner_fabiendupont0"/> + <!--field name="parent_id" ref="res_partner_fabiendupont0"/--> <field name="country_id" ref="base.be"/> <field eval="'Blvd Kennedy, 13'" name="street"/> </record> - <record id="res_partner_address_ericdubois0" model="res.partner.address"> + <record id="res_partner_address_ericdubois0" model="res.partner"> <field eval="'Mons'" name="city"/> <field eval="'Eric Dubois'" name="name"/> <field eval="'7000'" name="zip"/> - <field name="partner_id" ref="res_partner_ericdubois0"/> + <!--field name="parent_id" ref="res_partner_ericdubois0"/--> <field name="country_id" ref="base.be"/> <field eval="'Chaussée de Binche, 27'" name="street"/> <field eval="'e.dubois@gmail.com'" name="email"/> @@ -684,20 +687,20 @@ </record> - <record id="res_partner_address_notsotinysarl1" model="res.partner.address"> + <!--record id="res_partner_address_notsotinysarl1" model="res.partner.address"> <field eval="'Antwerpen'" name="city"/> <field eval="'2000'" name="zip"/> - <field name="partner_id" ref="res_partner_notsotinysarl0"/> + <field name="parent_id" ref="res_partner_notsotinysarl0"/> <field name="country_id" ref="base.be"/> <field eval="'Antwerpsesteenweg 254'" name="street"/> <field eval="'invoice'" name="type"/> - </record> + </record--> - <record id="res_partner_address_4" model="res.partner.address"> + <record id="res_partner_address_4" model="res.partner"> <field eval="'Grand-Rosière'" name="city"/> <field eval="'1367'" name="zip"/> - <field name="partner_id" ref="res_partner_lucievonck0"/> + <field name="parent_id" ref="res_partner_lucievonck0"/> <field name="country_id" ref="base.be"/> <field eval="'Chaussée de Namur'" name="street"/> </record> diff --git a/openerp/addons/base/res/res_partner_view.xml b/openerp/addons/base/res/res_partner_view.xml index 0257bda3acf..1f7b315d957 100644 --- a/openerp/addons/base/res/res_partner_view.xml +++ b/openerp/addons/base/res/res_partner_view.xml @@ -326,12 +326,12 @@ <form string="Partners"> <group col="8" colspan="4"> <group col="2"> - <field name="is_company" on_change="onchange_type(is_company, title)"/> + <field name="is_company" on_change="onchange_type(is_company, title)" attrs="{'requierd': True}"/> <field name="function" attrs="{'invisible': [('is_company','=', 'partner')]}" colspan="2"/> <field name="title" size="0" groups="base.group_extended" domain="[('domain', '=', is_company)]"/> </group> <group col="2"> - <field name="name"/> + <field name="name" attrs="{'requierd': True}"/> <field name="parent_id" string="Company" attrs="{'invisible': [('is_company','=', 'partner')]}" domain="[('is_company', '=', 'partner')]" context="{'default_is_company': 'partner'}" on_change="onchange_address(use_parent_address, parent_id)"/> </group> <group col="2"> From 14bd60efec07afb4a63105b5077d12bbd59bb57f Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Tue, 28 Feb 2012 12:39:35 +0530 Subject: [PATCH 043/313] [IMP] base/res_partner: set attrs name and is_company bzr revid: kjo@tinyerp.com-20120228070935-rx4klchhmjp0nhgl --- openerp/addons/base/res/res_partner_view.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openerp/addons/base/res/res_partner_view.xml b/openerp/addons/base/res/res_partner_view.xml index 1f7b315d957..c91290014e5 100644 --- a/openerp/addons/base/res/res_partner_view.xml +++ b/openerp/addons/base/res/res_partner_view.xml @@ -326,12 +326,12 @@ <form string="Partners"> <group col="8" colspan="4"> <group col="2"> - <field name="is_company" on_change="onchange_type(is_company, title)" attrs="{'requierd': True}"/> + <field name="is_company" on_change="onchange_type(is_company, title)" attrs="{'required': True}"/> <field name="function" attrs="{'invisible': [('is_company','=', 'partner')]}" colspan="2"/> <field name="title" size="0" groups="base.group_extended" domain="[('domain', '=', is_company)]"/> </group> <group col="2"> - <field name="name" attrs="{'requierd': True}"/> + <field name="name" attrs="{'required': True}"/> <field name="parent_id" string="Company" attrs="{'invisible': [('is_company','=', 'partner')]}" domain="[('is_company', '=', 'partner')]" context="{'default_is_company': 'partner'}" on_change="onchange_address(use_parent_address, parent_id)"/> </group> <group col="2"> From 61317c17be6223b72421e4b2028831970e751aba Mon Sep 17 00:00:00 2001 From: "Bhumika (OpenERP)" <sbh@tinyerp.com> Date: Tue, 28 Feb 2012 13:54:56 +0530 Subject: [PATCH 044/313] [Fix]base/res: company address and person contact should be sychronize bzr revid: sbh@tinyerp.com-20120228082456-b5s9iw4wnjuflbk8 --- openerp/addons/base/res/res_partner.py | 34 +++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index 8f79e653453..aa63b78195d 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -232,7 +232,39 @@ class res_partner(osv.osv): if math.ceil(sum/10.0)*10-sum!=int(thisean[12]): return False return True - + + + def write(self, cr, uid, ids, vals, context=None): + # Update the all child and parent_id record ,Need to fixit + update_ids=False + if ids and isinstance(ids, (tuple, list)): + ids=ids[0] + is_company=ids and self.browse(cr,uid,ids).is_company + if is_company == 'contact': + parent_id=self.browse(cr,uid,ids[0]).parent_id.id + if parent_id: + update_ids= self.search(cr, uid, [('parent_id', '=', parent_id),('use_parent_address','=',True)], context=context) + if parent_id and parent_id not in update_ids: + update_ids.append(parent_id) + elif is_company == 'partner': + update_ids= self.search(cr, uid, [('parent_id', 'in', ids),('use_parent_address','=',True)], context=context) + if update_ids: + self.udpate_address(cr,uid,update_ids,vals,context) + return super(res_partner,self).write(cr, uid, ids, vals, context=context) + + + def udpate_address(self,cr,uid,update_ids,vals, context=None): + for id in update_ids: + for key, data in vals.iteritems(): + if data: + sql = "update res_partner set %(field)s = %%(value)s where id = %%(id)s" % { + 'field': key, + } + cr.execute(sql, { + 'value': data, + 'id':id + }) + return True # _constraints = [(_check_ean_key, 'Error: Invalid ean code', ['ean13'])] def name_get(self, cr, uid, ids, context=None): From 095b0bf02686a8eb1af66cc6004b8a588c0060f6 Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Tue, 28 Feb 2012 14:05:42 +0530 Subject: [PATCH 045/313] [IMP] base/res_partner: improve search and context bzr revid: kjo@tinyerp.com-20120228083542-esbxvxj9fhzxdoql --- openerp/addons/base/res/res_partner_view.xml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/openerp/addons/base/res/res_partner_view.xml b/openerp/addons/base/res/res_partner_view.xml index c91290014e5..225201b7085 100644 --- a/openerp/addons/base/res/res_partner_view.xml +++ b/openerp/addons/base/res/res_partner_view.xml @@ -314,6 +314,8 @@ <field name="function"/> <field name="phone"/> <field name="email"/> + <field name="user_id" invisible="1"/> + <field name="is_company" invisible="1"/> </tree> </field> </record> @@ -369,7 +371,7 @@ <field name="ref" groups="base.group_extended" colspan="4"/> </group> <group colspan="4" attrs="{'invisible': [('is_company','!=', 'partner')]}"> - <field name="child_ids" domain="[('id','!=',parent_id.id)]" nolabel="1"/> + <field name="child_ids" domain="[('id','!=',parent_id.id)]" nolabel="1" context="{'default_parent_id': id}"/> </group> </page> <page string="Sales & Purchases" attrs="{'invisible': [('customer', '=', False), ('supplier', '=', False)]}"> @@ -414,7 +416,7 @@ <newline /> <group expand="0" string="Group By..."> <filter string="Salesman" icon="terp-personal" domain="[]" context="{'group_by' : 'user_id'}" /> - <filter string="Parent" context="{'group_by': 'parent_id'}"/> + <filter string="Contact Type" context="{'group_by': 'is_company'}"/> </group> </search> </field> From 7b4386a653599902728877df52de7c1de18724cb Mon Sep 17 00:00:00 2001 From: "Bhumika (OpenERP)" <sbh@tinyerp.com> Date: Tue, 28 Feb 2012 14:24:38 +0530 Subject: [PATCH 046/313] [IMP] base/res: improve code bzr revid: sbh@tinyerp.com-20120228085438-0zbv6v6k52n8tyas --- openerp/addons/base/res/res_partner.py | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index aa63b78195d..bc123cc76fd 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -235,21 +235,20 @@ class res_partner(osv.osv): def write(self, cr, uid, ids, vals, context=None): - # Update the all child and parent_id record ,Need to fixit + # Update the all child and parent_id record update_ids=False - if ids and isinstance(ids, (tuple, list)): - ids=ids[0] - is_company=ids and self.browse(cr,uid,ids).is_company - if is_company == 'contact': - parent_id=self.browse(cr,uid,ids[0]).parent_id.id - if parent_id: + if isinstance(ids, (int, long)): + ids = [ids] + for partner_id in self.browse(cr, uid, ids, context=context): + is_company=partner_id.is_company + parent_id=partner_id.parent_id.id + if is_company == 'contact' and parent_id: update_ids= self.search(cr, uid, [('parent_id', '=', parent_id),('use_parent_address','=',True)], context=context) - if parent_id and parent_id not in update_ids: - update_ids.append(parent_id) - elif is_company == 'partner': - update_ids= self.search(cr, uid, [('parent_id', 'in', ids),('use_parent_address','=',True)], context=context) - if update_ids: - self.udpate_address(cr,uid,update_ids,vals,context) + if parent_id not in update_ids: update_ids.append(parent_id) + elif is_company == 'partner': + update_ids= self.search(cr, uid, [('parent_id', '=', partner_id.id),('use_parent_address','=',True)], context=context) + if update_ids: + self.udpate_address(cr,uid,update_ids,vals,context) return super(res_partner,self).write(cr, uid, ids, vals, context=context) From 3b666cb89ef1da0985db9abe7869def129bb1a33 Mon Sep 17 00:00:00 2001 From: "Bhumika (OpenERP)" <sbh@tinyerp.com> Date: Tue, 28 Feb 2012 14:26:57 +0530 Subject: [PATCH 047/313] [IMP] base/res: improve code bzr revid: sbh@tinyerp.com-20120228085657-ahmf0jvjm6jjc35s --- openerp/addons/base/res/res_partner.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index bc123cc76fd..0f0c8bd26dd 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -244,7 +244,8 @@ class res_partner(osv.osv): parent_id=partner_id.parent_id.id if is_company == 'contact' and parent_id: update_ids= self.search(cr, uid, [('parent_id', '=', parent_id),('use_parent_address','=',True)], context=context) - if parent_id not in update_ids: update_ids.append(parent_id) + if parent_id not in update_ids: + update_ids.append(parent_id) elif is_company == 'partner': update_ids= self.search(cr, uid, [('parent_id', '=', partner_id.id),('use_parent_address','=',True)], context=context) if update_ids: From e545916f6b922d57d7200fd0e45e298378f1a832 Mon Sep 17 00:00:00 2001 From: "Bhumika (OpenERP)" <sbh@tinyerp.com> Date: Tue, 28 Feb 2012 14:51:00 +0530 Subject: [PATCH 048/313] [IMP] base/res: improve onchange type for child_ids bzr revid: sbh@tinyerp.com-20120228092100-jhiwef4ln421wl9b --- openerp/addons/base/res/res_partner.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index 0f0c8bd26dd..a75508d4b10 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -191,7 +191,7 @@ class res_partner(osv.osv): def onchange_type(self, cr, uid, ids, is_company, title, context=None): if is_company == 'contact': - return {'value': {'is_company': is_company, 'title': ''}} + return {'value': {'is_company': is_company, 'title': '','child_ids':''}} elif is_company == 'partner': return {'value': {'is_company': is_company, 'title': ''}} return {'value': {'is_comapny': '', 'title': ''}} From 61662bcc355d883332fff3a11012e407ceb01f58 Mon Sep 17 00:00:00 2001 From: "Bhumika (OpenERP)" <sbh@tinyerp.com> Date: Tue, 28 Feb 2012 15:07:25 +0530 Subject: [PATCH 049/313] [IMP] base/res: improve onchange type bzr revid: sbh@tinyerp.com-20120228093725-8siah3juypome4ur --- openerp/addons/base/res/res_partner.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index a75508d4b10..7ba5210eb1c 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -178,7 +178,7 @@ class res_partner(osv.osv): 'type': 'default', 'use_parent_address':True } - + def copy(self, cr, uid, id, default=None, context=None): if default is None: default = {} @@ -193,7 +193,7 @@ class res_partner(osv.osv): if is_company == 'contact': return {'value': {'is_company': is_company, 'title': '','child_ids':''}} elif is_company == 'partner': - return {'value': {'is_company': is_company, 'title': ''}} + return {'value': {'is_company': is_company, 'title': '','parent_id':''}} return {'value': {'is_comapny': '', 'title': ''}} From 5357066185df13ea6ab865288b07d93e420e5068 Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Tue, 28 Feb 2012 16:47:30 +0530 Subject: [PATCH 050/313] [IMP] base/res_partner: change tree view bzr revid: kjo@tinyerp.com-20120228111730-jcojpwwj0e9pcnep --- openerp/addons/base/res/res_partner_view.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openerp/addons/base/res/res_partner_view.xml b/openerp/addons/base/res/res_partner_view.xml index 225201b7085..1c78fcfaba5 100644 --- a/openerp/addons/base/res/res_partner_view.xml +++ b/openerp/addons/base/res/res_partner_view.xml @@ -311,7 +311,7 @@ <field name="arch" type="xml"> <tree string="Contacts"> <field name="name"/> - <field name="function"/> + <field name="function" invisible="1"/> <field name="phone"/> <field name="email"/> <field name="user_id" invisible="1"/> From c8f9b2f5bf91ee1cdf19e01a76852d41b1f94c5e Mon Sep 17 00:00:00 2001 From: "Bhumika (OpenERP)" <sbh@tinyerp.com> Date: Tue, 28 Feb 2012 17:15:05 +0530 Subject: [PATCH 051/313] [Fix] [IMP] base/res :fix the update record issue bzr revid: sbh@tinyerp.com-20120228114505-qmlbye3bgfqxfw3g --- openerp/addons/base/res/res_partner.py | 17 +++++++++-------- openerp/addons/base/res/res_partner_view.xml | 2 +- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index 7ba5210eb1c..e38b39d0fd0 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -189,9 +189,9 @@ class res_partner(osv.osv): def do_share(self, cr, uid, ids, *args): return True - def onchange_type(self, cr, uid, ids, is_company, title, context=None): + def onchange_type(self, cr, uid, ids, is_company, title, child_ids,context=None): if is_company == 'contact': - return {'value': {'is_company': is_company, 'title': '','child_ids':''}} + return {'value': {'is_company': is_company, 'title': '','child_ids':[(5,)]}} elif is_company == 'partner': return {'value': {'is_company': is_company, 'title': '','parent_id':''}} return {'value': {'is_comapny': '', 'title': ''}} @@ -254,16 +254,17 @@ class res_partner(osv.osv): def udpate_address(self,cr,uid,update_ids,vals, context=None): + # Remove this after all testing for id in update_ids: for key, data in vals.iteritems(): - if data: + if key in ('street','street2','zip','city','state_id','country_id','email','phone','fax','mobile','website','ref','lang'): sql = "update res_partner set %(field)s = %%(value)s where id = %%(id)s" % { - 'field': key, - } + 'field': key, + } cr.execute(sql, { - 'value': data, - 'id':id - }) + 'value': data, + 'id':id + }) return True # _constraints = [(_check_ean_key, 'Error: Invalid ean code', ['ean13'])] diff --git a/openerp/addons/base/res/res_partner_view.xml b/openerp/addons/base/res/res_partner_view.xml index 1c78fcfaba5..3ee80fece49 100644 --- a/openerp/addons/base/res/res_partner_view.xml +++ b/openerp/addons/base/res/res_partner_view.xml @@ -328,7 +328,7 @@ <form string="Partners"> <group col="8" colspan="4"> <group col="2"> - <field name="is_company" on_change="onchange_type(is_company, title)" attrs="{'required': True}"/> + <field name="is_company" on_change="onchange_type(is_company, title,child_ids)" attrs="{'required': True}"/> <field name="function" attrs="{'invisible': [('is_company','=', 'partner')]}" colspan="2"/> <field name="title" size="0" groups="base.group_extended" domain="[('domain', '=', is_company)]"/> </group> From b06995c2e6adbafbe4a25f071892995ad8d9761b Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Tue, 28 Feb 2012 17:40:08 +0530 Subject: [PATCH 052/313] [IMP] base/res_partner: change form view on child create bzr revid: kjo@tinyerp.com-20120228121008-7rrelzpg2fjh4tb5 --- openerp/addons/base/res/res_partner_view.xml | 70 +++++++++++++++++++- 1 file changed, 69 insertions(+), 1 deletion(-) diff --git a/openerp/addons/base/res/res_partner_view.xml b/openerp/addons/base/res/res_partner_view.xml index 3ee80fece49..f949f79df28 100644 --- a/openerp/addons/base/res/res_partner_view.xml +++ b/openerp/addons/base/res/res_partner_view.xml @@ -371,7 +371,75 @@ <field name="ref" groups="base.group_extended" colspan="4"/> </group> <group colspan="4" attrs="{'invisible': [('is_company','!=', 'partner')]}"> - <field name="child_ids" domain="[('id','!=',parent_id.id)]" nolabel="1" context="{'default_parent_id': id}"/> + <field name="child_ids" domain="[('id','!=',parent_id.id)]" nolabel="1" context="{'default_parent_id': id}"> + <form string="Partners"> + <group col="8" colspan="4"> + <group col="2"> + <field name="is_company" on_change="onchange_type(is_company, title,child_ids)" attrs="{'required': True}"/> + <field name="function" attrs="{'invisible': [('is_company','=', 'partner')]}" colspan="2"/> + <field name="title" size="0" groups="base.group_extended" domain="[('domain', '=', is_company)]"/> + </group> + <group col="2"> + <field name="name" attrs="{'required': True}"/> + <field name="parent_id" string="Company" attrs="{'invisible': [('is_company','=', 'partner')]}" domain="[('is_company', '=', 'partner')]" context="{'default_is_company': 'partner'}" on_change="onchange_address(use_parent_address, parent_id)" invisible="1"/> + </group> + <group col="2"> + <field name="customer"/> + <field name="supplier"/> + </group> + <group col="2"> + <field name="photo" widget='image' nolabel="1"/> + </group> + </group> + <notebook colspan="4"> + <page string="General"> + <group colspan="2"> + <separator string="Address" colspan="4"/> + <group colspan="2"> + <field name="type" string="Type" attrs="{'invisible': [('is_company','=', 'partner')]}"/> + <field name="use_parent_address" attrs="{'invisible': [('is_company','=', 'partner')]}" on_change="onchange_address(use_parent_address, parent_id)"/> + </group> + <newline/> + <field name="street" colspan="4"/> + <field name="street2" colspan="4"/> + <field name="zip"/> + <field name="city"/> + <field name="country_id"/> + <field name="state_id"/> + </group> + <group colspan="2"> + <separator string="Communication" colspan="4"/> + <field name="lang" colspan="4"/> + <field name="phone" colspan="4"/> + <field name="mobile" colspan="4"/> + <field name="fax" colspan="4"/> + <field name="email" widget="email" colspan="4"/> + <field name="website" widget="url" colspan="4"/> + <field name="ref" groups="base.group_extended" colspan="4"/> + </group> + <group colspan="4" attrs="{'invisible': [('is_company','!=', 'partner')]}"> + <field name="child_ids" domain="[('id','!=',parent_id.id)]" nolabel="1"/> + </group> + </page> + <page string="Sales & Purchases" attrs="{'invisible': [('customer', '=', False), ('supplier', '=', False)]}"> + <separator string="General Information" colspan="4"/> + <field name="user_id"/> + <field name="active" groups="base.group_extended"/> + <field name="date"/> + <field name="company_id" groups="base.group_multi_company" widget="selection"/> + <newline/> + </page> + <page string="History" groups="base.group_extended" invisible="True"> + </page> + <page string="Categories" groups="base.group_extended"> + <field name="category_id" colspan="4" nolabel="1"/> + </page> + <page string="Notes"> + <field name="comment" colspan="4" nolabel="1"/> + </page> + </notebook> + </form> + </field> </group> </page> <page string="Sales & Purchases" attrs="{'invisible': [('customer', '=', False), ('supplier', '=', False)]}"> From 5821c1147720cb47de39586d4423d1e95ab0cf79 Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Tue, 28 Feb 2012 18:54:13 +0530 Subject: [PATCH 053/313] [IMP] base/res_partner: remove child form view bzr revid: kjo@tinyerp.com-20120228132413-1a7zk412jt7if0db --- openerp/addons/base/res/res_partner_view.xml | 70 +------------------- 1 file changed, 1 insertion(+), 69 deletions(-) diff --git a/openerp/addons/base/res/res_partner_view.xml b/openerp/addons/base/res/res_partner_view.xml index f949f79df28..1de1419eb5e 100644 --- a/openerp/addons/base/res/res_partner_view.xml +++ b/openerp/addons/base/res/res_partner_view.xml @@ -371,75 +371,7 @@ <field name="ref" groups="base.group_extended" colspan="4"/> </group> <group colspan="4" attrs="{'invisible': [('is_company','!=', 'partner')]}"> - <field name="child_ids" domain="[('id','!=',parent_id.id)]" nolabel="1" context="{'default_parent_id': id}"> - <form string="Partners"> - <group col="8" colspan="4"> - <group col="2"> - <field name="is_company" on_change="onchange_type(is_company, title,child_ids)" attrs="{'required': True}"/> - <field name="function" attrs="{'invisible': [('is_company','=', 'partner')]}" colspan="2"/> - <field name="title" size="0" groups="base.group_extended" domain="[('domain', '=', is_company)]"/> - </group> - <group col="2"> - <field name="name" attrs="{'required': True}"/> - <field name="parent_id" string="Company" attrs="{'invisible': [('is_company','=', 'partner')]}" domain="[('is_company', '=', 'partner')]" context="{'default_is_company': 'partner'}" on_change="onchange_address(use_parent_address, parent_id)" invisible="1"/> - </group> - <group col="2"> - <field name="customer"/> - <field name="supplier"/> - </group> - <group col="2"> - <field name="photo" widget='image' nolabel="1"/> - </group> - </group> - <notebook colspan="4"> - <page string="General"> - <group colspan="2"> - <separator string="Address" colspan="4"/> - <group colspan="2"> - <field name="type" string="Type" attrs="{'invisible': [('is_company','=', 'partner')]}"/> - <field name="use_parent_address" attrs="{'invisible': [('is_company','=', 'partner')]}" on_change="onchange_address(use_parent_address, parent_id)"/> - </group> - <newline/> - <field name="street" colspan="4"/> - <field name="street2" colspan="4"/> - <field name="zip"/> - <field name="city"/> - <field name="country_id"/> - <field name="state_id"/> - </group> - <group colspan="2"> - <separator string="Communication" colspan="4"/> - <field name="lang" colspan="4"/> - <field name="phone" colspan="4"/> - <field name="mobile" colspan="4"/> - <field name="fax" colspan="4"/> - <field name="email" widget="email" colspan="4"/> - <field name="website" widget="url" colspan="4"/> - <field name="ref" groups="base.group_extended" colspan="4"/> - </group> - <group colspan="4" attrs="{'invisible': [('is_company','!=', 'partner')]}"> - <field name="child_ids" domain="[('id','!=',parent_id.id)]" nolabel="1"/> - </group> - </page> - <page string="Sales & Purchases" attrs="{'invisible': [('customer', '=', False), ('supplier', '=', False)]}"> - <separator string="General Information" colspan="4"/> - <field name="user_id"/> - <field name="active" groups="base.group_extended"/> - <field name="date"/> - <field name="company_id" groups="base.group_multi_company" widget="selection"/> - <newline/> - </page> - <page string="History" groups="base.group_extended" invisible="True"> - </page> - <page string="Categories" groups="base.group_extended"> - <field name="category_id" colspan="4" nolabel="1"/> - </page> - <page string="Notes"> - <field name="comment" colspan="4" nolabel="1"/> - </page> - </notebook> - </form> - </field> + <field name="child_ids" nolabel="1" context="{'default_parent_id': id}"/> </group> </page> <page string="Sales & Purchases" attrs="{'invisible': [('customer', '=', False), ('supplier', '=', False)]}"> From 0856c439a6b9dd2fdbffc08f51a5da59b203c8ad Mon Sep 17 00:00:00 2001 From: "Bhumika (OpenERP)" <sbh@tinyerp.com> Date: Wed, 29 Feb 2012 09:46:10 +0530 Subject: [PATCH 054/313] [ADD]base/res: Add deprecated warning on create, write method of res.partner.address bzr revid: sbh@tinyerp.com-20120229041610-ld3yiqszfhtie0cf --- openerp/addons/base/res/res_partner.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index e38b39d0fd0..d7f9a3c4201 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -25,6 +25,7 @@ from osv import fields,osv import tools import pooler from tools.translate import _ +import logging class res_payterm(osv.osv): _description = 'Payment term' @@ -423,6 +424,12 @@ class res_partner_address(osv.osv): 'company_id': fields.many2one('res.company', 'Company',select=1), 'color': fields.integer('Color Index'), } + def write(self, cr, uid, ids, vals, context=None): + logging.getLogger('res.partner').warning("Deprecated, use of res.partner.address and used res.partner") + return super(res_partner_address,self).write(cr, uid, ids, vals, context=context) + def create(self, cr, uid, vals, context=None): + logging.getLogger('res.partner').warning("Deprecated, use of res.partner.address and used res.partner") + return super(res_partner_address,self).create(cr, uid, vals, context=context) res_partner_address() # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: From a3279e2f84f14a9b6841de232b1b18bd300debd2 Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Wed, 29 Feb 2012 10:24:41 +0530 Subject: [PATCH 055/313] [IMP] base/res_partner: change in demo file bzr revid: kjo@tinyerp.com-20120229045441-ljgg0jf6od964dtb --- openerp/addons/base/res/res_partner_demo.xml | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/openerp/addons/base/res/res_partner_demo.xml b/openerp/addons/base/res/res_partner_demo.xml index b558c7610fb..d31a1a6ab1e 100644 --- a/openerp/addons/base/res/res_partner_demo.xml +++ b/openerp/addons/base/res/res_partner_demo.xml @@ -237,7 +237,7 @@ <record id="res_partner_duboissprl0" model="res.partner"> <field eval="'Sprl Dubois would like to sell our bookshelves but they have no storage location, so it would be exclusively on order'" name="comment"/> <field name="name">Dubois sprl</field> - <field name="address" eval="[]"/> + <field name="is_compnay">partner</field> <field name="website">http://www.dubois.be/</field> </record> @@ -253,7 +253,10 @@ <record id="res_partner_lucievonck0" model="res.partner"> <field name="name">Lucie Vonck</field> - <field name="address" eval="[]"/> + <field eval="'Grand-Rosière'" name="city"/> + <field eval="'1367'" name="zip"/> + <field name="country_id" ref="base.be"/> + <field eval="'Chaussée de Namur'" name="street"/> </record> <!--record id="res_partner_notsotinysarl0" model="res.partner"> @@ -697,13 +700,13 @@ </record--> - <record id="res_partner_address_4" model="res.partner"> + <!--record id="res_partner_address_4" model="res.partner"> <field eval="'Grand-Rosière'" name="city"/> <field eval="'1367'" name="zip"/> <field name="parent_id" ref="res_partner_lucievonck0"/> <field name="country_id" ref="base.be"/> <field eval="'Chaussée de Namur'" name="street"/> - </record> + </record--> <!-- From 41e9e2b38abf680ef49acb787bf5a09e78ca4d4c Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Wed, 29 Feb 2012 12:58:57 +0530 Subject: [PATCH 056/313] [IMP] base/res_partner: set required true for name and company bzr revid: kjo@tinyerp.com-20120229072857-gd117xdkm49k9py2 --- openerp/addons/base/res/res_partner_view.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openerp/addons/base/res/res_partner_view.xml b/openerp/addons/base/res/res_partner_view.xml index 1de1419eb5e..d39e2eea3ce 100644 --- a/openerp/addons/base/res/res_partner_view.xml +++ b/openerp/addons/base/res/res_partner_view.xml @@ -328,12 +328,12 @@ <form string="Partners"> <group col="8" colspan="4"> <group col="2"> - <field name="is_company" on_change="onchange_type(is_company, title,child_ids)" attrs="{'required': True}"/> + <field name="is_company" on_change="onchange_type(is_company, title,child_ids)" required="1"/> <field name="function" attrs="{'invisible': [('is_company','=', 'partner')]}" colspan="2"/> <field name="title" size="0" groups="base.group_extended" domain="[('domain', '=', is_company)]"/> </group> <group col="2"> - <field name="name" attrs="{'required': True}"/> + <field name="name" required="1"/> <field name="parent_id" string="Company" attrs="{'invisible': [('is_company','=', 'partner')]}" domain="[('is_company', '=', 'partner')]" context="{'default_is_company': 'partner'}" on_change="onchange_address(use_parent_address, parent_id)"/> </group> <group col="2"> From 4b6cd64e6ecb923f9e94a891c0518d574416bb81 Mon Sep 17 00:00:00 2001 From: "Bhumika (OpenERP)" <sbh@tinyerp.com> Date: Wed, 29 Feb 2012 14:43:45 +0530 Subject: [PATCH 057/313] [Fix]base/res: Fix synchronization of company address and person contact bzr revid: sbh@tinyerp.com-20120229091345-xhmgpiqruy165lia --- openerp/addons/base/res/res_partner.py | 40 ++++++++++++++++---------- 1 file changed, 25 insertions(+), 15 deletions(-) diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index d7f9a3c4201..6f42391a79f 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -194,7 +194,7 @@ class res_partner(osv.osv): if is_company == 'contact': return {'value': {'is_company': is_company, 'title': '','child_ids':[(5,)]}} elif is_company == 'partner': - return {'value': {'is_company': is_company, 'title': '','parent_id':''}} + return {'value': {'is_company': is_company, 'title': '','parent_id':False}} return {'value': {'is_comapny': '', 'title': ''}} @@ -242,30 +242,40 @@ class res_partner(osv.osv): ids = [ids] for partner_id in self.browse(cr, uid, ids, context=context): is_company=partner_id.is_company - parent_id=partner_id.parent_id.id + parent_id=partner_id.parent_id.id if is_company == 'contact' and parent_id: update_ids= self.search(cr, uid, [('parent_id', '=', parent_id),('use_parent_address','=',True)], context=context) if parent_id not in update_ids: - update_ids.append(parent_id) + update_ids.append(parent_id) elif is_company == 'partner': - update_ids= self.search(cr, uid, [('parent_id', '=', partner_id.id),('use_parent_address','=',True)], context=context) + update_ids= self.search(cr, uid, [('parent_id', '=', partner_id.id),('use_parent_address','=',True)], context=context)# if update_ids: - self.udpate_address(cr,uid,update_ids,vals,context) - return super(res_partner,self).write(cr, uid, ids, vals, context=context) + self.udpate_address(cr,uid,update_ids,False,vals,context) + return super(res_partner,self).write(cr, uid, ids, vals, context=context) + + def create(self, cr, uid, vals, context=None): + if vals.get('parent_id'): + update_ids= self.search(cr, uid, [('parent_id', '=', vals.get('parent_id')),('use_parent_address','=',True)], context=context) + update_ids.append(vals.get('parent_id')) + self.udpate_address(cr,uid,False,update_ids,vals) + return super(res_partner,self).create(cr, uid, vals, context=context) - def udpate_address(self,cr,uid,update_ids,vals, context=None): - # Remove this after all testing - for id in update_ids: - for key, data in vals.iteritems(): - if key in ('street','street2','zip','city','state_id','country_id','email','phone','fax','mobile','website','ref','lang'): - sql = "update res_partner set %(field)s = %%(value)s where id = %%(id)s" % { + def udpate_address(self,cr,uid,update_ids,parent_id,vals, context=None): + # Remove this method after testing all case +# if update_ids: +# osv.osv.write(self, cr, uid,update_ids, vals,context=context) + for key, data in vals.iteritems(): + if key in ('street','street2','zip','city','state_id','country_id','email','phone','fax','mobile','website','ref','lang') and data : + update_list=update_ids or parent_id + if update_list : + sql = "update res_partner set %(field)s = %%(value)s where id in %%(id)s" % { 'field': key, } cr.execute(sql, { - 'value': data, - 'id':id - }) + 'value': data or '', + 'id':tuple(update_list) + }) return True # _constraints = [(_check_ean_key, 'Error: Invalid ean code', ['ean13'])] From 9af570b3fefae4d0101fdb5d447e0cebd4c1b6bc Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Wed, 29 Feb 2012 15:32:41 +0530 Subject: [PATCH 058/313] [IMP] base/res_partner: change kanban view bzr revid: kjo@tinyerp.com-20120229100241-novvq29r4v6rk0gx --- openerp/addons/base/res/res_partner_view.xml | 54 ++++++++------------ 1 file changed, 21 insertions(+), 33 deletions(-) diff --git a/openerp/addons/base/res/res_partner_view.xml b/openerp/addons/base/res/res_partner_view.xml index d39e2eea3ce..c888f5c07b7 100644 --- a/openerp/addons/base/res/res_partner_view.xml +++ b/openerp/addons/base/res/res_partner_view.xml @@ -371,7 +371,7 @@ <field name="ref" groups="base.group_extended" colspan="4"/> </group> <group colspan="4" attrs="{'invisible': [('is_company','!=', 'partner')]}"> - <field name="child_ids" nolabel="1" context="{'default_parent_id': id}"/> + <field name="child_ids" nolabel="1"/> </group> </page> <page string="Sales & Purchases" attrs="{'invisible': [('customer', '=', False), ('supplier', '=', False)]}"> @@ -437,50 +437,37 @@ <field name="is_company"/> <field name="function"/> <field name="phone"/> + <field name="street"/> + <field name="street2"/> + <field name="photo"/> + <field name="zip"/> + <field name="city"/> + <field name="country_id"/> + <field name="mobile"/> <templates> <t t-name="kanban-box"> <t t-set="color" t-value="kanban_color(record.color.raw_value || record.name.raw_value)"/> <div t-att-class="color + (record.color.raw_value == 1 ? ' oe_kanban_color_alert' : '')"> <div class="oe_kanban_box oe_kanban_color_border"> <div class="oe_kanban_box_header oe_kanban_color_bgdark oe_kanban_color_border oe_kanban_draghandle"> - <table class="oe_kanban_table"> - <tr> - <td class="oe_kanban_title1" align="left" valign="middle"> - <field name="name"/> - <t t-if="record.name.raw_value and record.title.raw_value">,</t> - <field name="title"/> - </td> - <td valign="top" width="22"> - <img t-att-src="kanban_gravatar(record.email.value, 22)" class="oe_kanban_gravatar"/> - </td> - </tr> - </table> - </div> <div class="oe_kanban_box_content oe_kanban_color_bglight oe_kanban_box_show_onclick_trigger oe_kanban_color_border"> <table class="oe_kanban_table"> <tr> <td valign="top" width="64" align="left"> <img t-att-src="kanban_image('res.partner', 'photo', record.id.value)" width="64" height="64"/> </td> - <td valign="top" align="left"> - <div class="oe_kanban_title2"> - <t t-if="record.parent_id.raw_value"> - <field name="parent_id"/> - </t> - <t t-if="record.is_company.raw_value"> - <field name="country_id"/> - </t> - </div> - <div class="oe_kanban_title3"> - <t t-if="record.function.raw_value"> - <field name="function"/> - </t> - </div> - <div class="oe_kanban_title3"> - <i><field name="email"/> - <t t-if="record.phone.raw_value and record.email.raw_value">,</t> - <field name="phone"/></i> - </div> + <td class="oe_kanban_title1" align="left" valign="middle"> + <h4><a type="edit"><field name="name"/></a></h4> + <field name="street"/> + <field name="street2"/><br/> + <field name="city"/> + <field name="zip"/><br/> + <field name="country_id"/><br/> + <field name="email"/><br/> + <field name="mobile"/><br/> + </td> + <td t-if="record.is_company.raw_value == 'contact'" valign="top" align="right"> + <img t-att-src="kanban_gravatar(record.photo.value, 22)" class="oe_kanban_gravatar"/> </td> </tr> </table> @@ -495,6 +482,7 @@ </div> <br class="oe_kanban_clear"/> </div> + </div> </div> </div> </t> From b8f6f5c9f60d87743d6e45b89044aa43162655d1 Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Wed, 29 Feb 2012 16:19:14 +0530 Subject: [PATCH 059/313] [IMP] base/res_partner: set context on child_ids field bzr revid: kjo@tinyerp.com-20120229104914-8ao2db0q8kpqer06 --- openerp/addons/base/res/res_partner_view.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openerp/addons/base/res/res_partner_view.xml b/openerp/addons/base/res/res_partner_view.xml index c888f5c07b7..f1347861ce1 100644 --- a/openerp/addons/base/res/res_partner_view.xml +++ b/openerp/addons/base/res/res_partner_view.xml @@ -371,7 +371,7 @@ <field name="ref" groups="base.group_extended" colspan="4"/> </group> <group colspan="4" attrs="{'invisible': [('is_company','!=', 'partner')]}"> - <field name="child_ids" nolabel="1"/> + <field name="child_ids" context="{'default_parent_id': active_id}" nolabel="1"/> </group> </page> <page string="Sales & Purchases" attrs="{'invisible': [('customer', '=', False), ('supplier', '=', False)]}"> From 292610067393751b994ecc3ecaa617c7a26fb021 Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Wed, 29 Feb 2012 16:38:39 +0530 Subject: [PATCH 060/313] [IMP] base/res_partner: add demo data bzr revid: kjo@tinyerp.com-20120229110839-895x65cp1xyomnxx --- openerp/addons/base/res/res_partner_demo.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/openerp/addons/base/res/res_partner_demo.xml b/openerp/addons/base/res/res_partner_demo.xml index d31a1a6ab1e..031ec2befd2 100644 --- a/openerp/addons/base/res/res_partner_demo.xml +++ b/openerp/addons/base/res/res_partner_demo.xml @@ -614,6 +614,7 @@ <record id="res_partner_address_0" model="res.partner"> + <field eval="Brus" name="name"/> <field eval="'Brussels'" name="city"/> <field name="country_id" ref="base.be"/> </record> From 2092950a0bcfcc858e8a914ae2c8ce87dcf7c693 Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Wed, 29 Feb 2012 16:43:36 +0530 Subject: [PATCH 061/313] [IMP] base/res_partner: change demo data bzr revid: kjo@tinyerp.com-20120229111336-v6doiyqi4e7m1mmj --- openerp/addons/base/res/res_partner_demo.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openerp/addons/base/res/res_partner_demo.xml b/openerp/addons/base/res/res_partner_demo.xml index 031ec2befd2..ce42b90a938 100644 --- a/openerp/addons/base/res/res_partner_demo.xml +++ b/openerp/addons/base/res/res_partner_demo.xml @@ -614,7 +614,7 @@ <record id="res_partner_address_0" model="res.partner"> - <field eval="Brus" name="name"/> + <field name="name">Brus</field> <field eval="'Brussels'" name="city"/> <field name="country_id" ref="base.be"/> </record> From 8d95a3fb832aaa30668a8d1b9dd342c6d8e6332b Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Wed, 29 Feb 2012 17:12:58 +0530 Subject: [PATCH 062/313] [IMP] sale: remove contact address bzr revid: kjo@tinyerp.com-20120229114258-fotdotegzhqbcfb4 --- addons/sale/edi/sale_order.py | 6 +++--- addons/sale/report/sale_order.rml | 6 +++--- addons/sale/sale.py | 10 +++++----- addons/sale/sale_demo.xml | 14 +++++++------- addons/sale/sale_view.xml | 4 ++-- addons/sale/stock.py | 1 - addons/sale/test/edi_sale_order.yml | 3 +-- addons/sale/wizard/sale_make_invoice_advance.py | 1 - 8 files changed, 21 insertions(+), 24 deletions(-) diff --git a/addons/sale/edi/sale_order.py b/addons/sale/edi/sale_order.py index d40d0b613ed..2d9f7ae1778 100644 --- a/addons/sale/edi/sale_order.py +++ b/addons/sale/edi/sale_order.py @@ -82,7 +82,7 @@ class sale_order(osv.osv, EDIMixin): '__import_module': 'purchase', 'company_address': res_company.edi_export_address(cr, uid, order.company_id, context=context), - 'partner_address': res_partner_address.edi_export(cr, uid, [order.partner_order_id], context=context)[0], + 'partner_address': res_partner_address.edi_export(cr, uid, [order.partner_invoice_id], context=context)[0], 'currency': self.pool.get('res.currency').edi_export(cr, uid, [order.pricelist_id.currency_id], context=context)[0], @@ -120,7 +120,7 @@ class sale_order(osv.osv, EDIMixin): edi_document['partner_id'] = (src_company_id, src_company_name) edi_document.pop('partner_address', False) # ignored address_edi_m2o = self.edi_m2o(cr, uid, partner_address, context=context) - edi_document['partner_order_id'] = address_edi_m2o +# edi_document['partner_order_id'] = address_edi_m2o edi_document['partner_invoice_id'] = address_edi_m2o edi_document['partner_shipping_id'] = address_edi_m2o @@ -219,4 +219,4 @@ class sale_order_line(osv.osv, EDIMixin): edi_doc_list.append(edi_doc) return edi_doc_list -# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: \ No newline at end of file +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/sale/report/sale_order.rml b/addons/sale/report/sale_order.rml index 26093c0961f..95b8a74fd03 100644 --- a/addons/sale/report/sale_order.rml +++ b/addons/sale/report/sale_order.rml @@ -173,12 +173,12 @@ </td> <td> <para style="terp_default_9">[[ (o.partner_id and o.partner_id.title and o.partner_id.title.name) or '' ]] [[ (o.partner_id and o.partner_id.name) or '' ]]</para> - <para style="terp_default_9">[[ o.partner_order_id and display_address(o.partner_order_id) ]] </para> + <!--para style="terp_default_9">[[ o.partner_order_id and display_address(o.partner_order_id) ]] </para--> <para style="terp_default_9"> <font color="white"> </font> </para> - <para style="terp_default_9">Tel. : [[ (o.partner_order_id and o.partner_order_id.phone) or removeParentNode('para') ]]</para> - <para style="terp_default_9">Fax : [[ (o.partner_order_id and o.partner_order_id.fax) or removeParentNode('para') ]]</para> + <!--para style="terp_default_9">Tel. : [[ (o.partner_order_id and o.partner_order_id.phone) or removeParentNode('para') ]]</para> + <para style="terp_default_9">Fax : [[ (o.partner_order_id and o.partner_order_id.fax) or removeParentNode('para') ]]</para--> <para style="terp_default_9">TVA : [[ (o.partner_id and o.partner_id.vat) or removeParentNode('para') ]]</para> <para style="terp_default_9"> <font color="white"> </font> diff --git a/addons/sale/sale.py b/addons/sale/sale.py index 82bfda7b580..5560fd0de15 100644 --- a/addons/sale/sale.py +++ b/addons/sale/sale.py @@ -216,7 +216,7 @@ class sale_order(osv.osv): 'user_id': fields.many2one('res.users', 'Salesman', states={'draft': [('readonly', False)]}, select=True), 'partner_id': fields.many2one('res.partner', 'Customer', readonly=True, states={'draft': [('readonly', False)]}, required=True, change_default=True, select=True), 'partner_invoice_id': fields.many2one('res.partner.address', 'Invoice Address', readonly=True, required=True, states={'draft': [('readonly', False)]}, help="Invoice address for current sales order."), - 'partner_order_id': fields.many2one('res.partner.address', 'Ordering Contact', readonly=True, required=True, states={'draft': [('readonly', False)]}, help="The name and address of the contact who requested the order or quotation."), +# 'partner_order_id': fields.many2one('res.partner.address', 'Ordering Contact', readonly=True, required=True, states={'draft': [('readonly', False)]}, help="The name and address of the contact who requested the order or quotation."), 'partner_shipping_id': fields.many2one('res.partner.address', 'Shipping Address', readonly=True, required=True, states={'draft': [('readonly', False)]}, help="Shipping address for current sales order."), 'incoterm': fields.many2one('stock.incoterms', 'Incoterm', help="Incoterm which stands for 'International Commercial terms' implies its a series of sales terms which are used in the commercial transaction."), @@ -279,7 +279,7 @@ class sale_order(osv.osv): 'name': lambda obj, cr, uid, context: obj.pool.get('ir.sequence').get(cr, uid, 'sale.order'), 'invoice_quantity': 'order', 'partner_invoice_id': lambda self, cr, uid, context: context.get('partner_id', False) and self.pool.get('res.partner').address_get(cr, uid, [context['partner_id']], ['invoice'])['invoice'], - 'partner_order_id': lambda self, cr, uid, context: context.get('partner_id', False) and self.pool.get('res.partner').address_get(cr, uid, [context['partner_id']], ['contact'])['contact'], +# 'partner_order_id': lambda self, cr, uid, context: context.get('partner_id', False) and self.pool.get('res.partner').address_get(cr, uid, [context['partner_id']], ['contact'])['contact'], 'partner_shipping_id': lambda self, cr, uid, context: context.get('partner_id', False) and self.pool.get('res.partner').address_get(cr, uid, [context['partner_id']], ['delivery'])['delivery'], } _sql_constraints = [ @@ -347,7 +347,7 @@ class sale_order(osv.osv): def onchange_partner_id(self, cr, uid, ids, part): if not part: - return {'value': {'partner_invoice_id': False, 'partner_shipping_id': False, 'partner_order_id': False, 'payment_term': False, 'fiscal_position': False}} + return {'value': {'partner_invoice_id': False, 'partner_shipping_id': False, 'payment_term': False, 'fiscal_position': False}} addr = self.pool.get('res.partner').address_get(cr, uid, [part], ['delivery', 'invoice', 'contact']) part = self.pool.get('res.partner').browse(cr, uid, part) @@ -357,7 +357,7 @@ class sale_order(osv.osv): dedicated_salesman = part.user_id and part.user_id.id or uid val = { 'partner_invoice_id': addr['invoice'], - 'partner_order_id': addr['contact'], +# 'partner_order_id': addr['contact'], 'partner_shipping_id': addr['delivery'], 'payment_term': payment_term, 'fiscal_position': fiscal_position, @@ -430,7 +430,7 @@ class sale_order(osv.osv): 'partner_id': order.partner_id.id, 'journal_id': journal_ids[0], 'address_invoice_id': order.partner_invoice_id.id, - 'address_contact_id': order.partner_order_id.id, +# 'address_contact_id': order.partner_order_id.id, 'invoice_line': [(6, 0, lines)], 'currency_id': order.pricelist_id.currency_id.id, 'comment': order.note, diff --git a/addons/sale/sale_demo.xml b/addons/sale/sale_demo.xml index 5da496a1c4b..08d06c3c918 100644 --- a/addons/sale/sale_demo.xml +++ b/addons/sale/sale_demo.xml @@ -11,7 +11,7 @@ <field ref="base.res_partner_agrolait" name="partner_id"/> <field ref="base.res_partner_address_8" name="partner_invoice_id"/> <field ref="base.res_partner_address_8" name="partner_shipping_id"/> - <field ref="base.res_partner_address_8" name="partner_order_id"/> + <!--field ref="base.res_partner_address_8" name="partner_order_id"/--> <field name="order_policy">picking</field> <field name="invoice_quantity">procurement</field> <field name="note">Invoice after delivery</field> @@ -68,7 +68,7 @@ <field name="partner_id" ref="base.res_partner_2"/> <field name="partner_invoice_id" ref="base.res_partner_address_9"/> <field name="partner_shipping_id" ref="base.res_partner_address_9"/> - <field name="partner_order_id" ref="base.res_partner_address_9"/> + <!--field name="partner_order_id" ref="base.res_partner_address_9"/--> <field name="invoice_quantity">order</field> <field name="order_policy">postpaid</field> @@ -104,7 +104,7 @@ <field name="partner_id" ref="base.res_partner_agrolait"/> <field name="partner_invoice_id" ref="base.res_partner_address_8"/> <field name="partner_shipping_id" ref="base.res_partner_address_8"/> - <field name="partner_order_id" ref="base.res_partner_address_8"/> + <!--field name="partner_order_id" ref="base.res_partner_address_8"/--> <field name="order_policy">prepaid</field> </record> <record id="line5" model="sale.order.line"> @@ -137,7 +137,7 @@ <field name="partner_id" ref="base.res_partner_5"/> <field name="partner_invoice_id" ref="base.res_partner_address_10"/> <field name="partner_shipping_id" ref="base.res_partner_address_10"/> - <field name="partner_order_id" ref="base.res_partner_address_10"/> + <!--field name="partner_order_id" ref="base.res_partner_address_10"/--> </record> <record id="line7" model="sale.order.line"> <field name="order_id" ref="order4"/> @@ -170,7 +170,7 @@ <field name="partner_id" ref="base.res_partner_3"/> <field name="partner_invoice_id" ref="base.res_partner_address_zen"/> <field name="partner_shipping_id" ref="base.res_partner_address_zen"/> - <field name="partner_order_id" ref="base.res_partner_address_zen"/> + <!--field name="partner_order_id" ref="base.res_partner_address_zen"/--> </record> <record id="line9" model="sale.order.line"> <field name="order_id" ref="order5"/> @@ -203,7 +203,7 @@ <field name="partner_id" ref="base.res_partner_maxtor"/> <field name="partner_invoice_id" ref="base.res_partner_address_wong"/> <field name="partner_shipping_id" ref="base.res_partner_address_wong"/> - <field name="partner_order_id" ref="base.res_partner_address_wong"/> + <!--field name="partner_order_id" ref="base.res_partner_address_wong"/--> </record> <record id="order6_line0" model="sale.order.line"> <field name="order_id" ref="order6"/> @@ -237,7 +237,7 @@ <field name="partner_id" ref="base.res_partner_desertic_hispafuentes"/> <field name="partner_invoice_id" ref="base.res_partner_address_3000"/> <field name="partner_shipping_id" ref="base.res_partner_address_3000"/> - <field name="partner_order_id" ref="base.res_partner_address_3000"/> + <!--field name="partner_order_id" ref="base.res_partner_address_3000"/--> </record> <record id="order7_line0" model="sale.order.line"> <field name="order_id" ref="order7"/> diff --git a/addons/sale/sale_view.xml b/addons/sale/sale_view.xml index 90d3838f5a0..9c9b3d06fec 100644 --- a/addons/sale/sale_view.xml +++ b/addons/sale/sale_view.xml @@ -116,11 +116,11 @@ <notebook colspan="5"> <page string="Sales Order"> <field name="partner_id" options='{"quick_create": false}' on_change="onchange_partner_id(partner_id)" domain="[('customer','=',True)]" context="{'search_default_customer':1}" required="1"/> - <field domain="[('partner_id','=',partner_id)]" name="partner_order_id" on_change="onchange_partner_order_id(partner_order_id, partner_invoice_id, partner_shipping_id)" options='{"quick_create": false}'/> + <!--field domain="[('partner_id','=',partner_id)]" name="partner_order_id" on_change="onchange_partner_order_id(partner_order_id, partner_invoice_id, partner_shipping_id)" options='{"quick_create": false}'/--> <field domain="[('partner_id','=',partner_id)]" name="partner_invoice_id" groups="base.group_extended" options='{"quick_create": false}'/> <field domain="[('partner_id','=',partner_id)]" name="partner_shipping_id" groups="base.group_extended" options='{"quick_create": false}'/> <field domain="[('type','=','sale')]" name="pricelist_id" groups="base.group_extended" on_change="onchange_pricelist_id(pricelist_id,order_line)"/> - <field name="project_id" context="{'partner_id':partner_id, 'contact_id':partner_order_id, 'pricelist_id':pricelist_id, 'default_name':name}" groups="analytic.group_analytic_accounting" domain="[('parent_id','!=',False)]"/> + <field name="project_id" context="{'partner_id':partner_id, 'pricelist_id':pricelist_id, 'default_name':name}" groups="analytic.group_analytic_accounting" domain="[('parent_id','!=',False)]"/> <newline/> <field colspan="4" name="order_line" nolabel="1" widget="one2many_list"> <form string="Sales Order Lines"> diff --git a/addons/sale/stock.py b/addons/sale/stock.py index f13e512c008..b42ed0c7e5d 100644 --- a/addons/sale/stock.py +++ b/addons/sale/stock.py @@ -67,7 +67,6 @@ class stock_picking(osv.osv): """ invoice_vals = super(stock_picking, self)._prepare_invoice(cr, uid, picking, partner, inv_type, journal_id, context=context) if picking.sale_id: - invoice_vals['address_contact_id'] = picking.sale_id.partner_order_id.id invoice_vals['address_invoice_id'] = picking.sale_id.partner_invoice_id.id invoice_vals['fiscal_position'] = picking.sale_id.fiscal_position.id invoice_vals['payment_term'] = picking.sale_id.payment_term.id diff --git a/addons/sale/test/edi_sale_order.yml b/addons/sale/test/edi_sale_order.yml index 9a207d9f44e..5de0a6c4778 100644 --- a/addons/sale/test/edi_sale_order.yml +++ b/addons/sale/test/edi_sale_order.yml @@ -4,7 +4,6 @@ !record {model: sale.order, id: sale_order_edi_1}: partner_id: base.res_partner_agrolait partner_invoice_id: base.res_partner_address_8invoice - partner_order_id: base.res_partner_address_8invoice partner_shipping_id: base.res_partner_address_8invoice pricelist_id: 1 order_line: @@ -129,4 +128,4 @@ assert sale_line.price_unit == 100 , "unit price is not same, got %s, expected 100"%(sale_line.price_unit,) assert sale_line.product_uom_qty == 2 , "product qty is not same" else: - raise AssertionError('unknown order line: %s' % sale_line) \ No newline at end of file + raise AssertionError('unknown order line: %s' % sale_line) diff --git a/addons/sale/wizard/sale_make_invoice_advance.py b/addons/sale/wizard/sale_make_invoice_advance.py index cb9bb2fc5bd..a68280afad0 100644 --- a/addons/sale/wizard/sale_make_invoice_advance.py +++ b/addons/sale/wizard/sale_make_invoice_advance.py @@ -93,7 +93,6 @@ class sale_advance_payment_inv(osv.osv_memory): 'account_id': sale.partner_id.property_account_receivable.id, 'partner_id': sale.partner_id.id, 'address_invoice_id': sale.partner_invoice_id.id, - 'address_contact_id': sale.partner_order_id.id, 'invoice_line': [(6, 0, create_ids)], 'currency_id': sale.pricelist_id.currency_id.id, 'comment': '', From e1a9ac3dac9bb14ea3f411b16469ec6e20e5ed8f Mon Sep 17 00:00:00 2001 From: "Bhumika (OpenERP)" <sbh@tinyerp.com> Date: Wed, 29 Feb 2012 17:36:16 +0530 Subject: [PATCH 063/313] [Fix]base/res: Fix name of field in demo data bzr revid: sbh@tinyerp.com-20120229120616-j1tyxqogm9x6zvle --- openerp/addons/base/res/res_partner_demo.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/openerp/addons/base/res/res_partner_demo.xml b/openerp/addons/base/res/res_partner_demo.xml index ce42b90a938..348e9f0931a 100644 --- a/openerp/addons/base/res/res_partner_demo.xml +++ b/openerp/addons/base/res/res_partner_demo.xml @@ -237,7 +237,7 @@ <record id="res_partner_duboissprl0" model="res.partner"> <field eval="'Sprl Dubois would like to sell our bookshelves but they have no storage location, so it would be exclusively on order'" name="comment"/> <field name="name">Dubois sprl</field> - <field name="is_compnay">partner</field> + <field name="is_company">partner</field> <field name="website">http://www.dubois.be/</field> </record> @@ -669,7 +669,7 @@ </record> - <record id="res_partner_address_fabiendupont0" model="res.partner"> + <record id="res_partner_fabiendupont0" model="res.partner"> <field eval="'Namur'" name="city"/> <field eval="'Fabien Dupont'" name="name"/> <field eval="'5000'" name="zip"/> @@ -679,7 +679,7 @@ </record> - <record id="res_partner_address_ericdubois0" model="res.partner"> + <record id="res_partner_ericdubois0" model="res.partner"> <field eval="'Mons'" name="city"/> <field eval="'Eric Dubois'" name="name"/> <field eval="'7000'" name="zip"/> From 24521ba5c783aeb8ec7316b6e5194b1f13f7aa33 Mon Sep 17 00:00:00 2001 From: "Bhumika (OpenERP)" <sbh@tinyerp.com> Date: Wed, 29 Feb 2012 18:11:42 +0530 Subject: [PATCH 064/313] [Fix] sale,crm: remove res.partner.address bzr revid: sbh@tinyerp.com-20120229124142-bd4zb7ta0fjppr4i --- addons/crm/crm.py | 4 +--- addons/crm/crm_lead.py | 24 ++++++++----------- addons/crm/crm_lead_demo.xml | 13 ---------- addons/crm/crm_lead_view.xml | 6 +---- addons/crm/crm_meeting.py | 2 -- addons/crm/crm_meeting_demo.xml | 6 ----- addons/crm/crm_meeting_view.xml | 4 ---- addons/crm/crm_phonecall.py | 16 ++++--------- addons/crm/crm_phonecall_demo.xml | 4 ---- addons/crm/crm_phonecall_view.xml | 6 +---- addons/crm/res_partner.py | 1 - addons/crm/res_partner_view.xml | 2 +- .../wizard/crm_opportunity_to_phonecall.py | 4 ++-- addons/crm/wizard/crm_phonecall_to_partner.py | 7 +++--- addons/email_template/__openerp__.py | 2 +- addons/sale/edi/sale_order.py | 9 ++++--- addons/sale/edi/sale_order_action_data.xml | 4 ++-- addons/sale/report/sale_order.rml | 4 ++-- addons/sale/sale.py | 7 +++--- addons/sale/sale_demo.xml | 6 ----- addons/sale/sale_unit_test.xml | 6 ++--- addons/sale/sale_view.xml | 1 - addons/sale/test/edi_sale_order.yml | 4 ++-- 23 files changed, 40 insertions(+), 102 deletions(-) diff --git a/addons/crm/crm.py b/addons/crm/crm.py index 4ebb0b4796d..d4ffe6cf9ae 100644 --- a/addons/crm/crm.py +++ b/addons/crm/crm.py @@ -178,7 +178,6 @@ class crm_base(object): date_closed user_id partner_id - partner_address_id """ def _get_default_partner_address(self, cr, uid, context=None): """Gives id of default address for current user @@ -238,7 +237,7 @@ class crm_base(object): """ data = {'value': {'email_from': False, 'phone':False}} if add: - address = self.pool.get('res.partner.address').browse(cr, uid, add) + address = self.pool.get('res.partner').browse(cr, uid, add) data['value'] = {'email_from': address and address.email or False , 'phone': address and address.phone or False} if 'phone' not in self._columns: @@ -254,7 +253,6 @@ class crm_base(object): data={} if part: addr = self.pool.get('res.partner').address_get(cr, uid, [part], ['contact']) - data = {'partner_address_id': addr['contact']} data.update(self.onchange_partner_address_id(cr, uid, ids, addr['contact'])['value']) return {'value': data} diff --git a/addons/crm/crm_lead.py b/addons/crm/crm_lead.py index b17fa31ac91..c4de42ce972 100644 --- a/addons/crm/crm_lead.py +++ b/addons/crm/crm_lead.py @@ -40,7 +40,7 @@ class crm_lead(crm_case, osv.osv): _name = "crm.lead" _description = "Lead/Opportunity" _order = "priority,date_action,id desc" - _inherit = ['mail.thread','res.partner.address'] + _inherit = ['mail.thread','res.partner'] def _read_group_stage_ids(self, cr, uid, ids, domain, read_group_order=None, access_rights_uid=None, context=None): access_rights_uid = access_rights_uid or uid @@ -194,7 +194,6 @@ class crm_lead(crm_case, osv.osv): # Only used for type opportunity - 'partner_address_id': fields.many2one('res.partner.address', 'Partner Contact', domain="[('partner_id','=',partner_id)]"), 'probability': fields.float('Probability (%)',group_operator="avg"), 'planned_revenue': fields.float('Expected Revenue'), 'ref': fields.reference('Reference', selection=crm._links_get, size=128), @@ -205,8 +204,8 @@ class crm_lead(crm_case, osv.osv): 'title_action': fields.char('Next Action', size=64), 'stage_id': fields.many2one('crm.case.stage', 'Stage', domain="[('section_ids', '=', section_id)]"), 'color': fields.integer('Color Index'), - 'partner_address_name': fields.related('partner_address_id', 'name', type='char', string='Partner Contact Name', readonly=True), - 'partner_address_email': fields.related('partner_address_id', 'email', type='char', string='Partner Contact Email', readonly=True), + 'partner_address_name': fields.related('partner_id', 'name', type='char', string='Partner Contact Name', readonly=True), + 'partner_address_email': fields.related('partner_id', 'email', type='char', string='Partner Contact Email', readonly=True), 'company_currency': fields.related('company_id', 'currency_id', 'symbol', type='char', string='Company Currency', readonly=True), 'user_email': fields.related('user_id', 'user_email', type='char', string='User Email', readonly=True), 'user_login': fields.related('user_id', 'login', type='char', string='User Login', readonly=True), @@ -230,7 +229,7 @@ class crm_lead(crm_case, osv.osv): """ if not add: return {'value': {'email_from': False, 'country_id': False}} - address = self.pool.get('res.partner.address').browse(cr, uid, add) + address = self.pool.get('res.partner').browse(cr, uid, add) return {'value': {'email_from': address.email, 'phone': address.phone, 'country_id': address.country_id.id}} def on_change_optin(self, cr, uid, ids, optin): @@ -501,8 +500,7 @@ class crm_lead(crm_case, osv.osv): first_opportunity = opportunities_list[0] tail_opportunities = opportunities_list[1:] - fields = ['partner_id', 'title', 'name', 'categ_id', 'channel_id', 'city', 'company_id', 'contact_name', 'country_id', - 'partner_address_id', 'type_id', 'user_id', 'section_id', 'state_id', 'description', 'email', 'fax', 'mobile', + fields = ['partner_id', 'title', 'name', 'categ_id', 'channel_id', 'city', 'company_id', 'contact_name', 'country_id', 'type_id', 'user_id', 'section_id', 'state_id', 'description', 'email', 'fax', 'mobile', 'partner_name', 'phone', 'probability', 'planned_revenue', 'street', 'street2', 'zip', 'create_date', 'date_action_last', 'date_action_next', 'email_from', 'email_cc', 'partner_name'] @@ -546,7 +544,6 @@ class crm_lead(crm_case, osv.osv): 'stage_id': stage_id or False, 'date_action': time.strftime('%Y-%m-%d %H:%M:%S'), 'date_open': time.strftime('%Y-%m-%d %H:%M:%S'), - 'partner_address_id': contact_id, } def _convert_opportunity_notification(self, cr, uid, lead, context=None): @@ -597,14 +594,14 @@ class crm_lead(crm_case, osv.osv): if partner_id: res_partner.write(cr, uid, partner_id, {'section_id': lead.section_id.id or False}) contact_id = res_partner.address_get(cr, uid, [partner_id])['default'] - res = lead.write({'partner_id' : partner_id, 'partner_address_id': contact_id}, context=context) + res = lead.write({'partner_id' : partner_id, }, context=context) return res def _lead_create_partner_address(self, cr, uid, lead, partner_id, context=None): - address = self.pool.get('res.partner.address') + address = self.pool.get('res.partner') return address.create(cr, uid, { - 'partner_id': partner_id, + 'parent_id': partner_id, 'name': lead.contact_name, 'phone': lead.phone, 'mobile': lead.mobile, @@ -694,9 +691,8 @@ class crm_lead(crm_case, osv.osv): 'date' : schedule_time, 'section_id' : section_id or False, 'partner_id': lead.partner_id and lead.partner_id.id or False, - 'partner_address_id': lead.partner_address_id and lead.partner_address_id.id or False, - 'partner_phone' : phone or lead.phone or (lead.partner_address_id and lead.partner_address_id.phone or False), - 'partner_mobile' : lead.partner_address_id and lead.partner_address_id.mobile or False, + 'partner_phone' : phone or lead.phone or (lead.partner_id and lead.partner_id.phone or False), + 'partner_mobile' : lead.partner_id and lead.partner_id.mobile or False, 'priority': lead.priority, } diff --git a/addons/crm/crm_lead_demo.xml b/addons/crm/crm_lead_demo.xml index 830b572676d..e4d32cdaa13 100644 --- a/addons/crm/crm_lead_demo.xml +++ b/addons/crm/crm_lead_demo.xml @@ -103,7 +103,6 @@ </record> <record id="crm_case_mgroperations0" model="crm.lead"> - <field name="partner_address_id" ref="base.res_partner_address_1"/> <field eval="1" name="active"/> <field name="type_id" ref="crm.type_lead3"/> <field name="partner_id" ref="base.res_partner_9"/> @@ -240,7 +239,6 @@ <!-- Demo Opportunities --> <record id="crm_case_construstazunits0" model="crm.lead"> <field eval="60" name="probability"/> - <field name="partner_address_id" ref="base.res_partner_address_zen"/> <field eval="1" name="active"/> <field name="type">opportunity</field> <field name="type_id" ref="crm.type_lead1"/> @@ -256,7 +254,6 @@ <field eval="'Conf call with purchase manager'" name="title_action"/> </record> <record id="crm_case_rdroundfundingunits0" model="crm.lead"> - <field name="partner_address_id" ref="base.res_partner_address_1"/> <field eval="1" name="active"/> <field name="type">opportunity</field> <field name="type_id" ref="crm.type_lead2"/> @@ -307,7 +304,6 @@ <field name="type">opportunity</field> <field name="type_id" ref="crm.type_lead2"/> <field name="partner_id" ref="base.res_partner_accent"/> - <field name="partner_address_id" ref="base.res_partner_address_accent"/> <field eval="'3'" name="priority"/> <field name="user_id" ref="base.user_root"/> <field eval="'open'" name="state"/> @@ -332,7 +328,6 @@ <field name="type">opportunity</field> <field name="type_id" ref="crm.type_lead2"/> <field name="partner_id" ref="base.res_partner_2"/> - <field name="partner_address_id" ref="base.res_partner_address_9"/> <field eval="'3'" name="priority"/> <field name="user_id" ref="base.user_root"/> <field eval="'open'" name="state"/> @@ -353,7 +348,6 @@ </record> <record id="crm_case_mediapoleunits0" model="crm.lead"> <field eval="100" name="probability"/> - <field name="partner_address_id" ref="base.res_partner_address_3"/> <field eval="1" name="active"/> <field name="type">opportunity</field> <field name="type_id" ref="crm.type_lead1"/> @@ -372,7 +366,6 @@ </record> <record id="crm_case_abcfuelcounits0" model="crm.lead"> <field eval="80" name="probability"/> - <field name="partner_address_id" ref="base.res_partner_address_marcdubois0"/> <field eval="1" name="active"/> <field name="type">opportunity</field> <field name="type_id" ref="crm.type_lead1"/> @@ -397,7 +390,6 @@ </record> <record id="crm_case_dirtminingltdunits25" model="crm.lead"> <field eval="30" name="probability"/> - <field name="partner_address_id" ref="base.res_partner_address_wong"/> <field eval="1" name="active"/> <field name="type">opportunity</field> <field name="partner_id" ref="base.res_partner_maxtor"/> @@ -426,7 +418,6 @@ </record> <record id="crm_case_dirtminingltdunits10" model="crm.lead"> <field eval="30" name="probability"/> - <field name="partner_address_id" ref="base.res_partner_address_3000"/> <field eval="1" name="active"/> <field name="type">opportunity</field> <field name="partner_id" ref="base.res_partner_desertic_hispafuentes"/> @@ -450,7 +441,6 @@ </record> <record id="crm_case_construstazunits0" model="crm.lead"> <field eval="60" name="probability"/> - <field name="partner_address_id" ref="base.res_partner_address_thymbra"/> <field eval="1" name="active"/> <field name="type">opportunity</field> <field name="type_id" ref="crm.type_lead1"/> @@ -473,7 +463,6 @@ </record> <record id="crm_case_ericdubois4" model="crm.lead"> <field eval="65" name="probability"/> - <field name="partner_address_id" ref="base.res_partner_address_ericdubois0"/> <field eval="1" name="active"/> <field name="type">opportunity</field> <field name="type_id" ref="crm.type_lead1"/> @@ -496,7 +485,6 @@ <field name="country_id" ref="base.be"/> </record> <record id="crm_case_fabiendupont" model="crm.lead"> - <field name="partner_address_id" ref="base.res_partner_address_fabiendupont0"/> <field eval="1" name="active"/> <field name="type">opportunity</field> <field name="type_id" ref="crm.type_lead1"/> @@ -509,7 +497,6 @@ <field eval="'Need more info about the onsite intervention'" name="name"/> </record> <record id="crm_case_shelvehouse" model="crm.lead"> - <field name="partner_address_id" ref="base.res_partner_address_henrychard1"/> <field eval="1" name="active"/> <field name="type">opportunity</field> <field name="type_id" ref="crm.type_lead1"/> diff --git a/addons/crm/crm_lead_view.xml b/addons/crm/crm_lead_view.xml index 44d83f47634..36fd9084c74 100644 --- a/addons/crm/crm_lead_view.xml +++ b/addons/crm/crm_lead_view.xml @@ -259,7 +259,6 @@ date_start="date_action" color="user_id"> <field name="name" /> <field name="partner_name" /> - <field name="partner_address_id" /> </calendar> </field> </record> @@ -479,10 +478,7 @@ string="Create" attrs="{'invisible':[('partner_id','!=',False)]}"/> </group> - <field name="partner_address_id" - string="Contact" - on_change="onchange_partner_address_id(partner_address_id, email_from)" - colspan="1" /> + <group col="3" colspan="2"> <field name="email_from" string="Email" /> <button string="Mail" diff --git a/addons/crm/crm_meeting.py b/addons/crm/crm_meeting.py index 40ba8662f13..3b4d701590c 100644 --- a/addons/crm/crm_meeting.py +++ b/addons/crm/crm_meeting.py @@ -47,8 +47,6 @@ class crm_meeting(crm_base, osv.osv): # From crm.case 'name': fields.char('Summary', size=124, required=True, states={'done': [('readonly', True)]}), 'partner_id': fields.many2one('res.partner', 'Partner', states={'done': [('readonly', True)]}), - 'partner_address_id': fields.many2one('res.partner.address', 'Partner Contact', \ - domain="[('partner_id','=',partner_id)]", states={'done': [('readonly', True)]}), 'section_id': fields.many2one('crm.case.section', 'Sales Team', states={'done': [('readonly', True)]}, \ select=True, help='Sales team to which Case belongs to.'), 'email_from': fields.char('Email', size=128, states={'done': [('readonly', True)]}, help="These people will receive email."), diff --git a/addons/crm/crm_meeting_demo.xml b/addons/crm/crm_meeting_demo.xml index 87d49d2f635..7427afe1e58 100644 --- a/addons/crm/crm_meeting_demo.xml +++ b/addons/crm/crm_meeting_demo.xml @@ -7,7 +7,6 @@ <!--For Meetings--> <record id="crm_case_followuponproposal0" model="crm.meeting"> - <field name="partner_address_id" ref="base.res_partner_address_wong"/> <field eval="1" name="active"/> <field name="partner_id" ref="base.res_partner_maxtor"/> <field name="user_id" ref="base.user_root"/> @@ -22,7 +21,6 @@ </record> <record id="crm_case_initialdiscussion0" model="crm.meeting"> - <field name="partner_address_id" ref="base.res_partner_address_2"/> <field eval="1" name="active"/> <field eval="7.0" name="duration"/> <field name="partner_id" ref="base.res_partner_10"/> @@ -37,7 +35,6 @@ </record> <record id="crm_case_discusspricing0" model="crm.meeting"> - <field name="partner_address_id" ref="base.res_partner_address_zen"/> <field eval="1" name="active"/> <field eval="3.0" name="duration"/> <field name="partner_id" ref="base.res_partner_3"/> @@ -52,7 +49,6 @@ </record> <record id="crm_case_reviewneeds0" model="crm.meeting"> - <field name="partner_address_id" ref="base.res_partner_address_15"/> <field eval="1" name="active"/> <field eval="6.0" name="duration"/> <field name="partner_id" ref="base.res_partner_11"/> @@ -66,7 +62,6 @@ </record> <record id="crm_case_changesindesigning0" model="crm.meeting"> - <field name="partner_address_id" ref="base.res_partner_address_1"/> <field eval="1" name="active"/> <field eval="05" name="duration"/> <field name="partner_id" ref="base.res_partner_9"/> @@ -81,7 +76,6 @@ </record> <record id="crm_case_updatethedata0" model="crm.meeting"> - <field name="partner_address_id" ref="base.res_partner_address_7"/> <field eval="1" name="active"/> <field name="partner_id" ref="base.res_partner_4"/> <field name="user_id" ref="base.user_root"/> diff --git a/addons/crm/crm_meeting_view.xml b/addons/crm/crm_meeting_view.xml index 527f5814be4..fad6ed2dc0c 100644 --- a/addons/crm/crm_meeting_view.xml +++ b/addons/crm/crm_meeting_view.xml @@ -60,9 +60,6 @@ <separator colspan="2" string="Contacts"/> <field name="partner_id" string="Partner" on_change="onchange_partner_id(partner_id)" /> - <field name="partner_address_id" - string="Contact" - on_change="onchange_partner_address_id(partner_address_id, email_from)" /> <field name="email_from"/> </group><group col="2" colspan="2"> <separator colspan="2" string="Visibility"/> @@ -156,7 +153,6 @@ </page> <page string="Other"> <field name="user_id"/> - <field name="partner_address_id" select="1" /> <newline /> </page> </notebook> diff --git a/addons/crm/crm_phonecall.py b/addons/crm/crm_phonecall.py index 8d9a47b15eb..b8a7e640f8e 100644 --- a/addons/crm/crm_phonecall.py +++ b/addons/crm/crm_phonecall.py @@ -44,8 +44,6 @@ class crm_phonecall(crm_base, osv.osv): select=True, help='Sales team to which Case belongs to.'), 'user_id': fields.many2one('res.users', 'Responsible'), 'partner_id': fields.many2one('res.partner', 'Partner'), - 'partner_address_id': fields.many2one('res.partner.address', 'Partner Contact', \ - domain="[('partner_id','=',partner_id)]"), 'company_id': fields.many2one('res.company', 'Company'), 'description': fields.text('Description'), 'state': fields.selection([ @@ -67,8 +65,6 @@ class crm_phonecall(crm_base, osv.osv): domain="['|',('section_id','=',section_id),('section_id','=',False),\ ('object_id.model', '=', 'crm.phonecall')]"), 'partner_phone': fields.char('Phone', size=32), - 'partner_contact': fields.related('partner_address_id', 'name', \ - type="char", string="Contact", size=128), 'partner_mobile': fields.char('Mobile', size=32), 'priority': fields.selection(crm.AVAILABLE_PRIORITIES, 'Priority'), 'date_closed': fields.datetime('Closed', readonly=True), @@ -95,7 +91,7 @@ class crm_phonecall(crm_base, osv.osv): res = super(crm_phonecall, self).onchange_partner_address_id(cr, uid, ids, add, email) res.setdefault('value', {}) if add: - address = self.pool.get('res.partner.address').browse(cr, uid, add) + address = self.pool.get('res.partner').browse(cr, uid, add) res['value']['partner_phone'] = address.phone res['value']['partner_mobile'] = address.mobile return res @@ -153,7 +149,6 @@ class crm_phonecall(crm_base, osv.osv): 'date' : schedule_time, 'section_id' : section_id or False, 'partner_id': call.partner_id and call.partner_id.id or False, - 'partner_address_id': call.partner_address_id and call.partner_address_id.id or False, 'partner_phone' : call.partner_phone, 'partner_mobile' : call.partner_mobile, 'priority': call.priority, @@ -180,9 +175,9 @@ class crm_phonecall(crm_base, osv.osv): return self.write(cr, uid, ids, {'partner_id' : partner_id}, context=context) def _call_create_partner_address(self, cr, uid, phonecall, partner_id, context=None): - address = self.pool.get('res.partner.address') + address = self.pool.get('res.partner') return address.create(cr, uid, { - 'partner_id': partner_id, + 'parent_id': parent_id, 'name': phonecall.name, 'phone': phonecall.partner_phone, }) @@ -227,7 +222,6 @@ class crm_phonecall(crm_base, osv.osv): def convert_opportunity(self, cr, uid, ids, opportunity_summary=False, partner_id=False, planned_revenue=0.0, probability=0.0, context=None): partner = self.pool.get('res.partner') - address = self.pool.get('res.partner.address') opportunity = self.pool.get('crm.lead') opportunity_dict = {} default_contact = False @@ -237,14 +231,12 @@ class crm_phonecall(crm_base, osv.osv): if partner_id: address_id = partner.address_get(cr, uid, [partner_id])['default'] if address_id: - default_contact = address.browse(cr, uid, address_id, context=context) + default_contact = partner.browse(cr, uid, address_id, context=context) opportunity_id = opportunity.create(cr, uid, { 'name': opportunity_summary or call.name, 'planned_revenue': planned_revenue, 'probability': probability, 'partner_id': partner_id or False, - 'partner_address_id': default_contact and default_contact.id, - 'phone': default_contact and default_contact.phone, 'mobile': default_contact and default_contact.mobile, 'section_id': call.section_id and call.section_id.id or False, 'description': call.description or False, diff --git a/addons/crm/crm_phonecall_demo.xml b/addons/crm/crm_phonecall_demo.xml index e80930284f4..614b93f2bc1 100644 --- a/addons/crm/crm_phonecall_demo.xml +++ b/addons/crm/crm_phonecall_demo.xml @@ -5,7 +5,6 @@ ((((((((((( Demo Cases ))))))))))) --> <record id="crm_case_phone01" model="crm.phonecall"> - <field name="partner_address_id" ref="base.res_partner_address_15"/> <field eval="time.strftime('%Y-%m-04 10:45:36')" name="date"/> <field name="partner_id" ref="base.res_partner_11"/> <field eval=""3"" name="priority"/> @@ -21,7 +20,6 @@ <field eval=""done"" name="state"/> </record> <record id="crm_case_phone02" model="crm.phonecall"> - <field name="partner_address_id" ref="base.res_partner_address_6"/> <field eval="time.strftime('%Y-%m-11 11:19:25')" name="date"/> <field name="partner_id" ref="base.res_partner_6"/> <field eval=""4"" name="priority"/> @@ -37,7 +35,6 @@ <field eval=""done"" name="state"/> </record> <record id="crm_case_phone03" model="crm.phonecall"> - <field name="partner_address_id" ref="base.res_partner_address_2"/> <field eval="time.strftime('%Y-%m-15 17:44:12')" name="date"/> <field name="partner_id" ref="base.res_partner_10"/> <field eval=""2"" name="priority"/> @@ -68,7 +65,6 @@ <field eval="3.45" name="duration"/> </record> <record id="crm_case_phone05" model="crm.phonecall"> - <field name="partner_address_id" ref="base.res_partner_address_10"/> <field eval="time.strftime('%Y-%m-28 16:20:43')" name="date"/> <field name="partner_id" ref="base.res_partner_5"/> <field eval=""3"" name="priority"/> diff --git a/addons/crm/crm_phonecall_view.xml b/addons/crm/crm_phonecall_view.xml index 34ef2612623..115e0185d8d 100644 --- a/addons/crm/crm_phonecall_view.xml +++ b/addons/crm/crm_phonecall_view.xml @@ -91,8 +91,6 @@ attrs="{'invisible':[('partner_id','!=',False)]}" groups="base.group_partner_manager"/> <newline/> - <field name="partner_address_id" - on_change="onchange_partner_address_id(partner_address_id)" /> <newline/> <field name="partner_mobile" /> </group> @@ -140,9 +138,7 @@ <field name="partner_id" on_change="onchange_partner_id(partner_id)" string="Partner" /> - <field name="partner_address_id" - on_change="onchange_partner_address_id(partner_address_id)" - invisible="1"/> + <field name="partner_phone" invisible="1"/> <field name="user_id" groups="base.group_extended"/> diff --git a/addons/crm/res_partner.py b/addons/crm/res_partner.py index 2bccdeed235..62cd977a428 100644 --- a/addons/crm/res_partner.py +++ b/addons/crm/res_partner.py @@ -64,7 +64,6 @@ class res_partner(osv.osv): 'planned_revenue' : planned_revenue, 'probability' : probability, 'partner_id' : partner_id, - 'partner_address_id' : address, 'categ_id' : categ_ids and categ_ids[0] or '', 'state' :'draft', 'type': 'opportunity' diff --git a/addons/crm/res_partner_view.xml b/addons/crm/res_partner_view.xml index bcb11fe6b11..94d5e0ec859 100644 --- a/addons/crm/res_partner_view.xml +++ b/addons/crm/res_partner_view.xml @@ -24,7 +24,7 @@ <field name="inherit_id" ref="base.view_partner_tree"/> <field eval="18" name="priority"/> <field name="arch" type="xml"> - <field name="country" position="after"> + <field name="country_id" position="after"> <field name="section_id" completion="1" widget="selection" groups="base.group_extended"/> </field> diff --git a/addons/crm/wizard/crm_opportunity_to_phonecall.py b/addons/crm/wizard/crm_opportunity_to_phonecall.py index ed2a8e7fd1c..873dd6ab36e 100644 --- a/addons/crm/wizard/crm_opportunity_to_phonecall.py +++ b/addons/crm/wizard/crm_opportunity_to_phonecall.py @@ -55,9 +55,9 @@ class crm_opportunity2phonecall(osv.osv_memory): if 'note' in fields: res.update({'note': opp.description}) if 'contact_name' in fields: - res.update({'contact_name': opp.partner_address_id and opp.partner_address_id.name or False}) + res.update({'contact_name': opp.partner_id and opp.partner_id.name or False}) if 'phone' in fields: - res.update({'phone': opp.phone or (opp.partner_address_id and opp.partner_address_id.phone or False)}) + res.update({'phone': opp.phone or (opp.partner_id and opp.partner_id.phone or False)}) return res def action_schedule(self, cr, uid, ids, context=None): diff --git a/addons/crm/wizard/crm_phonecall_to_partner.py b/addons/crm/wizard/crm_phonecall_to_partner.py index 0fa077bbf42..c29a677edd8 100644 --- a/addons/crm/wizard/crm_phonecall_to_partner.py +++ b/addons/crm/wizard/crm_phonecall_to_partner.py @@ -38,17 +38,16 @@ class crm_phonecall2partner(osv.osv_memory): phonecall_obj = self.pool.get('crm.phonecall') partner_obj = self.pool.get('res.partner') - contact_obj = self.pool.get('res.partner.address') rec_ids = context and context.get('active_ids', []) value = {} for phonecall in phonecall_obj.browse(cr, uid, rec_ids, context=context): partner_ids = partner_obj.search(cr, uid, [('name', '=', phonecall.name or phonecall.name)]) if not partner_ids and phonecall.email_from: - address_ids = contact_obj.search(cr, uid, ['|', ('phone', '=', phonecall.partner_phone), ('mobile','=',phonecall.partner_mobile)]) + address_ids = partner_obj.search(cr, uid, ['|', ('phone', '=', phonecall.partner_phone), ('mobile','=',phonecall.partner_mobile)]) if address_ids: - addresses = contact_obj.browse(cr, uid, address_ids) - partner_ids = addresses and [addresses[0].partner_id.id] or False + addresses = partner_ids.browse(cr, uid, address_ids) + partner_ids = addresses and [addresses[0].parent_id.id] or False partner_id = partner_ids and partner_ids[0] or False return partner_id diff --git a/addons/email_template/__openerp__.py b/addons/email_template/__openerp__.py index 10f5be678b8..f62b3655ced 100644 --- a/addons/email_template/__openerp__.py +++ b/addons/email_template/__openerp__.py @@ -66,7 +66,7 @@ Openlabs was kept 'security/ir.model.access.csv' ], "demo": [ - 'res_partner_demo.yml', + # 'res_partner_demo.yml', ], "installable": True, "auto_install": False, diff --git a/addons/sale/edi/sale_order.py b/addons/sale/edi/sale_order.py index 2d9f7ae1778..9b41e326309 100644 --- a/addons/sale/edi/sale_order.py +++ b/addons/sale/edi/sale_order.py @@ -68,7 +68,7 @@ class sale_order(osv.osv, EDIMixin): """Exports a Sale order""" edi_struct = dict(edi_struct or SALE_ORDER_EDI_STRUCT) res_company = self.pool.get('res.company') - res_partner_address = self.pool.get('res.partner.address') + res_partner_address = self.pool.get('res.partner') edi_doc_list = [] for order in records: # generate the main report @@ -99,7 +99,6 @@ class sale_order(osv.osv, EDIMixin): # the desired company among the user's allowed companies self._edi_requires_attributes(('company_id','company_address'), edi_document) - res_partner_address = self.pool.get('res.partner.address') res_partner = self.pool.get('res.partner') # imported company = as a new partner @@ -113,14 +112,14 @@ class sale_order(osv.osv, EDIMixin): address_info = edi_document.pop('company_address') address_info['partner_id'] = (src_company_id, src_company_name) address_info['type'] = 'default' - address_id = res_partner_address.edi_import(cr, uid, address_info, context=context) + address_id = res_partner.edi_import(cr, uid, address_info, context=context) # modify edi_document to refer to new partner/address - partner_address = res_partner_address.browse(cr, uid, address_id, context=context) + partner_address = res_partner.browse(cr, uid, address_id, context=context) edi_document['partner_id'] = (src_company_id, src_company_name) edi_document.pop('partner_address', False) # ignored address_edi_m2o = self.edi_m2o(cr, uid, partner_address, context=context) -# edi_document['partner_order_id'] = address_edi_m2o + edi_document['partner_id'] = address_edi_m2o edi_document['partner_invoice_id'] = address_edi_m2o edi_document['partner_shipping_id'] = address_edi_m2o diff --git a/addons/sale/edi/sale_order_action_data.xml b/addons/sale/edi/sale_order_action_data.xml index 3d7a554ff4a..eecc06a84a1 100644 --- a/addons/sale/edi/sale_order_action_data.xml +++ b/addons/sale/edi/sale_order_action_data.xml @@ -46,7 +46,7 @@ <field name="body_html"><![CDATA[ <div style="font-family: 'Lucica Grande', Ubuntu, Arial, Verdana, sans-serif; font-size: 12px; color: rgb(34, 34, 34); background-color: rgb(255, 255, 255); "> - <p>Hello${object.partner_order_id.name and ' ' or ''}${object.partner_order_id.name or ''},</p> + <p>Hello${object.partner_id.name and ' ' or ''}${object.partner_id.name or ''},</p> <p>Here is your order confirmation for ${object.partner_id.name}: </p> @@ -128,7 +128,7 @@ </div> ]]></field> <field name="body_text"><![CDATA[ -Hello${object.partner_order_id.name and ' ' or ''}${object.partner_order_id.name or ''}, +Hello${object.partner_id.name and ' ' or ''}${object.partner_id.name or ''}, Here is your order confirmation for ${object.partner_id.name}: | Order number: *${object.name}* diff --git a/addons/sale/report/sale_order.rml b/addons/sale/report/sale_order.rml index 95b8a74fd03..b639a32ccc0 100644 --- a/addons/sale/report/sale_order.rml +++ b/addons/sale/report/sale_order.rml @@ -173,12 +173,12 @@ </td> <td> <para style="terp_default_9">[[ (o.partner_id and o.partner_id.title and o.partner_id.title.name) or '' ]] [[ (o.partner_id and o.partner_id.name) or '' ]]</para> - <!--para style="terp_default_9">[[ o.partner_order_id and display_address(o.partner_order_id) ]] </para--> + <para style="terp_default_9">[[ o.partner_id and display_address(o.partner_id) ]] </para> <para style="terp_default_9"> <font color="white"> </font> </para> <!--para style="terp_default_9">Tel. : [[ (o.partner_order_id and o.partner_order_id.phone) or removeParentNode('para') ]]</para> - <para style="terp_default_9">Fax : [[ (o.partner_order_id and o.partner_order_id.fax) or removeParentNode('para') ]]</para--> + <para style="terp_default_9">Fax : [[ (o.partner_id and o.partner_id.fax) or removeParentNode('para') ]]</para--> <para style="terp_default_9">TVA : [[ (o.partner_id and o.partner_id.vat) or removeParentNode('para') ]]</para> <para style="terp_default_9"> <font color="white"> </font> diff --git a/addons/sale/sale.py b/addons/sale/sale.py index 5560fd0de15..224d4e98a9c 100644 --- a/addons/sale/sale.py +++ b/addons/sale/sale.py @@ -215,9 +215,8 @@ class sale_order(osv.osv): 'date_confirm': fields.date('Confirmation Date', readonly=True, select=True, help="Date on which sales order is confirmed."), 'user_id': fields.many2one('res.users', 'Salesman', states={'draft': [('readonly', False)]}, select=True), 'partner_id': fields.many2one('res.partner', 'Customer', readonly=True, states={'draft': [('readonly', False)]}, required=True, change_default=True, select=True), - 'partner_invoice_id': fields.many2one('res.partner.address', 'Invoice Address', readonly=True, required=True, states={'draft': [('readonly', False)]}, help="Invoice address for current sales order."), -# 'partner_order_id': fields.many2one('res.partner.address', 'Ordering Contact', readonly=True, required=True, states={'draft': [('readonly', False)]}, help="The name and address of the contact who requested the order or quotation."), - 'partner_shipping_id': fields.many2one('res.partner.address', 'Shipping Address', readonly=True, required=True, states={'draft': [('readonly', False)]}, help="Shipping address for current sales order."), + 'partner_invoice_id': fields.many2one('res.partner', 'Invoice Address', readonly=True, required=True, states={'draft': [('readonly', False)]}, help="Invoice address for current sales order."), + 'partner_shipping_id': fields.many2one('res.partner', 'Shipping Address', readonly=True, required=True, states={'draft': [('readonly', False)]}, help="Shipping address for current sales order."), 'incoterm': fields.many2one('stock.incoterms', 'Incoterm', help="Incoterm which stands for 'International Commercial terms' implies its a series of sales terms which are used in the commercial transaction."), 'picking_policy': fields.selection([('direct', 'Deliver each product when available'), ('one', 'Deliver all products at once')], @@ -964,7 +963,7 @@ class sale_order_line(osv.osv): 'type': fields.selection([('make_to_stock', 'from stock'), ('make_to_order', 'on order')], 'Procurement Method', required=True, readonly=True, states={'draft': [('readonly', False)]}, help="If 'on order', it triggers a procurement when the sale order is confirmed to create a task, purchase order or manufacturing order linked to this sale order line."), 'property_ids': fields.many2many('mrp.property', 'sale_order_line_property_rel', 'order_id', 'property_id', 'Properties', readonly=True, states={'draft': [('readonly', False)]}), - 'address_allotment_id': fields.many2one('res.partner.address', 'Allotment Partner'), + 'address_allotment_id': fields.many2one('res.partner', 'Allotment Partner'), 'product_uom_qty': fields.float('Quantity (UoM)', digits_compute= dp.get_precision('Product UoS'), required=True, readonly=True, states={'draft': [('readonly', False)]}), 'product_uom': fields.many2one('product.uom', 'Unit of Measure ', required=True, readonly=True, states={'draft': [('readonly', False)]}), 'product_uos_qty': fields.float('Quantity (UoS)' ,digits_compute= dp.get_precision('Product UoS'), readonly=True, states={'draft': [('readonly', False)]}), diff --git a/addons/sale/sale_demo.xml b/addons/sale/sale_demo.xml index 08d06c3c918..519bb959214 100644 --- a/addons/sale/sale_demo.xml +++ b/addons/sale/sale_demo.xml @@ -68,7 +68,6 @@ <field name="partner_id" ref="base.res_partner_2"/> <field name="partner_invoice_id" ref="base.res_partner_address_9"/> <field name="partner_shipping_id" ref="base.res_partner_address_9"/> - <!--field name="partner_order_id" ref="base.res_partner_address_9"/--> <field name="invoice_quantity">order</field> <field name="order_policy">postpaid</field> @@ -104,7 +103,6 @@ <field name="partner_id" ref="base.res_partner_agrolait"/> <field name="partner_invoice_id" ref="base.res_partner_address_8"/> <field name="partner_shipping_id" ref="base.res_partner_address_8"/> - <!--field name="partner_order_id" ref="base.res_partner_address_8"/--> <field name="order_policy">prepaid</field> </record> <record id="line5" model="sale.order.line"> @@ -137,7 +135,6 @@ <field name="partner_id" ref="base.res_partner_5"/> <field name="partner_invoice_id" ref="base.res_partner_address_10"/> <field name="partner_shipping_id" ref="base.res_partner_address_10"/> - <!--field name="partner_order_id" ref="base.res_partner_address_10"/--> </record> <record id="line7" model="sale.order.line"> <field name="order_id" ref="order4"/> @@ -170,7 +167,6 @@ <field name="partner_id" ref="base.res_partner_3"/> <field name="partner_invoice_id" ref="base.res_partner_address_zen"/> <field name="partner_shipping_id" ref="base.res_partner_address_zen"/> - <!--field name="partner_order_id" ref="base.res_partner_address_zen"/--> </record> <record id="line9" model="sale.order.line"> <field name="order_id" ref="order5"/> @@ -203,7 +199,6 @@ <field name="partner_id" ref="base.res_partner_maxtor"/> <field name="partner_invoice_id" ref="base.res_partner_address_wong"/> <field name="partner_shipping_id" ref="base.res_partner_address_wong"/> - <!--field name="partner_order_id" ref="base.res_partner_address_wong"/--> </record> <record id="order6_line0" model="sale.order.line"> <field name="order_id" ref="order6"/> @@ -237,7 +232,6 @@ <field name="partner_id" ref="base.res_partner_desertic_hispafuentes"/> <field name="partner_invoice_id" ref="base.res_partner_address_3000"/> <field name="partner_shipping_id" ref="base.res_partner_address_3000"/> - <!--field name="partner_order_id" ref="base.res_partner_address_3000"/--> </record> <record id="order7_line0" model="sale.order.line"> <field name="order_id" ref="order7"/> diff --git a/addons/sale/sale_unit_test.xml b/addons/sale/sale_unit_test.xml index 421cb36c440..da16f6d8aca 100644 --- a/addons/sale/sale_unit_test.xml +++ b/addons/sale/sale_unit_test.xml @@ -7,9 +7,9 @@ <field model="product.pricelist" name="pricelist_id" search="[]"/> <field name="user_id" ref="base.user_root"/> <field model="res.partner" name="partner_id" search="[]"/> - <field model="res.partner.address" name="partner_invoice_id" search="[]"/> - <field model="res.partner.address" name="partner_shipping_id" search="[]"/> - <field model="res.partner.address" name="partner_order_id" search="[]"/> + <field model="res.partner" name="partner_invoice_id" search="[]"/> + <field model="res.partner" name="partner_shipping_id" search="[]"/> + <field model="res.partner" name="partner_id" search="[]"/> </record> <!-- Resource: sale.order.line --> <record id="test_order_1_line_1" model="sale.order.line"> diff --git a/addons/sale/sale_view.xml b/addons/sale/sale_view.xml index 9c9b3d06fec..a611d12a288 100644 --- a/addons/sale/sale_view.xml +++ b/addons/sale/sale_view.xml @@ -116,7 +116,6 @@ <notebook colspan="5"> <page string="Sales Order"> <field name="partner_id" options='{"quick_create": false}' on_change="onchange_partner_id(partner_id)" domain="[('customer','=',True)]" context="{'search_default_customer':1}" required="1"/> - <!--field domain="[('partner_id','=',partner_id)]" name="partner_order_id" on_change="onchange_partner_order_id(partner_order_id, partner_invoice_id, partner_shipping_id)" options='{"quick_create": false}'/--> <field domain="[('partner_id','=',partner_id)]" name="partner_invoice_id" groups="base.group_extended" options='{"quick_create": false}'/> <field domain="[('partner_id','=',partner_id)]" name="partner_shipping_id" groups="base.group_extended" options='{"quick_create": false}'/> <field domain="[('type','=','sale')]" name="pricelist_id" groups="base.group_extended" on_change="onchange_pricelist_id(pricelist_id,order_line)"/> diff --git a/addons/sale/test/edi_sale_order.yml b/addons/sale/test/edi_sale_order.yml index 5de0a6c4778..738243bd7b2 100644 --- a/addons/sale/test/edi_sale_order.yml +++ b/addons/sale/test/edi_sale_order.yml @@ -55,7 +55,7 @@ "company_address": { "__id": "base:5af1272e-dd26-11e0-b65e-701a04e25543.some_address", "__module": "base", - "__model": "res.partner.address", + "__model": "res.partner", "phone": "(+32).81.81.37.00", "street": "Chaussee de Namur 40", "city": "Gerompont", @@ -69,7 +69,7 @@ "partner_address": { "__id": "base:5af1272e-dd26-11e0-b65e-701a04e25543.res_partner_address_7wdsjasdjh", "__module": "base", - "__model": "res.partner.address", + "__model": "res.partner", "phone": "(+32).81.81.37.00", "street": "Chaussee de Namur 40", "city": "Gerompont", From a5a4c3ca3a41789ce70bb0dbf067fc00d9afb710 Mon Sep 17 00:00:00 2001 From: "Bhumika (OpenERP)" <sbh@tinyerp.com> Date: Wed, 29 Feb 2012 18:51:44 +0530 Subject: [PATCH 065/313] [Fix] stock: fix demo of stock ,remove res.partner.address link bzr revid: sbh@tinyerp.com-20120229132144-k3g02sxkr432cgps --- addons/stock/report/report_stock_move.py | 4 ++-- addons/stock/stock_demo.xml | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/addons/stock/report/report_stock_move.py b/addons/stock/report/report_stock_move.py index 8b18331d2bf..2b6b844872a 100644 --- a/addons/stock/report/report_stock_move.py +++ b/addons/stock/report/report_stock_move.py @@ -35,7 +35,7 @@ class report_stock_move(osv.osv): 'month':fields.selection([('01','January'), ('02','February'), ('03','March'), ('04','April'), ('05','May'), ('06','June'), ('07','July'), ('08','August'), ('09','September'), ('10','October'), ('11','November'), ('12','December')], 'Month',readonly=True), - 'partner_id':fields.many2one('res.partner.address', 'Partner', readonly=True), + 'partner_id':fields.many2one('res.partner', 'Partner', readonly=True), 'product_id':fields.many2one('product.product', 'Product', readonly=True), 'company_id':fields.many2one('res.company', 'Company', readonly=True), 'picking_id':fields.many2one('stock.picking', 'Packing', readonly=True), @@ -154,7 +154,7 @@ class report_stock_inventory(osv.osv): 'year': fields.char('Year', size=4, readonly=True), 'month':fields.selection([('01','January'), ('02','February'), ('03','March'), ('04','April'), ('05','May'), ('06','June'), ('07','July'), ('08','August'), ('09','September')]), - 'partner_id':fields.many2one('res.partner.address', 'Partner', readonly=True), + 'partner_id':fields.many2one('res.partner', 'Partner', readonly=True), 'product_id':fields.many2one('product.product', 'Product', readonly=True), 'product_categ_id':fields.many2one('product.category', 'Product Category', readonly=True), 'location_id': fields.many2one('stock.location', 'Location', readonly=True), diff --git a/addons/stock/stock_demo.xml b/addons/stock/stock_demo.xml index 3940804eb5c..ccb33175b22 100644 --- a/addons/stock/stock_demo.xml +++ b/addons/stock/stock_demo.xml @@ -187,9 +187,9 @@ <field eval=""""Shop 1"""" name="name"/> <field name="address" eval="[]"/> </record> - <record id="res_partner_address_fabien0" model="res.partner.address"> + <record id="res_partner_address_fabien0" model="res.partner"> <field eval=""""Fabien"""" name="name"/> - <field name="partner_id" ref="res_partner_tinyshop0"/> + <field name="parent_id" ref="res_partner_tinyshop0"/> <field eval="1" name="active"/> </record> <record id="res_company_shop0" model="res.company"> @@ -205,9 +205,9 @@ <field eval=""""Shop 2"""" name="name"/> <field name="address" eval="[]"/> </record> - <record id="res_partner_address_eric0" model="res.partner.address"> + <record id="res_partner_address_eric0" model="res.partner"> <field eval=""""Eric"""" name="name"/> - <field name="partner_id" ref="res_partner_tinyshop1"/> + <field name="parent_id" ref="res_partner_tinyshop1"/> <field eval="1" name="active"/> </record> <record id="res_company_tinyshop0" model="res.company"> @@ -217,7 +217,7 @@ <field eval=""""Shop 2"""" name="name"/> </record> <record id="stock_location_shop0" model="stock.location"> - <field model="res.partner.address" name="address_id" search="[('name','=','Fabien')]"/> + <field model="res.partner" name="address_id" search="[('name','=','Fabien')]"/> <field name="location_id" ref="stock.stock_location_locations"/> <field name="company_id" ref="res_company_shop0"/> <field eval=""""internal"""" name="usage"/> @@ -227,7 +227,7 @@ <field eval=""""manual"""" name="chained_auto_packing"/> </record> <record id="stock_location_shop1" model="stock.location"> - <field model="res.partner.address" name="address_id" search="[('name','=','Eric')]"/> + <field model="res.partner" name="address_id" search="[('name','=','Eric')]"/> <field name="company_id" ref="res_company_tinyshop0"/> <field name="location_id" ref="stock.stock_location_locations"/> <field eval=""""internal"""" name="usage"/> From 3465869df7bd1b847a08a5e3ef76e28bb174b610 Mon Sep 17 00:00:00 2001 From: "Atul Patel (OpenERP)" <atp@tinyerp.com> Date: Wed, 29 Feb 2012 19:23:43 +0530 Subject: [PATCH 066/313] [FIX]: Remove workflow activity and drop constraint during uninstalling module. bzr revid: atp@tinyerp.com-20120229135343-g0v04jb5nc723w9q --- openerp/addons/base/ir/ir_actions.py | 2 +- openerp/addons/base/ir/ir_model.py | 117 ++++++++++++------ openerp/addons/base/ir/ir_rule.py | 2 +- openerp/addons/base/module/module.py | 19 ++- .../base/module/wizard/base_module_upgrade.py | 13 +- openerp/addons/base/res/res_users.py | 2 +- openerp/modules/loading.py | 33 ++--- openerp/osv/orm.py | 13 +- 8 files changed, 133 insertions(+), 68 deletions(-) diff --git a/openerp/addons/base/ir/ir_actions.py b/openerp/addons/base/ir/ir_actions.py index 236c6af7119..db3c7fcdbae 100644 --- a/openerp/addons/base/ir/ir_actions.py +++ b/openerp/addons/base/ir/ir_actions.py @@ -510,7 +510,7 @@ class actions_server(osv.osv): 'code':fields.text('Python Code', help="Python code to be executed if condition is met.\n" "It is a Python block that can use the same values as for the condition field"), 'sequence': fields.integer('Sequence', help="Important when you deal with multiple actions, the execution order will be decided based on this, low number is higher priority."), - 'model_id': fields.many2one('ir.model', 'Object', required=True, help="Select the object on which the action will work (read, write, create)."), + 'model_id': fields.many2one('ir.model', 'Object', required=True, help="Select the object on which the action will work (read, write, create).", ondelete='cascade'), 'action_id': fields.many2one('ir.actions.actions', 'Client Action', help="Select the Action Window, Report, Wizard to be executed."), 'trigger_name': fields.selection(_select_signals, string='Trigger Signal', size=128, help="The workflow signal to trigger"), 'wkf_model_id': fields.many2one('ir.model', 'Target Object', help="The object that should receive the workflow signal (must have an associated workflow)"), diff --git a/openerp/addons/base/ir/ir_model.py b/openerp/addons/base/ir/ir_model.py index e8ce3adb592..012bf2028d1 100644 --- a/openerp/addons/base/ir/ir_model.py +++ b/openerp/addons/base/ir/ir_model.py @@ -1,4 +1,5 @@ -# -*- coding: utf-8 -*- + + # -*- coding: utf-8 -*- ############################################################################## # # OpenERP, Open Source Management Solution @@ -134,11 +135,18 @@ class ir_model(osv.osv): super(ir_model, self).search(cr, uid, domain, limit=limit, context=context), context=context) + def _drop_table(self, cr, uid, ids, context=None): + for model in self.browse(cr, uid, ids, context): + model_pool = self.pool.get(model.model) + if getattr(model_pool, '_auto', True) and not model.osv_memory: + cr.execute("DROP table %s cascade" % model_pool._table) + return True def unlink(self, cr, user, ids, context=None): - for model in self.browse(cr, user, ids, context): - if model.state != 'manual': - raise except_orm(_('Error'), _("You can not remove the model '%s' !") %(model.name,)) +# for model in self.browse(cr, user, ids, context): +# if model.state != 'manual': +# raise except_orm(_('Error'), _("You can not remove the model '%s' !") %(model.name,)) + # self._drop_table(cr, user, ids, context) res = super(ir_model, self).unlink(cr, user, ids, context) pooler.restart_pool(cr.dbname) return res @@ -263,17 +271,19 @@ class ir_model_fields(osv.osv): _sql_constraints = [ ('size_gt_zero', 'CHECK (size>0)',_size_gt_zero_msg ), ] + + def _drop_column(self, cr, uid, ids, context=None): + for field in self.browse(cr, uid, ids, context): + model = self.pool.get(field.model) + if not field.model.osv_memory and getattr(model, '_auto', True): + cr.execute("ALTER table %s DROP column %s" % (model._table, field.name)) + model._columns.pop(field.name, None) + return True def unlink(self, cr, user, ids, context=None): - for field in self.browse(cr, user, ids, context): - if field.state <> 'manual': - raise except_orm(_('Error'), _("You cannot remove the field '%s' !") %(field.name,)) - # - # MAY BE ADD A ALTER TABLE DROP ? - # - #Removing _columns entry for that table - self.pool.get(field.model)._columns.pop(field.name,None) - return super(ir_model_fields, self).unlink(cr, user, ids, context) + self._drop_column(cr, user, ids, context) + res = super(ir_model_fields, self).unlink(cr, user, ids, context) + return res def create(self, cr, user, vals, context=None): if 'model_id' in vals: @@ -624,6 +634,7 @@ class ir_model_data(osv.osv): # also stored in pool to avoid being discarded along with this osv instance if getattr(pool, 'model_data_reference_ids', None) is None: self.pool.model_data_reference_ids = {} + self.loads = self.pool.model_data_reference_ids def _auto_init(self, cr, context=None): @@ -667,9 +678,11 @@ class ir_model_data(osv.osv): except: id = False return id + def unlink(self, cr, uid, ids, context=None): """ Regular unlink method, but make sure to clear the caches. """ + self._pre_process_unlink(cr, uid, ids, context) self._get_id.clear_cache(self) self.get_object_reference.clear_cache(self) return super(ir_model_data,self).unlink(cr, uid, ids, context=context) @@ -688,7 +701,6 @@ class ir_model_data(osv.osv): if (not xml_id) and (not self.doinit): return False action_id = False - if xml_id: cr.execute('''SELECT imd.id, imd.res_id, md.id, imd.model FROM ir_model_data imd LEFT JOIN %s md ON (imd.res_id = md.id) @@ -791,53 +803,78 @@ class ir_model_data(osv.osv): elif xml_id: cr.execute('UPDATE ir_values set value=%s WHERE model=%s and key=%s and name=%s'+where,(value, model, key, name)) return True + + def _pre_process_unlink(self, cr, uid, ids, context=None): + wkf_todo = [] + to_unlink = [] + for data in self.browse(cr, uid, ids, context): + model = data.model + res_id = data.res_id + model_obj = self.pool.get(model) + if str(data.name).startswith('constraint_'): + cr.execute('ALTER TABLE "%s" DROP CONSTRAINT "%s"' % (model_obj._table,data.name[11:]),) + _logger.info('Drop CONSTRAINT %s@%s', data.name[11:], model) + continue + to_unlink.append((model,res_id)) + if model=='workflow.activity': + cr.execute('select res_type,res_id from wkf_instance where id IN (select inst_id from wkf_workitem where act_id=%s)', (res_id,)) + wkf_todo.extend(cr.fetchall()) + cr.execute("update wkf_transition set condition='True', group_id=NULL, signal=NULL,act_to=act_from,act_from=%s where act_to=%s", (res_id,res_id)) + cr.execute("delete from wkf_transition where act_to=%s", (res_id,)) + + for model,res_id in wkf_todo: + wf_service = netsvc.LocalService("workflow") + wf_service.trg_write(uid, model, res_id, cr) + + #cr.commit() + if not config.get('import_partial'): + for (model, res_id) in to_unlink: + if self.pool.get(model): + _logger.info('Deleting %s@%s', res_id, model) + res_ids = self.pool.get(model).search(cr, uid, [('id', '=', res_id)]) + if res_ids: + self.pool.get(model).unlink(cr, uid, [res_id]) + cr.commit() +# except Exception: +# cr.rollback() +# _logger.warning( +# 'Could not delete obsolete record with id: %d of model %s\n' +## 'There should be some relation that points to this resource\n' +# 'You should manually fix this and restart with --update=module', +# res_id, model) def _process_end(self, cr, uid, modules): """ Clear records removed from updated module data. - This method is called at the end of the module loading process. It is meant to removed records that are no longer present in the updated data. Such records are recognised as the one with an xml id and a module in ir_model_data and noupdate set to false, but not present in self.loads. - """ + + if not modules: return True modules = list(modules) + data_ids = self.search(cr, uid, [('module','in',modules)]) module_in = ",".join(["%s"] * len(modules)) - cr.execute('select id,name,model,res_id,module from ir_model_data where module IN (' + module_in + ') and noupdate=%s', modules + [False]) - wkf_todo = [] + process_query = 'select id,name,model,res_id,module from ir_model_data where module IN (' + module_in + ')' + process_query+= ' and noupdate=%s' to_unlink = [] + cr.execute( process_query, modules + [False]) for (id, name, model, res_id,module) in cr.fetchall(): if (module,name) not in self.loads: to_unlink.append((model,res_id)) - if model=='workflow.activity': - cr.execute('select res_type,res_id from wkf_instance where id IN (select inst_id from wkf_workitem where act_id=%s)', (res_id,)) - wkf_todo.extend(cr.fetchall()) - cr.execute("update wkf_transition set condition='True', group_id=NULL, signal=NULL,act_to=act_from,act_from=%s where act_to=%s", (res_id,res_id)) - cr.execute("delete from wkf_transition where act_to=%s", (res_id,)) - - for model,id in wkf_todo: - wf_service = netsvc.LocalService("workflow") - wf_service.trg_write(uid, model, id, cr) - - cr.commit() + self.pool.get(model).unlink(cr, uid, [res_id]) if not config.get('import_partial'): for (model, res_id) in to_unlink: if self.pool.get(model): _logger.info('Deleting %s@%s', res_id, model) - try: - self.pool.get(model).unlink(cr, uid, [res_id]) - cr.commit() - except Exception: - cr.rollback() - _logger.warning( - 'Could not delete obsolete record with id: %d of model %s\n' - 'There should be some relation that points to this resource\n' - 'You should manually fix this and restart with --update=module', - res_id, model) - return True + self.pool.get(model).unlink(cr, uid, [res_id]) + + # cr.commit() + + ir_model_data() # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/openerp/addons/base/ir/ir_rule.py b/openerp/addons/base/ir/ir_rule.py index 0626b2b9c1e..227f0eb32b9 100644 --- a/openerp/addons/base/ir/ir_rule.py +++ b/openerp/addons/base/ir/ir_rule.py @@ -75,7 +75,7 @@ class ir_rule(osv.osv): _columns = { 'name': fields.char('Name', size=128, select=1), - 'model_id': fields.many2one('ir.model', 'Object',select=1, required=True), + 'model_id': fields.many2one('ir.model', 'Object',select=1, required=True, ondelete='cascade'), 'global': fields.function(_get_value, string='Global', type='boolean', store=True, help="If no group is specified the rule is global and applied to everyone"), 'groups': fields.many2many('res.groups', 'rule_group_rel', 'rule_group_id', 'group_id', 'Groups'), 'domain_force': fields.text('Domain'), diff --git a/openerp/addons/base/module/module.py b/openerp/addons/base/module/module.py index beb35ee38b2..328afef76aa 100644 --- a/openerp/addons/base/module/module.py +++ b/openerp/addons/base/module/module.py @@ -375,10 +375,18 @@ class module(osv.osv): def button_install_cancel(self, cr, uid, ids, context=None): self.write(cr, uid, ids, {'state': 'uninstalled', 'demo':False}) return True - + + def module_uninstall(self, cr, uid, ids, context=None): + model_data = self.pool.get('ir.model.data') + remove_modules = map(lambda x: x.name, self.browse(cr, uid, ids, context)) + data_ids = model_data.search(cr, uid, [('module', 'in', remove_modules)]) + model_data.unlink(cr, uid, data_ids, context) + self.write(cr, uid, ids, {'state': 'uninstalled'}) + return True + def button_uninstall(self, cr, uid, ids, context=None): for module in self.browse(cr, uid, ids): - cr.execute('''select m.state,m.name + cr.execute('''select m.id from ir_module_module_dependency d join @@ -387,8 +395,11 @@ class module(osv.osv): d.name=%s and m.state not in ('uninstalled','uninstallable','to remove')''', (module.name,)) res = cr.fetchall() - if res: - raise orm.except_orm(_('Error'), _('Some installed modules depend on the module you plan to Uninstall :\n %s') % '\n'.join(map(lambda x: '\t%s: %s' % (x[0], x[1]), res))) + for i in range(0,len(res)): + ids.append(res[i][0]) +# if res: +# self.write(cr, uid, ids, {'state': 'to remove'}) +## raise orm.except_orm(_('Error'), _('Some installed modules depend on the module you plan to Uninstall :\n %s') % '\n'.join(map(lambda x: '\t%s: %s' % (x[0], x[1]), res))) self.write(cr, uid, ids, {'state': 'to remove'}) return dict(ACTION_DICT, name=_('Uninstall')) diff --git a/openerp/addons/base/module/wizard/base_module_upgrade.py b/openerp/addons/base/module/wizard/base_module_upgrade.py index 3b8671b0ebb..5e7b82d241f 100644 --- a/openerp/addons/base/module/wizard/base_module_upgrade.py +++ b/openerp/addons/base/module/wizard/base_module_upgrade.py @@ -83,7 +83,9 @@ class base_module_upgrade(osv.osv_memory): def upgrade_module(self, cr, uid, ids, context=None): mod_obj = self.pool.get('ir.module.module') - ids = mod_obj.search(cr, uid, [('state', 'in', ['to upgrade', 'to remove', 'to install'])]) + data_obj = self.pool.get('ir.model.data') + # process to install and upgrade modules + ids = mod_obj.search(cr, uid, [('state', 'in', ['to upgrade', 'to install'])]) unmet_packages = [] mod_dep_obj = self.pool.get('ir.module.module.dependency') for mod in mod_obj.browse(cr, uid, ids): @@ -95,9 +97,14 @@ class base_module_upgrade(osv.osv_memory): raise osv.except_osv(_('Unmet dependency !'), _('Following modules are not installed or unknown: %s') % ('\n\n' + '\n'.join(unmet_packages))) mod_obj.download(cr, uid, ids, context=context) cr.commit() + + # process to remove modules + remove_module_ids = mod_obj.search(cr, uid, [('state', 'in', ['to remove'])]) + mod_obj.module_uninstall(cr, uid, remove_module_ids, context) + + _db, pool = pooler.restart_pool(cr.dbname, update_module=True) - - data_obj = pool.get('ir.model.data') + id2 = data_obj._get_id(cr, uid, 'base', 'view_base_module_upgrade_install') if id2: id2 = data_obj.browse(cr, uid, id2, context=context).res_id diff --git a/openerp/addons/base/res/res_users.py b/openerp/addons/base/res/res_users.py index f148813ae05..b196cb862d1 100644 --- a/openerp/addons/base/res/res_users.py +++ b/openerp/addons/base/res/res_users.py @@ -53,7 +53,7 @@ class groups(osv.osv): _columns = { 'name': fields.char('Name', size=64, required=True, translate=True), - 'users': fields.many2many('res.users', 'res_groups_users_rel', 'gid', 'uid', 'Users'), + 'users': fields.many2many('res.users', 'res_groups_users_rel', 'gid', 'uid', 'Users', ondelete='CASCADE'), 'model_access': fields.one2many('ir.model.access', 'group_id', 'Access Controls'), 'rule_groups': fields.many2many('ir.rule', 'rule_group_rel', 'group_id', 'rule_group_id', 'Rules', domain=[('global', '=', False)]), diff --git a/openerp/modules/loading.py b/openerp/modules/loading.py index b3f831f9709..66ed210ccc7 100644 --- a/openerp/modules/loading.py +++ b/openerp/modules/loading.py @@ -377,19 +377,22 @@ def load_modules(db, force_demo=False, status=None, update_module=False): if update_module: # Remove records referenced from ir_model_data for modules to be # removed (and removed the references from ir_model_data). - cr.execute("select id,name from ir_module_module where state=%s", ('to remove',)) - for mod_id, mod_name in cr.fetchall(): - cr.execute('select model,res_id from ir_model_data where noupdate=%s and module=%s order by id desc', (False, mod_name,)) - for rmod, rid in cr.fetchall(): - uid = 1 - rmod_module= pool.get(rmod) - if rmod_module: - # TODO group by module so that we can delete multiple ids in a call - rmod_module.unlink(cr, uid, [rid]) - else: - _logger.error('Could not locate %s to remove res=%d' % (rmod,rid)) - cr.execute('delete from ir_model_data where noupdate=%s and module=%s', (False, mod_name,)) - cr.commit() + #cr.execute("select id,name from ir_module_module where state=%s", ('to remove',)) + #remove_modules = map(lambda x: x['name'], cr.dictfetchall()) + # Cleanup orphan records + #print "pooler", pool.get('mrp.bom') + #pool.get('ir.model.data')._process_end(cr, 1, remove_modules, noupdate=None) +# for mod_id, mod_name in cr.fetchall(): +# cr.execute('select model,res_id from ir_model_data where noupdate=%s and module=%s order by id desc', (False, mod_name,)) +# for rmod, rid in cr.fetchall(): +# uid = 1 +# rmod_module= pool.get(rmod) +# if rmod_module: +# rmod_module.unlink(cr, uid, [rid]) +# else: +# _logger.error('Could not locate %s to remove res=%d' % (rmod,rid)) +# cr.execute('delete from ir_model_data where module=%s', (mod_name,)) +# cr.commit() # Remove menu items that are not referenced by any of other # (child) menu item, ir_values, or ir_model_data. @@ -411,8 +414,8 @@ def load_modules(db, force_demo=False, status=None, update_module=False): _logger.info('removed %d unused menus', cr.rowcount) # Pretend that modules to be removed are actually uninstalled. - cr.execute("update ir_module_module set state=%s where state=%s", ('uninstalled', 'to remove',)) - cr.commit() + #cr.execute("update ir_module_module set state=%s where state=%s", ('uninstalled', 'to remove',)) + #cr.commit() _logger.info('Modules loaded.') finally: diff --git a/openerp/osv/orm.py b/openerp/osv/orm.py index 8901cf5ed87..fae53bd9abc 100644 --- a/openerp/osv/orm.py +++ b/openerp/osv/orm.py @@ -3018,7 +3018,7 @@ class BaseModel(object): cr.commit() # start a new transaction - self._add_sql_constraints(cr) + self._add_sql_constraints(cr, context["module"]) if create: self._execute_sql(cr) @@ -3145,7 +3145,7 @@ class BaseModel(object): _schema.debug("Create table '%s': m2m relation between '%s' and '%s'", m2m_tbl, self._table, ref) - def _add_sql_constraints(self, cr): + def _add_sql_constraints(self, cr, module): """ Modify this model's database table constraints so they match the one in @@ -3196,6 +3196,13 @@ class BaseModel(object): cr.execute(sql_action['query']) cr.commit() _schema.debug(sql_action['msg_ok']) + name_id = 'constraint_'+ conname + cr.execute('select * from ir_model_data where name=%s and module=%s', (name_id, module)) + if not cr.rowcount: + cr.execute("INSERT INTO ir_model_data (name,date_init,date_update,module, model) VALUES (%s, now(), now(), %s, %s)", \ + (name_id, module, self._name) + ) +# except: _schema.warning(sql_action['msg_err']) cr.rollback() @@ -3710,7 +3717,7 @@ class BaseModel(object): wf_service = netsvc.LocalService("workflow") for oid in ids: wf_service.trg_delete(uid, self._name, oid, cr) - + self.check_access_rule(cr, uid, ids, 'unlink', context=context) pool_model_data = self.pool.get('ir.model.data') From 9d8b51afc39763529765c5c7ff5af8a740c61350 Mon Sep 17 00:00:00 2001 From: "Atul Patel (OpenERP)" <atp@tinyerp.com> Date: Thu, 1 Mar 2012 09:44:44 +0530 Subject: [PATCH 067/313] [FIX]: remove unused code bzr revid: atp@tinyerp.com-20120301041444-jksnjci0ozaly28a --- openerp/addons/base/ir/ir_actions.py | 2 +- openerp/addons/base/ir/ir_model.py | 3 +-- openerp/addons/base/ir/ir_rule.py | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/openerp/addons/base/ir/ir_actions.py b/openerp/addons/base/ir/ir_actions.py index db3c7fcdbae..236c6af7119 100644 --- a/openerp/addons/base/ir/ir_actions.py +++ b/openerp/addons/base/ir/ir_actions.py @@ -510,7 +510,7 @@ class actions_server(osv.osv): 'code':fields.text('Python Code', help="Python code to be executed if condition is met.\n" "It is a Python block that can use the same values as for the condition field"), 'sequence': fields.integer('Sequence', help="Important when you deal with multiple actions, the execution order will be decided based on this, low number is higher priority."), - 'model_id': fields.many2one('ir.model', 'Object', required=True, help="Select the object on which the action will work (read, write, create).", ondelete='cascade'), + 'model_id': fields.many2one('ir.model', 'Object', required=True, help="Select the object on which the action will work (read, write, create)."), 'action_id': fields.many2one('ir.actions.actions', 'Client Action', help="Select the Action Window, Report, Wizard to be executed."), 'trigger_name': fields.selection(_select_signals, string='Trigger Signal', size=128, help="The workflow signal to trigger"), 'wkf_model_id': fields.many2one('ir.model', 'Target Object', help="The object that should receive the workflow signal (must have an associated workflow)"), diff --git a/openerp/addons/base/ir/ir_model.py b/openerp/addons/base/ir/ir_model.py index 012bf2028d1..a85c83e07d6 100644 --- a/openerp/addons/base/ir/ir_model.py +++ b/openerp/addons/base/ir/ir_model.py @@ -861,11 +861,10 @@ class ir_model_data(osv.osv): process_query = 'select id,name,model,res_id,module from ir_model_data where module IN (' + module_in + ')' process_query+= ' and noupdate=%s' to_unlink = [] - cr.execute( process_query, modules + [False]) + cr.execute(process_query, modules + [False]) for (id, name, model, res_id,module) in cr.fetchall(): if (module,name) not in self.loads: to_unlink.append((model,res_id)) - self.pool.get(model).unlink(cr, uid, [res_id]) if not config.get('import_partial'): for (model, res_id) in to_unlink: if self.pool.get(model): diff --git a/openerp/addons/base/ir/ir_rule.py b/openerp/addons/base/ir/ir_rule.py index 227f0eb32b9..0626b2b9c1e 100644 --- a/openerp/addons/base/ir/ir_rule.py +++ b/openerp/addons/base/ir/ir_rule.py @@ -75,7 +75,7 @@ class ir_rule(osv.osv): _columns = { 'name': fields.char('Name', size=128, select=1), - 'model_id': fields.many2one('ir.model', 'Object',select=1, required=True, ondelete='cascade'), + 'model_id': fields.many2one('ir.model', 'Object',select=1, required=True), 'global': fields.function(_get_value, string='Global', type='boolean', store=True, help="If no group is specified the rule is global and applied to everyone"), 'groups': fields.many2many('res.groups', 'rule_group_rel', 'rule_group_id', 'group_id', 'Groups'), 'domain_force': fields.text('Domain'), From c86917ea38bb6b3be8fd1a43ec4fd15af02e3179 Mon Sep 17 00:00:00 2001 From: "Atul Patel (OpenERP)" <atp@tinyerp.com> Date: Thu, 1 Mar 2012 09:57:45 +0530 Subject: [PATCH 068/313] [ADD]: Add ondelete cascade for ir_act_Server bzr revid: atp@tinyerp.com-20120301042745-v5wn3owi6f8cq505 --- openerp/addons/base/ir/ir_actions.py | 2 +- openerp/addons/base/ir/ir_rule.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/openerp/addons/base/ir/ir_actions.py b/openerp/addons/base/ir/ir_actions.py index 236c6af7119..db3c7fcdbae 100644 --- a/openerp/addons/base/ir/ir_actions.py +++ b/openerp/addons/base/ir/ir_actions.py @@ -510,7 +510,7 @@ class actions_server(osv.osv): 'code':fields.text('Python Code', help="Python code to be executed if condition is met.\n" "It is a Python block that can use the same values as for the condition field"), 'sequence': fields.integer('Sequence', help="Important when you deal with multiple actions, the execution order will be decided based on this, low number is higher priority."), - 'model_id': fields.many2one('ir.model', 'Object', required=True, help="Select the object on which the action will work (read, write, create)."), + 'model_id': fields.many2one('ir.model', 'Object', required=True, help="Select the object on which the action will work (read, write, create).", ondelete='cascade'), 'action_id': fields.many2one('ir.actions.actions', 'Client Action', help="Select the Action Window, Report, Wizard to be executed."), 'trigger_name': fields.selection(_select_signals, string='Trigger Signal', size=128, help="The workflow signal to trigger"), 'wkf_model_id': fields.many2one('ir.model', 'Target Object', help="The object that should receive the workflow signal (must have an associated workflow)"), diff --git a/openerp/addons/base/ir/ir_rule.py b/openerp/addons/base/ir/ir_rule.py index 0626b2b9c1e..227f0eb32b9 100644 --- a/openerp/addons/base/ir/ir_rule.py +++ b/openerp/addons/base/ir/ir_rule.py @@ -75,7 +75,7 @@ class ir_rule(osv.osv): _columns = { 'name': fields.char('Name', size=128, select=1), - 'model_id': fields.many2one('ir.model', 'Object',select=1, required=True), + 'model_id': fields.many2one('ir.model', 'Object',select=1, required=True, ondelete='cascade'), 'global': fields.function(_get_value, string='Global', type='boolean', store=True, help="If no group is specified the rule is global and applied to everyone"), 'groups': fields.many2many('res.groups', 'rule_group_rel', 'rule_group_id', 'group_id', 'Groups'), 'domain_force': fields.text('Domain'), From ed0f29599d39026d94171a9c00cbf3f9175aebab Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Thu, 1 Mar 2012 10:41:42 +0530 Subject: [PATCH 069/313] [IMP] base/res_partner: change kanban view and set as default bzr revid: kjo@tinyerp.com-20120301051142-2q23ape31lqzvvg0 --- openerp/addons/base/res/res_partner_view.xml | 70 ++++++++++---------- 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/openerp/addons/base/res/res_partner_view.xml b/openerp/addons/base/res/res_partner_view.xml index f1347861ce1..4fdf345bd90 100644 --- a/openerp/addons/base/res/res_partner_view.xml +++ b/openerp/addons/base/res/res_partner_view.xml @@ -448,39 +448,39 @@ <t t-name="kanban-box"> <t t-set="color" t-value="kanban_color(record.color.raw_value || record.name.raw_value)"/> <div t-att-class="color + (record.color.raw_value == 1 ? ' oe_kanban_color_alert' : '')"> - <div class="oe_kanban_box oe_kanban_color_border"> - <div class="oe_kanban_box_header oe_kanban_color_bgdark oe_kanban_color_border oe_kanban_draghandle"> - <div class="oe_kanban_box_content oe_kanban_color_bglight oe_kanban_box_show_onclick_trigger oe_kanban_color_border"> - <table class="oe_kanban_table"> - <tr> - <td valign="top" width="64" align="left"> - <img t-att-src="kanban_image('res.partner', 'photo', record.id.value)" width="64" height="64"/> - </td> - <td class="oe_kanban_title1" align="left" valign="middle"> - <h4><a type="edit"><field name="name"/></a></h4> - <field name="street"/> - <field name="street2"/><br/> - <field name="city"/> - <field name="zip"/><br/> - <field name="country_id"/><br/> - <field name="email"/><br/> - <field name="mobile"/><br/> - </td> - <td t-if="record.is_company.raw_value == 'contact'" valign="top" align="right"> - <img t-att-src="kanban_gravatar(record.photo.value, 22)" class="oe_kanban_gravatar"/> - </td> - </tr> - </table> - </div> - <div class="oe_kanban_buttons_set oe_kanban_color_border oe_kanban_color_bglight oe_kanban_box_show_onclick"> - <div class="oe_kanban_left"> - <a string="Edit" icon="gtk-edit" type="edit"/> - <a string="Change Color" icon="color-picker" type="color" name="color"/> - <a title="Mail" t-att-href="'mailto:'+record.email.value" style="text-decoration: none;" > - <img src="/web/static/src/img/icons/terp-mail-message-new.png" border="0" width="16" height="16"/> - </a> + <div class="oe_module_vignette"> + <a type="edit"> + <img t-att-src="kanban_image('res.partner', 'photo', record.id.value)" width="64" height="64" class="oe_module_icon"/> + </a> + <div class="oe_module_desc"> + <div class="oe_kanban_box_content oe_kanban_color_bglight oe_kanban_box_show_onclick_trigger oe_kanban_color_border"> + <table class="oe_kanban_table"> + <tr> + <td class="oe_kanban_title1" align="left" valign="middle"> + <h4><a type="edit"><field name="name"/></a></h4> + <field name="street"/> + <field name="street2"/><br/> + <field name="city"/> + <field name="zip"/><br/> + <field name="country_id"/><br/> + <field name="email"/><br/> + <field name="mobile"/><br/> + </td> + <td t-if="record.is_company.raw_value == 'contact'" valign="top" align="right"> + <img t-att-src="kanban_gravatar(record.photo.value, 22)" class="oe_kanban_gravatar"/> + </td> + </tr> + </table> </div> - <br class="oe_kanban_clear"/> + <div class="oe_kanban_buttons_set oe_kanban_color_border oe_kanban_color_bglight oe_kanban_box_show_onclick"> + <div class="oe_kanban_left"> + <a string="Edit" icon="gtk-edit" type="edit"/> + <a string="Change Color" icon="color-picker" type="color" name="color"/> + <a title="Mail" t-att-href="'mailto:'+record.email.value" style="text-decoration: none;" > + <img src="/web/static/src/img/icons/terp-mail-message-new.png" border="0" width="16" height="16"/> + </a> + </div> + <br class="oe_kanban_clear"/> </div> </div> </div> @@ -496,15 +496,15 @@ <field name="type">ir.actions.act_window</field> <field name="res_model">res.partner</field> <field name="view_type">form</field> - <field name="view_mode">kanban</field> + <field name="view_mode">tree</field> <field name="context">{"search_default_customer":1}</field> <field name="search_view_id" ref="view_res_partner_filter"/> <field name="help">A customer is an entity you do business with, like a company or an organization. A customer can have several contacts or addresses which are the people working for this company. You can use the history tab, to follow all transactions related to a customer: sales order, emails, opportunities, claims, etc. If you use the email gateway, the Outlook or the Thunderbird plugin, don't forget to register emails to each contact so that the gateway will automatically attach incoming emails to the right partner.</field> </record> <record id="action_partner_form_view1" model="ir.actions.act_window.view"> <field eval="10" name="sequence"/> - <field name="view_mode">tree</field> - <field name="view_id" ref="view_partner_tree"/> + <field name="view_mode">kanban</field> + <field name="view_id" ref="res_partner_kanban_view"/> <field name="act_window_id" ref="action_partner_form"/> </record> <record id="action_partner_form_view2" model="ir.actions.act_window.view"> From b9784779f5d0c5fbfed034d318a149ff36f5e411 Mon Sep 17 00:00:00 2001 From: "Bhumika (OpenERP)" <sbh@tinyerp.com> Date: Thu, 1 Mar 2012 10:51:02 +0530 Subject: [PATCH 070/313] [Fix]crm :fix the field name of partner bzr revid: sbh@tinyerp.com-20120301052102-egvbores5z4qggqi --- addons/crm/res_partner_view.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/crm/res_partner_view.xml b/addons/crm/res_partner_view.xml index 94d5e0ec859..8e01d9d6bea 100644 --- a/addons/crm/res_partner_view.xml +++ b/addons/crm/res_partner_view.xml @@ -24,7 +24,7 @@ <field name="inherit_id" ref="base.view_partner_tree"/> <field eval="18" name="priority"/> <field name="arch" type="xml"> - <field name="country_id" position="after"> + <field name="phone" position="after"> <field name="section_id" completion="1" widget="selection" groups="base.group_extended"/> </field> From 1a6d306456e0102b2ef36745554d08852f55df06 Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Thu, 1 Mar 2012 12:13:12 +0530 Subject: [PATCH 071/313] [Add] base/res: Add the photo field in res.partner bzr revid: kjo@tinyerp.com-20120301064312-ac1c9wnb6dtu6rv8 --- openerp/addons/base/res/photo.png | Bin 0 -> 2685 bytes openerp/addons/base/res/res_partner.py | 16 ++++++++++++---- openerp/addons/base/res/res_partner_view.xml | 17 ++++++++++++----- 3 files changed, 24 insertions(+), 9 deletions(-) create mode 100644 openerp/addons/base/res/photo.png diff --git a/openerp/addons/base/res/photo.png b/openerp/addons/base/res/photo.png new file mode 100644 index 0000000000000000000000000000000000000000..1d124127b2bf7115fdb38ab2fc136fdf5b531237 GIT binary patch literal 2685 zcmV-@3WD{CP)<h;3K|Lk000e1NJLTq001xm001xu1^@s6R|5Hm00004b3#c}2nYxW zd<bNS00009a7bBm000Fs000Fs0k`caQUCw|8FWQhbW?9;ba!ELWdL_~cP?peYja~^ zaAhuUa%Y?FJQ@H13HnJyK~!jg)mlxATt^Z9s(;?^%xpHR-L+RH#w4~ZM-jrt3j~Q+ zii8v)E|DyxNFV_R4k!l@cjF7<5GfKNM=k{A5Fe9pAwUxGlSn{Fd`KKN%38`=yRp4L zo}c&A-Bld+Ju<d8#_<e_XsPsi=Jl)kzSq@N-8DlZg8%1c{ufHmojbQsRn?b?=!h|< zZ>@cEZEfxEk3asno3<^Q<_tXZ%rjptisIYOxmYO`k|dEhj$y6UT5BSrwW26~{@7!W z4W?ytDg>T*;)!H-cJ@bQSsn&Z0w~fnt+Ff&aU4?|$JSb#0!W>6rYy_fJo@OPzn|DJ z05uIIb8~Y)b<W+ZwcY{np;GFS)_Tnt^FbWPAEarz*6DQCyWQ^9PN!4mdH$W}pMU<L zY1p2az_ZUjdwMh)%`@|kwf1rpMe6`Ii0DHAmx<`I*80OJiq^9%+lZoQ(->0#_|B70 zJ{e7Ff1*YF^wUrGwAPOR820=9t-)Y$WoBk(n}`Y#aUle8&Y`L*4WQCm2j?7#h#{i6 zg9i`(1i;TeH3G(%FL>|6)vH$rhYugVHZwERUt3!nZES2*Q55mw;-Xk<5kd&gIUbEh z6hg2egbYBZEX#wF*q@kywf6Iyo15;ThaM^x78XX<+T#BE?{`Y6aQ^&xxp3hEhQlH5 zzWeTwBngZ$l~QW7y}douS{EUNxu>3b%1#nqC(Q!~XJ=>q+}vEPl&Y0dL2Dhf)^hy# zaXESNWIK)ku!wkOt_Oob{pzc)*2Wl)qUb&VZ{I0^i54+4ck?`FrIaV4pp*(qDG(8e z2qMz<WlTbz=l;l%BcUh??smI}C&4fg0U|=4=Kvr|DQ>_^dyj~AjVOioUL(A3-#+%< zW70e{5dmXNIXgSs0^4&;`~4Up0l;w_OQ+L86h&7i!Ena}UU}t}<K1p|*v!CnVE1Zc zZ<<<JT3X_Tg@te3DF$G&8A$HA=bmnoB&yM)#=!ljiAXCXBJDT>Kp!}8z+-|13`{_v z)9L)9uIsMWS_6ng#E6J)35)@6!IOw+5wXqq$a|j<(d(ZIffFZAlp%z-8@EXTq(l?} z(DYFocdPczCjc@LNvf*ijg5^rKNSK15JLFva5&r+kz7PNA%ujPt%xXQMkCaSX68sl zvJgVf%rP@Refsoi{?rJZI(6zT0KX0)WX#+RA#_3rQ3JLG4rW%&Y?wJ=<~)Rud+$G3 zUS9s^B=#pJ001XXp1k0_-)81cLm&+yjL!lwvkD<tW=<RM2{XSosqLu{005=bYu@{e znRD-b>YTG71kKD8LZGH^LkNj;E-lM43L*SyDz>Mgq^hbv)OBr`Icwf><h@tkd({w7 z-h1nui$e(U`uh6Lv17-IY1p0$f#v1pYdbqTm%R5$>q6dp?Y)Qho*FVHgb;0SZ`*#q z|F>z_1*Sv*0HP>*>(Zr5)_ZT8J-=$+JT)_+opa{>_un^JmQ9qr#@p1&Dp{6Y9F0bb znGFEN%!-;M&|LM(%8FiCSfIgR@XoaCPK^LF*M|-rqLq~uSZmed;v(AJW>r;KSy{pS z{5<C8=jqg`Q{}YmPK|&uhVwkf(W6Ik<;oRaU0ucI<|ddKaU5g+{{7M%F{fGzoEiaZ z?E$T|Pm;tfE-nVGH77|T&N*0Xx!dh}Ypo+9fByXWLk~Rg!28p%JGDjJ>2$uKwXTS$ zBqB#dfrz+~KtxVNN+K$=Ec^bn>`qLeD2n;@_4V)Od9DCl6Okb^S0WOaSpZ1WF98hF zH0{sL&CM1?@x7|5mL|1-$1b$Bwe`iSs=jWmJ=E*<iqU9v)mpphz3)5cD(`&=AqW5o zAp~Zw<2df;c^)aH$Qbka5W<&-!{I73|FPTcz7F6MZ|pu%ZM5I-&p78Ean5~7Yu(XW zmm)F>AzTX~Y#U>Clu`pCD$25SWm$?+3Q-hMk|b6{5^HTINs<`=Ga}LjkO4@Td8Cwj z%{lkGJkPhLN?>bi>;BPb^i8ex=h8G~A}WkABM}*Dtp`LjAfgd7kF?fRUDsYjxX~>{ zL|SX5wKmO}Aq9{(;5*HBJQI-=fFYs_BJxs_ByUYjV0Cr%2LQg(>2ykK?NDnyP)ZGn zXb51Wlq!g*1W*I;L=^CmD~u~Ae021*jl?3-9&mC1xrlT`q(elBi2OB8(_i5hu60WS ztE;O&^xmK7^?HLONp=A25Ya$uJ=9v4L{y82BO)&%Ohnv({y3%W@k}>FG<MfvBqB*O z3mxpb*Ih)^6_GcxEc@lhVf@%dys@!yw65#py<Tr%t-Yd@x*9^bW{epbV`=~nK-dHH zt)^5O5@AdnfSQOZ0ELJY04e}ML<qp~;c)ncJkQ_wL<EYWcr?#*7e&zy5nTnaX^a_a zt!n_j0mA^=3f%2RgYj`Zb`3=205}l|Exr(f)mnc8!0i***w{!!<g;4qfr#vgNI!%y zOp>Gm;6>ynAHTy2+xSDF`7F!~?7CMfBDweeV87q*b-UebH!9dOk(FinwJ3_n7&8Je z5|M(L9T9nMwBy#Ua;HRCDb>1FAtJ-ZK5MNX-0Q)c2&}BESZ01$Ywd}s5|IkK)5;<O zr4$+tHx;q&uwAF8sUrz92LQE*R7B*Rb0^N8J$n=0o4$DOz4uZP+28oIG*xEZic(5@ z@6}kbYFeU1L^E@1OSO4Kb~}g9oH-N!Hv;Owfdh|3QDlk80En@hbTR;$_dX?}B!mz* z_u6=F8qv2Y?fC!XgGLhU`hAAo+>nY$%*;k96|b+aKYSyB>lX3LFTYG#mL0t7uDf&; zMTz&mCnBDRED;sn`<jRxGY4k&N-4%}1i9T%N@LgY#HIl#5i!hci6~;`6hIHajI}mZ zO3~KV)@SzZ+jqUf8>7dIFTU6bA^iB>d+$9uKR;htYe(Muk%*L9>$=zL)m2sbvMgPm z=i~8woWx$qjBbz?cq^8fO<mWKh(sciXst65NiSWx6koh}@r~hd_>0r0PuI63008IC zom1ZXdqm_b_uY5jgG)<GS(>JyIk0%8R2U2f-WcOs0z|}(ueSN&#t=JRy;e#oYKp<v zxm8`)T0~4$Rc38%?b_<<>YoAp<(+rlSwC~;%uQR0TW%%Jo;|CUmzQ-}mWx$YJ+QR2 zbR^5N12Z!-y>7Q_j4|zgpPR_hZl47Jm|2<y+LHLF>bu)lO}0f{*M4VbXJ;@NTwGgQ z`&X~mdvpK({a0Uj;RV?X_-zr`Yi0oGG);A<)1k|kFVA}K=S3tn#>CFKn3<C}j#H&n z7RPbwy$3TF%si^9YNWNUM5JWqI!Tg|_kQEpv12=%o16UZyYGgVUV2HMd+xd0J{L^< rUy1g|yz#bIyas?9-{fA;e$w`D7*uXqF(Wye00000NkvXXu0mjf2FeL+ literal 0 HcmV?d00001 diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index 6f42391a79f..6bbd55bc981 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -26,6 +26,7 @@ import tools import pooler from tools.translate import _ import logging +import os class res_payterm(osv.osv): _description = 'Payment term' @@ -180,6 +181,12 @@ class res_partner(osv.osv): 'use_parent_address':True } + def _get_photo(self, cr, uid, is_company, context=None): + if is_company == 'contact': + return open(os.path.join( tools.config['root_path'], 'addons', 'base', 'res', 'photo.png'), 'rb') .read().encode('base64') + else: + return open(os.path.join( tools.config['root_path'], 'addons', 'base', 'res', 'res_company_logo.png'), 'rb') .read().encode('base64') + def copy(self, cr, uid, id, default=None, context=None): if default is None: default = {} @@ -190,12 +197,13 @@ class res_partner(osv.osv): def do_share(self, cr, uid, ids, *args): return True - def onchange_type(self, cr, uid, ids, is_company, title, child_ids,context=None): + def onchange_type(self, cr, uid, ids, is_company, title, child_ids, photo,context=None): + photo=False if is_company == 'contact': - return {'value': {'is_company': is_company, 'title': '','child_ids':[(5,)]}} + return {'value': {'is_company': is_company, 'title': '','child_ids':[(5,)], 'photo': self._get_photo(cr, uid, is_company, context)}} elif is_company == 'partner': - return {'value': {'is_company': is_company, 'title': '','parent_id':False}} - return {'value': {'is_comapny': '', 'title': ''}} + return {'value': {'is_company': is_company, 'title': '','parent_id':False, 'photo': self._get_photo(cr, uid, is_company, context)}} + return {'value': {'is_comapny': '', 'title': '','photo':''}} def onchange_address(self, cr, uid, ids, use_parent_address, parent_id, context=None): diff --git a/openerp/addons/base/res/res_partner_view.xml b/openerp/addons/base/res/res_partner_view.xml index 4fdf345bd90..82ca9cd01ac 100644 --- a/openerp/addons/base/res/res_partner_view.xml +++ b/openerp/addons/base/res/res_partner_view.xml @@ -328,7 +328,7 @@ <form string="Partners"> <group col="8" colspan="4"> <group col="2"> - <field name="is_company" on_change="onchange_type(is_company, title,child_ids)" required="1"/> + <field name="is_company" on_change="onchange_type(is_company, title,child_ids,photo)" required="1"/> <field name="function" attrs="{'invisible': [('is_company','=', 'partner')]}" colspan="2"/> <field name="title" size="0" groups="base.group_extended" domain="[('domain', '=', is_company)]"/> </group> @@ -467,7 +467,7 @@ <field name="mobile"/><br/> </td> <td t-if="record.is_company.raw_value == 'contact'" valign="top" align="right"> - <img t-att-src="kanban_gravatar(record.photo.value, 22)" class="oe_kanban_gravatar"/> + <!--img t-att-src="kanban_image('res.partner', 'photo', record.id.value)" class="oe_kanban_gravatar"/--> </td> </tr> </table> @@ -496,23 +496,30 @@ <field name="type">ir.actions.act_window</field> <field name="res_model">res.partner</field> <field name="view_type">form</field> - <field name="view_mode">tree</field> + <field name="view_mode">tree,form,kanban</field> <field name="context">{"search_default_customer":1}</field> <field name="search_view_id" ref="view_res_partner_filter"/> <field name="help">A customer is an entity you do business with, like a company or an organization. A customer can have several contacts or addresses which are the people working for this company. You can use the history tab, to follow all transactions related to a customer: sales order, emails, opportunities, claims, etc. If you use the email gateway, the Outlook or the Thunderbird plugin, don't forget to register emails to each contact so that the gateway will automatically attach incoming emails to the right partner.</field> </record> <record id="action_partner_form_view1" model="ir.actions.act_window.view"> - <field eval="10" name="sequence"/> + <field eval="0" name="sequence"/> <field name="view_mode">kanban</field> <field name="view_id" ref="res_partner_kanban_view"/> <field name="act_window_id" ref="action_partner_form"/> </record> <record id="action_partner_form_view2" model="ir.actions.act_window.view"> - <field eval="20" name="sequence"/> + <field eval="2" name="sequence"/> <field name="view_mode">form</field> <field name="view_id" ref="view_partner_form"/> <field name="act_window_id" ref="action_partner_form"/> </record> + + <record id="action_partner_tree_view1" model="ir.actions.act_window.view"> + <field name="sequence" eval="1"/> + <field name="view_mode">tree</field> + <field name="view_id" ref="view_partner_tree"/> + <field name="act_window_id" ref="action_partner_form"/> + </record> <menuitem action="action_partner_form" id="menu_partner_form" From a93e6099846b241bbdab71439ec7a1d19a24843d Mon Sep 17 00:00:00 2001 From: "Bhumika (OpenERP)" <sbh@tinyerp.com> Date: Thu, 1 Mar 2012 15:29:55 +0530 Subject: [PATCH 072/313] [Fix] edi :remove res_partner_address from edi bzr revid: sbh@tinyerp.com-20120301095955-i6atov37xb3lztlb --- addons/account/edi/invoice.py | 7 +++---- addons/edi/models/res_company.py | 7 +++---- addons/edi/models/res_partner.py | 23 +++++++++-------------- 3 files changed, 15 insertions(+), 22 deletions(-) diff --git a/addons/account/edi/invoice.py b/addons/account/edi/invoice.py index d36e9163ba9..48b3421e43a 100644 --- a/addons/account/edi/invoice.py +++ b/addons/account/edi/invoice.py @@ -75,7 +75,7 @@ class account_invoice(osv.osv, EDIMixin): """Exports a supplier or customer invoice""" edi_struct = dict(edi_struct or INVOICE_EDI_STRUCT) res_company = self.pool.get('res.company') - res_partner_address = self.pool.get('res.partner.address') + res_partner_address = self.pool.get('res.partner') edi_doc_list = [] for invoice in records: # generate the main report @@ -125,7 +125,6 @@ class account_invoice(osv.osv, EDIMixin): # the desired company among the user's allowed companies self._edi_requires_attributes(('company_id','company_address','type'), edi_document) - res_partner_address = self.pool.get('res.partner.address') res_partner = self.pool.get('res.partner') # imported company = new partner @@ -144,10 +143,10 @@ class account_invoice(osv.osv, EDIMixin): address_info = edi_document.pop('company_address') address_info['partner_id'] = (src_company_id, src_company_name) address_info['type'] = 'invoice' - address_id = res_partner_address.edi_import(cr, uid, address_info, context=context) + address_id = res_partner.edi_import(cr, uid, address_info, context=context) # modify edi_document to refer to new partner - partner_address = res_partner_address.browse(cr, uid, address_id, context=context) + partner_address = res_partner.browse(cr, uid, address_id, context=context) edi_document['partner_id'] = (src_company_id, src_company_name) edi_document.pop('partner_address', False) # ignored edi_document['address_invoice_id'] = self.edi_m2o(cr, uid, partner_address, context=context) diff --git a/addons/edi/models/res_company.py b/addons/edi/models/res_company.py index cf5efe997e0..0ab6607cdad 100644 --- a/addons/edi/models/res_company.py +++ b/addons/edi/models/res_company.py @@ -37,13 +37,12 @@ class res_company(osv.osv): an empty dict if no address can be found """ res_partner = self.pool.get('res.partner') - res_partner_address = self.pool.get('res.partner.address') addresses = res_partner.address_get(cr, uid, [company.partner_id.id], ['default', 'contact', 'invoice']) addr_id = addresses['invoice'] or addresses['contact'] or addresses['default'] result = {} if addr_id: - address = res_partner_address.browse(cr, uid, addr_id, context=context) - result = res_partner_address.edi_export(cr, uid, [address], edi_struct=edi_address_struct, context=context)[0] + address = res_partner.browse(cr, uid, addr_id, context=context) + result = res_partner.edi_export(cr, uid, [address], edi_struct=edi_address_struct, context=context)[0] if company.logo: result['logo'] = company.logo # already base64-encoded if company.paypal_account: @@ -52,7 +51,7 @@ class res_company(osv.osv): res_partner_bank = self.pool.get('res.partner.bank') bank_ids = res_partner_bank.search(cr, uid, [('company_id','=',company.id),('footer','=',True)], context=context) if bank_ids: - result['bank_ids'] = res_partner_address.edi_m2m(cr, uid, + result['bank_ids'] = res_partner.edi_m2m(cr, uid, res_partner_bank.browse(cr, uid, bank_ids, context=context), context=context) return result diff --git a/addons/edi/models/res_partner.py b/addons/edi/models/res_partner.py index 7c40a5c7354..7177102542d 100644 --- a/addons/edi/models/res_partner.py +++ b/addons/edi/models/res_partner.py @@ -25,8 +25,12 @@ from edi import EDIMixin from openerp import SUPERUSER_ID from tools.translate import _ -RES_PARTNER_ADDRESS_EDI_STRUCT = { + +RES_PARTNER_EDI_STRUCT = { 'name': True, + 'ref': True, + 'lang': True, + 'website': True, 'email': True, 'street': True, 'street2': True, @@ -39,13 +43,6 @@ RES_PARTNER_ADDRESS_EDI_STRUCT = { 'mobile': True, } -RES_PARTNER_EDI_STRUCT = { - 'name': True, - 'ref': True, - 'lang': True, - 'website': True, - 'address': RES_PARTNER_ADDRESS_EDI_STRUCT -} class res_partner(osv.osv, EDIMixin): _inherit = "res.partner" @@ -55,8 +52,6 @@ class res_partner(osv.osv, EDIMixin): edi_struct or dict(RES_PARTNER_EDI_STRUCT), context=context) -class res_partner_address(osv.osv, EDIMixin): - _inherit = "res.partner.address" def _get_bank_type(self, cr, uid, context=None): # first option: the "normal" bank type, installed by default @@ -79,18 +74,18 @@ class res_partner_address(osv.osv, EDIMixin): return code def edi_export(self, cr, uid, records, edi_struct=None, context=None): - return super(res_partner_address,self).edi_export(cr, uid, records, - edi_struct or dict(RES_PARTNER_ADDRESS_EDI_STRUCT), + return super(res_partner,self).edi_export(cr, uid, records, + edi_struct or dict(RES_PARTNER_EDI_STRUCT), context=context) def edi_import(self, cr, uid, edi_document, context=None): # handle bank info, if any edi_bank_ids = edi_document.pop('bank_ids', None) - address_id = super(res_partner_address,self).edi_import(cr, uid, edi_document, context=context) + address_id = super(res_partner,self).edi_import(cr, uid, edi_document, context=context) if edi_bank_ids: address = self.browse(cr, uid, address_id, context=context) import_ctx = dict((context or {}), - default_partner_id=address.partner_id.id, + default_partner_id=address.id, default_state=self._get_bank_type(cr, uid, context)) for ext_bank_id, bank_name in edi_bank_ids: try: From 1ed2c9c0434e530a2029f7a79ecee3d9a64f9215 Mon Sep 17 00:00:00 2001 From: "Bhumika (OpenERP)" <sbh@tinyerp.com> Date: Thu, 1 Mar 2012 15:55:51 +0530 Subject: [PATCH 073/313] [Fix] account :remove res.partner.addree and put use res.partner bzr revid: sbh@tinyerp.com-20120301102551-lo7brtl2g49luxkb --- addons/account/account.py | 14 +++++++------- addons/account/account_invoice.py | 4 ++-- addons/account/demo/account_invoice_demo.xml | 1 - addons/account/report/account_invoice_report.py | 4 ++-- addons/account/report/account_print_overdue.py | 4 +--- addons/account/test/test_edi_invoice.yml | 4 ++-- 6 files changed, 14 insertions(+), 17 deletions(-) diff --git a/addons/account/account.py b/addons/account/account.py index c1a30967aea..2c954b9ee57 100644 --- a/addons/account/account.py +++ b/addons/account/account.py @@ -1963,8 +1963,8 @@ class account_tax(osv.osv): return self.pool.get('res.company').search(cr, uid, [('parent_id', '=', False)])[0] _defaults = { - 'python_compute': '''# price_unit\n# address: res.partner.address object or False\n# product: product.product object or None\n# partner: res.partner object or None\n\nresult = price_unit * 0.10''', - 'python_compute_inv': '''# price_unit\n# address: res.partner.address object or False\n# product: product.product object or False\n\nresult = price_unit * 0.10''', + 'python_compute': '''# price_unit\n# address: res.partner object or False\n# product: product.product object or None\n# partner: res.partner object or None\n\nresult = price_unit * 0.10''', + 'python_compute_inv': '''# price_unit\n# address: res.partner object or False\n# product: product.product object or False\n\nresult = price_unit * 0.10''', 'applicable_type': 'true', 'type': 'percent', 'amount': 0, @@ -1983,7 +1983,7 @@ class account_tax(osv.osv): def _applicable(self, cr, uid, taxes, price_unit, address_id=None, product=None, partner=None): res = [] - obj_partener_address = self.pool.get('res.partner.address') + obj_partener_address = self.pool.get('res.partner') for tax in taxes: if tax.applicable_type=='code': localdict = {'price_unit':price_unit, 'address':obj_partener_address.browse(cr, uid, address_id), 'product':product, 'partner':partner} @@ -1998,7 +1998,7 @@ class account_tax(osv.osv): taxes = self._applicable(cr, uid, taxes, price_unit, address_id, product, partner) res = [] cur_price_unit=price_unit - obj_partener_address = self.pool.get('res.partner.address') + obj_partener_address = self.pool.get('res.partner') for tax in taxes: # we compute the amount for the current tax object and append it to the result data = {'id':tax.id, @@ -2125,7 +2125,7 @@ class account_tax(osv.osv): def _unit_compute_inv(self, cr, uid, taxes, price_unit, address_id=None, product=None, partner=None): taxes = self._applicable(cr, uid, taxes, price_unit, address_id, product, partner) - obj_partener_address = self.pool.get('res.partner.address') + obj_partener_address = self.pool.get('res.partner') res = [] taxes.reverse() cur_price_unit = price_unit @@ -2806,8 +2806,8 @@ class account_tax_template(osv.osv): return self.pool.get('res.company').search(cr, uid, [('parent_id', '=', False)])[0] _defaults = { - 'python_compute': lambda *a: '''# price_unit\n# address: res.partner.address object or False\n# product: product.product object or None\n# partner: res.partner object or None\n\nresult = price_unit * 0.10''', - 'python_compute_inv': lambda *a: '''# price_unit\n# address: res.partner.address object or False\n# product: product.product object or False\n\nresult = price_unit * 0.10''', + 'python_compute': lambda *a: '''# price_unit\n# address: res.partner object or False\n# product: product.product object or None\n# partner: res.partner object or None\n\nresult = price_unit * 0.10''', + 'python_compute_inv': lambda *a: '''# price_unit\n# address: res.partner object or False\n# product: product.product object or False\n\nresult = price_unit * 0.10''', 'applicable_type': 'true', 'type': 'percent', 'amount': 0, diff --git a/addons/account/account_invoice.py b/addons/account/account_invoice.py index 5e5ac5f482b..ea18f5a1795 100644 --- a/addons/account/account_invoice.py +++ b/addons/account/account_invoice.py @@ -216,8 +216,8 @@ class account_invoice(osv.osv): help="If you use payment terms, the due date will be computed automatically at the generation "\ "of accounting entries. If you keep the payment term and the due date empty, it means direct payment. The payment term may compute several due dates, for example 50% now, 50% in one month."), 'partner_id': fields.many2one('res.partner', 'Partner', change_default=True, readonly=True, required=True, states={'draft':[('readonly',False)]}), - 'address_contact_id': fields.many2one('res.partner.address', 'Contact Address', readonly=True, states={'draft':[('readonly',False)]}), - 'address_invoice_id': fields.many2one('res.partner.address', 'Invoice Address', readonly=True, required=True, states={'draft':[('readonly',False)]}), + 'address_contact_id': fields.many2one('res.partner', 'Contact Address', readonly=True, states={'draft':[('readonly',False)]}), + 'address_invoice_id': fields.many2one('res.partner', 'Invoice Address', readonly=True, required=True, states={'draft':[('readonly',False)]}), 'payment_term': fields.many2one('account.payment.term', 'Payment Term',readonly=True, states={'draft':[('readonly',False)]}, help="If you use payment terms, the due date will be computed automatically at the generation "\ "of accounting entries. If you keep the payment term and the due date empty, it means direct payment. "\ diff --git a/addons/account/demo/account_invoice_demo.xml b/addons/account/demo/account_invoice_demo.xml index 184b349be71..141ab52edb5 100644 --- a/addons/account/demo/account_invoice_demo.xml +++ b/addons/account/demo/account_invoice_demo.xml @@ -8,7 +8,6 @@ <field name="currency_id" ref="base.EUR"/> <field name="address_invoice_id" ref="base.res_partner_address_wong"/> <field name="user_id" ref="base.user_demo"/> - <field name="address_contact_id" ref="base.res_partner_address_wong"/> <field name="reference_type">none</field> <field name="company_id" ref="base.main_company"/> <field name="state">draft</field> diff --git a/addons/account/report/account_invoice_report.py b/addons/account/report/account_invoice_report.py index 839c9b13043..f599bf20544 100644 --- a/addons/account/report/account_invoice_report.py +++ b/addons/account/report/account_invoice_report.py @@ -65,8 +65,8 @@ class account_invoice_report(osv.osv): ('cancel','Cancelled') ], 'Invoice State', readonly=True), 'date_due': fields.date('Due Date', readonly=True), - 'address_contact_id': fields.many2one('res.partner.address', 'Contact Address Name', readonly=True), - 'address_invoice_id': fields.many2one('res.partner.address', 'Invoice Address Name', readonly=True), + 'address_contact_id': fields.many2one('res.partner', 'Contact Address Name', readonly=True), + 'address_invoice_id': fields.many2one('res.partner', 'Invoice Address Name', readonly=True), 'account_id': fields.many2one('account.account', 'Account',readonly=True), 'account_line_id': fields.many2one('account.account', 'Account Line',readonly=True), 'partner_bank_id': fields.many2one('res.partner.bank', 'Bank Account',readonly=True), diff --git a/addons/account/report/account_print_overdue.py b/addons/account/report/account_print_overdue.py index 0a03801d409..82e6abf7b63 100644 --- a/addons/account/report/account_print_overdue.py +++ b/addons/account/report/account_print_overdue.py @@ -38,7 +38,6 @@ class Overdue(report_sxw.rml_parse): def _adr_get(self, partner, type): res = [] res_partner = pooler.get_pool(self.cr.dbname).get('res.partner') - res_partner_address = pooler.get_pool(self.cr.dbname).get('res.partner.address') addresses = res_partner.address_get(self.cr, self.uid, [partner.id], [type]) adr_id = addresses and addresses[type] or False result = { @@ -51,7 +50,7 @@ class Overdue(report_sxw.rml_parse): 'country_id': False, } if adr_id: - result = res_partner_address.read(self.cr, self.uid, [adr_id], context=self.context.copy()) + result = res_partner.read(self.cr, self.uid, [adr_id], context=self.context.copy()) result[0]['country_id'] = result[0]['country_id'] and result[0]['country_id'][1] or False result[0]['state_id'] = result[0]['state_id'] and result[0]['state_id'][1] or False return result @@ -62,7 +61,6 @@ class Overdue(report_sxw.rml_parse): def _tel_get(self,partner): if not partner: return False - res_partner_address = pooler.get_pool(self.cr.dbname).get('res.partner.address') res_partner = pooler.get_pool(self.cr.dbname).get('res.partner') addresses = res_partner.address_get(self.cr, self.uid, [partner.id], ['invoice']) adr_id = addresses and addresses['invoice'] or False diff --git a/addons/account/test/test_edi_invoice.yml b/addons/account/test/test_edi_invoice.yml index e2c0f21e7da..4e8adc10ab0 100644 --- a/addons/account/test/test_edi_invoice.yml +++ b/addons/account/test/test_edi_invoice.yml @@ -58,7 +58,7 @@ "company_address": { "__id": "base:b22acf7a-ddcd-11e0-a4db-701a04e25543.main_address", "__module": "base", - "__model": "res.partner.address", + "__model": "res.partner", "city": "Gerompont", "zip": "1367", "country_id": ["base:b22acf7a-ddcd-11e0-a4db-701a04e25543.be", "Belgium"], @@ -80,7 +80,7 @@ "partner_address": { "__id": "base:5af1272e-dd26-11e0-b65e-701a04e25543.res_partner_address_7wdsjasdjh", "__module": "base", - "__model": "res.partner.address", + "__model": "res.partner", "phone": "(+32).81.81.37.00", "street": "Chaussee de Namur 40", "city": "Gerompont", From dcea683f059144767379c5b3fd9bf05bb86d434a Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Thu, 1 Mar 2012 17:23:37 +0530 Subject: [PATCH 074/313] [IMP] base/res_partner: add child view bzr revid: kjo@tinyerp.com-20120301115337-sjp39r980l2dqunv --- openerp/addons/base/res/res_partner.py | 2 +- openerp/addons/base/res/res_partner_view.xml | 70 +++++++++++++++++++- 2 files changed, 70 insertions(+), 2 deletions(-) diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index 6bbd55bc981..2ec9d3707e3 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -274,7 +274,7 @@ class res_partner(osv.osv): # if update_ids: # osv.osv.write(self, cr, uid,update_ids, vals,context=context) for key, data in vals.iteritems(): - if key in ('street','street2','zip','city','state_id','country_id','email','phone','fax','mobile','website','ref','lang') and data : + if key in ('street','street2','zip','city','state_id','country_id','email','phone','fax','mobile','website','ref','lang') and data : update_list=update_ids or parent_id if update_list : sql = "update res_partner set %(field)s = %%(value)s where id in %%(id)s" % { diff --git a/openerp/addons/base/res/res_partner_view.xml b/openerp/addons/base/res/res_partner_view.xml index 82ca9cd01ac..26568ba87f8 100644 --- a/openerp/addons/base/res/res_partner_view.xml +++ b/openerp/addons/base/res/res_partner_view.xml @@ -371,7 +371,75 @@ <field name="ref" groups="base.group_extended" colspan="4"/> </group> <group colspan="4" attrs="{'invisible': [('is_company','!=', 'partner')]}"> - <field name="child_ids" context="{'default_parent_id': active_id}" nolabel="1"/> + <field name="child_ids" context="{'default_parent_id': active_id}" nolabel="1"> + <form string="Partners"> + <group col="8" colspan="4"> + <group col="2"> + <field name="is_company" on_change="onchange_type(is_company, title,child_ids,photo)" required="1" domain="[('is_company', '=', 'partner')]"/> + <field name="function" attrs="{'invisible': [('is_company','=', 'partner')]}" colspan="2"/> + <field name="title" size="0" groups="base.group_extended" domain="[('domain', '=', is_company)]"/> + </group> + <group col="2"> + <field name="name" required="1"/> + <field name="parent_id" string="Company" attrs="{'invisible': [('is_company','=', 'partner')]}" domain="[('is_company', '=', 'partner')]" context="{'default_is_company': 'partner'}" on_change="onchange_address(use_parent_address, parent_id)" invisible="1"/> + </group> + <group col="2"> + <field name="customer"/> + <field name="supplier"/> + </group> + <group col="2"> + <field name="photo" widget='image' nolabel="1"/> + </group> + </group> + <notebook colspan="4"> + <page string="General"> + <group colspan="2"> + <separator string="Address" colspan="4"/> + <group colspan="2"> + <field name="type" string="Type" attrs="{'invisible': [('is_company','=', 'partner')]}"/> + <field name="use_parent_address" attrs="{'invisible': [('is_company','=', 'partner')]}" on_change="onchange_address(use_parent_address, parent_id)"/> + </group> + <newline/> + <field name="street" colspan="4"/> + <field name="street2" colspan="4"/> + <field name="zip"/> + <field name="city"/> + <field name="country_id"/> + <field name="state_id"/> + </group> + <group colspan="2"> + <separator string="Communication" colspan="4"/> + <field name="lang" colspan="4"/> + <field name="phone" colspan="4"/> + <field name="mobile" colspan="4"/> + <field name="fax" colspan="4"/> + <field name="email" widget="email" colspan="4"/> + <field name="website" widget="url" colspan="4"/> + <field name="ref" groups="base.group_extended" colspan="4"/> + </group> + <group colspan="4" attrs="{'invisible': [('is_company','!=', 'partner')]}"> + <field name="child_ids" domain="[('id','!=',parent_id.id)]" nolabel="1"/> + </group> + </page> + <page string="Sales & Purchases" attrs="{'invisible': [('customer', '=', False), ('supplier', '=', False)]}"> + <separator string="General Information" colspan="4"/> + <field name="user_id"/> + <field name="active" groups="base.group_extended"/> + <field name="date"/> + <field name="company_id" groups="base.group_multi_company" widget="selection"/> + <newline/> + </page> + <page string="History" groups="base.group_extended" invisible="True"> + </page> + <page string="Categories" groups="base.group_extended"> + <field name="category_id" colspan="4" nolabel="1"/> + </page> + <page string="Notes"> + <field name="comment" colspan="4" nolabel="1"/> + </page> + </notebook> + </form> + </field> </group> </page> <page string="Sales & Purchases" attrs="{'invisible': [('customer', '=', False), ('supplier', '=', False)]}"> From d684d1633320907eed6ea18c2767130ea97c1fa2 Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Fri, 2 Mar 2012 10:44:39 +0530 Subject: [PATCH 075/313] [IMP] base/res_partner: change kanban view bzr revid: kjo@tinyerp.com-20120302051439-i3of3pdkp5gyraip --- openerp/addons/base/res/res_partner_view.xml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/openerp/addons/base/res/res_partner_view.xml b/openerp/addons/base/res/res_partner_view.xml index 26568ba87f8..0c3652ac152 100644 --- a/openerp/addons/base/res/res_partner_view.xml +++ b/openerp/addons/base/res/res_partner_view.xml @@ -526,13 +526,13 @@ <tr> <td class="oe_kanban_title1" align="left" valign="middle"> <h4><a type="edit"><field name="name"/></a></h4> - <field name="street"/> - <field name="street2"/><br/> - <field name="city"/> - <field name="zip"/><br/> - <field name="country_id"/><br/> - <field name="email"/><br/> - <field name="mobile"/><br/> + <i><div t-if="record.street.raw_value or record.street2.raw_value"><field name="street"/> + <field name="street2"/><br/></div> + <div t-if="record.city.raw_value or record.zip.raw_value"><field name="city"/> + <field name="zip"/><br/></div><div t-if="record.country_id.raw_value"> + <field name="country_id"/><br/></div><div t-if="record.email.raw_value"> + <field name="email"/><br/></div><div t-if="record.mobile.raw_value"> + <span>+91</span><field name="mobile"/><br/></div></i> </td> <td t-if="record.is_company.raw_value == 'contact'" valign="top" align="right"> <!--img t-att-src="kanban_image('res.partner', 'photo', record.id.value)" class="oe_kanban_gravatar"/--> From 115f6cc326ba7451eb9c193d31d379f30e1f390b Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Fri, 2 Mar 2012 15:15:38 +0530 Subject: [PATCH 076/313] [IMP] base/res_partner: remove duplicate demo bzr revid: kjo@tinyerp.com-20120302094538-lajxsjdrg37ly0tw --- openerp/addons/base/res/res_partner_demo.xml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/openerp/addons/base/res/res_partner_demo.xml b/openerp/addons/base/res/res_partner_demo.xml index 348e9f0931a..cfc406698ad 100644 --- a/openerp/addons/base/res/res_partner_demo.xml +++ b/openerp/addons/base/res/res_partner_demo.xml @@ -592,25 +592,25 @@ </record> - <record id="res_partner_address_henrychard0" model="res.partner"> + <!--record id="res_partner_address_henrychard0" model="res.partner"> <field eval="'Paris'" name="city"/> <field eval="'Henry Chard'" name="name"/> <field name="country_id" ref="base.fr"/> - </record> + </record--> - <record id="res_partner_address_geoff0" model="res.partner"> + <!--record id="res_partner_address_geoff0" model="res.partner"> <field eval="'Brussels'" name="city"/> <field eval="'Geoff'" name="name"/> <field name="country_id" ref="base.be"/> - </record> + </record--> - <record id="res_partner_address_rogerpecker0" model="res.partner"> + <!--record id="res_partner_address_rogerpecker0" model="res.partner"> <field eval="'Kainuu'" name="city"/> <field eval="'Roger Pecker'" name="name"/> <field name="country_id" ref="base.fi"/> - </record> + </record--> <record id="res_partner_address_0" model="res.partner"> From 68c5ef4a0b6c75498f0dbfca87161425fee44c65 Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Fri, 2 Mar 2012 16:30:21 +0530 Subject: [PATCH 077/313] [IMP] base/res_partner: address filed add in res_partner bzr revid: kjo@tinyerp.com-20120302110021-waa5p82e5tq27qpm --- openerp/addons/base/res/res_partner.py | 1 + 1 file changed, 1 insertion(+) diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index 2ec9d3707e3..2ce5e92e541 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -136,6 +136,7 @@ class res_partner(osv.osv): 'bank_ids': fields.one2many('res.partner.bank', 'partner_id', 'Banks'), 'website': fields.char('Website',size=64, help="Website of Partner."), 'comment': fields.text('Notes'), + 'address': fields.one2many('res.partner.address', 'partner_id', 'Contacts'), # it should remove in vesion 7 but for now it use for backward compatibility 'category_id': fields.many2many('res.partner.category', 'res_partner_category_rel', 'partner_id', 'category_id', 'Categories'), 'events': fields.one2many('res.partner.event', 'partner_id', 'Events'), 'credit_limit': fields.float(string='Credit Limit'), From efdf616e096963371c65c0d30dd4f39ddfd5d36b Mon Sep 17 00:00:00 2001 From: "Bhumika (OpenERP)" <sbh@tinyerp.com> Date: Fri, 2 Mar 2012 16:35:17 +0530 Subject: [PATCH 078/313] [IMP] base/res : take the defult photo image on create time bzr revid: sbh@tinyerp.com-20120302110517-1ufjptji4rv9kxwr --- openerp/addons/base/res/res_partner.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index 2ce5e92e541..46f68fe3013 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -263,6 +263,9 @@ class res_partner(osv.osv): return super(res_partner,self).write(cr, uid, ids, vals, context=context) def create(self, cr, uid, vals, context=None): + # temo get the defulat photo image ,it will remove + if 'photo' not in vals: + vals['photo'] =self._get_photo(cr,uid,vals.get('is_company'),context) if vals.get('parent_id'): update_ids= self.search(cr, uid, [('parent_id', '=', vals.get('parent_id')),('use_parent_address','=',True)], context=context) update_ids.append(vals.get('parent_id')) From 563478f7570d54121ed333c5129024f737e64521 Mon Sep 17 00:00:00 2001 From: "Bhumika (OpenERP)" <sbh@tinyerp.com> Date: Fri, 2 Mar 2012 17:59:17 +0530 Subject: [PATCH 079/313] [IMP]base/res: Improve the name_get it display with company name bzr revid: sbh@tinyerp.com-20120302122917-72hz1mh0zyadlu62 --- openerp/addons/base/res/res_partner.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index 46f68fe3013..0b74035ef11 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -300,8 +300,13 @@ class res_partner(osv.osv): rec_name = 'ref' else: rec_name = 'name' - - res = [(r['id'], r[rec_name]) for r in self.read(cr, uid, ids, [rec_name], context)] + reads = self.read(cr, uid, ids, [rec_name,'parent_id'], context=context) + res = [] + for record in reads: + name = record['name'] + if record['parent_id']: + name =name + '(' + record['parent_id'][1] +')' + res.append((record['id'], name)) return res def name_search(self, cr, uid, name, args=None, operator='ilike', context=None, limit=100): From abfcd28d04e1129f16c46e5b84408e774c192b03 Mon Sep 17 00:00:00 2001 From: "Bhumika (OpenERP)" <sbh@tinyerp.com> Date: Mon, 5 Mar 2012 09:46:26 +0530 Subject: [PATCH 080/313] [IMP] base/res: improve the condtion of update address bzr revid: sbh@tinyerp.com-20120305041626-vhdsiz9iuovni10g --- openerp/addons/base/res/res_partner.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index 0b74035ef11..a8c1439c893 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -264,9 +264,7 @@ class res_partner(osv.osv): def create(self, cr, uid, vals, context=None): # temo get the defulat photo image ,it will remove - if 'photo' not in vals: - vals['photo'] =self._get_photo(cr,uid,vals.get('is_company'),context) - if vals.get('parent_id'): + if vals.get('parent_id') and vals.get('use_parent_address'): update_ids= self.search(cr, uid, [('parent_id', '=', vals.get('parent_id')),('use_parent_address','=',True)], context=context) update_ids.append(vals.get('parent_id')) self.udpate_address(cr,uid,False,update_ids,vals) From f7debac6de4b9de0af67ecd3e349ae034f21f0ef Mon Sep 17 00:00:00 2001 From: "Bhumika (OpenERP)" <sbh@tinyerp.com> Date: Mon, 5 Mar 2012 10:03:59 +0530 Subject: [PATCH 081/313] [IMP] base/res: Improve the name_search of parnter bzr revid: sbh@tinyerp.com-20120305043359-he9ycxosp08cyyml --- openerp/addons/base/res/res_partner.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index a8c1439c893..4d2842fc6be 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -313,6 +313,19 @@ class res_partner(osv.osv): # short-circuit ref match when possible if name and operator in ('=', 'ilike', '=ilike', 'like'): ids = self.search(cr, uid, [('ref', '=', name)] + args, limit=limit, context=context) + if not ids: + names=map(lambda i : i.strip(),name.split('(')) + for i in range(len(names)): + dom=[('name', operator, names[i])] + if i>0: + dom+=[('id','child_of',ids)] + ids = self.search(cr, uid, dom, limit=limit, context=context) + contact_ids = ids + while contact_ids: + contact_ids = self.search(cr, uid, [('parent_id', 'in', contact_ids)], limit=limit, context=context) + ids += contact_ids + if args: + ids = self.search(cr, uid, [('id', 'in', ids)] + args, limit=limit, context=context) if ids: return self.name_get(cr, uid, ids, context) return super(res_partner,self).name_search(cr, uid, name, args, operator=operator, context=context, limit=limit) From 09b0ecc8f903dd41a91ab1b0dbdffde91bcaeb53 Mon Sep 17 00:00:00 2001 From: Jigar Amin - OpenERP <jam@tinyerp.com> Date: Mon, 5 Mar 2012 11:36:28 +0530 Subject: [PATCH 082/313] [FIX] removed res partner address code bzr revid: jam@tinyerp.com-20120305060628-qlynpirl1e6fh5nb --- addons/edi/models/res_company.py | 8 ++-- addons/edi/models/res_partner.py | 79 ++++++++++++++++++++++++++------ 2 files changed, 69 insertions(+), 18 deletions(-) diff --git a/addons/edi/models/res_company.py b/addons/edi/models/res_company.py index cf5efe997e0..5566dba9adc 100644 --- a/addons/edi/models/res_company.py +++ b/addons/edi/models/res_company.py @@ -37,13 +37,13 @@ class res_company(osv.osv): an empty dict if no address can be found """ res_partner = self.pool.get('res.partner') - res_partner_address = self.pool.get('res.partner.address') +# res_partner_address = self.pool.get('res.partner.address') addresses = res_partner.address_get(cr, uid, [company.partner_id.id], ['default', 'contact', 'invoice']) addr_id = addresses['invoice'] or addresses['contact'] or addresses['default'] result = {} if addr_id: - address = res_partner_address.browse(cr, uid, addr_id, context=context) - result = res_partner_address.edi_export(cr, uid, [address], edi_struct=edi_address_struct, context=context)[0] + address = res_partner.browse(cr, uid, addr_id, context=context) + result = res_partner.edi_export(cr, uid, [address], edi_struct=edi_address_struct, context=context)[0] if company.logo: result['logo'] = company.logo # already base64-encoded if company.paypal_account: @@ -52,7 +52,7 @@ class res_company(osv.osv): res_partner_bank = self.pool.get('res.partner.bank') bank_ids = res_partner_bank.search(cr, uid, [('company_id','=',company.id),('footer','=',True)], context=context) if bank_ids: - result['bank_ids'] = res_partner_address.edi_m2m(cr, uid, + result['bank_ids'] = res_partner.edi_o2m(cr, uid, res_partner_bank.browse(cr, uid, bank_ids, context=context), context=context) return result diff --git a/addons/edi/models/res_partner.py b/addons/edi/models/res_partner.py index 7c40a5c7354..98044107809 100644 --- a/addons/edi/models/res_partner.py +++ b/addons/edi/models/res_partner.py @@ -44,7 +44,18 @@ RES_PARTNER_EDI_STRUCT = { 'ref': True, 'lang': True, 'website': True, - 'address': RES_PARTNER_ADDRESS_EDI_STRUCT +# 'address': RES_PARTNER_ADDRESS_EDI_STRUCT +# 'name': True, + 'email': True, + 'street': True, + 'street2': True, + 'zip': True, + 'city': True, + 'country_id': True, + 'state_id': True, + 'phone': True, + 'fax': True, + 'mobile': True, } class res_partner(osv.osv, EDIMixin): @@ -55,9 +66,6 @@ class res_partner(osv.osv, EDIMixin): edi_struct or dict(RES_PARTNER_EDI_STRUCT), context=context) -class res_partner_address(osv.osv, EDIMixin): - _inherit = "res.partner.address" - def _get_bank_type(self, cr, uid, context=None): # first option: the "normal" bank type, installed by default res_partner_bank_type = self.pool.get('res.partner.bank.type') @@ -65,7 +73,6 @@ class res_partner_address(osv.osv, EDIMixin): return self.pool.get('ir.model.data').get_object(cr, uid, 'base', 'bank_normal', context=context).code except ValueError: pass - # second option: create a new custom type for EDI or use it if already created, as IBAN type is # not always appropriate: we need a free-form bank type for max flexibility (users can correct # data manually after import) @@ -78,19 +85,14 @@ class res_partner_address(osv.osv, EDIMixin): 'code': label}) return code - def edi_export(self, cr, uid, records, edi_struct=None, context=None): - return super(res_partner_address,self).edi_export(cr, uid, records, - edi_struct or dict(RES_PARTNER_ADDRESS_EDI_STRUCT), - context=context) - def edi_import(self, cr, uid, edi_document, context=None): # handle bank info, if any edi_bank_ids = edi_document.pop('bank_ids', None) - address_id = super(res_partner_address,self).edi_import(cr, uid, edi_document, context=context) + contact_id = super(res_partner,self).edi_import(cr, uid, edi_document, context=context) if edi_bank_ids: - address = self.browse(cr, uid, address_id, context=context) + contacts = self.browse(cr, uid, contact_id, context=context) import_ctx = dict((context or {}), - default_partner_id=address.partner_id.id, + default_partner_id=contacts.partner_id.id, default_state=self._get_bank_type(cr, uid, context)) for ext_bank_id, bank_name in edi_bank_ids: try: @@ -101,5 +103,54 @@ class res_partner_address(osv.osv, EDIMixin): logging.getLogger('edi.res_partner').warning('Failed to import bank account using' 'bank type: %s, ignoring', import_ctx['default_state'], exc_info=True) - return address_id + return contact_id + + +#class res_partner_address(osv.osv, EDIMixin): +# _inherit = "res.partner.address" + +# def _get_bank_type(self, cr, uid, context=None): +# # first option: the "normal" bank type, installed by default +# res_partner_bank_type = self.pool.get('res.partner.bank.type') +# try: +# return self.pool.get('ir.model.data').get_object(cr, uid, 'base', 'bank_normal', context=context).code +# except ValueError: +# pass + +# # second option: create a new custom type for EDI or use it if already created, as IBAN type is +# # not always appropriate: we need a free-form bank type for max flexibility (users can correct +# # data manually after import) +# code, label = 'edi_generic', 'Generic Bank Type (auto-created for EDI)' +# bank_code_ids = res_partner_bank_type.search(cr, uid, [('code','=',code)], context=context) +# if not bank_code_ids: +# logging.getLogger('edi.res_partner').info('Normal bank account type is missing, creating ' +# 'a generic bank account type for EDI.') +# self.res_partner_bank_type.create(cr, SUPERUSER_ID, {'name': label, +# 'code': label}) +# return code + +# def edi_export(self, cr, uid, records, edi_struct=None, context=None): +# return super(res_partner_address,self).edi_export(cr, uid, records, +# edi_struct or dict(RES_PARTNER_ADDRESS_EDI_STRUCT), +# context=context) + +# def edi_import(self, cr, uid, edi_document, context=None): +# # handle bank info, if any +# edi_bank_ids = edi_document.pop('bank_ids', None) +# address_id = super(res_partner_address,self).edi_import(cr, uid, edi_document, context=context) +# if edi_bank_ids: +# address = self.browse(cr, uid, address_id, context=context) +# import_ctx = dict((context or {}), +# default_partner_id=address.partner_id.id, +# default_state=self._get_bank_type(cr, uid, context)) +# for ext_bank_id, bank_name in edi_bank_ids: +# try: +# self.edi_import_relation(cr, uid, 'res.partner.bank', +# bank_name, ext_bank_id, context=import_ctx) +# except osv.except_osv: +# # failed to import it, try again with unrestricted default type +# logging.getLogger('edi.res_partner').warning('Failed to import bank account using' +# 'bank type: %s, ignoring', import_ctx['default_state'], +# exc_info=True) +# return address_id # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: From 84ad85a25d5daee560846e25c74175f71447b55e Mon Sep 17 00:00:00 2001 From: "Bhumika (OpenERP)" <sbh@tinyerp.com> Date: Mon, 5 Mar 2012 12:04:33 +0530 Subject: [PATCH 083/313] [IMP]base/res: add the company_name in display address bzr revid: sbh@tinyerp.com-20120305063433-l0pkhcwyj3nq1o7b --- openerp/addons/base/res/res_partner.py | 1 + 1 file changed, 1 insertion(+) diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index 4d2842fc6be..5341bb33aed 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -424,6 +424,7 @@ class res_partner(osv.osv): 'state_name': address.state_id and address.state_id.name or '', 'country_code': address.country_id and address.country_id.code or '', 'country_name': address.country_id and address.country_id.name or '', + 'company_name': address.parent_id and address.parent_id.name or '', } address_field = ['title', 'street', 'street2', 'zip', 'city'] for field in address_field : From dca4facf6e6391f21221580a23a152b97c77aa05 Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Mon, 5 Mar 2012 12:07:28 +0530 Subject: [PATCH 084/313] [IMP] account: remove invoice addresss bzr revid: kjo@tinyerp.com-20120305063728-81n2gmc06wnethcy --- addons/account/account_invoice.py | 18 ++++++++---------- addons/account/account_invoice_view.xml | 14 ++++++-------- addons/account/account_unit_test.xml | 1 - addons/account/demo/account_invoice_demo.xml | 1 - addons/account/edi/invoice.py | 4 ++-- addons/account/edi/invoice_action_data.xml | 6 +++--- .../account/report/account_invoice_report.py | 3 --- .../report/account_invoice_report_view.xml | 1 - .../account/report/account_print_invoice.rml | 8 ++++---- .../account/test/account_change_currency.yml | 1 - addons/account/test/account_invoice_state.yml | 1 - addons/account/test/account_report.yml | 1 - addons/account/test/account_sequence_test.yml | 1 - .../account/test/account_supplier_invoice.yml | 1 - addons/account/test/price_accuracy00.yml | 1 - addons/account/test/test_edi_invoice.yml | 1 - .../account/wizard/account_invoice_refund.py | 4 ++-- 17 files changed, 25 insertions(+), 42 deletions(-) diff --git a/addons/account/account_invoice.py b/addons/account/account_invoice.py index ea18f5a1795..5b51ba9b96b 100644 --- a/addons/account/account_invoice.py +++ b/addons/account/account_invoice.py @@ -217,7 +217,6 @@ class account_invoice(osv.osv): "of accounting entries. If you keep the payment term and the due date empty, it means direct payment. The payment term may compute several due dates, for example 50% now, 50% in one month."), 'partner_id': fields.many2one('res.partner', 'Partner', change_default=True, readonly=True, required=True, states={'draft':[('readonly',False)]}), 'address_contact_id': fields.many2one('res.partner', 'Contact Address', readonly=True, states={'draft':[('readonly',False)]}), - 'address_invoice_id': fields.many2one('res.partner', 'Invoice Address', readonly=True, required=True, states={'draft':[('readonly',False)]}), 'payment_term': fields.many2one('account.payment.term', 'Payment Term',readonly=True, states={'draft':[('readonly',False)]}, help="If you use payment terms, the due date will be computed automatically at the generation "\ "of accounting entries. If you keep the payment term and the due date empty, it means direct payment. "\ @@ -443,7 +442,6 @@ class account_invoice(osv.osv): result = {'value': { 'address_contact_id': contact_addr_id, - 'address_invoice_id': invoice_addr_id, 'account_id': acc_id, 'payment_term': partner_payment_term, 'fiscal_position': fiscal_position @@ -1092,7 +1090,7 @@ class account_invoice(osv.osv): return map(lambda x: (0,0,x), lines) def refund(self, cr, uid, ids, date=None, period_id=None, description=None, journal_id=None): - invoices = self.read(cr, uid, ids, ['name', 'type', 'number', 'reference', 'comment', 'date_due', 'partner_id', 'address_contact_id', 'address_invoice_id', 'partner_contact', 'partner_insite', 'partner_ref', 'payment_term', 'account_id', 'currency_id', 'invoice_line', 'tax_line', 'journal_id']) + invoices = self.read(cr, uid, ids, ['name', 'type', 'number', 'reference', 'comment', 'date_due', 'partner_id', 'address_contact_id', 'partner_contact', 'partner_insite', 'partner_ref', 'payment_term', 'account_id', 'currency_id', 'invoice_line', 'tax_line', 'journal_id']) obj_invoice_line = self.pool.get('account.invoice.line') obj_invoice_tax = self.pool.get('account.invoice.tax') obj_journal = self.pool.get('account.journal') @@ -1140,7 +1138,7 @@ class account_invoice(osv.osv): 'name': description, }) # take the id part of the tuple returned for many2one fields - for field in ('address_contact_id', 'address_invoice_id', 'partner_id', + for field in ('address_contact_id', 'partner_id', 'account_id', 'currency_id', 'payment_term', 'journal_id'): invoice[field] = invoice[field] and invoice[field][0] # create the new invoice @@ -1257,7 +1255,7 @@ class account_invoice_line(osv.osv): cur_obj = self.pool.get('res.currency') for line in self.browse(cr, uid, ids): price = line.price_unit * (1-(line.discount or 0.0)/100.0) - taxes = tax_obj.compute_all(cr, uid, line.invoice_line_tax_id, price, line.quantity, product=line.product_id, address_id=line.invoice_id.address_invoice_id, partner=line.invoice_id.partner_id) + taxes = tax_obj.compute_all(cr, uid, line.invoice_line_tax_id, price, line.quantity, product=line.product_id, partner=line.invoice_id.partner_id) res[line.id] = taxes['total'] if line.invoice_id: cur = line.invoice_id.currency_id @@ -1277,7 +1275,7 @@ class account_invoice_line(osv.osv): taxes = l[2].get('invoice_line_tax_id') if len(taxes[0]) >= 3 and taxes[0][2]: taxes = tax_obj.browse(cr, uid, list(taxes[0][2])) - for tax in tax_obj.compute_all(cr, uid, taxes, p,l[2].get('quantity'), context.get('address_invoice_id', False), l[2].get('product_id', False), context.get('partner_id', False))['taxes']: + for tax in tax_obj.compute_all(cr, uid, taxes, p,l[2].get('quantity'), l[2].get('product_id', False), context.get('partner_id', False))['taxes']: t = t - tax['amount'] return t return 0 @@ -1322,7 +1320,7 @@ class account_invoice_line(osv.osv): res['arch'] = etree.tostring(doc) return res - def product_id_change(self, cr, uid, ids, product, uom, qty=0, name='', type='out_invoice', partner_id=False, fposition_id=False, price_unit=False, address_invoice_id=False, currency_id=False, context=None, company_id=None): + def product_id_change(self, cr, uid, ids, product, uom, qty=0, name='', type='out_invoice', partner_id=False, fposition_id=False, price_unit=False, currency_id=False, context=None, company_id=None): if context is None: context = {} company_id = company_id if company_id != None else context.get('company_id',False) @@ -1404,7 +1402,7 @@ class account_invoice_line(osv.osv): context = dict(context) context.update({'company_id': company_id}) warning = {} - res = self.product_id_change(cr, uid, ids, product, uom, qty, name, type, partner_id, fposition_id, price_unit, address_invoice_id, currency_id, context=context) + res = self.product_id_change(cr, uid, ids, product, uom, qty, name, type, partner_id, fposition_id, price_unit, currency_id, context=context) if 'uos_id' in res['value']: del res['value']['uos_id'] if not uom: @@ -1437,7 +1435,7 @@ class account_invoice_line(osv.osv): tax_code_found= False for tax in tax_obj.compute_all(cr, uid, line.invoice_line_tax_id, (line.price_unit * (1.0 - (line['discount'] or 0.0) / 100.0)), - line.quantity, inv.address_invoice_id.id, line.product_id, + line.quantity, inv.address_contact_id.id, line.product_id, inv.partner_id)['taxes']: if inv.type in ('out_invoice', 'in_invoice'): @@ -1572,7 +1570,7 @@ class account_invoice_tax(osv.osv): company_currency = inv.company_id.currency_id.id for line in inv.invoice_line: - for tax in tax_obj.compute_all(cr, uid, line.invoice_line_tax_id, (line.price_unit* (1-(line.discount or 0.0)/100.0)), line.quantity, inv.address_invoice_id.id, line.product_id, inv.partner_id)['taxes']: + for tax in tax_obj.compute_all(cr, uid, line.invoice_line_tax_id, (line.price_unit* (1-(line.discount or 0.0)/100.0)), line.quantity, inv.address_contact_id.id, line.product_id, inv.partner_id)['taxes']: tax['price_unit'] = cur_obj.round(cr, uid, cur, tax['price_unit']) val={} val['invoice_id'] = inv.id diff --git a/addons/account/account_invoice_view.xml b/addons/account/account_invoice_view.xml index 59977c252f9..80c4901286f 100644 --- a/addons/account/account_invoice_view.xml +++ b/addons/account/account_invoice_view.xml @@ -51,12 +51,12 @@ <field name="type">form</field> <field name="arch" type="xml"> <form string="Invoice Line"> - <field name="product_id" on_change="product_id_change(product_id, uos_id, quantity, name, parent.type, parent.partner_id, parent.fiscal_position, price_unit, parent.address_invoice_id, parent.currency_id, context, parent.company_id)"/> + <field name="product_id" on_change="product_id_change(product_id, uos_id, quantity, name, parent.type, parent.partner_id, parent.fiscal_position, price_unit, parent.currency_id, context, parent.company_id)"/> <field colspan="2" name="name"/> <label string="Quantity :" align="1.0"/> <group colspan="1" col="2"> <field name="quantity" nolabel="1"/> - <field name="uos_id" on_change="uos_id_change(product_id, uos_id, quantity, name, parent.type, parent.partner_id, parent.fiscal_position, price_unit, parent.address_invoice_id, parent.currency_id, context, parent.company_id)" nolabel="1"/> + <field name="uos_id" on_change="uos_id_change(product_id, uos_id, quantity, name, parent.type, parent.partner_id, parent.fiscal_position, price_unit, parent.address_contact_id, parent.currency_id, context, parent.company_id)" nolabel="1"/> </group> <field name="price_unit"/> <field domain="[('company_id', '=', parent.company_id), ('journal_id', '=', parent.journal_id), ('type', '<>', 'view')]" name="account_id" on_change="onchange_account_id(product_id, parent.partner_id, parent.type, parent.fiscal_position,account_id)"/> @@ -152,8 +152,7 @@ <field name="currency_id" width="50"/> <button name="%(action_account_change_currency)d" type="action" icon="terp-stock_effects-object-colorize" string="Change" attrs="{'invisible':[('state','!=','draft')]}" groups="account.group_account_user"/> <newline/> - <field string="Supplier" name="partner_id" on_change="onchange_partner_id(type,partner_id,date_invoice,payment_term, partner_bank_id,company_id)" context="{'default_customer': 0, 'search_default_supplier': 1, 'default_supplier': 1}" options='{"quick_create": false}' domain="[('supplier', '=', True)]"/> - <field domain="[('partner_id','=',partner_id)]" name="address_invoice_id" context="{'default_partner_id': partner_id}" options='{"quick_create": false}'/> + <field string="Supplier Name" name="partner_id" on_change="onchange_partner_id(type,partner_id,date_invoice,payment_term, partner_bank_id,company_id)" context="{'default_customer': 0, 'search_default_supplier': 1, 'default_supplier': 1}" options='{"quick_create": false}' domain="[('supplier', '=', True)]"/> <field name="fiscal_position" groups="base.group_extended" widget="selection"/> <newline/> <field name="date_invoice"/> @@ -168,9 +167,9 @@ <field name="reference_type" nolabel="1" size="0"/> <field name="reference" nolabel="1"/> <field name="date_due"/> - <field colspan="4" context="{'address_invoice_id': address_invoice_id, 'partner_id': partner_id, 'price_type': 'price_type' in dir() and price_type or False, 'type': type}" name="invoice_line" nolabel="1"> + <field colspan="4" context="{'address_contact_id': address_contact_id, 'partner_id': partner_id, 'price_type': 'price_type' in dir() and price_type or False, 'type': type}" name="invoice_line" nolabel="1"> <tree string="Invoice lines"> - <field name="product_id" on_change="product_id_change(product_id, uos_id, quantity, name, parent.type, parent.partner_id, parent.fiscal_position, price_unit, parent.address_invoice_id, parent.currency_id, context, parent.company_id)"/> + <field name="product_id" on_change="product_id_change(product_id, uos_id, quantity, name, parent.type, parent.partner_id, parent.fiscal_position, price_unit, parent.currency_id, context, parent.company_id)"/> <field domain="[('company_id', '=', parent.company_id), ('journal_id', '=', parent.journal_id), ('type', '<>', 'view')]" name="account_id" on_change="onchange_account_id(product_id,parent.partner_id,parent.type,parent.fiscal_position,account_id)"/> <field name="invoice_line_tax_id" view_mode="2" context="{'type':parent.type}" domain="[('parent_id','=',False)]"/> <field domain="[('type','<>','view'), ('company_id', '=', parent.company_id), ('parent_id', '!=', False)]" name="account_analytic_id" groups="analytic.group_analytic_accounting"/> @@ -262,8 +261,7 @@ <field name="currency_id" width="50"/> <button name="%(action_account_change_currency)d" type="action" icon="terp-stock_effects-object-colorize" string="Change" attrs="{'invisible':[('state','!=','draft')]}" groups="account.group_account_user"/> <newline/> - <field string="Customer" name="partner_id" on_change="onchange_partner_id(type,partner_id,date_invoice,payment_term, partner_bank_id,company_id)" groups="base.group_user" context="{'search_default_customer': 1}" options='{"quick_create": false}' domain="[('customer', '=', True)]"/> - <field domain="[('partner_id','=',partner_id)]" name="address_invoice_id" context="{'default_partner_id': partner_id}" options='{"quick_create": false}'/> + <field string="Customer Name" name="partner_id" on_change="onchange_partner_id(type,partner_id,date_invoice,payment_term, partner_bank_id,company_id)" groups="base.group_user" context="{'search_default_customer': 1}" options='{"quick_create": false}' domain="[('customer', '=', True)]"/> <field name="fiscal_position" groups="base.group_extended" widget="selection" options='{"quick_create": false}'/> <newline/> <field name="date_invoice"/> diff --git a/addons/account/account_unit_test.xml b/addons/account/account_unit_test.xml index c810e6a1080..7cede6c1a8d 100644 --- a/addons/account/account_unit_test.xml +++ b/addons/account/account_unit_test.xml @@ -5,7 +5,6 @@ <record id="test_invoice_1" model="account.invoice"> <field name="currency_id" ref="base.EUR"/> <field name="company_id" ref="base.main_company"/> - <field name="address_invoice_id" ref="base.res_partner_address_tang"/> <field name="partner_id" ref="base.res_partner_asus"/> <field name="journal_id" ref="account.sales_journal"/> <field name="state">draft</field> diff --git a/addons/account/demo/account_invoice_demo.xml b/addons/account/demo/account_invoice_demo.xml index 141ab52edb5..44e22ce4681 100644 --- a/addons/account/demo/account_invoice_demo.xml +++ b/addons/account/demo/account_invoice_demo.xml @@ -6,7 +6,6 @@ <field name="payment_term" ref="account.account_payment_term"/> <field name="journal_id" ref="account.expenses_journal"/> <field name="currency_id" ref="base.EUR"/> - <field name="address_invoice_id" ref="base.res_partner_address_wong"/> <field name="user_id" ref="base.user_demo"/> <field name="reference_type">none</field> <field name="company_id" ref="base.main_company"/> diff --git a/addons/account/edi/invoice.py b/addons/account/edi/invoice.py index 48b3421e43a..acaeb773062 100644 --- a/addons/account/edi/invoice.py +++ b/addons/account/edi/invoice.py @@ -84,7 +84,7 @@ class account_invoice(osv.osv, EDIMixin): edi_doc.update({ 'company_address': res_company.edi_export_address(cr, uid, invoice.company_id, context=context), 'company_paypal_account': invoice.company_id.paypal_account, - 'partner_address': res_partner_address.edi_export(cr, uid, [invoice.address_invoice_id], context=context)[0], + 'partner_address': res_partner_address.edi_export(cr, uid, [invoice.address_contact_id], context=context)[0], 'currency': self.pool.get('res.currency').edi_export(cr, uid, [invoice.currency_id], context=context)[0], 'partner_ref': invoice.reference or False, @@ -149,7 +149,7 @@ class account_invoice(osv.osv, EDIMixin): partner_address = res_partner.browse(cr, uid, address_id, context=context) edi_document['partner_id'] = (src_company_id, src_company_name) edi_document.pop('partner_address', False) # ignored - edi_document['address_invoice_id'] = self.edi_m2o(cr, uid, partner_address, context=context) + edi_document['address_contact_id'] = self.edi_m2o(cr, uid, partner_address, context=context) return partner_id diff --git a/addons/account/edi/invoice_action_data.xml b/addons/account/edi/invoice_action_data.xml index 0904ec6fd54..a7bf89b6c26 100644 --- a/addons/account/edi/invoice_action_data.xml +++ b/addons/account/edi/invoice_action_data.xml @@ -40,13 +40,13 @@ <field name="name">Automated Invoice Notification Mail</field> <field name="email_from">${object.user_id.user_email or object.company_id.email or 'noreply@localhost'}</field> <field name="subject">${object.company_id.name} Invoice (Ref ${object.number or 'n/a' })</field> - <field name="email_to">${object.address_invoice_id.email or ''}</field> + <field name="email_to">${object.address_contact_id.email or ''}</field> <field name="model_id" ref="account.model_account_invoice"/> <field name="auto_delete" eval="True"/> <field name="body_html"><![CDATA[ <div style="font-family: 'Lucica Grande', Ubuntu, Arial, Verdana, sans-serif; font-size: 12px; color: rgb(34, 34, 34); background-color: rgb(255, 255, 255); "> - <p>Hello${object.address_invoice_id.name and ' ' or ''}${object.address_invoice_id.name or ''},</p> + <p>Hello${object.address_contact_id.name and ' ' or ''}${object.address_contact_id.name or ''},</p> <p>A new invoice is available for ${object.partner_id.name}: </p> @@ -124,7 +124,7 @@ </div> ]]></field> <field name="body_text"><![CDATA[ -Hello${object.address_invoice_id.name and ' ' or ''}${object.address_invoice_id.name or ''}, +Hello${object.address_contact_id.name and ' ' or ''}${object.address_contact_id.name or ''}, A new invoice is available for ${object.partner_id.name}: | Invoice number: *${object.number}* diff --git a/addons/account/report/account_invoice_report.py b/addons/account/report/account_invoice_report.py index f599bf20544..390192e0f39 100644 --- a/addons/account/report/account_invoice_report.py +++ b/addons/account/report/account_invoice_report.py @@ -66,7 +66,6 @@ class account_invoice_report(osv.osv): ], 'Invoice State', readonly=True), 'date_due': fields.date('Due Date', readonly=True), 'address_contact_id': fields.many2one('res.partner', 'Contact Address Name', readonly=True), - 'address_invoice_id': fields.many2one('res.partner', 'Invoice Address Name', readonly=True), 'account_id': fields.many2one('account.account', 'Account',readonly=True), 'account_line_id': fields.many2one('account.account', 'Account Line',readonly=True), 'partner_bank_id': fields.many2one('res.partner.bank', 'Bank Account',readonly=True), @@ -104,7 +103,6 @@ class account_invoice_report(osv.osv): pt.categ_id, ai.date_due as date_due, ai.address_contact_id as address_contact_id, - ai.address_invoice_id as address_invoice_id, ai.account_id as account_id, ail.account_id as account_line_id, ai.partner_bank_id as partner_bank_id, @@ -187,7 +185,6 @@ class account_invoice_report(osv.osv): pt.categ_id, ai.date_due, ai.address_contact_id, - ai.address_invoice_id, ai.account_id, ail.account_id, ai.partner_bank_id, diff --git a/addons/account/report/account_invoice_report_view.xml b/addons/account/report/account_invoice_report_view.xml index cd43f416fce..57e27e91106 100644 --- a/addons/account/report/account_invoice_report_view.xml +++ b/addons/account/report/account_invoice_report_view.xml @@ -23,7 +23,6 @@ <field name="currency_id" invisible="1"/> <field name="journal_id" invisible="1"/> <field name="address_contact_id" invisible="1"/> - <field name="address_invoice_id" invisible="1"/> <field name="partner_bank_id" invisible="1"/> <field name="date_due" invisible="1"/> <field name="account_id" invisible="1"/> diff --git a/addons/account/report/account_print_invoice.rml b/addons/account/report/account_print_invoice.rml index 36228942a31..1b8056e7658 100644 --- a/addons/account/report/account_print_invoice.rml +++ b/addons/account/report/account_print_invoice.rml @@ -162,12 +162,12 @@ </td> <td> <para style="terp_default_8">[[ (o.partner_id and o.partner_id.title and o.partner_id.title.name) or '' ]] [[ (o.partner_id and o.partner_id.name) or '' ]]</para> - <para style="terp_default_8">[[ display_address(o.address_invoice_id) ]]</para> + <para style="terp_default_8">[[ display_address(o.address_contact_id) ]]</para> <para style="terp_default_8"> <font color="white"> </font> </para> - <para style="terp_default_8">Tel. : [[ (o.address_invoice_id and o.address_invoice_id.phone) or removeParentNode('para') ]]</para> - <para style="terp_default_8">Fax : [[ (o.address_invoice_id and o.address_invoice_id.fax) or removeParentNode('para') ]]</para> + <para style="terp_default_8">Tel. : [[ (o.address_contact_id and o.address_contact_id.phone) or removeParentNode('para') ]]</para> + <para style="terp_default_8">Fax : [[ (o.address_contact_id and o.address_contact_id.fax) or removeParentNode('para') ]]</para> <para style="terp_default_8">VAT : [[ (o.partner_id and o.partner_id.vat) or removeParentNode('para') ]]</para> </td> </tr> @@ -210,7 +210,7 @@ <para style="terp_default_Centre_9">[[ o.origin or '' ]]</para> </td> <td> - <para style="terp_default_Centre_9">[[ (o.address_invoice_id and o.address_invoice_id.partner_id and o.address_invoice_id.partner_id.ref) or ' ' ]]</para> + <para style="terp_default_Centre_9">[[ (o.address_contact_id.partner_id and o.address_contact_id.partner_id.ref) or ' ' ]]</para> </td> </tr> </blockTable> diff --git a/addons/account/test/account_change_currency.yml b/addons/account/test/account_change_currency.yml index 5ec7405d719..9b62cd223b8 100644 --- a/addons/account/test/account_change_currency.yml +++ b/addons/account/test/account_change_currency.yml @@ -4,7 +4,6 @@ !record {model: account.invoice, id: account_invoice_currency}: account_id: account.a_recv address_contact_id: base.res_partner_address_3000 - address_invoice_id: base.res_partner_address_3000 company_id: base.main_company currency_id: base.EUR invoice_line: diff --git a/addons/account/test/account_invoice_state.yml b/addons/account/test/account_invoice_state.yml index b9818b71d2f..1eedd88d93a 100644 --- a/addons/account/test/account_invoice_state.yml +++ b/addons/account/test/account_invoice_state.yml @@ -4,7 +4,6 @@ !record {model: account.invoice, id: account_invoice_state}: account_id: account.a_recv address_contact_id: base.res_partner_address_3000 - address_invoice_id: base.res_partner_address_3000 company_id: base.main_company currency_id: base.EUR invoice_line: diff --git a/addons/account/test/account_report.yml b/addons/account/test/account_report.yml index 6a4d04daa70..1f47c712d2f 100644 --- a/addons/account/test/account_report.yml +++ b/addons/account/test/account_report.yml @@ -4,7 +4,6 @@ !record {model: account.invoice, id: test_invoice_1}: currency_id: base.EUR company_id: base.main_company - address_invoice_id: base.res_partner_address_tang partner_id: base.res_partner_asus state: draft type: out_invoice diff --git a/addons/account/test/account_sequence_test.yml b/addons/account/test/account_sequence_test.yml index 4748175c118..213522b1771 100644 --- a/addons/account/test/account_sequence_test.yml +++ b/addons/account/test/account_sequence_test.yml @@ -17,7 +17,6 @@ - !record {model: account.invoice, id: invoice_seq_test}: account_id: account.a_recv address_contact_id: base.res_partner_address_zen - address_invoice_id: base.res_partner_address_zen company_id: base.main_company currency_id: base.EUR invoice_line: diff --git a/addons/account/test/account_supplier_invoice.yml b/addons/account/test/account_supplier_invoice.yml index 3683a3e44c9..663311c815c 100644 --- a/addons/account/test/account_supplier_invoice.yml +++ b/addons/account/test/account_supplier_invoice.yml @@ -24,7 +24,6 @@ !record {model: account.invoice, id: account_invoice_supplier0}: account_id: account.a_pay address_contact_id: base.res_partner_address_3000 - address_invoice_id: base.res_partner_address_3000 check_total: 3000.0 company_id: base.main_company currency_id: base.EUR diff --git a/addons/account/test/price_accuracy00.yml b/addons/account/test/price_accuracy00.yml index 135dcf1ec60..639b39b6c25 100644 --- a/addons/account/test/price_accuracy00.yml +++ b/addons/account/test/price_accuracy00.yml @@ -21,7 +21,6 @@ name: Precision Test type: out_invoice partner_id: base.res_partner_2 - address_invoice_id: base.res_partner_address_1 account_id: account.a_recv date_invoice: !eval time.strftime('%Y-%m-%d') invoice_line: diff --git a/addons/account/test/test_edi_invoice.yml b/addons/account/test/test_edi_invoice.yml index 4e8adc10ab0..b8a4d8d4ef8 100644 --- a/addons/account/test/test_edi_invoice.yml +++ b/addons/account/test/test_edi_invoice.yml @@ -7,7 +7,6 @@ journal_id: 1 partner_id: base.res_partner_agrolait currency_id: base.EUR - address_invoice_id: base.res_partner_address_8invoice company_id: 1 account_id: account.a_pay date_invoice: !eval "'%s' % (time.strftime('%Y-%m-%d'))" diff --git a/addons/account/wizard/account_invoice_refund.py b/addons/account/wizard/account_invoice_refund.py index ec74320e135..c425b5e85b7 100644 --- a/addons/account/wizard/account_invoice_refund.py +++ b/addons/account/wizard/account_invoice_refund.py @@ -176,7 +176,7 @@ class account_invoice_refund(osv.osv_memory): invoice = inv_obj.read(cr, uid, [inv.id], ['name', 'type', 'number', 'reference', 'comment', 'date_due', 'partner_id', - 'address_contact_id', 'address_invoice_id', + 'address_contact_id', 'partner_insite', 'partner_contact', 'partner_ref', 'payment_term', 'account_id', 'currency_id', 'invoice_line', 'tax_line', @@ -197,7 +197,7 @@ class account_invoice_refund(osv.osv_memory): 'period_id': period, 'name': description }) - for field in ('address_contact_id', 'address_invoice_id', 'partner_id', + for field in ('address_contact_id', 'partner_id', 'account_id', 'currency_id', 'payment_term', 'journal_id'): invoice[field] = invoice[field] and invoice[field][0] inv_id = inv_obj.create(cr, uid, invoice, {}) From fd384fe6454cca651f61c83e5c00b36feb8d1ed1 Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Mon, 5 Mar 2012 12:18:45 +0530 Subject: [PATCH 085/313] [IMP] account : remove invoice address bzr revid: kjo@tinyerp.com-20120305064845-aezglwmj86fi2ndc --- addons/account/account.py | 14 ++++++------- addons/account/account_invoice.py | 20 +++++++++---------- addons/account/account_invoice_view.xml | 14 ++++++------- addons/account/account_pre_install.yml | 4 ++-- addons/account/account_unit_test.xml | 1 - addons/account/demo/account_invoice_demo.xml | 2 -- addons/account/edi/invoice.py | 11 +++++----- addons/account/edi/invoice_action_data.xml | 6 +++--- .../account/report/account_invoice_report.py | 5 +---- .../report/account_invoice_report_view.xml | 1 - .../account/report/account_print_invoice.rml | 8 ++++---- .../account/report/account_print_overdue.py | 4 +--- .../account/test/account_change_currency.yml | 1 - addons/account/test/account_invoice_state.yml | 1 - addons/account/test/account_report.yml | 1 - addons/account/test/account_sequence_test.yml | 1 - .../account/test/account_supplier_invoice.yml | 1 - addons/account/test/price_accuracy00.yml | 1 - addons/account/test/test_edi_invoice.yml | 5 ++--- .../account/wizard/account_invoice_refund.py | 4 ++-- 20 files changed, 42 insertions(+), 63 deletions(-) diff --git a/addons/account/account.py b/addons/account/account.py index c1a30967aea..2c954b9ee57 100644 --- a/addons/account/account.py +++ b/addons/account/account.py @@ -1963,8 +1963,8 @@ class account_tax(osv.osv): return self.pool.get('res.company').search(cr, uid, [('parent_id', '=', False)])[0] _defaults = { - 'python_compute': '''# price_unit\n# address: res.partner.address object or False\n# product: product.product object or None\n# partner: res.partner object or None\n\nresult = price_unit * 0.10''', - 'python_compute_inv': '''# price_unit\n# address: res.partner.address object or False\n# product: product.product object or False\n\nresult = price_unit * 0.10''', + 'python_compute': '''# price_unit\n# address: res.partner object or False\n# product: product.product object or None\n# partner: res.partner object or None\n\nresult = price_unit * 0.10''', + 'python_compute_inv': '''# price_unit\n# address: res.partner object or False\n# product: product.product object or False\n\nresult = price_unit * 0.10''', 'applicable_type': 'true', 'type': 'percent', 'amount': 0, @@ -1983,7 +1983,7 @@ class account_tax(osv.osv): def _applicable(self, cr, uid, taxes, price_unit, address_id=None, product=None, partner=None): res = [] - obj_partener_address = self.pool.get('res.partner.address') + obj_partener_address = self.pool.get('res.partner') for tax in taxes: if tax.applicable_type=='code': localdict = {'price_unit':price_unit, 'address':obj_partener_address.browse(cr, uid, address_id), 'product':product, 'partner':partner} @@ -1998,7 +1998,7 @@ class account_tax(osv.osv): taxes = self._applicable(cr, uid, taxes, price_unit, address_id, product, partner) res = [] cur_price_unit=price_unit - obj_partener_address = self.pool.get('res.partner.address') + obj_partener_address = self.pool.get('res.partner') for tax in taxes: # we compute the amount for the current tax object and append it to the result data = {'id':tax.id, @@ -2125,7 +2125,7 @@ class account_tax(osv.osv): def _unit_compute_inv(self, cr, uid, taxes, price_unit, address_id=None, product=None, partner=None): taxes = self._applicable(cr, uid, taxes, price_unit, address_id, product, partner) - obj_partener_address = self.pool.get('res.partner.address') + obj_partener_address = self.pool.get('res.partner') res = [] taxes.reverse() cur_price_unit = price_unit @@ -2806,8 +2806,8 @@ class account_tax_template(osv.osv): return self.pool.get('res.company').search(cr, uid, [('parent_id', '=', False)])[0] _defaults = { - 'python_compute': lambda *a: '''# price_unit\n# address: res.partner.address object or False\n# product: product.product object or None\n# partner: res.partner object or None\n\nresult = price_unit * 0.10''', - 'python_compute_inv': lambda *a: '''# price_unit\n# address: res.partner.address object or False\n# product: product.product object or False\n\nresult = price_unit * 0.10''', + 'python_compute': lambda *a: '''# price_unit\n# address: res.partner object or False\n# product: product.product object or None\n# partner: res.partner object or None\n\nresult = price_unit * 0.10''', + 'python_compute_inv': lambda *a: '''# price_unit\n# address: res.partner object or False\n# product: product.product object or False\n\nresult = price_unit * 0.10''', 'applicable_type': 'true', 'type': 'percent', 'amount': 0, diff --git a/addons/account/account_invoice.py b/addons/account/account_invoice.py index 5e5ac5f482b..5b51ba9b96b 100644 --- a/addons/account/account_invoice.py +++ b/addons/account/account_invoice.py @@ -216,8 +216,7 @@ class account_invoice(osv.osv): help="If you use payment terms, the due date will be computed automatically at the generation "\ "of accounting entries. If you keep the payment term and the due date empty, it means direct payment. The payment term may compute several due dates, for example 50% now, 50% in one month."), 'partner_id': fields.many2one('res.partner', 'Partner', change_default=True, readonly=True, required=True, states={'draft':[('readonly',False)]}), - 'address_contact_id': fields.many2one('res.partner.address', 'Contact Address', readonly=True, states={'draft':[('readonly',False)]}), - 'address_invoice_id': fields.many2one('res.partner.address', 'Invoice Address', readonly=True, required=True, states={'draft':[('readonly',False)]}), + 'address_contact_id': fields.many2one('res.partner', 'Contact Address', readonly=True, states={'draft':[('readonly',False)]}), 'payment_term': fields.many2one('account.payment.term', 'Payment Term',readonly=True, states={'draft':[('readonly',False)]}, help="If you use payment terms, the due date will be computed automatically at the generation "\ "of accounting entries. If you keep the payment term and the due date empty, it means direct payment. "\ @@ -443,7 +442,6 @@ class account_invoice(osv.osv): result = {'value': { 'address_contact_id': contact_addr_id, - 'address_invoice_id': invoice_addr_id, 'account_id': acc_id, 'payment_term': partner_payment_term, 'fiscal_position': fiscal_position @@ -1092,7 +1090,7 @@ class account_invoice(osv.osv): return map(lambda x: (0,0,x), lines) def refund(self, cr, uid, ids, date=None, period_id=None, description=None, journal_id=None): - invoices = self.read(cr, uid, ids, ['name', 'type', 'number', 'reference', 'comment', 'date_due', 'partner_id', 'address_contact_id', 'address_invoice_id', 'partner_contact', 'partner_insite', 'partner_ref', 'payment_term', 'account_id', 'currency_id', 'invoice_line', 'tax_line', 'journal_id']) + invoices = self.read(cr, uid, ids, ['name', 'type', 'number', 'reference', 'comment', 'date_due', 'partner_id', 'address_contact_id', 'partner_contact', 'partner_insite', 'partner_ref', 'payment_term', 'account_id', 'currency_id', 'invoice_line', 'tax_line', 'journal_id']) obj_invoice_line = self.pool.get('account.invoice.line') obj_invoice_tax = self.pool.get('account.invoice.tax') obj_journal = self.pool.get('account.journal') @@ -1140,7 +1138,7 @@ class account_invoice(osv.osv): 'name': description, }) # take the id part of the tuple returned for many2one fields - for field in ('address_contact_id', 'address_invoice_id', 'partner_id', + for field in ('address_contact_id', 'partner_id', 'account_id', 'currency_id', 'payment_term', 'journal_id'): invoice[field] = invoice[field] and invoice[field][0] # create the new invoice @@ -1257,7 +1255,7 @@ class account_invoice_line(osv.osv): cur_obj = self.pool.get('res.currency') for line in self.browse(cr, uid, ids): price = line.price_unit * (1-(line.discount or 0.0)/100.0) - taxes = tax_obj.compute_all(cr, uid, line.invoice_line_tax_id, price, line.quantity, product=line.product_id, address_id=line.invoice_id.address_invoice_id, partner=line.invoice_id.partner_id) + taxes = tax_obj.compute_all(cr, uid, line.invoice_line_tax_id, price, line.quantity, product=line.product_id, partner=line.invoice_id.partner_id) res[line.id] = taxes['total'] if line.invoice_id: cur = line.invoice_id.currency_id @@ -1277,7 +1275,7 @@ class account_invoice_line(osv.osv): taxes = l[2].get('invoice_line_tax_id') if len(taxes[0]) >= 3 and taxes[0][2]: taxes = tax_obj.browse(cr, uid, list(taxes[0][2])) - for tax in tax_obj.compute_all(cr, uid, taxes, p,l[2].get('quantity'), context.get('address_invoice_id', False), l[2].get('product_id', False), context.get('partner_id', False))['taxes']: + for tax in tax_obj.compute_all(cr, uid, taxes, p,l[2].get('quantity'), l[2].get('product_id', False), context.get('partner_id', False))['taxes']: t = t - tax['amount'] return t return 0 @@ -1322,7 +1320,7 @@ class account_invoice_line(osv.osv): res['arch'] = etree.tostring(doc) return res - def product_id_change(self, cr, uid, ids, product, uom, qty=0, name='', type='out_invoice', partner_id=False, fposition_id=False, price_unit=False, address_invoice_id=False, currency_id=False, context=None, company_id=None): + def product_id_change(self, cr, uid, ids, product, uom, qty=0, name='', type='out_invoice', partner_id=False, fposition_id=False, price_unit=False, currency_id=False, context=None, company_id=None): if context is None: context = {} company_id = company_id if company_id != None else context.get('company_id',False) @@ -1404,7 +1402,7 @@ class account_invoice_line(osv.osv): context = dict(context) context.update({'company_id': company_id}) warning = {} - res = self.product_id_change(cr, uid, ids, product, uom, qty, name, type, partner_id, fposition_id, price_unit, address_invoice_id, currency_id, context=context) + res = self.product_id_change(cr, uid, ids, product, uom, qty, name, type, partner_id, fposition_id, price_unit, currency_id, context=context) if 'uos_id' in res['value']: del res['value']['uos_id'] if not uom: @@ -1437,7 +1435,7 @@ class account_invoice_line(osv.osv): tax_code_found= False for tax in tax_obj.compute_all(cr, uid, line.invoice_line_tax_id, (line.price_unit * (1.0 - (line['discount'] or 0.0) / 100.0)), - line.quantity, inv.address_invoice_id.id, line.product_id, + line.quantity, inv.address_contact_id.id, line.product_id, inv.partner_id)['taxes']: if inv.type in ('out_invoice', 'in_invoice'): @@ -1572,7 +1570,7 @@ class account_invoice_tax(osv.osv): company_currency = inv.company_id.currency_id.id for line in inv.invoice_line: - for tax in tax_obj.compute_all(cr, uid, line.invoice_line_tax_id, (line.price_unit* (1-(line.discount or 0.0)/100.0)), line.quantity, inv.address_invoice_id.id, line.product_id, inv.partner_id)['taxes']: + for tax in tax_obj.compute_all(cr, uid, line.invoice_line_tax_id, (line.price_unit* (1-(line.discount or 0.0)/100.0)), line.quantity, inv.address_contact_id.id, line.product_id, inv.partner_id)['taxes']: tax['price_unit'] = cur_obj.round(cr, uid, cur, tax['price_unit']) val={} val['invoice_id'] = inv.id diff --git a/addons/account/account_invoice_view.xml b/addons/account/account_invoice_view.xml index 59977c252f9..80c4901286f 100644 --- a/addons/account/account_invoice_view.xml +++ b/addons/account/account_invoice_view.xml @@ -51,12 +51,12 @@ <field name="type">form</field> <field name="arch" type="xml"> <form string="Invoice Line"> - <field name="product_id" on_change="product_id_change(product_id, uos_id, quantity, name, parent.type, parent.partner_id, parent.fiscal_position, price_unit, parent.address_invoice_id, parent.currency_id, context, parent.company_id)"/> + <field name="product_id" on_change="product_id_change(product_id, uos_id, quantity, name, parent.type, parent.partner_id, parent.fiscal_position, price_unit, parent.currency_id, context, parent.company_id)"/> <field colspan="2" name="name"/> <label string="Quantity :" align="1.0"/> <group colspan="1" col="2"> <field name="quantity" nolabel="1"/> - <field name="uos_id" on_change="uos_id_change(product_id, uos_id, quantity, name, parent.type, parent.partner_id, parent.fiscal_position, price_unit, parent.address_invoice_id, parent.currency_id, context, parent.company_id)" nolabel="1"/> + <field name="uos_id" on_change="uos_id_change(product_id, uos_id, quantity, name, parent.type, parent.partner_id, parent.fiscal_position, price_unit, parent.address_contact_id, parent.currency_id, context, parent.company_id)" nolabel="1"/> </group> <field name="price_unit"/> <field domain="[('company_id', '=', parent.company_id), ('journal_id', '=', parent.journal_id), ('type', '<>', 'view')]" name="account_id" on_change="onchange_account_id(product_id, parent.partner_id, parent.type, parent.fiscal_position,account_id)"/> @@ -152,8 +152,7 @@ <field name="currency_id" width="50"/> <button name="%(action_account_change_currency)d" type="action" icon="terp-stock_effects-object-colorize" string="Change" attrs="{'invisible':[('state','!=','draft')]}" groups="account.group_account_user"/> <newline/> - <field string="Supplier" name="partner_id" on_change="onchange_partner_id(type,partner_id,date_invoice,payment_term, partner_bank_id,company_id)" context="{'default_customer': 0, 'search_default_supplier': 1, 'default_supplier': 1}" options='{"quick_create": false}' domain="[('supplier', '=', True)]"/> - <field domain="[('partner_id','=',partner_id)]" name="address_invoice_id" context="{'default_partner_id': partner_id}" options='{"quick_create": false}'/> + <field string="Supplier Name" name="partner_id" on_change="onchange_partner_id(type,partner_id,date_invoice,payment_term, partner_bank_id,company_id)" context="{'default_customer': 0, 'search_default_supplier': 1, 'default_supplier': 1}" options='{"quick_create": false}' domain="[('supplier', '=', True)]"/> <field name="fiscal_position" groups="base.group_extended" widget="selection"/> <newline/> <field name="date_invoice"/> @@ -168,9 +167,9 @@ <field name="reference_type" nolabel="1" size="0"/> <field name="reference" nolabel="1"/> <field name="date_due"/> - <field colspan="4" context="{'address_invoice_id': address_invoice_id, 'partner_id': partner_id, 'price_type': 'price_type' in dir() and price_type or False, 'type': type}" name="invoice_line" nolabel="1"> + <field colspan="4" context="{'address_contact_id': address_contact_id, 'partner_id': partner_id, 'price_type': 'price_type' in dir() and price_type or False, 'type': type}" name="invoice_line" nolabel="1"> <tree string="Invoice lines"> - <field name="product_id" on_change="product_id_change(product_id, uos_id, quantity, name, parent.type, parent.partner_id, parent.fiscal_position, price_unit, parent.address_invoice_id, parent.currency_id, context, parent.company_id)"/> + <field name="product_id" on_change="product_id_change(product_id, uos_id, quantity, name, parent.type, parent.partner_id, parent.fiscal_position, price_unit, parent.currency_id, context, parent.company_id)"/> <field domain="[('company_id', '=', parent.company_id), ('journal_id', '=', parent.journal_id), ('type', '<>', 'view')]" name="account_id" on_change="onchange_account_id(product_id,parent.partner_id,parent.type,parent.fiscal_position,account_id)"/> <field name="invoice_line_tax_id" view_mode="2" context="{'type':parent.type}" domain="[('parent_id','=',False)]"/> <field domain="[('type','<>','view'), ('company_id', '=', parent.company_id), ('parent_id', '!=', False)]" name="account_analytic_id" groups="analytic.group_analytic_accounting"/> @@ -262,8 +261,7 @@ <field name="currency_id" width="50"/> <button name="%(action_account_change_currency)d" type="action" icon="terp-stock_effects-object-colorize" string="Change" attrs="{'invisible':[('state','!=','draft')]}" groups="account.group_account_user"/> <newline/> - <field string="Customer" name="partner_id" on_change="onchange_partner_id(type,partner_id,date_invoice,payment_term, partner_bank_id,company_id)" groups="base.group_user" context="{'search_default_customer': 1}" options='{"quick_create": false}' domain="[('customer', '=', True)]"/> - <field domain="[('partner_id','=',partner_id)]" name="address_invoice_id" context="{'default_partner_id': partner_id}" options='{"quick_create": false}'/> + <field string="Customer Name" name="partner_id" on_change="onchange_partner_id(type,partner_id,date_invoice,payment_term, partner_bank_id,company_id)" groups="base.group_user" context="{'search_default_customer': 1}" options='{"quick_create": false}' domain="[('customer', '=', True)]"/> <field name="fiscal_position" groups="base.group_extended" widget="selection" options='{"quick_create": false}'/> <newline/> <field name="date_invoice"/> diff --git a/addons/account/account_pre_install.yml b/addons/account/account_pre_install.yml index 13adbe8108f..744a8c4bc99 100644 --- a/addons/account/account_pre_install.yml +++ b/addons/account/account_pre_install.yml @@ -7,8 +7,8 @@ wiz = wizards.browse(cr, uid, ref('account.account_configuration_installer_todo')) part = self.pool.get('res.partner').browse(cr, uid, ref('base.main_partner')) # if we know the country and the wizard has not yet been executed, we do it - if (part.country.id) and (wiz.state=='open'): - mod = 'l10n_'+part.country.code.lower() + if (part.country_id.id) and (wiz.state=='open'): + mod = 'l10n_'+part.country_id.co7de.lower() ids = modules.search(cr, uid, [ ('name','=',mod) ], context=context) if ids: wizards.write(cr, uid, [ref('account.account_configuration_installer_todo')], { diff --git a/addons/account/account_unit_test.xml b/addons/account/account_unit_test.xml index c810e6a1080..7cede6c1a8d 100644 --- a/addons/account/account_unit_test.xml +++ b/addons/account/account_unit_test.xml @@ -5,7 +5,6 @@ <record id="test_invoice_1" model="account.invoice"> <field name="currency_id" ref="base.EUR"/> <field name="company_id" ref="base.main_company"/> - <field name="address_invoice_id" ref="base.res_partner_address_tang"/> <field name="partner_id" ref="base.res_partner_asus"/> <field name="journal_id" ref="account.sales_journal"/> <field name="state">draft</field> diff --git a/addons/account/demo/account_invoice_demo.xml b/addons/account/demo/account_invoice_demo.xml index 184b349be71..44e22ce4681 100644 --- a/addons/account/demo/account_invoice_demo.xml +++ b/addons/account/demo/account_invoice_demo.xml @@ -6,9 +6,7 @@ <field name="payment_term" ref="account.account_payment_term"/> <field name="journal_id" ref="account.expenses_journal"/> <field name="currency_id" ref="base.EUR"/> - <field name="address_invoice_id" ref="base.res_partner_address_wong"/> <field name="user_id" ref="base.user_demo"/> - <field name="address_contact_id" ref="base.res_partner_address_wong"/> <field name="reference_type">none</field> <field name="company_id" ref="base.main_company"/> <field name="state">draft</field> diff --git a/addons/account/edi/invoice.py b/addons/account/edi/invoice.py index d36e9163ba9..acaeb773062 100644 --- a/addons/account/edi/invoice.py +++ b/addons/account/edi/invoice.py @@ -75,7 +75,7 @@ class account_invoice(osv.osv, EDIMixin): """Exports a supplier or customer invoice""" edi_struct = dict(edi_struct or INVOICE_EDI_STRUCT) res_company = self.pool.get('res.company') - res_partner_address = self.pool.get('res.partner.address') + res_partner_address = self.pool.get('res.partner') edi_doc_list = [] for invoice in records: # generate the main report @@ -84,7 +84,7 @@ class account_invoice(osv.osv, EDIMixin): edi_doc.update({ 'company_address': res_company.edi_export_address(cr, uid, invoice.company_id, context=context), 'company_paypal_account': invoice.company_id.paypal_account, - 'partner_address': res_partner_address.edi_export(cr, uid, [invoice.address_invoice_id], context=context)[0], + 'partner_address': res_partner_address.edi_export(cr, uid, [invoice.address_contact_id], context=context)[0], 'currency': self.pool.get('res.currency').edi_export(cr, uid, [invoice.currency_id], context=context)[0], 'partner_ref': invoice.reference or False, @@ -125,7 +125,6 @@ class account_invoice(osv.osv, EDIMixin): # the desired company among the user's allowed companies self._edi_requires_attributes(('company_id','company_address','type'), edi_document) - res_partner_address = self.pool.get('res.partner.address') res_partner = self.pool.get('res.partner') # imported company = new partner @@ -144,13 +143,13 @@ class account_invoice(osv.osv, EDIMixin): address_info = edi_document.pop('company_address') address_info['partner_id'] = (src_company_id, src_company_name) address_info['type'] = 'invoice' - address_id = res_partner_address.edi_import(cr, uid, address_info, context=context) + address_id = res_partner.edi_import(cr, uid, address_info, context=context) # modify edi_document to refer to new partner - partner_address = res_partner_address.browse(cr, uid, address_id, context=context) + partner_address = res_partner.browse(cr, uid, address_id, context=context) edi_document['partner_id'] = (src_company_id, src_company_name) edi_document.pop('partner_address', False) # ignored - edi_document['address_invoice_id'] = self.edi_m2o(cr, uid, partner_address, context=context) + edi_document['address_contact_id'] = self.edi_m2o(cr, uid, partner_address, context=context) return partner_id diff --git a/addons/account/edi/invoice_action_data.xml b/addons/account/edi/invoice_action_data.xml index 0904ec6fd54..a7bf89b6c26 100644 --- a/addons/account/edi/invoice_action_data.xml +++ b/addons/account/edi/invoice_action_data.xml @@ -40,13 +40,13 @@ <field name="name">Automated Invoice Notification Mail</field> <field name="email_from">${object.user_id.user_email or object.company_id.email or 'noreply@localhost'}</field> <field name="subject">${object.company_id.name} Invoice (Ref ${object.number or 'n/a' })</field> - <field name="email_to">${object.address_invoice_id.email or ''}</field> + <field name="email_to">${object.address_contact_id.email or ''}</field> <field name="model_id" ref="account.model_account_invoice"/> <field name="auto_delete" eval="True"/> <field name="body_html"><![CDATA[ <div style="font-family: 'Lucica Grande', Ubuntu, Arial, Verdana, sans-serif; font-size: 12px; color: rgb(34, 34, 34); background-color: rgb(255, 255, 255); "> - <p>Hello${object.address_invoice_id.name and ' ' or ''}${object.address_invoice_id.name or ''},</p> + <p>Hello${object.address_contact_id.name and ' ' or ''}${object.address_contact_id.name or ''},</p> <p>A new invoice is available for ${object.partner_id.name}: </p> @@ -124,7 +124,7 @@ </div> ]]></field> <field name="body_text"><![CDATA[ -Hello${object.address_invoice_id.name and ' ' or ''}${object.address_invoice_id.name or ''}, +Hello${object.address_contact_id.name and ' ' or ''}${object.address_contact_id.name or ''}, A new invoice is available for ${object.partner_id.name}: | Invoice number: *${object.number}* diff --git a/addons/account/report/account_invoice_report.py b/addons/account/report/account_invoice_report.py index 839c9b13043..390192e0f39 100644 --- a/addons/account/report/account_invoice_report.py +++ b/addons/account/report/account_invoice_report.py @@ -65,8 +65,7 @@ class account_invoice_report(osv.osv): ('cancel','Cancelled') ], 'Invoice State', readonly=True), 'date_due': fields.date('Due Date', readonly=True), - 'address_contact_id': fields.many2one('res.partner.address', 'Contact Address Name', readonly=True), - 'address_invoice_id': fields.many2one('res.partner.address', 'Invoice Address Name', readonly=True), + 'address_contact_id': fields.many2one('res.partner', 'Contact Address Name', readonly=True), 'account_id': fields.many2one('account.account', 'Account',readonly=True), 'account_line_id': fields.many2one('account.account', 'Account Line',readonly=True), 'partner_bank_id': fields.many2one('res.partner.bank', 'Bank Account',readonly=True), @@ -104,7 +103,6 @@ class account_invoice_report(osv.osv): pt.categ_id, ai.date_due as date_due, ai.address_contact_id as address_contact_id, - ai.address_invoice_id as address_invoice_id, ai.account_id as account_id, ail.account_id as account_line_id, ai.partner_bank_id as partner_bank_id, @@ -187,7 +185,6 @@ class account_invoice_report(osv.osv): pt.categ_id, ai.date_due, ai.address_contact_id, - ai.address_invoice_id, ai.account_id, ail.account_id, ai.partner_bank_id, diff --git a/addons/account/report/account_invoice_report_view.xml b/addons/account/report/account_invoice_report_view.xml index cd43f416fce..57e27e91106 100644 --- a/addons/account/report/account_invoice_report_view.xml +++ b/addons/account/report/account_invoice_report_view.xml @@ -23,7 +23,6 @@ <field name="currency_id" invisible="1"/> <field name="journal_id" invisible="1"/> <field name="address_contact_id" invisible="1"/> - <field name="address_invoice_id" invisible="1"/> <field name="partner_bank_id" invisible="1"/> <field name="date_due" invisible="1"/> <field name="account_id" invisible="1"/> diff --git a/addons/account/report/account_print_invoice.rml b/addons/account/report/account_print_invoice.rml index 36228942a31..1b8056e7658 100644 --- a/addons/account/report/account_print_invoice.rml +++ b/addons/account/report/account_print_invoice.rml @@ -162,12 +162,12 @@ </td> <td> <para style="terp_default_8">[[ (o.partner_id and o.partner_id.title and o.partner_id.title.name) or '' ]] [[ (o.partner_id and o.partner_id.name) or '' ]]</para> - <para style="terp_default_8">[[ display_address(o.address_invoice_id) ]]</para> + <para style="terp_default_8">[[ display_address(o.address_contact_id) ]]</para> <para style="terp_default_8"> <font color="white"> </font> </para> - <para style="terp_default_8">Tel. : [[ (o.address_invoice_id and o.address_invoice_id.phone) or removeParentNode('para') ]]</para> - <para style="terp_default_8">Fax : [[ (o.address_invoice_id and o.address_invoice_id.fax) or removeParentNode('para') ]]</para> + <para style="terp_default_8">Tel. : [[ (o.address_contact_id and o.address_contact_id.phone) or removeParentNode('para') ]]</para> + <para style="terp_default_8">Fax : [[ (o.address_contact_id and o.address_contact_id.fax) or removeParentNode('para') ]]</para> <para style="terp_default_8">VAT : [[ (o.partner_id and o.partner_id.vat) or removeParentNode('para') ]]</para> </td> </tr> @@ -210,7 +210,7 @@ <para style="terp_default_Centre_9">[[ o.origin or '' ]]</para> </td> <td> - <para style="terp_default_Centre_9">[[ (o.address_invoice_id and o.address_invoice_id.partner_id and o.address_invoice_id.partner_id.ref) or ' ' ]]</para> + <para style="terp_default_Centre_9">[[ (o.address_contact_id.partner_id and o.address_contact_id.partner_id.ref) or ' ' ]]</para> </td> </tr> </blockTable> diff --git a/addons/account/report/account_print_overdue.py b/addons/account/report/account_print_overdue.py index 0a03801d409..82e6abf7b63 100644 --- a/addons/account/report/account_print_overdue.py +++ b/addons/account/report/account_print_overdue.py @@ -38,7 +38,6 @@ class Overdue(report_sxw.rml_parse): def _adr_get(self, partner, type): res = [] res_partner = pooler.get_pool(self.cr.dbname).get('res.partner') - res_partner_address = pooler.get_pool(self.cr.dbname).get('res.partner.address') addresses = res_partner.address_get(self.cr, self.uid, [partner.id], [type]) adr_id = addresses and addresses[type] or False result = { @@ -51,7 +50,7 @@ class Overdue(report_sxw.rml_parse): 'country_id': False, } if adr_id: - result = res_partner_address.read(self.cr, self.uid, [adr_id], context=self.context.copy()) + result = res_partner.read(self.cr, self.uid, [adr_id], context=self.context.copy()) result[0]['country_id'] = result[0]['country_id'] and result[0]['country_id'][1] or False result[0]['state_id'] = result[0]['state_id'] and result[0]['state_id'][1] or False return result @@ -62,7 +61,6 @@ class Overdue(report_sxw.rml_parse): def _tel_get(self,partner): if not partner: return False - res_partner_address = pooler.get_pool(self.cr.dbname).get('res.partner.address') res_partner = pooler.get_pool(self.cr.dbname).get('res.partner') addresses = res_partner.address_get(self.cr, self.uid, [partner.id], ['invoice']) adr_id = addresses and addresses['invoice'] or False diff --git a/addons/account/test/account_change_currency.yml b/addons/account/test/account_change_currency.yml index 5ec7405d719..9b62cd223b8 100644 --- a/addons/account/test/account_change_currency.yml +++ b/addons/account/test/account_change_currency.yml @@ -4,7 +4,6 @@ !record {model: account.invoice, id: account_invoice_currency}: account_id: account.a_recv address_contact_id: base.res_partner_address_3000 - address_invoice_id: base.res_partner_address_3000 company_id: base.main_company currency_id: base.EUR invoice_line: diff --git a/addons/account/test/account_invoice_state.yml b/addons/account/test/account_invoice_state.yml index b9818b71d2f..1eedd88d93a 100644 --- a/addons/account/test/account_invoice_state.yml +++ b/addons/account/test/account_invoice_state.yml @@ -4,7 +4,6 @@ !record {model: account.invoice, id: account_invoice_state}: account_id: account.a_recv address_contact_id: base.res_partner_address_3000 - address_invoice_id: base.res_partner_address_3000 company_id: base.main_company currency_id: base.EUR invoice_line: diff --git a/addons/account/test/account_report.yml b/addons/account/test/account_report.yml index 6a4d04daa70..1f47c712d2f 100644 --- a/addons/account/test/account_report.yml +++ b/addons/account/test/account_report.yml @@ -4,7 +4,6 @@ !record {model: account.invoice, id: test_invoice_1}: currency_id: base.EUR company_id: base.main_company - address_invoice_id: base.res_partner_address_tang partner_id: base.res_partner_asus state: draft type: out_invoice diff --git a/addons/account/test/account_sequence_test.yml b/addons/account/test/account_sequence_test.yml index 4748175c118..213522b1771 100644 --- a/addons/account/test/account_sequence_test.yml +++ b/addons/account/test/account_sequence_test.yml @@ -17,7 +17,6 @@ - !record {model: account.invoice, id: invoice_seq_test}: account_id: account.a_recv address_contact_id: base.res_partner_address_zen - address_invoice_id: base.res_partner_address_zen company_id: base.main_company currency_id: base.EUR invoice_line: diff --git a/addons/account/test/account_supplier_invoice.yml b/addons/account/test/account_supplier_invoice.yml index 3683a3e44c9..663311c815c 100644 --- a/addons/account/test/account_supplier_invoice.yml +++ b/addons/account/test/account_supplier_invoice.yml @@ -24,7 +24,6 @@ !record {model: account.invoice, id: account_invoice_supplier0}: account_id: account.a_pay address_contact_id: base.res_partner_address_3000 - address_invoice_id: base.res_partner_address_3000 check_total: 3000.0 company_id: base.main_company currency_id: base.EUR diff --git a/addons/account/test/price_accuracy00.yml b/addons/account/test/price_accuracy00.yml index 135dcf1ec60..639b39b6c25 100644 --- a/addons/account/test/price_accuracy00.yml +++ b/addons/account/test/price_accuracy00.yml @@ -21,7 +21,6 @@ name: Precision Test type: out_invoice partner_id: base.res_partner_2 - address_invoice_id: base.res_partner_address_1 account_id: account.a_recv date_invoice: !eval time.strftime('%Y-%m-%d') invoice_line: diff --git a/addons/account/test/test_edi_invoice.yml b/addons/account/test/test_edi_invoice.yml index e2c0f21e7da..b8a4d8d4ef8 100644 --- a/addons/account/test/test_edi_invoice.yml +++ b/addons/account/test/test_edi_invoice.yml @@ -7,7 +7,6 @@ journal_id: 1 partner_id: base.res_partner_agrolait currency_id: base.EUR - address_invoice_id: base.res_partner_address_8invoice company_id: 1 account_id: account.a_pay date_invoice: !eval "'%s' % (time.strftime('%Y-%m-%d'))" @@ -58,7 +57,7 @@ "company_address": { "__id": "base:b22acf7a-ddcd-11e0-a4db-701a04e25543.main_address", "__module": "base", - "__model": "res.partner.address", + "__model": "res.partner", "city": "Gerompont", "zip": "1367", "country_id": ["base:b22acf7a-ddcd-11e0-a4db-701a04e25543.be", "Belgium"], @@ -80,7 +79,7 @@ "partner_address": { "__id": "base:5af1272e-dd26-11e0-b65e-701a04e25543.res_partner_address_7wdsjasdjh", "__module": "base", - "__model": "res.partner.address", + "__model": "res.partner", "phone": "(+32).81.81.37.00", "street": "Chaussee de Namur 40", "city": "Gerompont", diff --git a/addons/account/wizard/account_invoice_refund.py b/addons/account/wizard/account_invoice_refund.py index ec74320e135..c425b5e85b7 100644 --- a/addons/account/wizard/account_invoice_refund.py +++ b/addons/account/wizard/account_invoice_refund.py @@ -176,7 +176,7 @@ class account_invoice_refund(osv.osv_memory): invoice = inv_obj.read(cr, uid, [inv.id], ['name', 'type', 'number', 'reference', 'comment', 'date_due', 'partner_id', - 'address_contact_id', 'address_invoice_id', + 'address_contact_id', 'partner_insite', 'partner_contact', 'partner_ref', 'payment_term', 'account_id', 'currency_id', 'invoice_line', 'tax_line', @@ -197,7 +197,7 @@ class account_invoice_refund(osv.osv_memory): 'period_id': period, 'name': description }) - for field in ('address_contact_id', 'address_invoice_id', 'partner_id', + for field in ('address_contact_id', 'partner_id', 'account_id', 'currency_id', 'payment_term', 'journal_id'): invoice[field] = invoice[field] and invoice[field][0] inv_id = inv_obj.create(cr, uid, invoice, {}) From ed26c94f4da796bb4d0fdcd33b2079726c678ff3 Mon Sep 17 00:00:00 2001 From: "Bhumika (OpenERP)" <sbh@tinyerp.com> Date: Mon, 5 Mar 2012 12:23:51 +0530 Subject: [PATCH 086/313] [IMP]base/res: add the company_name in defualt address format bzr revid: sbh@tinyerp.com-20120305065351-x9eth3j6icxykh8v --- openerp/addons/base/res/res_country.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openerp/addons/base/res/res_country.py b/openerp/addons/base/res/res_country.py index f240784dc47..bcc30ea3136 100644 --- a/openerp/addons/base/res/res_country.py +++ b/openerp/addons/base/res/res_country.py @@ -46,7 +46,7 @@ addresses belonging to this country.\n\nYou can use the python-style string pate 'The code of the country must be unique !') ] _defaults = { - 'address_format': "%(street)s\n%(street2)s\n%(city)s,%(state_code)s %(zip)s\n%(country_name)s", + 'address_format': "%(company_name)s\n%(street)s\n%(street2)s\n%(city)s,%(state_code)s %(zip)s\n%(country_name)s", } def name_search(self, cr, user, name='', args=None, operator='ilike', From e3ab3120c870e6ab3ac405bf953acc4bd49fc042 Mon Sep 17 00:00:00 2001 From: Jigar Amin - OpenERP <jam@tinyerp.com> Date: Mon, 5 Mar 2012 12:30:01 +0530 Subject: [PATCH 087/313] [FIX] fix bank addres type fiedl parse bzr revid: jam@tinyerp.com-20120305070001-h5g9gj3ipx33mv7y --- addons/edi/models/res_company.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/edi/models/res_company.py b/addons/edi/models/res_company.py index 5566dba9adc..7e7b2ea4f92 100644 --- a/addons/edi/models/res_company.py +++ b/addons/edi/models/res_company.py @@ -52,7 +52,7 @@ class res_company(osv.osv): res_partner_bank = self.pool.get('res.partner.bank') bank_ids = res_partner_bank.search(cr, uid, [('company_id','=',company.id),('footer','=',True)], context=context) if bank_ids: - result['bank_ids'] = res_partner.edi_o2m(cr, uid, + result['bank_ids'] = res_partner.edi_m2m(cr, uid, res_partner_bank.browse(cr, uid, bank_ids, context=context), context=context) return result From 104c6f296c8ea353910b50823f2db41e1c1a37fb Mon Sep 17 00:00:00 2001 From: Jigar Amin - OpenERP <jam@tinyerp.com> Date: Mon, 5 Mar 2012 12:56:18 +0530 Subject: [PATCH 088/313] [FIX] photo default_get based on contact type bzr revid: jam@tinyerp.com-20120305072618-k6jd0ro78dfs86lo --- openerp/addons/base/res/res_partner.py | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index 5341bb33aed..4309583732c 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -17,7 +17,7 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # -########################################################################onchange_address###### +############################################################################## import math @@ -171,6 +171,11 @@ class res_partner(osv.osv): return [context['category_id']] return [] + def _get_photo(self, cr, uid, is_company, context=None): + if is_company == 'contact': + return open(os.path.join( tools.config['root_path'], 'addons', 'base', 'res', 'photo.png'), 'rb') .read().encode('base64') + return open(os.path.join( tools.config['root_path'], 'addons', 'base', 'res', 'res_company_logo.png'), 'rb') .read().encode('base64') + _defaults = { 'active': True, 'customer': True, @@ -179,15 +184,10 @@ class res_partner(osv.osv): 'color': 0, 'is_company': 'contact', 'type': 'default', - 'use_parent_address':True + 'use_parent_address':True, + 'photo': _get_photo, } - - def _get_photo(self, cr, uid, is_company, context=None): - if is_company == 'contact': - return open(os.path.join( tools.config['root_path'], 'addons', 'base', 'res', 'photo.png'), 'rb') .read().encode('base64') - else: - return open(os.path.join( tools.config['root_path'], 'addons', 'base', 'res', 'res_company_logo.png'), 'rb') .read().encode('base64') - + def copy(self, cr, uid, id, default=None, context=None): if default is None: default = {} @@ -431,6 +431,12 @@ class res_partner(osv.osv): args[field] = getattr(address, field) or '' return address_format % args + + def default_get(self, cr, uid, fields, context=None): + res = super(res_partner, self).default_get( cr, uid, fields, context) + if 'is_comapny' in res: + res.update({'photo': self._get_photo(self, cr, uid, res.get('is_comapny', 'contact'), context)}) + return res res_partner() From c1f3d201ad783e191765b7af6a7c87f172d0e58f Mon Sep 17 00:00:00 2001 From: Jigar Amin - OpenERP <jam@tinyerp.com> Date: Mon, 5 Mar 2012 13:55:05 +0530 Subject: [PATCH 089/313] [IMP] mail : mail_thread - Improved message_partner_by_email function bzr revid: jam@tinyerp.com-20120305082505-t9s66gz9jgt3w8xz --- addons/mail/mail_thread.py | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/addons/mail/mail_thread.py b/addons/mail/mail_thread.py index 70b536296bf..56afb34e8c0 100644 --- a/addons/mail/mail_thread.py +++ b/addons/mail/mail_thread.py @@ -455,18 +455,14 @@ class mail_thread(osv.osv): { 'partner_address_id': id or False, 'partner_id': pid or False } """ - address_pool = self.pool.get('res.partner.address') - res = { - 'partner_address_id': False, - 'partner_id': False - } + partner_pool = self.pool.get('res.partner') + res = {'partner_id': False} if email: email = to_email(email)[0] - address_ids = address_pool.search(cr, uid, [('email', '=', email)]) - if address_ids: - address = address_pool.browse(cr, uid, address_ids[0]) - res['partner_address_id'] = address_ids[0] - res['partner_id'] = address.partner_id.id + contact_ids = partner_pool.search(cr, uid, [('email', '=', email)]) + if contact_ids: + contact = partner_pool.browse(cr, uid, contact_ids[0]) + res['partner_id'] = contact.id return res # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: From 8716365c42546e1043464c67c334478ecb27c731 Mon Sep 17 00:00:00 2001 From: Jigar Amin - OpenERP <jam@tinyerp.com> Date: Mon, 5 Mar 2012 15:00:39 +0530 Subject: [PATCH 090/313] [RM] remved res_partner_address refernces bzr revid: jam@tinyerp.com-20120305093039-agbtpo3opkno5abn --- addons/base_calendar/base_calendar.py | 8 +++----- addons/base_calendar/base_calendar_view.xml | 8 +++----- .../wizard/base_calendar_invite_attendee.py | 10 +++++----- 3 files changed, 11 insertions(+), 15 deletions(-) diff --git a/addons/base_calendar/base_calendar.py b/addons/base_calendar/base_calendar.py index 814b9587753..b1bb9742abf 100644 --- a/addons/base_calendar/base_calendar.py +++ b/addons/base_calendar/base_calendar.py @@ -250,8 +250,8 @@ class calendar_attendee(osv.osv): if name == 'cn': if attdata.user_id: result[id][name] = attdata.user_id.name - elif attdata.partner_address_id: - result[id][name] = attdata.partner_address_id.name or attdata.partner_id.name + elif attdata.partner_id: + result[id][name] = attdata.partner_id.name or False else: result[id][name] = attdata.email or '' @@ -365,9 +365,7 @@ that points to the directory information corresponding to the attendee."), store=True, help="To specify the language for text values in a\ property or property parameter."), 'user_id': fields.many2one('res.users', 'User'), - 'partner_address_id': fields.many2one('res.partner.address', 'Contact'), - 'partner_id': fields.related('partner_address_id', 'partner_id', type='many2one', \ - relation='res.partner', string='Partner', help="Partner related to contact"), + 'partner_id': fields.many2one('res.partner', 'Contact'), 'email': fields.char('Email', size=124, help="Email of Invited Person"), 'event_date': fields.function(_compute_data, string='Event Date', \ type="datetime", multi='event_date'), diff --git a/addons/base_calendar/base_calendar_view.xml b/addons/base_calendar/base_calendar_view.xml index 16064762f9b..09cd2a0c416 100644 --- a/addons/base_calendar/base_calendar_view.xml +++ b/addons/base_calendar/base_calendar_view.xml @@ -22,10 +22,8 @@ <group colspan="4" col="4"> <field name="user_id" string="Invited User"/> <newline/> - <field name="partner_address_id" - string="Contact" /> <field name="partner_id" - string="Partner" readonly="1" /> + string="Contact" /> </group> <separator string="Event Detail" colspan="4" /> <group colspan="4" col="4"> @@ -78,7 +76,7 @@ <field name="sent_by_uid" string="Invitation From" /> <field name="role" string="My Role"/> <field name="user_id" invisible="1"/> - <field name="partner_address_id" invisible="1"/> + <field name="partner_id" invisible="1"/> <field name="cutype" string="Invitation type"/> <field name="state" /> <field name="rsvp" string="Required to Join"/> @@ -132,7 +130,7 @@ <filter string="Responsible" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}" /> <filter string="Contact" icon="terp-personal" domain="[]" - context="{'group_by':'partner_address_id'}" /> + context="{'group_by':'partner_id'}" /> <separator orientation="vertical" /> <filter string="Type" icon="terp-stock_symbol-selection" help="Invitation Type" domain="[]" context="{'group_by':'cutype'}" /> diff --git a/addons/base_calendar/wizard/base_calendar_invite_attendee.py b/addons/base_calendar/wizard/base_calendar_invite_attendee.py index e3a38c069b8..ae9e596b8e7 100644 --- a/addons/base_calendar/wizard/base_calendar_invite_attendee.py +++ b/addons/base_calendar/wizard/base_calendar_invite_attendee.py @@ -41,7 +41,7 @@ class base_calendar_invite_attendee(osv.osv_memory): 'invite_id', 'user_id', 'Users'), 'partner_id': fields.many2one('res.partner', 'Partner'), 'email': fields.char('Email', size=124, help="Provide external email address who will receive this invitation."), - 'contact_ids': fields.many2many('res.partner.address', 'invite_contact_rel', + 'contact_ids': fields.many2many('res.partner', 'invite_contact_rel', 'invite_id', 'contact_id', 'Contacts'), 'send_mail': fields.boolean('Send mail?', help='Check this if you want to \ send an Email to Invited Person') @@ -112,10 +112,10 @@ send an Email to Invited Person') mail_to.append(datas['email']) elif type == 'partner': - add_obj = self.pool.get('res.partner.address') + add_obj = self.pool.get('res.partner') for contact in add_obj.browse(cr, uid, datas['contact_ids']): res = { - 'partner_address_id': contact.id, + 'partner_id': contact.id, 'email': contact.email } res.update(ref) @@ -159,8 +159,8 @@ send an Email to Invited Person') if not partner_id: return {'value': {'contact_ids': []}} - cr.execute('SELECT id FROM res_partner_address \ - WHERE partner_id=%s', (partner_id,)) + cr.execute('SELECT id FROM res_partner \ + WHERE id=%s', (partner_id,)) contacts = map(lambda x: x[0], cr.fetchall()) return {'value': {'contact_ids': contacts}} From a082f8a97758efe81f16579285bbf9f1d9b77cf1 Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Mon, 5 Mar 2012 15:46:05 +0530 Subject: [PATCH 091/313] [IMP] account: remove address filed bzr revid: kjo@tinyerp.com-20120305101605-swk7at0hi1ghcr4c --- addons/account/__openerp__.py | 2 +- addons/account/account_invoice.py | 10 ++++------ addons/account/account_invoice_view.xml | 5 +---- addons/account/edi/invoice.py | 4 ++-- addons/account/report/account_invoice_report.py | 3 --- addons/account/report/account_invoice_report_view.xml | 1 - addons/account/report/account_print_invoice.rml | 8 ++++---- addons/account/test/account_change_currency.yml | 1 - addons/account/test/account_invoice_state.yml | 1 - addons/account/test/account_report.yml | 1 - addons/account/test/account_sequence_test.yml | 1 - addons/account/test/account_supplier_invoice.yml | 1 - 12 files changed, 12 insertions(+), 26 deletions(-) diff --git a/addons/account/__openerp__.py b/addons/account/__openerp__.py index 850a8f49842..54c33ddd317 100644 --- a/addons/account/__openerp__.py +++ b/addons/account/__openerp__.py @@ -146,7 +146,7 @@ module named account_voucher. 'test/account_fiscalyear_close.yml', 'test/account_bank_statement.yml', 'test/account_cash_statement.yml', - 'test/test_edi_invoice.yml', +# 'test/test_edi_invoice.yml', it will be need to check 'test/account_report.yml', 'test/account_fiscalyear_close_state.yml', #last test, as it will definitively close the demo fiscalyear ], diff --git a/addons/account/account_invoice.py b/addons/account/account_invoice.py index 5b51ba9b96b..21edecf328f 100644 --- a/addons/account/account_invoice.py +++ b/addons/account/account_invoice.py @@ -216,7 +216,6 @@ class account_invoice(osv.osv): help="If you use payment terms, the due date will be computed automatically at the generation "\ "of accounting entries. If you keep the payment term and the due date empty, it means direct payment. The payment term may compute several due dates, for example 50% now, 50% in one month."), 'partner_id': fields.many2one('res.partner', 'Partner', change_default=True, readonly=True, required=True, states={'draft':[('readonly',False)]}), - 'address_contact_id': fields.many2one('res.partner', 'Contact Address', readonly=True, states={'draft':[('readonly',False)]}), 'payment_term': fields.many2one('account.payment.term', 'Payment Term',readonly=True, states={'draft':[('readonly',False)]}, help="If you use payment terms, the due date will be computed automatically at the generation "\ "of accounting entries. If you keep the payment term and the due date empty, it means direct payment. "\ @@ -441,7 +440,6 @@ class account_invoice(osv.osv): bank_id = p.bank_ids[0].id result = {'value': { - 'address_contact_id': contact_addr_id, 'account_id': acc_id, 'payment_term': partner_payment_term, 'fiscal_position': fiscal_position @@ -1090,7 +1088,7 @@ class account_invoice(osv.osv): return map(lambda x: (0,0,x), lines) def refund(self, cr, uid, ids, date=None, period_id=None, description=None, journal_id=None): - invoices = self.read(cr, uid, ids, ['name', 'type', 'number', 'reference', 'comment', 'date_due', 'partner_id', 'address_contact_id', 'partner_contact', 'partner_insite', 'partner_ref', 'payment_term', 'account_id', 'currency_id', 'invoice_line', 'tax_line', 'journal_id']) + invoices = self.read(cr, uid, ids, ['name', 'type', 'number', 'reference', 'comment', 'date_due', 'partner_id', 'partner_contact', 'partner_insite', 'partner_ref', 'payment_term', 'account_id', 'currency_id', 'invoice_line', 'tax_line', 'journal_id']) obj_invoice_line = self.pool.get('account.invoice.line') obj_invoice_tax = self.pool.get('account.invoice.tax') obj_journal = self.pool.get('account.journal') @@ -1138,7 +1136,7 @@ class account_invoice(osv.osv): 'name': description, }) # take the id part of the tuple returned for many2one fields - for field in ('address_contact_id', 'partner_id', + for field in ('partner_id', 'account_id', 'currency_id', 'payment_term', 'journal_id'): invoice[field] = invoice[field] and invoice[field][0] # create the new invoice @@ -1435,7 +1433,7 @@ class account_invoice_line(osv.osv): tax_code_found= False for tax in tax_obj.compute_all(cr, uid, line.invoice_line_tax_id, (line.price_unit * (1.0 - (line['discount'] or 0.0) / 100.0)), - line.quantity, inv.address_contact_id.id, line.product_id, + line.quantity, line.product_id, inv.partner_id)['taxes']: if inv.type in ('out_invoice', 'in_invoice'): @@ -1570,7 +1568,7 @@ class account_invoice_tax(osv.osv): company_currency = inv.company_id.currency_id.id for line in inv.invoice_line: - for tax in tax_obj.compute_all(cr, uid, line.invoice_line_tax_id, (line.price_unit* (1-(line.discount or 0.0)/100.0)), line.quantity, inv.address_contact_id.id, line.product_id, inv.partner_id)['taxes']: + for tax in tax_obj.compute_all(cr, uid, line.invoice_line_tax_id, (line.price_unit* (1-(line.discount or 0.0)/100.0)), line.quantity, line.product_id, inv.partner_id)['taxes']: tax['price_unit'] = cur_obj.round(cr, uid, cur, tax['price_unit']) val={} val['invoice_id'] = inv.id diff --git a/addons/account/account_invoice_view.xml b/addons/account/account_invoice_view.xml index 80c4901286f..d36a257bba9 100644 --- a/addons/account/account_invoice_view.xml +++ b/addons/account/account_invoice_view.xml @@ -167,7 +167,7 @@ <field name="reference_type" nolabel="1" size="0"/> <field name="reference" nolabel="1"/> <field name="date_due"/> - <field colspan="4" context="{'address_contact_id': address_contact_id, 'partner_id': partner_id, 'price_type': 'price_type' in dir() and price_type or False, 'type': type}" name="invoice_line" nolabel="1"> + <field colspan="4" context="{'partner_id': partner_id, 'price_type': 'price_type' in dir() and price_type or False, 'type': type}" name="invoice_line" nolabel="1"> <tree string="Invoice lines"> <field name="product_id" on_change="product_id_change(product_id, uos_id, quantity, name, parent.type, parent.partner_id, parent.fiscal_position, price_unit, parent.currency_id, context, parent.company_id)"/> <field domain="[('company_id', '=', parent.company_id), ('journal_id', '=', parent.journal_id), ('type', '<>', 'view')]" name="account_id" on_change="onchange_account_id(product_id,parent.partner_id,parent.type,parent.fiscal_position,account_id)"/> @@ -222,7 +222,6 @@ <field name="name"/> <newline/> <field name="origin" groups="base.group_extended"/> - <field domain="[('partner_id','=',partner_id)]" name="address_contact_id" groups="base.group_extended"/> <field name="user_id"/> <field name="move_id" groups="account.group_account_user"/> <separator colspan="4" string="Additional Information"/> @@ -319,8 +318,6 @@ <field domain="[('partner_id.ref_companies', 'in', [company_id])]" name="partner_bank_id" groups="base.group_extended"/> <field name="origin"/> - <field colspan="4" domain="[('partner_id','=',partner_id)]" name="address_contact_id" - groups="base.group_extended"/> <field name="move_id" groups="account.group_account_user"/> <separator colspan="4" string="Additional Information"/> <field colspan="4" name="comment" nolabel="1"/> diff --git a/addons/account/edi/invoice.py b/addons/account/edi/invoice.py index acaeb773062..c54593123b0 100644 --- a/addons/account/edi/invoice.py +++ b/addons/account/edi/invoice.py @@ -84,7 +84,7 @@ class account_invoice(osv.osv, EDIMixin): edi_doc.update({ 'company_address': res_company.edi_export_address(cr, uid, invoice.company_id, context=context), 'company_paypal_account': invoice.company_id.paypal_account, - 'partner_address': res_partner_address.edi_export(cr, uid, [invoice.address_contact_id], context=context)[0], + 'partner_address': res_partner_address.edi_export(cr, uid, [invoice.partner_id], context=context)[0], 'currency': self.pool.get('res.currency').edi_export(cr, uid, [invoice.currency_id], context=context)[0], 'partner_ref': invoice.reference or False, @@ -149,7 +149,7 @@ class account_invoice(osv.osv, EDIMixin): partner_address = res_partner.browse(cr, uid, address_id, context=context) edi_document['partner_id'] = (src_company_id, src_company_name) edi_document.pop('partner_address', False) # ignored - edi_document['address_contact_id'] = self.edi_m2o(cr, uid, partner_address, context=context) + #edi_document['address_contact_id'] = self.edi_m2o(cr, uid, partner_address, context=context) return partner_id diff --git a/addons/account/report/account_invoice_report.py b/addons/account/report/account_invoice_report.py index 390192e0f39..2fbe641dba3 100644 --- a/addons/account/report/account_invoice_report.py +++ b/addons/account/report/account_invoice_report.py @@ -65,7 +65,6 @@ class account_invoice_report(osv.osv): ('cancel','Cancelled') ], 'Invoice State', readonly=True), 'date_due': fields.date('Due Date', readonly=True), - 'address_contact_id': fields.many2one('res.partner', 'Contact Address Name', readonly=True), 'account_id': fields.many2one('account.account', 'Account',readonly=True), 'account_line_id': fields.many2one('account.account', 'Account Line',readonly=True), 'partner_bank_id': fields.many2one('res.partner.bank', 'Bank Account',readonly=True), @@ -102,7 +101,6 @@ class account_invoice_report(osv.osv): ai.state, pt.categ_id, ai.date_due as date_due, - ai.address_contact_id as address_contact_id, ai.account_id as account_id, ail.account_id as account_line_id, ai.partner_bank_id as partner_bank_id, @@ -184,7 +182,6 @@ class account_invoice_report(osv.osv): ai.state, pt.categ_id, ai.date_due, - ai.address_contact_id, ai.account_id, ail.account_id, ai.partner_bank_id, diff --git a/addons/account/report/account_invoice_report_view.xml b/addons/account/report/account_invoice_report_view.xml index 57e27e91106..6e5f83a83d1 100644 --- a/addons/account/report/account_invoice_report_view.xml +++ b/addons/account/report/account_invoice_report_view.xml @@ -22,7 +22,6 @@ <field name="period_id" invisible="1"/> <field name="currency_id" invisible="1"/> <field name="journal_id" invisible="1"/> - <field name="address_contact_id" invisible="1"/> <field name="partner_bank_id" invisible="1"/> <field name="date_due" invisible="1"/> <field name="account_id" invisible="1"/> diff --git a/addons/account/report/account_print_invoice.rml b/addons/account/report/account_print_invoice.rml index 1b8056e7658..8aa6d785d08 100644 --- a/addons/account/report/account_print_invoice.rml +++ b/addons/account/report/account_print_invoice.rml @@ -162,12 +162,12 @@ </td> <td> <para style="terp_default_8">[[ (o.partner_id and o.partner_id.title and o.partner_id.title.name) or '' ]] [[ (o.partner_id and o.partner_id.name) or '' ]]</para> - <para style="terp_default_8">[[ display_address(o.address_contact_id) ]]</para> + <para style="terp_default_8">[[ display_address(o.partner_id) ]]</para> <para style="terp_default_8"> <font color="white"> </font> </para> - <para style="terp_default_8">Tel. : [[ (o.address_contact_id and o.address_contact_id.phone) or removeParentNode('para') ]]</para> - <para style="terp_default_8">Fax : [[ (o.address_contact_id and o.address_contact_id.fax) or removeParentNode('para') ]]</para> + <para style="terp_default_8">Tel. : [[ (o.partner_id and o.partner_id.phone) or removeParentNode('para') ]]</para> + <para style="terp_default_8">Fax : [[ (o.partner_id and o.partner_id.fax) or removeParentNode('para') ]]</para> <para style="terp_default_8">VAT : [[ (o.partner_id and o.partner_id.vat) or removeParentNode('para') ]]</para> </td> </tr> @@ -210,7 +210,7 @@ <para style="terp_default_Centre_9">[[ o.origin or '' ]]</para> </td> <td> - <para style="terp_default_Centre_9">[[ (o.address_contact_id.partner_id and o.address_contact_id.partner_id.ref) or ' ' ]]</para> + <para style="terp_default_Centre_9">[[ (o.partner_id and o.partner_id.ref) or ' ' ]]</para> </td> </tr> </blockTable> diff --git a/addons/account/test/account_change_currency.yml b/addons/account/test/account_change_currency.yml index 9b62cd223b8..dbbe3d5f676 100644 --- a/addons/account/test/account_change_currency.yml +++ b/addons/account/test/account_change_currency.yml @@ -3,7 +3,6 @@ - !record {model: account.invoice, id: account_invoice_currency}: account_id: account.a_recv - address_contact_id: base.res_partner_address_3000 company_id: base.main_company currency_id: base.EUR invoice_line: diff --git a/addons/account/test/account_invoice_state.yml b/addons/account/test/account_invoice_state.yml index 1eedd88d93a..0825c3d2433 100644 --- a/addons/account/test/account_invoice_state.yml +++ b/addons/account/test/account_invoice_state.yml @@ -3,7 +3,6 @@ - !record {model: account.invoice, id: account_invoice_state}: account_id: account.a_recv - address_contact_id: base.res_partner_address_3000 company_id: base.main_company currency_id: base.EUR invoice_line: diff --git a/addons/account/test/account_report.yml b/addons/account/test/account_report.yml index 1f47c712d2f..7ce1843bfa3 100644 --- a/addons/account/test/account_report.yml +++ b/addons/account/test/account_report.yml @@ -9,7 +9,6 @@ type: out_invoice account_id: account.a_recv name: Test invoice 1 - address_contact_id: base.res_partner_address_tang - In order to test the PDF reports defined on an invoice, we will print an Invoice Report - diff --git a/addons/account/test/account_sequence_test.yml b/addons/account/test/account_sequence_test.yml index 213522b1771..12146aeac97 100644 --- a/addons/account/test/account_sequence_test.yml +++ b/addons/account/test/account_sequence_test.yml @@ -16,7 +16,6 @@ - I create a draft customer invoice in a period of the demo fiscal year - !record {model: account.invoice, id: invoice_seq_test}: account_id: account.a_recv - address_contact_id: base.res_partner_address_zen company_id: base.main_company currency_id: base.EUR invoice_line: diff --git a/addons/account/test/account_supplier_invoice.yml b/addons/account/test/account_supplier_invoice.yml index 663311c815c..a8898bc9764 100644 --- a/addons/account/test/account_supplier_invoice.yml +++ b/addons/account/test/account_supplier_invoice.yml @@ -23,7 +23,6 @@ - !record {model: account.invoice, id: account_invoice_supplier0}: account_id: account.a_pay - address_contact_id: base.res_partner_address_3000 check_total: 3000.0 company_id: base.main_company currency_id: base.EUR From 44347d6ba9acd4aa247260b528af0dee8b6ba599 Mon Sep 17 00:00:00 2001 From: Jigar Amin - OpenERP <jam@tinyerp.com> Date: Mon, 5 Mar 2012 17:22:12 +0530 Subject: [PATCH 092/313] [IMP] base_calendar : Add attendee should shoe child contacts also bzr revid: jam@tinyerp.com-20120305115212-r4ro1xg6qp6b43i4 --- addons/base_calendar/wizard/base_calendar_invite_attendee.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/base_calendar/wizard/base_calendar_invite_attendee.py b/addons/base_calendar/wizard/base_calendar_invite_attendee.py index ae9e596b8e7..676f9b3fdd2 100644 --- a/addons/base_calendar/wizard/base_calendar_invite_attendee.py +++ b/addons/base_calendar/wizard/base_calendar_invite_attendee.py @@ -160,7 +160,7 @@ send an Email to Invited Person') if not partner_id: return {'value': {'contact_ids': []}} cr.execute('SELECT id FROM res_partner \ - WHERE id=%s', (partner_id,)) + WHERE id=%s or parent_id =%s' , (partner_id,partner_id,)) contacts = map(lambda x: x[0], cr.fetchall()) return {'value': {'contact_ids': contacts}} From 4f52e7a2cf3d791f38a120e40e5228764ed6898e Mon Sep 17 00:00:00 2001 From: Jigar Amin - OpenERP <jam@tinyerp.com> Date: Mon, 5 Mar 2012 17:41:50 +0530 Subject: [PATCH 093/313] [IMP] remved res_partner_address reference bzr revid: jam@tinyerp.com-20120305121150-zr1zrjf7lrkiafr8 --- addons/document/document.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/addons/document/document.py b/addons/document/document.py index 9ea7f97a321..92ece063a47 100644 --- a/addons/document/document.py +++ b/addons/document/document.py @@ -311,9 +311,6 @@ class document_file(osv.osv): elif 'partner_id' in obj_model._columns and obj_model._columns['partner_id']._obj == 'res.partner': bro = obj_model.browse(cr, uid, res_id, context=context) return bro.partner_id.id - elif 'address_id' in obj_model._columns and obj_model._columns['address_id']._obj == 'res.partner.address': - bro = obj_model.browse(cr, uid, res_id, context=context) - return bro.address_id.partner_id.id return False def unlink(self, cr, uid, ids, context=None): From 4bef7bd1aa22dbf6d7a570014d9bdb48c3aaafbd Mon Sep 17 00:00:00 2001 From: "Bhumika (OpenERP)" <sbh@tinyerp.com> Date: Mon, 5 Mar 2012 17:58:01 +0530 Subject: [PATCH 094/313] [Fix] base/res: Fix typo bzr revid: sbh@tinyerp.com-20120305122801-1tscam6gm7krharu --- openerp/addons/base/res/res_partner.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index 4309583732c..f47a0357149 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -434,8 +434,8 @@ class res_partner(osv.osv): def default_get(self, cr, uid, fields, context=None): res = super(res_partner, self).default_get( cr, uid, fields, context) - if 'is_comapny' in res: - res.update({'photo': self._get_photo(self, cr, uid, res.get('is_comapny', 'contact'), context)}) + if 'is_company' in res: + res.update({'photo': self._get_photo(self, cr, uid, res.get('is_company', 'contact'), context)}) return res res_partner() From e4ec8a61ae766c124a0e181a561e9186b5d31ec0 Mon Sep 17 00:00:00 2001 From: Jigar Amin - OpenERP <jam@tinyerp.com> Date: Mon, 5 Mar 2012 18:34:52 +0530 Subject: [PATCH 095/313] [FIX] Fiexed the fucntion args bzr revid: jam@tinyerp.com-20120305130452-e5nthymr4re0wyix --- openerp/addons/base/res/res_partner.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index f47a0357149..c74fb890515 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -435,7 +435,7 @@ class res_partner(osv.osv): def default_get(self, cr, uid, fields, context=None): res = super(res_partner, self).default_get( cr, uid, fields, context) if 'is_company' in res: - res.update({'photo': self._get_photo(self, cr, uid, res.get('is_company', 'contact'), context)}) + res.update({'photo': self._get_photo(cr, uid, res.get('is_company', 'contact'), context)}) return res res_partner() From 3662f7e5db771bd56f06e7aaed5ebb5be526c305 Mon Sep 17 00:00:00 2001 From: "Bharat Devnani (OpenERP)" <bde@tinyerp.com> Date: Mon, 5 Mar 2012 18:55:39 +0530 Subject: [PATCH 096/313] [REM] removed res.partner.address reference from purchase module, just need to solve 'test/process/edi_purchase_order.yml' yml and its references bzr revid: bde@tinyerp.com-20120305132539-1u8zok2ccy6csemu --- addons/purchase/__openerp__.py | 2 +- addons/purchase/edi/purchase_order.py | 4 ++-- .../edi/purchase_order_action_data.xml | 6 ++--- addons/purchase/i18n/purchase.pot | 8 +++---- addons/purchase/purchase.py | 24 +++++++------------ addons/purchase/purchase_demo.xml | 2 +- addons/purchase/purchase_view.xml | 11 ++++----- addons/purchase/report/order.rml | 8 +++---- addons/purchase/report/purchase_report.py | 4 ---- addons/purchase/report/request_quotation.rml | 6 ++--- addons/purchase/security/ir.model.access.csv | 2 +- .../test/process/edi_purchase_order.yml | 5 ++-- addons/purchase/test/process/merge_order.yml | 1 - .../purchase/test/process/rfq2order2done.yml | 2 +- .../purchase/wizard/purchase_line_invoice.py | 4 ++-- addons/stock/stock.py | 2 +- 16 files changed, 39 insertions(+), 52 deletions(-) diff --git a/addons/purchase/__openerp__.py b/addons/purchase/__openerp__.py index 5b3902cf1cd..f3f77f0f23c 100644 --- a/addons/purchase/__openerp__.py +++ b/addons/purchase/__openerp__.py @@ -67,7 +67,7 @@ Dashboard for purchase management that includes: 'test/process/generate_invoice_from_reception.yml', 'test/process/run_scheduler.yml', 'test/process/merge_order.yml', - 'test/process/edi_purchase_order.yml', +# 'test/process/edi_purchase_order.yml', 'test/process/invoice_on_poline.yml', 'test/ui/print_report.yml', 'test/ui/duplicate_order.yml', diff --git a/addons/purchase/edi/purchase_order.py b/addons/purchase/edi/purchase_order.py index b8359f3bf7f..cdc2f319bc6 100644 --- a/addons/purchase/edi/purchase_order.py +++ b/addons/purchase/edi/purchase_order.py @@ -79,7 +79,7 @@ class purchase_order(osv.osv, EDIMixin): '__import_module': 'sale', 'company_address': res_company.edi_export_address(cr, uid, order.company_id, context=context), - 'partner_address': res_partner_address.edi_export(cr, uid, [order.partner_address_id], context=context)[0], + 'partner_address': res_partner_address.edi_export(cr, uid, [order.partner_id], context=context)[0], 'currency': self.pool.get('res.currency').edi_export(cr, uid, [order.pricelist_id.currency_id], context=context)[0], }) @@ -115,7 +115,7 @@ class purchase_order(osv.osv, EDIMixin): partner_address = res_partner_address.browse(cr, uid, address_id, context=context) edi_document['partner_id'] = (src_company_id, src_company_name) edi_document.pop('partner_address', False) # ignored - edi_document['partner_address_id'] = self.edi_m2o(cr, uid, partner_address, context=context) + edi_document['partner_id'] = self.edi_m2o(cr, uid, partner_address, context=context) return partner_id diff --git a/addons/purchase/edi/purchase_order_action_data.xml b/addons/purchase/edi/purchase_order_action_data.xml index f3f610b8e75..560b566b19f 100644 --- a/addons/purchase/edi/purchase_order_action_data.xml +++ b/addons/purchase/edi/purchase_order_action_data.xml @@ -38,13 +38,13 @@ <field name="name">Automated Purchase Order Notification Mail</field> <field name="email_from">${object.validator.user_email or ''}</field> <field name="subject">${object.company_id.name} Order (Ref ${object.name or 'n/a' })</field> - <field name="email_to">${object.partner_address_id.email}</field> + <field name="email_to">${object.partner_id.email}</field> <field name="model_id" ref="purchase.model_purchase_order"/> <field name="auto_delete" eval="True"/> <field name="body_html"><![CDATA[ <div style="font-family: 'Lucica Grande', Ubuntu, Arial, Verdana, sans-serif; font-size: 12px; color: rgb(34, 34, 34); background-color: rgb(255, 255, 255); "> - <p>Hello${object.partner_address_id.name and ' ' or ''}${object.partner_address_id.name or ''},</p> + <p>Hello${object.partner_id.name and ' ' or ''}${object.partner_id.name or ''},</p> <p>Here is a purchase order confirmation from ${object.company_id.name}: </p> @@ -107,7 +107,7 @@ </div> ]]></field> <field name="body_text"><![CDATA[ -Hello${object.partner_address_id.name and ' ' or ''}${object.partner_address_id.name or ''}, +Hello${object.partner_id.name and ' ' or ''}${object.partner_id.name or ''}, Here is a purchase order confirmation from ${object.company_id.name}: | Order number: *${object.name}* diff --git a/addons/purchase/i18n/purchase.pot b/addons/purchase/i18n/purchase.pot index 7334cd92809..bf37504c3d0 100644 --- a/addons/purchase/i18n/purchase.pot +++ b/addons/purchase/i18n/purchase.pot @@ -603,7 +603,7 @@ msgid "Available" msgstr "" #. module: purchase -#: field:purchase.report,partner_address_id:0 +#: field:purchase.report,partner_id:0 msgid "Address Contact Name" msgstr "" @@ -1557,7 +1557,7 @@ msgid "Waiting" msgstr "" #. module: purchase -#: field:purchase.order,partner_address_id:0 +#: field:purchase.order,partner_id:0 msgid "Address" msgstr "" @@ -1770,8 +1770,8 @@ msgstr "" #: model:email.template,body_text:purchase.email_template_edi_purchase msgid "" "\n" -"Hello${object.partner_address_id.name and ' ' or ''}${object." -"partner_address_id.name or ''},\n" +"Hello${object.partner_id.name and ' ' or ''}${object." +"partner_id.name or ''},\n" "\n" "Here is a purchase order confirmation from ${object.company_id.name}:\n" " | Order number: *${object.name}*\n" diff --git a/addons/purchase/purchase.py b/addons/purchase/purchase.py index a3135935045..5548e5b3898 100644 --- a/addons/purchase/purchase.py +++ b/addons/purchase/purchase.py @@ -49,7 +49,7 @@ class purchase_order(osv.osv): cur = order.pricelist_id.currency_id for line in order.order_line: val1 += line.price_subtotal - for c in self.pool.get('account.tax').compute_all(cr, uid, line.taxes_id, line.price_unit, line.product_qty, order.partner_address_id.id, line.product_id.id, order.partner_id)['taxes']: + for c in self.pool.get('account.tax').compute_all(cr, uid, line.taxes_id, line.price_unit, line.product_qty, order.partner_id.id, line.product_id.id, order.partner_id)['taxes']: val += c.get('amount', 0.0) res[order.id]['amount_tax']=cur_obj.round(cr, uid, cur, val) res[order.id]['amount_untaxed']=cur_obj.round(cr, uid, cur, val1) @@ -161,9 +161,7 @@ class purchase_order(osv.osv): 'date_order':fields.date('Order Date', required=True, states={'confirmed':[('readonly',True)], 'approved':[('readonly',True)]}, select=True, help="Date on which this document has been created."), 'date_approve':fields.date('Date Approved', readonly=1, select=True, help="Date on which purchase order has been approved"), 'partner_id':fields.many2one('res.partner', 'Supplier', required=True, states={'confirmed':[('readonly',True)], 'approved':[('readonly',True)],'done':[('readonly',True)]}, change_default=True), - 'partner_address_id':fields.many2one('res.partner.address', 'Address', required=True, - states={'confirmed':[('readonly',True)], 'approved':[('readonly',True)],'done':[('readonly',True)]},domain="[('partner_id', '=', partner_id)]"), - 'dest_address_id':fields.many2one('res.partner.address', 'Destination Address', domain="[('partner_id', '!=', False)]", + 'dest_address_id':fields.many2one('res.partner', 'Destination Address', domain="[('parent_id','=',partner_id)]", states={'confirmed':[('readonly',True)], 'approved':[('readonly',True)],'done':[('readonly',True)]}, help="Put an address if you want to deliver directly from the supplier to the customer." \ "In this case, it will remove the warehouse link and set the customer location." @@ -215,7 +213,6 @@ class purchase_order(osv.osv): 'shipped': 0, 'invoice_method': 'order', 'invoiced': 0, - 'partner_address_id': lambda self, cr, uid, context: context.get('partner_id', False) and self.pool.get('res.partner').address_get(cr, uid, [context['partner_id']], ['default'])['default'], 'pricelist_id': lambda self, cr, uid, context: context.get('partner_id', False) and self.pool.get('res.partner').browse(cr, uid, context['partner_id']).property_product_pricelist_purchase.id, 'company_id': lambda self,cr,uid,c: self.pool.get('res.company')._company_default_get(cr, uid, 'purchase.order', context=c), } @@ -249,9 +246,9 @@ class purchase_order(osv.osv): def onchange_dest_address_id(self, cr, uid, ids, address_id): if not address_id: return {} - address = self.pool.get('res.partner.address') + address = self.pool.get('res.partner') values = {'warehouse_id': False} - supplier = address.browse(cr, uid, address_id).partner_id + supplier = address.browse(cr, uid, address_id) if supplier: location_id = supplier.property_stock_customer.id values.update({'location_id': location_id}) @@ -266,12 +263,12 @@ class purchase_order(osv.osv): def onchange_partner_id(self, cr, uid, ids, partner_id): partner = self.pool.get('res.partner') if not partner_id: - return {'value':{'partner_address_id': False, 'fiscal_position': False}} + return {'value':{'fiscal_position': False}} supplier_address = partner.address_get(cr, uid, [partner_id], ['default']) supplier = partner.browse(cr, uid, partner_id) pricelist = supplier.property_product_pricelist_purchase.id fiscal_position = supplier.property_account_position and supplier.property_account_position.id or False - return {'value':{'partner_address_id': supplier_address['default'], 'pricelist_id': pricelist, 'fiscal_position': fiscal_position}} + return {'value':{'pricelist_id': pricelist, 'fiscal_position': fiscal_position}} def wkf_approve_order(self, cr, uid, ids, context=None): self.write(cr, uid, ids, {'state': 'approved', 'date_approve': fields.date.context_today(self,cr,uid,context=context)}) @@ -376,8 +373,6 @@ class purchase_order(osv.osv): 'type': 'in_invoice', 'partner_id': order.partner_id.id, 'currency_id': order.pricelist_id.currency_id.id, - 'address_invoice_id': order.partner_address_id.id, - 'address_contact_id': order.partner_address_id.id, 'journal_id': len(journal_ids) and journal_ids[0] or False, 'invoice_line': [(6, 0, inv_lines)], 'origin': order.name, @@ -433,7 +428,7 @@ class purchase_order(osv.osv): 'origin': order.name + ((order.origin and (':' + order.origin)) or ''), 'date': order.date_order, 'type': 'in', - 'address_id': order.dest_address_id.id or order.partner_address_id.id, + 'address_id': order.dest_address_id.id or order.partner_id.id, 'invoice_state': '2binvoiced' if order.invoice_method == 'picking' else 'none', 'purchase_id': order.id, 'company_id': order.company_id.id, @@ -453,7 +448,7 @@ class purchase_order(osv.osv): 'location_id': order.partner_id.property_stock_supplier.id, 'location_dest_id': order.location_id.id, 'picking_id': picking_id, - 'address_id': order.dest_address_id.id or order.partner_address_id.id, + 'address_id': order.dest_address_id.id or order.partner_id.id, 'move_dest_id': order_line.move_dest_id.id, 'state': 'draft', 'purchase_line_id': order_line.id, @@ -574,7 +569,7 @@ class purchase_order(osv.osv): 'origin': porder.origin, 'date_order': porder.date_order, 'partner_id': porder.partner_id.id, - 'partner_address_id': porder.partner_address_id.id, +# 'partner_address_id': porder.partner_id.id, 'dest_address_id': porder.dest_address_id.id, 'warehouse_id': porder.warehouse_id.id, 'location_id': porder.location_id.id, @@ -925,7 +920,6 @@ class procurement_order(osv.osv): 'name': name, 'origin': procurement.origin, 'partner_id': partner_id, - 'partner_address_id': address_id, 'location_id': procurement.location_id.id, 'warehouse_id': warehouse_id and warehouse_id[0] or False, 'pricelist_id': pricelist_id, diff --git a/addons/purchase/purchase_demo.xml b/addons/purchase/purchase_demo.xml index 6999f85b076..aee902c8e91 100644 --- a/addons/purchase/purchase_demo.xml +++ b/addons/purchase/purchase_demo.xml @@ -7,7 +7,7 @@ </record> <workflow action="purchase_confirm" model="purchase.order" ref="order_purchase2"/> - <workflow action="purchase_confirm" model="purchase.order" ref="order_purchase6"/> + <!--workflow action="purchase_confirm" model="purchase.order" ref="order_purchase6"/--> <record id="stock.res_company_tinyshop0" model="res.company"> <field eval="1.0" name="po_lead"/> diff --git a/addons/purchase/purchase_view.xml b/addons/purchase/purchase_view.xml index 1c936055aff..e6f6929647c 100644 --- a/addons/purchase/purchase_view.xml +++ b/addons/purchase/purchase_view.xml @@ -62,24 +62,23 @@ <record id="action_supplier_address_form" model="ir.actions.act_window"> <field name="name">Addresses</field> <field name="type">ir.actions.act_window</field> - <field name="res_model">res.partner.address</field> + <field name="res_model">res.partner</field> <field name="view_type">form</field> <field name="context">{"search_default_supplier":1}</field> - <field name="search_view_id" ref="base.view_res_partner_address_filter"/> <field name="help">Access your supplier records and maintain a good relationship with your suppliers. You can track all your interactions with them through the History tab: emails, orders, meetings, etc.</field> </record> <record id="action_supplier_address_form_view1" model="ir.actions.act_window.view"> <field eval="10" name="sequence"/> <field name="view_mode">tree</field> - <field name="view_id" ref="base.view_partner_address_tree"/> + <field name="view_id" ref="base.view_partner_tree"/> <field name="act_window_id" ref="action_supplier_address_form"/> </record> - <record id="action_supplier_address_form_view2" model="ir.actions.act_window.view"> + <!--record id="action_supplier_address_form_view2" model="ir.actions.act_window.view"> <field eval="20" name="sequence"/> <field name="view_mode">form</field> <field name="view_id" ref="base.view_partner_address_form1"/> <field name="act_window_id" ref="action_supplier_address_form"/> - </record> + </record--> <!--supplier menu--> <menuitem id="base.menu_procurement_management_supplier" name="Address Book" @@ -173,7 +172,7 @@ <notebook colspan="4"> <page string="Purchase Order"> <field name="partner_id" on_change="onchange_partner_id(partner_id)" context="{'search_default_supplier':1,'default_supplier':1,'default_customer':0}" options='{"quick_create": false}'/> - <field name="partner_address_id" options='{"quick_create": false}'/> + <!--field name="partner_address_id" options='{"quick_create": false}'/--> <field domain="[('type','=','purchase')]" name="pricelist_id" groups="base.group_extended"/> <field name="origin" groups="base.group_extended"/> <newline/> diff --git a/addons/purchase/report/order.rml b/addons/purchase/report/order.rml index ffea456d77f..639ac3cfe72 100644 --- a/addons/purchase/report/order.rml +++ b/addons/purchase/report/order.rml @@ -167,7 +167,7 @@ <td> <para style="terp_default_Bold_9">Shipping address :</para> <para style="terp_default_9">[[ (o.dest_address_id and o.dest_address_id.partner_id.name) or (o.warehouse_id and o.warehouse_id.name) or '']]</para> - <para style="terp_default_9">[[ (o.dest_address_id and display_address(o.dest_address_id)) or (o.warehouse_id and displaye_address(o.warehouse_id.partner_address_id)) or '']]</para> + <para style="terp_default_9">[[ (o.dest_address_id and display_address(o.partner_id)) or (o.warehouse_id and displaye_address(o.warehouse_id.partner_address_id)) or '']]</para> </td> </tr> </blockTable> @@ -182,12 +182,12 @@ </td> <td> <para style="terp_default_9">[[ (o.partner_id and o.partner_id.title and o.partner_id.title.name) or '' ]] [[ (o.partner_id and o.partner_id.name) or '' ]]</para> - <para style="terp_default_9">[[ o.partner_address_id and display_address(o.partner_address_id) ]] </para> + <para style="terp_default_9">[[ o.partner_id and display_address(o.partner_id) ]] </para> <para style="terp_default_9"> <font color="white"> </font> </para> - <para style="terp_default_9">Tél. : [[ (o.partner_address_id and o.partner_address_id.phone) or removeParentNode('para') ]]</para> - <para style="terp_default_9">Fax : [[ (o.partner_address_id and o.partner_address_id.fax) or removeParentNode('para') ]]</para> + <para style="terp_default_9">Tél. : [[ (o.partner_id and o.partner_id.phone) or removeParentNode('para') ]]</para> + <para style="terp_default_9">Fax : [[ (o.partner_id and o.partner_id.fax) or removeParentNode('para') ]]</para> <para style="terp_default_9">TVA : [[ (o.partner_id and o.partner_id.vat) or removeParentNode('para') ]]</para> </td> </tr> diff --git a/addons/purchase/report/purchase_report.py b/addons/purchase/report/purchase_report.py index e3a4a651b7f..99692907591 100644 --- a/addons/purchase/report/purchase_report.py +++ b/addons/purchase/report/purchase_report.py @@ -46,8 +46,6 @@ class purchase_report(osv.osv): 'warehouse_id': fields.many2one('stock.warehouse', 'Warehouse', readonly=True), 'location_id': fields.many2one('stock.location', 'Destination', readonly=True), 'partner_id':fields.many2one('res.partner', 'Supplier', readonly=True), - 'partner_address_id':fields.many2one('res.partner.address', 'Address Contact Name', readonly=True), - 'dest_address_id':fields.many2one('res.partner.address', 'Dest. Address Contact Name',readonly=True), 'pricelist_id':fields.many2one('product.pricelist', 'Pricelist', readonly=True), 'date_approve':fields.date('Date Approved', readonly=True), 'expected_date':fields.date('Expected Date', readonly=True), @@ -82,7 +80,6 @@ class purchase_report(osv.osv): s.state, s.date_approve, date_trunc('day',s.minimum_planned_date) as expected_date, - s.partner_address_id, s.dest_address_id, s.pricelist_id, s.validator, @@ -122,7 +119,6 @@ class purchase_report(osv.osv): l.date_planned, l.product_uom, date_trunc('day',s.minimum_planned_date), - s.partner_address_id, s.pricelist_id, s.validator, s.dest_address_id, diff --git a/addons/purchase/report/request_quotation.rml b/addons/purchase/report/request_quotation.rml index e75d062542c..4d747966699 100644 --- a/addons/purchase/report/request_quotation.rml +++ b/addons/purchase/report/request_quotation.rml @@ -101,12 +101,12 @@ </td> <td> <para style="terp_default_9">[[ (order.partner_id and order.partner_id.title and order.partner_id.title.name) or '' ]] [[ order.partner_id.name ]]</para> - <para style="terp_default_9">[[ order.partner_address_id and display_address(order.partner_address_id) ]] </para> + <para style="terp_default_9">[[ order.partner_id and display_address(order.partner_id) ]] </para> <para style="terp_default_9"> <font color="white"> </font> </para> - <para style="terp_default_9">Tel.: [[ (order.partner_address_id and order.partner_address_id.phone) or removeParentNode('para') ]]</para> - <para style="terp_default_9">Fax: [[ (order.partner_address_id and order.partner_address_id.fax) or removeParentNode('para') ]]</para> + <para style="terp_default_9">Tel.: [[ (order.partner_id and order.partner_id.phone) or removeParentNode('para') ]]</para> + <para style="terp_default_9">Fax: [[ (order.partner_id and order.partner_id.fax) or removeParentNode('para') ]]</para> <para style="terp_default_9">TVA: [[ (order.partner_id and order.partner_id.vat) or removeParentNode('para') ]]</para> </td> </tr> diff --git a/addons/purchase/security/ir.model.access.csv b/addons/purchase/security/ir.model.access.csv index 0ea49a9900b..ced9f116cab 100644 --- a/addons/purchase/security/ir.model.access.csv +++ b/addons/purchase/security/ir.model.access.csv @@ -30,7 +30,7 @@ access_account_invoice_tax_purchase,account_invoice.tax purchase,account.model_a access_account_fiscal_position_purchase_user,account.fiscal.position purchase,account.model_account_fiscal_position,group_purchase_user,1,0,0,0 access_account_sequence_fiscalyear_purchase_user,account.sequence.fiscalyear purchase,account.model_account_sequence_fiscalyear,group_purchase_user,1,1,1,1 access_res_partner_purchase_user,res.partner purchase,base.model_res_partner,group_purchase_user,1,0,0,0 -access_res_partner_address_purchase_user,res.partner.address purchase,base.model_res_partner_address,group_purchase_user,1,0,0,0 +access_res_partner_purchase_user,res.partner purchase,base.model_res_partner,group_purchase_user,1,0,0,0 access_account_journal_period,account.journal.period,account.model_account_journal_period,group_purchase_user,1,1,1,0 access_account_journal,account.journal,account.model_account_journal,group_purchase_user,1,0,0,0 access_account_journal_manager,account.journal,account.model_account_journal,group_purchase_manager,1,0,0,0 diff --git a/addons/purchase/test/process/edi_purchase_order.yml b/addons/purchase/test/process/edi_purchase_order.yml index ff49b41157b..549107df23a 100644 --- a/addons/purchase/test/process/edi_purchase_order.yml +++ b/addons/purchase/test/process/edi_purchase_order.yml @@ -3,7 +3,6 @@ - !record {model: purchase.order, id: purchase_order_edi_1}: partner_id: base.res_partner_agrolait - partner_address_id: base.res_partner_address_8invoice location_id: stock.stock_location_3 pricelist_id: 1 order_line: @@ -59,7 +58,7 @@ "partner_address": { "__id": "base:724f93ec-ddd0-11e0-88ec-701a04e25543.res_partner_address_7wdsjasdjh", "__module": "base", - "__model": "res.partner.address", + "__model": "res.partner", "phone": "(+32).81.81.37.00", "street": "Chaussee de Namur 40", "city": "Gerompont", @@ -70,7 +69,7 @@ "company_address": { "__id": "base:724f93ec-ddd0-11e0-88ec-701a04e25543.main_address", "__module": "base", - "__model": "res.partner.address", + "__model": "res.partner", "city": "Gerompont", "zip": "1367", "country_id": ["base:724f93ec-ddd0-11e0-88ec-701a04e25543.be", "Belgium"], diff --git a/addons/purchase/test/process/merge_order.yml b/addons/purchase/test/process/merge_order.yml index 2ea8b7e2a31..5ba4a1a21f2 100644 --- a/addons/purchase/test/process/merge_order.yml +++ b/addons/purchase/test/process/merge_order.yml @@ -26,7 +26,6 @@ assert total_new_qty == total_qty,"product quantities are not correspond" assert order.partner_id == order3.partner_id ,"partner is not correspond" - assert order.partner_address_id == order3.partner_address_id ,"Partner address is not correspond" assert order.warehouse_id == order3.warehouse_id or order7.warehouse_id,"Warehouse is not correspond" assert order.state == 'draft',"New created order state should be in draft" assert order.pricelist_id == order3.pricelist_id,"Price list is not correspond" diff --git a/addons/purchase/test/process/rfq2order2done.yml b/addons/purchase/test/process/rfq2order2done.yml index 80c9e85778f..a9635fdfe4f 100644 --- a/addons/purchase/test/process/rfq2order2done.yml +++ b/addons/purchase/test/process/rfq2order2done.yml @@ -40,7 +40,7 @@ assert len(purchase_order.picking_ids) >= 1, "You should have only one reception order" for picking in purchase_order.picking_ids: assert picking.state == "assigned", "Reception state should be in assigned state" - assert picking.address_id.id == purchase_order.partner_address_id.id, "Delivery address of reception id is different from order" + assert picking.address_id.id == purchase_order.partner_id.id, "Delivery address of reception id is different from order" assert picking.company_id.id == purchase_order.company_id.id, "Company is not correspond with purchase order" - Reception is ready for process so now done the reception. diff --git a/addons/purchase/wizard/purchase_line_invoice.py b/addons/purchase/wizard/purchase_line_invoice.py index 236cde7dde5..77cf408949b 100644 --- a/addons/purchase/wizard/purchase_line_invoice.py +++ b/addons/purchase/wizard/purchase_line_invoice.py @@ -86,8 +86,8 @@ class purchase_line_invoice(osv.osv_memory): 'reference' : partner.ref, 'account_id': a, 'partner_id': partner.id, - 'address_invoice_id': orders[0].partner_address_id.id, - 'address_contact_id': orders[0].partner_address_id.id, +# 'address_invoice_id': orders[0].partner_id.id, +# 'address_contact_id': orders[0].partner_id.id, 'invoice_line': [(6,0,lines_ids)], 'currency_id' : orders[0].pricelist_id.currency_id.id, 'comment': multiple_order_invoice_notes(orders), diff --git a/addons/stock/stock.py b/addons/stock/stock.py index 885f7cd2077..f9da08f4b39 100644 --- a/addons/stock/stock.py +++ b/addons/stock/stock.py @@ -190,7 +190,7 @@ class stock_location(osv.osv): 'chained_picking_type': fields.selection([('out', 'Sending Goods'), ('in', 'Getting Goods'), ('internal', 'Internal')], 'Shipping Type', help="Shipping Type of the Picking List that will contain the chained move (leave empty to automatically detect the type based on the source and destination locations)."), 'chained_company_id': fields.many2one('res.company', 'Chained Company', help='The company the Picking List containing the chained move will belong to (leave empty to use the default company determination rules'), 'chained_delay': fields.integer('Chaining Lead Time',help="Delay between original move and chained move in days"), - 'address_id': fields.many2one('res.partner.address', 'Location Address',help="Address of customer or supplier."), + 'address_id': fields.many2one('res.partner', 'Location Address',help="Address of customer or supplier."), 'icon': fields.selection(tools.icons, 'Icon', size=64,help="Icon show in hierarchical tree view"), 'comment': fields.text('Additional Information'), From 50997f9fe8649d9cd0052e501f67c4b0df18f1be Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Mon, 5 Mar 2012 18:55:43 +0530 Subject: [PATCH 097/313] [Fix]sale: remove res.address.partner.address bzr revid: kjo@tinyerp.com-20120305132543-92ba124cpg4zbrix --- addons/sale/edi/sale_order.py | 14 ++++++-------- addons/sale/edi/sale_order_action_data.xml | 4 ++-- addons/sale/report/sale_order.rml | 6 +++--- addons/sale/sale.py | 13 ++++--------- addons/sale/sale_demo.xml | 7 ------- addons/sale/sale_unit_test.xml | 5 ++--- addons/sale/sale_view.xml | 3 +-- addons/sale/stock.py | 2 -- addons/sale/test/edi_sale_order.yml | 14 ++------------ addons/sale/test/picking_order_policy.yml | 1 - addons/sale/wizard/sale_line_invoice.py | 2 -- addons/sale/wizard/sale_make_invoice_advance.py | 2 -- 12 files changed, 20 insertions(+), 53 deletions(-) diff --git a/addons/sale/edi/sale_order.py b/addons/sale/edi/sale_order.py index d40d0b613ed..d36c31cea5f 100644 --- a/addons/sale/edi/sale_order.py +++ b/addons/sale/edi/sale_order.py @@ -68,7 +68,7 @@ class sale_order(osv.osv, EDIMixin): """Exports a Sale order""" edi_struct = dict(edi_struct or SALE_ORDER_EDI_STRUCT) res_company = self.pool.get('res.company') - res_partner_address = self.pool.get('res.partner.address') + res_partner_address = self.pool.get('res.partner') edi_doc_list = [] for order in records: # generate the main report @@ -82,7 +82,7 @@ class sale_order(osv.osv, EDIMixin): '__import_module': 'purchase', 'company_address': res_company.edi_export_address(cr, uid, order.company_id, context=context), - 'partner_address': res_partner_address.edi_export(cr, uid, [order.partner_order_id], context=context)[0], + 'partner_id': res_partner_address.edi_export(cr, uid, [order.partner_id], context=context)[0], 'currency': self.pool.get('res.currency').edi_export(cr, uid, [order.pricelist_id.currency_id], context=context)[0], @@ -99,7 +99,6 @@ class sale_order(osv.osv, EDIMixin): # the desired company among the user's allowed companies self._edi_requires_attributes(('company_id','company_address'), edi_document) - res_partner_address = self.pool.get('res.partner.address') res_partner = self.pool.get('res.partner') # imported company = as a new partner @@ -111,16 +110,15 @@ class sale_order(osv.osv, EDIMixin): # imported company_address = new partner address address_info = edi_document.pop('company_address') - address_info['partner_id'] = (src_company_id, src_company_name) +# address_info['partner_id'] = (src_company_id, src_company_name) address_info['type'] = 'default' - address_id = res_partner_address.edi_import(cr, uid, address_info, context=context) + address_id = res_partner.edi_import(cr, uid, address_info, context=context) # modify edi_document to refer to new partner/address - partner_address = res_partner_address.browse(cr, uid, address_id, context=context) - edi_document['partner_id'] = (src_company_id, src_company_name) + partner_address = res_partner.browse(cr, uid, address_id, context=context) +# edi_document['partner_id'] = (src_company_id, src_company_name) edi_document.pop('partner_address', False) # ignored address_edi_m2o = self.edi_m2o(cr, uid, partner_address, context=context) - edi_document['partner_order_id'] = address_edi_m2o edi_document['partner_invoice_id'] = address_edi_m2o edi_document['partner_shipping_id'] = address_edi_m2o diff --git a/addons/sale/edi/sale_order_action_data.xml b/addons/sale/edi/sale_order_action_data.xml index 3d7a554ff4a..eecc06a84a1 100644 --- a/addons/sale/edi/sale_order_action_data.xml +++ b/addons/sale/edi/sale_order_action_data.xml @@ -46,7 +46,7 @@ <field name="body_html"><![CDATA[ <div style="font-family: 'Lucica Grande', Ubuntu, Arial, Verdana, sans-serif; font-size: 12px; color: rgb(34, 34, 34); background-color: rgb(255, 255, 255); "> - <p>Hello${object.partner_order_id.name and ' ' or ''}${object.partner_order_id.name or ''},</p> + <p>Hello${object.partner_id.name and ' ' or ''}${object.partner_id.name or ''},</p> <p>Here is your order confirmation for ${object.partner_id.name}: </p> @@ -128,7 +128,7 @@ </div> ]]></field> <field name="body_text"><![CDATA[ -Hello${object.partner_order_id.name and ' ' or ''}${object.partner_order_id.name or ''}, +Hello${object.partner_id.name and ' ' or ''}${object.partner_id.name or ''}, Here is your order confirmation for ${object.partner_id.name}: | Order number: *${object.name}* diff --git a/addons/sale/report/sale_order.rml b/addons/sale/report/sale_order.rml index 26093c0961f..b5b02848841 100644 --- a/addons/sale/report/sale_order.rml +++ b/addons/sale/report/sale_order.rml @@ -173,12 +173,12 @@ </td> <td> <para style="terp_default_9">[[ (o.partner_id and o.partner_id.title and o.partner_id.title.name) or '' ]] [[ (o.partner_id and o.partner_id.name) or '' ]]</para> - <para style="terp_default_9">[[ o.partner_order_id and display_address(o.partner_order_id) ]] </para> + <para style="terp_default_9">[[ o.partner_id and display_address(o.partner_id) ]] </para> <para style="terp_default_9"> <font color="white"> </font> </para> - <para style="terp_default_9">Tel. : [[ (o.partner_order_id and o.partner_order_id.phone) or removeParentNode('para') ]]</para> - <para style="terp_default_9">Fax : [[ (o.partner_order_id and o.partner_order_id.fax) or removeParentNode('para') ]]</para> + <para style="terp_default_9">Tel. : [[ (o.partner_id and o.partner_id.phone) or removeParentNode('para') ]]</para> + <para style="terp_default_9">Fax : [[ (o.partner_id and o.partner_id.fax) or removeParentNode('para') ]]</para> <para style="terp_default_9">TVA : [[ (o.partner_id and o.partner_id.vat) or removeParentNode('para') ]]</para> <para style="terp_default_9"> <font color="white"> </font> diff --git a/addons/sale/sale.py b/addons/sale/sale.py index 82bfda7b580..96995ca2428 100644 --- a/addons/sale/sale.py +++ b/addons/sale/sale.py @@ -215,9 +215,8 @@ class sale_order(osv.osv): 'date_confirm': fields.date('Confirmation Date', readonly=True, select=True, help="Date on which sales order is confirmed."), 'user_id': fields.many2one('res.users', 'Salesman', states={'draft': [('readonly', False)]}, select=True), 'partner_id': fields.many2one('res.partner', 'Customer', readonly=True, states={'draft': [('readonly', False)]}, required=True, change_default=True, select=True), - 'partner_invoice_id': fields.many2one('res.partner.address', 'Invoice Address', readonly=True, required=True, states={'draft': [('readonly', False)]}, help="Invoice address for current sales order."), - 'partner_order_id': fields.many2one('res.partner.address', 'Ordering Contact', readonly=True, required=True, states={'draft': [('readonly', False)]}, help="The name and address of the contact who requested the order or quotation."), - 'partner_shipping_id': fields.many2one('res.partner.address', 'Shipping Address', readonly=True, required=True, states={'draft': [('readonly', False)]}, help="Shipping address for current sales order."), + 'partner_invoice_id': fields.many2one('res.partner', 'Invoice Address', readonly=True, required=True, states={'draft': [('readonly', False)]}, help="Invoice address for current sales order."), + 'partner_shipping_id': fields.many2one('res.partner', 'Shipping Address', readonly=True, required=True, states={'draft': [('readonly', False)]}, help="Shipping address for current sales order."), 'incoterm': fields.many2one('stock.incoterms', 'Incoterm', help="Incoterm which stands for 'International Commercial terms' implies its a series of sales terms which are used in the commercial transaction."), 'picking_policy': fields.selection([('direct', 'Deliver each product when available'), ('one', 'Deliver all products at once')], @@ -279,7 +278,6 @@ class sale_order(osv.osv): 'name': lambda obj, cr, uid, context: obj.pool.get('ir.sequence').get(cr, uid, 'sale.order'), 'invoice_quantity': 'order', 'partner_invoice_id': lambda self, cr, uid, context: context.get('partner_id', False) and self.pool.get('res.partner').address_get(cr, uid, [context['partner_id']], ['invoice'])['invoice'], - 'partner_order_id': lambda self, cr, uid, context: context.get('partner_id', False) and self.pool.get('res.partner').address_get(cr, uid, [context['partner_id']], ['contact'])['contact'], 'partner_shipping_id': lambda self, cr, uid, context: context.get('partner_id', False) and self.pool.get('res.partner').address_get(cr, uid, [context['partner_id']], ['delivery'])['delivery'], } _sql_constraints = [ @@ -347,7 +345,7 @@ class sale_order(osv.osv): def onchange_partner_id(self, cr, uid, ids, part): if not part: - return {'value': {'partner_invoice_id': False, 'partner_shipping_id': False, 'partner_order_id': False, 'payment_term': False, 'fiscal_position': False}} + return {'value': {'partner_invoice_id': False, 'partner_shipping_id': False, 'payment_term': False, 'fiscal_position': False}} addr = self.pool.get('res.partner').address_get(cr, uid, [part], ['delivery', 'invoice', 'contact']) part = self.pool.get('res.partner').browse(cr, uid, part) @@ -357,7 +355,6 @@ class sale_order(osv.osv): dedicated_salesman = part.user_id and part.user_id.id or uid val = { 'partner_invoice_id': addr['invoice'], - 'partner_order_id': addr['contact'], 'partner_shipping_id': addr['delivery'], 'payment_term': payment_term, 'fiscal_position': fiscal_position, @@ -429,8 +426,6 @@ class sale_order(osv.osv): 'account_id': order.partner_id.property_account_receivable.id, 'partner_id': order.partner_id.id, 'journal_id': journal_ids[0], - 'address_invoice_id': order.partner_invoice_id.id, - 'address_contact_id': order.partner_order_id.id, 'invoice_line': [(6, 0, lines)], 'currency_id': order.pricelist_id.currency_id.id, 'comment': order.note, @@ -964,7 +959,7 @@ class sale_order_line(osv.osv): 'type': fields.selection([('make_to_stock', 'from stock'), ('make_to_order', 'on order')], 'Procurement Method', required=True, readonly=True, states={'draft': [('readonly', False)]}, help="If 'on order', it triggers a procurement when the sale order is confirmed to create a task, purchase order or manufacturing order linked to this sale order line."), 'property_ids': fields.many2many('mrp.property', 'sale_order_line_property_rel', 'order_id', 'property_id', 'Properties', readonly=True, states={'draft': [('readonly', False)]}), - 'address_allotment_id': fields.many2one('res.partner.address', 'Allotment Partner'), + 'address_allotment_id': fields.many2one('res.partner', 'Allotment Partner'), 'product_uom_qty': fields.float('Quantity (UoM)', digits_compute= dp.get_precision('Product UoS'), required=True, readonly=True, states={'draft': [('readonly', False)]}), 'product_uom': fields.many2one('product.uom', 'Unit of Measure ', required=True, readonly=True, states={'draft': [('readonly', False)]}), 'product_uos_qty': fields.float('Quantity (UoS)' ,digits_compute= dp.get_precision('Product UoS'), readonly=True, states={'draft': [('readonly', False)]}), diff --git a/addons/sale/sale_demo.xml b/addons/sale/sale_demo.xml index 5da496a1c4b..c04862d86c1 100644 --- a/addons/sale/sale_demo.xml +++ b/addons/sale/sale_demo.xml @@ -11,7 +11,6 @@ <field ref="base.res_partner_agrolait" name="partner_id"/> <field ref="base.res_partner_address_8" name="partner_invoice_id"/> <field ref="base.res_partner_address_8" name="partner_shipping_id"/> - <field ref="base.res_partner_address_8" name="partner_order_id"/> <field name="order_policy">picking</field> <field name="invoice_quantity">procurement</field> <field name="note">Invoice after delivery</field> @@ -68,7 +67,6 @@ <field name="partner_id" ref="base.res_partner_2"/> <field name="partner_invoice_id" ref="base.res_partner_address_9"/> <field name="partner_shipping_id" ref="base.res_partner_address_9"/> - <field name="partner_order_id" ref="base.res_partner_address_9"/> <field name="invoice_quantity">order</field> <field name="order_policy">postpaid</field> @@ -104,7 +102,6 @@ <field name="partner_id" ref="base.res_partner_agrolait"/> <field name="partner_invoice_id" ref="base.res_partner_address_8"/> <field name="partner_shipping_id" ref="base.res_partner_address_8"/> - <field name="partner_order_id" ref="base.res_partner_address_8"/> <field name="order_policy">prepaid</field> </record> <record id="line5" model="sale.order.line"> @@ -137,7 +134,6 @@ <field name="partner_id" ref="base.res_partner_5"/> <field name="partner_invoice_id" ref="base.res_partner_address_10"/> <field name="partner_shipping_id" ref="base.res_partner_address_10"/> - <field name="partner_order_id" ref="base.res_partner_address_10"/> </record> <record id="line7" model="sale.order.line"> <field name="order_id" ref="order4"/> @@ -170,7 +166,6 @@ <field name="partner_id" ref="base.res_partner_3"/> <field name="partner_invoice_id" ref="base.res_partner_address_zen"/> <field name="partner_shipping_id" ref="base.res_partner_address_zen"/> - <field name="partner_order_id" ref="base.res_partner_address_zen"/> </record> <record id="line9" model="sale.order.line"> <field name="order_id" ref="order5"/> @@ -203,7 +198,6 @@ <field name="partner_id" ref="base.res_partner_maxtor"/> <field name="partner_invoice_id" ref="base.res_partner_address_wong"/> <field name="partner_shipping_id" ref="base.res_partner_address_wong"/> - <field name="partner_order_id" ref="base.res_partner_address_wong"/> </record> <record id="order6_line0" model="sale.order.line"> <field name="order_id" ref="order6"/> @@ -237,7 +231,6 @@ <field name="partner_id" ref="base.res_partner_desertic_hispafuentes"/> <field name="partner_invoice_id" ref="base.res_partner_address_3000"/> <field name="partner_shipping_id" ref="base.res_partner_address_3000"/> - <field name="partner_order_id" ref="base.res_partner_address_3000"/> </record> <record id="order7_line0" model="sale.order.line"> <field name="order_id" ref="order7"/> diff --git a/addons/sale/sale_unit_test.xml b/addons/sale/sale_unit_test.xml index 421cb36c440..787373dae99 100644 --- a/addons/sale/sale_unit_test.xml +++ b/addons/sale/sale_unit_test.xml @@ -7,9 +7,8 @@ <field model="product.pricelist" name="pricelist_id" search="[]"/> <field name="user_id" ref="base.user_root"/> <field model="res.partner" name="partner_id" search="[]"/> - <field model="res.partner.address" name="partner_invoice_id" search="[]"/> - <field model="res.partner.address" name="partner_shipping_id" search="[]"/> - <field model="res.partner.address" name="partner_order_id" search="[]"/> + <field model="res.partner" name="partner_invoice_id" search="[]"/> + <field model="res.partner" name="partner_shipping_id" search="[]"/> </record> <!-- Resource: sale.order.line --> <record id="test_order_1_line_1" model="sale.order.line"> diff --git a/addons/sale/sale_view.xml b/addons/sale/sale_view.xml index 90d3838f5a0..5aab17f1a56 100644 --- a/addons/sale/sale_view.xml +++ b/addons/sale/sale_view.xml @@ -116,11 +116,10 @@ <notebook colspan="5"> <page string="Sales Order"> <field name="partner_id" options='{"quick_create": false}' on_change="onchange_partner_id(partner_id)" domain="[('customer','=',True)]" context="{'search_default_customer':1}" required="1"/> - <field domain="[('partner_id','=',partner_id)]" name="partner_order_id" on_change="onchange_partner_order_id(partner_order_id, partner_invoice_id, partner_shipping_id)" options='{"quick_create": false}'/> <field domain="[('partner_id','=',partner_id)]" name="partner_invoice_id" groups="base.group_extended" options='{"quick_create": false}'/> <field domain="[('partner_id','=',partner_id)]" name="partner_shipping_id" groups="base.group_extended" options='{"quick_create": false}'/> <field domain="[('type','=','sale')]" name="pricelist_id" groups="base.group_extended" on_change="onchange_pricelist_id(pricelist_id,order_line)"/> - <field name="project_id" context="{'partner_id':partner_id, 'contact_id':partner_order_id, 'pricelist_id':pricelist_id, 'default_name':name}" groups="analytic.group_analytic_accounting" domain="[('parent_id','!=',False)]"/> + <field name="project_id" context="{'partner_id':partner_id, 'pricelist_id':pricelist_id, 'default_name':name}" groups="analytic.group_analytic_accounting" domain="[('parent_id','!=',False)]"/> <newline/> <field colspan="4" name="order_line" nolabel="1" widget="one2many_list"> <form string="Sales Order Lines"> diff --git a/addons/sale/stock.py b/addons/sale/stock.py index f13e512c008..44b993ec0e1 100644 --- a/addons/sale/stock.py +++ b/addons/sale/stock.py @@ -67,8 +67,6 @@ class stock_picking(osv.osv): """ invoice_vals = super(stock_picking, self)._prepare_invoice(cr, uid, picking, partner, inv_type, journal_id, context=context) if picking.sale_id: - invoice_vals['address_contact_id'] = picking.sale_id.partner_order_id.id - invoice_vals['address_invoice_id'] = picking.sale_id.partner_invoice_id.id invoice_vals['fiscal_position'] = picking.sale_id.fiscal_position.id invoice_vals['payment_term'] = picking.sale_id.payment_term.id invoice_vals['user_id'] = picking.sale_id.user_id.id diff --git a/addons/sale/test/edi_sale_order.yml b/addons/sale/test/edi_sale_order.yml index 9a207d9f44e..2fdfe548eff 100644 --- a/addons/sale/test/edi_sale_order.yml +++ b/addons/sale/test/edi_sale_order.yml @@ -4,7 +4,6 @@ !record {model: sale.order, id: sale_order_edi_1}: partner_id: base.res_partner_agrolait partner_invoice_id: base.res_partner_address_8invoice - partner_order_id: base.res_partner_address_8invoice partner_shipping_id: base.res_partner_address_8invoice pricelist_id: 1 order_line: @@ -56,7 +55,7 @@ "company_address": { "__id": "base:5af1272e-dd26-11e0-b65e-701a04e25543.some_address", "__module": "base", - "__model": "res.partner.address", + "__model": "res.partner", "phone": "(+32).81.81.37.00", "street": "Chaussee de Namur 40", "city": "Gerompont", @@ -67,16 +66,7 @@ ], }, "partner_id": ["purchase:5af1272e-dd26-11e0-b65e-701a04e25543.res_partner_test20", "jones white"], - "partner_address": { - "__id": "base:5af1272e-dd26-11e0-b65e-701a04e25543.res_partner_address_7wdsjasdjh", - "__module": "base", - "__model": "res.partner.address", - "phone": "(+32).81.81.37.00", - "street": "Chaussee de Namur 40", - "city": "Gerompont", - "zip": "1367", - "country_id": ["base:5af1272e-dd26-11e0-b65e-701a04e25543.be", "Belgium"], - }, + "order_line": [{ "__id": "purchase:5af1272e-dd26-11e0-b65e-701a04e25543.purchase_order_line-AlhsVDZGoKvJ", "__module": "purchase", diff --git a/addons/sale/test/picking_order_policy.yml b/addons/sale/test/picking_order_policy.yml index a4f88c8c7ae..0d2a2e19a34 100644 --- a/addons/sale/test/picking_order_policy.yml +++ b/addons/sale/test/picking_order_policy.yml @@ -116,7 +116,6 @@ assert invoice.account_id.id == ac,"Invoice account is not correspond." assert invoice.reference == order.client_order_ref or order.name,"Reference is not correspond." assert invoice.partner_id.id == order.partner_id.id,"Customer is not correspond." - assert invoice.address_invoice_id.id == order.partner_invoice_id.id,"Invoice Address is not correspond." assert invoice.currency_id.id == order.pricelist_id.currency_id.id, "Currency is not correspond." assert invoice.comment == order.note or '',"Note is not correspond." assert invoice.journal_id.id in journal_ids,"Sales Journal is not link on Invoice." diff --git a/addons/sale/wizard/sale_line_invoice.py b/addons/sale/wizard/sale_line_invoice.py index 45347a5e131..cfd19252d96 100644 --- a/addons/sale/wizard/sale_line_invoice.py +++ b/addons/sale/wizard/sale_line_invoice.py @@ -66,8 +66,6 @@ class sale_order_line_make_invoice(osv.osv_memory): 'reference': "P%dSO%d" % (order.partner_id.id, order.id), 'account_id': a, 'partner_id': order.partner_id.id, - 'address_invoice_id': order.partner_invoice_id.id, - 'address_contact_id': order.partner_invoice_id.id, 'invoice_line': [(6, 0, lines)], 'currency_id' : order.pricelist_id.currency_id.id, 'comment': order.note, diff --git a/addons/sale/wizard/sale_make_invoice_advance.py b/addons/sale/wizard/sale_make_invoice_advance.py index cb9bb2fc5bd..b51fd9bcb93 100644 --- a/addons/sale/wizard/sale_make_invoice_advance.py +++ b/addons/sale/wizard/sale_make_invoice_advance.py @@ -92,8 +92,6 @@ class sale_advance_payment_inv(osv.osv_memory): 'reference': False, 'account_id': sale.partner_id.property_account_receivable.id, 'partner_id': sale.partner_id.id, - 'address_invoice_id': sale.partner_invoice_id.id, - 'address_contact_id': sale.partner_order_id.id, 'invoice_line': [(6, 0, create_ids)], 'currency_id': sale.pricelist_id.currency_id.id, 'comment': '', From c1c73c3fdaae18b579c54a5829ca4e7e558cedbd Mon Sep 17 00:00:00 2001 From: Jigar Amin - OpenERP <jam@tinyerp.com> Date: Mon, 5 Mar 2012 19:00:48 +0530 Subject: [PATCH 098/313] [FIX] edir partner_id id reference to self .id bzr revid: jam@tinyerp.com-20120305133048-gm2tc527t1gzagu3 --- addons/edi/models/res_partner.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/edi/models/res_partner.py b/addons/edi/models/res_partner.py index d5c08b82fe7..955587be76f 100644 --- a/addons/edi/models/res_partner.py +++ b/addons/edi/models/res_partner.py @@ -92,7 +92,7 @@ class res_partner(osv.osv, EDIMixin): if edi_bank_ids: contacts = self.browse(cr, uid, contact_id, context=context) import_ctx = dict((context or {}), - default_partner_id=contacts.partner_id.id, + default_partner_id=contacts.id, default_state=self._get_bank_type(cr, uid, context)) for ext_bank_id, bank_name in edi_bank_ids: try: From d781f175ae2548d341cb1788dcfb7109499ea303 Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Tue, 6 Mar 2012 11:22:01 +0530 Subject: [PATCH 099/313] [IMP]account_analytic_default: remove address field from method bzr revid: kjo@tinyerp.com-20120306055201-cc5065cjq6xx8r2i --- addons/account_analytic_default/account_analytic_default.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/account_analytic_default/account_analytic_default.py b/addons/account_analytic_default/account_analytic_default.py index 2c4fdd4e421..c621028b2e7 100644 --- a/addons/account_analytic_default/account_analytic_default.py +++ b/addons/account_analytic_default/account_analytic_default.py @@ -73,8 +73,8 @@ class account_invoice_line(osv.osv): _inherit = "account.invoice.line" _description = "Invoice Line" - def product_id_change(self, cr, uid, ids, product, uom, qty=0, name='', type='out_invoice', partner_id=False, fposition_id=False, price_unit=False, address_invoice_id=False, currency_id=False, context=None, company_id=None): - res_prod = super(account_invoice_line, self).product_id_change(cr, uid, ids, product, uom, qty, name, type, partner_id, fposition_id, price_unit, address_invoice_id, currency_id=currency_id, context=context, company_id=company_id) + def product_id_change(self, cr, uid, ids, product, uom, qty=0, name='', type='out_invoice', partner_id=False, fposition_id=False, price_unit=False, currency_id=False, context=None, company_id=None): + res_prod = super(account_invoice_line, self).product_id_change(cr, uid, ids, product, uom, qty, name, type, partner_id, fposition_id, price_unit, currency_id=currency_id, context=context, company_id=company_id) rec = self.pool.get('account.analytic.default').account_get(cr, uid, product, partner_id, uid, time.strftime('%Y-%m-%d'), context=context) if rec: res_prod['value'].update({'account_analytic_id': rec.analytic_id.id}) From f5e57cca0a4a7ac3404956f19a1112a4c1fe0d84 Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Tue, 6 Mar 2012 11:26:03 +0530 Subject: [PATCH 100/313] [IMP]account_analytic_plans: remove address field from method bzr revid: kjo@tinyerp.com-20120306055603-tiatrcjisq0f7h45 --- addons/account_analytic_plans/account_analytic_plans.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/account_analytic_plans/account_analytic_plans.py b/addons/account_analytic_plans/account_analytic_plans.py index a051e994f2e..3180d0458d4 100644 --- a/addons/account_analytic_plans/account_analytic_plans.py +++ b/addons/account_analytic_plans/account_analytic_plans.py @@ -307,8 +307,8 @@ class account_invoice_line(osv.osv): res ['analytics_id'] = line.analytics_id and line.analytics_id.id or False return res - def product_id_change(self, cr, uid, ids, product, uom, qty=0, name='', type='out_invoice', partner_id=False, fposition_id=False, price_unit=False, address_invoice_id=False, currency_id=False, context=None, company_id=None): - res_prod = super(account_invoice_line, self).product_id_change(cr, uid, ids, product, uom, qty, name, type, partner_id, fposition_id, price_unit, address_invoice_id, currency_id, context=context, company_id=company_id) + def product_id_change(self, cr, uid, ids, product, uom, qty=0, name='', type='out_invoice', partner_id=False, fposition_id=False, price_unit=False, currency_id=False, context=None, company_id=None): + res_prod = super(account_invoice_line, self).product_id_change(cr, uid, ids, product, uom, qty, name, type, partner_id, fposition_id, price_unit, currency_id, context=context, company_id=company_id) rec = self.pool.get('account.analytic.default').account_get(cr, uid, product, partner_id, uid, time.strftime('%Y-%m-%d'), context=context) if rec and rec.analytics_id: res_prod['value'].update({'analytics_id': rec.analytics_id.id}) From b961004f1d7a7c98e6872b1203c6e548fef88aba Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Tue, 6 Mar 2012 11:28:47 +0530 Subject: [PATCH 101/313] [IMP]account_anglo_saxon: remove address field from method bzr revid: kjo@tinyerp.com-20120306055847-rvz9pdongih0wu9c --- addons/account_anglo_saxon/invoice.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/account_anglo_saxon/invoice.py b/addons/account_anglo_saxon/invoice.py index ca86bd2bceb..693283b870b 100644 --- a/addons/account_anglo_saxon/invoice.py +++ b/addons/account_anglo_saxon/invoice.py @@ -136,9 +136,9 @@ class account_invoice_line(osv.osv): res += diff_res return res - def product_id_change(self, cr, uid, ids, product, uom, qty=0, name='', type='out_invoice', partner_id=False, fposition_id=False, price_unit=False, address_invoice_id=False, currency_id=False, context=None, company_id=None): + def product_id_change(self, cr, uid, ids, product, uom, qty=0, name='', type='out_invoice', partner_id=False, fposition_id=False, price_unit=False, currency_id=False, context=None, company_id=None): fiscal_pool = self.pool.get('account.fiscal.position') - res = super(account_invoice_line, self).product_id_change(cr, uid, ids, product, uom, qty, name, type, partner_id, fposition_id, price_unit, address_invoice_id, currency_id, context, company_id) + res = super(account_invoice_line, self).product_id_change(cr, uid, ids, product, uom, qty, name, type, partner_id, fposition_id, price_unit, currency_id, context, company_id) if not product: return res if type in ('in_invoice','in_refund'): From 686cea244198a404b8ae341f06e2a17b56d87127 Mon Sep 17 00:00:00 2001 From: "Bhumika (OpenERP)" <sbh@tinyerp.com> Date: Tue, 6 Mar 2012 11:39:34 +0530 Subject: [PATCH 102/313] [ADD]base/res: improve display address method for printing contact type address bzr revid: sbh@tinyerp.com-20120306060934-kor7w3upsvpw39gi --- openerp/addons/base/res/res_partner.py | 13 ++++++++++--- openerp/report/report_sxw.py | 4 ++-- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index c74fb890515..99945b00ce2 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -405,7 +405,7 @@ class res_partner(osv.osv): ('name','=','main_partner')])[0], ).res_id - def _display_address(self, cr, uid, address, context=None): + def _display_address(self, cr, uid, address,type ,context=None): ''' The purpose of this function is to build and return an address formatted accordingly to the standards of the country where it belongs. @@ -415,10 +415,17 @@ class res_partner(osv.osv): if not country is specified) :rtype: string ''' + + if type: + if address.is_company=='partner' and address.child_ids: + for child_id in address.child_ids: + if child_id.type==type: + address=child_id + + # get the information that will be injected into the display format # get the address format address_format = address.country_id and address.country_id.address_format or \ - '%(street)s\n%(street2)s\n%(city)s,%(state_code)s %(zip)s' - # get the information that will be injected into the display format + '%(street)s\n%(street2)s\n%(city)s,%(state_code)s %(zip)s' args = { 'state_code': address.state_id and address.state_id.code or '', 'state_name': address.state_id and address.state_id.name or '', diff --git a/openerp/report/report_sxw.py b/openerp/report/report_sxw.py index 9764a64a3f6..f1eb981b32c 100644 --- a/openerp/report/report_sxw.py +++ b/openerp/report/report_sxw.py @@ -320,8 +320,8 @@ class rml_parse(object): res='%s %s'%(currency_obj.symbol, res) return res - def display_address(self, address_browse_record): - return self.pool.get('res.partner')._display_address(self.cr, self.uid, address_browse_record) + def display_address(self, address_browse_record,type=''): + return self.pool.get('res.partner')._display_address(self.cr, self.uid, address_browse_record,type) def repeatIn(self, lst, name,nodes_parent=False): ret_lst = [] From d80059474dc088bbe8b909cf1f8bfb51aca178bc Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Tue, 6 Mar 2012 11:53:15 +0530 Subject: [PATCH 103/313] [IMP]account_followup: remove res.partner.address bzr revid: kjo@tinyerp.com-20120306062315-7opw05rwdg69jni7 --- addons/account_followup/report/account_followup_print.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/account_followup/report/account_followup_print.py b/addons/account_followup/report/account_followup_print.py index 56004cebde3..b48d80a9084 100644 --- a/addons/account_followup/report/account_followup_print.py +++ b/addons/account_followup/report/account_followup_print.py @@ -45,7 +45,7 @@ class report_rappel(report_sxw.rml_parse): def _adr_get(self, stat_line, type): res_partner = pooler.get_pool(self.cr.dbname).get('res.partner') - res_partner_address = pooler.get_pool(self.cr.dbname).get('res.partner.address') + res_partner_address = pooler.get_pool(self.cr.dbname).get('res.partner') adr = res_partner.address_get(self.cr, self.uid, [stat_line.partner_id.id], [type])[type] return adr and res_partner_address.read(self.cr, self.uid, [adr]) or [{}] From b758fdc523cfa034e08b30e8792764b35d35dd71 Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Tue, 6 Mar 2012 11:57:24 +0530 Subject: [PATCH 104/313] [IMP]account: set invoice address for report print bzr revid: kjo@tinyerp.com-20120306062724-u3rruqcr1k8j1h1k --- addons/account/report/account_print_invoice.rml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/account/report/account_print_invoice.rml b/addons/account/report/account_print_invoice.rml index 8aa6d785d08..fc6fc3f1898 100644 --- a/addons/account/report/account_print_invoice.rml +++ b/addons/account/report/account_print_invoice.rml @@ -162,7 +162,7 @@ </td> <td> <para style="terp_default_8">[[ (o.partner_id and o.partner_id.title and o.partner_id.title.name) or '' ]] [[ (o.partner_id and o.partner_id.name) or '' ]]</para> - <para style="terp_default_8">[[ display_address(o.partner_id) ]]</para> + <para style="terp_default_8">[[ display_address(o.partner_id,'invoice') ]]</para> <para style="terp_default_8"> <font color="white"> </font> </para> From 8367adba081405d477ff77cd6afd612021afb7e9 Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Tue, 6 Mar 2012 12:13:27 +0530 Subject: [PATCH 105/313] [IMP]account_invoice_layout: set invoice address for report bzr revid: kjo@tinyerp.com-20120306064327-x02hchrwwu5ou0s7 --- .../report/report_account_invoice_layout.rml | 8 ++++---- .../report/special_message_invoice.rml | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/addons/account_invoice_layout/report/report_account_invoice_layout.rml b/addons/account_invoice_layout/report/report_account_invoice_layout.rml index 2cff52d4146..6a9de4f7f41 100644 --- a/addons/account_invoice_layout/report/report_account_invoice_layout.rml +++ b/addons/account_invoice_layout/report/report_account_invoice_layout.rml @@ -193,12 +193,12 @@ </td> <td> <para style="terp_default_8">[[ (o.partner_id and o.partner_id.title and o.partner_id.title.name) or '' ]] [[ (o.partner_id and o.partner_id.name) or '' ]]</para> - <para style="terp_default_8">[[ display_address(o.address_invoice_id) ]]</para> + <para style="terp_default_8">[[ display_address(o.partner_id, 'invoice') ]]</para> <para style="terp_default_8"> <font color="white"> </font> </para> - <para style="terp_default_8">Tel. : [[ (o.address_invoice_id and o.address_invoice_id.phone) or removeParentNode('para') ]]</para> - <para style="terp_default_8">Fax : [[ (o.address_invoice_id and o.address_invoice_id.fax) or removeParentNode('para') ]]</para> + <para style="terp_default_8">Tel. : [[ (o.partner_id and o.partner_id.phone) or removeParentNode('para') ]]</para> + <para style="terp_default_8">Fax : [[ (o.partner_id and o.partner_id.fax) or removeParentNode('para') ]]</para> <para style="terp_default_8">VAT : [[ (o.partner_id and o.partner_id.vat) or removeParentNode('para') ]]</para> </td> </tr> @@ -247,7 +247,7 @@ <para style="terp_default_Centre_9">[[ o.name or '' ]]</para> </td> <td> - <para style="terp_default_Centre_9">[[ (o.address_invoice_id and o.address_invoice_id.partner_id and o.address_invoice_id.partner_id.ref) or ' ' ]]</para> + <para style="terp_default_Centre_9">[[ (o.partner_id and o.partner_id.ref) or ' ' ]]</para> </td> </tr> </blockTable> diff --git a/addons/account_invoice_layout/report/special_message_invoice.rml b/addons/account_invoice_layout/report/special_message_invoice.rml index f474a44d161..bd3eb175dd0 100644 --- a/addons/account_invoice_layout/report/special_message_invoice.rml +++ b/addons/account_invoice_layout/report/special_message_invoice.rml @@ -197,12 +197,12 @@ </td> <td> <para style="terp_default_8">[[ (o.partner_id and o.partner_id.title and o.partner_id.title.name) or '' ]] [[ (o.partner_id and o.partner_id.name) or '' ]]</para> - <para style="terp_default_8">[[ display_address(o.address_invoice_id) ]]</para> + <para style="terp_default_8">[[ display_address(o.partner_id, 'invoice') ]]</para> <para style="terp_default_8"> <font color="white"> </font> </para> - <para style="terp_default_8">Tel. : [[ (o.address_invoice_id and o.address_invoice_id.phone) or removeParentNode('para') ]]</para> - <para style="terp_default_8">Fax : [[ (o.address_invoice_id and o.address_invoice_id.fax) or removeParentNode('para') ]]</para> + <para style="terp_default_8">Tel. : [[ (o.partner_id and o.partner_id.phone) or removeParentNode('para') ]]</para> + <para style="terp_default_8">Fax : [[ (o.partner_id and o.partner_id.fax) or removeParentNode('para') ]]</para> <para style="terp_default_8">VAT : [[ (o.partner_id and o.partner_id.vat) or removeParentNode('para') ]]</para> </td> </tr> @@ -251,7 +251,7 @@ <para style="terp_default_Centre_9">[[ o.name or '' ]]</para> </td> <td> - <para style="terp_default_Centre_9">[[ (o.address_invoice_id and o.address_invoice_id.partner_id and o.address_invoice_id.partner_id.ref) or ' ' ]]</para> + <para style="terp_default_Centre_9">[[ ( o.partner_id and o.partner_id.ref) or ' ' ]]</para> </td> </tr> </blockTable> From 0e031ccc8b4a88a184cb0cbeac93f583939dd1cb Mon Sep 17 00:00:00 2001 From: Jigar Amin - OpenERP <jam@tinyerp.com> Date: Tue, 6 Mar 2012 12:19:43 +0530 Subject: [PATCH 106/313] [REF/CLN] base-res partner quick refetor bzr revid: jam@tinyerp.com-20120306064943-hsazhry5un89j8it --- openerp/addons/base/res/res_partner.py | 188 ++++++++++++------------- 1 file changed, 91 insertions(+), 97 deletions(-) diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index 99945b00ce2..db13cb9681c 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -19,14 +19,15 @@ # ############################################################################## +import os import math - -from osv import fields,osv +from osv import osv +from osv import fields import tools -import pooler from tools.translate import _ import logging -import os +import pooler + class res_payterm(osv.osv): _description = 'Payment term' @@ -35,7 +36,7 @@ class res_payterm(osv.osv): _columns = { 'name': fields.char('Payment Term (short name)', size=64), } -res_payterm() + class res_partner_category(osv.osv): @@ -47,7 +48,7 @@ class res_partner_category(osv.osv): used to select the short version of the category name (without the direct parent), when set to ``'short'``. The default is - the long version.""" + the long version.""" if context is None: context = {} if context.get('partner_category_display') == 'short': @@ -100,7 +101,7 @@ class res_partner_category(osv.osv): _parent_store = True _parent_order = 'name' _order = 'parent_left' -res_partner_category() + class res_partner_title(osv.osv): _name = 'res.partner.title' @@ -110,12 +111,12 @@ class res_partner_title(osv.osv): 'domain': fields.selection([('partner','Partner'),('contact','Contact')], 'Domain', required=True, size=24) } _order = 'name' -res_partner_title() + def _lang_get(self, cr, uid, context=None): - obj = self.pool.get('res.lang') - ids = obj.search(cr, uid, [], context=context) - res = obj.read(cr, uid, ids, ['code', 'name'], context) + lang_pool = self.pool.get('res.lang') + ids = lang_pool.search(cr, uid, [], context=context) + res = lang_pool.read(cr, uid, ids, ['code', 'name'], context) return [(r['code'], r['name']) for r in res] + [('','')] @@ -136,7 +137,7 @@ class res_partner(osv.osv): 'bank_ids': fields.one2many('res.partner.bank', 'partner_id', 'Banks'), 'website': fields.char('Website',size=64, help="Website of Partner."), 'comment': fields.text('Notes'), - 'address': fields.one2many('res.partner.address', 'partner_id', 'Contacts'), # it should remove in vesion 7 but for now it use for backward compatibility + 'address': fields.one2many('res.partner.address', 'partner_id', 'Contacts'), # it should be remove in vesion 7 but for now it use for backward compatibility 'category_id': fields.many2many('res.partner.category', 'res_partner_category_rel', 'partner_id', 'category_id', 'Categories'), 'events': fields.one2many('res.partner.event', 'partner_id', 'Events'), 'credit_limit': fields.float(string='Credit Limit'), @@ -146,7 +147,9 @@ class res_partner(osv.osv): 'supplier': fields.boolean('Supplier', help="Check this box if the partner is a supplier. If it's not checked, purchase people will not see it when encoding a purchase order."), 'employee': fields.boolean('Employee', help="Check this box if the partner is an Employee."), 'function': fields.char('Function', size=128), - 'type': fields.selection( [ ('default','Default'),('invoice','Invoice'), ('delivery','Delivery'), ('contact','Contact'), ('other','Other') ],'Address Type', help="Used to select automatically the right address according to the context in sales and purchases documents."), + 'type': fields.selection( [('default','Default'),('invoice','Invoice'), + ('delivery','Delivery'), ('contact','Contact'), + ('other','Other')],'Address Type', help="Used to select automatically the right address according to the context in sales and purchases documents."), 'street': fields.char('Street', size=128), 'street2': fields.char('Street2', size=128), 'zip': fields.char('Zip', change_default=True, size=24), @@ -168,8 +171,8 @@ class res_partner(osv.osv): if context is None: context = {} if 'category_id' in context and context['category_id']: - return [context['category_id']] - return [] + return [context.get('category_id')] + return False def _get_photo(self, cr, uid, is_company, context=None): if is_company == 'contact': @@ -192,40 +195,42 @@ class res_partner(osv.osv): if default is None: default = {} name = self.read(cr, uid, [id], ['name'], context)[0]['name'] - default.update({'name': name+ _(' (copy)'), 'events':[]}) + default.update({'name': _('%s (copy)')%(name), 'events':[]}) return super(res_partner, self).copy(cr, uid, id, default, context) - def do_share(self, cr, uid, ids, *args): - return True - def onchange_type(self, cr, uid, ids, is_company, title, child_ids, photo,context=None): - photo=False + value = {'value': {'is_comapny': '', 'title': '','photo':''}} if is_company == 'contact': - return {'value': {'is_company': is_company, 'title': '','child_ids':[(5,)], 'photo': self._get_photo(cr, uid, is_company, context)}} + value['value'] = {'is_company': is_company, + 'title': '','child_ids':[(5,)], + 'photo': self._get_photo(cr, uid, is_company, context)} elif is_company == 'partner': - return {'value': {'is_company': is_company, 'title': '','parent_id':False, 'photo': self._get_photo(cr, uid, is_company, context)}} - return {'value': {'is_comapny': '', 'title': '','photo':''}} - - + value['value'] = {'is_company': is_company, + 'title': '', + 'parent_id':False, + 'photo': self._get_photo(cr, uid, is_company, context)} + return value + + def onchange_address(self, cr, uid, ids, use_parent_address, parent_id, context=None): + vals = {'value':{}} if use_parent_address and parent_id: parent = self.browse(cr, uid, parent_id, context=context) - return {'value': { - 'street': parent.street, - 'street2': parent.street2, - 'zip': parent.zip, - 'city': parent.city, - 'state_id': parent.state_id.id, - 'country_id': parent.country_id.id, - 'email': parent.email, - 'phone': parent.phone, - 'fax': parent.fax, - 'mobile': parent.mobile, - 'website': parent.website, - 'ref': parent.ref, - 'lang': parent.lang, - }} - return {} + vals['value'] = {'street': parent.street, + 'street2': parent.street2, + 'zip': parent.zip, + 'city': parent.city, + 'state_id': parent.state_id.id, + 'country_id': parent.country_id.id, + 'email': parent.email, + 'phone': parent.phone, + 'fax': parent.fax, + 'mobile': parent.mobile, + 'website': parent.website, + 'ref': parent.ref, + 'lang': parent.lang, + } + return vals def _check_ean_key(self, cr, uid, ids, context=None): for partner_o in pooler.get_pool(cr.dbname).get('res.partner').read(cr, uid, ids, ['ean13',]): @@ -242,51 +247,44 @@ class res_partner(osv.osv): if math.ceil(sum/10.0)*10-sum!=int(thisean[12]): return False return True - - + + def write(self, cr, uid, ids, vals, context=None): - # Update the all child and parent_id record + # Update the all child and parent_id record update_ids=False if isinstance(ids, (int, long)): ids = [ids] for partner_id in self.browse(cr, uid, ids, context=context): is_company=partner_id.is_company - parent_id=partner_id.parent_id.id + parent_id=partner_id.parent_id.id if is_company == 'contact' and parent_id: update_ids= self.search(cr, uid, [('parent_id', '=', parent_id),('use_parent_address','=',True)], context=context) - if parent_id not in update_ids: + if parent_id not in update_ids: update_ids.append(parent_id) elif is_company == 'partner': - update_ids= self.search(cr, uid, [('parent_id', '=', partner_id.id),('use_parent_address','=',True)], context=context)# + update_ids= self.search(cr, uid, [('parent_id', '=', partner_id.id),('use_parent_address','=',True)], context=context) if update_ids: self.udpate_address(cr,uid,update_ids,False,vals,context) - return super(res_partner,self).write(cr, uid, ids, vals, context=context) - + return super(res_partner,self).write(cr, uid, ids, vals, context=context) + def create(self, cr, uid, vals, context=None): - # temo get the defulat photo image ,it will remove if vals.get('parent_id') and vals.get('use_parent_address'): update_ids= self.search(cr, uid, [('parent_id', '=', vals.get('parent_id')),('use_parent_address','=',True)], context=context) update_ids.append(vals.get('parent_id')) self.udpate_address(cr,uid,False,update_ids,vals) - return super(res_partner,self).create(cr, uid, vals, context=context) - - + return super(res_partner,self).create(cr, uid, vals, context=context) + + def udpate_address(self,cr,uid,update_ids,parent_id,vals, context=None): - # Remove this method after testing all case -# if update_ids: -# osv.osv.write(self, cr, uid,update_ids, vals,context=context) for key, data in vals.iteritems(): - if key in ('street','street2','zip','city','state_id','country_id','email','phone','fax','mobile','website','ref','lang') and data : + if key in ('street','street2','zip','city','state_id','country_id','email','phone','fax','mobile','website','ref','lang') and data : update_list=update_ids or parent_id if update_list : - sql = "update res_partner set %(field)s = %%(value)s where id in %%(id)s" % { - 'field': key, - } - cr.execute(sql, { - 'value': data or '', - 'id':tuple(update_list) - }) - return True + sql = """UPDATE res_partner SET %(field)s = %%(value)s + WHERE id in %%(id)s"""%{'field' : key,} + cr.execute(sql, {'value': data or '', + 'id':tuple(update_list)}) + return True # _constraints = [(_check_ean_key, 'Error: Invalid ean code', ['ean13'])] def name_get(self, cr, uid, ids, context=None): @@ -301,9 +299,9 @@ class res_partner(osv.osv): reads = self.read(cr, uid, ids, [rec_name,'parent_id'], context=context) res = [] for record in reads: - name = record['name'] + name = record.get('name', '/') if record['parent_id']: - name =name + '(' + record['parent_id'][1] +')' + name = "%s ( %s )"%(name, record['parent_id'][1]) res.append((record['id'], name)) return res @@ -314,16 +312,16 @@ class res_partner(osv.osv): if name and operator in ('=', 'ilike', '=ilike', 'like'): ids = self.search(cr, uid, [('ref', '=', name)] + args, limit=limit, context=context) if not ids: - names=map(lambda i : i.strip(),name.split('(')) - for i in range(len(names)): - dom=[('name', operator, names[i])] - if i>0: - dom+=[('id','child_of',ids)] - ids = self.search(cr, uid, dom, limit=limit, context=context) + names = map(lambda x : x.strip(),name.split('(')) + for name in range(len(names)): + domain = [('name', operator, names[name])] + if name > 0: + domain.extend([('id', 'child_of', ids)]) + ids = self.search(cr, uid, domain, limit=limit, context=context) contact_ids = ids while contact_ids: contact_ids = self.search(cr, uid, [('parent_id', 'in', contact_ids)], limit=limit, context=context) - ids += contact_ids + ids.extend(contact_ids) if args: ids = self.search(cr, uid, [('id', 'in', ids)] + args, limit=limit, context=context) if ids: @@ -342,7 +340,6 @@ class res_partner(osv.osv): self.pool.get('ir.cron').create(cr, uid, { 'name': 'Send Partner Emails', 'user_id': uid, -# 'nextcall': False, 'model': 'res.partner', 'function': '_email_send', 'args': repr([ids[:16], email_from, subject, body, on_error]) @@ -353,6 +350,7 @@ class res_partner(osv.osv): def address_get(self, cr, uid, ids, adr_pref=None): if adr_pref is None: adr_pref = ['default'] + result = {} # retrieve addresses from the partner itself and its children res = [] # need to fix the ids ,It get False value in list like ids[False] @@ -363,13 +361,11 @@ class res_partner(osv.osv): addr = dict(reversed(res)) # get the id of the (first) default address if there is one, # otherwise get the id of the first address in the list + default_address = False if res: default_address = addr.get('default', res[0][1]) - else: - default_address = False - result = {} - for a in adr_pref: - result[a] = addr.get(a, default_address) + for adr in adr_pref: + result[adr] = addr.get(adr, default_address) return result def gen_next_ref(self, cr, uid, ids): @@ -395,16 +391,16 @@ class res_partner(osv.osv): if (not context.get('category_id', False)): return False return _('Partners: ')+self.pool.get('res.partner.category').browse(cr, uid, context['category_id'], context).name + def main_partner(self, cr, uid): ''' Return the id of the main partner ''' model_data = self.pool.get('ir.model.data') - return model_data.browse( - cr, uid, - model_data.search(cr, uid, [('module','=','base'), - ('name','=','main_partner')])[0], - ).res_id - + return model_data.browse(cr, uid, + model_data.search(cr, uid, [('module','=','base'), + ('name','=','main_partner')])[0], + ).res_id + def _display_address(self, cr, uid, address,type ,context=None): ''' The purpose of this function is to build and return an address formatted accordingly to the @@ -415,17 +411,17 @@ class res_partner(osv.osv): if not country is specified) :rtype: string ''' - + if type: if address.is_company=='partner' and address.child_ids: for child_id in address.child_ids: if child_id.type==type: address=child_id - + # get the information that will be injected into the display format # get the address format address_format = address.country_id and address.country_id.address_format or \ - '%(street)s\n%(street2)s\n%(city)s,%(state_code)s %(zip)s' + '%(street)s\n%(street2)s\n%(city)s,%(state_code)s %(zip)s' args = { 'state_code': address.state_id and address.state_id.code or '', 'state_name': address.state_id and address.state_id.name or '', @@ -438,16 +434,15 @@ class res_partner(osv.osv): args[field] = getattr(address, field) or '' return address_format % args - + def default_get(self, cr, uid, fields, context=None): res = super(res_partner, self).default_get( cr, uid, fields, context) if 'is_company' in res: res.update({'photo': self._get_photo(cr, uid, res.get('is_company', 'contact'), context)}) return res -res_partner() -# Deprecated this feature +#This feature is Deprecated for backward Compability only class res_partner_address(osv.osv): _table = "res_partner" _name = 'res.partner.address' @@ -472,16 +467,15 @@ class res_partner_address(osv.osv): 'is_customer_add': fields.related('partner_id', 'customer', type='boolean', string='Customer'), 'is_supplier_add': fields.related('partner_id', 'supplier', type='boolean', string='Supplier'), 'active': fields.boolean('Active', help="Uncheck the active field to hide the contact."), -# 'company_id': fields.related('partner_id','company_id',type='many2one',relation='res.company',string='Company', store=True), 'company_id': fields.many2one('res.company', 'Company',select=1), 'color': fields.integer('Color Index'), } + def write(self, cr, uid, ids, vals, context=None): logging.getLogger('res.partner').warning("Deprecated, use of res.partner.address and used res.partner") - return super(res_partner_address,self).write(cr, uid, ids, vals, context=context) + return super(res_partner_address,self).write(cr, uid, ids, vals, context=context) + def create(self, cr, uid, vals, context=None): logging.getLogger('res.partner').warning("Deprecated, use of res.partner.address and used res.partner") - return super(res_partner_address,self).create(cr, uid, vals, context=context) -res_partner_address() - + return super(res_partner_address,self).create(cr, uid, vals, context=context) # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: From 0ebb6e46ad930ac219ce91f5a05dc0f27e5a0499 Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Tue, 6 Mar 2012 12:25:26 +0530 Subject: [PATCH 107/313] [IMP]account_voucher: remove address file from yml bzr revid: kjo@tinyerp.com-20120306065526-kfghm03qof7uprju --- addons/account_voucher/test/case1_usd_usd.yml | 4 ---- addons/account_voucher/test/case2_suppl_usd_eur.yml | 4 ---- addons/account_voucher/test/case2_usd_eur_debtor_in_eur.yml | 4 ---- addons/account_voucher/test/case2_usd_eur_debtor_in_usd.yml | 4 ---- addons/account_voucher/test/case3_eur_eur.yml | 4 ---- addons/account_voucher/test/case4_cad_chf.yml | 2 -- addons/account_voucher/test/sales_payment.yml | 2 -- 7 files changed, 24 deletions(-) diff --git a/addons/account_voucher/test/case1_usd_usd.yml b/addons/account_voucher/test/case1_usd_usd.yml index d75c386e259..5ff48e7d35d 100644 --- a/addons/account_voucher/test/case1_usd_usd.yml +++ b/addons/account_voucher/test/case1_usd_usd.yml @@ -73,8 +73,6 @@ - !record {model: account.invoice, id: account_invoice_jan}: account_id: account.a_recv - address_contact_id: base.res_partner_address_3000 - address_invoice_id: base.res_partner_address_3000 company_id: base.main_company currency_id: base.USD date_invoice: !eval "'%s-01-01' %(datetime.now().year)" @@ -108,8 +106,6 @@ - !record {model: account.invoice, id: account_invoice_feb}: account_id: account.a_recv - address_contact_id: base.res_partner_address_3000 - address_invoice_id: base.res_partner_address_3000 company_id: base.main_company currency_id: base.USD date_invoice: !eval "'%s-02-01' %(datetime.now().year)" diff --git a/addons/account_voucher/test/case2_suppl_usd_eur.yml b/addons/account_voucher/test/case2_suppl_usd_eur.yml index 0ad523b8004..85d710f235a 100644 --- a/addons/account_voucher/test/case2_suppl_usd_eur.yml +++ b/addons/account_voucher/test/case2_suppl_usd_eur.yml @@ -44,8 +44,6 @@ !record {model: account.invoice, id: account_first_invoice_jan_suppl}: account_id: account.a_pay type : in_invoice - address_contact_id: base.res_partner_address_3000 - address_invoice_id: base.res_partner_address_3000 company_id: base.main_company currency_id: base.USD date_invoice: !eval "'%s-01-01' %(datetime.now().year)" @@ -80,8 +78,6 @@ - !record {model: account.invoice, id: account_second_invoice_feb_suppl}: account_id: account.a_pay - address_contact_id: base.res_partner_address_3000 - address_invoice_id: base.res_partner_address_3000 company_id: base.main_company currency_id: base.USD date_invoice: !eval "'%s-02-01' %(datetime.now().year)" diff --git a/addons/account_voucher/test/case2_usd_eur_debtor_in_eur.yml b/addons/account_voucher/test/case2_usd_eur_debtor_in_eur.yml index ac77aef622d..e420abda961 100644 --- a/addons/account_voucher/test/case2_usd_eur_debtor_in_eur.yml +++ b/addons/account_voucher/test/case2_usd_eur_debtor_in_eur.yml @@ -79,8 +79,6 @@ - !record {model: account.invoice, id: account_first_invoice_jan}: account_id: account.a_recv - address_contact_id: base.res_partner_address_3000 - address_invoice_id: base.res_partner_address_3000 company_id: base.main_company currency_id: base.USD date_invoice: !eval "'%s-01-01' %(datetime.now().year)" @@ -114,8 +112,6 @@ - !record {model: account.invoice, id: account_second_invoice_feb}: account_id: account.a_recv - address_contact_id: base.res_partner_address_3000 - address_invoice_id: base.res_partner_address_3000 company_id: base.main_company currency_id: base.USD date_invoice: !eval "'%s-02-01' %(datetime.now().year)" diff --git a/addons/account_voucher/test/case2_usd_eur_debtor_in_usd.yml b/addons/account_voucher/test/case2_usd_eur_debtor_in_usd.yml index a3a32a32082..c4c94541e10 100644 --- a/addons/account_voucher/test/case2_usd_eur_debtor_in_usd.yml +++ b/addons/account_voucher/test/case2_usd_eur_debtor_in_usd.yml @@ -79,8 +79,6 @@ - !record {model: account.invoice, id: account_first_invoice_jan_michal}: account_id: account.a_recv - address_contact_id: base.res_partner_address_3000 - address_invoice_id: base.res_partner_address_3000 company_id: base.main_company currency_id: base.USD date_invoice: !eval "'%s-01-01' %(datetime.now().year)" @@ -114,8 +112,6 @@ - !record {model: account.invoice, id: account_second_invoice_feb_michal}: account_id: account.a_recv - address_contact_id: base.res_partner_address_3000 - address_invoice_id: base.res_partner_address_3000 company_id: base.main_company currency_id: base.USD date_invoice: !eval "'%s-02-01' %(datetime.now().year)" diff --git a/addons/account_voucher/test/case3_eur_eur.yml b/addons/account_voucher/test/case3_eur_eur.yml index a2fc39e1844..c99f0d968c9 100644 --- a/addons/account_voucher/test/case3_eur_eur.yml +++ b/addons/account_voucher/test/case3_eur_eur.yml @@ -33,8 +33,6 @@ - !record {model: account.invoice, id: account_first_invoice_jan_eur}: account_id: account.a_recv - address_contact_id: base.res_partner_address_3000 - address_invoice_id: base.res_partner_address_3000 company_id: base.main_company currency_id: base.EUR date_invoice: !eval "'%s-01-01' %(datetime.now().year)" @@ -68,8 +66,6 @@ - !record {model: account.invoice, id: account_second_invoice_feb_eur}: account_id: account.a_recv - address_contact_id: base.res_partner_address_3000 - address_invoice_id: base.res_partner_address_3000 company_id: base.main_company currency_id: base.EUR date_invoice: !eval "'%s-02-01' %(datetime.now().year)" diff --git a/addons/account_voucher/test/case4_cad_chf.yml b/addons/account_voucher/test/case4_cad_chf.yml index ff8db125682..9d9b4d77994 100644 --- a/addons/account_voucher/test/case4_cad_chf.yml +++ b/addons/account_voucher/test/case4_cad_chf.yml @@ -67,8 +67,6 @@ - !record {model: account.invoice, id: account_first_invoice_jan_cad}: account_id: account.a_recv - address_contact_id: base.res_partner_address_3000 - address_invoice_id: base.res_partner_address_3000 company_id: base.main_company currency_id: base.CAD date_invoice: !eval "'%s-01-01' %(datetime.now().year)" diff --git a/addons/account_voucher/test/sales_payment.yml b/addons/account_voucher/test/sales_payment.yml index f6025389896..8d861154a48 100644 --- a/addons/account_voucher/test/sales_payment.yml +++ b/addons/account_voucher/test/sales_payment.yml @@ -3,8 +3,6 @@ - !record {model: account.invoice, id: account_invoice_0}: account_id: account.a_recv - address_contact_id: base.res_partner_address_7 - address_invoice_id: base.res_partner_address_7 company_id: base.main_company currency_id: base.EUR invoice_line: From 1973a815fccb7f34232ca1f237da390fe8682b42 Mon Sep 17 00:00:00 2001 From: "Bharat Devnani (OpenERP)" <bde@tinyerp.com> Date: Tue, 6 Mar 2012 14:36:45 +0530 Subject: [PATCH 108/313] [REM] removed reference of res.partner.address in stock module bzr revid: bde@tinyerp.com-20120306090645-k8guat08q133jm8s --- addons/stock/report/report_stock_move.py | 4 +-- addons/stock/stock.py | 37 +++++++++++------------- addons/stock/stock_view.xml | 18 +----------- 3 files changed, 20 insertions(+), 39 deletions(-) diff --git a/addons/stock/report/report_stock_move.py b/addons/stock/report/report_stock_move.py index 8b18331d2bf..2b6b844872a 100644 --- a/addons/stock/report/report_stock_move.py +++ b/addons/stock/report/report_stock_move.py @@ -35,7 +35,7 @@ class report_stock_move(osv.osv): 'month':fields.selection([('01','January'), ('02','February'), ('03','March'), ('04','April'), ('05','May'), ('06','June'), ('07','July'), ('08','August'), ('09','September'), ('10','October'), ('11','November'), ('12','December')], 'Month',readonly=True), - 'partner_id':fields.many2one('res.partner.address', 'Partner', readonly=True), + 'partner_id':fields.many2one('res.partner', 'Partner', readonly=True), 'product_id':fields.many2one('product.product', 'Product', readonly=True), 'company_id':fields.many2one('res.company', 'Company', readonly=True), 'picking_id':fields.many2one('stock.picking', 'Packing', readonly=True), @@ -154,7 +154,7 @@ class report_stock_inventory(osv.osv): 'year': fields.char('Year', size=4, readonly=True), 'month':fields.selection([('01','January'), ('02','February'), ('03','March'), ('04','April'), ('05','May'), ('06','June'), ('07','July'), ('08','August'), ('09','September')]), - 'partner_id':fields.many2one('res.partner.address', 'Partner', readonly=True), + 'partner_id':fields.many2one('res.partner', 'Partner', readonly=True), 'product_id':fields.many2one('product.product', 'Product', readonly=True), 'product_categ_id':fields.many2one('product.category', 'Product Category', readonly=True), 'location_id': fields.many2one('stock.location', 'Location', readonly=True), diff --git a/addons/stock/stock.py b/addons/stock/stock.py index 885f7cd2077..afeb33d6b4c 100644 --- a/addons/stock/stock.py +++ b/addons/stock/stock.py @@ -190,7 +190,7 @@ class stock_location(osv.osv): 'chained_picking_type': fields.selection([('out', 'Sending Goods'), ('in', 'Getting Goods'), ('internal', 'Internal')], 'Shipping Type', help="Shipping Type of the Picking List that will contain the chained move (leave empty to automatically detect the type based on the source and destination locations)."), 'chained_company_id': fields.many2one('res.company', 'Chained Company', help='The company the Picking List containing the chained move will belong to (leave empty to use the default company determination rules'), 'chained_delay': fields.integer('Chaining Lead Time',help="Delay between original move and chained move in days"), - 'address_id': fields.many2one('res.partner.address', 'Location Address',help="Address of customer or supplier."), + 'address_id': fields.many2one('res.partner', 'Location Address',help="Address of customer or supplier."), 'icon': fields.selection(tools.icons, 'Icon', size=64,help="Icon show in hierarchical tree view"), 'comment': fields.text('Additional Information'), @@ -646,8 +646,7 @@ class stock_picking(osv.osv): store=True, type='datetime', string='Max. Expected Date', select=2), 'move_lines': fields.one2many('stock.move', 'picking_id', 'Internal Moves', states={'done': [('readonly', True)], 'cancel': [('readonly', True)]}), 'auto_picking': fields.boolean('Auto-Picking'), - 'address_id': fields.many2one('res.partner.address', 'Address', help="Address of partner"), - 'partner_id': fields.related('address_id','partner_id',type='many2one',relation='res.partner',string='Partner',store=True), + 'address_id': fields.many2one('res.partner', 'Address', help="Address of partner"), 'invoice_state': fields.selection([ ("invoiced", "Invoiced"), ("2binvoiced", "To Be Invoiced"), @@ -877,7 +876,7 @@ class stock_picking(osv.osv): @param picking: object of the picking for which we are selecting the partner to invoice @return: object of the partner to invoice """ - return picking.address_id and picking.address_id.partner_id + return picking.address_id and picking.address_id.id def _get_comment_invoice(self, cr, uid, picking): """ @@ -917,11 +916,11 @@ class stock_picking(osv.osv): else: taxes = move_line.product_id.taxes_id - if move_line.picking_id and move_line.picking_id.address_id and move_line.picking_id.address_id.partner_id: + if move_line.picking_id and move_line.picking_id.address_id and move_line.picking_id.address_id.id: return self.pool.get('account.fiscal.position').map_tax( cr, uid, - move_line.picking_id.address_id.partner_id.property_account_position, + move_line.picking_id.address_id.property_account_position, taxes ) else: @@ -981,6 +980,7 @@ class stock_picking(osv.osv): @param journal_id: ID of the accounting journal @return: dict that will be used to create the invoice object """ + partner = self.pool.get('res.partner').browse(cr, uid, partner, context=context) if inv_type in ('out_invoice', 'out_refund'): account_id = partner.property_account_receivable.id else: @@ -995,8 +995,6 @@ class stock_picking(osv.osv): 'type': inv_type, 'account_id': account_id, 'partner_id': partner.id, - 'address_invoice_id': address_invoice_id, - 'address_contact_id': address_contact_id, 'comment': comment, 'payment_term': partner.property_payment_term and partner.property_payment_term.id or False, 'fiscal_position': partner.property_account_position.id, @@ -1099,7 +1097,7 @@ class stock_picking(osv.osv): else: invoice_vals = self._prepare_invoice(cr, uid, picking, partner, inv_type, journal_id, context=context) invoice_id = invoice_obj.create(cr, uid, invoice_vals, context=context) - invoices_group[partner.id] = invoice_id + invoices_group[partner] = invoice_id res[picking.id] = invoice_id for move_line in picking.move_lines: if move_line.state == 'cancel': @@ -1580,7 +1578,7 @@ class stock_move(osv.osv): 'location_id': fields.many2one('stock.location', 'Source Location', required=True, select=True,states={'done': [('readonly', True)]}, help="Sets a location if you produce at a fixed location. This can be a partner location if you subcontract the manufacturing operations."), 'location_dest_id': fields.many2one('stock.location', 'Destination Location', required=True,states={'done': [('readonly', True)]}, select=True, help="Location where the system will stock the finished products."), - 'address_id': fields.many2one('res.partner.address', 'Destination Address ', states={'done': [('readonly', True)]}, help="Optional address where goods are to be delivered, specifically used for allotment"), + 'address_id': fields.many2one('res.partner', 'Destination Address ', states={'done': [('readonly', True)]}, help="Optional address where goods are to be delivered, specifically used for allotment"), 'prodlot_id': fields.many2one('stock.production.lot', 'Production Lot', states={'done': [('readonly', True)]}, help="Production lot is used to put a serial number on the production", select=True), 'tracking_id': fields.many2one('stock.tracking', 'Pack', select=True, states={'done': [('readonly', True)]}, help="Logistical shipping unit: pallet, box, pack ..."), @@ -1598,7 +1596,6 @@ class stock_move(osv.osv): 'price_unit': fields.float('Unit Price', digits_compute= dp.get_precision('Account'), help="Technical field used to record the product cost set by the user during a picking confirmation (when average price costing method is used)"), 'price_currency_id': fields.many2one('res.currency', 'Currency for average price', help="Technical field used to record the currency chosen by the user during a picking confirmation (when average price costing method is used)"), 'company_id': fields.many2one('res.company', 'Company', required=True, select=True), - 'partner_id': fields.related('picking_id','address_id','partner_id',type='many2one', relation="res.partner", string="Partner", store=True, select=True), 'backorder_id': fields.related('picking_id','backorder_id',type='many2one', relation="stock.picking", string="Back Order", select=True), 'origin': fields.related('picking_id','origin',type='char', size=64, relation="stock.picking", string="Origin", store=True), @@ -1667,9 +1664,9 @@ class stock_move(osv.osv): except: pass elif context.get('address_in_id', False): - part_obj_add = self.pool.get('res.partner.address').browse(cr, uid, context['address_in_id'], context=context) - if part_obj_add.partner_id: - location_id = part_obj_add.partner_id.property_stock_supplier.id + part_obj_add = self.pool.get('res.partner').browse(cr, uid, context['address_in_id'], context=context) + if part_obj_add: + location_id = part_obj_add.property_stock_supplier.id else: location_xml_id = False if picking_type == 'in': @@ -1815,9 +1812,9 @@ class stock_move(osv.osv): return {} lang = False if address_id: - addr_rec = self.pool.get('res.partner.address').browse(cr, uid, address_id) + addr_rec = self.pool.get('res.partner').browse(cr, uid, address_id) if addr_rec: - lang = addr_rec.partner_id and addr_rec.partner_id.lang or False + lang = addr_rec and addr_rec.lang or False ctx = {'lang': lang} product = self.pool.get('product.product').browse(cr, uid, [prod_id], context=ctx)[0] @@ -1857,7 +1854,7 @@ class stock_move(osv.osv): cr, uid, m.location_dest_id, - m.picking_id and m.picking_id.address_id and m.picking_id.address_id.partner_id, + m.picking_id and m.picking_id.address_id and m.picking_id.address_id.id, m.product_id, context ) @@ -2264,7 +2261,7 @@ class stock_move(osv.osv): processing of the given stock move. """ # prepare default values considering that the destination accounts have the reference_currency_id as their main currency - partner_id = (move.picking_id.address_id and move.picking_id.address_id.partner_id and move.picking_id.address_id.partner_id.id) or False + partner_id = (move.picking_id.address_id and move.picking_id.address_id.id and move.picking_id.address_id.id) or False debit_line_vals = { 'name': move.name, 'product_id': move.product_id and move.product_id.id or False, @@ -2672,7 +2669,6 @@ class stock_inventory(osv.osv): pid = line.product_id.id product_context.update(uom=line.product_uom.id, date=inv.date, prodlot_id=line.prod_lot_id.id) amount = location_obj._product_get(cr, uid, line.location_id.id, [pid], product_context)[pid] - change = line.product_qty - amount lot_id = line.prod_lot_id.id if change: @@ -2684,6 +2680,7 @@ class stock_inventory(osv.osv): 'prodlot_id': lot_id, 'date': inv.date, } + if change > 0: value.update( { 'product_qty': change, @@ -2775,7 +2772,7 @@ class stock_warehouse(osv.osv): _columns = { 'name': fields.char('Name', size=128, required=True, select=True), 'company_id': fields.many2one('res.company', 'Company', required=True, select=True), - 'partner_address_id': fields.many2one('res.partner.address', 'Owner Address'), + 'partner_address_id': fields.many2one('res.partner', 'Owner Address'), 'lot_input_id': fields.many2one('stock.location', 'Location Input', required=True, domain=[('usage','<>','view')]), 'lot_stock_id': fields.many2one('stock.location', 'Location Stock', required=True, domain=[('usage','=','internal')]), 'lot_output_id': fields.many2one('stock.location', 'Location Output', required=True, domain=[('usage','<>','view')]), diff --git a/addons/stock/stock_view.xml b/addons/stock/stock_view.xml index 4264a488436..0142f39c684 100644 --- a/addons/stock/stock_view.xml +++ b/addons/stock/stock_view.xml @@ -343,7 +343,6 @@ <tree string="Stock Moves"> <field name="picking_id" string="Reference"/> <field name="origin"/> - <field name="partner_id"/> <field name="product_id"/> <field name="product_qty" on_change="onchange_quantity(product_id, product_qty, product_uom, product_uos)"/> <field name="product_uom" string="UoM"/> @@ -673,7 +672,6 @@ <field name="arch" type="xml"> <tree colors="blue:state == 'draft';grey:state == 'cancel';red:state not in ('cancel', 'done') and date < current_date" string="Picking list"> <field name="name"/> - <field name="partner_id" invisible="True"/> <field name="backorder_id" groups="base.group_extended"/> <field name="origin"/> <field name="date"/> @@ -843,7 +841,6 @@ </group> <newline/> <group expand="0" string="Group By..."> - <filter string="Partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}"/> <separator orientation="vertical" /> <filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/> <separator orientation="vertical" /> @@ -867,7 +864,6 @@ <field name="arch" type="xml"> <tree colors="blue:state == 'draft';grey:state == 'cancel';red:state not in ('cancel', 'done') and min_date < current_date" string="Delivery Orders"> <field name="name"/> - <field name="partner_id"/> <field name="origin"/> <field name="date"/> <field name="min_date"/> @@ -1030,14 +1026,12 @@ <filter icon="terp-dolar" name="to_invoice" string="To Invoice" domain="[('invoice_state','=','2binvoiced')]" help="Delivery orders to invoice"/> <separator orientation="vertical"/> <field name="name"/> - <field name="partner_id" /> <field name="origin"/> <field name="stock_journal_id" groups="base.group_extended" widget="selection"/> <field name="company_id" widget="selection" groups="base.group_multi_company"/> </group> <newline/> <group expand="0" string="Group By..."> - <filter string="Partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}"/> <separator orientation="vertical" /> <filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/> <separator orientation="vertical" /> @@ -1087,7 +1081,6 @@ <field name="arch" type="xml"> <tree colors="blue:state == 'draft';grey:state == 'done';red:state not in ('cancel', 'done') and date < current_date" string="Picking list"> <field name="name"/> - <field name="partner_id" /> <field name="backorder_id" groups="base.group_extended"/> <field name="origin"/> <field name="date"/> @@ -1110,7 +1103,7 @@ <group colspan="4" col="4"> <field name="name" readonly="1"/> <field name="origin"/> - <field name="address_id" on_change="onchange_partner_in(address_id)" context="{'contact_display':'partner'}" domain="[('partner_id','<>',False)]" colspan="4"/> + <field name="address_id" on_change="onchange_partner_in(address_id)" context="{'contact_display':'partner'}" colspan="4"/> <field name="invoice_state" string="Invoice Control"/> <field name="backorder_id" readonly="1" groups="base.group_extended"/> </group> @@ -1246,14 +1239,12 @@ <filter string="To invoice" name="to_invoice" icon="terp-dolar" domain="[('invoice_state', '=', '2binvoiced')]" /> <separator orientation="vertical"/> <field name="name"/> - <field name="partner_id"/> <field name="origin"/> <field name="stock_journal_id" groups="base.group_extended" widget="selection"/> <field name="company_id" widget="selection" groups="base.group_multi_company" /> </group> <newline/> <group expand="0" string="Group By..."> - <filter string="Partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}"/> <separator orientation="vertical" /> <filter icon="terp-stock_effects-object-colorize" name="state" string="State" domain="[]" context="{'group_by':'state'}"/> <separator orientation="vertical" /> @@ -1367,7 +1358,6 @@ <field name="picking_id" string="Reference"/> <field name="origin"/> <field name="create_date" invisible="1"/> - <field name="partner_id"/> <field name="product_id"/> <field name="product_qty" on_change="onchange_quantity(product_id, product_qty, product_uom, product_uos)"/> <field name="product_uom" string="UoM"/> @@ -1541,7 +1531,6 @@ <tree colors="grey:state == 'cancel'" string="Moves"> <field name="picking_id" string="Reference"/> <field name="origin"/> - <field name="partner_id" string="Partner"/> <field name="product_id"/> <field name="product_qty" /> <field name="product_uom" string="UoM"/> @@ -1580,7 +1569,6 @@ <field name="arch" type="xml"> <tree string="Moves"> <field name="picking_id" string="Reference"/> - <field name="partner_id" string="Partner"/> <field name="product_id"/> <field name="product_qty" /> <field name="product_uom" string="UoM"/> @@ -1676,13 +1664,11 @@ <filter icon="terp-go-today" string="Today" domain="[('date','<=',time.strftime('%%Y-%%m-%%d 23:59:59')),('date','>=',time.strftime('%%Y-%%m-%%d 00:00:00'))]" help="Orders planned for today"/> <separator orientation="vertical"/> <field name="origin"/> - <field name="partner_id" string="Partner"/> <field name="product_id"/> <field name="prodlot_id"/> </group> <newline/> <group expand="0" string="Group By..." groups="base.group_extended"> - <filter string="Supplier" icon="terp-personal" domain="[]" context="{'group_by':'partner_id'}"/> <filter string="Product" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'product_id'}"/> <separator orientation="vertical"/> <filter string="Order" icon="terp-gtk-jump-to-rtl" domain="[]" context="{'group_by':'origin'}"/> @@ -1709,13 +1695,11 @@ <filter icon="terp-go-today" string="Today" domain="[('date','<=',time.strftime('%%Y-%%m-%%d 23:59:59')),('date','>=',time.strftime('%%Y-%%m-%%d 00:00:00'))]" help="Orders planned for today"/> <separator orientation="vertical"/> <field name="origin"/> - <field name="partner_id" string="Partner"/> <field name="product_id"/> <field name="prodlot_id"/> </group> <newline/> <group expand="0" string="Group By..." groups="base.group_extended"> - <filter string="Customer" icon="terp-personal" domain="[]" context="{'group_by':'partner_id'}"/> <separator orientation="vertical"/> <filter string="Product" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'product_id'}"/> <filter string="Order" icon="terp-gtk-jump-to-rtl" domain="[]" context="{'group_by':'origin'}"/> From 92420a78f305762f228a07e87136e4402189c65f Mon Sep 17 00:00:00 2001 From: Jigar Amin - OpenERP <jam@tinyerp.com> Date: Tue, 6 Mar 2012 15:37:43 +0530 Subject: [PATCH 109/313] [FIX] Account edi import parent_id bzr revid: jam@tinyerp.com-20120306100743-562ep2q3lr9ylt36 --- addons/account/__openerp__.py | 2 +- addons/account/edi/invoice.py | 2 +- addons/edi/models/res_partner.py | 18 +----------------- 3 files changed, 3 insertions(+), 19 deletions(-) diff --git a/addons/account/__openerp__.py b/addons/account/__openerp__.py index 54c33ddd317..850a8f49842 100644 --- a/addons/account/__openerp__.py +++ b/addons/account/__openerp__.py @@ -146,7 +146,7 @@ module named account_voucher. 'test/account_fiscalyear_close.yml', 'test/account_bank_statement.yml', 'test/account_cash_statement.yml', -# 'test/test_edi_invoice.yml', it will be need to check + 'test/test_edi_invoice.yml', 'test/account_report.yml', 'test/account_fiscalyear_close_state.yml', #last test, as it will definitively close the demo fiscalyear ], diff --git a/addons/account/edi/invoice.py b/addons/account/edi/invoice.py index c54593123b0..7cfa48ca560 100644 --- a/addons/account/edi/invoice.py +++ b/addons/account/edi/invoice.py @@ -141,7 +141,7 @@ class account_invoice(osv.osv, EDIMixin): # imported company_address = new partner address address_info = edi_document.pop('company_address') - address_info['partner_id'] = (src_company_id, src_company_name) + address_info['parent_id'] = (src_company_id, src_company_name) address_info['type'] = 'invoice' address_id = res_partner.edi_import(cr, uid, address_info, context=context) diff --git a/addons/edi/models/res_partner.py b/addons/edi/models/res_partner.py index 955587be76f..95a8811e2aa 100644 --- a/addons/edi/models/res_partner.py +++ b/addons/edi/models/res_partner.py @@ -25,27 +25,11 @@ from edi import EDIMixin from openerp import SUPERUSER_ID from tools.translate import _ -RES_PARTNER_ADDRESS_EDI_STRUCT = { - 'name': True, - 'email': True, - 'street': True, - 'street2': True, - 'zip': True, - 'city': True, - 'country_id': True, - 'state_id': True, - 'phone': True, - 'fax': True, - 'mobile': True, -} - RES_PARTNER_EDI_STRUCT = { 'name': True, 'ref': True, 'lang': True, 'website': True, -# 'address': RES_PARTNER_ADDRESS_EDI_STRUCT -# 'name': True, 'email': True, 'street': True, 'street2': True, @@ -92,7 +76,7 @@ class res_partner(osv.osv, EDIMixin): if edi_bank_ids: contacts = self.browse(cr, uid, contact_id, context=context) import_ctx = dict((context or {}), - default_partner_id=contacts.id, + default_partner_id=contacts.parent_id.id, default_state=self._get_bank_type(cr, uid, context)) for ext_bank_id, bank_name in edi_bank_ids: try: From 9419ac2b6610fc19d160ed2b91813af5dff1cab8 Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Tue, 6 Mar 2012 15:43:09 +0530 Subject: [PATCH 110/313] [IMP] analytic: remove res.partner.address bzr revid: kjo@tinyerp.com-20120306101309-8yikjimzo38d1okr --- addons/account/project/project_view.xml | 1 - addons/analytic/analytic.py | 10 ++++------ 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/addons/account/project/project_view.xml b/addons/account/project/project_view.xml index 9f9aca2c8fb..2998ea72e34 100644 --- a/addons/account/project/project_view.xml +++ b/addons/account/project/project_view.xml @@ -93,7 +93,6 @@ <group colspan="2" col="2"> <separator colspan="2" string="Contacts"/> <field name="partner_id" on_change="on_change_partner_id(partner_id)"/> - <field name="contact_id"/> <field name="user_id"/> </group> <group colspan="2" col="2" name="contract"> diff --git a/addons/analytic/analytic.py b/addons/analytic/analytic.py index 6241b6e06f0..8f988bea148 100644 --- a/addons/analytic/analytic.py +++ b/addons/analytic/analytic.py @@ -165,7 +165,6 @@ class account_analytic_account(osv.osv): 'quantity': fields.function(_debit_credit_bal_qtty, type='float', string='Quantity', multi='debit_credit_bal_qtty'), 'quantity_max': fields.float('Maximum Time', help='Sets the higher limit of time to work on the contract.'), 'partner_id': fields.many2one('res.partner', 'Partner'), - 'contact_id': fields.many2one('res.partner.address', 'Contact'), 'user_id': fields.many2one('res.users', 'Account Manager'), 'date_start': fields.date('Date Start'), 'date': fields.date('Date End', select=True), @@ -199,7 +198,6 @@ class account_analytic_account(osv.osv): 'state': 'open', 'user_id': lambda self, cr, uid, ctx: uid, 'partner_id': lambda self, cr, uid, ctx: ctx.get('partner_id', False), - 'contact_id': lambda self, cr, uid, ctx: ctx.get('contact_id', False), 'date_start': lambda *a: time.strftime('%Y-%m-%d'), 'currency_id': _get_default_currency, } @@ -221,9 +219,9 @@ class account_analytic_account(osv.osv): def on_change_partner_id(self, cr, uid, id, partner_id, context={}): if not partner_id: - return {'value': {'contact_id': False}} + return {'value': {'partner_id': False}} addr = self.pool.get('res.partner').address_get(cr, uid, [partner_id], ['invoice']) - return {'value': {'contact_id': addr.get('invoice', False)}} + return {'value': {'partner_id': addr.get('invoice', False)}} def on_change_company(self, cr, uid, id, company_id): if not company_id: @@ -247,9 +245,9 @@ class account_analytic_account(osv.osv): def onchange_partner_id(self, cr, uid, ids, partner, context=None): partner_obj = self.pool.get('res.partner') if not partner: - return {'value':{'contact_id': False}} + return {'value':{'partner_id': False}} address = partner_obj.address_get(cr, uid, [partner], ['contact']) - return {'value':{'contact_id': address['contact']}} + return {'value':{'partner_id': address['contact']}} def name_search(self, cr, uid, name, args=None, operator='ilike', context=None, limit=100): if not args: From 1aaf758622670443529f2f683990b028a158c2de Mon Sep 17 00:00:00 2001 From: Jigar Amin - OpenERP <jam@tinyerp.com> Date: Tue, 6 Mar 2012 16:42:07 +0530 Subject: [PATCH 111/313] [FIX] lead to opportunity create partner type bzr revid: jam@tinyerp.com-20120306111207-yw6nr3or1dxfi769 --- addons/crm/crm_lead.py | 1 + 1 file changed, 1 insertion(+) diff --git a/addons/crm/crm_lead.py b/addons/crm/crm_lead.py index 94194d8e7ce..f391797ed9e 100644 --- a/addons/crm/crm_lead.py +++ b/addons/crm/crm_lead.py @@ -597,6 +597,7 @@ class crm_lead(crm_case, osv.osv): 'country_id': lead.country_id and lead.country_id.id or False, 'state_id': lead.state_id and lead.state_id.id or False, 'is_company': is_company, + 'type': 'contact' } partner = partner.create(cr, uid,vals, context) From 7c2472f8b2378ce738916be26fd44c49807eaaa9 Mon Sep 17 00:00:00 2001 From: Jigar Amin - OpenERP <jam@tinyerp.com> Date: Tue, 6 Mar 2012 16:44:41 +0530 Subject: [PATCH 112/313] [FIX] base_calendar domain bzr revid: jam@tinyerp.com-20120306111441-yo77m3cc6whkdsoz --- .../base_calendar/wizard/base_calendar_invite_attendee_view.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/base_calendar/wizard/base_calendar_invite_attendee_view.xml b/addons/base_calendar/wizard/base_calendar_invite_attendee_view.xml index ef7193e05fe..0f9d288d5c2 100644 --- a/addons/base_calendar/wizard/base_calendar_invite_attendee_view.xml +++ b/addons/base_calendar/wizard/base_calendar_invite_attendee_view.xml @@ -27,7 +27,7 @@ <field name="partner_id" colspan="2" on_change="onchange_partner_id(partner_id)" attrs="{'required': [('type', '=', 'partner')]}"/> <newline/> <separator string="Partner Contacts" colspan="6"/> - <field name="contact_ids" select="1" colspan="4" nolabel="1" domain="[('partner_id', '=', partner_id)]" attrs="{'readonly': [('type', '!=', 'partner')]}"/> + <field name="contact_ids" select="1" colspan="4" nolabel="1" attrs="{'readonly': [('type', '!=', 'partner')]}"/> </group> </page> </notebook> From 7829ce4bb76607efaaff8af0f592117d005676e5 Mon Sep 17 00:00:00 2001 From: Jigar Amin - OpenERP <jam@tinyerp.com> Date: Tue, 6 Mar 2012 16:48:30 +0530 Subject: [PATCH 113/313] [FIX] Opportunity to phonecall wizard removed the contact name field bzr revid: jam@tinyerp.com-20120306111830-dc3jbmybtjyg6xrn --- addons/crm/wizard/crm_opportunity_to_phonecall_view.xml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/addons/crm/wizard/crm_opportunity_to_phonecall_view.xml b/addons/crm/wizard/crm_opportunity_to_phonecall_view.xml index a12bd92115c..d4b8a142992 100644 --- a/addons/crm/wizard/crm_opportunity_to_phonecall_view.xml +++ b/addons/crm/wizard/crm_opportunity_to_phonecall_view.xml @@ -18,9 +18,8 @@ <newline/> <field name="partner_id" readonly="True"/> <field name="categ_id" string="Type" widget="selection" domain="[('object_id.model', '=', 'crm.phonecall')]"/> - <field name="contact_name"/> <field name="phone"/> - <field name="user_id" attrs="{'invisible': [('action','=','log')]}"/> + <field name="user_id" attrs="{'invisible': [('action','=','log')]}"/> <field name="section_id" widget="selection" attrs="{'invisible': [('action','=','log')]}"/> <separator string="Notes" colspan="4"/> <field name="note" colspan="4" nolabel="1"/> From 3e2c1d44c6e96700451bb8cb86ad2d42837f9a42 Mon Sep 17 00:00:00 2001 From: "Bharat Devnani (OpenERP)" <bde@tinyerp.com> Date: Tue, 6 Mar 2012 17:10:22 +0530 Subject: [PATCH 114/313] [ADD] added domain for shipping and default address in picking.rml file bzr revid: bde@tinyerp.com-20120306114022-dw0h3s4s3rabzl1v --- addons/stock/report/picking.rml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/stock/report/picking.rml b/addons/stock/report/picking.rml index 96c12ceb404..f16d070f9b9 100644 --- a/addons/stock/report/picking.rml +++ b/addons/stock/report/picking.rml @@ -162,13 +162,13 @@ <tr> <td> <para style="terp_default_Bold_9">Shipping Address :</para> - <para style="terp_default_9">[[ (picking.address_id and picking.address_id.partner_id and picking.address_id.partner_id.title.name) or '' ]] [[ picking.address_id and picking.address_id.partner_id and picking.address_id.partner_id.name ]]</para> - <para style="terp_default_9">[[ picking.address_id and display_address(picking.address_id) ]]</para> + <para style="terp_default_9">[[ (picking.address_id and picking.address_id.id and picking.address_id.title.name) or '' ]] [[ picking.address_id and picking.address_id.id and picking.address_id.name ]]</para> + <para style="terp_default_9">[[ picking.address_id and display_address(picking.address_id,'delivery') ]]</para> </td> <td> <para style="terp_default_Bold_9">Contact Address :</para> <para style="terp_default_9">[[ picking.address_id and picking.address_id.title.name or '' ]] [[ picking.address_id and picking.address_id.name or '' ]]</para> - <para style="terp_default_9">[[ picking.address_id and display_address(picking.address_id) ]] </para> + <para style="terp_default_9">[[ picking.address_id and display_address(picking.address_id,'default') ]] </para> </td> </tr> </blockTable> From 48950149048874c7e9683e02941fce7fc6a537a9 Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Tue, 6 Mar 2012 17:34:58 +0530 Subject: [PATCH 115/313] [IMP]account_followup: remove res_partner_address bzr revid: kjo@tinyerp.com-20120306120458-1y9k6xdhiorzzw1e --- addons/account_followup/report/account_followup_print.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/addons/account_followup/report/account_followup_print.py b/addons/account_followup/report/account_followup_print.py index b48d80a9084..8d64ce30f6b 100644 --- a/addons/account_followup/report/account_followup_print.py +++ b/addons/account_followup/report/account_followup_print.py @@ -45,9 +45,8 @@ class report_rappel(report_sxw.rml_parse): def _adr_get(self, stat_line, type): res_partner = pooler.get_pool(self.cr.dbname).get('res.partner') - res_partner_address = pooler.get_pool(self.cr.dbname).get('res.partner') adr = res_partner.address_get(self.cr, self.uid, [stat_line.partner_id.id], [type])[type] - return adr and res_partner_address.read(self.cr, self.uid, [adr]) or [{}] + return adr and res_partner.read(self.cr, self.uid, [adr]) or [{}] def _lines_get(self, stat_by_partner_line): pool = pooler.get_pool(self.cr.dbname) From 2b0baedd858eebfab6b50bff1b001870066cbb48 Mon Sep 17 00:00:00 2001 From: "Bharat Devnani (OpenERP)" <bde@tinyerp.com> Date: Tue, 6 Mar 2012 17:35:25 +0530 Subject: [PATCH 116/313] [REM] removed references of res.partner.address from purchase_requisition module bzr revid: bde@tinyerp.com-20120306120525-zr2gd25vxq5liu33 --- addons/purchase_requisition/purchase_requisition.py | 2 -- addons/purchase_requisition/purchase_requisition_demo.xml | 2 -- .../purchase_requisition/report/purchase_requisition.rml | 2 +- .../wizard/purchase_requisition_partner.py | 8 -------- .../wizard/purchase_requisition_partner_view.xml | 3 +-- 5 files changed, 2 insertions(+), 15 deletions(-) diff --git a/addons/purchase_requisition/purchase_requisition.py b/addons/purchase_requisition/purchase_requisition.py index c43bd524090..43cfe2de069 100644 --- a/addons/purchase_requisition/purchase_requisition.py +++ b/addons/purchase_requisition/purchase_requisition.py @@ -128,7 +128,6 @@ class purchase_requisition(osv.osv): res_partner = self.pool.get('res.partner') fiscal_position = self.pool.get('account.fiscal.position') supplier = res_partner.browse(cr, uid, partner_id, context=context) - delivery_address_id = res_partner.address_get(cr, uid, [supplier.id], ['delivery'])['delivery'] supplier_pricelist = supplier.property_product_pricelist_purchase or False res = {} for requisition in self.browse(cr, uid, ids, context=context): @@ -138,7 +137,6 @@ class purchase_requisition(osv.osv): purchase_id = purchase_order.create(cr, uid, { 'origin': requisition.name, 'partner_id': supplier.id, - 'partner_address_id': delivery_address_id, 'pricelist_id': supplier_pricelist.id, 'location_id': location_id, 'company_id': requisition.company_id.id, diff --git a/addons/purchase_requisition/purchase_requisition_demo.xml b/addons/purchase_requisition/purchase_requisition_demo.xml index 9ef7bc40d97..41491cc64ca 100644 --- a/addons/purchase_requisition/purchase_requisition_demo.xml +++ b/addons/purchase_requisition/purchase_requisition_demo.xml @@ -32,7 +32,6 @@ <field name="location_id" ref="stock.stock_location_stock"/> <field name="pricelist_id" ref="purchase.list0"/> <field name="partner_id" ref="base.res_partner_4"/> - <field name="partner_address_id" ref="base.res_partner_address_7"/> <field name="requisition_id" ref="requisition1"/> </record> @@ -50,7 +49,6 @@ <field name="location_id" ref="stock.stock_location_stock"/> <field name="pricelist_id" ref="purchase.list0"/> <field name="partner_id" ref="base.res_partner_vickingdirect0"/> - <field name="partner_address_id" ref="base.res_partner_address_brussels0"/> <field name="requisition_id" ref="requisition1"/> </record> diff --git a/addons/purchase_requisition/report/purchase_requisition.rml b/addons/purchase_requisition/report/purchase_requisition.rml index 56e4c1ae0af..b901d6b519f 100644 --- a/addons/purchase_requisition/report/purchase_requisition.rml +++ b/addons/purchase_requisition/report/purchase_requisition.rml @@ -223,7 +223,7 @@ <blockTable colWidths="338.0,96.0,96.0" style="Table7"> <tr> <td> - <para style="terp_default_9">[[ (purchase_ids.partner_address_id and purchase_ids.partner_address_id.partner_id and purchase_ids.partner_address_id.partner_id.name) or '' ]]</para> + <para style="terp_default_9">[[ (purchase_ids.partner_address_id and purchase_ids.partner_address_id.id and purchase_ids.partner_address_id.name) or '' ]]</para> </td> <td> <para style="terp_default_Centre_9">[[ formatLang(purchase_ids.date_order,date='True') ]]</para> diff --git a/addons/purchase_requisition/wizard/purchase_requisition_partner.py b/addons/purchase_requisition/wizard/purchase_requisition_partner.py index 043ed749f4b..a6b806471ef 100644 --- a/addons/purchase_requisition/wizard/purchase_requisition_partner.py +++ b/addons/purchase_requisition/wizard/purchase_requisition_partner.py @@ -29,7 +29,6 @@ class purchase_requisition_partner(osv.osv_memory): _description = "Purchase Requisition Partner" _columns = { 'partner_id': fields.many2one('res.partner', 'Partner', required=True,domain=[('supplier', '=', True)]), - 'partner_address_id':fields.many2one('res.partner.address', 'Address'), } def view_init(self, cr, uid, fields_list, context=None): @@ -42,13 +41,6 @@ class purchase_requisition_partner(osv.osv_memory): raise osv.except_osv(_('Error!'), _('No Product in Tender')) return res - def onchange_partner_id(self, cr, uid, ids, partner_id): - if not partner_id: - return {} - addr = self.pool.get('res.partner').address_get(cr, uid, [partner_id], ['default']) - part = self.pool.get('res.partner').browse(cr, uid, partner_id) - return {'value':{'partner_address_id': addr['default']}} - def create_order(self, cr, uid, ids, context=None): active_ids = context and context.get('active_ids', []) data = self.browse(cr, uid, ids, context=context)[0] diff --git a/addons/purchase_requisition/wizard/purchase_requisition_partner_view.xml b/addons/purchase_requisition/wizard/purchase_requisition_partner_view.xml index d994ba71405..4656d3c37c6 100644 --- a/addons/purchase_requisition/wizard/purchase_requisition_partner_view.xml +++ b/addons/purchase_requisition/wizard/purchase_requisition_partner_view.xml @@ -8,8 +8,7 @@ <field name="arch" type="xml"> <form string="Purchase Requisition"> <group colspan="2" col="2"> - <field name="partner_id" on_change="onchange_partner_id(partner_id)"/> - <field domain="[('partner_id','=',partner_id)]" name="partner_address_id"/> + <field name="partner_id"/> <separator string="" colspan="4" /> <button icon="gtk-cancel" special="cancel" string="_Cancel"/> <button icon="gtk-ok" name="create_order" string="Create Quotation" type="object"/> From ca0f8598f614f79db8d4caeeb62424dcfa856f98 Mon Sep 17 00:00:00 2001 From: Jigar Amin - OpenERP <jam@tinyerp.com> Date: Tue, 6 Mar 2012 17:38:33 +0530 Subject: [PATCH 117/313] [IMP] crm claim : removed crm clamin partner address bzr revid: jam@tinyerp.com-20120306120833-90x9fl5dvpsg8vvp --- addons/crm_claim/crm_claim.py | 26 +++++--------------------- addons/crm_claim/crm_claim_demo.xml | 5 ----- addons/crm_claim/crm_claim_view.xml | 12 ------------ 3 files changed, 5 insertions(+), 38 deletions(-) diff --git a/addons/crm_claim/crm_claim.py b/addons/crm_claim/crm_claim.py index fb6b8f90bda..ef56c97deea 100644 --- a/addons/crm_claim/crm_claim.py +++ b/addons/crm_claim/crm_claim.py @@ -70,9 +70,6 @@ class crm_claim(crm.crm_case, osv.osv): " mail gateway."), 'company_id': fields.many2one('res.company', 'Company'), 'partner_id': fields.many2one('res.partner', 'Partner'), - 'partner_address_id': fields.many2one('res.partner.address', 'Partner Contact', \ - # domain="[('partner_id','=',partner_id)]" - ), 'email_cc': fields.text('Watchers Emails', size=252, help="These email addresses will be added to the CC field of all inbound and outbound emails for this record before being sent. Separate multiple email addresses with a comma"), 'email_from': fields.char('Email', size=128, help="These people will receive email."), 'partner_phone': fields.char('Phone', size=32), @@ -89,7 +86,6 @@ class crm_claim(crm.crm_case, osv.osv): _defaults = { 'user_id': crm.crm_case._get_default_user, 'partner_id': crm.crm_case._get_default_partner, - 'partner_address_id': crm.crm_case._get_default_partner_address, 'email_from':crm.crm_case. _get_default_email, 'state': lambda *a: 'draft', 'section_id':crm.crm_case. _get_section, @@ -105,23 +101,11 @@ class crm_claim(crm.crm_case, osv.osv): :param email: ignored """ if not part: - return {'value': {'partner_address_id': False, - 'email_from': False, - 'partner_phone': False - }} - addr = self.pool.get('res.partner').address_get(cr, uid, [part], ['contact']) - data = {'partner_address_id': addr['contact']} - data.update(self.onchange_partner_address_id(cr, uid, ids, addr['contact'])['value']) - return {'value': data} - - def onchange_partner_address_id(self, cr, uid, ids, add, email=False): - """This function returns value of partner email based on Partner Address - :param part: Partner's id - :param email: ignored - """ - if not add: - return {'value': {'email_from': False}} - address = self.pool.get('res.partner.address').browse(cr, uid, add) + return {'value': {'email_from': False, + 'partner_phone': False + } + } + address = self.pool.get('res.partner.address').browse(cr, uid, part) return {'value': {'email_from': address.email, 'partner_phone': address.phone}} def case_open(self, cr, uid, ids, *args): diff --git a/addons/crm_claim/crm_claim_demo.xml b/addons/crm_claim/crm_claim_demo.xml index 8279e04eb6f..592e655b489 100644 --- a/addons/crm_claim/crm_claim_demo.xml +++ b/addons/crm_claim/crm_claim_demo.xml @@ -7,7 +7,6 @@ --> <record id="crm_case_claim01" model="crm.claim"> - <field name="partner_address_id" ref="base.res_partner_address_15"/> <field eval="time.strftime('%Y-%m-04 10:45:36')" name="date"/> <field name="partner_id" ref="base.res_partner_11"/> <field eval=""3"" name="priority"/> @@ -21,7 +20,6 @@ </record> <record id="crm_case_claim02" model="crm.claim"> - <field name="partner_address_id" ref="base.res_partner_address_6"/> <field eval="time.strftime('%Y-%m-11 11:19:25')" name="date"/> <field name="partner_id" ref="base.res_partner_6"/> <field eval=""4"" name="priority"/> @@ -35,7 +33,6 @@ </record> <record id="crm_case_claim03" model="crm.claim"> - <field name="partner_address_id" ref="base.res_partner_address_2"/> <field eval="time.strftime('%Y-%m-15 17:44:12')" name="date"/> <field name="partner_id" ref="base.res_partner_10"/> <field eval=""2"" name="priority"/> @@ -63,7 +60,6 @@ </record> <record id="crm_case_claim05" model="crm.claim"> - <field name="partner_address_id" ref="base.res_partner_address_10"/> <field eval="time.strftime('%Y-%m-28 16:20:43')" name="date"/> <field name="partner_id" ref="base.res_partner_5"/> <field eval=""3"" name="priority"/> @@ -77,7 +73,6 @@ </record> <record id="crm_case_claim06" model="crm.claim"> - <field name="partner_address_id" ref="base.res_partner_address_1"/> <field name="partner_id" ref="base.res_partner_9"/> <field eval=""3"" name="priority"/> <field name="user_id" ref="base.user_root"/> diff --git a/addons/crm_claim/crm_claim_view.xml b/addons/crm_claim/crm_claim_view.xml index 6bb7e089baa..edeb43a8801 100644 --- a/addons/crm_claim/crm_claim_view.xml +++ b/addons/crm_claim/crm_claim_view.xml @@ -90,8 +90,6 @@ <separator colspan="2" string="Claim Reporter"/> <field name="partner_id" string="Partner" on_change="onchange_partner_id(partner_id)" /> - <field name="partner_address_id" string="Contact" - on_change="onchange_partner_address_id(partner_address_id, email_from)" /> <field name="partner_phone"/> <field name="email_from" widget="email"/> </group> @@ -289,15 +287,5 @@ res_model="crm.claim" src_model="res.partner"/> - - <act_window - domain="[('partner_address_id', '=', active_id)]" - context="{'default_partner_address_id': active_id}" - id="act_claim_partner_address" - name="Claims" - view_mode="tree,form" - res_model="crm.claim" - src_model="res.partner.address"/> - </data> </openerp> From 1e966e5409d6407570d73017f5fe6e2394b3732b Mon Sep 17 00:00:00 2001 From: Jigar Amin - OpenERP <jam@tinyerp.com> Date: Tue, 6 Mar 2012 18:04:12 +0530 Subject: [PATCH 118/313] [IMP] crm claim : removed crm fundraising partner address bzr revid: jam@tinyerp.com-20120306123412-olvufv1c25rcoo08 --- addons/crm_fundraising/crm_fundraising.py | 3 --- addons/crm_fundraising/crm_fundraising_demo.xml | 8 -------- addons/crm_fundraising/crm_fundraising_view.xml | 4 ---- 3 files changed, 15 deletions(-) diff --git a/addons/crm_fundraising/crm_fundraising.py b/addons/crm_fundraising/crm_fundraising.py index 37c5bb8ccee..76d0ca8fdd5 100644 --- a/addons/crm_fundraising/crm_fundraising.py +++ b/addons/crm_fundraising/crm_fundraising.py @@ -47,8 +47,6 @@ class crm_fundraising(crm.crm_case, osv.osv): select=True, help='Sales team to which Case belongs to. Define Responsible user and Email account for mail gateway.'), 'company_id': fields.many2one('res.company', 'Company'), 'partner_id': fields.many2one('res.partner', 'Partner'), - 'partner_address_id': fields.many2one('res.partner.address', 'Partner Contact', \ - domain="[('partner_id','=',partner_id)]"), 'email_cc': fields.text('Watchers Emails', size=252 , help="These email addresses will be added to the CC field of all inbound and outbound emails for this record before being sent. Separate multiple email addresses with a comma"), 'email_from': fields.char('Email', size=128, help="These people will receive email."), 'date_closed': fields.datetime('Closed', readonly=True), @@ -100,7 +98,6 @@ class crm_fundraising(crm.crm_case, osv.osv): 'active': 1, 'user_id': crm.crm_case._get_default_user, 'partner_id': crm.crm_case._get_default_partner, - 'partner_address_id': crm.crm_case._get_default_partner_address, 'email_from': crm.crm_case. _get_default_email, 'state': 'draft', 'section_id': crm.crm_case. _get_section, diff --git a/addons/crm_fundraising/crm_fundraising_demo.xml b/addons/crm_fundraising/crm_fundraising_demo.xml index c7588701af0..52b4094d126 100644 --- a/addons/crm_fundraising/crm_fundraising_demo.xml +++ b/addons/crm_fundraising/crm_fundraising_demo.xml @@ -3,7 +3,6 @@ <data noupdate="1"> <record id="crm_case_helpingstreetchildren0" model="crm.fundraising"> <field eval="50" name="probability"/> - <field name="partner_address_id" ref="base.res_partner_address_1"/> <field eval="1" name="active"/> <field name="type_id" ref="type_fund3"/> <field eval="3.0" name="duration"/> @@ -22,7 +21,6 @@ <data noupdate="1"> <record id="crm_case_helpingearthquakevictims0" model="crm.fundraising"> <field eval="80" name="probability"/> - <field name="partner_address_id" ref="base.main_address"/> <field eval="1" name="active"/> <field name="type_id" ref="type_fund4"/> <field name="partner_id" ref="base.main_partner"/> @@ -39,7 +37,6 @@ </data> <data noupdate="1"> <record id="crm_case_donatingbookstoschoollibraries0" model="crm.fundraising"> - <field name="partner_address_id" ref="base.res_partner_address_zen"/> <field eval="1" name="active"/> <field name="type_id" ref="type_fund1"/> <field eval="5.0" name="duration"/> @@ -56,7 +53,6 @@ </data> <data noupdate="1"> <record id="crm_case_renovatinggovernmentschools0" model="crm.fundraising"> - <field name="partner_address_id" ref="base.res_partner_address_7"/> <field eval="1" name="active"/> <field name="type_id" ref="type_fund2"/> <field eval="3.0" name="duration"/> @@ -74,7 +70,6 @@ </data> <data noupdate="1"> <record id="crm_case_donatingambulancestohospitals0" model="crm.fundraising"> - <field name="partner_address_id" ref="base.res_partner_address_13"/> <field eval="1" name="active"/> <field name="type_id" ref="type_fund4"/> <field name="partner_id" ref="base.res_partner_14"/> @@ -91,7 +86,6 @@ </data> <data noupdate="1"> <record id="crm_case_donatinghospitalequipments0" model="crm.fundraising"> - <field name="partner_address_id" ref="base.res_partner_address_2"/> <field eval="1" name="active"/> <field name="type_id" ref="type_fund3"/> <field name="partner_id" ref="base.res_partner_10"/> @@ -109,7 +103,6 @@ </data> <data noupdate="1"> <record id="crm_case_encouragingarts0" model="crm.fundraising"> - <field name="partner_address_id" ref="base.res_partner_address_14"/> <field eval="1" name="active"/> <field name="type_id" ref="type_fund2"/> <field eval="7.0" name="duration"/> @@ -127,7 +120,6 @@ <data noupdate="1"> <record id="crm_case_promotingculturalprogramsandpreservingdyingartforms0" model="crm.fundraising"> <field eval="10" name="probability"/> - <field name="partner_address_id" ref="base.res_partner_address_1"/> <field eval="1" name="active"/> <field name="type_id" ref="type_fund1"/> <field eval="6.0" name="duration"/> diff --git a/addons/crm_fundraising/crm_fundraising_view.xml b/addons/crm_fundraising/crm_fundraising_view.xml index cc58b793c17..f8c7ae6cf80 100644 --- a/addons/crm_fundraising/crm_fundraising_view.xml +++ b/addons/crm_fundraising/crm_fundraising_view.xml @@ -94,10 +94,6 @@ <field name="partner_id" select="1" on_change="onchange_partner_id(partner_id, email_from)" colspan="2" /> - <field name="partner_address_id" - string="Contact" - on_change="onchange_partner_address_id(partner_address_id, email_from)" - colspan="1" /> <field name="email_from" colspan="2"/> </group> <group colspan="2" col="2"> From 9b54f8dcce4cbddea8aa043188d391e9322cfad8 Mon Sep 17 00:00:00 2001 From: Jigar Amin - OpenERP <jam@tinyerp.com> Date: Tue, 6 Mar 2012 18:08:08 +0530 Subject: [PATCH 119/313] [IMP] crm helpdesk: removed crm helpdesk partner address bzr revid: jam@tinyerp.com-20120306123808-qqd33knykkrgvjzr --- addons/crm_helpdesk/crm_helpdesk.py | 3 --- addons/crm_helpdesk/crm_helpdesk_demo.xml | 1 - addons/crm_helpdesk/crm_helpdesk_view.xml | 3 --- 3 files changed, 7 deletions(-) diff --git a/addons/crm_helpdesk/crm_helpdesk.py b/addons/crm_helpdesk/crm_helpdesk.py index 97ed007f456..7717ae2ce21 100644 --- a/addons/crm_helpdesk/crm_helpdesk.py +++ b/addons/crm_helpdesk/crm_helpdesk.py @@ -58,8 +58,6 @@ class crm_helpdesk(crm.crm_case, osv.osv): 'company_id': fields.many2one('res.company', 'Company'), 'date_closed': fields.datetime('Closed', readonly=True), 'partner_id': fields.many2one('res.partner', 'Partner'), - 'partner_address_id': fields.many2one('res.partner.address', 'Partner Contact', \ - domain="[('partner_id','=',partner_id)]"), 'email_cc': fields.text('Watchers Emails', size=252 , help="These email addresses will be added to the CC field of all inbound and outbound emails for this record before being sent. Separate multiple email addresses with a comma"), 'email_from': fields.char('Email', size=128, help="These people will receive email."), 'date': fields.datetime('Date'), @@ -86,7 +84,6 @@ class crm_helpdesk(crm.crm_case, osv.osv): 'active': lambda *a: 1, 'user_id': crm.crm_case._get_default_user, 'partner_id': crm.crm_case._get_default_partner, - 'partner_address_id': crm.crm_case._get_default_partner_address, 'email_from': crm.crm_case. _get_default_email, 'state': lambda *a: 'draft', 'date': lambda *a: time.strftime('%Y-%m-%d %H:%M:%S'), diff --git a/addons/crm_helpdesk/crm_helpdesk_demo.xml b/addons/crm_helpdesk/crm_helpdesk_demo.xml index a7f36c931c9..c91205fa7e6 100644 --- a/addons/crm_helpdesk/crm_helpdesk_demo.xml +++ b/addons/crm_helpdesk/crm_helpdesk_demo.xml @@ -38,7 +38,6 @@ </record> <record id="crm_helpdesk_howtocreateanewmodule0" model="crm.helpdesk"> - <field name="partner_address_id" ref="base.res_partner_address_9"/> <field eval="1" name="active"/> <field name="partner_id" ref="base.res_partner_2"/> <field name="user_id" ref="base.user_root"/> diff --git a/addons/crm_helpdesk/crm_helpdesk_view.xml b/addons/crm_helpdesk/crm_helpdesk_view.xml index 3d48a3b88ac..5c9e87c3dc8 100644 --- a/addons/crm_helpdesk/crm_helpdesk_view.xml +++ b/addons/crm_helpdesk/crm_helpdesk_view.xml @@ -47,9 +47,6 @@ <field name="partner_id" colspan="2" on_change="onchange_partner_id(partner_id, email_from)" select="1" /> - <field name="partner_address_id" colspan="2" - on_change="onchange_partner_address_id(partner_address_id, email_from)" - /> <newline/> <field name="email_from" colspan="2"/> <button name="remind_partner" From 0caf0020881c4aaff27a3b9209e77cdf6df67e10 Mon Sep 17 00:00:00 2001 From: "Bhumika (OpenERP)" <sbh@tinyerp.com> Date: Tue, 6 Mar 2012 18:23:56 +0530 Subject: [PATCH 120/313] [Fix]stock: Fix demo data bzr revid: sbh@tinyerp.com-20120306125356-im7ciql6i42cypzd --- addons/stock/stock.py | 5 ++--- addons/stock/stock_demo.xml | 14 ++++++-------- 2 files changed, 8 insertions(+), 11 deletions(-) diff --git a/addons/stock/stock.py b/addons/stock/stock.py index afeb33d6b4c..5a7bf734f8c 100644 --- a/addons/stock/stock.py +++ b/addons/stock/stock.py @@ -1625,7 +1625,6 @@ class stock_move(osv.osv): mod_obj = self.pool.get('ir.model.data') picking_type = context.get('picking_type') location_id = False - if context is None: context = {} if context.get('move_line', []): @@ -1636,7 +1635,7 @@ class stock_move(osv.osv): move_list = self.pool.get('stock.move').read(cr, uid, context['move_line'][0], ['location_dest_id']) location_id = move_list and move_list['location_dest_id'][0] or False elif context.get('address_out_id', False): - property_out = self.pool.get('res.partner.address').browse(cr, uid, context['address_out_id'], context).partner_id.property_stock_customer + property_out = self.pool.get('res.partner').browse(cr, uid, context['address_out_id'], context).property_stock_customer location_id = property_out and property_out.id or False else: location_xml_id = False @@ -1854,7 +1853,7 @@ class stock_move(osv.osv): cr, uid, m.location_dest_id, - m.picking_id and m.picking_id.address_id and m.picking_id.address_id.id, + m.picking_id and m.picking_id.address_id and m.picking_id.address_id, m.product_id, context ) diff --git a/addons/stock/stock_demo.xml b/addons/stock/stock_demo.xml index 3940804eb5c..b414366e7b4 100644 --- a/addons/stock/stock_demo.xml +++ b/addons/stock/stock_demo.xml @@ -185,11 +185,10 @@ <field eval="0" name="supplier"/> <field eval="1" name="active"/> <field eval=""""Shop 1"""" name="name"/> - <field name="address" eval="[]"/> </record> - <record id="res_partner_address_fabien0" model="res.partner.address"> + <record id="res_partner_address_fabien0" model="res.partner"> <field eval=""""Fabien"""" name="name"/> - <field name="partner_id" ref="res_partner_tinyshop0"/> + <field name="parent_id" ref="res_partner_tinyshop0"/> <field eval="1" name="active"/> </record> <record id="res_company_shop0" model="res.company"> @@ -203,11 +202,10 @@ <field eval="0" name="supplier"/> <field eval="1" name="active"/> <field eval=""""Shop 2"""" name="name"/> - <field name="address" eval="[]"/> </record> - <record id="res_partner_address_eric0" model="res.partner.address"> + <record id="res_partner_address_eric0" model="res.partner"> <field eval=""""Eric"""" name="name"/> - <field name="partner_id" ref="res_partner_tinyshop1"/> + <field name="parent_id" ref="res_partner_tinyshop1"/> <field eval="1" name="active"/> </record> <record id="res_company_tinyshop0" model="res.company"> @@ -217,7 +215,7 @@ <field eval=""""Shop 2"""" name="name"/> </record> <record id="stock_location_shop0" model="stock.location"> - <field model="res.partner.address" name="address_id" search="[('name','=','Fabien')]"/> + <field model="res.partner" name="address_id" search="[('name','=','Fabien')]"/> <field name="location_id" ref="stock.stock_location_locations"/> <field name="company_id" ref="res_company_shop0"/> <field eval=""""internal"""" name="usage"/> @@ -227,7 +225,7 @@ <field eval=""""manual"""" name="chained_auto_packing"/> </record> <record id="stock_location_shop1" model="stock.location"> - <field model="res.partner.address" name="address_id" search="[('name','=','Eric')]"/> + <field model="res.partner" name="address_id" search="[('name','=','Eric')]"/> <field name="company_id" ref="res_company_tinyshop0"/> <field name="location_id" ref="stock.stock_location_locations"/> <field eval=""""internal"""" name="usage"/> From 0bb65eca8aa2d413228d1e8468c7e32237240b90 Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Tue, 6 Mar 2012 18:48:24 +0530 Subject: [PATCH 121/313] [IMP]auction: remove res.partner.address bzr revid: kjo@tinyerp.com-20120306131824-ty3477rzcbyalybt --- addons/auction/auction.py | 6 +++--- addons/auction/auction_demo.xml | 12 ++++++------ addons/auction/wizard/auction_lots_sms_send.py | 6 ++---- 3 files changed, 11 insertions(+), 13 deletions(-) diff --git a/addons/auction/auction.py b/addons/auction/auction.py index e701e399acf..ced68d530ef 100644 --- a/addons/auction/auction.py +++ b/addons/auction/auction.py @@ -687,9 +687,9 @@ class auction_lots(osv.osv): if (lot.auction_id.id, lot.ach_uid.id) in invoices: inv_id = invoices[(lot.auction_id.id, lot.ach_uid.id)] else: - add = res_obj.read(cr, uid, [lot.ach_uid.id], ['address'])[0]['address'] - if not len(add): - raise orm.except_orm(_('Missed Address !'), _('The Buyer has no Invoice Address.')) + add = res_obj.address_get(cr, uid, [lot.ach_uid.id], ['default'])['default'] + if not add: + raise orm.except_orm(_('Missed Address !'), _('The Buyer has no Address.')) inv = { 'name':lot.auction_id.name or '', 'reference': lot.ach_login, diff --git a/addons/auction/auction_demo.xml b/addons/auction/auction_demo.xml index ebc336caa72..2e720ed199b 100644 --- a/addons/auction/auction_demo.xml +++ b/addons/auction/auction_demo.xml @@ -109,7 +109,7 @@ <field name="name">Unknown</field> </record> - <record id="res_partner_unknown_address_1" model="res.partner.address"> + <record id="res_partner_unknown_address_1" model="res.partner"> <field name="city">Bruxelles1</field> <field name="name">Benoit Mortie1r1</field> <field name="zip">1030</field> @@ -118,10 +118,10 @@ <field name="phone">(+32)2 211 34 83</field> <field name="street">Rue des Palais 44, bte 33</field> <field name="type">default</field> - <field name="partner_id" ref="partner_record1"/> + <field name="parent_id" ref="partner_record1"/> </record> - <record id="res_partner_unknown_address_2" model="res.partner.address"> + <record id="res_partner_unknown_address_2" model="res.partner"> <field name="city">Avignon CEDEX 091</field> <field name="name">Laurent Jacot1</field> <field name="zip">84911</field> @@ -130,10 +130,10 @@ <field name="phone">(+33)4.32.74.10.57</field> <field name="street">85 rue du traite de Rome</field> <field name="type">default</field> - <field name="partner_id" ref="partner_record1"/> + <field name="parent_id" ref="partner_record1"/> </record> - <record id="res_partner_unknown_address_3" model="res.partner.address"> + <record id="res_partner_unknown_address_3" model="res.partner"> <field name="city">Louvain-la-Neuve</field> <field name="name">Thomas Passot</field> <field name="zip">1348</field> @@ -141,7 +141,7 @@ <field name="email">info@mediapole.net</field> <field name="phone">(+32).10.45.17.73</field> <field name="street">Rue de l'Angelique, 1</field> - <field name="partner_id" ref="partner_record1"/> + <field name="parent_id" ref="partner_record1"/> </record> <!-- demo data for the auction_artist object--> diff --git a/addons/auction/wizard/auction_lots_sms_send.py b/addons/auction/wizard/auction_lots_sms_send.py index 93faab41275..fe05e538be7 100644 --- a/addons/auction/wizard/auction_lots_sms_send.py +++ b/addons/auction/wizard/auction_lots_sms_send.py @@ -47,18 +47,16 @@ class auction_lots_sms_send(osv.osv_memory): if context is None: context = {} lot_obj = self.pool.get('auction.lots') partner_obj = self.pool.get('res.partner') - partner_address_obj = self.pool.get('res.partner.address') for data in self.read(cr, uid, ids, context=context): lots = lot_obj.read(cr, uid, context.get('active_ids', []), ['obj_num','obj_price','ach_uid']) res = partner_obj.read(cr, uid, [l['ach_uid'][0] for l in lots if l['ach_uid']], ['gsm'], context) - nbr = 0 for r in res: add = partner_obj.address_get(cr, uid, [r['id']])['default'] - addr = partner_address_obj.browse(cr, uid, add, context=context) + addr = partner_obj.browse(cr, uid, add, context=context) to = addr.mobile if to: - tools.smssend(data['user'], data['password'], data['app_id'], unicode(data['text'], 'utf-8').encode('latin1'), to) + tools.sms_send(data['user'], data['password'], data['app_id'], unicode(data['text'], 'utf-8').encode('latin1'), to) nbr += 1 return {'sms_sent': nbr} auction_lots_sms_send() From ca5a69de4ffc4da0f6c576147573a496b2382d9b Mon Sep 17 00:00:00 2001 From: Jigar Amin - OpenERP <jam@tinyerp.com> Date: Tue, 6 Mar 2012 19:18:46 +0530 Subject: [PATCH 122/313] [IMP] crm : crm_partner_assign cleanup address dependancy bzr revid: jam@tinyerp.com-20120306134846-yp4llvi8kbg14n0w --- addons/crm_partner_assign/__openerp__.py | 2 +- .../crm_partner_assign/partner_geo_assign.py | 17 ++++++------- .../report/crm_partner_report.py | 2 +- .../wizard/crm_forward_to_partner.py | 25 +++++-------------- .../wizard/crm_forward_to_partner_view.xml | 1 - 5 files changed, 15 insertions(+), 32 deletions(-) diff --git a/addons/crm_partner_assign/__openerp__.py b/addons/crm_partner_assign/__openerp__.py index 6f5d0d98dd9..8213e8fa8ef 100644 --- a/addons/crm_partner_assign/__openerp__.py +++ b/addons/crm_partner_assign/__openerp__.py @@ -37,7 +37,7 @@ The most appropriate partner can be assigned. You can also use the geolocalization without using the GPS coordinates. """, 'author': 'OpenERP SA', - 'depends': ['crm'], + 'depends': ['crm', 'account'], 'demo_xml': [ 'res_partner_demo.xml', ], diff --git a/addons/crm_partner_assign/partner_geo_assign.py b/addons/crm_partner_assign/partner_geo_assign.py index f522cc63d7a..e225f5dc0d1 100644 --- a/addons/crm_partner_assign/partner_geo_assign.py +++ b/addons/crm_partner_assign/partner_geo_assign.py @@ -89,14 +89,11 @@ class res_partner(osv.osv): } def geo_localize(self, cr, uid, ids, context=None): for partner in self.browse(cr, uid, ids, context=context): - if not partner.address: - continue - contact = partner.address[0] #TOFIX: should be get latitude and longitude for default contact? addr = ', '.join(filter(None, [ - contact.street, - "%s %s" % (contact.zip , contact.city), - contact.state_id and contact.state_id.name, - contact.country_id and contact.country_id.name])) + partner.street, + "%s %s" % (partner.zip , partner.city), + partner.state_id and partner.state_id.name, + partner.country_id and partner.country_id.name])) result = geo_find(tools.ustr(addr)) if result: self.write(cr, uid, [partner.id], { @@ -192,7 +189,7 @@ class crm_lead(osv.osv): ('partner_weight', '>', 0), ('partner_latitude', '>', latitude - 2), ('partner_latitude', '<', latitude + 2), ('partner_longitude', '>', longitude - 1.5), ('partner_longitude', '<', longitude + 1.5), - ('country', '=', lead.country_id.id), + ('country_id', '=', lead.country_id.id), ], context=context) # 2. second way: in the same country, big area @@ -201,7 +198,7 @@ class crm_lead(osv.osv): ('partner_weight', '>', 0), ('partner_latitude', '>', latitude - 4), ('partner_latitude', '<', latitude + 4), ('partner_longitude', '>', longitude - 3), ('partner_longitude', '<' , longitude + 3), - ('country', '=', lead.country_id.id), + ('country_id', '=', lead.country_id.id), ], context=context) @@ -210,7 +207,7 @@ class crm_lead(osv.osv): # still haven't found any, let's take all partners in the country! partner_ids = res_partner.search(cr, uid, [ ('partner_weight', '>', 0), - ('country', '=', lead.country_id.id), + ('country_id', '=', lead.country_id.id), ], context=context) # 6. sixth way: closest partner whatsoever, just to have at least one result diff --git a/addons/crm_partner_assign/report/crm_partner_report.py b/addons/crm_partner_assign/report/crm_partner_report.py index c225e35f581..764a09c52b9 100644 --- a/addons/crm_partner_assign/report/crm_partner_report.py +++ b/addons/crm_partner_assign/report/crm_partner_report.py @@ -51,7 +51,7 @@ class crm_partner_report_assign(osv.osv): SELECT coalesce(i.id, p.id - 1000000000) as id, p.id as partner_id, - (SELECT country_id FROM res_partner_address a WHERE a.partner_id=p.id AND country_id is not null limit 1) as country_id, + (SELECT country_id FROM res_partner a WHERE a.partner_id=p.id AND country_id is not null limit 1) as country_id, p.grade_id, p.activation, p.date_review, diff --git a/addons/crm_partner_assign/wizard/crm_forward_to_partner.py b/addons/crm_partner_assign/wizard/crm_forward_to_partner.py index 565f99b9db1..e9edca8166d 100644 --- a/addons/crm_partner_assign/wizard/crm_forward_to_partner.py +++ b/addons/crm_partner_assign/wizard/crm_forward_to_partner.py @@ -37,7 +37,6 @@ class crm_lead_forward_to_partner(osv.osv_memory): 'user_id': fields.many2one('res.users', "User"), 'attachment_ids': fields.many2many('ir.attachment','lead_forward_to_partner_attachment_rel', 'wizard_id', 'attachment_id', 'Attachments'), 'partner_id' : fields.many2one('res.partner', 'Partner'), - 'address_id' : fields.many2one('res.partner.address', 'Address'), 'history': fields.selection([('info', 'Case Information'), ('latest', 'Latest email'), ('whole', 'Whole Story')], 'Send history', required=True), } @@ -75,27 +74,15 @@ class crm_lead_forward_to_partner(osv.osv_memory): """This function fills address information based on partner/user selected """ if not partner_id: - return {'value' : {'email_to' : False, 'address_id': False}} - + return {'value' : {'email_to' : False}} partner_obj = self.pool.get('res.partner') - addr = partner_obj.address_get(cr, uid, [partner_id], ['contact']) - data = {'address_id': addr['contact']} - data.update(self.on_change_address(cr, uid, ids, addr['contact'])['value']) - + data = {} partner = partner_obj.browse(cr, uid, [partner_id]) user_id = partner and partner[0].user_id or False - email = user_id and user_id.user_email or '' - data.update({'email_cc' : email, 'user_id': user_id and user_id.id or False}) - return { - 'value' : data, - 'domain' : {'address_id' : partner_id and "[('partner_id', '=', partner_id)]" or "[]"} - } - - def on_change_address(self, cr, uid, ids, address_id): - email = '' - if address_id: - email = self.pool.get('res.partner.address').browse(cr, uid, address_id).email - return {'value': {'email_to' : email}} + data.update({'email_from': partner and partner[0].email or "", + 'email_cc' : user_id and user_id.user_email or '', + 'user_id': user_id and user_id.id or False}) + return {'value' : data} def action_forward(self, cr, uid, ids, context=None): """ diff --git a/addons/crm_partner_assign/wizard/crm_forward_to_partner_view.xml b/addons/crm_partner_assign/wizard/crm_forward_to_partner_view.xml index 645c729b164..7f20d5b4b15 100644 --- a/addons/crm_partner_assign/wizard/crm_forward_to_partner_view.xml +++ b/addons/crm_partner_assign/wizard/crm_forward_to_partner_view.xml @@ -20,7 +20,6 @@ </group> <group col="4" colspan="4" attrs="{'invisible' : [('send_to','!=','partner')]}"> <field name="partner_id" attrs="{'required' : [('send_to','=','partner')]}" on_change="on_change_partner(partner_id)" colspan="2" /> - <field name="address_id" string="Contact" on_change="on_change_address(address_id)" colspan="2" /> </group> </group> <separator string="" colspan="4" /> From 545dc2f645d6f92d8f6f47cada31037f17ceeb8e Mon Sep 17 00:00:00 2001 From: Jigar Amin - OpenERP <jam@tinyerp.com> Date: Wed, 7 Mar 2012 10:35:35 +0530 Subject: [PATCH 123/313] [IMP] crm_profiling cleaned partneraddress bzr revid: jam@tinyerp.com-20120307050535-ek5esphxn2uujefy --- addons/crm_profiling/test/process/profiling.yml | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/addons/crm_profiling/test/process/profiling.yml b/addons/crm_profiling/test/process/profiling.yml index 99fe2da1733..aa3060add3c 100644 --- a/addons/crm_profiling/test/process/profiling.yml +++ b/addons/crm_profiling/test/process/profiling.yml @@ -22,13 +22,12 @@ I'm creating new partner "John" with his email "info@mycustomer.com". - !record {model: res.partner, id: res_partner_john0}: - address: - - city: Bruxelles - country_id: base.be - street: Rue des Palais 51, bte 33 - type: default - zip: '1000' - email: 'info@mycustomer.com' + city: Bruxelles + country_id: base.be + street: Rue des Palais 51, bte 33 + type: default + zip: '1000' + email: 'info@mycustomer.com' name: John category_id: - res_partner_category_customers0 From 0cf6e236e804f88f5bc66b4ecbdf953005052dbd Mon Sep 17 00:00:00 2001 From: "Bhumika (OpenERP)" <sbh@tinyerp.com> Date: Wed, 7 Mar 2012 10:51:00 +0530 Subject: [PATCH 124/313] [FIX] hr: remove referecne of res.partner.address bzr revid: sbh@tinyerp.com-20120307052100-ylqekp6w7xe72ucd --- addons/hr/hr.py | 11 +++++------ addons/hr/hr_view.xml | 3 +-- addons/hr/security/ir.model.access.csv | 1 - 3 files changed, 6 insertions(+), 9 deletions(-) diff --git a/addons/hr/hr.py b/addons/hr/hr.py index 76f9295a829..04de2a2147e 100644 --- a/addons/hr/hr.py +++ b/addons/hr/hr.py @@ -155,10 +155,9 @@ class hr_employee(osv.osv): 'gender': fields.selection([('male', 'Male'),('female', 'Female')], 'Gender'), 'marital': fields.selection([('single', 'Single'), ('married', 'Married'), ('widower', 'Widower'), ('divorced', 'Divorced')], 'Marital Status'), 'department_id':fields.many2one('hr.department', 'Department'), - 'address_id': fields.many2one('res.partner.address', 'Working Address'), - 'address_home_id': fields.many2one('res.partner.address', 'Home Address'), - 'partner_id': fields.related('address_home_id', 'partner_id', type='many2one', relation='res.partner', readonly=True, help="Partner that is related to the current employee. Accounting transaction will be written on this partner belongs to employee."), - 'bank_account_id':fields.many2one('res.partner.bank', 'Bank Account Number', domain="[('partner_id','=',partner_id)]", help="Employee bank salary account"), + 'address_id': fields.many2one('res.partner', 'Working Address'), + 'address_home_id': fields.many2one('res.partner', 'Home Address'), + 'bank_account_id':fields.many2one('res.partner.bank', 'Bank Account Number', domain="[('partner_id','=',address_home_id)]", help="Employee bank salary account"), 'work_phone': fields.char('Work Phone', size=32, readonly=False), 'mobile_phone': fields.char('Work Mobile', size=32, readonly=False), 'work_email': fields.char('Work E-mail', size=240), @@ -190,7 +189,7 @@ class hr_employee(osv.osv): def onchange_address_id(self, cr, uid, ids, address, context=None): if address: - address = self.pool.get('res.partner.address').browse(cr, uid, address, context=context) + address = self.pool.get('res.partner').browse(cr, uid, address, context=context) return {'value': {'work_email': address.email, 'work_phone': address.phone, 'mobile_phone': address.mobile}} return {'value': {}} @@ -198,7 +197,7 @@ class hr_employee(osv.osv): address_id = False if company: company_id = self.pool.get('res.company').browse(cr, uid, company, context=context) - address = self.pool.get('res.partner').address_get(cr, uid, [company_id.partner_id.id], ['default']) + address = self.pool.get('res.partner').address_get(cr, uid, [company_id.address_id.id], ['default']) address_id = address and address['default'] or False return {'value': {'address_id' : address_id}} diff --git a/addons/hr/hr_view.xml b/addons/hr/hr_view.xml index 29066be2208..6935ebc304a 100644 --- a/addons/hr/hr_view.xml +++ b/addons/hr/hr_view.xml @@ -56,8 +56,7 @@ <group col="2" colspan="2"> <separator string="Contact Information" colspan="2"/> <field name="address_home_id" colspan="2"/> - <field name="partner_id" invisible="1" /> - <field name="address_id" colspan="2" on_change="onchange_address_id(address_id)" domain="[('partner_id', '=', partner_id)]"/> + <field name="address_id" colspan="2" on_change="onchange_address_id(address_id)" /> <field name="work_phone"/> <field name="mobile_phone"/> <field name="work_email" widget="email" /> diff --git a/addons/hr/security/ir.model.access.csv b/addons/hr/security/ir.model.access.csv index 2911a49bf53..121e0f23f25 100644 --- a/addons/hr/security/ir.model.access.csv +++ b/addons/hr/security/ir.model.access.csv @@ -7,5 +7,4 @@ access_hr_employee_resource_user,resource.resource.user,resource.model_resource_ access_hr_department_user,hr.department.user,model_hr_department,base.group_hr_user,1,1,1,1 access_hr_department_employee,hr.department.employee,model_hr_department,base.group_user,1,0,0,0 access_hr_job_user,hr.job user,model_hr_job,base.group_hr_user,1,1,1,1 -access_hr_res_partner_address,res.partner.address,base.model_res_partner_address,base.group_hr_manager,1,1,1,1 access_ir_property_hr_user,ir_property hr_user,base.model_ir_property,base.group_hr_user,1,1,1,0 From 7203ee46c4a57b8c9d34fcf9b90bb97f1822c55c Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Wed, 7 Mar 2012 11:13:58 +0530 Subject: [PATCH 125/313] [IMP]base/res_partner: change res_partner_demo.xml bzr revid: kjo@tinyerp.com-20120307054358-cr9n2edu4yn8xhv2 --- openerp/addons/base/res/res_partner_demo.xml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/openerp/addons/base/res/res_partner_demo.xml b/openerp/addons/base/res/res_partner_demo.xml index cfc406698ad..99ed8965073 100644 --- a/openerp/addons/base/res/res_partner_demo.xml +++ b/openerp/addons/base/res/res_partner_demo.xml @@ -211,14 +211,12 @@ <field name="name">Centrale d'achats BML</field> <field name="ean13">3020178572427</field> <field eval="15000.00" name="credit_limit"/> - <field name="parent_id" ref="res_partner_10"/> <field eval="[(6, 0, [ref('res_partner_category_11')])]" name="category_id"/> <field name="is_company">partner</field> </record> <record id="res_partner_15" model="res.partner"> <field name="name">Magazin BML 1</field> <field name="ean13">3020178570171</field> - <field name="parent_id" ref="res_partner_14"/> <field eval="1500.00" name="credit_limit"/> <field eval="[(6, 0, [ref('res_partner_category_11')])]" name="category_id"/> <field name="is_company">partner</field> @@ -691,14 +689,15 @@ </record> - <!--record id="res_partner_address_notsotinysarl1" model="res.partner.address"> + <record id="res_partner_address_notsotinysarl1" model="res.partner"> <field eval="'Antwerpen'" name="city"/> + <field eval="'NotSoTiny'" name="name"/> <field eval="'2000'" name="zip"/> - <field name="parent_id" ref="res_partner_notsotinysarl0"/> + <field name="parent_id" ref="res_partner_address_notsotinysarl0"/> <field name="country_id" ref="base.be"/> <field eval="'Antwerpsesteenweg 254'" name="street"/> <field eval="'invoice'" name="type"/> - </record--> + </record> <!--record id="res_partner_address_4" model="res.partner"> From 108641b123693e189d68c9648240a0e1b47ec008 Mon Sep 17 00:00:00 2001 From: Jigar Amin - OpenERP <jam@tinyerp.com> Date: Wed, 7 Mar 2012 11:17:51 +0530 Subject: [PATCH 126/313] [FIX] crm annonymous address cleanup bzr revid: jam@tinyerp.com-20120307054751-rtnddry36p7zhxf8 --- addons/crm/crm_lead.py | 2 -- addons/crm/security/ir.model.access.csv | 2 -- addons/crm_claim/crm_claim.py | 2 +- 3 files changed, 1 insertion(+), 5 deletions(-) diff --git a/addons/crm/crm_lead.py b/addons/crm/crm_lead.py index f391797ed9e..34d38668d4f 100644 --- a/addons/crm/crm_lead.py +++ b/addons/crm/crm_lead.py @@ -60,7 +60,6 @@ class crm_lead(crm_case, osv.osv): 'stage_id': _read_group_stage_ids } - # overridden because res.partner.address has an inconvenient name_get, # especially if base_contact is installed. def name_get(self, cr, user, ids, context=None): if isinstance(ids, (int, long)): @@ -147,7 +146,6 @@ class crm_lead(crm_case, osv.osv): return res _columns = { - # Overridden from res.partner.address: 'partner_id': fields.many2one('res.partner', 'Partner', ondelete='set null', select=True, help="Optional linked partner, usually after conversion of the lead"), diff --git a/addons/crm/security/ir.model.access.csv b/addons/crm/security/ir.model.access.csv index 47a0f8fa13a..7707118324f 100644 --- a/addons/crm/security/ir.model.access.csv +++ b/addons/crm/security/ir.model.access.csv @@ -26,13 +26,11 @@ access_crm_case_resource_type_manager,crm_case_resource_type manager,model_crm_c access_crm_phonecall_report_user,crm.phonecall.report.user,model_crm_phonecall_report,base.group_sale_salesman,1,0,0,0 access_crm_phonecall_report_manager,crm.phonecall.report,model_crm_phonecall_report,base.group_sale_manager,1,1,1,1 access_res_partner_manager,res.partner.crm.manager,base.model_res_partner,base.group_sale_manager,1,0,0,0 -access_res_partner_address_manager,res.partner.address.crm.user.manager,base.model_res_partner_address,base.group_sale_manager,1,0,0,0 access_res_partner_category_manager,res.partner.category.crm.manager,base.model_res_partner_category,base.group_sale_manager,1,0,0,0 mail_mail_message_manager,mail.message.manager,mail.model_mail_message,base.group_sale_manager,1,0,0,0 access_calendar_attendee_crm_user,calendar.attendee.crm.user,model_calendar_attendee,base.group_sale_salesman,1,1,1,0 access_calendar_attendee_crm_manager,calendar.attendee.crm.manager,model_calendar_attendee,base.group_sale_manager,1,1,1,1 access_res_partner,res.partner.crm.user,base.model_res_partner,base.group_sale_salesman,1,1,1,0 -access_res_partner_address,res.partner.address.crm.user,base.model_res_partner_address,base.group_sale_salesman,1,1,1,0 access_res_partner_category,res.partner.category.crm.user,base.model_res_partner_category,base.group_sale_salesman,1,1,1,0 mail_mailgate_thread,mail.thread,mail.model_mail_thread,base.group_sale_salesman,1,1,1,1 mail_gateway_mail_message_user,mail.message.user,mail.model_mail_message,base.group_sale_salesman,1,1,1,1 diff --git a/addons/crm_claim/crm_claim.py b/addons/crm_claim/crm_claim.py index ef56c97deea..32562501901 100644 --- a/addons/crm_claim/crm_claim.py +++ b/addons/crm_claim/crm_claim.py @@ -105,7 +105,7 @@ class crm_claim(crm.crm_case, osv.osv): 'partner_phone': False } } - address = self.pool.get('res.partner.address').browse(cr, uid, part) + address = self.pool.get('res.partner').browse(cr, uid, part) return {'value': {'email_from': address.email, 'partner_phone': address.phone}} def case_open(self, cr, uid, ids, *args): From 703da5b93a7c99aba8205f49a837d918e1cd7efc Mon Sep 17 00:00:00 2001 From: "Saurang Suthar (OpenERP)" <ssu@tinyerp.com> Date: Wed, 7 Mar 2012 11:17:59 +0530 Subject: [PATCH 127/313] [FIX]res.partner.address removed from the respective modules bzr revid: ssu@tinyerp.com-20120307054759-dsp0r4n1pbf8x4hg --- addons/audittrail/audittrail.py | 3 +-- addons/subscription/security/ir.model.access.csv | 1 - addons/survey/security/ir.model.access.csv | 1 - 3 files changed, 1 insertion(+), 4 deletions(-) diff --git a/addons/audittrail/audittrail.py b/addons/audittrail/audittrail.py index 302d6e146bd..db8d5b84e43 100644 --- a/addons/audittrail/audittrail.py +++ b/addons/audittrail/audittrail.py @@ -375,8 +375,7 @@ class audittrail_objects_proxy(object_proxy): } The reason why the structure returned is build as above is because when modifying an existing - record (res.partner, for example), we may have to log a change done in a x2many field (on - res.partner.address, for example) + record (res.partner, for example), we may have to log a change done in a x2many field """ key = (model.id, resource_id) lines = { diff --git a/addons/subscription/security/ir.model.access.csv b/addons/subscription/security/ir.model.access.csv index 35352cfa024..33ca44c38f0 100644 --- a/addons/subscription/security/ir.model.access.csv +++ b/addons/subscription/security/ir.model.access.csv @@ -4,5 +4,4 @@ access_subscription_subscription_user,subscription.subscription user,model_subsc access_subscription_subscription_history_user,subscription.subscription.history user,model_subscription_subscription_history,base.group_tool_user,1,1,1,1 access_subscription_document_user,subscription.document user,model_subscription_document,base.group_tool_user,1,1,1,1 access_res_partner_user,res.partner.user,base.model_res_partner,base.group_tool_user,1,1,1,1 -access_res_partner_address_user,res.partner.address.user,base.model_res_partner_address,base.group_tool_user,1,1,1,1 access_ir_cron_user,ir.cron.user,base.model_ir_cron,base.group_tool_user,1,1,1,1 diff --git a/addons/survey/security/ir.model.access.csv b/addons/survey/security/ir.model.access.csv index 1566a32aa28..b613e223afa 100644 --- a/addons/survey/security/ir.model.access.csv +++ b/addons/survey/security/ir.model.access.csv @@ -11,7 +11,6 @@ access_survey_response_user,survey.response user,model_survey_response,base.grou access_survey_response_answer_user,survey.response.answer user,model_survey_response_answer,base.group_tool_user,1,1,1,1 access_survey_history_user,survey.history.user,model_survey_history,base.group_tool_user,1,1,1,1 access_survey_response_line_user,survey.response.line user,model_survey_response_line,base.group_tool_user,1,1,1,1 -access_survey_res_partner_address_user,survey.res.partner.address.user,base.model_res_partner_address,base.group_tool_user,1,1,1,0 access_survey_res_partner_user,survey.res.partner.user,base.model_res_partner,base.group_tool_user,1,1,1,1 access_survey_survey_user,survey.survey.user,model_survey,base.group_survey_user,1,1,1,1 access_survey_page_survey_user,survey.page.survey.user,model_survey_page,base.group_survey_user,1,1,1,1 From df507dbe9e9b08d1c17e9d3d23524189aca30466 Mon Sep 17 00:00:00 2001 From: "Bhumika (OpenERP)" <sbh@tinyerp.com> Date: Wed, 7 Mar 2012 11:19:19 +0530 Subject: [PATCH 128/313] [FIX] hr_recruitment: remove referecne of res.partner.address bzr revid: sbh@tinyerp.com-20120307054919-nux5472zjscght8j --- addons/hr_recruitment/hr_recruitment.py | 2 -- addons/hr_recruitment/hr_recruitment_demo.yml | 6 +++--- addons/hr_recruitment/hr_recruitment_view.xml | 1 - addons/hr_recruitment/report/hr_recruitment_report.py | 3 --- addons/hr_recruitment/report/hr_recruitment_report_view.xml | 1 - addons/hr_recruitment/security/ir.model.access.csv | 1 - .../wizard/hr_recruitment_create_partner_job.py | 6 ------ addons/hr_recruitment/wizard/hr_recruitment_phonecall.py | 1 - 8 files changed, 3 insertions(+), 18 deletions(-) diff --git a/addons/hr_recruitment/hr_recruitment.py b/addons/hr_recruitment/hr_recruitment.py index 68855b79d7d..d1a4ba2c285 100644 --- a/addons/hr_recruitment/hr_recruitment.py +++ b/addons/hr_recruitment/hr_recruitment.py @@ -141,8 +141,6 @@ class hr_applicant(crm.crm_case, osv.osv): 'email_cc': fields.text('Watchers Emails', size=252, help="These email addresses will be added to the CC field of all inbound and outbound emails for this record before being sent. Separate multiple email addresses with a comma"), 'probability': fields.float('Probability'), 'partner_id': fields.many2one('res.partner', 'Partner'), - 'partner_address_id': fields.many2one('res.partner.address', 'Partner Contact', \ - domain="[('partner_id','=',partner_id)]"), 'create_date': fields.datetime('Creation Date', readonly=True, select=True), 'write_date': fields.datetime('Update Date', readonly=True), 'stage_id': fields.many2one ('hr.recruitment.stage', 'Stage'), diff --git a/addons/hr_recruitment/hr_recruitment_demo.yml b/addons/hr_recruitment/hr_recruitment_demo.yml index a4817fb4499..f51a1fd49f5 100644 --- a/addons/hr_recruitment/hr_recruitment_demo.yml +++ b/addons/hr_recruitment/hr_recruitment_demo.yml @@ -12,7 +12,7 @@ - !record {model: hr.applicant, id: hr_case_traineemca0}: - partner_address_id: base.res_partner_address_14 + partner_id: base.res_partner_address_14 date: !eval time.strftime('%Y-%m-10 18:15:00') type_id: degree_bac5 priority: '3' @@ -70,7 +70,7 @@ partner_phone: '33968745' - !record {model: hr.applicant, id: hr_case_traineemca1}: - partner_address_id: base.res_partner_address_14 + partner_id: base.res_partner_address_14 date: !eval time.strftime('%Y-%m-12 17:49:19') type_id: degree_bac5 partner_name: 'Tina Augustie' @@ -83,7 +83,7 @@ - !record {model: hr.applicant, id: hr_case_programmer}: - partner_address_id: base.res_partner_address_14 + partner_id: base.res_partner_address_14 date: !eval time.strftime('%Y-%m-12 17:49:19') type_id: degree_bac5 partner_name: 'Shane Williams' diff --git a/addons/hr_recruitment/hr_recruitment_view.xml b/addons/hr_recruitment/hr_recruitment_view.xml index 69a7c104073..fc00d1302df 100644 --- a/addons/hr_recruitment/hr_recruitment_view.xml +++ b/addons/hr_recruitment/hr_recruitment_view.xml @@ -104,7 +104,6 @@ name="%(action_hr_recruitment_partner_create)d" icon="gtk-index" type="action" attrs="{'readonly':[('partner_id','!=',False)]}" groups="base.group_partner_manager"/> <newline/> - <field name="partner_address_id" on_change="onchange_partner_address_id(partner_address_id, email_from)" colspan="3"/> <field name="email_from" colspan="3"/> <field name="partner_phone" colspan="3"/> <field name="partner_mobile" colspan="3"/> diff --git a/addons/hr_recruitment/report/hr_recruitment_report.py b/addons/hr_recruitment/report/hr_recruitment_report.py index 6ea03bbf114..1a596dfa2c6 100644 --- a/addons/hr_recruitment/report/hr_recruitment_report.py +++ b/addons/hr_recruitment/report/hr_recruitment_report.py @@ -62,7 +62,6 @@ class hr_recruitment_report(osv.osv): 'salary_prop_avg' : fields.float("Avg Salary Proposed", group_operator="avg", digits_compute=dp.get_precision('Account')), 'salary_exp' : fields.float("Salary Expected", digits_compute=dp.get_precision('Account')), 'partner_id': fields.many2one('res.partner', 'Partner',readonly=True), - 'partner_address_id': fields.many2one('res.partner.address', 'Partner Contact Name',readonly=True), 'available': fields.float("Availability"), 'delay_open': fields.float('Avg. Delay to Open', digits=(16,2), readonly=True, group_operator="avg", help="Number of Days to close the project issue"), @@ -84,7 +83,6 @@ class hr_recruitment_report(osv.osv): s.state, s.partner_id, s.company_id, - s.partner_address_id, s.user_id, s.job_id, s.type_id, @@ -110,7 +108,6 @@ class hr_recruitment_report(osv.osv): s.date_closed, s.state, s.partner_id, - s.partner_address_id, s.company_id, s.user_id, s.stage_id, diff --git a/addons/hr_recruitment/report/hr_recruitment_report_view.xml b/addons/hr_recruitment/report/hr_recruitment_report_view.xml index 07f160b8ee2..994102cab43 100644 --- a/addons/hr_recruitment/report/hr_recruitment_report_view.xml +++ b/addons/hr_recruitment/report/hr_recruitment_report_view.xml @@ -14,7 +14,6 @@ <field name="department_id" invisible="1"/> <field name="type_id" invisible="1"/> <field name="partner_id" invisible="1"/> - <field name="partner_address_id" invisible="1"/> <field name="company_id" groups="base.group_multi_company"/> <field name="state" invisible="1"/> <field name="year" invisible="1"/> diff --git a/addons/hr_recruitment/security/ir.model.access.csv b/addons/hr_recruitment/security/ir.model.access.csv index 6449cc60fda..6bbc30b7b41 100644 --- a/addons/hr_recruitment/security/ir.model.access.csv +++ b/addons/hr_recruitment/security/ir.model.access.csv @@ -5,7 +5,6 @@ access_hr_recruitment_stage_user,hr.recruitment.stage.user,model_hr_recruitment_ access_hr_recruitment_degree,hr.recruitment.degree,model_hr_recruitment_degree,base.group_hr_user,1,1,1,1 access_mail_message_user,mail.message.user,mail.model_mail_message,base.group_hr_user,1,1,1,1 access_res_partner_hr_user,res.partner.user,base.model_res_partner,base.group_hr_user,1,1,1,1 -access_res_partner_address_hr_user,res.partner.address.user,base.model_res_partner_address,base.group_hr_user,1,1,1,1 access_survey_hr_user,survey.hr.user,survey.model_survey,base.group_hr_user,1,1,1,0 access_crm_phonecall_hruser,crm.phonecall hruser,crm.model_crm_phonecall,base.group_hr_user,1,1,1,1 access_crm_meeting_hruser,crm.meeting.hruser,crm.model_crm_meeting,base.group_hr_user,1,1,1,1 diff --git a/addons/hr_recruitment/wizard/hr_recruitment_create_partner_job.py b/addons/hr_recruitment/wizard/hr_recruitment_create_partner_job.py index dd1667aecef..d7a099e7257 100644 --- a/addons/hr_recruitment/wizard/hr_recruitment_create_partner_job.py +++ b/addons/hr_recruitment/wizard/hr_recruitment_create_partner_job.py @@ -42,7 +42,6 @@ class hr_recruitment_partner_create(osv.osv_memory): def make_order(self, cr, uid, ids, context=None): mod_obj = self.pool.get('ir.model.data') partner_obj = self.pool.get('res.partner') - contact_obj = self.pool.get('res.partner.address') case_obj = self.pool.get('hr.applicant') if context is None: @@ -59,10 +58,6 @@ class hr_recruitment_partner_create(osv.osv_memory): 'name': case.partner_name or case.name, 'user_id': case.user_id.id, 'comment': case.description, - }, context=context) - contact_id = contact_obj.create(cr, uid, { - 'partner_id': partner_id, - 'name': case.partner_name, 'phone': case.partner_phone, 'mobile': case.partner_mobile, 'email': case.email_from @@ -70,7 +65,6 @@ class hr_recruitment_partner_create(osv.osv_memory): case_obj.write(cr, uid, case.id, { 'partner_id': partner_id, - 'partner_address_id': contact_id }, context=context) if data['close']: case_obj.case_close(cr, uid, context['active_ids']) diff --git a/addons/hr_recruitment/wizard/hr_recruitment_phonecall.py b/addons/hr_recruitment/wizard/hr_recruitment_phonecall.py index 0f7d30b215a..12c294c20bc 100644 --- a/addons/hr_recruitment/wizard/hr_recruitment_phonecall.py +++ b/addons/hr_recruitment/wizard/hr_recruitment_phonecall.py @@ -99,7 +99,6 @@ class job2phonecall(osv.osv_memory): 'date': form.deadline, 'description': job.description, 'partner_id': job.partner_id.id, - 'partner_address_id': job.partner_address_id.id, 'partner_phone': job.partner_phone, 'partner_mobile': job.partner_mobile, 'description': job.description, From 7d57f729c1806f44f0253b397a4d2c0d875ac377 Mon Sep 17 00:00:00 2001 From: "Saurang Suthar (OpenERP)" <ssu@tinyerp.com> Date: Wed, 7 Mar 2012 11:31:32 +0530 Subject: [PATCH 129/313] [FIX]res.partner.address removed from other respective modules bzr revid: ssu@tinyerp.com-20120307060132-k7vo1uglgx7z6uur --- addons/base_module_record/wizard/base_module_record_data.py | 2 +- addons/base_module_record/wizard/base_module_record_objects.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/base_module_record/wizard/base_module_record_data.py b/addons/base_module_record/wizard/base_module_record_data.py index d7b6316e74c..cb1e9507495 100644 --- a/addons/base_module_record/wizard/base_module_record_data.py +++ b/addons/base_module_record/wizard/base_module_record_data.py @@ -39,7 +39,7 @@ class base_module_data(osv.osv_memory): def _get_default_objects(self, cr, uid, context=None): names = ('ir.ui.view', 'ir.ui.menu', 'ir.model', 'ir.model.fields', 'ir.model.access', - 'res.partner', 'res.partner.address', 'res.partner.category', 'workflow', + 'res.partner', 'res.partner.category', 'workflow', 'workflow.activity', 'workflow.transition', 'ir.actions.server', 'ir.server.object.lines') return self.pool.get('ir.model').search(cr, uid, [('model', 'in', names)]) diff --git a/addons/base_module_record/wizard/base_module_record_objects.py b/addons/base_module_record/wizard/base_module_record_objects.py index e822c68c8fe..22383bc37d6 100644 --- a/addons/base_module_record/wizard/base_module_record_objects.py +++ b/addons/base_module_record/wizard/base_module_record_objects.py @@ -39,7 +39,7 @@ class base_module_record(osv.osv_memory): def _get_default_objects(self, cr, uid, context=None): names = ('ir.ui.view', 'ir.ui.menu', 'ir.model', 'ir.model.fields', 'ir.model.access', - 'res.partner', 'res.partner.address', 'res.partner.category', 'workflow', + 'res.partner', 'res.partner.category', 'workflow', 'workflow.activity', 'workflow.transition', 'ir.actions.server', 'ir.server.object.lines') return self.pool.get('ir.model').search(cr, uid, [('model', 'in', names)]) From bfe0f1a489c4faa0fb7c5fabdb2060bfaa9dc822 Mon Sep 17 00:00:00 2001 From: Jigar Amin - OpenERP <jam@tinyerp.com> Date: Wed, 7 Mar 2012 12:16:50 +0530 Subject: [PATCH 130/313] [IMP] markeeting_campaign removed the address_id in rer bzr revid: jam@tinyerp.com-20120307064650-9u0y0w9wt60pucqi --- addons/marketing_campaign/report/campaign_analysis.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/marketing_campaign/report/campaign_analysis.py b/addons/marketing_campaign/report/campaign_analysis.py index ebbb6034a1a..a193476783d 100644 --- a/addons/marketing_campaign/report/campaign_analysis.py +++ b/addons/marketing_campaign/report/campaign_analysis.py @@ -60,7 +60,7 @@ class campaign_analysis(osv.osv): 'segment_id': fields.many2one('marketing.campaign.segment', 'Segment', readonly=True), 'partner_id': fields.many2one('res.partner', 'Partner', readonly=True), - 'country_id': fields.related('partner_id','address', 'country_id', + 'country_id': fields.related('partner_id', 'country_id', type='many2one', relation='res.country',string='Country'), 'total_cost' : fields.function(_total_cost, string='Cost', type="float", digits_compute=dp.get_precision('Purchase Price')), From 3d9bfb1269bbbb46a3e012ff69ab10844efbfcf5 Mon Sep 17 00:00:00 2001 From: "Saurang Suthar (OpenERP)" <ssu@tinyerp.com> Date: Wed, 7 Mar 2012 12:32:10 +0530 Subject: [PATCH 131/313] [FIX]event:res.partner.address is removed bzr revid: ssu@tinyerp.com-20120307070210-6ha77oobc1ly0v8p --- addons/event/event.py | 10 +++++----- addons/event/wizard/partner_event_registration.py | 3 +-- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/addons/event/event.py b/addons/event/event.py index 99ccddc660d..966768a1ace 100644 --- a/addons/event/event.py +++ b/addons/event/event.py @@ -234,7 +234,7 @@ class event_event(osv.osv): 'unit_price': fields.related('product_id', 'list_price', type='float', string='Registration Cost', readonly=True, states={'draft':[('readonly',False)]}, help="This will be the default price used as registration cost when invoicing this event. Note that you can specify a specific amount for each registration.", digits_compute=dp.get_precision('Sale Price')), 'main_speaker_id': fields.many2one('res.partner','Main Speaker', readonly=False, states={'done': [('readonly', True)]}, help="Speaker who will be giving speech at the event."), 'speaker_ids': fields.many2many('res.partner', 'event_speaker_rel', 'speaker_id', 'partner_id', 'Other Speakers', readonly=False, states={'done': [('readonly', True)]}), - 'address_id': fields.many2one('res.partner.address','Location Address', readonly=False, states={'done': [('readonly', True)]}), + 'address_id': fields.many2one('res.partner','Location Address', readonly=False, states={'done': [('readonly', True)]}), 'speaker_confirmed': fields.boolean('Speaker Confirmed', readonly=False, states={'done': [('readonly', True)]}), 'country_id': fields.related('address_id', 'country_id', type='many2one', relation='res.country', string='Country', readonly=False, states={'done': [('readonly', True)]}), @@ -303,7 +303,7 @@ class event_registration(osv.osv): 'event_id': fields.many2one('event.event', 'Event', required=True, readonly=True, states={'draft': [('readonly', False)]}), 'partner_id': fields.many2one('res.partner', 'Partner', states={'done': [('readonly', True)]}), "partner_invoice_id": fields.many2one('res.partner', 'Partner Invoiced', readonly=True, states={'draft': [('readonly', False)]}), - "contact_id": fields.many2one('res.partner.address', 'Partner Contact', readonly=False, states={'done': [('readonly', True)]}), #TODO: filter only the contacts that have a function into the selected partner_id + "contact_id": fields.many2one('res.partner', 'Partner Contact', readonly=False, states={'done': [('readonly', True)]}), #TODO: filter only the contacts that have a function into the selected partner_id "unit_price": fields.float('Unit Price', required=True, digits_compute=dp.get_precision('Sale Price'), readonly=True, states={'draft': [('readonly', False)]}), 'price_subtotal': fields.function(_amount_line, string='Subtotal', digits_compute=dp.get_precision('Sale Price'), store=True), "badge_ids": fields.one2many('event.registration.badge', 'registration_id', 'Badges', readonly=False, states={'done': [('readonly', True)]}), @@ -382,7 +382,7 @@ class event_registration(osv.osv): inv_lines_pool = self.pool.get('account.invoice.line') inv_pool = self.pool.get('account.invoice') product_pool = self.pool.get('product.product') - contact_pool = self.pool.get('res.partner.address') + contact_pool = self.pool.get('res.partner') if context is None: context = {} # If date was specified, use it as date invoiced, usefull when invoices are generated this month and put the @@ -596,7 +596,7 @@ class event_registration(osv.osv): data ={} if not contact: return data - addr_obj = self.pool.get('res.partner.address') + addr_obj = self.pool.get('res.partner') data['email_from'] = addr_obj.browse(cr, uid, contact).email return {'value': data} @@ -706,7 +706,7 @@ class event_registration_badge(osv.osv): "registration_id": fields.many2one('event.registration', 'Registration', required=True), "title": fields.char('Title', size=128), "name": fields.char('Name', size=128, required=True), - "address_id": fields.many2one('res.partner.address', 'Address'), + "address_id": fields.many2one('res.partner', 'Address'), } event_registration_badge() diff --git a/addons/event/wizard/partner_event_registration.py b/addons/event/wizard/partner_event_registration.py index f788f49ebdb..d82dc43eac8 100644 --- a/addons/event/wizard/partner_event_registration.py +++ b/addons/event/wizard/partner_event_registration.py @@ -48,7 +48,6 @@ class partner_event_registration(osv.osv_memory): """ value = {} res_obj = self.pool.get('res.partner') - addr_obj = self.pool.get('res.partner.address') reg_obj = self.pool.get('event.registration') mod_obj = self.pool.get('ir.model.data') @@ -57,7 +56,7 @@ class partner_event_registration(osv.osv_memory): email = False contact_id = addr.get('default', False) if contact_id: - email = addr_obj.browse(cr, uid, contact_id, context=context).email + email = res_obj.browse(cr, uid, contact_id, context=context).email result = mod_obj.get_object_reference(cr, uid, 'event', 'view_registration_search') res = result and result[1] or False From f10ee06af4bcb0a3a36191cfa84e63b2f6e30b15 Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Wed, 7 Mar 2012 12:32:25 +0530 Subject: [PATCH 132/313] [IMP]project: remove res.partner.address bzr revid: kjo@tinyerp.com-20120307070225-h95rszb7idselhfj --- addons/project/project.py | 5 ++--- addons/project/project_view.xml | 1 - addons/project/security/ir.model.access.csv | 1 - addons/project/wizard/mail_compose_message.py | 6 +++--- addons/project_issue/project_issue.py | 3 --- addons/project_issue/project_issue_demo.xml | 15 --------------- addons/project_issue/project_issue_view.xml | 1 - 7 files changed, 5 insertions(+), 27 deletions(-) diff --git a/addons/project/project.py b/addons/project/project.py index 9966ad02ee8..af21e679f30 100644 --- a/addons/project/project.py +++ b/addons/project/project.py @@ -75,9 +75,8 @@ class project(osv.osv): def onchange_partner_id(self, cr, uid, ids, part=False, context=None): partner_obj = self.pool.get('res.partner') if not part: - return {'value':{'contact_id': False}} - addr = partner_obj.address_get(cr, uid, [part], ['contact']) - val = {'contact_id': addr['contact']} + return {'value':{}} + val = {} if 'pricelist_id' in self.fields_get(cr, uid, context=context): pricelist = partner_obj.read(cr, uid, part, ['property_product_pricelist'], context=context) pricelist_id = pricelist.get('property_product_pricelist', False) and pricelist.get('property_product_pricelist')[0] or False diff --git a/addons/project/project_view.xml b/addons/project/project_view.xml index 26abe86fe99..241c466b10a 100644 --- a/addons/project/project_view.xml +++ b/addons/project/project_view.xml @@ -69,7 +69,6 @@ </page> <page string="Billing" groups="account.group_account_invoice"> <field colspan="4" name="partner_id" on_change="onchange_partner_id(partner_id)" select="1" string="Customer"/> - <field domain="[('partner_id','=',partner_id)]" name="contact_id" string="Contact Address"/> <field name="warn_customer"/> <field name="currency_id" select="1" groups="base.group_multi_company" required="1"/> <newline/> diff --git a/addons/project/security/ir.model.access.csv b/addons/project/security/ir.model.access.csv index 3dc9cdbab46..5b51dc85e7c 100644 --- a/addons/project/security/ir.model.access.csv +++ b/addons/project/security/ir.model.access.csv @@ -8,7 +8,6 @@ access_report_project_task_user,report.project.task.user,model_report_project_ta access_project_vs_hours,project.vs.hours,model_project_vs_hours,project.group_project_user,1,1,1,1 access_task_by_days,task.by.days,model_task_by_days,project.group_project_user,1,1,1,1 access_partner_task user,base.res.partner user,base.model_res_partner,project.group_project_user,1,0,0,0 -access_partner_address_task user,base.res.partner.address user,base.model_res_partner_address,project.group_project_user,1,0,0,0 access_task_on_partner,project.task on partners,model_project_task,base.group_user,1,0,0,0 access_project_on_partner,project.project on partners,model_project_project,base.group_user,1,0,0,0 access_project_task_sale_user,project.task salesman,model_project_task,base.group_sale_salesman,1,0,0,0 diff --git a/addons/project/wizard/mail_compose_message.py b/addons/project/wizard/mail_compose_message.py index 82d67ea9b92..1609cc04c1c 100644 --- a/addons/project/wizard/mail_compose_message.py +++ b/addons/project/wizard/mail_compose_message.py @@ -41,7 +41,7 @@ class mail_compose_message(osv.osv_memory): partner = task_data.partner_id or task_data.project_id.partner_id if task_data.project_id.warn_manager and (not task_data.project_id.user_id or task_data.project_id.user_id and not task_data.project_id.user_id.user_email) : raise osv.except_osv(_('Error'), _("Please specify the Project Manager or email address of Project Manager.")) - elif task_data.project_id.warn_customer and (not partner or not len(partner.address) or (partner and len(partner.address) and not partner.address[0].email)): + elif task_data.project_id.warn_customer and (not partner or (partner and not partner.email)): raise osv.except_osv(_('Error'), _("Please specify the Customer or email address of Customer.")) result.update({'email_from': task_data.user_id and task_data.user_id.user_email or False}) @@ -56,8 +56,8 @@ class mail_compose_message(osv.osv_memory): header = (task_data.project_id.warn_header or '') % val footer = (task_data.project_id.warn_footer or '') % val description = u'%s\n %s\n %s\n\n \n%s' % (header, task_data.description or '', footer, task_data.user_id and task_data.user_id.signature) - if partner and len(partner.address): - result.update({'email_to': result.get('email_to',False) and result.get('email_to') + ',' + partner.address[0].email}) + if partner : + result.update({'email_to': result.get('email_to',False) and result.get('email_to') + ',' + partner.email}) result.update({ 'body_text': description or False, 'email_to': task_data.project_id.user_id and task_data.project_id.user_id.user_email or False, diff --git a/addons/project_issue/project_issue.py b/addons/project_issue/project_issue.py index b950bfd0b34..408ef10cb78 100644 --- a/addons/project_issue/project_issue.py +++ b/addons/project_issue/project_issue.py @@ -204,8 +204,6 @@ class project_issue(crm.crm_case, osv.osv): select=True, help='Sales team to which Case belongs to.\ Define Responsible user and Email account for mail gateway.'), 'partner_id': fields.many2one('res.partner', 'Partner', select=1), - 'partner_address_id': fields.many2one('res.partner.address', 'Partner Contact', \ - domain="[('partner_id','=',partner_id)]"), 'company_id': fields.many2one('res.company', 'Company'), 'description': fields.text('Description'), 'state': fields.selection([('draft', 'New'), ('open', 'In Progress'), ('cancel', 'Cancelled'), ('done', 'Done'),('pending', 'Pending'), ], 'State', size=16, readonly=True, @@ -264,7 +262,6 @@ class project_issue(crm.crm_case, osv.osv): _defaults = { 'active': 1, 'partner_id': crm.crm_case._get_default_partner, - 'partner_address_id': crm.crm_case._get_default_partner_address, 'email_from': crm.crm_case._get_default_email, 'state': 'draft', 'section_id': crm.crm_case._get_section, diff --git a/addons/project_issue/project_issue_demo.xml b/addons/project_issue/project_issue_demo.xml index f1c7dd5eb4d..358e9e55aa5 100644 --- a/addons/project_issue/project_issue_demo.xml +++ b/addons/project_issue/project_issue_demo.xml @@ -3,7 +3,6 @@ <data noupdate="1"> <record id="crm_case_buginaccountsmodule0" model="project.issue"> - <field name="partner_address_id" ref="base.res_partner_address_8"/> <field eval="time.strftime('%Y-%m-08 10:15:00')" name="date"/> <field eval=""5"" name="priority"/> <field name="user_id" ref="base.user_root"/> @@ -20,7 +19,6 @@ </record> <record id="crm_case_programnotgivingproperoutput0" model="project.issue"> - <field name="partner_address_id" ref="base.res_partner_address_tang"/> <field eval="time.strftime('%Y-%m-15 12:50:00')" name="date"/> <field eval=""3"" name="priority"/> <field name="user_id" ref="base.user_root"/> @@ -36,7 +34,6 @@ </record> <record id="crm_case_outputincorrect0" model="project.issue"> - <field name="partner_address_id" ref="base.res_partner_address_9"/> <field eval="time.strftime('%Y-%m-18 14:30:00')" name="date"/> <field eval=""4"" name="priority"/> <field name="user_id" ref="base.user_demo"/> @@ -51,7 +48,6 @@ </record> <record id="crm_case_problemloadingpage0" model="project.issue"> - <field name="partner_address_id" ref="base.res_partner_address_13"/> <field eval="time.strftime('%Y-%m-20 15:25:05')" name="date"/> <field eval=""3"" name="priority"/> <field name="user_id" ref="base.user_root"/> @@ -82,7 +78,6 @@ </record> <record id="crm_case_programmingerror0" model="project.issue"> - <field name="partner_address_id" ref="base.res_partner_address_10"/> <field eval="time.strftime('%Y-%m-24 09:45:00')" name="date"/> <field eval=""3"" name="priority"/> <field name="user_id" ref="base.user_root"/> @@ -98,7 +93,6 @@ </record> <record id="crm_case_logicalerrorinprogram0" model="project.issue"> - <field name="partner_address_id" ref="base.res_partner_address_6"/> <field eval="time.strftime('%Y-%m-26 11:10:00')" name="date"/> <field eval=""2"" name="priority"/> <field name="user_id" ref="base.user_root"/> @@ -114,7 +108,6 @@ </record> <record id="crm_case_constrainterror0" model="project.issue"> - <field name="partner_address_id" ref="base.res_partner_address_6"/> <field eval="time.strftime('%Y-%m-25 13:35:00')" name="date"/> <field eval=""2"" name="priority"/> <field name="user_id" ref="base.user_root"/> @@ -130,7 +123,6 @@ </record> <record id="crm_case_errorinprogram0" model="project.issue"> - <field name="partner_address_id" ref="base.res_partner_address_10"/> <field eval="time.strftime('%Y-%m-28 15:40:00')" name="date"/> <field eval=""2"" name="priority"/> <field name="user_id" ref="base.user_demo"/> @@ -145,7 +137,6 @@ </record> <record id="crm_case_patcheserrorinprogram0" model="project.issue"> - <field name="partner_address_id" ref="base.res_partner_address_9"/> <field eval="time.strftime('%Y-%m-28 16:30:00')" name="date"/> <field eval=""2"" name="priority"/> <field name="user_id" ref="base.user_root"/> @@ -161,7 +152,6 @@ </record> <record id="crm_case_newfeaturestobeadded0" model="project.issue"> - <field name="partner_address_id" ref="base.res_partner_address_wong"/> <field eval="time.strftime('%Y-%m-01 12:15:10')" name="date"/> <field eval=""4"" name="priority"/> <field name="user_id" ref="base.user_root"/> @@ -177,7 +167,6 @@ </record> <record id="crm_case_addmenustothemodule0" model="project.issue"> - <field name="partner_address_id" ref="base.res_partner_address_1"/> <field eval="time.strftime('%Y-%m-05 18:00:00')" name="date"/> <field eval=""1"" name="priority"/> <field name="user_id" ref="base.user_demo"/> @@ -194,7 +183,6 @@ </record> <record id="crm_case_includeattendancesheetinproject0" model="project.issue"> - <field name="partner_address_id" ref="base.res_partner_address_2"/> <field eval="time.strftime('%Y-%m-10 17:05:30')" name="date"/> <field eval=""3"" name="priority"/> <field name="user_id" ref="base.user_root"/> @@ -211,7 +199,6 @@ </record> <record id="crm_case_createnewobject0" model="project.issue"> - <field name="partner_address_id" ref="base.res_partner_address_6"/> <field eval="time.strftime('%Y-%m-15 10:35:15')" name="date"/> <field eval=""3"" name="priority"/> <field name="user_id" ref="base.user_root"/> @@ -227,7 +214,6 @@ </record> <record id="crm_case_improvereportsinhrms0" model="project.issue"> - <field name="partner_address_id" ref="base.res_partner_address_15"/> <field eval="time.strftime('%Y-%m-19 12:15:00')" name="date"/> <field eval=""4"" name="priority"/> <field name="user_id" ref="base.user_root"/> @@ -243,7 +229,6 @@ </record> <record id="crm_case_improvereportsinpms0" model="project.issue"> - <field name="partner_address_id" ref="base.res_partner_address_15"/> <field eval="time.strftime('%Y-%m-21 14:30:00')" name="date"/> <field eval=""2"" name="priority"/> <field name="user_id" ref="base.user_demo"/> diff --git a/addons/project_issue/project_issue_view.xml b/addons/project_issue/project_issue_view.xml index d50501279fd..ff54ffdcbf8 100644 --- a/addons/project_issue/project_issue_view.xml +++ b/addons/project_issue/project_issue_view.xml @@ -68,7 +68,6 @@ <group col="2" colspan="2"> <separator colspan="2" string="Contact Information"/> <field name="partner_id" on_change="onchange_partner_id(partner_id, email_from)"/> - <field name="partner_address_id" string="Contact" on_change="onchange_partner_address_id(partner_address_id, email_from)"/> <field name="email_from"/> </group> <group col="3" colspan="2"> From 6c88d42bd4209e39423328c6497750dca821bf3f Mon Sep 17 00:00:00 2001 From: Jigar Amin - OpenERP <jam@tinyerp.com> Date: Wed, 7 Mar 2012 12:37:30 +0530 Subject: [PATCH 133/313] [FIX] account pasrtner_address_id and annonymous veriable names bzr revid: jam@tinyerp.com-20120307070730-69akg01n5hpvlkdo --- addons/account/edi/invoice.py | 5 ++--- addons/account/security/ir.model.access.csv | 2 -- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/addons/account/edi/invoice.py b/addons/account/edi/invoice.py index 7cfa48ca560..21f0bb9bad9 100644 --- a/addons/account/edi/invoice.py +++ b/addons/account/edi/invoice.py @@ -75,7 +75,7 @@ class account_invoice(osv.osv, EDIMixin): """Exports a supplier or customer invoice""" edi_struct = dict(edi_struct or INVOICE_EDI_STRUCT) res_company = self.pool.get('res.company') - res_partner_address = self.pool.get('res.partner') + res_partner = self.pool.get('res.partner') edi_doc_list = [] for invoice in records: # generate the main report @@ -84,8 +84,7 @@ class account_invoice(osv.osv, EDIMixin): edi_doc.update({ 'company_address': res_company.edi_export_address(cr, uid, invoice.company_id, context=context), 'company_paypal_account': invoice.company_id.paypal_account, - 'partner_address': res_partner_address.edi_export(cr, uid, [invoice.partner_id], context=context)[0], - + 'partner_address': res_partner.edi_export(cr, uid, [invoice.partner_id], context=context)[0], 'currency': self.pool.get('res.currency').edi_export(cr, uid, [invoice.currency_id], context=context)[0], 'partner_ref': invoice.reference or False, }) diff --git a/addons/account/security/ir.model.access.csv b/addons/account/security/ir.model.access.csv index d1cb87bd434..a5049c0a345 100644 --- a/addons/account/security/ir.model.access.csv +++ b/addons/account/security/ir.model.access.csv @@ -88,9 +88,7 @@ access_account_invoice_tax_accountant,account.invoice.tax accountant,model_accou access_account_move_reconcile_manager,account.move.reconcile manager,model_account_move_reconcile,account.group_account_manager,1,0,0,0 access_account_analytic_line_invoice,account.analytic.line invoice,model_account_analytic_line,account.group_account_invoice,1,1,1,1 access_account_invoice_line_accountant,account.invoice.line accountant,model_account_invoice_line,account.group_account_user,1,0,0,0 -access_res_partner_address_accountant,res.partner.address accountant,base.model_res_partner_address,account.group_account_user,1,0,0,0 access_account_account_invoice,account.account invoice,model_account_account,account.group_account_invoice,1,1,1,1 -access_res_partner_address_invoice,res.partner.address invoice,base.model_res_partner_address,account.group_account_invoice,1,1,1,1 access_account_analytic_accountant,account.analytic.account accountant,analytic.model_account_analytic_account,account.group_account_user,1,1,1,1 access_account_account_type_invoice,account.account.type invoice,model_account_account_type,account.group_account_invoice,1,1,1,1 access_report_account_receivable_invoice,report.account.receivable.invoice,model_report_account_receivable,account.group_account_invoice,1,1,1,1 From 49a985f4cfa10e585151af74d20e14f9d392502c Mon Sep 17 00:00:00 2001 From: "Bharat Devnani (OpenERP)" <bde@tinyerp.com> Date: Wed, 7 Mar 2012 12:52:14 +0530 Subject: [PATCH 134/313] [REM] removed references of res.partner.address from mrp and its related modules bzr revid: bde@tinyerp.com-20120307072214-3wtnnehygrjik457 --- addons/mrp/security/ir.model.access.csv | 1 - addons/mrp_repair/mrp_repair.py | 10 +++++----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/addons/mrp/security/ir.model.access.csv b/addons/mrp/security/ir.model.access.csv index 4289010d165..cd6b8db2195 100644 --- a/addons/mrp/security/ir.model.access.csv +++ b/addons/mrp/security/ir.model.access.csv @@ -37,7 +37,6 @@ access_product_product_user,product.product user,product.model_product_product,m access_product_template_user,product.template user,product.model_product_template,mrp.group_mrp_user,1,0,0,0 access_product_uom_user,product.uom user,product.model_product_uom,mrp.group_mrp_user,1,0,0,0 access_product_supplierinfo_user,product.supplierinfo user,product.model_product_supplierinfo,mrp.group_mrp_user,1,1,1,1 -access_res_partner_address,res.partner.address,base.model_res_partner_address,mrp.group_mrp_user,1,0,0,0 access_stock_tracking,stock.tracking,stock.model_stock_tracking,mrp.group_mrp_user,1,1,1,0 access_res_partner,res.partner,base.model_res_partner,mrp.group_mrp_user,1,0,0,0 access_workcenter_user,mrp.production.workcenter.line.user,model_mrp_production_workcenter_line,mrp.group_mrp_user,1,1,1,1 diff --git a/addons/mrp_repair/mrp_repair.py b/addons/mrp_repair/mrp_repair.py index 2edaba9431a..c035833814f 100644 --- a/addons/mrp_repair/mrp_repair.py +++ b/addons/mrp_repair/mrp_repair.py @@ -117,8 +117,8 @@ class mrp_repair(osv.osv): 'name': fields.char('Repair Reference',size=24, required=True), 'product_id': fields.many2one('product.product', string='Product to Repair', required=True, readonly=True, states={'draft':[('readonly',False)]}), 'partner_id' : fields.many2one('res.partner', 'Partner', select=True, help='This field allow you to choose the parner that will be invoiced and delivered'), - 'address_id': fields.many2one('res.partner.address', 'Delivery Address', domain="[('partner_id','=',partner_id)]"), - 'default_address_id': fields.function(_get_default_address, type="many2one", relation="res.partner.address"), + 'address_id': fields.many2one('res.partner', 'Delivery Address'), + 'default_address_id': fields.function(_get_default_address, type="many2one", relation="res.partner"), 'prodlot_id': fields.many2one('stock.production.lot', 'Lot Number', select=True, domain="[('product_id','=',product_id)]"), 'state': fields.selection([ ('draft','Quotation'), @@ -142,7 +142,7 @@ class mrp_repair(osv.osv): 'guarantee_limit': fields.date('Guarantee limit', help="The guarantee limit is computed as: last move date + warranty defined on selected product. If the current date is below the guarantee limit, each operation and fee you will add will be set as 'not to invoiced' by default. Note that you can change manually afterwards."), 'operations' : fields.one2many('mrp.repair.line', 'repair_id', 'Operation Lines', readonly=True, states={'draft':[('readonly',False)]}), 'pricelist_id': fields.many2one('product.pricelist', 'Pricelist', help='The pricelist comes from the selected partner, by default.'), - 'partner_invoice_id':fields.many2one('res.partner.address', 'Invoicing Address', domain="[('partner_id','=',partner_id)]"), + 'partner_invoice_id':fields.many2one('res.partner', 'Invoicing Address'), 'invoice_method':fields.selection([ ("none","No Invoice"), ("b4repair","Before Repair"), @@ -230,7 +230,7 @@ class mrp_repair(osv.osv): data['value']['location_id'] = move.location_dest_id.id data['value']['location_dest_id'] = move.location_dest_id.id if move.address_id: - data['value']['partner_id'] = move.address_id.partner_id and move.address_id.partner_id.id + data['value']['partner_id'] = move.address_id and move.address_id.id else: data['value']['partner_id'] = False data['value']['address_id'] = move.address_id and move.address_id.id @@ -261,7 +261,7 @@ class mrp_repair(osv.osv): partner = part_obj.browse(cr, uid, part) pricelist = partner.property_product_pricelist and partner.property_product_pricelist.id or False return {'value': { - 'address_id': address_id or addr['delivery'], + 'address_id': addr['delivery'] or addr['default'], 'partner_invoice_id': addr['invoice'], 'pricelist_id': pricelist } From 6c291f1aa0812be4f65e42e3c57803e411c8f564 Mon Sep 17 00:00:00 2001 From: Jigar Amin - OpenERP <jam@tinyerp.com> Date: Wed, 7 Mar 2012 14:27:01 +0530 Subject: [PATCH 135/313] [IMP] crm lead filed optput to opt_out to support res_partner mailtemplare opt_out field consiatancy bzr revid: jam@tinyerp.com-20120307085701-7j6usg7xszop0n61 --- addons/crm/crm_lead.py | 6 +++--- addons/crm/crm_lead_view.xml | 4 ++-- addons/crm/test/ui/crm_demo.yml | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/addons/crm/crm_lead.py b/addons/crm/crm_lead.py index 34d38668d4f..a6fe706f76a 100644 --- a/addons/crm/crm_lead.py +++ b/addons/crm/crm_lead.py @@ -170,7 +170,7 @@ class crm_lead(crm_case, osv.osv): 'contact_name': fields.char('Contact Name', size=64), 'partner_name': fields.char("Customer Name", size=64,help='The name of the future partner company that will be created while converting the lead into opportunity', select=1), 'optin': fields.boolean('Opt-In', help="If opt-in is checked, this contact has accepted to receive emails."), - 'optout': fields.boolean('Opt-Out', help="If opt-out is checked, this contact has refused to receive emails or unsubscribed to a campaign."), + 'opt_out': fields.boolean('Opt-Out', help="If opt-out is checked, this contact has refused to receive emails or unsubscribed to a campaign."), 'type':fields.selection([ ('lead','Lead'), ('opportunity','Opportunity'), ],'Type', help="Type is used to separate Leads and Opportunities"), 'priority': fields.selection(crm.AVAILABLE_PRIORITIES, 'Priority', select=True), 'date_closed': fields.datetime('Closed', readonly=True), @@ -231,10 +231,10 @@ class crm_lead(crm_case, osv.osv): return {'value': {'email_from': address.email, 'phone': address.phone, 'country_id': address.country_id.id}} def on_change_optin(self, cr, uid, ids, optin): - return {'value':{'optin':optin,'optout':False}} + return {'value':{'optin':optin,'opt_out':False}} def on_change_optout(self, cr, uid, ids, optout): - return {'value':{'optout':optout,'optin':False}} + return {'value':{'opt_out':optout,'optin':False}} def onchange_stage_id(self, cr, uid, ids, stage_id, context={}): if not stage_id: diff --git a/addons/crm/crm_lead_view.xml b/addons/crm/crm_lead_view.xml index 6e2540f7954..09a214a7d53 100644 --- a/addons/crm/crm_lead_view.xml +++ b/addons/crm/crm_lead_view.xml @@ -186,7 +186,7 @@ <group colspan="2" col="2"> <separator string="Mailings" colspan="2" col="2"/> <field name="optin" on_change="on_change_optin(optin)"/> - <field name="optout" on_change="on_change_optout(optout)"/> + <field name="opt_out" on_change="on_change_optout(opt_out)"/> </group> <group colspan="2" col="2"> <separator string="Statistics" colspan="2" col="2"/> @@ -539,7 +539,7 @@ <group colspan="2" col="2"> <separator string="Mailings" colspan="2"/> <field name="optin" on_change="on_change_optin(optin)"/> - <field name="optout" on_change="on_change_optout(optout)"/> + <field name="opt_out" on_change="on_change_optout(opt_out)"/> </group> </page> <page string="Communication & History" groups="base.group_extended"> diff --git a/addons/crm/test/ui/crm_demo.yml b/addons/crm/test/ui/crm_demo.yml index 5ef40838466..a949fecae03 100644 --- a/addons/crm/test/ui/crm_demo.yml +++ b/addons/crm/test/ui/crm_demo.yml @@ -15,7 +15,7 @@ name: 'Need 20 Days of Consultancy' type: opportunity state: draft - optout: True + opt_out: True - I create phonecall record to call partner onchange method. - From d46ed666cb55d9344a3496a0a951d7d3290554b4 Mon Sep 17 00:00:00 2001 From: Jigar Amin - OpenERP <jam@tinyerp.com> Date: Wed, 7 Mar 2012 14:44:46 +0530 Subject: [PATCH 136/313] [FIX] anonymization impoved partner field data anonymization instaed address bzr revid: jam@tinyerp.com-20120307091446-aa0qf1x2n882zz09 --- .../ir.model.fields.anonymization.csv | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/addons/anonymization/ir.model.fields.anonymization.csv b/addons/anonymization/ir.model.fields.anonymization.csv index 2d7ac5de31a..9c57d38d437 100644 --- a/addons/anonymization/ir.model.fields.anonymization.csv +++ b/addons/anonymization/ir.model.fields.anonymization.csv @@ -1,15 +1,15 @@ id,model_name,field_name anonymization_field_res_partner_name,res.partner,name anonymization_field_res_partner_code,res.partner,ref -anonymization_field_res_partner_address_name,res.partner.address,name -anonymization_field_res_partner_address_city,res.partner.address,city -anonymization_field_res_partner_address_street,res.partner.address,street -anonymization_field_res_partner_address_street2,res.partner.address,street2 -anonymization_field_res_partner_address_zip,res.partner.address,zip -anonymization_field_res_partner_address_phone,res.partner.address,phone -anonymization_field_res_partner_address_fax,res.partner.address,fax -anonymization_field_res_partner_address_mobile,res.partner.address,mobile -anonymization_field_res_partner_address_email,res.partner.address,email +anonymization_field_res_partner_name,res.partner,name +anonymization_field_res_partner_city,res.partner,city +anonymization_field_res_partner_street,res.partner,street +anonymization_field_res_partner_street2,res.partner,street2 +anonymization_field_res_partner_zip,res.partner,zip +anonymization_field_res_partner_phone,res.partner,phone +anonymization_field_res_partner_fax,res.partner,fax +anonymization_field_res_partner_mobile,res.partner,mobile +anonymization_field_res_partner_email,res.partner,email anonymization_field_account_invoice_amount_untaxed,account.invoice,amount_untaxed anonymization_field_account_invoice_amount_tax,account.invoice,amount_tax anonymization_field_account_invoice_amount_total,account.invoice,amount_total From 879ddb6130e200038822e5bc42676f1dfdb7aa0b Mon Sep 17 00:00:00 2001 From: "Bhumika (OpenERP)" <sbh@tinyerp.com> Date: Wed, 7 Mar 2012 15:54:45 +0530 Subject: [PATCH 137/313] [IMP]: remove unused field bzr revid: sbh@tinyerp.com-20120307102445-m12lvui331hy0ov2 --- addons/account/account_invoice_view.xml | 2 +- addons/account/edi/invoice_action_data.xml | 6 +++--- addons/purchase/stock.py | 2 -- addons/purchase/wizard/purchase_line_invoice.py | 2 -- 4 files changed, 4 insertions(+), 8 deletions(-) diff --git a/addons/account/account_invoice_view.xml b/addons/account/account_invoice_view.xml index d36a257bba9..406fd56ee31 100644 --- a/addons/account/account_invoice_view.xml +++ b/addons/account/account_invoice_view.xml @@ -56,7 +56,7 @@ <label string="Quantity :" align="1.0"/> <group colspan="1" col="2"> <field name="quantity" nolabel="1"/> - <field name="uos_id" on_change="uos_id_change(product_id, uos_id, quantity, name, parent.type, parent.partner_id, parent.fiscal_position, price_unit, parent.address_contact_id, parent.currency_id, context, parent.company_id)" nolabel="1"/> + <field name="uos_id" on_change="uos_id_change(product_id, uos_id, quantity, name, parent.type, parent.partner_id, parent.fiscal_position, price_unit, parent.currency_id, context, parent.company_id)" nolabel="1"/> </group> <field name="price_unit"/> <field domain="[('company_id', '=', parent.company_id), ('journal_id', '=', parent.journal_id), ('type', '<>', 'view')]" name="account_id" on_change="onchange_account_id(product_id, parent.partner_id, parent.type, parent.fiscal_position,account_id)"/> diff --git a/addons/account/edi/invoice_action_data.xml b/addons/account/edi/invoice_action_data.xml index a7bf89b6c26..fe173ff583a 100644 --- a/addons/account/edi/invoice_action_data.xml +++ b/addons/account/edi/invoice_action_data.xml @@ -40,13 +40,13 @@ <field name="name">Automated Invoice Notification Mail</field> <field name="email_from">${object.user_id.user_email or object.company_id.email or 'noreply@localhost'}</field> <field name="subject">${object.company_id.name} Invoice (Ref ${object.number or 'n/a' })</field> - <field name="email_to">${object.address_contact_id.email or ''}</field> + <field name="email_to">${object.partner_id.email or ''}</field> <field name="model_id" ref="account.model_account_invoice"/> <field name="auto_delete" eval="True"/> <field name="body_html"><![CDATA[ <div style="font-family: 'Lucica Grande', Ubuntu, Arial, Verdana, sans-serif; font-size: 12px; color: rgb(34, 34, 34); background-color: rgb(255, 255, 255); "> - <p>Hello${object.address_contact_id.name and ' ' or ''}${object.address_contact_id.name or ''},</p> + <p>Hello${object.partner_id.name and ' ' or ''}${object.partner_id.title or ''},</p> <p>A new invoice is available for ${object.partner_id.name}: </p> @@ -124,7 +124,7 @@ </div> ]]></field> <field name="body_text"><![CDATA[ -Hello${object.address_contact_id.name and ' ' or ''}${object.address_contact_id.name or ''}, +Hello${object.partner_id.name and ' ' or ''}${object.partner_id.name or ''}, A new invoice is available for ${object.partner_id.name}: | Invoice number: *${object.number}* diff --git a/addons/purchase/stock.py b/addons/purchase/stock.py index 34579d2a7d9..35193dfa07b 100644 --- a/addons/purchase/stock.py +++ b/addons/purchase/stock.py @@ -58,8 +58,6 @@ class stock_picking(osv.osv): """ invoice_vals = super(stock_picking, self)._prepare_invoice(cr, uid, picking, partner, inv_type, journal_id, context=context) if picking.purchase_id: - invoice_vals['address_contact_id'], invoice_vals['address_invoice_id'] = \ - self.pool.get('res.partner').address_get(cr, uid, [partner.id], ['contact', 'invoice']).values() invoice_vals['fiscal_position'] = picking.purchase_id.fiscal_position.id return invoice_vals diff --git a/addons/purchase/wizard/purchase_line_invoice.py b/addons/purchase/wizard/purchase_line_invoice.py index 77cf408949b..1c94ba08588 100644 --- a/addons/purchase/wizard/purchase_line_invoice.py +++ b/addons/purchase/wizard/purchase_line_invoice.py @@ -86,8 +86,6 @@ class purchase_line_invoice(osv.osv_memory): 'reference' : partner.ref, 'account_id': a, 'partner_id': partner.id, -# 'address_invoice_id': orders[0].partner_id.id, -# 'address_contact_id': orders[0].partner_id.id, 'invoice_line': [(6,0,lines_ids)], 'currency_id' : orders[0].pricelist_id.currency_id.id, 'comment': multiple_order_invoice_notes(orders), From db5958f3fb4c4b4549de819d981e5dfa69b20f66 Mon Sep 17 00:00:00 2001 From: Jigar Amin - OpenERP <jam@tinyerp.com> Date: Wed, 7 Mar 2012 16:12:05 +0530 Subject: [PATCH 138/313] [FIX] removed filed address_contact_id bzr revid: jam@tinyerp.com-20120307104205-fdvym7euls9rjsn6 --- addons/account/account_invoice.py | 2 +- addons/account/account_unit_test.xml | 1 - addons/account/edi/invoice.py | 1 - addons/account/edi/invoice_action_data.xml | 4 ++-- addons/account/wizard/account_invoice_refund.py | 5 ++--- 5 files changed, 5 insertions(+), 8 deletions(-) diff --git a/addons/account/account_invoice.py b/addons/account/account_invoice.py index 6cf9efceb1b..700936695b8 100644 --- a/addons/account/account_invoice.py +++ b/addons/account/account_invoice.py @@ -1391,7 +1391,7 @@ class account_invoice_line(osv.osv): res_final['value']['price_unit'] = new_price return res_final - def uos_id_change(self, cr, uid, ids, product, uom, qty=0, name='', type='out_invoice', partner_id=False, fposition_id=False, price_unit=False, address_invoice_id=False, currency_id=False, context=None, company_id=None): + def uos_id_change(self, cr, uid, ids, product, uom, qty=0, name='', type='out_invoice', partner_id=False, fposition_id=False, price_unit=False, currency_id=False, context=None, company_id=None): if context is None: context = {} company_id = company_id if company_id != None else context.get('company_id',False) diff --git a/addons/account/account_unit_test.xml b/addons/account/account_unit_test.xml index 7cede6c1a8d..ad4540b9806 100644 --- a/addons/account/account_unit_test.xml +++ b/addons/account/account_unit_test.xml @@ -11,7 +11,6 @@ <field name="type">out_invoice</field> <field name="account_id" ref="account.a_recv"/> <field name="name">Test invoice 1</field> - <field name="address_contact_id" ref="base.res_partner_address_tang"/> </record> <record id="test_tax_line" model="account.invoice.tax"> <field name="name">Test Tax</field> diff --git a/addons/account/edi/invoice.py b/addons/account/edi/invoice.py index 21f0bb9bad9..7c326fdc467 100644 --- a/addons/account/edi/invoice.py +++ b/addons/account/edi/invoice.py @@ -148,7 +148,6 @@ class account_invoice(osv.osv, EDIMixin): partner_address = res_partner.browse(cr, uid, address_id, context=context) edi_document['partner_id'] = (src_company_id, src_company_name) edi_document.pop('partner_address', False) # ignored - #edi_document['address_contact_id'] = self.edi_m2o(cr, uid, partner_address, context=context) return partner_id diff --git a/addons/account/edi/invoice_action_data.xml b/addons/account/edi/invoice_action_data.xml index fe173ff583a..cdc9ebb0508 100644 --- a/addons/account/edi/invoice_action_data.xml +++ b/addons/account/edi/invoice_action_data.xml @@ -46,8 +46,8 @@ <field name="body_html"><![CDATA[ <div style="font-family: 'Lucica Grande', Ubuntu, Arial, Verdana, sans-serif; font-size: 12px; color: rgb(34, 34, 34); background-color: rgb(255, 255, 255); "> - <p>Hello${object.partner_id.name and ' ' or ''}${object.partner_id.title or ''},</p> - + <p>Hello${object.partner_id.name and ' ' or ''}${object.partner_id.name or ''},</p> + <p>A new invoice is available for ${object.partner_id.name}: </p> <p style="border-left: 1px solid #8e0000; margin-left: 30px;"> diff --git a/addons/account/wizard/account_invoice_refund.py b/addons/account/wizard/account_invoice_refund.py index c425b5e85b7..6cba6ffa826 100644 --- a/addons/account/wizard/account_invoice_refund.py +++ b/addons/account/wizard/account_invoice_refund.py @@ -176,7 +176,6 @@ class account_invoice_refund(osv.osv_memory): invoice = inv_obj.read(cr, uid, [inv.id], ['name', 'type', 'number', 'reference', 'comment', 'date_due', 'partner_id', - 'address_contact_id', 'partner_insite', 'partner_contact', 'partner_ref', 'payment_term', 'account_id', 'currency_id', 'invoice_line', 'tax_line', @@ -197,8 +196,8 @@ class account_invoice_refund(osv.osv_memory): 'period_id': period, 'name': description }) - for field in ('address_contact_id', 'partner_id', - 'account_id', 'currency_id', 'payment_term', 'journal_id'): + for field in ('partner_id', 'account_id', 'currency_id', + 'payment_term', 'journal_id'): invoice[field] = invoice[field] and invoice[field][0] inv_id = inv_obj.create(cr, uid, invoice, {}) if inv.payment_term.id: From 7419c4972514e91dccca47a1eb99e63e66b21941 Mon Sep 17 00:00:00 2001 From: "Bhumika (OpenERP)" <sbh@tinyerp.com> Date: Wed, 7 Mar 2012 16:15:30 +0530 Subject: [PATCH 139/313] [Fix] remove unused field referce bzr revid: sbh@tinyerp.com-20120307104530-wjmgyaj4c9ocrd5i --- addons/event/event.py | 1 - addons/hr_expense/hr_expense.py | 10 ++++------ .../wizard/hr_timesheet_invoice_create.py | 4 ---- addons/membership/membership.py | 1 - addons/mrp_repair/mrp_repair.py | 1 - addons/stock/stock.py | 3 --- 6 files changed, 4 insertions(+), 16 deletions(-) diff --git a/addons/event/event.py b/addons/event/event.py index 99ccddc660d..e09103865f3 100644 --- a/addons/event/event.py +++ b/addons/event/event.py @@ -393,7 +393,6 @@ class event_registration(osv.osv): for reg in self.browse(cr, uid, ids, context=context): val_invoice = inv_pool.onchange_partner_id(cr, uid, [], 'out_invoice', reg.partner_invoice_id.id, False, False) val_invoice['value'].update({'partner_id': reg.partner_invoice_id.id}) - partner_address_id = val_invoice['value']['address_invoice_id'] if not partner_address_id: raise osv.except_osv(_('Error !'), _("Registered partner doesn't have an address to make the invoice.")) diff --git a/addons/hr_expense/hr_expense.py b/addons/hr_expense/hr_expense.py index bac38acee08..9910f43e607 100644 --- a/addons/hr_expense/hr_expense.py +++ b/addons/hr_expense/hr_expense.py @@ -183,18 +183,16 @@ class hr_expense_expense(osv.osv): })) if not exp.employee_id.address_home_id: raise osv.except_osv(_('Error !'), _('The employee must have a Home address.')) - if not exp.employee_id.address_home_id.partner_id: + if not exp.employee_id.address_home_id: raise osv.except_osv(_('Error !'), _("The employee's home address must have a partner linked.")) - acc = exp.employee_id.address_home_id.partner_id.property_account_payable.id - payment_term_id = exp.employee_id.address_home_id.partner_id.property_payment_term.id + acc = exp.employee_id.address_home_id.property_account_payable.id + payment_term_id = exp.employee_id.address_home_id.property_payment_term.id inv = { 'name': exp.name, 'reference': sequence_obj.get(cr, uid, 'hr.expense.invoice'), 'account_id': acc, 'type': 'in_invoice', - 'partner_id': exp.employee_id.address_home_id.partner_id.id, - 'address_invoice_id': exp.employee_id.address_home_id.id, - 'address_contact_id': exp.employee_id.address_home_id.id, + 'partner_id': exp.employee_id.address_home_id.id, 'company_id': company_id, 'origin': exp.name, 'invoice_line': lines, diff --git a/addons/hr_timesheet_invoice/wizard/hr_timesheet_invoice_create.py b/addons/hr_timesheet_invoice/wizard/hr_timesheet_invoice_create.py index 134bde8a872..594a0a31c11 100644 --- a/addons/hr_timesheet_invoice/wizard/hr_timesheet_invoice_create.py +++ b/addons/hr_timesheet_invoice/wizard/hr_timesheet_invoice_create.py @@ -81,10 +81,6 @@ class account_analytic_line(osv.osv): curr_invoice = { 'name': time.strftime('%d/%m/%Y')+' - '+account.name, 'partner_id': account.partner_id.id, - 'address_contact_id': res_partner_obj.address_get(cr, uid, - [account.partner_id.id], adr_pref=['contact'])['contact'], - 'address_invoice_id': res_partner_obj.address_get(cr, uid, - [account.partner_id.id], adr_pref=['invoice'])['invoice'], 'payment_term': partner.property_payment_term.id or False, 'account_id': partner.property_account_receivable.id, 'currency_id': account.pricelist_id.currency_id.id, diff --git a/addons/membership/membership.py b/addons/membership/membership.py index 49495318d60..543f9636f7c 100644 --- a/addons/membership/membership.py +++ b/addons/membership/membership.py @@ -427,7 +427,6 @@ class Partner(osv.osv): invoice_id = invoice_obj.create(cr, uid, { 'partner_id': partner.id, - 'address_invoice_id': addr.get('invoice', False), 'account_id': account_id, 'fiscal_position': fpos_id or False }, context=context) diff --git a/addons/mrp_repair/mrp_repair.py b/addons/mrp_repair/mrp_repair.py index c035833814f..47ca2db5823 100644 --- a/addons/mrp_repair/mrp_repair.py +++ b/addons/mrp_repair/mrp_repair.py @@ -389,7 +389,6 @@ class mrp_repair(osv.osv): 'type': 'out_invoice', 'account_id': account_id, 'partner_id': repair.partner_id.id, - 'address_invoice_id': repair.address_id.id, 'currency_id': repair.pricelist_id.currency_id.id, 'comment': repair.quotation_notes, 'fiscal_position': repair.partner_id.property_account_position.id diff --git a/addons/stock/stock.py b/addons/stock/stock.py index 5a7bf734f8c..8f6a7a594aa 100644 --- a/addons/stock/stock.py +++ b/addons/stock/stock.py @@ -985,9 +985,6 @@ class stock_picking(osv.osv): account_id = partner.property_account_receivable.id else: account_id = partner.property_account_payable.id - address_contact_id, address_invoice_id = \ - self.pool.get('res.partner').address_get(cr, uid, [partner.id], - ['contact', 'invoice']).values() comment = self._get_comment_invoice(cr, uid, picking) invoice_vals = { 'name': picking.name, From e6eb4f31ad4fc2d5009807139e23dadc6b84c9fc Mon Sep 17 00:00:00 2001 From: "Bhumika (OpenERP)" <sbh@tinyerp.com> Date: Wed, 7 Mar 2012 16:19:42 +0530 Subject: [PATCH 140/313] [Fix] hr_expense: fix the field name bzr revid: sbh@tinyerp.com-20120307104942-r2674ngetk44b0y6 --- addons/hr_expense/hr_expense.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/hr_expense/hr_expense.py b/addons/hr_expense/hr_expense.py index 9910f43e607..93327979bdb 100644 --- a/addons/hr_expense/hr_expense.py +++ b/addons/hr_expense/hr_expense.py @@ -198,7 +198,7 @@ class hr_expense_expense(osv.osv): 'invoice_line': lines, 'currency_id': exp.currency_id.id, 'payment_term': payment_term_id, - 'fiscal_position': exp.employee_id.address_home_id.partner_id.property_account_position.id + 'fiscal_position': exp.employee_id.address_home_id.property_account_position.id } if payment_term_id: to_update = invoice_obj.onchange_payment_term_date_invoice(cr, uid, [], payment_term_id, None) From 613e65ebced62839e9abe0acbe3e6dc4af994219 Mon Sep 17 00:00:00 2001 From: Jigar Amin - OpenERP <jam@tinyerp.com> Date: Wed, 7 Mar 2012 16:28:52 +0530 Subject: [PATCH 141/313] [FIX] warning rmeoved address field warning messages bzr revid: jam@tinyerp.com-20120307105852-m4yjnrp2r147t2ho --- addons/warning/warning.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/addons/warning/warning.py b/addons/warning/warning.py index eb8482ee1cb..d01f10b7911 100644 --- a/addons/warning/warning.py +++ b/addons/warning/warning.py @@ -117,8 +117,6 @@ class account_invoice(osv.osv): date_invoice=False, payment_term=False, partner_bank_id=False, company_id=False): if not partner_id: return {'value': { - 'address_contact_id': False , - 'address_invoice_id': False, 'account_id': False, 'payment_term': False, } From 8c2d2ec9a2d3a0703d5f1c382cad0475096ff513 Mon Sep 17 00:00:00 2001 From: Jigar Amin - OpenERP <jam@tinyerp.com> Date: Wed, 7 Mar 2012 16:41:56 +0530 Subject: [PATCH 142/313] [IMP] report_intrastat report are impoved removed address_invoice_id and address_contact_id bzr revid: jam@tinyerp.com-20120307111156-d3q9bonwwolutvmp --- addons/report_intrastat/report/invoice.rml | 10 +++++----- addons/report_intrastat/report_intrastat.py | 5 ++--- .../report_intrastat/test/report_intrastat_report.yml | 3 +-- 3 files changed, 8 insertions(+), 10 deletions(-) diff --git a/addons/report_intrastat/report/invoice.rml b/addons/report_intrastat/report/invoice.rml index 497fa6b44ba..f12bf83adfa 100644 --- a/addons/report_intrastat/report/invoice.rml +++ b/addons/report_intrastat/report/invoice.rml @@ -142,12 +142,12 @@ </td> <td> <para style="terp_default_8">[[ (o.partner_id and o.partner_id.title and o.partner_id.title.name) or '' ]] [[ (o.partner_id and o.partner_id.name) or '' ]]</para> - <para style="terp_default_8">[[ o.address_invoice_id and display_address(o.address_invoice_id) ]] </para> + <para style="terp_default_8">[[ o.partner_id and display_address(o.partner_id) ]] </para> <para style="terp_default_8"> <font color="white"> </font> </para> - <para style="terp_default_8">Tel. : [[ (o.address_invoice_id and o.address_invoice_id.phone) or removeParentNode('para') ]]</para> - <para style="terp_default_8">Fax : [[ (o.address_invoice_id and o.address_invoice_id.fax) or removeParentNode('para') ]]</para> + <para style="terp_default_8">Tel. : [[ (o.partner_id and o.partner_id.phone) or removeParentNode('para') ]]</para> + <para style="terp_default_8">Fax : [[ (o.partner_id and o.partner_id.fax) or removeParentNode('para') ]]</para> <para style="terp_default_8">VAT : [[ (o.partner_id and o.partner_id.vat) or removeParentNode('para') ]]</para> </td> </tr> @@ -184,7 +184,7 @@ <para style="terp_default_Centre_9">[[ formatLang(o.date_invoice,date=True) ]]</para> </td> <td> - <para style="terp_default_Centre_9">[[ (o.address_invoice_id and o.address_invoice_id.partner_id and o.address_invoice_id.partner_id.ref) or ' ' ]]</para> + <para style="terp_default_Centre_9">[[ (o.partner_id and o.partner_id.ref) or ' ' ]]</para> </td> </tr> </blockTable> @@ -398,4 +398,4 @@ <font color="white"> </font> </para> </story> -</document> \ No newline at end of file +</document> diff --git a/addons/report_intrastat/report_intrastat.py b/addons/report_intrastat/report_intrastat.py index ffe90b54d4f..5a0c31bbdcc 100644 --- a/addons/report_intrastat/report_intrastat.py +++ b/addons/report_intrastat/report_intrastat.py @@ -112,10 +112,9 @@ class report_intrastat(osv.osv): left join product_uom uom on uom.id=inv_line.uos_id left join product_uom puom on puom.id = pt.uom_id left join report_intrastat_code intrastat on pt.intrastat_id = intrastat.id - left join (res_partner_address inv_address + left join (res_partner inv_address left join res_country inv_country on (inv_country.id = inv_address.country_id)) - on (inv_address.id = inv.address_invoice_id) - + on (inv_address.id = inv.partner_id) where inv.state in ('open','paid') and inv_line.product_id is not null diff --git a/addons/report_intrastat/test/report_intrastat_report.yml b/addons/report_intrastat/test/report_intrastat_report.yml index 2c85007e70c..82c92c9e7e6 100644 --- a/addons/report_intrastat/test/report_intrastat_report.yml +++ b/addons/report_intrastat/test/report_intrastat_report.yml @@ -4,13 +4,12 @@ !record {model: account.invoice, id: test_invoice_1}: currency_id: base.EUR company_id: base.main_company - address_invoice_id: base.res_partner_address_tang + partner_id: base.res_partner_address_tang partner_id: base.res_partner_asus state: draft type: out_invoice account_id: account.a_recv name: Test invoice 1 - address_contact_id: base.res_partner_address_tang - In order to test the PDF reports defined using report_intrastat module, we print a Intrastat Report - From f974b1c1bde31720ad2c56fae4de39328377a2cb Mon Sep 17 00:00:00 2001 From: Jigar Amin - OpenERP <jam@tinyerp.com> Date: Wed, 7 Mar 2012 17:15:26 +0530 Subject: [PATCH 143/313] [FIX] removed redudent fields in test case bzr revid: jam@tinyerp.com-20120307114526-872u4021dg5mjvf6 --- addons/report_intrastat/test/report_intrastat_report.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/addons/report_intrastat/test/report_intrastat_report.yml b/addons/report_intrastat/test/report_intrastat_report.yml index 82c92c9e7e6..e049c0ffcb8 100644 --- a/addons/report_intrastat/test/report_intrastat_report.yml +++ b/addons/report_intrastat/test/report_intrastat_report.yml @@ -4,7 +4,6 @@ !record {model: account.invoice, id: test_invoice_1}: currency_id: base.EUR company_id: base.main_company - partner_id: base.res_partner_address_tang partner_id: base.res_partner_asus state: draft type: out_invoice From 5a7ac2bbdbb7ef82d1d777572a7f6b02ceb2a3b9 Mon Sep 17 00:00:00 2001 From: Jigar Amin - OpenERP <jam@tinyerp.com> Date: Wed, 7 Mar 2012 17:34:37 +0530 Subject: [PATCH 144/313] [IMP] l10n_be fixed for the invoice and res_partner_address clean up bzr revid: jam@tinyerp.com-20120307120437-6aw31z2mqbgo7h0e --- addons/l10n_be/account_demo.xml | 12 ++++-------- addons/l10n_be/wizard/l10n_be_partner_vat_listing.py | 7 +++---- addons/l10n_be/wizard/l10n_be_vat_intra.py | 3 +-- 3 files changed, 8 insertions(+), 14 deletions(-) diff --git a/addons/l10n_be/account_demo.xml b/addons/l10n_be/account_demo.xml index 697d3c3cfef..88a59c75ab3 100644 --- a/addons/l10n_be/account_demo.xml +++ b/addons/l10n_be/account_demo.xml @@ -6,13 +6,12 @@ <record id="invoice_1" model="account.invoice"> <field name="currency_id" ref="base.EUR"/> <field name="company_id" ref="base.main_company"/> - <field name="address_invoice_id" ref="base.res_partner_address_8"/> <field name="partner_id" ref="base.res_partner_agrolait"/> <field name="journal_id" ref="account.sales_journal"/> <field name="state">draft</field> <field name="type">out_invoice</field> <field name="account_id" ref="a_recv"/> - <field name="address_contact_id" ref="base.res_partner_address_8"/> + <field name="partner_id" ref="base.res_partner_address_8"/> </record> <record id="invoice_1_line_1" model="account.invoice.line"> <field name="name">Otpez Laptop without OS</field> @@ -32,13 +31,12 @@ <record id="invoice_2" model="account.invoice"> <field name="currency_id" ref="base.EUR"/> <field name="company_id" ref="base.main_company"/> - <field name="address_invoice_id" ref="base.res_partner_address_8"/> <field name="partner_id" ref="base.res_partner_agrolait"/> <field name="journal_id" ref="account.sales_journal"/> <field name="state">draft</field> <field name="type">out_invoice</field> <field name="account_id" ref="a_recv"/> - <field name="address_contact_id" ref="base.res_partner_address_8"/> + <field name="partner_id" ref="base.res_partner_address_8"/> <field eval="time.strftime('%Y-%m') + '-01'" name="date_invoice"/> </record> <record id="invoice_2_line_1" model="account.invoice.line"> @@ -60,13 +58,12 @@ <record id="invoice_3" model="account.invoice"> <field name="currency_id" ref="base.EUR"/> <field name="company_id" ref="base.main_company"/> - <field name="address_invoice_id" ref="base.res_partner_address_8"/> <field name="partner_id" ref="base.res_partner_agrolait"/> <field name="journal_id" ref="account.sales_journal"/> <field name="state">draft</field> <field name="type">out_invoice</field> <field name="account_id" ref="a_recv"/> - <field name="address_contact_id" ref="base.res_partner_address_8"/> + <field name="partner_id" ref="base.res_partner_address_8"/> <field eval="time.strftime('%Y-%m') + '-08'" name="date_invoice"/> </record> <record id="invoice_3_line_1" model="account.invoice.line"> @@ -88,13 +85,12 @@ <record id="invoice_4" model="account.invoice"> <field name="currency_id" ref="base.EUR"/> <field name="company_id" ref="base.main_company"/> - <field name="address_invoice_id" ref="base.res_partner_address_8"/> <field name="partner_id" ref="base.res_partner_agrolait"/> <field name="journal_id" ref="account.sales_journal"/> <field name="state">draft</field> <field name="type">out_invoice</field> <field name="account_id" ref="a_recv"/> - <field name="address_contact_id" ref="base.res_partner_address_8"/> + <field name="partner_id" ref="base.res_partner_address_8"/> <field eval="time.strftime('%Y-%m') + '-15'" name="date_invoice"/> </record> <record id="invoice_4_line_1" model="account.invoice.line"> diff --git a/addons/l10n_be/wizard/l10n_be_partner_vat_listing.py b/addons/l10n_be/wizard/l10n_be_partner_vat_listing.py index 37bfd034fae..68ad3f703e1 100644 --- a/addons/l10n_be/wizard/l10n_be_partner_vat_listing.py +++ b/addons/l10n_be/wizard/l10n_be_partner_vat_listing.py @@ -170,7 +170,6 @@ class partner_vat_list(osv.osv_memory): obj_sequence = self.pool.get('ir.sequence') obj_users = self.pool.get('res.users') obj_partner = self.pool.get('res.partner') - obj_addr = self.pool.get('res.partner.address') obj_model_data = self.pool.get('ir.model.data') seq_declarantnum = obj_sequence.get(cr, uid, 'declarantnum') obj_cmpny = obj_users.browse(cr, uid, uid, context=context).company_id @@ -187,12 +186,12 @@ class partner_vat_list(osv.osv_memory): street = city = country = '' addr = obj_partner.address_get(cr, uid, [obj_cmpny.partner_id.id], ['invoice']) if addr.get('invoice',False): - ads = obj_addr.browse(cr, uid, [addr['invoice']], context=context)[0] + ads = obj_partner.browse(cr, uid, [addr['invoice']], context=context)[0] phone = ads.phone.replace(' ','') or '' email = ads.email or '' name = ads.name or '' - city = obj_addr.get_city(cr, uid, ads.id) - zip = obj_addr.browse(cr, uid, ads.id, context=context).zip or '' + city = obj_partner.get_city(cr, uid, ads.id) + zip = obj_partner.browse(cr, uid, ads.id, context=context).zip or '' if not city: city = '' if ads.street: diff --git a/addons/l10n_be/wizard/l10n_be_vat_intra.py b/addons/l10n_be/wizard/l10n_be_vat_intra.py index f784d3953e8..123d235f19b 100644 --- a/addons/l10n_be/wizard/l10n_be_vat_intra.py +++ b/addons/l10n_be/wizard/l10n_be_vat_intra.py @@ -92,7 +92,6 @@ class partner_vat_intra(osv.osv_memory): obj_user = self.pool.get('res.users') obj_sequence = self.pool.get('ir.sequence') obj_partner = self.pool.get('res.partner') - obj_partner_add = self.pool.get('res.partner.address') xmldict = {} post_code = street = city = country = data_clientinfo = '' @@ -131,7 +130,7 @@ class partner_vat_intra(osv.osv_memory): phone = data_company.partner_id.phone or '' if addr.get('invoice',False): - ads = obj_partner_add.browse(cr, uid, [addr['invoice']])[0] + ads = obj_partner.browse(cr, uid, [addr['invoice']])[0] city = (ads.city or '') post_code = (ads.zip or '') if ads.street: From 9d1674317e16d507a15adad011f0d1c76859e330 Mon Sep 17 00:00:00 2001 From: Jigar Amin - OpenERP <jam@tinyerp.com> Date: Wed, 7 Mar 2012 17:47:08 +0530 Subject: [PATCH 145/313] [FIX] warning removed messages partner_address fix for stock.picking bzr revid: jam@tinyerp.com-20120307121708-gv4042pn3g3phmv7 --- addons/warning/warning.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/warning/warning.py b/addons/warning/warning.py index d01f10b7911..3a86b1063f8 100644 --- a/addons/warning/warning.py +++ b/addons/warning/warning.py @@ -152,7 +152,7 @@ class stock_picking(osv.osv): def onchange_partner_in(self, cr, uid, context, partner_id=None): if not partner_id: return {} - partner = self.pool.get('res.partner.address').browse(cr, uid, [partner_id])[0].partner_id + partner = self.pool.get('res.partner').browse(cr, uid, partner_id) warning = {} title = False message = False From 8a6af6fcec437a010d52c3647ba2b8bccfe879ca Mon Sep 17 00:00:00 2001 From: Raphael Collet <rco@openerp.com> Date: Wed, 7 Mar 2012 13:32:39 +0100 Subject: [PATCH 146/313] [FIX] base: fixed wrong field access (company.parent_id) bzr revid: rco@openerp.com-20120307123239-n8om385bfhpyh1ls --- openerp/addons/base/res/res_company.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openerp/addons/base/res/res_company.py b/openerp/addons/base/res/res_company.py index 0da8825c9f1..3d3234ab551 100644 --- a/openerp/addons/base/res/res_company.py +++ b/openerp/addons/base/res/res_company.py @@ -80,7 +80,7 @@ class res_company(osv.osv): for company in self.browse(cr, uid, ids, context=context): result[company.id] = {}.fromkeys(field_names, False) if company.partner_id: - address_data = part_obj.address_get(cr, uid, [company.parent_id.id], adr_pref=['default']) + address_data = part_obj.address_get(cr, uid, [company.partner_id.id], adr_pref=['default']) if address_data['default']: address = part_obj.read(cr, uid, address_data['default'], field_names, context=context) for field in field_names: From 8268ecfee22f68edce42c0cb06563f56020156f4 Mon Sep 17 00:00:00 2001 From: Jigar Amin - OpenERP <jam@tinyerp.com> Date: Wed, 7 Mar 2012 18:23:43 +0530 Subject: [PATCH 147/313] [FIX] sale order partner_id auto crete true bzr revid: jam@tinyerp.com-20120307125343-iiq3e15xpl6w8cy7 --- addons/sale/sale_view.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/sale/sale_view.xml b/addons/sale/sale_view.xml index 5aab17f1a56..992fa39c05b 100644 --- a/addons/sale/sale_view.xml +++ b/addons/sale/sale_view.xml @@ -115,7 +115,7 @@ </group> <notebook colspan="5"> <page string="Sales Order"> - <field name="partner_id" options='{"quick_create": false}' on_change="onchange_partner_id(partner_id)" domain="[('customer','=',True)]" context="{'search_default_customer':1}" required="1"/> + <field name="partner_id" on_change="onchange_partner_id(partner_id)" domain="[('customer','=',True)]" context="{'search_default_customer':1}" required="1"/> <field domain="[('partner_id','=',partner_id)]" name="partner_invoice_id" groups="base.group_extended" options='{"quick_create": false}'/> <field domain="[('partner_id','=',partner_id)]" name="partner_shipping_id" groups="base.group_extended" options='{"quick_create": false}'/> <field domain="[('type','=','sale')]" name="pricelist_id" groups="base.group_extended" on_change="onchange_pricelist_id(pricelist_id,order_line)"/> From 64caa91eea63c3fec0bc41f35b06b5e87b34d409 Mon Sep 17 00:00:00 2001 From: "Bharat Devnani (OpenERP)" <bde@tinyerp.com> Date: Wed, 7 Mar 2012 18:42:48 +0530 Subject: [PATCH 148/313] [REM] removed references of res.partner.address from pos module bzr revid: bde@tinyerp.com-20120307131248-y1aoff857h3ecmru --- addons/point_of_sale/point_of_sale_demo.xml | 2 -- 1 file changed, 2 deletions(-) diff --git a/addons/point_of_sale/point_of_sale_demo.xml b/addons/point_of_sale/point_of_sale_demo.xml index d86d27e04dd..6c52f1d7a9a 100644 --- a/addons/point_of_sale/point_of_sale_demo.xml +++ b/addons/point_of_sale/point_of_sale_demo.xml @@ -31,9 +31,7 @@ <field name="number">SAJ/2010/010</field> <field name="journal_id" ref="account.sales_journal"/> <field name="currency_id" ref="base.EUR"/> - <field name="address_invoice_id" ref="base.res_partner_address_8invoice"/> <field name="user_id" ref="base.user_root"/> - <field name="address_contact_id" ref="base.res_partner_address_8"/> <field name="reference_type">none</field> <field name="company_id" ref="base.main_company"/> <field name="state">open</field> From aa7d348f645948be3a392f2b0da207f0677d3665 Mon Sep 17 00:00:00 2001 From: Jigar Amin - OpenERP <jam@tinyerp.com> Date: Wed, 7 Mar 2012 18:50:50 +0530 Subject: [PATCH 149/313] [ADD] Added new compnay logo bzr revid: jam@tinyerp.com-20120307132050-wysqr94hwodayad1 --- openerp/addons/base/res/company_icon.png | Bin 0 -> 19790 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 openerp/addons/base/res/company_icon.png diff --git a/openerp/addons/base/res/company_icon.png b/openerp/addons/base/res/company_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..10de35e12021107d29b6810cb0acbe126f04d5f8 GIT binary patch literal 19790 zcmXtA1yqyo+a4i|PzOu}$x+fRog<xqFuJ8fQo6&@NXQ6D5eCu%(kUs8gmjm5N!R!O z{^xwpIb&y>ckg+hxZ}F->sq9ms^UY!=Y${-=;13RIVA8N^xq4N4g6I$Jj(#yuw0Rf za8TJ0)fVu9z*$Mp6$Bz8`|pJXO3NSz{)zAQN<|)j4hNr@A2(9gegp)f1HF=y(e#?x zZT610ob;ykIBRV6-|;_~_VE~i2hmA~e5un-H-DA%J|hrWu{uQ`T_#-i>637J@mHk9 zGj?ry^~wRIaRicHIvxbZ{xBUposzZn-)J`RYz?^f_mtXPi<=#@34(Hd`W0ieQdn4~ zQ@+^bdvKn4a@(?4`x1=|$u4_QJMu>UP~*XkCe|CrP*Y(E2_vqQ`#)?!;y>S+wD@^j zS>=yy*+k8ZP0lVZO7Za>*Q#J0Mg|>Lznk1&Y^BAOF)=aWN|~LS($&`|4EdtQLQG8T z=I)+^z+|&6$r>a3W^QgqM@K*4KNcU}*=9Ta_wQQ~ArnM8EI_wVGdVeVd$7Sa&EMZ& zLPBE8ZH9-qS`8N@4Gt^{%C?zraNoJRy{>Wa^z=MGKi_HKqUEH^LxHf!<<+Z=)3dX= zQ~JR<3kwTBfBr-kj?d5Ej*%U%miPAd0*hc(rN@?phmX(M9~H_K1clRq9>gONELh>B z2s)Ha?QDO4|H;Wo*5>-jWlqk2H>s$o0G?RUKtn@gY;3Grzx2PUJj_pIWyL_~1;r{x zJQ1`Jiq^oM2kkVhzxVd=sL?OgPkt%<-_YfF>g(eZP!x3EmX`J3DAQz{w)gPz5>9$$ zPEZe>g+GH!gUwx>ie*3qs2D7U7G73M2yPO>(!;~U#f6u+qpYkfAt3>n2|Q<HV&b$` z6ARgQpxE`+b^fHiy83u`*B(=8t9P}uq$HTB0G1CS12G(Cb%m2E5#U0kK?F=7H82+{ z-Y`sjEhAb<P8})_+cZQ#<V|z+TLX4BCUz!g_Wmp_E&c9LJl~(6l@eBCOF~LWM2xof zN;pZCn@sEK>D9aMX!CuhqNMD%sPrlP*O7CFFL@d$_hM<eBb=X~zqq(K%#`@?<7b2q zVqENZJoo>49Wa0xeg?<G;@WxEOxMD(9_O+|32(w9F2s0Iq;LZBQE(`vTHnFy>?d$s zHa0fgj25e`hkxfPdhX5qw{Sc>heAygU0q$Sn?pt|ej?xy?cyZWf;eh1kBh_Q$jHch zMwO9{@W<BH);ikSP<aX(8m=S+dQ>;!pk5SYPnpdU^_7k|gbo~X{)$Ql1?eWoA}@|| zr3s{4OIU+PaH9XZiSk!HUa0@KKi?~c>@#Zg0B*gz^z(zcx%u_^K|$cHt*)`Lr0?18 zdVdOMzt7cHL3nsLds1KHL5nZ&j6;{5ot?djFM4`<e0_cI6V==HW@{ye4UCKi*Wb_2 z&qsaTojVW{3V@=Fm%;-eVWu2z1X!V9NDOZn1i|%{B`T0IEC+J%%Fnm!z@DO+PS?n& z`Tcs|da=&-=@tL5_{j=Uc7{Q!r~g6ieR<$DmTN^*li%IVWq%6yyR@@^V{hW(;`qDG zx@5ucs%Hk%g@&`G0BgIxx>C&&_x?MQgM<I*rl$<Vx?X;NRsMoBa<wNeE+&R0iuARE z!4*7$huD8{Ghj*T6Dukn0td^0U0A)yAIL!Daw0BNBVAd|TEU23Po=<3Y>@L1<;U)3 z-}4#j>p!Iip8IpXn<v)8S@ShYfTcX+HugK8_k1ER;(ff9CE=^7wVrV>M+*X>;#Y-% zqXAq9e6=j!Rxyr7!ee*p;^Ja)u1;cKcclBn=fUu*l+BH@EYX*ek^vWoITDR$jES#6 z($KJ$gX<RBFsj1{90Jf6TrxPQtL>zn$Bp*$7u~uFMD2YJwXb9Vezz1B1a9AqV+zGR z4GqPgEL&*dpLU#O12GxlmnNg%U+!lX>y#VSzyA!ms$d8|-<>Jl3EQn3^`K|`60Zh7 z`gOSug0P;So$cOXOxVi*yK=p+zUrAtpo6{r%~XZC@A*F9Fna%;G9YSyU%Uuk&;Ey7 zQdSml6m4Rtr-vmSp+u^1eSQ6yR#IG2()ic9IpY#i8myK77J(Zdym{R+-0>G@_7cZ8 zu;1iLru8GWHj4~YzRLCSFtAd4Gt~;Ek9bD~N{fqk3RipXx}@$8XorT4ggt3sZZ{W4 zkvP{6RZ<Lh|9RHVFLK7crL3R}B9$iC9_$9Tdokd8FElh1p5wgI8A;X?`#3JvF9Lt% zg;v|j%F3qH{iS~CnT-Zws2-YN${ZFR9!DkG<aw}QRuRGbD5UMAiQL^Y<m55>PW5+> zg4Jd?45bd`<l@Q_@jUCp^j9kwAqtD^a@3}Py#s8L|MS51HXCT^;%F5xjW?-JQvhGr z$uQAEn_a^|Utw1B7d%56dvIM<1=w&_v(G6T{BK(@4(;VHMdq`8G3UQaZ}yV{z=Rj= z&sx-qCsqtd;Lcnkk3}{!T;WQAf%pHJecVBxRTT=t6$&{>Jb0XPhaW&`^3{+lyV3b> zr7Jo;Jsl42)@4qdu60^GTJ7QgtXyyS6iy}ber+U2HrY~!pr+QZBy8{FeX##`c_q+P z%hxGmX$6_Oh6bObl`f3})#}+jz{Vx~j~T*asc5LFZ(n`=OIwM((uIMLJnrC$0xXga zRj6raZ@&xNF}H&u%+#5c@!8_RROi5wKRG+@Vue=m#P((Mv!P6}+M1efksfk`WZ>Z5 zRmAz1XtE{suk#Q;rWSPr+><6-wMvx;nvRqd8;g;2k=vh(DaL)c*3mmUtux@KY8@U( zvnXB2X`#tuZ)RpjpFTktunb^U=X<l0lao3ePibqhH=O3Ls!gteXcGlEFY}nMETr_< zAflfl&t#Uu3^s$=qef?E8v_^b<{LdNtLnYVZ{1@zhKwGAYy>GM9SvK(j#frTkx+Rs zOl8c+*B9_z*FIOVG!hMZvp+a?+JZk6Y9jhl-{N#y;ywUDz%Woevhy2JEz?jg4{<IX zVF%9wZ$;f|G(CzgruONaB=ONh(OB2}p97aCo7PrV#2pv^3Zx_?MQf18{`>Wtl2_Bi zl9JqD43Z1OWeEa}30#LO*w2<ZI(lV2BjBnB6-5a@_Ln;J7Xu5@3@msFr!>cBrltxz zFSSXVwC3A}oH(f1H-4YBsGD}2Z*Vyo->Rh*_kyhAYgD(iv;cmdR?@FdjYUoQ52ZU( z;vNO{M3nruA|-6D2T-Im2o~{XHhGdhXUTMzB3v@gk}D5Qj)MTVLszFnk_}PfQ8Wpz zTuebcA!^v22|;1J?+?}P7yP69UjyNs==4gc^`;SURjukAlG+cNJkfMedbURosVNt0 z`2quNHv%wCcC|Ay5IPhXmX_}wd>~S`=?#Q=Oq0+4Ts@E?<c7!X&Q!B!s>*^rNx@*# z9(QJ^c}e%}@qYvUi|1G%^eD0rnti3o_5>%$VYaA<Evizu_3&`H!(I@`oU&hGU<x6w zxL<JTJU%zIo%>6Hv1t@O0S^q1Kt_QTz^_=%qxQpP?7cm*x-!en4Y5EMrfP+nz&gE@ zkl6F4F;`YczepqtfZ9tNF?94AHaNL?Rw3(MFX!>cJcHshTu~8a^eXBf=$xr~T&QMi zoaX9yMMU&ipl7PPVs3xc0zIY7<v?4$cjM#Zg=0={=IeL7%Fv`R^zi1J4B?}MI6uZr zRo9`ht$#~PZ$}YshSrvrmbSLN=l({M2Bm)ncZ9yRH#9ajMllufES^gY6W!89)%cm9 zAX-|=uXfcQ$Sj2igTE>{GcpFYV%<n9%OhAJhhhtvg}q}1!>TGOBC)cpd)wQ6n<rat zSG_DCIu<55FmJag^7)qi`C-J4#~+<%{Ppl^<o=ILmQNs%JdnavaTJejP1Wo*>;vwu zy}cc9+TA@0k7y-JY-c|6TQk3SF}vq+v-Vke1MrSOFjX##j|&;8ECF`QP4pvZ4f(f0 zQc&>E<YaA2i=>p4NvXD$Rw()4{{~a3oM@)D)=SBJWi1wr%h}+$ANQerXKjvg-+A8s zLUN!*=Zfpr_1(O$hV@WJz5jL1sxbMgpP<ez8&hI$>Y9}Hg9rs#B3Vvi80vX<)IoxF zbd7z9tq+8?%*om1c&e8rN}G0|gk$KX-OI)E6$#5NpU%{S>phQtm$~l?b*@J%0~5vI z9MzsMq&`wV*?sNTZ|iJ-!Suna7Hib<$dVd!VuD(T!iU#%(u_<fQV5+dM^&A*XRfx1 zuKtX!p&VF0dBR1sblnnRE11stlqglvIF|x9fLy`wJxdPM01OKal16ZOR64TC-C#37 zaesEy*AqSCnrreeo_FL$jU@v|V|0tSTS*}SVkq!DP76yo(*wv4LLu0FGhp=2M`^h( zdpwLrg6$0IE8NA+&C|}!{`<VXkMsRTSF}eXMUNa)_a|Q2TBX0!HG419Yc}Q885wzq zPyYVS<!(BJdwSMxdJCJX5I<UfFA{S2w5^-bV|FkFiFn2ME1!QWCr7)uy6(U6_d0++ zVZ_~`enQ{2ma`whNE(&zss)1OD*iA}58P$MIwC@;LBoiMh@7%T{7<(he5zm=0cCa* z4y!8f?g(zC?o`Oib-;<@KeoUXvhS-SG6X!P`l5SIb?c$t1rvngv^WvKipYYAWEtwS z?!wRW$LdS$D0ZTwOBH6%jj%+_IWkq#^QRqase7h@NEprCGBrC3fQ@di`@7pqKN@om zOiU+(kh&7+=O2&x&w6A?ge`N4gzp*g!-u6MB?E(lKuonuOMZnh@bInDo)F;7RAo<# zVuDIV+&YAB!f8r5IGg=9{$XCH6ipPNky>a&u9V?TEv+PoH29@T|AuRn)qtvs#Qs~V zxwAy3cr|IT`xwMgG@cZ)g3lEcq7(sAM5k)=y>|e~v+4M3uV&jjI1bFG>t|&a+b2^u zl7+#{w=2vW0q<$ZmSlErYi9OUmxB~ub31<imbT@Y^ZZ8bESLT6P3L7K;ATtnHjYVA zJc+$5=+g3XS+L5O0P#mN=7rXs)z>9x9d5%qXCRiIp1Q+uF#<`5CkS~Bp%r}V7!0y- zA?Nq<hj6>3k6U7iaRykkcX22X2p5JTe?<pX8Gdq{pM*xve7xGe`3k|t>4o8e<ly96 z_7zTaN$mR~KD*2Fz0poBygWS4K;DBaTx;M$IZu`u0fW%8;x*R_)yCtP<xcCP+ht6U z;?3_*hBj$6)|2~YEzZ{4`?F51M#U5F>*p>mygUnw^<ESe=_gn7f7B?{<Z8Jd0s@wf zj*fX>CIUkk3a3wqpw<SvuqFMarlAq>5>98w`1*tt>wrT3du+NG2(lyS^3l6$m)UNT z@F;{BwFLM{8-GzvMU!sJbT@>zN6T-R7+b>m$z-o3QE23?KNLgCI_W8&%ll_>a$;hT z{6P)%D+rkmOawsw&|o!0<b$Wu(gck0pNL=<1Lm~>$1G9wbc~xWOWcwrZScQ9K5PS% zdI=2ogZ6jjR#o*C2?=Hu&~MLSa{M3Zz-9AwcSB+aB_$=!L!4j%+2PHTUJFtft~ZL& zEXFh@s_<V$f$ByhzG!K~vd@5nZA+Y3W=~O&qH-!dh{=*VqVLp)&YLSGxX{8PO;E#v zPbFG@<yv2q+GB<qL7e{!6;>+HH-(VIr+1qCZC<U=j2=8YJ9FF|H@ob{kb&*xoxh`b zE5MgeZD*oHfH)2T!$V2(ek<1SN=j#(C>^q_BrNGyxC!e_-Hspmo);{7Z)TRa91~*x zX=M8y0g053)4XWl5#XWW%Jo|F1MBZUD@U;nJmd4IOzhP>xZtXF5HnWX+2X(QX(z;r zL`A2{+I+Kp6A>W;0=1!7d(o}SWy8b1Tge9^<kC?*aImQj6B$yA=PNv7W=7#%6<(b* zdBDNPNy_x3IH_~L7<+@r*i;7ufd|zN5AiKeMAP}FUTH7^46bB}u*WvPXCsy+X-;`{ zclU)1W?^>Fa`d|*DJiMZ^8io%VnXV2wYT@xr27;3NQRPnLoTZtHEek;&i-wR=g+6A zJ)MU;lQf)uY#J1mk<f{q`V>r@<sSC@8uqK3_>B#>(ak^nl!GE&<@tvNQX^y$=}x7i z!iM@j^WiJCL%4fmD(gmU1RNKdyzdwOwT&zRIWK^SX2vE|SU=*XfI4AVi|07QaqBI6 zKqeXj4uf=yto<SiVTt)T>;d+9QRe7dd{8VF)jm;u3?OE^>gSm8%96aKUz;asrrmE) zF#4FYvxhM>l6-a6*wVI^RjClVgjvV(shZ8}`j!w=W)HJbGBpqioy%FS`TK_<%qf+X z)wFopFf&^gZpI>#Tyc<BWXG4_Hh^bYM2knh8m|Z>N9PBN_xql$VlHp*j|yTx#>Vo& zSEbuM;z>yc!1B1V1R*TMw{%uj6<-+W)}Fq7eK=|HyvA%JgBw5+5`p{2>;2XG4`FE4 zg2sjhWTB=Z43xu&Dk@52Uo)C~$@h8rgJRXReQ`@K_+uVK-2UZuSFkB6K3^XkTvxOk z8O(DcnzmzGwln1b4Gm%)w`C7DC-^Kh&^Ky!`R5@=(27XW4r>_^)|Z;n7x61TcyW++ zIO1o0bAykm_vMU10UjP6Gc$9yVoznEfI<*5iZ}UFc-iV@@WHi9i!p*V4}=Y3J*qKp z_%Mjg8VZdk0{j&ctY>TloM6u~<5uHRZ5Xamm^urT@3R057aJtpL;kMl)6hl(URc;U zb)C;P=ZGB>?&Jqm->Mm#A8l4zL>-Klw%~15MR)scw;w!H1nsk!w^E&4{$OQcJX3HE z`_IyA4Md?>BKJRH;zWxON~>_vcm!J)*K>Iv(JqG`<|#AfZ8ijRuz8}z%%o-t9||JP zBRH)NomQ{omGIyD`N2=JHSqrKKeYGg5rWldaWldhkI9mDYKC{AJ0I`;Pg-@<1<p}) zb#-+#fXnNgP0h_^!8zXmAjbkFjQWZK0Zti|T4eG5vZcaEqQiW;C0H4DU=o0@5i(Yo zHeZMvkTVrpsaK%au|+)iOpUybye4FX+2RG*i8qfnif~O9hE*ZUh|%>sbiQ2n6E#T{ zz8Vi+eIX$v4HV``u)%F;Q<r>5NFKTxz;fD2@Glk$hl-vY!a*z^f)R8u08{{|IkLF$ zKRgPYR6#*2J#G8*u3Y^d2Pf-jT5&#!qiZ#6urx-$8GtX-C!2lie481_v|fv-uCJ!# z6{(OQQfwG*n9bYCtd49i62upB0@*PbDu)(`wFcA5^qIV$2v86_HGYBC`I6F7ieBjN zQ(A_`Q<zy$JOlzqMX;?;Xp}ektq)M-7fJ&Gj)fT<%$Y?`hvG@-wM(mMY5HDM3BfZi zfrr|r<usI0;$op7B+9HG6JL~S@AM_H1E6hpe}4hkhMynsUx(6ng2DCFucz{ViZxT? zzAe>jb=w-9uClJJvYocC(PZn2LP7Z85Bq<R79MZE|BIjDs%*=bezKRGzoc4B<AY_@ z*=JRGX;$6T{#Tnq&%qmGt{0V45FI)Z8vceH^`uXEY`0Ez=`!QQqquA5i3&egv%jdb zXrvrM=cQ0gjbsT+vSsx{B7TIfvdn{go8jeL()RW6s*fKZ4tvtm@oH0;o09uvZF(>4 z{x{};#MonR+W%q+$bw0Xv{vf=`EFUVtguCRH2R-jedM=Z0E#fCP!#B=9R2T!i6mua z-fj>Go@z?oRo33N@2|jjT3UXmPBq+yVu><y@;d$a(25)+3x<t7L==8y;adqlc+Fbz zbps*asLcSDWs!n#c-zxa{Z$9UMk&(CX`e)t4GudvmWahNfL1)NM{8SLu1hEJ6&135 zHl`PXWxCFvEXtQM<9?dqoJWwGehJ0uMtM6bOq^v28&l3#^W8gN{=A*&3XR>N2Z6eg zll0x9Wjl?rjV%H0?(WBP^>=r7IAr)M8P7v>k0DBtjLsQDYng?vn{S2(2k~XT;1q7_ zbEOPgRHEMYGOz{}7Ek+?IZf`j{7i7uaVpRogJ&xwgpjz4o)(I!=H}=|mVDJCNulTS zqtzA?BRW~W60LA}305YdFoo8|ZhPlVAaSyVhgPlI2VhV*3#2`CzaZ;c&fMMIJHW%m z!^-q5*vLVtT`a5C<@(QQVXvR3Nu%DINB?$=n2Kz_j4}6GeA(s&6ZK&mP5R<fEBAyc zDoS3>y$ihS`8g^M8Fdkd(aYeD2@E6x3Gi&0=+I2_7W=t1kmUe%Z=jenH#<vt{C9sX zvvxS6+4BHEq!4(1(Pu-!>_L{Or*Lv?h>m=vq3NQv<fK>)<$D=oYWgLf=LlAcYLbnu zm^6gCybhm;jusf^Kr=C~YLiy~6DIs}OZ$&0SI2wr-;T!h{;Pvk*0T_C5oQj|8a8&k zGP8PT;^obqIj#5kxWTgpuO}L2vmQ`+Qz+-41RA-};B))te*S=3B0xNG*g<3Q!j}bu zMluFl**<^G+ud-DAJ%=&C7G&cr1xHbkcXH6mTXB8_It~1<%fQ~VQjFEg#}~OSD@bJ z9m^h+hXy(eev;)oSGhqVg2W7q6CWYAf;*qhbZXRo6hG0@de?$4w<`=+R-#XIfBvwW z9Ge70cl<%SSZjN)>ol#X2m&Hb2$@<-@-(^M5ZYg8*lJve`|WwVEGN526akNbU`z9S zv~=wPq9EfZ#Vl_hb9YNi(*W1p6>npx{LZ^#?)$Fnrps;i#<N|qyWiH-J(1~_bm-un zacvzha@MF2Py(s6vS+53kHvlP#N}mDIKS)pzLt>C3j20L*|t8tY0YeA@_dcM^-NN6 z1xYwLhOE#}GM$Gr5*8msSF)|2qq$2-K`ZHH;bPU`vrJ`)Qs?M!c6G0xE^)$8Gez`= zQ!w)#Po@aU4(q&3=6XUFiJC3yQg*1)zCBsI2Fg!m)1`tiIdybunz-YG-L>bq=5R17 zp1zMI(#6*Ppp&25@4YF|blCXWTqs85TGdVhK{ieVoZr;%q;O;SY@-N3(g+rkN4z_3 zf+Gk${)em&K+<DBAiuIIjAZf8swPdcoBUv(m7KKyQ1>LLcSd|ttrG5?vlpc9QHL_c znskd$;nFb+>->5gdq5%Kr7J{Q-?A`KuLp+VeXnV#)YH@9|7_9leQ$`j+k#w^{T<2X zwAr)YP%OF!5p*Sm$;2I2&Bn&MEW?8gAu40a7-U+`u=3(!S-!U)T?t;xQ#=U$6NWiQ z#dnr-_Q;^ORl%Y)q+Ue_PoUImCmlu-Z}t}NpP5{q5Bemz8o&D^g3kwb<NgBl;8;w* zTo~hFfh)dKH!je5$eQB0ihdnKV!bvX(1;RXruDrGRq%Ipxia>4$(gVVHDy5wXuf<+ zu*s@2#)^>!vpg^#s3bKdKg+8Me<YQ}3f<FJIq~m0*BmY#o>P=)e$`I=O24c))RY`g zl*!N4^<)8!ZQ9PmkGoSA2jOd1vv(BtJD)4<PbqleWPpSqNFyy4+uDK)VrOfb-F%N- zKJX|rQ^Tp@SRg90H(EkKokvzVXPnbCmCJM#(Pp7PQ)>UlNfg?4b+z<sB!}UR%6y%R zr`>yZ_X$%pDK-d#mT$n~v;AFhs;sS{d3Tnc$z$kLi;Cb2r5ehYov$RYZ1%s7&HS4t z{9UhbV7}h}cI8sFfB}P!N2)xgh^DiMVM6wr=?wq6`%uemWJhNA?;&}8$>U%gX?|kr z{BO<vpDSD%jUO~TqOX;G#mK}cz&F_Wx9nF1frgssdJ$o#O<|?W^7wgKt8dO&4J#(n zzAW(V-=(9~TUl9&j@(+V<}vIy*eFkhrzG(DtgN$*{P`a^=Q;C^IIK_Pe_9lugO6E0 z!DZH#5`Y3MjZvz%v!~th%GOw>DkYp4)E;3LQ6otV10l`wn8t$VXAF&wB!vEnK@eIR z9PC@4KmLaErmHM^ZDMc2P{R8SFcc$cB+|)b@vrXr-!i{9i_Hc?t7{H#XOpU*FeG(E zMPcQk`MRNS3Ny#XCn?z=5YN}5BA={&%}_cHhP%W4wOh(b%8z*6Qvxa|HP8FD;hScY zZCV<FjM$>03-z&0vO^$?0fAYWWOQ=}dQcdREjR7VCe9pZ{Xr}D50E_eqGw@B*jT~& z6ulOoTo?F-dBptBmvO|n%FpJ{W^N3Z>I>lnvXNL&Fk4heP$aoIVs09{0t9g(PB0~p z{Yn5^>H9QAVID(#kSY9c_e4%hQ^Gcl83iHK)6?%nAt#icHEL=-fqW}Mz?{=h^(`5Q z7unlGmH0yH+UKlRN6(G3{heDUY@{OqjIL4@=*0*Q;UOmKGUH3K^P<6nNU}Z<Z(zd( zK@=#=A#izhVp(%Ef)xuT^D9%^*VW-cE~nx{^$=b;<nu^e^X)T#vi2DJAroUmgA5%O zA}<tgH~J9767^~58Sx+*DM<N}hrQ!lBIi@yAhE~vpdi=6f={78Wy+^VRE&<*Pzh+H zS;jV7H9KX@(v<&U=1||9>~M66{Zmt_7gt!2n2NUZvP?1myHX*YXPY4DqN44F1%947 z>x0hDqr}ZcA9Jg1u8?@rc4!F?>E+M3s5aUVY_H}ryx^x{Af=CxdcDH=#uwOcWJSgu zd3)5cO&)&;Dbf`5{$4?WN8@2Xc&^!_5W+C4fUKk&$%VWwL}48nF|2W=pkd^AMLQ%R zBi(q9{J+}eO~4%$Pb4(@(0ys^cI!h9jV*-_#KAbYkQBpU_(RRXbNAtADveco(IN2- z)NoyFEPgQdq`4|(ZF<yBU2$>molKH66WFUD_c8$LvT+Hdf_|sRnELB6b!Zxz7akSb z-hzXFP9@Su-cOOXkDqp6Yb>Y#(8&SlV1Jk_Rv?$y&u}(Oo%l%(q9Y(sVOQ48Onck} zdPVWA=rxOSz72CU)r-Y>25hNu&GeC|y>Fz_W36&%od4$nj1pd|sZ+suyGbzZKi-Ny zoZ(FFw~Kn77DlU(t`0Qr`VgQoXxKi_gMun6r*a}jewA$X6hg|bLS72fd=@t4JZjuY zLrOM8fDMa4DHxu?`Ncl0HvMJKJHjm<`5o$Cu`vRILQwW)@IsCNln?sd$0^En2wDV` zc9caAZ`OWIEf3$=*Tk3W2%`PC#szfL88XXeJ;Fzjg$72fLcD&T=s0lO$Tv^C@hWKD zo_`D*t65#4h~nwi#SCnc#Dj6Z{e9kDw<`EYr@d`4YUCA{_;7+aoOrZu<`F1Joh>C= zynMb$K6tUhfgt!R3zQ6;lVg{aPY}6S{DuS@G*Xd%YNsNUh@dAi2X&{y)ws+52o_DZ z(99#~2*3(1ew>GMVnStjS+s%pu+HxT_M&5A!j<=h=GKc>j(-~)EbY?%n8uhgW1tB- z#V;Ftd`BVM$+5h#tII%f^I*6<jGU|p65&Ok(Dw}CnK=0X|D%3sQxljZ530DFeDqR< zKLK$}hepDGbgj1YG+lJ>yo-MQVYTs5;6L*s)6N5P1sSN`mLXrdmgW<Mb_XGGu~0|^ z%-WjdGFLa`6Km3(ex}-UF->|x?agP2m-c+=y%wWTQ&5m8x%$!@<9fI4#&U@!sV-R= z2s6s!{Z?>J#qZ|ptFWFZe~E((i3hkAF+4G#xT2lntl8ioE51TQuF0vXk<{a0QB02y z_DavAkZ)slF5GWZ|Ayu8gkVA8Hesf^+Lr$QE{?JE92U4RO>h?kMocX6lN<-$?E>xD zpKJIxH2+S=vB@>y;Ad{BPX~gDwH<`5^sUeq1;LVGv2b@CtD4QX?PHna`s6om&`W}i zf|Nj1a#VAlKA=$$Na$aS4jr6$62uFlTlqP#m%do{{_;<CahW+83Wln9)@Z%*tM{1{ zhDCFNSau>0ji$qXi)otqHW@9^9F>n?ebTK7a4kOCRnOar2RjRtPp&u%0M2STG{wZY z#ov6f<+dm5)+XwlZ&*V%TSS!<Ta37R<gr9{1I>xih+PnibgAG<NJCb)EHPs@IRg~& zv*Yc_!uVDpEAHEkHmr(@*ic4I`HxTCMSYeG)W<E;()aS4zweF<LKnw!!5~(Y8td;| zwTBFtG25icKXb8;sS2Gis6IJQk7;c2^rJmD{eE`t+o4wXj97RCrl_ds$E*VhYQU9~ z@pan1yS_3A9<g07ExayPt5NSq_!A1!Z%g{6GpFj{kzb>)YROLkA|5K-k+gygx$#uc zQg1FuT(eDVX9w(HbcQp<&i?hXfQ=AJ%(8rXD^vCREj+|HUCyk9p{B)S%V9ZdCpr1u zboS&5i@$6d=gS;Qu4Bp0HRdwvTaSG2ho`dq6|=nsQxNYvcGZ|QSeZ;1gProK-cC5P zz5|fh3Iq}LFdvt2_WLX+UA38KL-F4oJamRdr9e7P>3=Z9RfoG8BL^9^=u=|!!4LPj z#%sA9bh@DLOqFYRbrPy%8D%wXT<`#*p=amyL-%h{31{&o{0r~1)#{qW-p!c1JNul7 zXHN}4xJ6fa(z;-hJqc&$m0!!(o{lEXe(QS&&A-1*aP}XI#;zHfJ~!uBBLUGrvS5os z&VMW6;=FEY)#~c@zMt~C-}jF`-yfK7t!=0qDG|Ei@p3+2*v)KA8EO)7SwoH0@CFqX znZ=Nxh#6v5l?$M1ghRnWAkgB;_pg{rk^G$)Ry8HL&+y*yQ}*)PiOGT&2Ul68MF3yu z7Dv|ijCRid0`mBx_U`x{Tn_mj!OHaQkE7OPU!?L=a}L;dw-0<JMMaw);yp>&&k2gB zwCuDf)AAiw?-R}1d0KoHM{EQWKMT9%)wCSVPnt;FZkz|~2;Ie*_ry})|LQel?t;X? zbjE&I@NLadN7BI<RiC}?6$xtY$PLSXyeFn+VBmi}yU51PL5G*iGNW7Ebh+n*h0DJ+ zw>#hK)=rPIQI>&7+L3rU$*OfDKP$g;WpG?TDg9xm3_NbUKVO?D-qZeo4CQ^9Ihf&f zc8T+b`gI;h2SQLt5WrJ%NH`4&Xi&&N82P5n3Q>@Dh;16FhiKC2Y3U4%@nHv#d+wOc ze2e$(?4r*W0V>zi;}XG2^0X*KLW%G508k-sR?lp5&n<7=9GI?Myx4!Y+UV)OJH5H5 zO=(_Yt3QWpN5Kq}lcO@@VCp1C5|dzGniU4x9Bw4NhRX6M=<BBz>%40@Ac7U8Q?{Ns z-3_+{=j6Vj4!q;fo@SFLF_5a=+2BE;k+Ng&-mUvopB>))NNtFQRC06(kfrj-t3RTa z;^h(F|FJ_%2F8Fs5z(QR=*N+)5?}yGqPvN`9V|m3X5aK%bo0>Ik;*EqLjLD(T91>e z3WibQGmd3}8Owhgo?rMt5v(smw74y5KBl`Du_;eR&cBjAWY50VyK%j^T7R8VW_a0` za;H)?&0#mwK1hj!gELh@f{xnRQb(b_fD4VK?I~*=5ag>l8^UQ;ek-n021a^m^}grJ z1Gjxw4XeW9hbd0;hV}j@nK~w02L~yG`9Ev_eNoIIePBn<;#g4A@cvAU+oaj6LZ8b3 z@)n^o#^K?<C*hW-1@u;ZUbz@aIOELbBi}Zb;=`ioyUwfWl#fSTsUBdrsGHV2grW94 z%8JLgg%Jh4;yv@a*B#uqI{?jzRqhhM^&%P-zj!ma=yxNs{6p4;k{%S?)@eR~r<R(Z zJY1oPNVUQ@t=7z#^86w!cs9okbpI2D0uDR_?@QTr90Qh#0CGdXQRth1wa*0--J;|S zC`~x3%thrxAtU<+j8RhK!P4|{h4P~GWM^=JXr@r>?J<UElUFX-K~dc;(B0k6mH-YW ziP~JFQ|4$lROT`aI3IYosOKllj>%(tNnEVUwkP3Z;p}DaJed{kl(}u#iZ}KuZIBnl z2tVbqliij11tzhAb3*-_rjPwe9ylmN<zGF1s5foj22C9jz^$wLJ_5N(%)b1`KP*`b za7BnVhkjuE=9GoY6k=7J?Q!jAJ;WShDt@Btw&Lkx2;?GwPTJ}DdEjP}PIwre&(+m% zriky^zt1^2Fcd&rvXA>~z}~o*oFouw_p2049Yt@Gwz2f<?`>lu(PJ9P`xT-wjr071 zf})*w#*lrgd?pNW$Kl+$ajn513uz2*cLdt`t;N6TH-R2DZUdf%9Xt>ysk7`$zv1b* zxgZEz+Ebxdge2-=VuRfq-FUDcjkSsxVl10&QS7(2`^&U`m!2lRm+MBp9`}hRx9y#s za^ztZ@*nT7SJ$!P6mC0DzXK)d!l@#@N%zS<cGcN#QXroP$Q(sQ&wV6QzG`mYIo&Nw zT_u@Ztpoknrqe$Ll$4Y%`#{f#p!f9OxQ<12<*T=xheleHn({6<w9;RBnN+7}L_JnM zZ%Q4#_3=6GKBb&28<5I45$C3HdHTlw$iM-mM4!V<8o7LA#2(GAtc4e*SUGLaq}vq% z2M5bd3_gU>hgMjy=_D1qYzCu8_JnI3UX0nQjIGENfO9?`&lE3uuZwZF=IsDpFeqn> zfx#T8V<P7@S;8Q9e^p1qU9fA|TUW`Xd1b&%8rp)1LMj@FX}fW|B$WqbA6eCxx-?!B zcl_PnMih(<OJ46f-TrZs@H%|U9vB_3@L46vq8$kh<$3<Vw7D`E^d^sp*YR~51v4hg zSYd15|N2da-<8R2`Mt)bIyqm<LzOXPq1?gJuPK0&=gZu3loUuSuWtB0hlLP3VbeQj z37lhCu_i{{4e1sRAcWy|3mb5FmDYSMih+RIKBiCJT}oa1k%whptPy43ib<V!@01%i z`-MU}$u$T73Y24YwloV|U|XNu#uNk^|2h%_@7ik9{=h;wrn%xVPABaVE@bynfyi?P z40{QNPBO&ez|ezM$-ki?ykK^)ZE)Nyr`ar<IpJm+Eto{6k-9;(S-;~H+wtWD9b;C< zjG&DGvM}#EadfmcIXy}^?jH*RHZ{2@<g!+X^mJlNe_hn@+)EnKabj6Ls+St~N64lT zgWu9sPa$79W-1-FUilP{FX{)6MOLopqkn!|K2FU?^Ov(ig_{!9_ifQqCqO~Tq;DPF zHrcLrBH>gD^l@~c@<;v}5j}$_bv6fvxiBSAFUkJfAIl9nRu)m-$q0h6?*#dmK*L^K z*EoXZRGeEiqbL+x9Xh^cll<hHK5;uqw_p&ZhnSj8OMDOc)pIfum9tY<DS#;1k}r&| zL&w|4T8vG(>IxDyx5?B!WWtq}mV<1+9hGo7Y>Uo*C`N6yZO6A&Oo;uRGuKKiLb*zq zM=AfH9?jB4-*43vJMZWzs$4;`Fa3+IbBjZnxqPwiXw>9xV!T-_cvI^9X!HI~>Z%6- z9LD9v82ZVF;qjtzhQpXk!xmk}*U>7y*;Hh)?540_^3bftmKH7yluC(<CkXNi1#n@2 zR=zn^*z(LwTE4Bz<zQ^LjVk$AsoWBJ^4T-@`8ASGFcL1el%B8mm(8{ahO*Ht#)Xq8 z5MsbYSQoigo)w{A!IWXY9~p-7LWj9m=3JVPZ-g)^S~?IoX*&y8J0)2(Q<d+t@&i`Z z90*+QW_jSl;zjm-3VRB-$NAZ9?ft(KC;tN=Lq!&%P03qUN$F|}9G((}YUdX6SvI~o z1LAOP{~_$tv>P7QUvJ~a-@C#N;GCig;a*j6q#F6N5DkRL=AMUG77ZH{KB#AmnY7np z$qlRpLW>jfn5#+S!YnmqIG9Jniu97TfX=>7a@wgjN8S0#DAg-miX1eg)qHls4uXpw zRhCRtW|p1&9YIqI6DX>76V2?k5a@8;O-5(DCOQ5)u%&VP0q6d5@t!-DN=i^bIAD2> z0?UHR$;N$G7)A_IN=>#+3+U-0S5(hq6}^4@@bLDY7lu>c8UHqhH;9!T=!S9hlfng_ ze>^>Yjum0H;xM?26=s^6Pmz-4R4^VIK@LkRqE|u|qT0zZ2xw?}5+68MQ}TrcM65;5 zbjwZjkV-+Tc6B$yo*o4W;_t>DE-Z5Z;YLf$$MCXZx&^`r(3RSHuA&aCmh_o@NrWEN zriC;1RZqeU-^+l#m%HBF-2|SUk8b@a;u}-L0^u%?ob;a-?KFfMBGl2s+|b82#S?bD z7RTna*Hdw#N2eWFrXLiM2qxlh2Suv*Khjfq3;E_;e(>Z`hc`G@H`I^VVWXgn=2=Ag zoW1q-f*K80gfwy2LF!(6zD{{yj;D>9uRmlJT$HV;KmQQXadrd$(L$mvSj{skp7JB@ z`!o;Vmg*9vsm-C+ZVpeo648gZ{-uKF(qwa$$X9ev7JDFX8|(E-$NP)x%~-L5o}(0& z-qkeLRQ|il&h*~Gq`Ymkg@3~fFyVWN9ukgKsgM8GD^81Wa<CH39)5utxfucHa;fxW zs=7OJeV^^MV0&n4tPWia#HO3WhDh7s{}fud;8JEj19->2&e9d6Z2}G`8^Lr6s@=CS z<R{|83c}-VrMiqUraiE*W!^3Ymi;+{BFCGvgMfNXHi_HFH#A}{?J!(q(b{WaFhD9& zDfo$re)N+D!=>ROTD*4BcH{up=VeDj7;NY{G`8k0>c;GlS~{N!rL`<Obqw|_L>*2a zTlo5}pT47k1)Bz356qg}c9e4ramU2OprWJ8c90QpEuE+bj+E%p{MDKuO-&3BUvj@S zK)gcx<@laEQszAB{;b@MV1C#iLP^PmNhp)5Kr?RM0FC3xa^szYgZs`GCKtN}Qe=;B zA|ts_JlVrNWOOUt3|d+kG<x(rh8)H1x8WL=)C6!O7H^`ZZqH2oo6Q>)<7mg+n>$3{ zzXVhizOB&{d%L?b98!%5$V2U|*K00$P-+;q7qK~Zd)f^D{7`CqiL6he(<v!qAaaKQ z7rpf=<-TL(`1nr3_rCxB$i#~8bKr%^y$<gWHa1MEK)QSRs--JXL`O?ckax-HJREk- zL%W0~Tk4f+vuBwcn#<)$;Sx_}DR5vqAudAzTN02%+*eE8N6XRw6tT7^LeV~H#6rav z6@g*1HLDar6d8YcvYLH27mS1dH2JBMaf{!^UajL|)7>dRNdRcTJv|;8h}DSPd{#gU zu~WQm)x0elKvf!Z0BfNQRSQi>+njj!vV#Yt0Fl-h)6|*}7<8=J*q4gv_iDYk<W{AU z)cv(S+0P#Lujd0DKx%)gjz(ajE&)gn`^s9h>0RR>Yt#9IH-H8H3z$7{oJ2OkIWIu% zi>=on5FkWwa2Vu?;SRj)&%U19R8Ul;FqeUJ-pfy(%F$PF`onPHO5k8R0j)0H7}@Yg z*}`{jRntxWw=>!Pr*RPYi|o5!*7rlh^?TZL3T*&b{~U?E>E}B>tXk{kZ#nH)P23-a zzr{d6+`s!{wqU_)PprI&&wIxM5Ozr2y=ZN)9;R75cbA`k6b{Dv%7V~~WEo}cNF^N; z0H_01(=q)coa_`%%<}4X)iYaT1pr4$jSHyvl5LzeJPq5pE^v1;V2X_Y>(+9IA9&a; z)WXZld$bbGO(Wrh_Re~a`>RG|vvOK_yMYx&BM*T;F=slA*jrK<Q<8arC2<%R6BoEW zmR;|2Ig0V*YB`zNfx!DK<^0L2E5GllDZj14C?>E9qm;loiaAfinv8Q|Q@V8%KZ(R{ zU#de515Rfb@BXlBc<%4cH=er=O9=5xWQMgtNor@62=$!EGZe)~+oex%I0@}%^V6Q% zYbp>u=>BFeIOx{kQ2RjPSB-qG%f8s+f1LE28}Us;86`wLKh>?!XT!rpHoEa2PeG*@ zKA=NgGLZd56hLUe1y`pHUh-QTH#+B(mzPi5TjAlWv&pL@)^WWgP8k&h=&P|6!>Roc zr2;havBIb|+lz}fMX8$ewcgE?<o&sp%hD9%tc<j)XZP3lXN7P4uckC!AXXWsTpdtp zq#)KjG?<<Y{#n^F4Bucd-%&5M;t^g7mr1MJ`To-3h}6YI;MH7@iSTK&P`T=xG36l^ zH<9={`jXebvA?ilg+@?@>HqSLX^<f|<=~7aGdunFEuZ2W+iON_txT?z0uyg0Vp%0{ z9u(FovKdyvuXdJ7R29%B0ul@BP*fKX6JtktU9P794D15QQ-CcW*OU9F)}a<%IbkF0 zQ9OoxIR7aKCo&b0!wpCv9?^&cLZD{jH%yg*hu8P}ad(SSes^TFi>*%d#2t^{g2LoX zW6TVV4X=i3Tiw@3*Wo#bu7G_GOWwO^S%$)~$jGmaN<DHbD->8?x|?4Eq<t5vf*QS# zir!tENiL<jjq{R#4gz47trk9+Whf3HzQ&P6Cs@t~-mjEX`d_z5eZ_*ozv-8@{2P5; z-g32FX4EKocN7Qgiqi*??mAr#ZAP0~(HaM!E6ozs2c?jUQ0q{Jgna5<le#`=nJN)l z@YyLHD_FSeFAvQ9ZPQdPPNbw|33#Z*o2$u|>r9={2u&^O*_Qz9zE#dq`=(utMiS&e z%={fxupM>tE%nM~vEbci4%PbA`ka|6wox>m6{ayplmF2w(w(x>vIEJ_DO-hjb`xBW z>IyL8NJ)Iqt@Bo3D{}~4YDPvAfJWQe+RkF=u+_!M=sznz&wu)uz1T^cX{pyO*^~fx zE#qBL#paeoZf<VtAyKRI#=vK8|E<>mOaE<8_O`I^)p%{oC9+sg3gF-l`<?Lzo=r$S zy7|Q?paqNv^n_G8V3{YQ6B84*voUI57pj5Cg2X2$p<Z`hH!%R6v-NhiRf3;?_4>{O zZ|j8#Ej;=YjeI_6RxmIeyJlD}gC+dHVWjR06^M>0L@f^ffB}YjO2TyLTuhM883rRw zSiz@T`Kkvnsi#W%3?J3Z>XXN-rh8D0*gdow?dE@T-*s@GRrS;~1_jNB=#!Vsr%O8j z9pP`ic@4}b)a;0f1{?P6Krub(>ZU1|<yXxq-S`JJ7m3Ll8FG(4ON|I6#0S@x;BPyG ziz#5$#rmqtLsM@@68cE2kyfXBhXWs0rpmno{AJpZ?zI;`?xH^`yd*X-7<8z}NQj4H zLx#N)K}sN|i=~XLb3`MZy)0Ckk!}e*t5oJLnp0-eMc>V%_Jrif?fxyq2k0OZR*}4C z)gXG1+;2KOhGc~*2)1*A;&I{FteBtZ?CVRDo5t1~c5;}O&Vc5OHJe-|j_H_tp5=zm zm95}AvXZBSjEP%6X0>J?y)1obs)0xv)eLOaXW<we$dL5E0vIiWR%GAYtg*MRF|=YU z?E<Z|D5)D;*7aiq2I)dwU|b%!RL*`Q{ozEGP)CYKh??YO0z&(bP;yGjLzU$WSzO*= zo{)S;w^O%wK>I3U&uieg<=$6#v)7_hjpaw0dlD-IPSD=AIcQbYSeyd+x@AC?1+akh z^^e7eD>-^x%&rrMH$^s0u4g8PvLp-&HER+)(vSS;C@&c5C8P?mpFZ6vN>7j7!Dc0a zgZo-9u@BPAj%B#0rD(!N`37Pg$>2QL8LmmJU}-SSl2~FJ*9>JAlRmfss4C{N&at>b z^u5q_^3@EdlG3Yy2;QNM=t51lL!+oyB?WfXX{y!~IYnh%R++roY)OF0aZb7eLOh}? z9HG{+_M55rLk5<&{}c0Fw6tpUzwh~WN&DuC_Rx?*ixorOhfW%C3pFFX`sri&!8L1m zqoy^SjU%PMtI5Z}y8>$F-u-0qbkGjsgE13gNPYc<56;s`KDpyQTZ2LOTJWXxkMEp% z2~ur}r}Q(CMqUW)+6OP3QA@rJlzh8r9)2pT5mZ~TU{@_DBs4pyoe?4}Mof!>)Qb5) zk6GlvPOEz!lT)hWw>x={F#=wB&I2MnvAXqQdY?s5!UaX${wdyN5I&d%L}7>jTx|Wl zW-(Cu605NhkjqU_X10eZ!${*c*wc{DGs2SwCkkJYAD7rNlc;@ALc9`Ft^RFjU_5ja zxM!pnM>Xj#d9Llg*IdpoL23PhVTuoz1o^A8@~d=&9D<LD^2{KM7?<FNow)V6_dv9L zsscHkDmMFL1^Qn4@R~Xsm`LnPGsYq1gX@Kf`Re)faD#b{A!3SHxv1|YKFcAW;S;yp zStpqX8NRBFUrD}BJuNs_FDIHGx({e_-_IU)@d-Tr6=G&UYy$_w7v7{-2F4nM??3ne zY1cf$$C1V$ize)Dje(PtrvxI6>Azsbp>2~&zv~vt2BIdSTAx~q?CWagviwR}h#;J= z9gi;LyZQ9J8;}U=ln0y`3^&~z_bYBZBi3`{pzqH8^+TP9oEVQ<YtKCE3g;K?QoAgS zR0c<gR3SzVI|7vawd<)ien%N28(f%&6t~BPusN%!DERYdUA6~UDw|#oqDG_mQex-a z|7oDycarmM-}AlvM}RN+-LvbwTymBvTf5l6zyP3q-Wr0SgrPpoq9g9ioOCh4$S+f~ zGM_jdg`rpBt@n-3jJ=it%~R|3{K1sPu|&dh^J+&VmZ^umz;l2SU=A=37Vl0|UZ`eF z-MLxY+P;EX_HPq~K#1}DC22uh9*xs}LzN{;jPJj^T=mLh`DFRnQeHseX?lMTGv~yP zd+aJ?C9GrlP2km-$^F$NK(jXg2-nNK?lq6o`TRY<4c}WI&PpRjKt*_Isdv*s8xXkj z=S77sM`l)LW~PJy2>3$3m1oEDcghcSn^s2wm~@G#wxgYQ?8WS_3sjpA_W^<A?U|T; z25Qoc<`+fNeV}3-dkg^#5WQMkhfk;n9{0XD@-n347e^Fw^dEUO0pghGE~~07`I!en ztA3KS5dHE$ARgC(fL0Sg*ah*ETyz$mo1VTriVGa*Caw@uq)&MDF$*8ZFMY#&w+n>R z^E|(=Qdp?=`*)s#Z=_6aJmeNt(||DUWaH1=+}!r|6%6!E6LHXdZY)ldo%vcZS3USy z^9!f$z>!`J2(C031Tav_vqVmGfQr=}{^Ww+$>7dp`Qt0m=3LaRF-2%3?U}Z)27=qT z>EiYv@P4ZxTheu70FZu8mrmI}0thj$(!SFjFfVzx%mT#Rmsy)*TLQx;_EC_rUO?w} zeYI20Pb=vy7`uuc+!h=c1>tY-)nmqDb8ad8_itqdE)2y+u~7aY0)y;lhb;K^Jgx(< zzMx}^v_|)rS{DAg&rTb%KoM^W%qmjpz-W3pVke=Bp_x|o6-f##Y48KA`_sfXS$?|} zaZ+~|?Oh+w7Xw>=+st)<VPBrRcv*i^oti!W2th6`+zsy;9NcW{0M`L$z_S07@&^ym zy!qn?vh6l`B&6hvYWbS(8K#AEgBv%XsNol%^KHn%IUa)7{k02Mm&1W~zZGfqlAn+V zB6l$sG7(pPqvTJ9Q}(X}|A=CNAnj;Ul(WEdJwrp~&K0V-2uaYkS{oSrz&_2Ye3J4} zctE(v`^MnUmpHk&0dX(m6JLET3}bm4!x{8xq1^ERcjqHes!(QrF_`r2+7K1HN#@;5 zCZqJPcv0zgJ^S`j1CSSOavM%fP5rWXkDp~K8zd|}CycW4%rjP@40=z6`7wL2$z>0c z7I=O;-Fn~in!6eLQK5RvR)G93)g<-eNFG!pD&%M9@%!4@CybGgag|>+xU6<B-W`VP zlp9;lPoD>pW-y8ri9T2K*l&ca{E=N?^}D*g>*@-<y!3wcGy*5KAiBwXx}oem9EXx6 ziOE1Cq>3n<N9M>&{Ijy)^M^eyJaE)ZscO~ymPO@sVd1}VO=RX;CIPmy6rmL#fh##6 zhWOKD3kavYy)Vb3xdDiGDdd#B*l>B|Y;v?9hr5t#e?ZI99fNE(zW*H;@DDgOQYQoa zi`NV1fb2U!N^ADdR}hH!*MGkY5EDNe@nKb1klNkVmF#SAqQ#ukE8uafg+gHE)o!hv zdPb%SH#ax_2N}Xg7+gTM7DNaCB~9zrXe4+NY3lyBC8sA&3R84vAT}#jE9o%4Q-ia6 z2<+0%xzk2;eW8V&ogHFKKs*4TqcEX-QpRAo!4HERC}C(NMq}^wBtVPgangN%GnsyW z`x76y?YsnNx0l{aF>?1AKNxoDceguT<<xZ44M;}Gel)9wQq#}Q%v^PG2OM=%I*r>^ zzgoC)T=*p<sooU6tsD@&3Zc}Yi0c73Cy>5BG*~Wel>@4crH}E@fCh%8iz-D)6%b~Z zv(DoO5@C?G!c^N0S;N+z9v*B-eJDe|w@k01n7(cmQV5QKSeVE0P+&E=zZOEkq#u@< zXJDCUZK`zCd7o?;IJLT79$VHp2TKR7)<p)3IyWr@yJ8;sG08w~0`4CN9OA?r)w^y2 zO){E3-`eWbtgHY)^4%=n^IGD=&!xV;(VO-XI&kMtY3iptbjl9V|9qNN3s!|6S(=f+ z_1gk10$c(DvfO){OhBo$f+~q0u?1Dkg{dl!)F$kb68<kH3)%EbMBQffK8|M{P=moB z<~et8h_{8DJK_bqPMbOu+z!Q-NehL-mG`b*x^$`4Y60Ay1#{<2DKz=ZIJ74B&O7;h zJ~lV5-|st)jS%*3slC<@ZpSvsWb*j&;}|0r?ovuH<^VvF#QE8|#pNYU(+D9z9RQ#N z0U{LeK<~9%J;NMOz-*3-AV{fHYGL6>Fc^?!MNwo)lH_FS5Iewo6^ljFG>5}stybCI z-Yymj`e49J8^x|J77m9~sZ=Bq@r^5O$K;;?p%k!7Zrqo4C}0>{)k3lOlb`%!CX-<; z1{}u%z?3?lK~wSqaG*we?>CLd<0ns^<avw`H}MMT^wiO#M`Q5_g4=r(5J3nHM`owh z?zcNOCCsaHoG%;>E-$a9QYl$hXJ)1!KvI5sdYTy}RaKM8sd~Mh$?Rk@8C};Ap%@{@ zacZ?%vsL#8LQ~09G#V8Ifi+KJUK%kngV;<#0u-|)WVSLAiAa(_fMN=SH~>J1y+_)- z|F{|s>Rx=G*;>;ySx;$7DaL#(7Fu6lpHI(V!AHTNjDj=5O=+vyX*L>`Wr5q*i)xxS zzpy+vH^aic`<$$LziQ~z)D!@)n({;<vAn#T$>g%x-FCap7y@yi(`xtH9Zk~`$z(Jh zlSOIb70@JvBgnh`fl>;N<G5p#_va7x4`06jV!cDHJ^&bo!NzB(s=B_uzO-~iRn>7X zWMGz^5;D;BdZVHD`xF2pL@4Eb;`H?N($Z2i8kJ?4eX<WFACO9=0H9K-NRkkV#Fmzh z<Z`*)-Q8xpMQn#{!(Ok~@Au24QY;orBoeas)F5(aCQlZX<>*79fTz*PXS6)~^`!%s z{%#x;01U&*=krfI@r|#2?Q7vsh<)jI{D5UP>y37+WjhWNX(&K68eLjin@XotS&<Ym z5j)&S;d}XjJxVvREdVf^P209D%N~t}mSr2pNZ0jJsg%oP8?B~oS_m<>M-gz6B!xnu zSS+q6GU6}=3kaeFAxwz_fS7G@nvL%JAAa!eyO(x%Z&?<DVbXpc{$H=VXK^RYo!Pm2 z{I1snOOo{D6HmPO;){z*3xGJ+(=tYlFxXbNr?bYh?wVkvD9UVlW^Q3V5C}3+L=;6i z7DMAa{^teYKGVX*V$m=RUDqp>%FfQMYNcYDCU^u}Vcb7h3#c68UBQP^Mx|l=V~tkx z`iIxfpFh8~b(00FUJicPLXErq)}9@}w&2mDN6(yj<;f?Xlw`rNsprT80fKa0FIOtP zo=%9(f?>>a)2XTD<<)pRF3WN{o&M})C7%<3$*Y!1CBv|WL%mupXEK>msWcjmFrk!l z#YG>_`vZYwBH{P@F~_kc^DIPQ90_5JFzt2q&CShs-np>3x!Lzr7#zM*=Dyx*dOCIb z^y%lGdoCOfyN1gFKyFZJnr6LLtJmwMWdTN*0=NOe+T3hfQT@SS@E#ohivz$L!LgY; zj4Tz4<-wruswe;yfK7pqMWcaWkoRFA2oY)n9jjafD8>kl4C4<U{r;WbT=?+A>zz&q z9>S$*+PA*-&2NAE+w=4Dj5aaQFrfs2LrA;TDpxA(^ecM>S(ayK=T}yiLZOHxNsO3$ z-omN}3%~>hcJiy)Y-V!1g<QVh>k&^*mBUz3)kq`~3Wa<=-|b8Tn?gR8eGJpw-rhcc ze&g!Z%Z*0sGc<!a(Eji||M=sNfA_nuJ^uBt^FAMO95-|yS3Ky0L8(}5wptSd$n$(6 zkyu?_Po)yFtftfH&rksI&;g*7QpYwLP1|;dwvR?5%d)%OPO(@l<no<fmpX)bX_ySN z3Ppnc06TI8)S<+sN-WssftrLC^M%WoFJHNGrCP1olpOZeC(afjG&?(U`o&Wx{^F!x z)d(R3C_w}h3KY9Gr(Unrs^-X;I9tEpzqq(KJ3FVU3M;G=1VN6)59MsX&>i5tI-O3p z+cizI+wGQ0g={9%8q+uypka(fK?sH-p-@1QBo+pPH<kuqQD~`DxpL*wZ-4vSOeSO7 z#7#*7+3#Qv<eHI4==tZLKXvL<I-Mp!VKVUtfTLhj(rUL0`Fy9_o!mhZ#ku+Um6er9 zBqmA1^z_UFU!R8#z@+|(DSG{Wzg#Y7v%8H(!(sxThb;L6fp91!N)nsSb6dz8KP5t_ z(X4&&{<V#bjZZ$gWqOh)2c>%4;7^jIr=B|go!4GFcI+7DIM?Qk^Lmuh;b2fG6spy# z?Kl`w0+hqPcs#zgwl+OIqbSPE%*=zbIgbVa7Y5s|Rw{;N>bhR9R<hY_tyZ&!BZ9{@ z#sEBz71bXOg=9tHF!qx9$=8h#>UO&~Zrr$V;lf8B9gtv{R9s*TYin!Y`Od2+PMlB_ zg*Xl()EOr*5P)sll}aU_&+CK1q_|4cwB_aHrKKgmKY0J5!XE(uUV)E!h(@E4&F)sp z<)LYS;|jUV>B+LpPNus${&*%W1qT3tVvMn_>swn}8yg$fu3hW*2YU=rDwR5Y`t%Eb z^L#8GcOz{NiVh*|b~~HRHk(aGf+?kf&o?tWzqYo<#)^I(g8yio@ZI+5B%@^Zy3Sx= z+YVE_P1770!(O{vDC8@p@^Cn03Oi7YfdGd^NeO6vMNv2(&sqbr+cB>I0Eok;Y3}Uo zT)K4W`t|FrR+|E-ihSb4iC12F`N)wYll%d5C+r#yj6x}2snjgP&2wN5!jag@%F6U~ zT2)o%Y<)hS$;c1M{yefBaAy%lh2<XF?RK$PEEaN|e$ORK08H=_MbRG!Xnuv~c~^_~ zR*nE5j2*|x<#HPv8`Wy{)iY;~A3rV#f^FL#7lHv(V%gPdb$55S*Y8iZi>j(iOG_&& zE8%cd6h$U^eKFUg2f#~~48!R4I)y@^P%3s?ZMQ58A&!EBKomvRzMsLcUvFTiv_w%% zCK3*{fgpBr1OO;tpiZaT-`%-Ytyal+NBVrebUMAhek_$rNs@HfMgw0S0K8<0DNE&Y zF`v)3S}n`6ut!<qeLhuDG{2t}rti<_g*3k!40st7LTEG^<#M@fE@zBJ7&A=)g~Q?X z_4S2?MNQK_zo_tK0KhBojZ9;x4{EhqA)l?)>y~9r@*x1gbDS*8nx+Y&=q*%c1tYA! ziY>k4IMr%(duON9ZcjdZMNt+P7uVK~Mj{VPRQNIgz#e8$F4?wY7^Bf>WSiE|Fq+Lq zxm>PSYa?@r09e!t7-0;OD5{Fzr${`wxlg~Q__ZLDmHK*jH<PQB$~JKj5I`J<a4MBr zU0<7;nvx`W>}-8vG=h2GS3BUY0-s?R&1SPu$W<zp;b1VX6eJWd^U|uOvGxakzdsxf zk4B?Hp|G>PJs3v`l+tiGytcNsyu7Sw0ZEb`D#8Eq0N}z<DVw9)WT{dv>bic%2^NGz zK~NMWo=6ZvKK*pN(WudJE?N}Dg@wgq$JV3Ks4T08${KzJzyX}K*Xxx^g<`Qd==Lm1 zCR80G<Pg&9c8zf%6UI21OddP-*zD}Asy;{|^G^|gJ)E`Q?^i07Vlm%ow;jh#N)HBu zp5EsWW)696?dZzNN-+4)MTIXp0B+dj*k-foI1bA<7=|%2t<hjmuh%N2a;w#{ZF@M< zbzS!f(#*`vL{wn@R?svd5cp~bJb2D(n&x0IsMqVoVlki3VvLU+du(B0fwhM{Y$Ls| z0QigopJ|$-(Wu#Ms;V3agk)L%B1MHibpY5^E|*!`sz(@G{YeAxM|a^b)63j0C$+6Z keOQn1EBtB)JmTyB006U?Q$K+@GXMYp07*qoM6N<$g0|xSivR!s literal 0 HcmV?d00001 From 45b67c9c81aeabed9f9afda8eb1c7ec20d237ed1 Mon Sep 17 00:00:00 2001 From: Jigar Amin - OpenERP <jam@tinyerp.com> Date: Wed, 7 Mar 2012 18:52:43 +0530 Subject: [PATCH 150/313] [IMP] new company image link and removed name_get space bzr revid: jam@tinyerp.com-20120307132243-blqm748i2iq1qv2l --- openerp/addons/base/res/res_partner.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index db13cb9681c..de9af85caea 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -177,7 +177,7 @@ class res_partner(osv.osv): def _get_photo(self, cr, uid, is_company, context=None): if is_company == 'contact': return open(os.path.join( tools.config['root_path'], 'addons', 'base', 'res', 'photo.png'), 'rb') .read().encode('base64') - return open(os.path.join( tools.config['root_path'], 'addons', 'base', 'res', 'res_company_logo.png'), 'rb') .read().encode('base64') + return open(os.path.join( tools.config['root_path'], 'addons', 'base', 'res', 'company_icon.png'), 'rb') .read().encode('base64') _defaults = { 'active': True, @@ -301,7 +301,7 @@ class res_partner(osv.osv): for record in reads: name = record.get('name', '/') if record['parent_id']: - name = "%s ( %s )"%(name, record['parent_id'][1]) + name = "%s (%s)"%(name, record['parent_id'][1]) res.append((record['id'], name)) return res From c53c5a9d9eef8919da5dcd131d03ae29b5074a18 Mon Sep 17 00:00:00 2001 From: Raphael Collet <rco@openerp.com> Date: Wed, 7 Mar 2012 16:12:33 +0100 Subject: [PATCH 151/313] [IMP] base: fix typo and reindent code bzr revid: rco@openerp.com-20120307151233-tnlx0rgo6k13oko9 --- openerp/addons/base/res/res_partner.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index de9af85caea..f05d6641929 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -21,8 +21,7 @@ import os import math -from osv import osv -from osv import fields +from osv import osv, fields import tools from tools.translate import _ import logging @@ -137,7 +136,7 @@ class res_partner(osv.osv): 'bank_ids': fields.one2many('res.partner.bank', 'partner_id', 'Banks'), 'website': fields.char('Website',size=64, help="Website of Partner."), 'comment': fields.text('Notes'), - 'address': fields.one2many('res.partner.address', 'partner_id', 'Contacts'), # it should be remove in vesion 7 but for now it use for backward compatibility + 'address': fields.one2many('res.partner.address', 'partner_id', 'Contacts'), # should be removed in version 7, but kept until then for backward compatibility 'category_id': fields.many2many('res.partner.category', 'res_partner_category_rel', 'partner_id', 'category_id', 'Categories'), 'events': fields.one2many('res.partner.event', 'partner_id', 'Events'), 'credit_limit': fields.float(string='Credit Limit'), @@ -149,7 +148,8 @@ class res_partner(osv.osv): 'function': fields.char('Function', size=128), 'type': fields.selection( [('default','Default'),('invoice','Invoice'), ('delivery','Delivery'), ('contact','Contact'), - ('other','Other')],'Address Type', help="Used to select automatically the right address according to the context in sales and purchases documents."), + ('other','Other')], + 'Address Type', help="Used to select automatically the right address according to the context in sales and purchases documents."), 'street': fields.char('Street', size=128), 'street2': fields.char('Street2', size=128), 'zip': fields.char('Zip', change_default=True, size=24), From 91ff1b477a38f59b66659dd9a627e29ac649d98d Mon Sep 17 00:00:00 2001 From: Raphael Collet <rco@openerp.com> Date: Wed, 7 Mar 2012 16:19:42 +0100 Subject: [PATCH 152/313] [IMP] base: change the res.partner field is_company into a boolean field bzr revid: rco@openerp.com-20120307151942-t73orqjvgu5jwybw --- openerp/addons/base/res/res_partner.py | 102 ++++++++----------- openerp/addons/base/res/res_partner_demo.xml | 54 +++++----- openerp/addons/base/res/res_partner_view.xml | 41 +++++--- 3 files changed, 97 insertions(+), 100 deletions(-) diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index f05d6641929..10700c536f5 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -161,7 +161,7 @@ class res_partner(osv.osv): 'fax': fields.char('Fax', size=64), 'mobile': fields.char('Mobile', size=64), 'birthdate': fields.char('Birthdate', size=64), - 'is_company': fields.selection( [ ('contact','Person'),('partner','Company') ],'Contact Type', help="Select if the partner is a company or person"), + 'is_company': fields.boolean('Company', help="Check if the contact is a company, otherwise it is a person"), 'use_parent_address': fields.boolean('Use Company Address', help="Check to use the company's address"), 'photo': fields.binary('Photo'), 'company_id': fields.many2one('res.company', 'Company', select=1), @@ -175,9 +175,11 @@ class res_partner(osv.osv): return False def _get_photo(self, cr, uid, is_company, context=None): - if is_company == 'contact': - return open(os.path.join( tools.config['root_path'], 'addons', 'base', 'res', 'photo.png'), 'rb') .read().encode('base64') - return open(os.path.join( tools.config['root_path'], 'addons', 'base', 'res', 'company_icon.png'), 'rb') .read().encode('base64') + if is_company: + path = os.path.join( tools.config['root_path'], 'addons', 'base', 'res', 'company_icon.png') + else: + path = os.path.join( tools.config['root_path'], 'addons', 'base', 'res', 'photo.png') + return open(path, 'rb').read().encode('base64') _defaults = { 'active': True, @@ -185,10 +187,10 @@ class res_partner(osv.osv): 'category_id': _default_category, 'company_id': lambda s,cr,uid,c: s.pool.get('res.company')._company_default_get(cr, uid, 'res.partner', context=c), 'color': 0, - 'is_company': 'contact', + 'is_company': False, 'type': 'default', - 'use_parent_address':True, - 'photo': _get_photo, + 'use_parent_address': True, + 'photo': lambda self, cr, uid, context: self._get_photo(cr, uid, False, context) } def copy(self, cr, uid, id, default=None, context=None): @@ -198,19 +200,16 @@ class res_partner(osv.osv): default.update({'name': _('%s (copy)')%(name), 'events':[]}) return super(res_partner, self).copy(cr, uid, id, default, context) - def onchange_type(self, cr, uid, ids, is_company, title, child_ids, photo,context=None): - value = {'value': {'is_comapny': '', 'title': '','photo':''}} - if is_company == 'contact': - value['value'] = {'is_company': is_company, - 'title': '','child_ids':[(5,)], - 'photo': self._get_photo(cr, uid, is_company, context)} - elif is_company == 'partner': - value['value'] = {'is_company': is_company, - 'title': '', - 'parent_id':False, - 'photo': self._get_photo(cr, uid, is_company, context)} - return value - + def onchange_type(self, cr, uid, ids, is_company, context=None): + value = {'title': False, + 'photo': self._get_photo(cr, uid, is_company, context)} + if is_company: + value['parent_id'] = False + domain = {'title': [('domain', '=', 'partner')]} + else: + value['child_ids'] = [(5,)] + domain = {'title': [('domain', '=', 'contact')]} + return {'value': value, 'domain': domain} def onchange_address(self, cr, uid, ids, use_parent_address, parent_id, context=None): vals = {'value':{}} @@ -248,44 +247,37 @@ class res_partner(osv.osv): return False return True +# _constraints = [(_check_ean_key, 'Error: Invalid ean code', ['ean13'])] def write(self, cr, uid, ids, vals, context=None): - # Update the all child and parent_id record - update_ids=False + # Update all children and parent_id records if isinstance(ids, (int, long)): ids = [ids] - for partner_id in self.browse(cr, uid, ids, context=context): - is_company=partner_id.is_company - parent_id=partner_id.parent_id.id - if is_company == 'contact' and parent_id: - update_ids= self.search(cr, uid, [('parent_id', '=', parent_id),('use_parent_address','=',True)], context=context) - if parent_id not in update_ids: - update_ids.append(parent_id) - elif is_company == 'partner': - update_ids= self.search(cr, uid, [('parent_id', '=', partner_id.id),('use_parent_address','=',True)], context=context) - if update_ids: - self.udpate_address(cr,uid,update_ids,False,vals,context) + for partner in self.browse(cr, uid, ids, context=context): + is_company = partner.is_company + parent_id = partner.parent_id.id + if is_company: + update_ids = self.search(cr, uid, [('parent_id', '=', partner.id), ('use_parent_address','=',True)], context=context) + elif not is_company and parent_id: + update_ids = [parent_id] + self.search(cr, uid, [('parent_id', '=', parent_id), ('use_parent_address','=',True)], context=context) + else: + update_ids = [] + self.update_address(cr, uid, update_ids, vals, context) return super(res_partner,self).write(cr, uid, ids, vals, context=context) def create(self, cr, uid, vals, context=None): if vals.get('parent_id') and vals.get('use_parent_address'): - update_ids= self.search(cr, uid, [('parent_id', '=', vals.get('parent_id')),('use_parent_address','=',True)], context=context) - update_ids.append(vals.get('parent_id')) - self.udpate_address(cr,uid,False,update_ids,vals) + update_ids = [vals['parent_id']] + \ + self.search(cr, uid, [('parent_id', '=', vals['parent_id']),('use_parent_address','=',True)], context=context) + self.update_address(cr, uid, update_ids, vals) return super(res_partner,self).create(cr, uid, vals, context=context) - - def udpate_address(self,cr,uid,update_ids,parent_id,vals, context=None): + def update_address(self, cr, uid, ids, vals, context=None): + addr_vals = {} for key, data in vals.iteritems(): - if key in ('street','street2','zip','city','state_id','country_id','email','phone','fax','mobile','website','ref','lang') and data : - update_list=update_ids or parent_id - if update_list : - sql = """UPDATE res_partner SET %(field)s = %%(value)s - WHERE id in %%(id)s"""%{'field' : key,} - cr.execute(sql, {'value': data or '', - 'id':tuple(update_list)}) - return True -# _constraints = [(_check_ean_key, 'Error: Invalid ean code', ['ean13'])] + if key in ('street','street2','zip','city','state_id','country_id','email','phone','fax','mobile','website','ref','lang') and data: + addr_vals[key] = data + return super(res_partner, self).write(cr, uid, ids, addr_vals, context) def name_get(self, cr, uid, ids, context=None): if context is None: @@ -401,7 +393,7 @@ class res_partner(osv.osv): ('name','=','main_partner')])[0], ).res_id - def _display_address(self, cr, uid, address,type ,context=None): + def _display_address(self, cr, uid, address, type, context=None): ''' The purpose of this function is to build and return an address formatted accordingly to the standards of the country where it belongs. @@ -413,10 +405,10 @@ class res_partner(osv.osv): ''' if type: - if address.is_company=='partner' and address.child_ids: + if address.is_company and address.child_ids: for child_id in address.child_ids: - if child_id.type==type: - address=child_id + if child_id.type == type: + address = child_id # get the information that will be injected into the display format # get the address format @@ -435,14 +427,9 @@ class res_partner(osv.osv): return address_format % args - def default_get(self, cr, uid, fields, context=None): - res = super(res_partner, self).default_get( cr, uid, fields, context) - if 'is_company' in res: - res.update({'photo': self._get_photo(cr, uid, res.get('is_company', 'contact'), context)}) - return res -#This feature is Deprecated for backward Compability only +# res.partner.address is deprecated; it is still there for backward compability only class res_partner_address(osv.osv): _table = "res_partner" _name = 'res.partner.address' @@ -478,4 +465,5 @@ class res_partner_address(osv.osv): def create(self, cr, uid, vals, context=None): logging.getLogger('res.partner').warning("Deprecated, use of res.partner.address and used res.partner") return super(res_partner_address,self).create(cr, uid, vals, context=context) + # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/openerp/addons/base/res/res_partner_demo.xml b/openerp/addons/base/res/res_partner_demo.xml index 99ed8965073..e4f43cb0c06 100644 --- a/openerp/addons/base/res/res_partner_demo.xml +++ b/openerp/addons/base/res/res_partner_demo.xml @@ -93,56 +93,56 @@ <field eval="[(6, 0, [ref('res_partner_category_9')])]" name="category_id"/> <field name="supplier">1</field> <field eval="0" name="customer"/> - <field name="is_company">partner</field> + <field name="is_company">1</field> <field name="website">www.asustek.com</field> </record> <record id="res_partner_agrolait" model="res.partner"> <field name="name">Agrolait</field> <field eval="[(6, 0, [ref('base.res_partner_category_0')])]" name="category_id"/> - <field name="is_company">partner</field> + <field name="is_company">1</field> <field name="website">www.agrolait.com</field> </record> <record id="res_partner_c2c" model="res.partner"> <field name="name">Camptocamp</field> - <field name="is_company">partner</field> + <field name="is_company">1</field> <field eval="[(6, 0, [ref('res_partner_category_10'), ref('res_partner_category_5')])]" name="category_id"/> <field name="supplier">1</field> - <field name="is_company">partner</field> + <field name="is_company">1</field> <field name="website">www.camptocamp.com</field> </record> <record id="res_partner_sednacom" model="res.partner"> <field name="website">www.syleam.fr</field> <field name="name">Syleam</field> <field eval="[(6, 0, [ref('res_partner_category_5')])]" name="category_id"/> - <field name="is_company">partner</field> + <field name="is_company">1</field> </record> <record id="res_partner_thymbra" model="res.partner"> <field name="name">SmartBusiness</field> - <field name="is_company">partner</field> + <field name="is_company">1</field> <field eval="[(6, 0, [ref('res_partner_category_4')])]" name="category_id"/> </record> <record id="res_partner_desertic_hispafuentes" model="res.partner"> <field name="name">Axelor</field> <field eval="[(6, 0, [ref('res_partner_category_4')])]" name="category_id"/> <field name="supplier">1</field> - <field name="is_company">partner</field> + <field name="is_company">1</field> <field name="website">www.axelor.com/</field> </record> <record id="res_partner_tinyatwork" model="res.partner"> <field name="name">Tiny AT Work</field> - <field name="is_company">partner</field> + <field name="is_company">1</field> <field eval="[(6, 0, [ref('res_partner_category_5'), ref('res_partner_category_10')])]" name="category_id"/> <field name="website">www.tinyatwork.com/</field> </record> <record id="res_partner_2" model="res.partner"> <field name="name">Bank Wealthy and sons</field> - <field name="is_company">partner</field> + <field name="is_company">1</field> <field name="website">www.wealthyandsons.com/</field> </record> <record id="res_partner_3" model="res.partner"> <field name="name">China Export</field> <field eval="[(6, 0, [ref('res_partner_category_9')])]" name="category_id"/> - <field name="is_company">partner</field> + <field name="is_company">1</field> <field name="website">www.chinaexport.com/</field> </record> <record id="res_partner_4" model="res.partner"> @@ -150,13 +150,13 @@ <field eval="[(6, 0, [ref('res_partner_category_9')])]" name="category_id"/> <field name="supplier">1</field> <field eval="0" name="customer"/> - <field name="is_company">partner</field> + <field name="is_company">1</field> <field name="website">www.distribpc.com/</field> </record> <record id="res_partner_5" model="res.partner"> <field name="name">Ecole de Commerce de Liege</field> <field eval="[(6, 0, [ref('res_partner_category_1')])]" name="category_id"/> - <field name="is_company">partner</field> + <field name="is_company">1</field> <field name="website">www.eci-liege.info//</field> </record> <record id="res_partner_6" model="res.partner"> @@ -164,7 +164,7 @@ <field eval="[(6, 0, [ref('res_partner_category_9')])]" name="category_id"/> <field name="supplier">1</field> <field eval="0" name="customer"/> - <field name="is_company">partner</field> + <field name="is_company">1</field> </record> <record id="res_partner_maxtor" model="res.partner"> <field name="name">Maxtor</field> @@ -172,20 +172,20 @@ <field eval="[(6, 0, [ref('res_partner_category_9')])]" name="category_id"/> <field name="supplier">1</field> <field eval="0" name="customer"/> - <field name="is_company">partner</field> + <field name="is_company">1</field> </record> <record id="res_partner_seagate" model="res.partner"> <field name="name">Seagate</field> <field eval="5000.00" name="credit_limit"/> <field eval="[(6, 0, [ref('res_partner_category_9')])]" name="category_id"/> <field name="supplier">1</field> - <field name="is_company">partner</field> + <field name="is_company">1</field> </record> <record id="res_partner_8" model="res.partner"> <field name="website">http://mediapole.net</field> <field name="name">Mediapole SPRL</field> <field eval="[(6, 0, [ref('res_partner_category_1')])]" name="category_id"/> - <field name="is_company">partner</field> + <field name="is_company">1</field> </record> <record id="res_partner_9" model="res.partner"> <field name="website">www.balmerinc.com</field> @@ -193,38 +193,38 @@ <field eval="12000.00" name="credit_limit"/> <field name="ref">or</field> <field eval="[(6, 0, [ref('res_partner_category_1')])]" name="category_id"/> - <field name="is_company">partner</field> + <field name="is_company">1</field> </record> <record id="res_partner_10" model="res.partner"> <field name="name">Tecsas</field> <field name="ean13">3020170000003</field> <field eval="[(6, 0, [ref('res_partner_category_9')])]" name="category_id"/> - <field name="is_company">partner</field> + <field name="is_company">1</field> </record> <record id="res_partner_11" model="res.partner"> <field name="name">Leclerc</field> <field eval="1200.00" name="credit_limit"/> <field eval="[(6, 0, [ref('res_partner_category_0')])]" name="category_id"/> - <field name="is_company">partner</field> + <field name="is_company">1</field> </record> <record id="res_partner_14" model="res.partner"> <field name="name">Centrale d'achats BML</field> <field name="ean13">3020178572427</field> <field eval="15000.00" name="credit_limit"/> <field eval="[(6, 0, [ref('res_partner_category_11')])]" name="category_id"/> - <field name="is_company">partner</field> + <field name="is_company">1</field> </record> <record id="res_partner_15" model="res.partner"> <field name="name">Magazin BML 1</field> <field name="ean13">3020178570171</field> <field eval="1500.00" name="credit_limit"/> <field eval="[(6, 0, [ref('res_partner_category_11')])]" name="category_id"/> - <field name="is_company">partner</field> + <field name="is_company">1</field> </record> <record id="res_partner_accent" model="res.partner"> <field name="name">Université de Liège</field> <field eval="[(6, 0, [ref('res_partner_category_9')])]" name="category_id"/> - <field name="is_company">partner</field> + <field name="is_company">1</field> <field name="website">http://www.ulg.ac.be/</field> </record> @@ -235,7 +235,7 @@ <record id="res_partner_duboissprl0" model="res.partner"> <field eval="'Sprl Dubois would like to sell our bookshelves but they have no storage location, so it would be exclusively on order'" name="comment"/> <field name="name">Dubois sprl</field> - <field name="is_company">partner</field> + <field name="is_company">1</field> <field name="website">http://www.dubois.be/</field> </record> @@ -266,7 +266,7 @@ <record id="res_partner_theshelvehouse0" model="res.partner"> <field name="name">The Shelve House</field> <field eval="[(6,0,[ref('res_partner_category_retailers0')])]" name="category_id"/> - <field name="is_company">partner</field> + <field name="is_company">1</field> </record> <record id="res_partner_vickingdirect0" model="res.partner"> @@ -274,7 +274,7 @@ <field eval="[(6,0,[ref('res_partner_category_miscellaneoussuppliers0')])]" name="category_id"/> <field name="supplier">1</field> <field name="customer">0</field> - <field name="is_company">partner</field> + <field name="is_company">1</field> <field name="website">vicking-direct.be</field> </record> @@ -283,14 +283,14 @@ <field eval="[(6,0,[ref('res_partner_category_woodsuppliers0')])]" name="category_id"/> <field name="supplier">1</field> <field eval="0" name="customer"/> - <field name="is_company">partner</field> + <field name="is_company">1</field> <field name="website">woodywoodpecker.com</field> </record> <record id="res_partner_zerooneinc0" model="res.partner"> <field name="name">ZeroOne Inc</field> <field eval="[(6,0,[ref('res_partner_category_consumers0')])]" name="category_id"/> - <field name="is_company">partner</field> + <field name="is_company">1</field> <field name="website">http://www.zerooneinc.com/</field> </record> diff --git a/openerp/addons/base/res/res_partner_view.xml b/openerp/addons/base/res/res_partner_view.xml index 0c3652ac152..b5fc080330f 100644 --- a/openerp/addons/base/res/res_partner_view.xml +++ b/openerp/addons/base/res/res_partner_view.xml @@ -327,14 +327,17 @@ <field name="arch" type="xml"> <form string="Partners"> <group col="8" colspan="4"> - <group col="2"> - <field name="is_company" on_change="onchange_type(is_company, title,child_ids,photo)" required="1"/> - <field name="function" attrs="{'invisible': [('is_company','=', 'partner')]}" colspan="2"/> - <field name="title" size="0" groups="base.group_extended" domain="[('domain', '=', is_company)]"/> + <group col="4" colspan="4"> + <field name="name" required="1"/> + <field name="title" size="0" groups="base.group_extended" domain="[('domain', '=', 'contact')]"/> + <newline/> + <field name="function" attrs="{'invisible': [('is_company', '=', True)]}"/> + <field name="parent_id" string="Company" attrs="{'invisible': [('is_company','=', True)]}" + domain="[('is_company', '=', True)]" context="{'default_is_company': True}" + on_change="onchange_address(use_parent_address, parent_id)"/> </group> <group col="2"> - <field name="name" required="1"/> - <field name="parent_id" string="Company" attrs="{'invisible': [('is_company','=', 'partner')]}" domain="[('is_company', '=', 'partner')]" context="{'default_is_company': 'partner'}" on_change="onchange_address(use_parent_address, parent_id)"/> + <field name="is_company" on_change="onchange_type(is_company)"/> </group> <group col="2"> <field name="customer"/> @@ -348,9 +351,10 @@ <page string="General"> <group colspan="2"> <separator string="Address" colspan="4"/> + <field name="type" string="Type" attrs="{'invisible': [('is_company','=', True)]}"/> <group colspan="2"> - <field name="type" string="Type" attrs="{'invisible': [('is_company','=', 'partner')]}"/> - <field name="use_parent_address" attrs="{'invisible': ['|', ('is_company','=', 'partner'), ('parent_id', '=', False)]}" on_change="onchange_address(use_parent_address, parent_id)"/> + <field name="use_parent_address" attrs="{'invisible': [('parent_id', '=', False)]}" + on_change="onchange_address(use_parent_address, parent_id)"/> </group> <newline/> <field name="street" colspan="4"/> @@ -370,18 +374,20 @@ <field name="website" widget="url" colspan="4"/> <field name="ref" groups="base.group_extended" colspan="4"/> </group> - <group colspan="4" attrs="{'invisible': [('is_company','!=', 'partner')]}"> + <group colspan="4" attrs="{'invisible': [('is_company','=', False)]}"> <field name="child_ids" context="{'default_parent_id': active_id}" nolabel="1"> <form string="Partners"> <group col="8" colspan="4"> <group col="2"> - <field name="is_company" on_change="onchange_type(is_company, title,child_ids,photo)" required="1" domain="[('is_company', '=', 'partner')]"/> - <field name="function" attrs="{'invisible': [('is_company','=', 'partner')]}" colspan="2"/> + <field name="is_company" on_change="onchange_type(is_company)" domain="[('is_company', '=', 'partner')]"/> + <field name="function" attrs="{'invisible': [('is_company','=', True)]}" colspan="2"/> <field name="title" size="0" groups="base.group_extended" domain="[('domain', '=', is_company)]"/> </group> <group col="2"> <field name="name" required="1"/> - <field name="parent_id" string="Company" attrs="{'invisible': [('is_company','=', 'partner')]}" domain="[('is_company', '=', 'partner')]" context="{'default_is_company': 'partner'}" on_change="onchange_address(use_parent_address, parent_id)" invisible="1"/> + <field name="parent_id" string="Company" attrs="{'invisible': [('is_company','=', True)]}" + domain="[('is_company', '=', True)]" context="{'default_is_company': True}" + on_change="onchange_address(use_parent_address, parent_id)" invisible="1"/> </group> <group col="2"> <field name="customer"/> @@ -396,8 +402,8 @@ <group colspan="2"> <separator string="Address" colspan="4"/> <group colspan="2"> - <field name="type" string="Type" attrs="{'invisible': [('is_company','=', 'partner')]}"/> - <field name="use_parent_address" attrs="{'invisible': [('is_company','=', 'partner')]}" on_change="onchange_address(use_parent_address, parent_id)"/> + <field name="type" string="Type" attrs="{'invisible': [('is_company','=', True)]}"/> + <field name="use_parent_address" attrs="{'invisible': [('is_company','=', True)]}" on_change="onchange_address(use_parent_address, parent_id)"/> </group> <newline/> <field name="street" colspan="4"/> @@ -417,7 +423,7 @@ <field name="website" widget="url" colspan="4"/> <field name="ref" groups="base.group_extended" colspan="4"/> </group> - <group colspan="4" attrs="{'invisible': [('is_company','!=', 'partner')]}"> + <group colspan="4" attrs="{'invisible': [('is_company','=', False)]}"> <field name="child_ids" domain="[('id','!=',parent_id.id)]" nolabel="1"/> </group> </page> @@ -470,6 +476,9 @@ <field name="arch" type="xml"> <search string="Search Partner"> <group col='10' colspan='4'> + <filter string="Persons" name="type_person" icon="terp-personal" domain="[('is_company','=',0)]"/> + <filter string="Companies" name="type_company" icon="terp-partner" domain="[('is_company','=',1)]"/> + <separator orientation="vertical"/> <filter string="Customers" name="customer" icon="terp-personal" domain="[('customer','=',1)]" help="Customer Partners"/> <filter string="Suppliers" name="supplier" icon="terp-personal" domain="[('supplier','=',1)]" help="Supplier Partners"/> <separator orientation="vertical"/> @@ -534,7 +543,7 @@ <field name="email"/><br/></div><div t-if="record.mobile.raw_value"> <span>+91</span><field name="mobile"/><br/></div></i> </td> - <td t-if="record.is_company.raw_value == 'contact'" valign="top" align="right"> + <td t-if="record.is_company.raw_value" valign="top" align="right"> <!--img t-att-src="kanban_image('res.partner', 'photo', record.id.value)" class="oe_kanban_gravatar"/--> </td> </tr> From 56eacf7630dfbead83721d5baea715aa1b29d500 Mon Sep 17 00:00:00 2001 From: Raphael Collet <rco@openerp.com> Date: Wed, 7 Mar 2012 16:28:27 +0100 Subject: [PATCH 153/313] [IMP] base: small code improvement bzr revid: rco@openerp.com-20120307152827-d9mue5j8pw8owr36 --- openerp/addons/base/res/res_partner.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index 10700c536f5..71657192ebe 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -167,11 +167,12 @@ class res_partner(osv.osv): 'company_id': fields.many2one('res.company', 'Company', select=1), 'color': fields.integer('Color Index'), } + def _default_category(self, cr, uid, context=None): if context is None: context = {} - if 'category_id' in context and context['category_id']: - return [context.get('category_id')] + if context.get('category_id'): + return [context['category_id']] return False def _get_photo(self, cr, uid, is_company, context=None): From c5fd97f47e6a6ee9ba71dadf7f6804f9c5db370c Mon Sep 17 00:00:00 2001 From: Raphael Collet <rco@openerp.com> Date: Wed, 7 Mar 2012 16:36:46 +0100 Subject: [PATCH 154/313] [IMP] base/res_partner: factor code using address fields bzr revid: rco@openerp.com-20120307153646-p4xzk2w8kppy222c --- openerp/addons/base/res/res_partner.py | 26 +++++++------------------- 1 file changed, 7 insertions(+), 19 deletions(-) diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index 71657192ebe..b74d79d2f33 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -119,6 +119,9 @@ def _lang_get(self, cr, uid, context=None): return [(r['code'], r['name']) for r in res] + [('','')] +ADDRESS_FIELDS = ('street', 'street2', 'zip', 'city', 'state_id', 'country_id', + 'email', 'phone', 'fax', 'mobile', 'website', 'ref', 'lang') + class res_partner(osv.osv): _description='Partner' _name = "res.partner" @@ -213,23 +216,11 @@ class res_partner(osv.osv): return {'value': value, 'domain': domain} def onchange_address(self, cr, uid, ids, use_parent_address, parent_id, context=None): - vals = {'value':{}} + vals = {'value': {}} if use_parent_address and parent_id: parent = self.browse(cr, uid, parent_id, context=context) - vals['value'] = {'street': parent.street, - 'street2': parent.street2, - 'zip': parent.zip, - 'city': parent.city, - 'state_id': parent.state_id.id, - 'country_id': parent.country_id.id, - 'email': parent.email, - 'phone': parent.phone, - 'fax': parent.fax, - 'mobile': parent.mobile, - 'website': parent.website, - 'ref': parent.ref, - 'lang': parent.lang, - } + for key in ADDRESS_FIELDS: + vals['value'][key] = parent[key] return vals def _check_ean_key(self, cr, uid, ids, context=None): @@ -274,10 +265,7 @@ class res_partner(osv.osv): return super(res_partner,self).create(cr, uid, vals, context=context) def update_address(self, cr, uid, ids, vals, context=None): - addr_vals = {} - for key, data in vals.iteritems(): - if key in ('street','street2','zip','city','state_id','country_id','email','phone','fax','mobile','website','ref','lang') and data: - addr_vals[key] = data + addr_vals = dict( [(key, vals[key]) for key in ADDRESS_FIELDS if vals.get(key)] ) return super(res_partner, self).write(cr, uid, ids, addr_vals, context) def name_get(self, cr, uid, ids, context=None): From d937bd734c689a611e01a4f25472c3819c123dd9 Mon Sep 17 00:00:00 2001 From: Raphael Collet <rco@openerp.com> Date: Wed, 7 Mar 2012 16:57:04 +0100 Subject: [PATCH 155/313] [FIX] base/res_partner: add right photo upon creation of partners bzr revid: rco@openerp.com-20120307155704-s5bnfdc0y4awe27r --- openerp/addons/base/res/res_partner.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index b74d79d2f33..2a428f29fb4 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -194,7 +194,7 @@ class res_partner(osv.osv): 'is_company': False, 'type': 'default', 'use_parent_address': True, - 'photo': lambda self, cr, uid, context: self._get_photo(cr, uid, False, context) + 'photo': lambda self, cr, uid, context: self._get_photo(cr, uid, False, context), } def copy(self, cr, uid, id, default=None, context=None): @@ -259,9 +259,11 @@ class res_partner(osv.osv): def create(self, cr, uid, vals, context=None): if vals.get('parent_id') and vals.get('use_parent_address'): - update_ids = [vals['parent_id']] + \ + update_ids = [vals['parent_id']] + \ self.search(cr, uid, [('parent_id', '=', vals['parent_id']),('use_parent_address','=',True)], context=context) - self.update_address(cr, uid, update_ids, vals) + self.update_address(cr, uid, update_ids, vals) + if 'photo' not in vals: + vals['photo'] = self._get_photo(cr, uid, vals.get('is_company', False), context) return super(res_partner,self).create(cr, uid, vals, context=context) def update_address(self, cr, uid, ids, vals, context=None): From 5917566f494d07382b214d0033267402fa4a513d Mon Sep 17 00:00:00 2001 From: Raphael Collet <rco@openerp.com> Date: Wed, 7 Mar 2012 16:57:29 +0100 Subject: [PATCH 156/313] [IMP] base/res_partner: view of contacts bzr revid: rco@openerp.com-20120307155729-bczph0al7zuy6mo9 --- openerp/addons/base/res/res_partner_view.xml | 39 ++++++++++---------- 1 file changed, 20 insertions(+), 19 deletions(-) diff --git a/openerp/addons/base/res/res_partner_view.xml b/openerp/addons/base/res/res_partner_view.xml index b5fc080330f..a7e8728da95 100644 --- a/openerp/addons/base/res/res_partner_view.xml +++ b/openerp/addons/base/res/res_partner_view.xml @@ -331,8 +331,8 @@ <field name="name" required="1"/> <field name="title" size="0" groups="base.group_extended" domain="[('domain', '=', 'contact')]"/> <newline/> - <field name="function" attrs="{'invisible': [('is_company', '=', True)]}"/> - <field name="parent_id" string="Company" attrs="{'invisible': [('is_company','=', True)]}" + <field name="function" attrs="{'invisible': [('is_company', '=', True)]}" colspan="4"/> + <field name="parent_id" string="Company" colspan="4" attrs="{'invisible': [('is_company','=', True)]}" domain="[('is_company', '=', True)]" context="{'default_is_company': True}" on_change="onchange_address(use_parent_address, parent_id)"/> </group> @@ -378,25 +378,26 @@ <field name="child_ids" context="{'default_parent_id': active_id}" nolabel="1"> <form string="Partners"> <group col="8" colspan="4"> - <group col="2"> - <field name="is_company" on_change="onchange_type(is_company)" domain="[('is_company', '=', 'partner')]"/> - <field name="function" attrs="{'invisible': [('is_company','=', True)]}" colspan="2"/> - <field name="title" size="0" groups="base.group_extended" domain="[('domain', '=', is_company)]"/> + <group col="4" colspan="4"> + <field name="name" required="1"/> + <field name="title" size="0" groups="base.group_extended" domain="[('domain', '=', 'contact')]"/> + <newline/> + <field name="function" attrs="{'invisible': [('is_company', '=', True)]}" colspan="4"/> + <field name="parent_id" string="Company" colspan="4" attrs="{'invisible': [('is_company','=', True)]}" + domain="[('is_company', '=', True)]" context="{'default_is_company': True}" + on_change="onchange_address(use_parent_address, parent_id)" invisible="1"/> + </group> + <group col="2"> + <field name="is_company" on_change="onchange_type(is_company)"/> + </group> + <group col="2"> + <field name="customer"/> + <field name="supplier"/> + </group> + <group col="2"> + <field name="photo" widget='image' nolabel="1"/> </group> - <group col="2"> - <field name="name" required="1"/> - <field name="parent_id" string="Company" attrs="{'invisible': [('is_company','=', True)]}" - domain="[('is_company', '=', True)]" context="{'default_is_company': True}" - on_change="onchange_address(use_parent_address, parent_id)" invisible="1"/> </group> - <group col="2"> - <field name="customer"/> - <field name="supplier"/> - </group> - <group col="2"> - <field name="photo" widget='image' nolabel="1"/> - </group> - </group> <notebook colspan="4"> <page string="General"> <group colspan="2"> From 79787b73d26e0f3c30c9006aaebbb54262bc8df9 Mon Sep 17 00:00:00 2001 From: Raphael Collet <rco@openerp.com> Date: Thu, 8 Mar 2012 10:17:45 +0100 Subject: [PATCH 157/313] [FIX] base/res_partner: small fix for backward compatibility bzr revid: rco@openerp.com-20120308091745-vtyit22743qx3wl6 --- openerp/addons/base/res/res_partner.py | 8 +++++--- openerp/osv/fields.py | 10 +++++----- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index 2a428f29fb4..6550d97d824 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -159,6 +159,7 @@ class res_partner(osv.osv): 'city': fields.char('City', size=128), 'state_id': fields.many2one("res.country.state", 'Fed. State', domain="[('country_id','=',country_id)]"), 'country_id': fields.many2one('res.country', 'Country'), + 'country': fields.related('country_id', type='many2one', relation='res.country', string='Country'), # for backward compatibility 'email': fields.char('E-Mail', size=240), 'phone': fields.char('Phone', size=64), 'fax': fields.char('Fax', size=64), @@ -426,7 +427,8 @@ class res_partner_address(osv.osv): _name = 'res.partner.address' _order = 'type, name' _columns = { - 'partner_id': fields.many2one('res.partner', 'Partner Name', ondelete='set null', select=True, help="Keep empty for a private address, not related to partner."), + 'parent_id': fields.many2one('res.partner', 'Company', ondelete='set null', select=True), + 'partner_id': fields.related('parent_id', type='many2one', relation='res.partner', string='Partner'), # for backward compatibility 'type': fields.selection( [ ('default','Default'),('invoice','Invoice'), ('delivery','Delivery'), ('contact','Contact'), ('other','Other') ],'Address Type', help="Used to select automatically the right address according to the context in sales and purchases documents."), 'function': fields.char('Function', size=128), 'title': fields.many2one('res.partner.title','Title'), @@ -450,11 +452,11 @@ class res_partner_address(osv.osv): } def write(self, cr, uid, ids, vals, context=None): - logging.getLogger('res.partner').warning("Deprecated, use of res.partner.address and used res.partner") + logging.getLogger('res.partner').warning("Deprecated use of res.partner.address") return super(res_partner_address,self).write(cr, uid, ids, vals, context=context) def create(self, cr, uid, vals, context=None): - logging.getLogger('res.partner').warning("Deprecated, use of res.partner.address and used res.partner") + logging.getLogger('res.partner').warning("Deprecated use of res.partner.address") return super(res_partner_address,self).create(cr, uid, vals, context=context) # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/openerp/osv/fields.py b/openerp/osv/fields.py index 7c1761a4aec..922fd5f4074 100644 --- a/openerp/osv/fields.py +++ b/openerp/osv/fields.py @@ -1155,17 +1155,17 @@ class related(function): def _fnct_search(self, tobj, cr, uid, obj=None, name=None, domain=None, context=None): self._field_get2(cr, uid, obj, context) i = len(self._arg)-1 - sarg = name + sarg = name if isinstance(name, (list, tuple)) else [name] while i>0: - if type(sarg) in [type([]), type( (1,) )]: - where = [(self._arg[i], 'in', sarg)] - else: - where = [(self._arg[i], '=', sarg)] if domain: where = map(lambda x: (self._arg[i],x[1], x[2]), domain) domain = [] + else: + where = [(self._arg[i], 'in', sarg)] sarg = obj.pool.get(self._relations[i]['object']).search(cr, uid, where, context=context) i -= 1 + if domain: # happens if len(self._arg) == 1 + return map(lambda x: (self._arg[0],x[1], x[2]), domain) return [(self._arg[0], 'in', sarg)] def _fnct_write(self,obj,cr, uid, ids, field_name, values, args, context=None): From 566c0239c021beea9010002bddebd2c03160dfc6 Mon Sep 17 00:00:00 2001 From: Raphael Collet <rco@openerp.com> Date: Thu, 8 Mar 2012 13:27:12 +0100 Subject: [PATCH 158/313] [IMP] base/res_partner: improve management of 'use_parent_address' bzr revid: rco@openerp.com-20120308122712-g47fr2j328x51rsj --- openerp/addons/base/res/res_partner.py | 53 +++++++++++++------------- 1 file changed, 27 insertions(+), 26 deletions(-) diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index 6550d97d824..a2f3402d584 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -118,9 +118,12 @@ def _lang_get(self, cr, uid, context=None): res = lang_pool.read(cr, uid, ids, ['code', 'name'], context) return [(r['code'], r['name']) for r in res] + [('','')] +def value_or_id(val): + """ return val or val.id if val is a browse record """ + return val if isinstance(val, (bool, int, long, float, basestring)) else val.id -ADDRESS_FIELDS = ('street', 'street2', 'zip', 'city', 'state_id', 'country_id', - 'email', 'phone', 'fax', 'mobile', 'website', 'ref', 'lang') +POSTAL_ADDRESS_FIELDS = ('street', 'street2', 'zip', 'city', 'state_id', 'country_id') +ADDRESS_FIELDS = POSTAL_ADDRESS_FIELDS + ('email', 'phone', 'fax', 'mobile', 'website', 'ref', 'lang') class res_partner(osv.osv): _description='Partner' @@ -217,12 +220,10 @@ class res_partner(osv.osv): return {'value': value, 'domain': domain} def onchange_address(self, cr, uid, ids, use_parent_address, parent_id, context=None): - vals = {'value': {}} if use_parent_address and parent_id: parent = self.browse(cr, uid, parent_id, context=context) - for key in ADDRESS_FIELDS: - vals['value'][key] = parent[key] - return vals + return {'value': dict((key, value_or_id(parent[key])) for key in ADDRESS_FIELDS)} + return {} def _check_ean_key(self, cr, uid, ids, context=None): for partner_o in pooler.get_pool(cr.dbname).get('res.partner').read(cr, uid, ids, ['ean13',]): @@ -243,33 +244,33 @@ class res_partner(osv.osv): # _constraints = [(_check_ean_key, 'Error: Invalid ean code', ['ean13'])] def write(self, cr, uid, ids, vals, context=None): - # Update all children and parent_id records if isinstance(ids, (int, long)): ids = [ids] - for partner in self.browse(cr, uid, ids, context=context): - is_company = partner.is_company - parent_id = partner.parent_id.id - if is_company: - update_ids = self.search(cr, uid, [('parent_id', '=', partner.id), ('use_parent_address','=',True)], context=context) - elif not is_company and parent_id: - update_ids = [parent_id] + self.search(cr, uid, [('parent_id', '=', parent_id), ('use_parent_address','=',True)], context=context) - else: - update_ids = [] - self.update_address(cr, uid, update_ids, vals, context) - return super(res_partner,self).write(cr, uid, ids, vals, context=context) + res = super(res_partner,self).write(cr, uid, ids, vals, context=context) + self.update_address(cr, uid, ids, context) + return res def create(self, cr, uid, vals, context=None): - if vals.get('parent_id') and vals.get('use_parent_address'): - update_ids = [vals['parent_id']] + \ - self.search(cr, uid, [('parent_id', '=', vals['parent_id']),('use_parent_address','=',True)], context=context) - self.update_address(cr, uid, update_ids, vals) if 'photo' not in vals: vals['photo'] = self._get_photo(cr, uid, vals.get('is_company', False), context) - return super(res_partner,self).create(cr, uid, vals, context=context) + id = super(res_partner,self).create(cr, uid, vals, context=context) + self.update_address(cr, uid, [id], context) + return id - def update_address(self, cr, uid, ids, vals, context=None): - addr_vals = dict( [(key, vals[key]) for key in ADDRESS_FIELDS if vals.get(key)] ) - return super(res_partner, self).write(cr, uid, ids, addr_vals, context) + def update_address(self, cr, uid, ids, context=None): + """ update parent and children after having changed partner ids """ + for partner in self.browse(cr, uid, ids, context): + update_ids = [] + if partner.is_company: + children_domain = [('parent_id', '=', partner.id), ('use_parent_address','=',True)] + update_ids = self.search(cr, uid, children_domain, context=context) + elif partner.parent_id and partner.use_parent_address: + parent_and_siblings = [('parent_id', '=', partner.parent_id.id), ('use_parent_address','=',True)] + update_ids = [partner.parent_id.id] + self.search(cr, uid, parent_and_siblings, context=context) + if update_ids: + vals = dict((key, value_or_id(partner[key])) for key in POSTAL_ADDRESS_FIELDS if partner[key]) + super(res_partner, self).write(cr, uid, ids, vals, context) + return True def name_get(self, cr, uid, ids, context=None): if context is None: From 416dc7848c59f73278a9d1010f4bb23e9d897855 Mon Sep 17 00:00:00 2001 From: Raphael Collet <rco@openerp.com> Date: Thu, 8 Mar 2012 15:03:42 +0100 Subject: [PATCH 159/313] [FIX] base/res_partner: fix last change (issue: all contacts updated?) bzr revid: rco@openerp.com-20120308140342-fw0unworetlj3mgm --- openerp/addons/base/res/res_partner.py | 46 +++++++++++++------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index a2f3402d584..bbd5320a9b9 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -244,33 +244,33 @@ class res_partner(osv.osv): # _constraints = [(_check_ean_key, 'Error: Invalid ean code', ['ean13'])] def write(self, cr, uid, ids, vals, context=None): + # Update parent and siblings or children records if isinstance(ids, (int, long)): ids = [ids] - res = super(res_partner,self).write(cr, uid, ids, vals, context=context) - self.update_address(cr, uid, ids, context) - return res - - def create(self, cr, uid, vals, context=None): - if 'photo' not in vals: - vals['photo'] = self._get_photo(cr, uid, vals.get('is_company', False), context) - id = super(res_partner,self).create(cr, uid, vals, context=context) - self.update_address(cr, uid, [id], context) - return id - - def update_address(self, cr, uid, ids, context=None): - """ update parent and children after having changed partner ids """ - for partner in self.browse(cr, uid, ids, context): + for partner in self.browse(cr, uid, ids, context=context): update_ids = [] if partner.is_company: - children_domain = [('parent_id', '=', partner.id), ('use_parent_address','=',True)] - update_ids = self.search(cr, uid, children_domain, context=context) - elif partner.parent_id and partner.use_parent_address: - parent_and_siblings = [('parent_id', '=', partner.parent_id.id), ('use_parent_address','=',True)] - update_ids = [partner.parent_id.id] + self.search(cr, uid, parent_and_siblings, context=context) - if update_ids: - vals = dict((key, value_or_id(partner[key])) for key in POSTAL_ADDRESS_FIELDS if partner[key]) - super(res_partner, self).write(cr, uid, ids, vals, context) - return True + domain_children = [('parent_id', '=', partner.id), ('use_parent_address', '=', True)] + update_ids = self.search(cr, uid, domain_children, context=context) + elif partner.parent_id: + domain_siblings = [('parent_id', '=', partner.parent_id.id), ('use_parent_address', '=', True)] + update_ids = [partner.parent_id.id] + self.search(cr, uid, domain_siblings, context=context) + self.update_address(cr, uid, update_ids, vals, context) + return super(res_partner,self).write(cr, uid, ids, vals, context=context) + + def create(self, cr, uid, vals, context=None): + # Update parent and siblings records + if vals.get('parent_id') and vals.get('use_parent_address'): + domain_siblings = [('parent_id', '=', vals['parent_id']), ('use_parent_address', '=', True)] + update_ids = [vals['parent_id']] + self.search(cr, uid, domain_siblings, context=context) + self.update_address(cr, uid, update_ids, vals, context) + if 'photo' not in vals: + vals['photo'] = self._get_photo(cr, uid, vals.get('is_company', False), context) + return super(res_partner,self).create(cr, uid, vals, context=context) + + def update_address(self, cr, uid, ids, vals, context=None): + addr_vals = dict((key, vals[key]) for key in POSTAL_ADDRESS_FIELDS if vals.get(key)) + return super(res_partner, self).write(cr, uid, ids, addr_vals, context) def name_get(self, cr, uid, ids, context=None): if context is None: From db2a88f32afbb770ea82039f2e6faf0db3ad9914 Mon Sep 17 00:00:00 2001 From: Jigar Amin - OpenERP <jam@tinyerp.com> Date: Fri, 9 Mar 2012 10:18:43 +0530 Subject: [PATCH 160/313] [FIX] partner is company boolean field support bzr revid: jam@tinyerp.com-20120309044843-l4ptvq2pi4z2zyns --- addons/crm/crm_lead.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/addons/crm/crm_lead.py b/addons/crm/crm_lead.py index a6fe706f76a..c0a7d297e6c 100644 --- a/addons/crm/crm_lead.py +++ b/addons/crm/crm_lead.py @@ -597,21 +597,20 @@ class crm_lead(crm_case, osv.osv): 'is_company': is_company, 'type': 'contact' } - partner = partner.create(cr, uid,vals, context) return partner def _create_lead_partner(self, cr, uid, lead, context=None): partner_id = False if lead.partner_name and lead.contact_name: - partner_id = self._lead_create_contact(cr, uid, lead, lead.partner_name, 'partner', context=context) - self._lead_create_contact(cr, uid, lead, lead.contact_name, 'contact', partner_id, context=context) + partner_id = self._lead_create_contact(cr, uid, lead, lead.partner_name, True, context=context) + self._lead_create_contact(cr, uid, lead, lead.contact_name, False, partner_id, context=context) elif lead.partner_name and not lead.contact_name: - partner_id = self._lead_create_contact(cr, uid, lead, lead.partner_name, 'partner', context=context) + partner_id = self._lead_create_contact(cr, uid, lead, lead.partner_name, True, context=context) elif not lead.partner_name and lead.contact_name: - partner_id = self._lead_create_contact(cr, uid, lead, lead.contact_name, 'contact', context=context) + partner_id = self._lead_create_contact(cr, uid, lead, lead.contact_name, False, context=context) else: - partner_id = self._lead_create_contact(cr, uid, lead, lead.name, 'contact', context=context) + partner_id = self._lead_create_contact(cr, uid, lead, lead.name, False, context=context) return partner_id def _lead_set_partner(self, cr, uid, lead, partner_id, context=None): From 1479e8476831778c1f87ff9d018ffb37ca29dd57 Mon Sep 17 00:00:00 2001 From: "Bharat Devnani (Open ERP)" <> Date: Fri, 9 Mar 2012 10:22:22 +0530 Subject: [PATCH 161/313] [FIX] stock partner browse record if id encountered bzr revid: jam@tinyerp.com-20120309045222-5nuez3w5vfi1uvyc --- addons/stock/stock.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/addons/stock/stock.py b/addons/stock/stock.py index 8f6a7a594aa..ba3ee3a806b 100644 --- a/addons/stock/stock.py +++ b/addons/stock/stock.py @@ -980,7 +980,8 @@ class stock_picking(osv.osv): @param journal_id: ID of the accounting journal @return: dict that will be used to create the invoice object """ - partner = self.pool.get('res.partner').browse(cr, uid, partner, context=context) + if isinstance(partner, int): + partner = self.pool.get('res.partner').browse(cr, uid, partner, context=context) if inv_type in ('out_invoice', 'out_refund'): account_id = partner.property_account_receivable.id else: From ae33341a6403d318b8bef9c7a4c2e683247f2853 Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Fri, 9 Mar 2012 11:57:41 +0530 Subject: [PATCH 162/313] [ Fix]: fix the demo data bzr revid: kjo@tinyerp.com-20120309062741-qul17k0x4hcxd6g5 --- openerp/addons/base/res/res_partner_demo.xml | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/openerp/addons/base/res/res_partner_demo.xml b/openerp/addons/base/res/res_partner_demo.xml index e4f43cb0c06..70d4b1fcc13 100644 --- a/openerp/addons/base/res/res_partner_demo.xml +++ b/openerp/addons/base/res/res_partner_demo.xml @@ -239,15 +239,17 @@ <field name="website">http://www.dubois.be/</field> </record> - <!--record id="res_partner_ericdubois0" model="res.partner"> + <record id="res_partner_ericdubois0" model="res.partner"> <field name="name">Eric Dubois</field> + <field name="is_company">1</field> <field name="address" eval="[]"/> </record> <record id="res_partner_fabiendupont0" model="res.partner"> <field name="name">Fabien Dupont</field> + <field name="is_company">1</field> <field name="address" eval="[]"/> - </record--> + </record> <record id="res_partner_lucievonck0" model="res.partner"> <field name="name">Lucie Vonck</field> @@ -667,21 +669,21 @@ </record> - <record id="res_partner_fabiendupont0" model="res.partner"> + <record id="res_partner_address_fabiendupont0" model="res.partner"> <field eval="'Namur'" name="city"/> <field eval="'Fabien Dupont'" name="name"/> <field eval="'5000'" name="zip"/> - <!--field name="parent_id" ref="res_partner_fabiendupont0"/--> + <field name="parent_id" ref="res_partner_fabiendupont0"/> <field name="country_id" ref="base.be"/> <field eval="'Blvd Kennedy, 13'" name="street"/> </record> - <record id="res_partner_ericdubois0" model="res.partner"> + <record id="res_partner_address_ericdubois0" model="res.partner"> <field eval="'Mons'" name="city"/> <field eval="'Eric Dubois'" name="name"/> <field eval="'7000'" name="zip"/> - <!--field name="parent_id" ref="res_partner_ericdubois0"/--> + <field name="parent_id" ref="res_partner_ericdubois0"/> <field name="country_id" ref="base.be"/> <field eval="'Chaussée de Binche, 27'" name="street"/> <field eval="'e.dubois@gmail.com'" name="email"/> From a3a2c698ab727ecde4e7cb7f55dde82ec616cc16 Mon Sep 17 00:00:00 2001 From: "Bhumika (OpenERP)" <sbh@tinyerp.com> Date: Fri, 9 Mar 2012 12:24:22 +0530 Subject: [PATCH 163/313] [Fix]base/res: res.parnter.address inherit compatiblity and open the address view bzr revid: sbh@tinyerp.com-20120309065422-2wz5ch29x9qs8lf3 --- openerp/addons/base/res/res_partner_view.xml | 8 ++++---- openerp/osv/orm.py | 5 ++++- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/openerp/addons/base/res/res_partner_view.xml b/openerp/addons/base/res/res_partner_view.xml index a7e8728da95..07e70044934 100644 --- a/openerp/addons/base/res/res_partner_view.xml +++ b/openerp/addons/base/res/res_partner_view.xml @@ -20,7 +20,7 @@ ===================== --> - <!--record id="view_res_partner_address_filter" model="ir.ui.view"> + <record id="view_res_partner_address_filter" model="ir.ui.view"> <field name="name">res.partner.address.select</field> <field name="model">res.partner.address</field> <field name="type">search</field> @@ -200,14 +200,14 @@ </record> <menuitem action="action_partner_address_form" id="menu_partner_address_form" groups="base.group_extended" name="Contacts" - parent="base.menu_address_book" sequence="30"/--> + parent="base.menu_address_book" sequence="30"/> <!-- ========================================= the short form used in the partner form ========================================= --> - <!--record id="view_partner_address_form2" model="ir.ui.view"> + <record id="view_partner_address_form2" model="ir.ui.view"> <field name="name">res.partner.address.form2</field> <field name="model">res.partner.address</field> <field name="type">form</field> @@ -234,7 +234,7 @@ <field name="email" widget="email"/> </form> </field> - </record--> + </record> <!-- ======================= diff --git a/openerp/osv/orm.py b/openerp/osv/orm.py index 8901cf5ed87..680eb034a50 100644 --- a/openerp/osv/orm.py +++ b/openerp/osv/orm.py @@ -866,7 +866,10 @@ class BaseModel(object): parent_names = [parent_names] else: name = cls._name - + # for res.parnter.address compatiblity ,should be remove in v7 + if 'res.partner.address' in parent_names: + parent_names.pop(parent_names.index('res.partner.address')) + parent_names.append('res.partner') if not name: raise TypeError('_name is mandatory in case of multiple inheritance') From 900db58e89f70dd3825ea3fc6fad6a833b6488cb Mon Sep 17 00:00:00 2001 From: "Bhumika (OpenERP)" <sbh@tinyerp.com> Date: Fri, 9 Mar 2012 12:32:36 +0530 Subject: [PATCH 164/313] [Fix]base/res :add the country field in partner view bzr revid: sbh@tinyerp.com-20120309070236-urryy1b6zn1s82k8 --- openerp/addons/base/res/res_partner_view.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/openerp/addons/base/res/res_partner_view.xml b/openerp/addons/base/res/res_partner_view.xml index 07e70044934..372e0f28137 100644 --- a/openerp/addons/base/res/res_partner_view.xml +++ b/openerp/addons/base/res/res_partner_view.xml @@ -316,6 +316,7 @@ <field name="email"/> <field name="user_id" invisible="1"/> <field name="is_company" invisible="1"/> + <field name="country" invisible="1"/> </tree> </field> </record> From 0844aa7d1068a789f11e721ee02e803ff85f60db Mon Sep 17 00:00:00 2001 From: Raphael Collet <rco@openerp.com> Date: Fri, 9 Mar 2012 08:53:41 +0100 Subject: [PATCH 165/313] [FIX] base/res_partner: use 'country_id' instead of 'country' bzr revid: rco@openerp.com-20120309075341-vx2nxs3tgnh2354r --- openerp/addons/base/res/res_partner_view.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openerp/addons/base/res/res_partner_view.xml b/openerp/addons/base/res/res_partner_view.xml index 372e0f28137..0f7bd2e09e9 100644 --- a/openerp/addons/base/res/res_partner_view.xml +++ b/openerp/addons/base/res/res_partner_view.xml @@ -316,7 +316,7 @@ <field name="email"/> <field name="user_id" invisible="1"/> <field name="is_company" invisible="1"/> - <field name="country" invisible="1"/> + <field name="country_id" invisible="1"/> </tree> </field> </record> From 0e1b0b16fa7315fcc1ab521d43107f7bdb8795eb Mon Sep 17 00:00:00 2001 From: Raphael Collet <rco@openerp.com> Date: Fri, 9 Mar 2012 08:55:16 +0100 Subject: [PATCH 166/313] [IMP] undo rev. 4158 for osv/fields.py, fix it in another branch bzr revid: rco@openerp.com-20120309075516-8g1yke3onu3pjjba --- openerp/osv/fields.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/openerp/osv/fields.py b/openerp/osv/fields.py index 922fd5f4074..6ab3078e9ac 100644 --- a/openerp/osv/fields.py +++ b/openerp/osv/fields.py @@ -1154,18 +1154,22 @@ class related(function): def _fnct_search(self, tobj, cr, uid, obj=None, name=None, domain=None, context=None): self._field_get2(cr, uid, obj, context) + + models = map(lambda r: r['object'], self._relations) + model_fields = zip(models, self._arg) + i = len(self._arg)-1 - sarg = name if isinstance(name, (list, tuple)) else [name] + sarg = name while i>0: + if type(sarg) in [type([]), type( (1,) )]: + where = [(self._arg[i], 'in', sarg)] + else: + where = [(self._arg[i], '=', sarg)] if domain: where = map(lambda x: (self._arg[i],x[1], x[2]), domain) domain = [] - else: - where = [(self._arg[i], 'in', sarg)] sarg = obj.pool.get(self._relations[i]['object']).search(cr, uid, where, context=context) i -= 1 - if domain: # happens if len(self._arg) == 1 - return map(lambda x: (self._arg[0],x[1], x[2]), domain) return [(self._arg[0], 'in', sarg)] def _fnct_write(self,obj,cr, uid, ids, field_name, values, args, context=None): From 32993a254e4394abd302dedc5866e66ba9b9c870 Mon Sep 17 00:00:00 2001 From: Raphael Collet <rco@openerp.com> Date: Fri, 9 Mar 2012 10:34:07 +0100 Subject: [PATCH 167/313] [IMP] base/res_partner: add parent_id in kanban view bzr revid: rco@openerp.com-20120309093407-m5674s9kz86tug2w --- openerp/addons/base/res/res_partner_view.xml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/openerp/addons/base/res/res_partner_view.xml b/openerp/addons/base/res/res_partner_view.xml index 0f7bd2e09e9..6194f9001c5 100644 --- a/openerp/addons/base/res/res_partner_view.xml +++ b/openerp/addons/base/res/res_partner_view.xml @@ -503,7 +503,7 @@ <!-- Partner Kanban View --> <record model="ir.ui.view" id="res_partner_kanban_view"> - <field name="name">RES - PARTNER KANBAN</field> + <field name="name">res.partner.kanban</field> <field name="model">res.partner</field> <field name="type">kanban</field> <field name="arch" type="xml"> @@ -536,7 +536,9 @@ <table class="oe_kanban_table"> <tr> <td class="oe_kanban_title1" align="left" valign="middle"> - <h4><a type="edit"><field name="name"/></a></h4> + <h4><a type="edit"><field name="name"/></a> + <div t-if="record.parent_id.raw_value"><field name="parent_id"/></div> + </h4> <i><div t-if="record.street.raw_value or record.street2.raw_value"><field name="street"/> <field name="street2"/><br/></div> <div t-if="record.city.raw_value or record.zip.raw_value"><field name="city"/> From 3904353be7a2c6f20c6fd04940b12383fa3672ba Mon Sep 17 00:00:00 2001 From: Raphael Collet <rco@openerp.com> Date: Fri, 9 Mar 2012 10:38:22 +0100 Subject: [PATCH 168/313] [FIX] osv/fields: undo change bzr revid: rco@openerp.com-20120309093822-s3tktmveggr5d7yh --- openerp/osv/fields.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/openerp/osv/fields.py b/openerp/osv/fields.py index 6ab3078e9ac..7c1761a4aec 100644 --- a/openerp/osv/fields.py +++ b/openerp/osv/fields.py @@ -1154,10 +1154,6 @@ class related(function): def _fnct_search(self, tobj, cr, uid, obj=None, name=None, domain=None, context=None): self._field_get2(cr, uid, obj, context) - - models = map(lambda r: r['object'], self._relations) - model_fields = zip(models, self._arg) - i = len(self._arg)-1 sarg = name while i>0: From 41f61beb8701bd4f2447f7aeb038ab156d4f62b1 Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Fri, 9 Mar 2012 16:56:07 +0530 Subject: [PATCH 169/313] [IMP]l10n_ch: remove res.partner.address and invoice,contact address bzr revid: kjo@tinyerp.com-20120309112607-yl1em4pl715kd7e7 --- addons/l10n_ch/demo/demo.xml | 16 ++++++------ addons/l10n_ch/demo/dta_demo.xml | 1 - addons/l10n_ch/report/bvr.mako | 26 +++++++++---------- addons/l10n_ch/report/report_webkit_html.mako | 24 ++++++++--------- .../report/report_webkit_html_view.xml | 10 +++---- addons/l10n_ch/test/l10n_ch_dta.yml | 2 -- addons/l10n_ch/test/l10n_ch_report.yml | 8 +++--- addons/l10n_ch/test/l10n_ch_v11.yml | 2 -- addons/l10n_ch/test/l10n_ch_v11_part.yml | 2 -- addons/l10n_ch/wizard/create_dta.py | 19 +++++++------- 10 files changed, 50 insertions(+), 60 deletions(-) diff --git a/addons/l10n_ch/demo/demo.xml b/addons/l10n_ch/demo/demo.xml index f13546150b3..ab2be100591 100644 --- a/addons/l10n_ch/demo/demo.xml +++ b/addons/l10n_ch/demo/demo.xml @@ -24,12 +24,12 @@ <field name="category_id" model="res.partner.category" search="[('name','=','Partenaire')]"/> </record> - <record id="res_partner_address_bank1" model="res.partner.address"> + <record id="res_partner_address_bank1" model="res.partner"> <field name="fax">+41 31 622 13 00</field> <field name="name">Marc Dufour</field> <field name="zip">1015</field> <field name="city">Lausanne</field> - <field name="partner_id" ref="bank"/> + <field name="parent_id" ref="bank"/> <field name="country_id" model="res.country" search="[('code','=','ch')]"/> <field name="email">openerp@bank.com</field> <field name="phone">+41 24 620 10 12</field> @@ -59,12 +59,12 @@ Resource: res.partner.address --> - <record id="res_partner_address_1" model="res.partner.address"> + <record id="res_partner_address_1" model="res.partner"> <field name="fax">+41 21 619 10 00</field> <field name="name">Luc Maurer</field> <field name="zip">1015</field> <field name="city">Lausanne</field> - <field name="partner_id" ref="camptocamp"/> + <field name="parent_id" ref="camptocamp"/> <field name="country_id" model="res.country" search="[('code','=','ch')]"/> <field name="email">openerp@camptocamp.com</field> <field name="phone">+41 21 619 10 12</field> @@ -72,11 +72,11 @@ <field name="active">1</field> <field name="type">default</field> </record> - <record id="res_partner_address_2" model="res.partner.address"> + <record id="res_partner_address_2" model="res.partner"> <field name="name">Ferdinand Gassauer</field> <field name="zip">1015</field> <field name="city">Lausanne</field> - <field name="partner_id" ref="prolibre"/> + <field name="parent_id" ref="prolibre"/> <field name="country_id" model="res.country" search="[('code','=','ch')]"/> <field name="email">info@camptocamp.com</field> <field name="phone">+41 21 619 10 11</field> @@ -84,12 +84,12 @@ <field name="active">1</field> <field name="type">default</field> </record> - <record id="res_partner_address_3" model="res.partner.address"> + <record id="res_partner_address_3" model="res.partner"> <field name="fax">+41 21 619 10 00</field> <field name="name">Claude Philipona</field> <field name="zip">1015</field> <field name="city">Lausanne</field> - <field name="partner_id" ref="camptocamp"/> + <field name="parent_id" ref="camptocamp"/> <field name="country_id" model="res.country" search="[('name','=','Switzerland')]"/> <field name="email">openerp@camptocamp.com</field> <field name="phone">+41 21 619 10 12 </field> diff --git a/addons/l10n_ch/demo/dta_demo.xml b/addons/l10n_ch/demo/dta_demo.xml index 4f44ad21cc0..5aa00b9c505 100644 --- a/addons/l10n_ch/demo/dta_demo.xml +++ b/addons/l10n_ch/demo/dta_demo.xml @@ -33,7 +33,6 @@ <field name="amount_total">54150</field> <field name="number">1</field> <field name="partner_id" ref="base.res_partner_agrolait"/> - <field name="address_invoice_id" ref="base.res_partner_address_8"/> <field name="account_id" ref="account.a_recv"/> <field name="currency_id" ref="base.EUR"/> <field name="company_id" ref="base.main_partner"/> diff --git a/addons/l10n_ch/report/bvr.mako b/addons/l10n_ch/report/bvr.mako index e4a2a2ea87d..d97e4835cbc 100644 --- a/addons/l10n_ch/report/bvr.mako +++ b/addons/l10n_ch/report/bvr.mako @@ -103,20 +103,20 @@ <!--adresses + info block --> <table class="dest_address" style="position:absolute;top:6mm;left:15mm"> <tr><td ><b>${inv.partner_id.title.name or ''|entity} ${inv.partner_id.name |entity}</b></td></tr> - <tr><td>${inv.address_invoice_id.street or ''|entity}</td></tr> - <tr><td>${inv.address_invoice_id.street2 or ''|entity}</td></tr> - <tr><td>${inv.address_invoice_id.zip or ''|entity} ${inv.address_invoice_id.city or ''|entity}</td></tr> - %if inv.address_invoice_id.country_id : - <tr><td>${inv.address_invoice_id.country_id.name or ''|entity} </td></tr> + <tr><td>${inv.partner_id.street or ''|entity}</td></tr> + <tr><td>${inv.partner_id.street2 or ''|entity}</td></tr> + <tr><td>${inv.partner_id.zip or ''|entity} ${inv.partner_id.city or ''|entity}</td></tr> + %if inv.partner_id.country_id : + <tr><td>${inv.partner_id.country_id.name or ''|entity} </td></tr> %endif - %if inv.address_invoice_id.phone : - <tr><td>${_("Tel") |entity}: ${inv.address_invoice_id.phone|entity}</td></tr> + %if inv.partner_id.phone : + <tr><td>${_("Tel") |entity}: ${inv.partner_id.phone|entity}</td></tr> %endif - %if inv.address_invoice_id.fax : - <tr><td>${_("Fax") |entity}: ${inv.address_invoice_id.fax|entity}</td></tr> + %if inv.partner_id.fax : + <tr><td>${_("Fax") |entity}: ${inv.partner_id.fax|entity}</td></tr> %endif - %if inv.address_invoice_id.email : - <tr><td>${_("E-mail") |entity}: ${inv.address_invoice_id.email|entity}</td></tr> + %if inv.partner_id.email : + <tr><td>${_("E-mail") |entity}: ${inv.partner_id.email|entity}</td></tr> %endif %if inv.partner_id.vat : <tr><td>${_("VAT") |entity}: ${inv.partner_id.vat|entity}</td></tr> @@ -142,7 +142,7 @@ <table name="bvrframe" id="${inv.id}" style="width:210mm;height:106mm;border-collapse:collapse;padding-left:3mm;font-family:Helvetica;font-size:8pt;border-width:0px" border="0" CELLPADDING="0" CELLSPACING="0"> <!--border-width:1px;border-style:solid;border-color:black;--> <tr style="height:16.933333mm;vertical-align:bottom;padding-bottom:3mm"><td style="width:60.14mm;padding-bottom:3mm"><div style="padding-left:3mm;">${inv.partner_bank_id and inv.partner_bank_id.print_bank and inv.partner_bank_id.bank and inv.partner_bank_id.bank.name or ''}</div></td><td style="width:60.96mm;padding-bottom:3mm"><div style="padding-left:3mm;">${inv.partner_bank_id and inv.partner_bank_id.print_bank and inv.partner_bank_id.bank and inv.partner_bank_id.bank.name or ''}</div></td><td style="width:88.9mm"></td></tr> <tr style="height:12.7mm;vertical-align:bottom;padding-bottom:3mm"><td style="width:60.14mm;padding-bottom:3mm"><div style="padding-left:3mm;"><b>${user.company_id.partner_id.name}</b></div></td><td style="width:60.96mm;padding-bottom:3mm"><div style="padding-left:3mm;"><b>${user.company_id.partner_id.name}</b></div></td><td style="width:88.9mm"></td></tr> - <tr style="height:16.933333mm;vertical-align:bottom;padding-bottom:0"><td><table style="padding-left:3mm;font-family:Helvetica;font-size:8pt" height="100%"><tr style="vertical-align:top;padding-bottom:0"><td>${user.company_id.partner_id.address[0].street}<br/> ${user.company_id.partner_id.address[0].zip} ${user.company_id.partner_id.address[0].city}</td></tr><tr style="vertical-align:bottom;padding-bottom:0"><td><div style="padding-left:30.48mm;">${inv.partner_bank_id.print_account and inv.partner_bank_id.post_number or ''}</div></td></tr></table></td><td style="padding-left:3mm"><table style="padding-left:3mm;font-family:Helvetica;font-size:8pt" height="100%"><tr style="vertical-align:top;padding-bottom:0"><td>${user.company_id.partner_id.address[0].street}<br/>${user.company_id.partner_id.address[0].zip} ${user.company_id.partner_id.address[0].city}</td></tr><tr style="vertical-align:bottom;padding-bottom:0"><td><div style="padding-left:30.48mm;">${inv.partner_bank_id.print_account and inv.partner_bank_id.post_number or ''}</div></td></tr></table></td><td style="text-align: right;padding-right:4mm;padding-bottom:8mm;font-size:11pt">${_space(_get_ref(inv))}</td></tr> + <tr style="height:16.933333mm;vertical-align:bottom;padding-bottom:0"><td><table style="padding-left:3mm;font-family:Helvetica;font-size:8pt" height="100%"><tr style="vertical-align:top;padding-bottom:0"><td>${user.company_id.partner_id.street}<br/> ${user.company_id.partner_id.zip} ${user.company_id.partner_id.city}</td></tr><tr style="vertical-align:bottom;padding-bottom:0"><td><div style="padding-left:30.48mm;">${inv.partner_bank_id.print_account and inv.partner_bank_id.post_number or ''}</div></td></tr></table></td><td style="padding-left:3mm"><table style="padding-left:3mm;font-family:Helvetica;font-size:8pt" height="100%"><tr style="vertical-align:top;padding-bottom:0"><td>${user.company_id.partner_id.street}<br/>${user.company_id.partner_id.zip} ${user.company_id.partner_id.city}</td></tr><tr style="vertical-align:bottom;padding-bottom:0"><td><div style="padding-left:30.48mm;">${inv.partner_bank_id.print_account and inv.partner_bank_id.post_number or ''}</div></td></tr></table></td><td style="text-align: right;padding-right:4mm;padding-bottom:8mm;font-size:11pt">${_space(_get_ref(inv))}</td></tr> <tr style="height:8.4666667mm;vertical-align:bottom;padding-bottom:0"> <td><table style="width:100%" CELLPADDING="0" CELLSPACING="0"><td style="width:4mm"></td><td style="width:40mm;text-align: right" >${_space(('%.2f' % inv.amount_total)[:-3], 1)}</td><td style="width:6mm"></td><td style="width:10mm;text-align: right">${ _space(('%.2f' % inv.amount_total)[-2:], 1)}</td><td style="width:3mm;text-align: right"></td></table></td><td><table style="width:100%" CELLPADDING="0" CELLSPACING="0"><td style="width:4mm"></td><td style="width:40mm;text-align: right" >${_space(('%.2f' % inv.amount_total)[:-3], 1)}</td><td style="width:6mm"></td><td style="width:10mm;text-align: right">${ _space(('%.2f' % inv.amount_total)[-2:], 1)}</td><td style="width:3mm;text-align: right"></td></table></td><td></td></tr> <tr style="height:21.166667mm"><td></td><td></td><td></td></tr> <tr style="height:8.4666667mm"> <td></td><td></td><td></td></tr> @@ -150,4 +150,4 @@ </table> %endfor </body> -</html> \ No newline at end of file +</html> diff --git a/addons/l10n_ch/report/report_webkit_html.mako b/addons/l10n_ch/report/report_webkit_html.mako index 099bbbf8816..79f218c3d0c 100644 --- a/addons/l10n_ch/report/report_webkit_html.mako +++ b/addons/l10n_ch/report/report_webkit_html.mako @@ -10,20 +10,20 @@ <div id="inv_cont_${inv.id}" style="padding-left:20mm;padding-top:0;padding-bottom:10;border-width:0px;border-style:solid"> <table class="dest_address"> <tr><td ><b>${inv.partner_id.title.name or ''|entity} ${inv.partner_id.name |entity}</b></td></tr> - <tr><td>${inv.address_invoice_id.street or ''|entity}</td></tr> - <tr><td>${inv.address_invoice_id.street2 or ''|entity}</td></tr> - <tr><td>${inv.address_invoice_id.zip or ''|entity} ${inv.address_invoice_id.city or ''|entity}</td></tr> - %if inv.address_invoice_id.country_id : - <tr><td>${inv.address_invoice_id.country_id.name or ''|entity} </td></tr> + <tr><td>${inv.partner_id.street or ''|entity}</td></tr> + <tr><td>${inv.partner_id.street2 or ''|entity}</td></tr> + <tr><td>${inv.partner_id.zip or ''|entity} ${inv.partner_id.city or ''|entity}</td></tr> + %if inv.partner_id.country_id : + <tr><td>${inv.partner_id.country_id.name or ''|entity} </td></tr> %endif - %if inv.address_invoice_id.phone : - <tr><td>${_("Tel") |entity}: ${inv.address_invoice_id.phone|entity}</td></tr> + %if inv.partner_id.phone : + <tr><td>${_("Tel") |entity}: ${inv.partner_id.phone|entity}</td></tr> %endif - %if inv.address_invoice_id.fax : - <tr><td>${_("Fax") |entity}: ${inv.address_invoice_id.fax|entity}</td></tr> + %if inv.partner_id.fax : + <tr><td>${_("Fax") |entity}: ${inv.partner_id.fax|entity}</td></tr> %endif - %if inv.address_invoice_id.email : - <tr><td>${_("E-mail") |entity}: ${inv.address_invoice_id.email|entity}</td></tr> + %if inv.partner_id.email : + <tr><td>${_("E-mail") |entity}: ${inv.partner_id.email|entity}</td></tr> %endif %if inv.partner_id.vat : <tr><td>${_("VAT") |entity}: ${inv.partner_id.vat|entity}</td></tr> @@ -81,4 +81,4 @@ </div> %endfor </body> -</html> \ No newline at end of file +</html> diff --git a/addons/l10n_ch/report/report_webkit_html_view.xml b/addons/l10n_ch/report/report_webkit_html_view.xml index c1638ff99db..605aa9963d4 100644 --- a/addons/l10n_ch/report/report_webkit_html_view.xml +++ b/addons/l10n_ch/report/report_webkit_html_view.xml @@ -36,16 +36,16 @@ <td><b>${company.partner_id.name |entity}</b></td><td></td><td></td> </tr> <tr> - <td>${company.partner_id.address and company.partner_id.address[0].street or ''|entity}</td><td>${_("phone")}:</td><td>${company.partner_id.address and company.partner_id.address[0].phone or ''|entity} </td><td></td> + <td>${company.partner_id and company.partner_id.street or ''|entity}</td><td>${_("phone")}:</td><td>${company.partner_id and company.partner_id.phone or ''|entity} </td><td></td> </tr> <tr> - <td>${company.partner_id.address and company.partner_id.address[0].street2 or ''|entity}</td><td>${_('Fax')}:</td><td>${company.partner_id.address and company.partner_id.address[0].fax or ''|entity} </td><td></td> + <td>${company.partner_id and company.partner_id.street2 or ''|entity}</td><td>${_('Fax')}:</td><td>${company.partner_id and company.partner_id.fax or ''|entity} </td><td></td> </tr> <tr> - <td>${company.partner_id.address and company.partner_id.address[0].zip or ''|entity} ${company.partner_id.address and company.partner_id.address[0].city or ''|entity}</td><td>${_('e-mail')}:</td><td><a href="mailto:${company.partner_id.address and company.partner_id.address[0].email or ''|entity}">${company.partner_id.address and company.partner_id.address[0].email or ''|entity}</a></td><td></td> + <td>${company.partner_id and company.partner_id.zip or ''|entity} ${company.partner_id and company.partner_id.city or ''|entity}</td><td>${_('e-mail')}:</td><td><a href="mailto:${company.partner_id and company.partner_id.email or ''|entity}">${company.partner_id and company.partner_id.email or ''|entity}</a></td><td></td> </tr> <tr> - <td>${company.partner_id.address and company.partner_id.address[0].country_id.name or ''|entity}</td><td></td><td style="text-align:right;font-size:12" ><span class="page"/></td><td style="text-align:left;font-size:12;"> / <span class="topage"/></td> + <td>${company.partner_id and company.partner_id.country_id.name or ''|entity}</td><td></td><td style="text-align:right;font-size:12" ><span class="page"/></td><td style="text-align:left;font-size:12;"> / <span class="topage"/></td> </tr> </table> </td> @@ -161,4 +161,4 @@ width:50%; <field name="webkit_header" ref="ir_header_webkit_bvr_invoice0" /> </record> </data> -</openerp> \ No newline at end of file +</openerp> diff --git a/addons/l10n_ch/test/l10n_ch_dta.yml b/addons/l10n_ch/test/l10n_ch_dta.yml index e82af1c7b72..c79ec55adb8 100644 --- a/addons/l10n_ch/test/l10n_ch_dta.yml +++ b/addons/l10n_ch/test/l10n_ch_dta.yml @@ -13,8 +13,6 @@ account_id: account.a_pay type : in_invoice partner_id: base.res_partner_agrolait - address_contact_id: base.res_partner_address_8 - address_invoice_id: base.res_partner_address_8 reference_type: bvr reference: 11111111111111111111 date_invoice: !eval "'%s-01-01' %(datetime.now().year)" diff --git a/addons/l10n_ch/test/l10n_ch_report.yml b/addons/l10n_ch/test/l10n_ch_report.yml index f120b14f33b..4d9997a03cb 100644 --- a/addons/l10n_ch/test/l10n_ch_report.yml +++ b/addons/l10n_ch/test/l10n_ch_report.yml @@ -13,21 +13,21 @@ - I create contact address for BVR DUMMY. - - !record {model: res.partner.address, id: res_partner_address_1}: + !record {model: res.partner, id: res_partner_address_1}: partner_id: res_partner_bvr street: Route de Bélario type: contact - I create invoice address for BVR DUMMY. - - !record {model: res.partner.address, id: res_partner_address_2}: + !record {model: res.partner, id: res_partner_address_2}: partner_id: res_partner_bvr street: Route de Bélario type: invoice - I create delivery address for BVR DUMMY. - - !record {model: res.partner.address, id: res_partner_address_3}: + !record {model: res.partner, id: res_partner_address_3}: partner_id: res_partner_bvr street: Route de Bélario type: delivery @@ -38,13 +38,11 @@ !record {model: account.invoice, id: l10n_ch_invoice, view: False}: currency_id: base.CHF company_id: base.main_company - address_invoice_id: res_partner_address_2 partner_id: res_partner_bvr state: draft type: out_invoice account_id: account.a_recv name: BVR test invoice - address_contact_id: res_partner_address_1 - In order to test the BVR report, I will assign a bank to the invoice diff --git a/addons/l10n_ch/test/l10n_ch_v11.yml b/addons/l10n_ch/test/l10n_ch_v11.yml index e30012dd6b8..4bc7ce1097b 100644 --- a/addons/l10n_ch/test/l10n_ch_v11.yml +++ b/addons/l10n_ch/test/l10n_ch_v11.yml @@ -13,8 +13,6 @@ account_id: account.a_recv type : out_invoice partner_id: base.res_partner_agrolait - address_contact_id: base.res_partner_address_8 - address_invoice_id: base.res_partner_address_8 reference_type: bvr reference: 12345676 date_invoice: !eval "'%s-01-01' %(datetime.now().year)" diff --git a/addons/l10n_ch/test/l10n_ch_v11_part.yml b/addons/l10n_ch/test/l10n_ch_v11_part.yml index af726ae97ea..71b16455f81 100644 --- a/addons/l10n_ch/test/l10n_ch_v11_part.yml +++ b/addons/l10n_ch/test/l10n_ch_v11_part.yml @@ -14,8 +14,6 @@ account_id: account.a_recv type : out_invoice partner_id: base.res_partner_agrolait - address_contact_id: base.res_partner_address_8 - address_invoice_id: base.res_partner_address_8 reference_type: bvr reference: 20009997 date_invoice: !eval "'%s-01-01' %(datetime.now().year)" diff --git a/addons/l10n_ch/wizard/create_dta.py b/addons/l10n_ch/wizard/create_dta.py index e9b0585d4c8..2b640799c17 100644 --- a/addons/l10n_ch/wizard/create_dta.py +++ b/addons/l10n_ch/wizard/create_dta.py @@ -388,7 +388,7 @@ def _create_dta(obj, cr, uid, data, context=None): user = pool.get('res.users').browse(cr,uid,[uid])[0] company = user.company_id #XXX dirty code use get_addr - co_addr = company.partner_id.address[0] + co_addr = company.partner_id v['comp_country'] = co_addr.country_id and co_addr.country_id.name or '' v['comp_street'] = co_addr.street or '' v['comp_zip'] = co_addr.zip @@ -479,20 +479,19 @@ def _create_dta(obj, cr, uid, data, context=None): else: v['partner_name'] = pline.partner_id and pline.partner_id.name or '' - if pline.partner_id and pline.partner_id.address \ - and pline.partner_id.address[0]: - v['partner_street'] = pline.partner_id.address[0].street - v['partner_city'] = pline.partner_id.address[0].city - v['partner_zip'] = pline.partner_id.address[0].zip + if pline.partner_id and pline.partner_id: + v['partner_street'] = pline.partner_id.street + v['partner_city'] = pline.partner_id.city + v['partner_zip'] = pline.partner_id.zip # If iban => country=country code for space reason elec_pay = pline.bank_id.state #Bank type if elec_pay == 'iban': - v['partner_country']= pline.partner_id.address[0].country_id \ - and pline.partner_id.address[0].country_id.code+'-' \ + v['partner_country']= pline.partner_id.country_id \ + and pline.partner_id.country_id.code+'-' \ or '' else: - v['partner_country']= pline.partner_id.address[0].country_id \ - and pline.partner_id.address[0].country_id.name \ + v['partner_country']= pline.partner_id.country_id \ + and pline.partner_id.acountry_id.name \ or '' else: v['partner_street'] ='' From 180a23c7ccf702668dd65ad456b8f23792d14206 Mon Sep 17 00:00:00 2001 From: "Atul Patel (OpenERP)" <atp@tinyerp.com> Date: Fri, 9 Mar 2012 18:17:53 +0530 Subject: [PATCH 170/313] [FIX]: uninstall module. Remove foreign key references. Remove sql constraint . Remove workflow activity and transition based on deleted cascade. Drop ir model fields columns and drop table. bzr revid: atp@tinyerp.com-20120309124753-c4yzeoij5p2fmhgg --- openerp/addons/base/ir/ir_model.py | 130 ++++++++++++------ openerp/addons/base/ir/workflow/workflow.py | 2 +- openerp/addons/base/module/module.py | 10 +- .../base/module/wizard/base_module_upgrade.py | 2 - openerp/addons/base/res/res_users.py | 15 -- openerp/modules/loading.py | 31 ++--- openerp/osv/orm.py | 24 +++- 7 files changed, 132 insertions(+), 82 deletions(-) diff --git a/openerp/addons/base/ir/ir_model.py b/openerp/addons/base/ir/ir_model.py index a85c83e07d6..f838a6a4f7a 100644 --- a/openerp/addons/base/ir/ir_model.py +++ b/openerp/addons/base/ir/ir_model.py @@ -138,15 +138,21 @@ class ir_model(osv.osv): def _drop_table(self, cr, uid, ids, context=None): for model in self.browse(cr, uid, ids, context): model_pool = self.pool.get(model.model) - if getattr(model_pool, '_auto', True) and not model.osv_memory: - cr.execute("DROP table %s cascade" % model_pool._table) + # this test should be removed, but check if drop view instead of drop table + # just check if table or view exists + cr.execute("select relkind from pg_class where relname=%s", (model_pool._table,)) + result = cr.fetchone() + if result and result[0] == 'v': + cr.execute("DROP view %s" % (model_pool._table,)) + elif result and result[0] == 'r': + cr.execute("DROP TABLE %s" % (model_pool._table,)) return True def unlink(self, cr, user, ids, context=None): # for model in self.browse(cr, user, ids, context): # if model.state != 'manual': # raise except_orm(_('Error'), _("You can not remove the model '%s' !") %(model.name,)) - # self._drop_table(cr, user, ids, context) + self._drop_table(cr, user, ids, context) res = super(ir_model, self).unlink(cr, user, ids, context) pooler.restart_pool(cr.dbname) return res @@ -273,11 +279,15 @@ class ir_model_fields(osv.osv): ] def _drop_column(self, cr, uid, ids, context=None): - for field in self.browse(cr, uid, ids, context): - model = self.pool.get(field.model) - if not field.model.osv_memory and getattr(model, '_auto', True): - cr.execute("ALTER table %s DROP column %s" % (model._table, field.name)) - model._columns.pop(field.name, None) + field = self.browse(cr, uid, ids, context) + model = self.pool.get(field.model) + cr.execute("select relkind from pg_class where relname=%s", (model._table,)) + result = cr.fetchone()[0] + cr.execute("SELECT column_name FROM information_schema.columns WHERE table_name ='%s'and column_name='%s'"%(model._table, field.name)) + column_name = cr.fetchone() + if column_name and result == 'r': + cr.execute("ALTER table %s DROP column %s cascade" % (model._table, field.name)) + model._columns.pop(field.name, None) return True def unlink(self, cr, user, ids, context=None): @@ -630,7 +640,6 @@ class ir_model_data(osv.osv): def __init__(self, pool, cr): osv.osv.__init__(self, pool, cr) self.doinit = True - # also stored in pool to avoid being discarded along with this osv instance if getattr(pool, 'model_data_reference_ids', None) is None: self.pool.model_data_reference_ids = {} @@ -682,7 +691,6 @@ class ir_model_data(osv.osv): def unlink(self, cr, uid, ids, context=None): """ Regular unlink method, but make sure to clear the caches. """ - self._pre_process_unlink(cr, uid, ids, context) self._get_id.clear_cache(self) self.get_object_reference.clear_cache(self) return super(ir_model_data,self).unlink(cr, uid, ids, context=context) @@ -691,10 +699,8 @@ class ir_model_data(osv.osv): model_obj = self.pool.get(model) if not context: context = {} - # records created during module install should result in res.log entries that are already read! context = dict(context, res_log_read=True) - if xml_id and ('.' in xml_id): assert len(xml_id.split('.'))==2, _("'%s' contains too many dots. XML ids should not contain dots ! These are used to refer to other modules data, as in module.reference_id") % (xml_id) module, xml_id = xml_id.split('.') @@ -807,41 +813,90 @@ class ir_model_data(osv.osv): def _pre_process_unlink(self, cr, uid, ids, context=None): wkf_todo = [] to_unlink = [] + to_drop_table = [] + ids.sort() + ids.reverse() for data in self.browse(cr, uid, ids, context): model = data.model res_id = data.res_id model_obj = self.pool.get(model) - if str(data.name).startswith('constraint_'): - cr.execute('ALTER TABLE "%s" DROP CONSTRAINT "%s"' % (model_obj._table,data.name[11:]),) - _logger.info('Drop CONSTRAINT %s@%s', data.name[11:], model) + name = data.name + if str(name).startswith('foreign_key_'): + name = name[12:] + # test if constraint exists + cr.execute('select conname from pg_constraint where contype=%s and conname=%s',('f', name),) + if cr.fetchall(): + cr.execute('ALTER TABLE "%s" DROP CONSTRAINT "%s"' % (model,name),) + _logger.info('Drop CONSTRAINT %s@%s', name, model) continue - to_unlink.append((model,res_id)) + + if str(name).startswith('table_'): + cr.execute("SELECT table_name FROM information_schema.tables WHERE table_name='%s'"%(name[6:])) + column_name = cr.fetchone() + if column_name: + to_drop_table.append(name[6:]) + continue + + if str(name).startswith('constraint_'): + # test if constraint exists + cr.execute('select conname from pg_constraint where contype=%s and conname=%s',('u', name),) + if cr.fetchall(): + cr.execute('ALTER TABLE "%s" DROP CONSTRAINT "%s"' % (model_obj._table,name[11:]),) + _logger.info('Drop CONSTRAINT %s@%s', name[11:], model) + continue + + to_unlink.append((model, res_id)) if model=='workflow.activity': cr.execute('select res_type,res_id from wkf_instance where id IN (select inst_id from wkf_workitem where act_id=%s)', (res_id,)) wkf_todo.extend(cr.fetchall()) cr.execute("update wkf_transition set condition='True', group_id=NULL, signal=NULL,act_to=act_from,act_from=%s where act_to=%s", (res_id,res_id)) - cr.execute("delete from wkf_transition where act_to=%s", (res_id,)) - + for model,res_id in wkf_todo: wf_service = netsvc.LocalService("workflow") - wf_service.trg_write(uid, model, res_id, cr) + try: + wf_service.trg_write(uid, model, res_id, cr) + except: + _logger.info('Unable to process workflow %s@%s', res_id, model) - #cr.commit() - if not config.get('import_partial'): - for (model, res_id) in to_unlink: - if self.pool.get(model): - _logger.info('Deleting %s@%s', res_id, model) - res_ids = self.pool.get(model).search(cr, uid, [('id', '=', res_id)]) - if res_ids: - self.pool.get(model).unlink(cr, uid, [res_id]) - cr.commit() -# except Exception: -# cr.rollback() -# _logger.warning( -# 'Could not delete obsolete record with id: %d of model %s\n' -## 'There should be some relation that points to this resource\n' -# 'You should manually fix this and restart with --update=module', -# res_id, model) + # drop relation .table + for model in to_drop_table: + cr.execute('DROP TABLE %s cascade'% (model),) + _logger.info('Dropping table %s', model) + + for (model, res_id) in to_unlink: + if model in ('ir.model','ir.model.fields', 'ir.model.data'): + continue + model_ids = self.search(cr, uid, [('model', '=', model),('res_id', '=', res_id)]) + if len(model_ids) > 1: + # if others module have defined this record, we do not delete it + continue + _logger.info('Deleting %s@%s', res_id, model) + try: + self.pool.get(model).unlink(cr, uid, res_id) + except: + _logger.info('Unable to delete %s@%s', res_id, model) + cr.commit() + + for (model, res_id) in to_unlink: + if model not in ('ir.model.fields',): + continue + model_ids = self.search(cr, uid, [('model', '=', model),('res_id', '=', res_id)]) + if len(model_ids) > 1: + # if others module have defined this record, we do not delete it + continue + _logger.info('Deleting %s@%s', res_id, model) + self.pool.get(model).unlink(cr, uid, res_id) + + for (model, res_id) in to_unlink: + if model not in ('ir.model',): + continue + model_ids = self.search(cr, uid, [('model', '=', model),('res_id', '=', res_id)]) + if len(model_ids) > 1: + # if others module have defined this record, we do not delete it + continue + _logger.info('Deleting %s@%s', res_id, model) + self.pool.get(model).unlink(cr, uid, [res_id]) + cr.commit() def _process_end(self, cr, uid, modules): """ Clear records removed from updated module data. @@ -851,8 +906,6 @@ class ir_model_data(osv.osv): and a module in ir_model_data and noupdate set to false, but not present in self.loads. """ - - if not modules: return True modules = list(modules) @@ -871,9 +924,6 @@ class ir_model_data(osv.osv): _logger.info('Deleting %s@%s', res_id, model) self.pool.get(model).unlink(cr, uid, [res_id]) - # cr.commit() - - ir_model_data() # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/openerp/addons/base/ir/workflow/workflow.py b/openerp/addons/base/ir/workflow/workflow.py index edd070ae50d..8ec843230d4 100644 --- a/openerp/addons/base/ir/workflow/workflow.py +++ b/openerp/addons/base/ir/workflow/workflow.py @@ -194,7 +194,7 @@ class wkf_workitem(osv.osv): _log_access = False _rec_name = 'state' _columns = { - 'act_id': fields.many2one('workflow.activity', 'Activity', required=True, ondelete="restrict", select=True), + 'act_id': fields.many2one('workflow.activity', 'Activity', required=True, ondelete="cascade", select=True), 'wkf_id': fields.related('act_id','wkf_id', type='many2one', relation='workflow', string='Workflow'), 'subflow_id': fields.many2one('workflow.instance', 'Subflow', ondelete="cascade", select=True), 'inst_id': fields.many2one('workflow.instance', 'Instance', required=True, ondelete="cascade", select=True), diff --git a/openerp/addons/base/module/module.py b/openerp/addons/base/module/module.py index 328afef76aa..d6732681fb2 100644 --- a/openerp/addons/base/module/module.py +++ b/openerp/addons/base/module/module.py @@ -343,7 +343,6 @@ class module(osv.osv): # Mark them to be installed. if to_install_ids: self.button_install(cr, uid, to_install_ids, context=context) - return dict(ACTION_DICT, name=_('Install')) def button_immediate_install(self, cr, uid, ids, context=None): @@ -377,11 +376,20 @@ class module(osv.osv): return True def module_uninstall(self, cr, uid, ids, context=None): + + # you have to uninstall in the right order, not all modules at the same time + model_data = self.pool.get('ir.model.data') remove_modules = map(lambda x: x.name, self.browse(cr, uid, ids, context)) + data_ids = model_data.search(cr, uid, [('module', 'in', remove_modules)]) + + model_data._pre_process_unlink(cr, uid, data_ids, context) model_data.unlink(cr, uid, data_ids, context) + self.write(cr, uid, ids, {'state': 'uninstalled'}) + + # should we call process_end istead of loading, or both ? return True def button_uninstall(self, cr, uid, ids, context=None): diff --git a/openerp/addons/base/module/wizard/base_module_upgrade.py b/openerp/addons/base/module/wizard/base_module_upgrade.py index 5e7b82d241f..f19decf4c3e 100644 --- a/openerp/addons/base/module/wizard/base_module_upgrade.py +++ b/openerp/addons/base/module/wizard/base_module_upgrade.py @@ -97,12 +97,10 @@ class base_module_upgrade(osv.osv_memory): raise osv.except_osv(_('Unmet dependency !'), _('Following modules are not installed or unknown: %s') % ('\n\n' + '\n'.join(unmet_packages))) mod_obj.download(cr, uid, ids, context=context) cr.commit() - # process to remove modules remove_module_ids = mod_obj.search(cr, uid, [('state', 'in', ['to remove'])]) mod_obj.module_uninstall(cr, uid, remove_module_ids, context) - _db, pool = pooler.restart_pool(cr.dbname, update_module=True) id2 = data_obj._get_id(cr, uid, 'base', 'view_base_module_upgrade_install') diff --git a/openerp/addons/base/res/res_users.py b/openerp/addons/base/res/res_users.py index b196cb862d1..e7264b10d79 100644 --- a/openerp/addons/base/res/res_users.py +++ b/openerp/addons/base/res/res_users.py @@ -107,21 +107,6 @@ class groups(osv.osv): aid.write({'groups_id': [(4, gid)]}) return gid - def unlink(self, cr, uid, ids, context=None): - group_users = [] - for record in self.read(cr, uid, ids, ['users'], context=context): - if record['users']: - group_users.extend(record['users']) - if group_users: - user_names = [user.name for user in self.pool.get('res.users').browse(cr, uid, group_users, context=context)] - user_names = list(set(user_names)) - if len(user_names) >= 5: - user_names = user_names[:5] + ['...'] - raise osv.except_osv(_('Warning !'), - _('Group(s) cannot be deleted, because some user(s) still belong to them: %s !') % \ - ', '.join(user_names)) - return super(groups, self).unlink(cr, uid, ids, context=context) - def get_extended_interface_group(self, cr, uid, context=None): data_obj = self.pool.get('ir.model.data') extended_group_data_id = data_obj._get_id(cr, uid, 'base', 'group_extended') diff --git a/openerp/modules/loading.py b/openerp/modules/loading.py index 66ed210ccc7..1ec39ab545d 100644 --- a/openerp/modules/loading.py +++ b/openerp/modules/loading.py @@ -374,13 +374,12 @@ def load_modules(db, force_demo=False, status=None, update_module=False): tools.config[kind] = {} cr.commit() - if update_module: +# if update_module: # Remove records referenced from ir_model_data for modules to be # removed (and removed the references from ir_model_data). #cr.execute("select id,name from ir_module_module where state=%s", ('to remove',)) #remove_modules = map(lambda x: x['name'], cr.dictfetchall()) # Cleanup orphan records - #print "pooler", pool.get('mrp.bom') #pool.get('ir.model.data')._process_end(cr, 1, remove_modules, noupdate=None) # for mod_id, mod_name in cr.fetchall(): # cr.execute('select model,res_id from ir_model_data where noupdate=%s and module=%s order by id desc', (False, mod_name,)) @@ -398,20 +397,20 @@ def load_modules(db, force_demo=False, status=None, update_module=False): # (child) menu item, ir_values, or ir_model_data. # This code could be a method of ir_ui_menu. # TODO: remove menu without actions of children - while True: - cr.execute('''delete from - ir_ui_menu - where - (id not IN (select parent_id from ir_ui_menu where parent_id is not null)) - and - (id not IN (select res_id from ir_values where model='ir.ui.menu')) - and - (id not IN (select res_id from ir_model_data where model='ir.ui.menu'))''') - cr.commit() - if not cr.rowcount: - break - else: - _logger.info('removed %d unused menus', cr.rowcount) +# while True: +# cr.execute('''delete from +# ir_ui_menu +# where +# (id not IN (select parent_id from ir_ui_menu where parent_id is not null)) +# and +# (id not IN (select res_id from ir_values where model='ir.ui.menu')) +# and +# (id not IN (select res_id from ir_model_data where model='ir.ui.menu'))''') +# cr.commit() +# if not cr.rowcount: +# break +# else: +# _logger.info('removed %d unused menus', cr.rowcount) # Pretend that modules to be removed are actually uninstalled. #cr.execute("update ir_module_module set state=%s where state=%s", ('uninstalled', 'to remove',)) diff --git a/openerp/osv/orm.py b/openerp/osv/orm.py index fae53bd9abc..40a4f4183ff 100644 --- a/openerp/osv/orm.py +++ b/openerp/osv/orm.py @@ -904,6 +904,7 @@ class BaseModel(object): # If new class defines a constraint with # same function name, we let it override # the old one. + new[c2] = c exist = True break @@ -2760,7 +2761,6 @@ class BaseModel(object): update_custom_fields = context.get('update_custom_fields', False) self._field_create(cr, context=context) create = not self._table_exist(cr) - if getattr(self, '_auto', True): if create: @@ -3029,11 +3029,16 @@ class BaseModel(object): return todo_end - def _auto_end(self, cr, context=None): """ Create the foreign keys recorded by _auto_init. """ for t, k, r, d in self._foreign_keys: cr.execute('ALTER TABLE "%s" ADD FOREIGN KEY ("%s") REFERENCES "%s" ON DELETE %s' % (t, k, r, d)) + name_id = "foreign_key_"+t+"_"+k+"_fkey" + cr.execute('select * from ir_model_data where name=%s and module=%s', (name_id, self._module)) + if not cr.rowcount: + cr.execute("INSERT INTO ir_model_data (name,date_init,date_update,module, model) VALUES (%s, now(), now(), %s, %s)", \ + (name_id, self._module, t) + ) cr.commit() del self._foreign_keys @@ -3112,6 +3117,7 @@ class BaseModel(object): def _o2m_raise_on_missing_reference(self, cr, f): # TODO this check should be a method on fields.one2many. + other = self.pool.get(f._obj) if other: # TODO the condition could use fields_get_keys(). @@ -3119,7 +3125,6 @@ class BaseModel(object): if f._fields_id not in other._inherit_fields.keys(): raise except_orm('Programming Error', ("There is no reference field '%s' found for '%s'") % (f._fields_id, f._obj,)) - def _m2m_raise_or_create_relation(self, cr, f): m2m_tbl, col1, col2 = f._sql_names(self) cr.execute("SELECT relname FROM pg_class WHERE relkind IN ('r','v') AND relname=%s", (m2m_tbl,)) @@ -3129,7 +3134,14 @@ class BaseModel(object): dest_model = self.pool.get(f._obj) ref = dest_model._table cr.execute('CREATE TABLE "%s" ("%s" INTEGER NOT NULL, "%s" INTEGER NOT NULL, UNIQUE("%s","%s")) WITH OIDS' % (m2m_tbl, col1, col2, col1, col2)) - + #create many2many references + name_id = 'table_'+m2m_tbl + cr.execute('select * from ir_model_data where name=%s and module=%s', (name_id, self._module)) + if not cr.rowcount: + cr.execute("INSERT INTO ir_model_data (name,date_init,date_update,module, model) VALUES (%s, now(), now(), %s, %s)", \ + (name_id, self._module, self._name) + ) + # self.pool.get('ir.model.data')._update(cr, 1, self._name, self._module, {}, 'table_'+m2m_tbl, store=True, noupdate=False, mode='init', res_id=False, context=None) # create foreign key references with ondelete=cascade, unless the targets are SQL views cr.execute("SELECT relkind FROM pg_class WHERE relkind IN ('v') AND relname=%s", (ref,)) if not cr.fetchall(): @@ -3157,7 +3169,6 @@ class BaseModel(object): cr.execute("SELECT conname, pg_catalog.pg_get_constraintdef(oid, true) as condef FROM pg_constraint where conname=%s", (conname,)) existing_constraints = cr.dictfetchall() - sql_actions = { 'drop': { 'execute': False, @@ -3198,11 +3209,10 @@ class BaseModel(object): _schema.debug(sql_action['msg_ok']) name_id = 'constraint_'+ conname cr.execute('select * from ir_model_data where name=%s and module=%s', (name_id, module)) - if not cr.rowcount: + if not cr.rowcount: cr.execute("INSERT INTO ir_model_data (name,date_init,date_update,module, model) VALUES (%s, now(), now(), %s, %s)", \ (name_id, module, self._name) ) -# except: _schema.warning(sql_action['msg_err']) cr.rollback() From b2afe9c0bf4c56e47e67eb2250945030c6002b6f Mon Sep 17 00:00:00 2001 From: "Bhumika (OpenERP)" <sbh@tinyerp.com> Date: Mon, 12 Mar 2012 11:27:28 +0530 Subject: [PATCH 171/313] [Fix]base/res :Add country field in tree view bzr revid: sbh@tinyerp.com-20120312055728-s6qnj74iifa2qddr --- openerp/addons/base/res/res_partner_view.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/openerp/addons/base/res/res_partner_view.xml b/openerp/addons/base/res/res_partner_view.xml index 6194f9001c5..eb3bcaef863 100644 --- a/openerp/addons/base/res/res_partner_view.xml +++ b/openerp/addons/base/res/res_partner_view.xml @@ -316,6 +316,7 @@ <field name="email"/> <field name="user_id" invisible="1"/> <field name="is_company" invisible="1"/> + <field name="country" invisible="1"/> <field name="country_id" invisible="1"/> </tree> </field> From dff99a53aa28ce64e46eceed44630b950f4cc4a0 Mon Sep 17 00:00:00 2001 From: "Bhumika (OpenERP)" <sbh@tinyerp.com> Date: Mon, 12 Mar 2012 11:59:42 +0530 Subject: [PATCH 172/313] [IMP]base/res :remove duplicate menu of contact bzr revid: sbh@tinyerp.com-20120312062942-11ht6lavb82xxz34 --- openerp/addons/base/res/res_partner_view.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openerp/addons/base/res/res_partner_view.xml b/openerp/addons/base/res/res_partner_view.xml index eb3bcaef863..a9dee26d99c 100644 --- a/openerp/addons/base/res/res_partner_view.xml +++ b/openerp/addons/base/res/res_partner_view.xml @@ -198,9 +198,9 @@ <field name="view_id" ref="view_partner_address_form1"/> <field name="act_window_id" ref="action_partner_address_form"/> </record> - <menuitem action="action_partner_address_form" id="menu_partner_address_form" + <!--menuitem action="action_partner_address_form" id="menu_partner_address_form" groups="base.group_extended" name="Contacts" - parent="base.menu_address_book" sequence="30"/> + parent="base.menu_address_book" sequence="30"/--> <!-- ========================================= From 4d3849b108f627a565584d9a209944586e8d2b0d Mon Sep 17 00:00:00 2001 From: "Atul Patel (OpenERP)" <atp@tinyerp.com> Date: Mon, 12 Mar 2012 12:34:45 +0530 Subject: [PATCH 173/313] [FIX]: Minor fix for null value in fetchall bzr revid: atp@tinyerp.com-20120312070445-t9u9dowz5j2mhzmd --- openerp/addons/base/ir/ir_model.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openerp/addons/base/ir/ir_model.py b/openerp/addons/base/ir/ir_model.py index f838a6a4f7a..fd000f55432 100644 --- a/openerp/addons/base/ir/ir_model.py +++ b/openerp/addons/base/ir/ir_model.py @@ -282,10 +282,10 @@ class ir_model_fields(osv.osv): field = self.browse(cr, uid, ids, context) model = self.pool.get(field.model) cr.execute("select relkind from pg_class where relname=%s", (model._table,)) - result = cr.fetchone()[0] + result = cr.fetchone() cr.execute("SELECT column_name FROM information_schema.columns WHERE table_name ='%s'and column_name='%s'"%(model._table, field.name)) column_name = cr.fetchone() - if column_name and result == 'r': + if column_name and (result and result[0] == 'r'): cr.execute("ALTER table %s DROP column %s cascade" % (model._table, field.name)) model._columns.pop(field.name, None) return True From 7cf78f08db0dd0d1995c2cd9b411b58ffaab494b Mon Sep 17 00:00:00 2001 From: "Atul Patel (OpenERP)" <atp@tinyerp.com> Date: Mon, 12 Mar 2012 14:12:17 +0530 Subject: [PATCH 174/313] [FIX]: FIX query groupby problem for string bzr revid: atp@tinyerp.com-20120312084217-jixwo97b30qht158 --- openerp/addons/base/ir/ir_model.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/openerp/addons/base/ir/ir_model.py b/openerp/addons/base/ir/ir_model.py index fd000f55432..a344c1a3885 100644 --- a/openerp/addons/base/ir/ir_model.py +++ b/openerp/addons/base/ir/ir_model.py @@ -140,12 +140,12 @@ class ir_model(osv.osv): model_pool = self.pool.get(model.model) # this test should be removed, but check if drop view instead of drop table # just check if table or view exists - cr.execute("select relkind from pg_class where relname=%s", (model_pool._table,)) + cr.execute('select relkind from pg_class where relname=%s', (model_pool._table,)) result = cr.fetchone() if result and result[0] == 'v': - cr.execute("DROP view %s" % (model_pool._table,)) + cr.execute('DROP view %s' % (model_pool._table,)) elif result and result[0] == 'r': - cr.execute("DROP TABLE %s" % (model_pool._table,)) + cr.execute('DROP TABLE %s' % (model_pool._table,)) return True def unlink(self, cr, user, ids, context=None): @@ -281,12 +281,12 @@ class ir_model_fields(osv.osv): def _drop_column(self, cr, uid, ids, context=None): field = self.browse(cr, uid, ids, context) model = self.pool.get(field.model) - cr.execute("select relkind from pg_class where relname=%s", (model._table,)) + cr.execute('select relkind from pg_class where relname=%s', (model._table,)) result = cr.fetchone() - cr.execute("SELECT column_name FROM information_schema.columns WHERE table_name ='%s'and column_name='%s'"%(model._table, field.name)) + cr.execute("SELECT column_name FROM information_schema.columns WHERE table_name ='%s' and column_name='%s'" %(model._table, field.name)) column_name = cr.fetchone() if column_name and (result and result[0] == 'r'): - cr.execute("ALTER table %s DROP column %s cascade" % (model._table, field.name)) + cr.execute('ALTER table "%s" DROP column "%s" cascade' % (model._table, field.name)) model._columns.pop(field.name, None) return True From c6e04a4739844597715df9b0f4c1e563ecd1fa9f Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Mon, 12 Mar 2012 14:16:36 +0530 Subject: [PATCH 175/313] [IMP]base/res_company and res_partner: add photo field and readonly address bzr revid: kjo@tinyerp.com-20120312084636-ew5j4arua8hjdpih --- openerp/addons/base/base_update.xml | 2 +- openerp/addons/base/res/res_company.py | 3 +- openerp/addons/base/res/res_partner_demo.xml | 9 +++- openerp/addons/base/res/res_partner_view.xml | 52 ++++++++++---------- 4 files changed, 37 insertions(+), 29 deletions(-) diff --git a/openerp/addons/base/base_update.xml b/openerp/addons/base/base_update.xml index c5594f76e22..e52bf54545c 100644 --- a/openerp/addons/base/base_update.xml +++ b/openerp/addons/base/base_update.xml @@ -225,7 +225,7 @@ <field name="parent_id" groups="base.group_multi_company"/> </group> <group colspan="2" col="2"> - <field name="logo" nolabel="1" widget="image"/> + <field name="photo" nolabel="1" widget="image"/> </group> </group> <notebook colspan="4"> diff --git a/openerp/addons/base/res/res_company.py b/openerp/addons/base/res/res_company.py index 3d3234ab551..0bfd1ba2c99 100644 --- a/openerp/addons/base/res/res_company.py +++ b/openerp/addons/base/res/res_company.py @@ -143,6 +143,7 @@ class res_company(osv.osv): 'vat': fields.related('partner_id', 'vat', string="Tax ID", type="char", size=32), 'company_registry': fields.char('Company Registry', size=64), 'paper_format': fields.selection([('a4', 'A4'), ('us_letter', 'US Letter')], "Paper Format", required=True), + 'photo': fields.related('partner_id', 'photo', string="Photo", type="binary"), } _sql_constraints = [ ('name_uniq', 'unique (name)', 'The company name must be unique !') @@ -227,7 +228,7 @@ class res_company(osv.osv): self.cache_restart(cr) return super(res_company, self).create(cr, uid, vals, context=context) obj_partner = self.pool.get('res.partner') - partner_id = obj_partner.create(cr, uid, {'name': vals['name']}, context=context) + partner_id = obj_partner.create(cr, uid, {'name': vals['name'],'is_company':1}, context=context) vals.update({'partner_id': partner_id}) self.cache_restart(cr) company_id = super(res_company, self).create(cr, uid, vals, context=context) diff --git a/openerp/addons/base/res/res_partner_demo.xml b/openerp/addons/base/res/res_partner_demo.xml index 70d4b1fcc13..4a6e5da754d 100644 --- a/openerp/addons/base/res/res_partner_demo.xml +++ b/openerp/addons/base/res/res_partner_demo.xml @@ -104,10 +104,16 @@ </record> <record id="res_partner_c2c" model="res.partner"> <field name="name">Camptocamp</field> - <field name="is_company">1</field> <field eval="[(6, 0, [ref('res_partner_category_10'), ref('res_partner_category_5')])]" name="category_id"/> <field name="supplier">1</field> <field name="is_company">1</field> + <field name="city">Le Bourget du Lac</field> + <field name="zip">73377</field> + <field name="phone">+41 21 619 10 04 </field> + <field model="res.country" name="country_id" search="[('name','=','France')]"/> + <field name="street">Savoie Technolac, BP 352</field> + <field name="type">default</field> + <field name="email">openerp@camptocamp.com</field> <field name="website">www.camptocamp.com</field> </record> <record id="res_partner_sednacom" model="res.partner"> @@ -539,6 +545,7 @@ <field model="res.country" name="country_id" search="[('name','=','Switzerland')]"/> <field name="street">PSE-A, EPFL </field> <field name="type">default</field> + <field name="use_parent_address" eval="0"/> <field name="parent_id" ref="res_partner_c2c"/> </record> <record id="res_partner_address_seagate" model="res.partner"> diff --git a/openerp/addons/base/res/res_partner_view.xml b/openerp/addons/base/res/res_partner_view.xml index 6194f9001c5..191e9eea57a 100644 --- a/openerp/addons/base/res/res_partner_view.xml +++ b/openerp/addons/base/res/res_partner_view.xml @@ -358,22 +358,22 @@ on_change="onchange_address(use_parent_address, parent_id)"/> </group> <newline/> - <field name="street" colspan="4"/> - <field name="street2" colspan="4"/> - <field name="zip"/> - <field name="city"/> - <field name="country_id"/> - <field name="state_id"/> + <field name="street" colspan="4" attrs="{'readonly': [('parent_id', '!=', False), ('use_parent_address', '=', True)]}"/> + <field name="street2" colspan="4" attrs="{'readonly': [('parent_id', '!=', False), ('use_parent_address', '=', True)]}"/> + <field name="zip" attrs="{'readonly': [('parent_id', '!=', False), ('use_parent_address', '=', True)]}"/> + <field name="city" attrs="{'readonly': [('parent_id', '!=', False), ('use_parent_address', '=', True)]}"/> + <field name="country_id" attrs="{'readonly': [('parent_id', '!=', False), ('use_parent_address', '=', True)]}"/> + <field name="state_id" attrs="{'readonly': [('parent_id', '!=', False), ('use_parent_address', '=', True)]}"/> </group> <group colspan="2"> <separator string="Communication" colspan="4"/> - <field name="lang" colspan="4"/> - <field name="phone" colspan="4"/> - <field name="mobile" colspan="4"/> - <field name="fax" colspan="4"/> - <field name="email" widget="email" colspan="4"/> - <field name="website" widget="url" colspan="4"/> - <field name="ref" groups="base.group_extended" colspan="4"/> + <field name="lang" colspan="4" attrs="{'readonly': [('parent_id', '!=', False), ('use_parent_address', '=', True)]}"/> + <field name="phone" colspan="4" attrs="{'readonly': [('parent_id', '!=', False), ('use_parent_address', '=', True)]}"/> + <field name="mobile" colspan="4" attrs="{'readonly': [('parent_id', '!=', False), ('use_parent_address', '=', True)]}"/> + <field name="fax" colspan="4" attrs="{'readonly': [('parent_id', '!=', False), ('use_parent_address', '=', True)]}"/> + <field name="email" widget="email" colspan="4" attrs="{'readonly': [('parent_id', '!=', False), ('use_parent_address', '=', True)]}"/> + <field name="website" widget="url" colspan="4" attrs="{'readonly': [('parent_id', '!=', False), ('use_parent_address', '=', True)]}"/> + <field name="ref" groups="base.group_extended" colspan="4" attrs="{'readonly': [('parent_id', '!=', False), ('use_parent_address', '=', True)]}"/> </group> <group colspan="4" attrs="{'invisible': [('is_company','=', False)]}"> <field name="child_ids" context="{'default_parent_id': active_id}" nolabel="1"> @@ -408,22 +408,22 @@ <field name="use_parent_address" attrs="{'invisible': [('is_company','=', True)]}" on_change="onchange_address(use_parent_address, parent_id)"/> </group> <newline/> - <field name="street" colspan="4"/> - <field name="street2" colspan="4"/> - <field name="zip"/> - <field name="city"/> - <field name="country_id"/> - <field name="state_id"/> + <field name="street" colspan="4" attrs="{'readonly': [('use_parent_address', '=', True)]}"/> + <field name="street2" colspan="4" attrs="{'readonly': [('use_parent_address', '=', True)]}"/> + <field name="zip" attrs="{'readonly': [('use_parent_address', '=', True)]}"/> + <field name="city" attrs="{'readonly': [('use_parent_address', '=', True)]}"/> + <field name="country_id" attrs="{'readonly': [('use_parent_address', '=', True)]}"/> + <field name="state_id" attrs="{'readonly': [('use_parent_address', '=', True)]}"/> </group> <group colspan="2"> <separator string="Communication" colspan="4"/> - <field name="lang" colspan="4"/> - <field name="phone" colspan="4"/> - <field name="mobile" colspan="4"/> - <field name="fax" colspan="4"/> - <field name="email" widget="email" colspan="4"/> - <field name="website" widget="url" colspan="4"/> - <field name="ref" groups="base.group_extended" colspan="4"/> + <field name="lang" colspan="4" attrs="{'readonly': [('use_parent_address', '=', True)]}"/> + <field name="phone" colspan="4" attrs="{'readonly': [('use_parent_address', '=', True)]}"/> + <field name="mobile" colspan="4" attrs="{'readonly': [('use_parent_address', '=', True)]}"/> + <field name="fax" colspan="4" attrs="{'readonly': [('use_parent_address', '=', True)]}"/> + <field name="email" widget="email" colspan="4" attrs="{'readonly': [('use_parent_address', '=', True)]}"/> + <field name="website" widget="url" colspan="4" attrs="{'readonly': [('use_parent_address', '=', True)]}"/> + <field name="ref" groups="base.group_extended" colspan="4" attrs="{'readonly': [('use_parent_address', '=', True)]}"/> </group> <group colspan="4" attrs="{'invisible': [('is_company','=', False)]}"> <field name="child_ids" domain="[('id','!=',parent_id.id)]" nolabel="1"/> From 20aa7d6fe8003b27343bd5e61978336aa87a89a9 Mon Sep 17 00:00:00 2001 From: "Bhumika (OpenERP)" <sbh@tinyerp.com> Date: Mon, 12 Mar 2012 15:03:32 +0530 Subject: [PATCH 176/313] [Fix]: Improve display adress for print company name bzr revid: sbh@tinyerp.com-20120312093332-oucqpsrcn33o82me --- openerp/addons/base/res/res_partner.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index bbd5320a9b9..a6b93b865a4 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -406,7 +406,7 @@ class res_partner(osv.osv): # get the information that will be injected into the display format # get the address format address_format = address.country_id and address.country_id.address_format or \ - '%(street)s\n%(street2)s\n%(city)s,%(state_code)s %(zip)s' + '%(company_name)s\n%(street)s\n%(street2)s\n%(city)s,%(state_code)s %(zip)s' args = { 'state_code': address.state_id and address.state_id.code or '', 'state_name': address.state_id and address.state_id.name or '', From d8f4e757332c93ff425418495bc84f18849d0216 Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Mon, 12 Mar 2012 15:14:29 +0530 Subject: [PATCH 177/313] [IMP]base/res_partner: change demo data bzr revid: kjo@tinyerp.com-20120312094429-fpmceeizvbn8eraa --- openerp/addons/base/res/res_partner_demo.xml | 314 +++++++++++-------- 1 file changed, 176 insertions(+), 138 deletions(-) diff --git a/openerp/addons/base/res/res_partner_demo.xml b/openerp/addons/base/res/res_partner_demo.xml index 4a6e5da754d..fd4453c63f6 100644 --- a/openerp/addons/base/res/res_partner_demo.xml +++ b/openerp/addons/base/res/res_partner_demo.xml @@ -94,12 +94,27 @@ <field name="supplier">1</field> <field eval="0" name="customer"/> <field name="is_company">1</field> + <field name="city">Taiwan</field> + <field name="name">Tang</field> + <field name="zip">23410</field> + <field model="res.country" name="country_id" search="[('name','=','Taiwan')]"/> + <field name="street">31 Hong Kong street</field> + <field name="email">info@asustek.com</field> + <field name="phone">+ 1 64 61 04 01</field> <field name="website">www.asustek.com</field> </record> <record id="res_partner_agrolait" model="res.partner"> <field name="name">Agrolait</field> <field eval="[(6, 0, [ref('base.res_partner_category_0')])]" name="category_id"/> <field name="is_company">1</field> + <field name="city">Wavre</field> + <field name="zip">5478</field> + <field model="res.country" name="country_id" search="[('name','=','Belgium')]"/> + <field name="street">69 rue de Chimay</field> + <field name="type">default</field> + <field name="email">s.l@agrolait.be</field> + <field name="phone">003281588558</field> + <field name="title" ref="base.res_partner_title_madam"/> <field name="website">www.agrolait.com</field> </record> <record id="res_partner_c2c" model="res.partner"> @@ -120,11 +135,26 @@ <field name="website">www.syleam.fr</field> <field name="name">Syleam</field> <field eval="[(6, 0, [ref('res_partner_category_5')])]" name="category_id"/> + <field name="city">Alencon</field> + <field name="zip">61000</field> + <field name="email">contact@syleam.fr</field> + <field name="street">1 place de l'Église</field> + <field name="phone">+33 (0) 2 33 31 22 10</field> + <field model="res.country" name="country_id" search="[('name','=','France')]"/> + <field name="type">default</field> <field name="is_company">1</field> </record> <record id="res_partner_thymbra" model="res.partner"> <field name="name">SmartBusiness</field> <field name="is_company">1</field> + <field name="city">Buenos Aires</field> + <field name="zip">1659</field> + <field name="email">contact@smartbusiness.ar</field> + <field name="street">Palermo, Capital Federal </field> + <field name="street2">C1414CMS Capital Federal </field> + <field name="phone">(5411) 4773-9666 </field> + <field model="res.country" name="country_id" search="[('name','=','Argentina')]"/> + <field name="type">default</field> <field eval="[(6, 0, [ref('res_partner_category_4')])]" name="category_id"/> </record> <record id="res_partner_desertic_hispafuentes" model="res.partner"> @@ -132,23 +162,51 @@ <field eval="[(6, 0, [ref('res_partner_category_4')])]" name="category_id"/> <field name="supplier">1</field> <field name="is_company">1</field> + <field name="city">Champs sur Marne</field> + <field name="zip">77420</field> + <field model="res.country" name="country_id" search="[('name','=','France')]"/> + <field name="email">info@axelor.com</field> + <field name="phone">+33 1 64 61 04 01</field> + <field name="street">12 rue Albert Einstein</field> + <field name="type">default</field> <field name="website">www.axelor.com/</field> </record> <record id="res_partner_tinyatwork" model="res.partner"> <field name="name">Tiny AT Work</field> <field name="is_company">1</field> <field eval="[(6, 0, [ref('res_partner_category_5'), ref('res_partner_category_10')])]" name="category_id"/> + <field name="city">Boston</field> + <field name="zip">5501</field> + <field name="email">info@tinyatwork.com</field> + <field name="phone">+33 (0) 2 33 31 22 10</field> + <field model="res.country" name="country_id" search="[('name','=','United States')]"/> + <field name="street">One Lincoln Street</field> + <field name="type">default</field> <field name="website">www.tinyatwork.com/</field> </record> <record id="res_partner_2" model="res.partner"> <field name="name">Bank Wealthy and sons</field> <field name="is_company">1</field> + <field name="city">Paris</field> + <field name="zip">75016</field> + <field model="res.country" name="country_id" search="[('name','=','France')]"/> + <field name="street">1 rue Rockfeller</field> + <field name="type">default</field> + <field name="email">a.g@wealthyandsons.com</field> + <field name="phone">003368978776</field> <field name="website">www.wealthyandsons.com/</field> </record> <record id="res_partner_3" model="res.partner"> <field name="name">China Export</field> <field eval="[(6, 0, [ref('res_partner_category_9')])]" name="category_id"/> <field name="is_company">1</field> + <field name="city">Shanghai</field> + <field name="zip">478552</field> + <field model="res.country" name="country_id" search="[('name','=','China')]"/> + <field name="street">52 Chop Suey street</field> + <field name="type">default</field> + <field name="email">zen@chinaexport.com</field> + <field name="phone">+86-751-64845671</field> <field name="website">www.chinaexport.com/</field> </record> <record id="res_partner_4" model="res.partner"> @@ -157,12 +215,26 @@ <field name="supplier">1</field> <field eval="0" name="customer"/> <field name="is_company">1</field> + <field name="city">Namur</field> + <field name="zip">2541</field> + <field model="res.country" name="country_id" search="[('name','=','Belgium')]"/> + <field name="street">42 rue de la Lesse</field> + <field name="type">default</field> + <field name="email">info@distribpc.com</field> + <field name="phone">+ 32 081256987</field> <field name="website">www.distribpc.com/</field> </record> <record id="res_partner_5" model="res.partner"> <field name="name">Ecole de Commerce de Liege</field> <field eval="[(6, 0, [ref('res_partner_category_1')])]" name="category_id"/> <field name="is_company">1</field> + <field name="city">Liege</field> + <field name="zip">6985</field> + <field model="res.country" name="country_id" search="[('name','=','Belgium')]"/> + <field name="street">2 Impasse de la Soif</field> + <field name="email">k.lesbrouffe@eci-liege.info</field> + <field name="phone">+32 421 52571</field> + <field name="type">default</field> <field name="website">www.eci-liege.info//</field> </record> <record id="res_partner_6" model="res.partner"> @@ -171,6 +243,13 @@ <field name="supplier">1</field> <field eval="0" name="customer"/> <field name="is_company">1</field> + <field name="city">Brussels</field> + <field name="zip">2365</field> + <field model="res.country" name="country_id" search="[('name','=','Belgium')]"/> + <field name="street">23 rue du Vieux Bruges</field> + <field name="type">default</field> + <field name="email">info@elecimport.com</field> + <field name="phone">+ 32 025 897 456</field> </record> <record id="res_partner_maxtor" model="res.partner"> <field name="name">Maxtor</field> @@ -179,6 +258,14 @@ <field name="supplier">1</field> <field eval="0" name="customer"/> <field name="is_company">1</field> + <field name="city">Hong Kong</field> + <field name="name">Wong</field> + <field name="zip">23540</field> + <field model="res.country" name="country_id" search="[('name','=','China')]"/> + <field name="street">56 Beijing street</field> + <field name="email">info@maxtor.com</field> + <field name="phone">+ 11 8528 456 789</field> + <field name="type">default</field> </record> <record id="res_partner_seagate" model="res.partner"> <field name="name">Seagate</field> @@ -186,12 +273,25 @@ <field eval="[(6, 0, [ref('res_partner_category_9')])]" name="category_id"/> <field name="supplier">1</field> <field name="is_company">1</field> + <field name="city">Cupertino</field> + <field name="name">Seagate Technology</field> + <field name="zip">95014</field> + <field model="res.country" name="country_id" search="[('name','=','United States')]"/> + <field name="street">10200 S. De Anza Blvd</field> + <field name="email">info@seagate.com</field> + <field name="phone">+1 408 256987</field> + <field name="type">default</field> </record> <record id="res_partner_8" model="res.partner"> <field name="website">http://mediapole.net</field> <field name="name">Mediapole SPRL</field> <field eval="[(6, 0, [ref('res_partner_category_1')])]" name="category_id"/> <field name="is_company">1</field> + <field name="city">Louvain-la-Neuve</field> + <field name="zip">1348</field> + <field model="res.country" name="country_id" search="[('name','=','Belgium')]"/> + <field name="phone">(+32).10.45.17.73</field> + <field name="street">Rue de l'Angelique, 1</field> </record> <record id="res_partner_9" model="res.partner"> <field name="website">www.balmerinc.com</field> @@ -200,18 +300,38 @@ <field name="ref">or</field> <field eval="[(6, 0, [ref('res_partner_category_1')])]" name="category_id"/> <field name="is_company">1</field> + <field name="city">Bruxelles</field> + <field name="zip">1000</field> + <field model="res.country" name="country_id" search="[('name','=','Belgium')]"/> + <field name="email">info@balmerinc.be</field> + <field name="phone">(+32)2 211 34 83</field> + <field name="street">Rue des Palais 51, bte 33</field> + <field name="type">default</field> </record> <record id="res_partner_10" model="res.partner"> <field name="name">Tecsas</field> <field name="ean13">3020170000003</field> <field eval="[(6, 0, [ref('res_partner_category_9')])]" name="category_id"/> <field name="is_company">1</field> + <field name="city">Avignon CEDEX 09</field> + <field name="zip">84911</field> + <field model="res.country" name="country_id" search="[('name','=','France')]"/> + <field name="email">contact@tecsas.fr</field> + <field name="phone">(+33)4.32.74.10.57</field> + <field name="street">85 rue du traite de Rome</field> + <field name="type">default</field> </record> <record id="res_partner_11" model="res.partner"> <field name="name">Leclerc</field> <field eval="1200.00" name="credit_limit"/> <field eval="[(6, 0, [ref('res_partner_category_0')])]" name="category_id"/> <field name="is_company">1</field> + <field name="type">default</field> + <field name="street">rue Grande</field> + <field name="city">Brest</field> + <field name="zip">29200</field> + <field name="email">marine@leclerc.fr</field> + <field name="phone">+33-298.334558</field> </record> <record id="res_partner_14" model="res.partner"> <field name="name">Centrale d'achats BML</field> @@ -219,6 +339,14 @@ <field eval="15000.00" name="credit_limit"/> <field eval="[(6, 0, [ref('res_partner_category_11')])]" name="category_id"/> <field name="is_company">1</field> + <field name="type">default</field> + <field name="name">Carl François</field> + <field name="city">Bruxelles</field> + <field name="zip">1000</field> + <field model="res.country" name="country_id" search="[('name','=','Belgium')]"/> + <field name="street">89 Chaussée de Waterloo</field> + <field name="email">carl.françois@bml.be</field> + <field name="phone">+32-258-256545</field> </record> <record id="res_partner_15" model="res.partner"> <field name="name">Magazin BML 1</field> @@ -226,11 +354,23 @@ <field eval="1500.00" name="credit_limit"/> <field eval="[(6, 0, [ref('res_partner_category_11')])]" name="category_id"/> <field name="is_company">1</field> + <field name="type">default</field> + <field name="street">89 Chaussée de Liège</field> + <field name="city">Namur</field> + <field name="zip">5000</field> + <field name="email">lucien.ferguson@bml.be</field> + <field name="phone">+32-621-568978</field> </record> <record id="res_partner_accent" model="res.partner"> <field name="name">Université de Liège</field> <field eval="[(6, 0, [ref('res_partner_category_9')])]" name="category_id"/> <field name="is_company">1</field> + <field name="type">default</field> + <field name="street">Place du 20Août</field> + <field name="city">Liège</field> + <field name="zip">4000</field> + <field name="email">martine.ohio@ulg.ac.be</field> + <field name="phone">+32-45895245</field> <field name="website">http://www.ulg.ac.be/</field> </record> @@ -242,6 +382,11 @@ <field eval="'Sprl Dubois would like to sell our bookshelves but they have no storage location, so it would be exclusively on order'" name="comment"/> <field name="name">Dubois sprl</field> <field name="is_company">1</field> + <field eval="'Brussels'" name="city"/> + <field eval="'1000'" name="zip"/> + <field name="country_id" ref="base.be"/> + <field eval="'Avenue de la Liberté 56'" name="street"/> + <field eval="'m.dubois@dubois.be'" name="email"/> <field name="website">http://www.dubois.be/</field> </record> @@ -249,12 +394,22 @@ <field name="name">Eric Dubois</field> <field name="is_company">1</field> <field name="address" eval="[]"/> + <field eval="'Mons'" name="city"/> + <field eval="'7000'" name="zip"/> + <field name="country_id" ref="base.be"/> + <field eval="'Chaussée de Binche, 27'" name="street"/> + <field eval="'e.dubois@gmail.com'" name="email"/> + <field eval="'(+32).758 958 789'" name="phone"/> </record> <record id="res_partner_fabiendupont0" model="res.partner"> <field name="name">Fabien Dupont</field> <field name="is_company">1</field> <field name="address" eval="[]"/> + <field eval="'Namur'" name="city"/> + <field eval="'5000'" name="zip"/> + <field name="country_id" ref="base.be"/> + <field eval="'Blvd Kennedy, 13'" name="street"/> </record> <record id="res_partner_lucievonck0" model="res.partner"> @@ -275,6 +430,8 @@ <field name="name">The Shelve House</field> <field eval="[(6,0,[ref('res_partner_category_retailers0')])]" name="category_id"/> <field name="is_company">1</field> + <field eval="'Paris'" name="city"/> + <field name="country_id" ref="base.fr"/> </record> <record id="res_partner_vickingdirect0" model="res.partner"> @@ -283,6 +440,12 @@ <field name="supplier">1</field> <field name="customer">0</field> <field name="is_company">1</field> + <field eval="'Puurs'" name="city"/> + <field eval="'2870'" name="zip"/> + <field name="country_id" ref="base.be"/> + <field eval="'(+32).70.12.85.00'" name="phone"/> + <field eval="'Schoonmansveld 28'" name="street"/> + <field name="country_id" ref="base.be"/> <field name="website">vicking-direct.be</field> </record> @@ -292,6 +455,9 @@ <field name="supplier">1</field> <field eval="0" name="customer"/> <field name="is_company">1</field> + <field eval="'Kainuu'" name="city"/> + <field eval="'(+358).9.589 689'" name="phone"/> + <field name="country_id" ref="base.fi"/> <field name="website">woodywoodpecker.com</field> </record> @@ -299,6 +465,8 @@ <field name="name">ZeroOne Inc</field> <field eval="[(6,0,[ref('res_partner_category_consumers0')])]" name="category_id"/> <field name="is_company">1</field> + <field eval="'Brussels'" name="city"/> + <field name="country_id" ref="base.be"/> <field name="website">http://www.zerooneinc.com/</field> </record> @@ -307,14 +475,7 @@ --> <record id="res_partner_address_1" model="res.partner"> - <field name="city">Bruxelles</field> <field name="name">Michel Schumacher</field> - <field name="zip">1000</field> - <field model="res.country" name="country_id" search="[('name','=','Belgium')]"/> - <field name="email">info@balmerinc.be</field> - <field name="phone">(+32)2 211 34 83</field> - <field name="street">Rue des Palais 51, bte 33</field> - <field name="type">default</field> <field name="parent_id" ref="res_partner_9"/> </record> <record id="res_partner_address_2" model="res.partner"> @@ -327,25 +488,14 @@ <field name="street">85 rue du traite de Rome</field> <field name="type">default</field> <field name="parent_id" ref="res_partner_10"/> + <field name="use_parent_address" eval="0"/> </record> <record id="res_partner_address_3000" model="res.partner"> - <field name="city">Champs sur Marne</field> <field name="name">Laith Jubair</field> - <field name="zip">77420</field> - <field model="res.country" name="country_id" search="[('name','=','France')]"/> - <field name="email">info@axelor.com</field> - <field name="phone">+33 1 64 61 04 01</field> - <field name="street">12 rue Albert Einstein</field> - <field name="type">default</field> <field name="parent_id" ref="res_partner_desertic_hispafuentes"/> </record> <record id="res_partner_address_3" model="res.partner"> - <field name="city">Louvain-la-Neuve</field> <field name="name">Thomas Passot</field> - <field name="zip">1348</field> - <field model="res.country" name="country_id" search="[('name','=','Belgium')]"/> - <field name="phone">(+32).10.45.17.73</field> - <field name="street">Rue de l'Angelique, 1</field> <field name="parent_id" ref="res_partner_8"/> </record> <record id="res_partner_address_tang" model="res.partner"> @@ -357,39 +507,19 @@ <field name="email">info@asustek.com</field> <field name="phone">+ 1 64 61 04 01</field> <field name="type">default</field> + <field name="use_parent_address" eval="0"/> <field name="parent_id" ref="res_partner_asus"/> </record> <record id="res_partner_address_wong" model="res.partner"> - <field name="city">Hong Kong</field> <field name="name">Wong</field> - <field name="zip">23540</field> - <field model="res.country" name="country_id" search="[('name','=','China')]"/> - <field name="street">56 Beijing street</field> - <field name="email">info@maxtor.com</field> - <field name="phone">+ 11 8528 456 789</field> - <field name="type">default</field> <field name="parent_id" ref="res_partner_maxtor"/> </record> <record id="res_partner_address_6" model="res.partner"> - <field name="city">Brussels</field> <field name="name">Etienne Lacarte</field> - <field name="zip">2365</field> - <field model="res.country" name="country_id" search="[('name','=','Belgium')]"/> - <field name="street">23 rue du Vieux Bruges</field> - <field name="type">default</field> - <field name="email">info@elecimport.com</field> - <field name="phone">+ 32 025 897 456</field> <field name="parent_id" ref="res_partner_6"/> </record> <record id="res_partner_address_7" model="res.partner"> - <field name="city">Namur</field> <field name="name">Jean Guy Lavente</field> - <field name="zip">2541</field> - <field model="res.country" name="country_id" search="[('name','=','Belgium')]"/> - <field name="street">42 rue de la Lesse</field> - <field name="type">default</field> - <field name="email">info@distribpc.com</field> - <field name="phone">+ 32 081256987</field> <field name="parent_id" ref="res_partner_4"/> </record> <record id="res_partner_address_8" model="res.partner"> @@ -401,6 +531,7 @@ <field name="type">default</field> <field name="email">s.l@agrolait.be</field> <field name="phone">003281588558</field> + <field name="use_parent_address" eval="0"/> <field name="parent_id" ref="res_partner_agrolait"/> <field name="title" ref="base.res_partner_title_madam"/> </record> @@ -413,6 +544,7 @@ <field name="type">delivery</field> <field name="email">p.l@agrolait.be</field> <field name="phone">003281588557</field> + <field name="use_parent_address" eval="0"/> <field name="parent_id" ref="res_partner_agrolait"/> <field name="title" ref="base.res_partner_title_sir"/> </record> @@ -425,52 +557,25 @@ <field name="type">invoice</field> <field name="email">serge.l@agrolait.be</field> <field name="phone">003281588556</field> + <field name="use_parent_address" eval="0"/> <field name="parent_id" ref="res_partner_agrolait"/> <field name="title" ref="base.res_partner_title_sir"/> </record> <record id="res_partner_address_9" model="res.partner"> - <field name="city">Paris</field> <field name="name">Arthur Grosbonnet</field> - <field name="zip">75016</field> - <field model="res.country" name="country_id" search="[('name','=','France')]"/> - <field name="street">1 rue Rockfeller</field> - <field name="type">default</field> - <field name="email">a.g@wealthyandsons.com</field> - <field name="phone">003368978776</field> <field name="parent_id" ref="res_partner_2"/> <field name="title" ref="base.res_partner_title_sir"/> </record> <record id="res_partner_address_11" model="res.partner"> - <field name="city">Alencon</field> <field name="name">Sebastien LANGE</field> - <field name="zip">61000</field> - <field name="email">contact@syleam.fr</field> - <field name="street">1 place de l'Église</field> - <field name="phone">+33 (0) 2 33 31 22 10</field> - <field model="res.country" name="country_id" search="[('name','=','France')]"/> - <field name="type">default</field> <field name="parent_id" ref="res_partner_sednacom"/> </record> <record id="res_partner_address_10" model="res.partner"> - <field name="city">Liege</field> <field name="name">Karine Lesbrouffe</field> - <field name="zip">6985</field> - <field model="res.country" name="country_id" search="[('name','=','Belgium')]"/> - <field name="street">2 Impasse de la Soif</field> - <field name="email">k.lesbrouffe@eci-liege.info</field> - <field name="phone">+32 421 52571</field> - <field name="type">default</field> <field name="parent_id" ref="res_partner_5"/> </record> <record id="res_partner_address_zen" model="res.partner"> - <field name="city">Shanghai</field> <field name="name">Zen</field> - <field name="zip">478552</field> - <field model="res.country" name="country_id" search="[('name','=','China')]"/> - <field name="street">52 Chop Suey street</field> - <field name="type">default</field> - <field name="email">zen@chinaexport.com</field> - <field name="phone">+86-751-64845671</field> <field name="parent_id" ref="res_partner_3"/> </record> <record id="res_partner_address_12" model="res.partner"> @@ -483,27 +588,15 @@ <field name="type">default</field> <field name="email">l.dupont@tecsas.fr</field> <field name="phone">+33-658-256545</field> + <field name="use_parent_address" eval="0"/> <field name="parent_id" ref="res_partner_10"/> </record> <record id="res_partner_address_13" model="res.partner"> - <field name="type">default</field> <field name="name">Carl François</field> - <field name="city">Bruxelles</field> - <field name="zip">1000</field> - <field model="res.country" name="country_id" search="[('name','=','Belgium')]"/> - <field name="street">89 Chaussée de Waterloo</field> - <field name="email">carl.françois@bml.be</field> - <field name="phone">+32-258-256545</field> <field name="parent_id" ref="res_partner_14"/> </record> <record id="res_partner_address_14" model="res.partner"> - <field name="type">default</field> <field name="name">Lucien Ferguson</field> - <field name="street">89 Chaussée de Liège</field> - <field name="city">Namur</field> - <field name="zip">5000</field> - <field name="email">lucien.ferguson@bml.be</field> - <field name="phone">+32-621-568978</field> <field name="parent_id" ref="res_partner_15"/> </record> <record id="res_partner_address_15" model="res.partner"> @@ -514,6 +607,7 @@ <field name="zip">29200</field> <field name="email">marine@leclerc.fr</field> <field name="phone">+33-298.334558</field> + <field name="use_parent_address" eval="0"/> <field name="parent_id" ref="res_partner_11"/> </record> <record id="res_partner_address_16" model="res.partner"> @@ -524,17 +618,12 @@ <field name="zip">29200</field> <field name="email">claude@leclerc.fr</field> <field name="phone">+33-298.334598</field> + <field name="use_parent_address" eval="0"/> <field name="parent_id" ref="res_partner_11"/> </record> <record id="res_partner_address_accent" model="res.partner"> - <field name="type">default</field> <field name="name">Martine Ohio</field> - <field name="street">Place du 20Août</field> - <field name="city">Liège</field> - <field name="zip">4000</field> - <field name="email">martine.ohio@ulg.ac.be</field> - <field name="phone">+32-45895245</field> <field name="parent_id" ref="res_partner_accent"/> </record> <record id="res_partner_address_Camptocamp" model="res.partner"> @@ -549,37 +638,15 @@ <field name="parent_id" ref="res_partner_c2c"/> </record> <record id="res_partner_address_seagate" model="res.partner"> - <field name="city">Cupertino</field> <field name="name">Seagate Technology</field> - <field name="zip">95014</field> - <field model="res.country" name="country_id" search="[('name','=','United States')]"/> - <field name="street">10200 S. De Anza Blvd</field> - <field name="email">info@seagate.com</field> - <field name="phone">+1 408 256987</field> - <field name="type">default</field> <field name="parent_id" ref="res_partner_seagate"/> </record> <record id="res_partner_address_thymbra" model="res.partner"> - <field name="city">Buenos Aires</field> <field name="name">Jack Daniels</field> - <field name="zip">1659</field> - <field name="email">contact@smartbusiness.ar</field> - <field name="street">Palermo, Capital Federal </field> - <field name="street2">C1414CMS Capital Federal </field> - <field name="phone">(5411) 4773-9666 </field> - <field model="res.country" name="country_id" search="[('name','=','Argentina')]"/> - <field name="type">default</field> <field name="parent_id" ref="res_partner_thymbra"/> </record> <record id="res_partner_address_tinyatwork" model="res.partner"> - <field name="city">Boston</field> <field name="name">Tiny Work</field> - <field name="zip">5501</field> - <field name="email">info@tinyatwork.com</field> - <field name="phone">+33 (0) 2 33 31 22 10</field> - <field model="res.country" name="country_id" search="[('name','=','United States')]"/> - <field name="street">One Lincoln Street</field> - <field name="type">default</field> <field name="parent_id" ref="res_partner_tinyatwork"/> </record> @@ -628,73 +695,44 @@ <record id="res_partner_address_henrychard1" model="res.partner"> - <field eval="'Paris'" name="city"/> <field eval="'Henry Chard'" name="name"/> <field name="parent_id" ref="res_partner_theshelvehouse0"/> - <field name="country_id" ref="base.fr"/> </record> <record id="res_partner_address_brussels0" model="res.partner"> - <field eval="'Brussels'" name="city"/> <field eval="'Leen Vandenloep'" name="name"/> - <field eval="'Puurs'" name="city"/> - <field eval="'2870'" name="zip"/> - <field name="country_id" ref="base.be"/> - <field eval="'(+32).70.12.85.00'" name="phone"/> - <field eval="'Schoonmansveld 28'" name="street"/> <field name="parent_id" ref="res_partner_vickingdirect0"/> - <field name="country_id" ref="base.be"/> </record> <record id="res_partner_address_rogerpecker1" model="res.partner"> - <field eval="'Kainuu'" name="city"/> <field eval="'Roger Pecker'" name="name"/> <field name="parent_id" ref="res_partner_woodywoodpecker0"/> - <field eval="'(+358).9.589 689'" name="phone"/> - <field name="country_id" ref="base.fi"/> </record> <record id="res_partner_address_geoff1" model="res.partner"> - <field eval="'Brussels'" name="city"/> <field eval="'Geoff'" name="name"/> <field name="parent_id" ref="res_partner_zerooneinc0"/> - <field name="country_id" ref="base.be"/> </record> <record id="res_partner_address_marcdubois0" model="res.partner"> - <field eval="'Brussels'" name="city"/> <field eval="'Marc Dubois'" name="name"/> - <field eval="'1000'" name="zip"/> <field name="parent_id" ref="res_partner_duboissprl0"/> - <field name="country_id" ref="base.be"/> - <field eval="'Avenue de la Liberté 56'" name="street"/> - <field eval="'m.dubois@dubois.be'" name="email"/> </record> <record id="res_partner_address_fabiendupont0" model="res.partner"> - <field eval="'Namur'" name="city"/> <field eval="'Fabien Dupont'" name="name"/> - <field eval="'5000'" name="zip"/> <field name="parent_id" ref="res_partner_fabiendupont0"/> - <field name="country_id" ref="base.be"/> - <field eval="'Blvd Kennedy, 13'" name="street"/> </record> <record id="res_partner_address_ericdubois0" model="res.partner"> - <field eval="'Mons'" name="city"/> <field eval="'Eric Dubois'" name="name"/> - <field eval="'7000'" name="zip"/> <field name="parent_id" ref="res_partner_ericdubois0"/> - <field name="country_id" ref="base.be"/> - <field eval="'Chaussée de Binche, 27'" name="street"/> - <field eval="'e.dubois@gmail.com'" name="email"/> - <field eval="'(+32).758 958 789'" name="phone"/> </record> From 5bf4aa302a4aa01556dcafc1a02ea4e465e83c3b Mon Sep 17 00:00:00 2001 From: "Atul Patel (OpenERP)" <atp@tinyerp.com> Date: Mon, 12 Mar 2012 15:23:55 +0530 Subject: [PATCH 178/313] [ADD]: ADd condition for insert constraint if not exists. bzr revid: atp@tinyerp.com-20120312095355-q3r8bz8i7n50bf47 --- openerp/osv/orm.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/openerp/osv/orm.py b/openerp/osv/orm.py index 40a4f4183ff..3b728ce91dc 100644 --- a/openerp/osv/orm.py +++ b/openerp/osv/orm.py @@ -3208,8 +3208,10 @@ class BaseModel(object): cr.commit() _schema.debug(sql_action['msg_ok']) name_id = 'constraint_'+ conname + cr.execute('select conname from pg_constraint where contype=%s and conname=%s',('u', conname),) + existing_const = cr.fetchall() cr.execute('select * from ir_model_data where name=%s and module=%s', (name_id, module)) - if not cr.rowcount: + if not cr.rowcount and not existing_const: cr.execute("INSERT INTO ir_model_data (name,date_init,date_update,module, model) VALUES (%s, now(), now(), %s, %s)", \ (name_id, module, self._name) ) From 7288a49499b7c1017b25d6e12b3350cd81a7dfac Mon Sep 17 00:00:00 2001 From: "Bhumika (OpenERP)" <sbh@tinyerp.com> Date: Mon, 12 Mar 2012 16:42:28 +0530 Subject: [PATCH 179/313] [IMP]base: res.company set logo field realted to partner bzr revid: sbh@tinyerp.com-20120312111228-7zy1o4q2vykayuwy --- openerp/addons/base/base_data.xml | 1 + openerp/addons/base/res/res_company.py | 5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/openerp/addons/base/base_data.xml b/openerp/addons/base/base_data.xml index 525c7e2e334..931cc6fe8b0 100644 --- a/openerp/addons/base/base_data.xml +++ b/openerp/addons/base/base_data.xml @@ -1061,6 +1061,7 @@ <field name="address" eval="[]"/> <field name="company_id" eval="None"/> <field name="customer" eval="False"/> + <field name="is_company" eval="True"/> </record> <record id="main_address" model="res.partner.address"> <field name="partner_id" ref="main_partner"/> diff --git a/openerp/addons/base/res/res_company.py b/openerp/addons/base/res/res_company.py index 3d3234ab551..e6fcd92c298 100644 --- a/openerp/addons/base/res/res_company.py +++ b/openerp/addons/base/res/res_company.py @@ -124,7 +124,7 @@ class res_company(osv.osv): 'rml_header': fields.text('RML Header', required=True), 'rml_header2': fields.text('RML Internal Header', required=True), 'rml_header3': fields.text('RML Internal Header', required=True), - 'logo': fields.binary('Logo'), + 'logo': fields.related('partner_id', 'photo', string="Photo", type="binary"), 'currency_id': fields.many2one('res.currency', 'Currency', required=True), 'currency_ids': fields.one2many('res.currency', 'company_id', 'Currency'), 'user_ids': fields.many2many('res.users', 'res_company_users_rel', 'cid', 'user_id', 'Accepted Users'), @@ -223,11 +223,12 @@ class res_company(osv.osv): self._get_company_children.clear_cache(self) def create(self, cr, uid, vals, context=None): + if not vals.get('name', False) or vals.get('partner_id', False): self.cache_restart(cr) return super(res_company, self).create(cr, uid, vals, context=context) obj_partner = self.pool.get('res.partner') - partner_id = obj_partner.create(cr, uid, {'name': vals['name']}, context=context) + partner_id = obj_partner.create(cr, uid, {'name': vals['name'],'is_company':True}, context=context) vals.update({'partner_id': partner_id}) self.cache_restart(cr) company_id = super(res_company, self).create(cr, uid, vals, context=context) From 41a5021110f34262b3889ddf83eb5f7a4e064093 Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Tue, 13 Mar 2012 11:00:48 +0530 Subject: [PATCH 180/313] [IMP]base/res_partner : demo data change bzr revid: kjo@tinyerp.com-20120313053048-jmybumt3hif622y2 --- openerp/addons/base/res/res_partner_demo.xml | 213 +++++++++++++++---- openerp/addons/base/res/res_partner_view.xml | 52 ++--- 2 files changed, 202 insertions(+), 63 deletions(-) diff --git a/openerp/addons/base/res/res_partner_demo.xml b/openerp/addons/base/res/res_partner_demo.xml index fd4453c63f6..0b032fe4659 100644 --- a/openerp/addons/base/res/res_partner_demo.xml +++ b/openerp/addons/base/res/res_partner_demo.xml @@ -95,7 +95,6 @@ <field eval="0" name="customer"/> <field name="is_company">1</field> <field name="city">Taiwan</field> - <field name="name">Tang</field> <field name="zip">23410</field> <field model="res.country" name="country_id" search="[('name','=','Taiwan')]"/> <field name="street">31 Hong Kong street</field> @@ -111,10 +110,8 @@ <field name="zip">5478</field> <field model="res.country" name="country_id" search="[('name','=','Belgium')]"/> <field name="street">69 rue de Chimay</field> - <field name="type">default</field> <field name="email">s.l@agrolait.be</field> <field name="phone">003281588558</field> - <field name="title" ref="base.res_partner_title_madam"/> <field name="website">www.agrolait.com</field> </record> <record id="res_partner_c2c" model="res.partner"> @@ -127,7 +124,6 @@ <field name="phone">+41 21 619 10 04 </field> <field model="res.country" name="country_id" search="[('name','=','France')]"/> <field name="street">Savoie Technolac, BP 352</field> - <field name="type">default</field> <field name="email">openerp@camptocamp.com</field> <field name="website">www.camptocamp.com</field> </record> @@ -141,7 +137,6 @@ <field name="street">1 place de l'Église</field> <field name="phone">+33 (0) 2 33 31 22 10</field> <field model="res.country" name="country_id" search="[('name','=','France')]"/> - <field name="type">default</field> <field name="is_company">1</field> </record> <record id="res_partner_thymbra" model="res.partner"> @@ -154,7 +149,6 @@ <field name="street2">C1414CMS Capital Federal </field> <field name="phone">(5411) 4773-9666 </field> <field model="res.country" name="country_id" search="[('name','=','Argentina')]"/> - <field name="type">default</field> <field eval="[(6, 0, [ref('res_partner_category_4')])]" name="category_id"/> </record> <record id="res_partner_desertic_hispafuentes" model="res.partner"> @@ -168,7 +162,6 @@ <field name="email">info@axelor.com</field> <field name="phone">+33 1 64 61 04 01</field> <field name="street">12 rue Albert Einstein</field> - <field name="type">default</field> <field name="website">www.axelor.com/</field> </record> <record id="res_partner_tinyatwork" model="res.partner"> @@ -181,7 +174,6 @@ <field name="phone">+33 (0) 2 33 31 22 10</field> <field model="res.country" name="country_id" search="[('name','=','United States')]"/> <field name="street">One Lincoln Street</field> - <field name="type">default</field> <field name="website">www.tinyatwork.com/</field> </record> <record id="res_partner_2" model="res.partner"> @@ -191,7 +183,6 @@ <field name="zip">75016</field> <field model="res.country" name="country_id" search="[('name','=','France')]"/> <field name="street">1 rue Rockfeller</field> - <field name="type">default</field> <field name="email">a.g@wealthyandsons.com</field> <field name="phone">003368978776</field> <field name="website">www.wealthyandsons.com/</field> @@ -204,7 +195,6 @@ <field name="zip">478552</field> <field model="res.country" name="country_id" search="[('name','=','China')]"/> <field name="street">52 Chop Suey street</field> - <field name="type">default</field> <field name="email">zen@chinaexport.com</field> <field name="phone">+86-751-64845671</field> <field name="website">www.chinaexport.com/</field> @@ -219,7 +209,6 @@ <field name="zip">2541</field> <field model="res.country" name="country_id" search="[('name','=','Belgium')]"/> <field name="street">42 rue de la Lesse</field> - <field name="type">default</field> <field name="email">info@distribpc.com</field> <field name="phone">+ 32 081256987</field> <field name="website">www.distribpc.com/</field> @@ -234,7 +223,6 @@ <field name="street">2 Impasse de la Soif</field> <field name="email">k.lesbrouffe@eci-liege.info</field> <field name="phone">+32 421 52571</field> - <field name="type">default</field> <field name="website">www.eci-liege.info//</field> </record> <record id="res_partner_6" model="res.partner"> @@ -247,7 +235,6 @@ <field name="zip">2365</field> <field model="res.country" name="country_id" search="[('name','=','Belgium')]"/> <field name="street">23 rue du Vieux Bruges</field> - <field name="type">default</field> <field name="email">info@elecimport.com</field> <field name="phone">+ 32 025 897 456</field> </record> @@ -259,13 +246,11 @@ <field eval="0" name="customer"/> <field name="is_company">1</field> <field name="city">Hong Kong</field> - <field name="name">Wong</field> <field name="zip">23540</field> <field model="res.country" name="country_id" search="[('name','=','China')]"/> <field name="street">56 Beijing street</field> <field name="email">info@maxtor.com</field> <field name="phone">+ 11 8528 456 789</field> - <field name="type">default</field> </record> <record id="res_partner_seagate" model="res.partner"> <field name="name">Seagate</field> @@ -274,13 +259,11 @@ <field name="supplier">1</field> <field name="is_company">1</field> <field name="city">Cupertino</field> - <field name="name">Seagate Technology</field> <field name="zip">95014</field> <field model="res.country" name="country_id" search="[('name','=','United States')]"/> <field name="street">10200 S. De Anza Blvd</field> <field name="email">info@seagate.com</field> <field name="phone">+1 408 256987</field> - <field name="type">default</field> </record> <record id="res_partner_8" model="res.partner"> <field name="website">http://mediapole.net</field> @@ -306,7 +289,6 @@ <field name="email">info@balmerinc.be</field> <field name="phone">(+32)2 211 34 83</field> <field name="street">Rue des Palais 51, bte 33</field> - <field name="type">default</field> </record> <record id="res_partner_10" model="res.partner"> <field name="name">Tecsas</field> @@ -319,14 +301,12 @@ <field name="email">contact@tecsas.fr</field> <field name="phone">(+33)4.32.74.10.57</field> <field name="street">85 rue du traite de Rome</field> - <field name="type">default</field> </record> <record id="res_partner_11" model="res.partner"> <field name="name">Leclerc</field> <field eval="1200.00" name="credit_limit"/> <field eval="[(6, 0, [ref('res_partner_category_0')])]" name="category_id"/> <field name="is_company">1</field> - <field name="type">default</field> <field name="street">rue Grande</field> <field name="city">Brest</field> <field name="zip">29200</field> @@ -339,7 +319,6 @@ <field eval="15000.00" name="credit_limit"/> <field eval="[(6, 0, [ref('res_partner_category_11')])]" name="category_id"/> <field name="is_company">1</field> - <field name="type">default</field> <field name="name">Carl François</field> <field name="city">Bruxelles</field> <field name="zip">1000</field> @@ -354,7 +333,6 @@ <field eval="1500.00" name="credit_limit"/> <field eval="[(6, 0, [ref('res_partner_category_11')])]" name="category_id"/> <field name="is_company">1</field> - <field name="type">default</field> <field name="street">89 Chaussée de Liège</field> <field name="city">Namur</field> <field name="zip">5000</field> @@ -476,63 +454,108 @@ <record id="res_partner_address_1" model="res.partner"> <field name="name">Michel Schumacher</field> + <field name="website">www.balmerinc.com</field> + <field name="ref">or</field> + <field name="city">Bruxelles</field> + <field name="zip">1000</field> + <field model="res.country" name="country_id" search="[('name','=','Belgium')]"/> + <field name="email">info@balmerinc.be</field> + <field name="phone">(+32)2 211 34 83</field> + <field name="street">Rue des Palais 51, bte 33</field> + <field name="use_parent_address" eval="1"/> <field name="parent_id" ref="res_partner_9"/> </record> <record id="res_partner_address_2" model="res.partner"> - <field name="city">Avignon CEDEX 09</field> <field name="name">Laurent Jacot</field> + <field name="city">Avignon CEDEX 09</field> <field name="zip">84911</field> <field model="res.country" name="country_id" search="[('name','=','France')]"/> <field name="email">contact@tecsas.fr</field> <field name="phone">(+33)4.32.74.10.57</field> <field name="street">85 rue du traite de Rome</field> - <field name="type">default</field> + <field name="use_parent_address" eval="1"/> <field name="parent_id" ref="res_partner_10"/> - <field name="use_parent_address" eval="0"/> </record> <record id="res_partner_address_3000" model="res.partner"> <field name="name">Laith Jubair</field> + <field name="city">Champs sur Marne</field> + <field name="zip">77420</field> + <field model="res.country" name="country_id" search="[('name','=','France')]"/> + <field name="email">info@axelor.com</field> + <field name="phone">+33 1 64 61 04 01</field> + <field name="street">12 rue Albert Einstein</field> + <field name="website">www.axelor.com/</field> + <field name="use_parent_address" eval="1"/> <field name="parent_id" ref="res_partner_desertic_hispafuentes"/> </record> <record id="res_partner_address_3" model="res.partner"> <field name="name">Thomas Passot</field> + <field name="website">http://mediapole.net</field> + <field name="city">Louvain-la-Neuve</field> + <field name="zip">1348</field> + <field model="res.country" name="country_id" search="[('name','=','Belgium')]"/> + <field name="phone">(+32).10.45.17.73</field> + <field name="street">Rue de l'Angelique, 1</field> + <field name="use_parent_address" eval="1"/> <field name="parent_id" ref="res_partner_8"/> </record> <record id="res_partner_address_tang" model="res.partner"> - <field name="city">Taiwan</field> <field name="name">Tang</field> + <field name="city">Taiwan</field> <field name="zip">23410</field> <field model="res.country" name="country_id" search="[('name','=','Taiwan')]"/> <field name="street">31 Hong Kong street</field> <field name="email">info@asustek.com</field> <field name="phone">+ 1 64 61 04 01</field> - <field name="type">default</field> - <field name="use_parent_address" eval="0"/> + <field name="website">www.asustek.com</field> + <field name="use_parent_address" eval="1"/> <field name="parent_id" ref="res_partner_asus"/> </record> <record id="res_partner_address_wong" model="res.partner"> <field name="name">Wong</field> + <field name="city">Hong Kong</field> + <field name="zip">23540</field> + <field model="res.country" name="country_id" search="[('name','=','China')]"/> + <field name="street">56 Beijing street</field> + <field name="email">info@maxtor.com</field> + <field name="phone">+ 11 8528 456 789</field> + <field name="use_parent_address" eval="1"/> <field name="parent_id" ref="res_partner_maxtor"/> </record> <record id="res_partner_address_6" model="res.partner"> <field name="name">Etienne Lacarte</field> + <field name="city">Brussels</field> + <field name="zip">2365</field> + <field model="res.country" name="country_id" search="[('name','=','Belgium')]"/> + <field name="street">23 rue du Vieux Bruges</field> + <field name="email">info@elecimport.com</field> + <field name="phone">+ 32 025 897 456</field> + <field name="use_parent_address" eval="1"/> <field name="parent_id" ref="res_partner_6"/> </record> <record id="res_partner_address_7" model="res.partner"> <field name="name">Jean Guy Lavente</field> + <field name="city">Namur</field> + <field name="zip">2541</field> + <field model="res.country" name="country_id" search="[('name','=','Belgium')]"/> + <field name="street">42 rue de la Lesse</field> + <field name="email">info@distribpc.com</field> + <field name="phone">+ 32 081256987</field> + <field name="website">www.distribpc.com/</field> + <field name="use_parent_address" eval="1"/> <field name="parent_id" ref="res_partner_4"/> </record> <record id="res_partner_address_8" model="res.partner"> - <field name="city">Wavre</field> <field name="name">Sylvie Lelitre</field> + <field name="parent_id" ref="res_partner_agrolait"/> + <field name="city">Wavre</field> <field name="zip">5478</field> <field model="res.country" name="country_id" search="[('name','=','Belgium')]"/> <field name="street">69 rue de Chimay</field> - <field name="type">default</field> - <field name="email">s.l@agrolait.be</field> - <field name="phone">003281588558</field> - <field name="use_parent_address" eval="0"/> - <field name="parent_id" ref="res_partner_agrolait"/> + <field name="email">s.l@agrolait.be</field> + <field name="phone">003281588558</field> + <field name="website">www.agrolait.com</field> + <field name="use_parent_address" eval="1"/> <field name="title" ref="base.res_partner_title_madam"/> </record> <record id="res_partner_address_8delivery" model="res.partner"> @@ -564,18 +587,50 @@ <record id="res_partner_address_9" model="res.partner"> <field name="name">Arthur Grosbonnet</field> <field name="parent_id" ref="res_partner_2"/> + <field name="city">Paris</field> + <field name="zip">75016</field> + <field model="res.country" name="country_id" search="[('name','=','France')]"/> + <field name="street">1 rue Rockfeller</field> + <field name="email">a.g@wealthyandsons.com</field> + <field name="phone">003368978776</field> + <field name="website">www.wealthyandsons.com/</field> + <field name="use_parent_address" eval="1"/> <field name="title" ref="base.res_partner_title_sir"/> </record> <record id="res_partner_address_11" model="res.partner"> <field name="name">Sebastien LANGE</field> + <field name="website">www.syleam.fr</field> + <field name="city">Alencon</field> + <field name="zip">61000</field> + <field name="email">contact@syleam.fr</field> + <field name="street">1 place de l'Église</field> + <field name="phone">+33 (0) 2 33 31 22 10</field> + <field model="res.country" name="country_id" search="[('name','=','France')]"/> + <field name="use_parent_address" eval="1"/> <field name="parent_id" ref="res_partner_sednacom"/> </record> <record id="res_partner_address_10" model="res.partner"> <field name="name">Karine Lesbrouffe</field> + <field name="city">Liege</field> + <field name="zip">6985</field> + <field model="res.country" name="country_id" search="[('name','=','Belgium')]"/> + <field name="street">2 Impasse de la Soif</field> + <field name="email">k.lesbrouffe@eci-liege.info</field> + <field name="phone">+32 421 52571</field> + <field name="website">www.eci-liege.info//</field> + <field name="use_parent_address" eval="1"/> <field name="parent_id" ref="res_partner_5"/> </record> <record id="res_partner_address_zen" model="res.partner"> <field name="name">Zen</field> + <field name="city">Shanghai</field> + <field name="zip">478552</field> + <field model="res.country" name="country_id" search="[('name','=','China')]"/> + <field name="street">52 Chop Suey street</field> + <field name="email">zen@chinaexport.com</field> + <field name="phone">+86-751-64845671</field> + <field name="website">www.chinaexport.com/</field> + <field name="use_parent_address" eval="1"/> <field name="parent_id" ref="res_partner_3"/> </record> <record id="res_partner_address_12" model="res.partner"> @@ -592,11 +647,24 @@ <field name="parent_id" ref="res_partner_10"/> </record> <record id="res_partner_address_13" model="res.partner"> - <field name="name">Carl François</field> + <field name="name">Carl</field> + <field name="city">Bruxelles</field> + <field name="zip">1000</field> + <field model="res.country" name="country_id" search="[('name','=','Belgium')]"/> + <field name="street">89 Chaussée de Waterloo</field> + <field name="email">carl.françois@bml.be</field> + <field name="phone">+32-258-256545</field> + <field name="use_parent_address" eval="1"/> <field name="parent_id" ref="res_partner_14"/> </record> <record id="res_partner_address_14" model="res.partner"> <field name="name">Lucien Ferguson</field> + <field name="street">89 Chaussée de Liège</field> + <field name="city">Namur</field> + <field name="zip">5000</field> + <field name="email">lucien.ferguson@bml.be</field> + <field name="phone">+32-621-568978</field> + <field name="use_parent_address" eval="1"/> <field name="parent_id" ref="res_partner_15"/> </record> <record id="res_partner_address_15" model="res.partner"> @@ -624,6 +692,13 @@ <record id="res_partner_address_accent" model="res.partner"> <field name="name">Martine Ohio</field> + <field name="street">Place du 20Août</field> + <field name="city">Liège</field> + <field name="zip">4000</field> + <field name="email">martine.ohio@ulg.ac.be</field> + <field name="phone">+32-45895245</field> + <field name="website">http://www.ulg.ac.be/</field> + <field name="use_parent_address" eval="1"/> <field name="parent_id" ref="res_partner_accent"/> </record> <record id="res_partner_address_Camptocamp" model="res.partner"> @@ -639,14 +714,37 @@ </record> <record id="res_partner_address_seagate" model="res.partner"> <field name="name">Seagate Technology</field> + <field name="city">Cupertino</field> + <field name="zip">95014</field> + <field model="res.country" name="country_id" search="[('name','=','United States')]"/> + <field name="street">10200 S. De Anza Blvd</field> + <field name="email">info@seagate.com</field> + <field name="phone">+1 408 256987</field> + <field name="use_parent_address" eval="1"/> <field name="parent_id" ref="res_partner_seagate"/> </record> <record id="res_partner_address_thymbra" model="res.partner"> <field name="name">Jack Daniels</field> + <field name="city">Buenos Aires</field> + <field name="zip">1659</field> + <field name="email">contact@smartbusiness.ar</field> + <field name="street">Palermo, Capital Federal </field> + <field name="street2">C1414CMS Capital Federal </field> + <field name="phone">(5411) 4773-9666 </field> + <field model="res.country" name="country_id" search="[('name','=','Argentina')]"/> + <field name="use_parent_address" eval="1"/> <field name="parent_id" ref="res_partner_thymbra"/> </record> <record id="res_partner_address_tinyatwork" model="res.partner"> <field name="name">Tiny Work</field> + <field name="city">Boston</field> + <field name="zip">5501</field> + <field name="email">info@tinyatwork.com</field> + <field name="phone">+33 (0) 2 33 31 22 10</field> + <field model="res.country" name="country_id" search="[('name','=','United States')]"/> + <field name="street">One Lincoln Street</field> + <field name="website">www.tinyatwork.com/</field> + <field name="use_parent_address" eval="1"/> <field name="parent_id" ref="res_partner_tinyatwork"/> </record> @@ -696,42 +794,83 @@ <record id="res_partner_address_henrychard1" model="res.partner"> <field eval="'Henry Chard'" name="name"/> + <field eval="'Paris'" name="city"/> + <field name="country_id" ref="base.fr"/> + <field name="use_parent_address" eval="1"/> <field name="parent_id" ref="res_partner_theshelvehouse0"/> </record> <record id="res_partner_address_brussels0" model="res.partner"> <field eval="'Leen Vandenloep'" name="name"/> + <field eval="'Puurs'" name="city"/> + <field eval="'2870'" name="zip"/> + <field name="country_id" ref="base.be"/> + <field eval="'(+32).70.12.85.00'" name="phone"/> + <field eval="'Schoonmansveld 28'" name="street"/> + <field name="country_id" ref="base.be"/> + <field name="website">vicking-direct.be</field> + <field name="use_parent_address" eval="1"/> <field name="parent_id" ref="res_partner_vickingdirect0"/> </record> <record id="res_partner_address_rogerpecker1" model="res.partner"> <field eval="'Roger Pecker'" name="name"/> + <field name="is_company">1</field> + <field eval="'Kainuu'" name="city"/> + <field eval="'(+358).9.589 689'" name="phone"/> + <field name="country_id" ref="base.fi"/> + <field name="website">woodywoodpecker.com</field> + <field name="use_parent_address" eval="1"/> <field name="parent_id" ref="res_partner_woodywoodpecker0"/> </record> <record id="res_partner_address_geoff1" model="res.partner"> <field eval="'Geoff'" name="name"/> + <field eval="'Brussels'" name="city"/> + <field name="country_id" ref="base.be"/> + <field name="website">http://www.zerooneinc.com/</field> + <field name="use_parent_address" eval="1"/> <field name="parent_id" ref="res_partner_zerooneinc0"/> </record> <record id="res_partner_address_marcdubois0" model="res.partner"> <field eval="'Marc Dubois'" name="name"/> + <field eval="'Brussels'" name="city"/> + <field eval="'1000'" name="zip"/> + <field name="country_id" ref="base.be"/> + <field eval="'Avenue de la Liberté 56'" name="street"/> + <field eval="'m.dubois@dubois.be'" name="email"/> + <field name="website">http://www.dubois.be/</field> + <field name="use_parent_address" eval="1"/> <field name="parent_id" ref="res_partner_duboissprl0"/> </record> <record id="res_partner_address_fabiendupont0" model="res.partner"> - <field eval="'Fabien Dupont'" name="name"/> + <field eval="'Fabien'" name="name"/> + <field eval="'Namur'" name="city"/> + <field eval="'5000'" name="zip"/> + <field name="country_id" ref="base.be"/> + <field eval="'Blvd Kennedy, 13'" name="street"/> + <field name="use_parent_address" eval="1"/> <field name="parent_id" ref="res_partner_fabiendupont0"/> </record> <record id="res_partner_address_ericdubois0" model="res.partner"> - <field eval="'Eric Dubois'" name="name"/> + <field eval="'Eric'" name="name"/> + <field name="address" eval="[]"/> + <field eval="'Mons'" name="city"/> + <field eval="'7000'" name="zip"/> + <field name="country_id" ref="base.be"/> + <field eval="'Chaussée de Binche, 27'" name="street"/> + <field eval="'e.dubois@gmail.com'" name="email"/> + <field eval="'(+32).758 958 789'" name="phone"/> + <field name="use_parent_address" eval="1"/> <field name="parent_id" ref="res_partner_ericdubois0"/> </record> diff --git a/openerp/addons/base/res/res_partner_view.xml b/openerp/addons/base/res/res_partner_view.xml index 191e9eea57a..6194f9001c5 100644 --- a/openerp/addons/base/res/res_partner_view.xml +++ b/openerp/addons/base/res/res_partner_view.xml @@ -358,22 +358,22 @@ on_change="onchange_address(use_parent_address, parent_id)"/> </group> <newline/> - <field name="street" colspan="4" attrs="{'readonly': [('parent_id', '!=', False), ('use_parent_address', '=', True)]}"/> - <field name="street2" colspan="4" attrs="{'readonly': [('parent_id', '!=', False), ('use_parent_address', '=', True)]}"/> - <field name="zip" attrs="{'readonly': [('parent_id', '!=', False), ('use_parent_address', '=', True)]}"/> - <field name="city" attrs="{'readonly': [('parent_id', '!=', False), ('use_parent_address', '=', True)]}"/> - <field name="country_id" attrs="{'readonly': [('parent_id', '!=', False), ('use_parent_address', '=', True)]}"/> - <field name="state_id" attrs="{'readonly': [('parent_id', '!=', False), ('use_parent_address', '=', True)]}"/> + <field name="street" colspan="4"/> + <field name="street2" colspan="4"/> + <field name="zip"/> + <field name="city"/> + <field name="country_id"/> + <field name="state_id"/> </group> <group colspan="2"> <separator string="Communication" colspan="4"/> - <field name="lang" colspan="4" attrs="{'readonly': [('parent_id', '!=', False), ('use_parent_address', '=', True)]}"/> - <field name="phone" colspan="4" attrs="{'readonly': [('parent_id', '!=', False), ('use_parent_address', '=', True)]}"/> - <field name="mobile" colspan="4" attrs="{'readonly': [('parent_id', '!=', False), ('use_parent_address', '=', True)]}"/> - <field name="fax" colspan="4" attrs="{'readonly': [('parent_id', '!=', False), ('use_parent_address', '=', True)]}"/> - <field name="email" widget="email" colspan="4" attrs="{'readonly': [('parent_id', '!=', False), ('use_parent_address', '=', True)]}"/> - <field name="website" widget="url" colspan="4" attrs="{'readonly': [('parent_id', '!=', False), ('use_parent_address', '=', True)]}"/> - <field name="ref" groups="base.group_extended" colspan="4" attrs="{'readonly': [('parent_id', '!=', False), ('use_parent_address', '=', True)]}"/> + <field name="lang" colspan="4"/> + <field name="phone" colspan="4"/> + <field name="mobile" colspan="4"/> + <field name="fax" colspan="4"/> + <field name="email" widget="email" colspan="4"/> + <field name="website" widget="url" colspan="4"/> + <field name="ref" groups="base.group_extended" colspan="4"/> </group> <group colspan="4" attrs="{'invisible': [('is_company','=', False)]}"> <field name="child_ids" context="{'default_parent_id': active_id}" nolabel="1"> @@ -408,22 +408,22 @@ <field name="use_parent_address" attrs="{'invisible': [('is_company','=', True)]}" on_change="onchange_address(use_parent_address, parent_id)"/> </group> <newline/> - <field name="street" colspan="4" attrs="{'readonly': [('use_parent_address', '=', True)]}"/> - <field name="street2" colspan="4" attrs="{'readonly': [('use_parent_address', '=', True)]}"/> - <field name="zip" attrs="{'readonly': [('use_parent_address', '=', True)]}"/> - <field name="city" attrs="{'readonly': [('use_parent_address', '=', True)]}"/> - <field name="country_id" attrs="{'readonly': [('use_parent_address', '=', True)]}"/> - <field name="state_id" attrs="{'readonly': [('use_parent_address', '=', True)]}"/> + <field name="street" colspan="4"/> + <field name="street2" colspan="4"/> + <field name="zip"/> + <field name="city"/> + <field name="country_id"/> + <field name="state_id"/> </group> <group colspan="2"> <separator string="Communication" colspan="4"/> - <field name="lang" colspan="4" attrs="{'readonly': [('use_parent_address', '=', True)]}"/> - <field name="phone" colspan="4" attrs="{'readonly': [('use_parent_address', '=', True)]}"/> - <field name="mobile" colspan="4" attrs="{'readonly': [('use_parent_address', '=', True)]}"/> - <field name="fax" colspan="4" attrs="{'readonly': [('use_parent_address', '=', True)]}"/> - <field name="email" widget="email" colspan="4" attrs="{'readonly': [('use_parent_address', '=', True)]}"/> - <field name="website" widget="url" colspan="4" attrs="{'readonly': [('use_parent_address', '=', True)]}"/> - <field name="ref" groups="base.group_extended" colspan="4" attrs="{'readonly': [('use_parent_address', '=', True)]}"/> + <field name="lang" colspan="4"/> + <field name="phone" colspan="4"/> + <field name="mobile" colspan="4"/> + <field name="fax" colspan="4"/> + <field name="email" widget="email" colspan="4"/> + <field name="website" widget="url" colspan="4"/> + <field name="ref" groups="base.group_extended" colspan="4"/> </group> <group colspan="4" attrs="{'invisible': [('is_company','=', False)]}"> <field name="child_ids" domain="[('id','!=',parent_id.id)]" nolabel="1"/> From 18d4bee8355e299b665e83742daf8d714fdb2da8 Mon Sep 17 00:00:00 2001 From: "Bhumika (OpenERP)" <sbh@tinyerp.com> Date: Tue, 13 Mar 2012 11:43:38 +0530 Subject: [PATCH 181/313] [IMP]base/res :set photo when create company from childs bzr revid: sbh@tinyerp.com-20120313061338-dh2i2ve0rhbl1jha --- openerp/addons/base/res/res_partner.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index a6b93b865a4..ba161731e6c 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -259,13 +259,15 @@ class res_partner(osv.osv): return super(res_partner,self).write(cr, uid, ids, vals, context=context) def create(self, cr, uid, vals, context=None): + if context is None: + context={} # Update parent and siblings records if vals.get('parent_id') and vals.get('use_parent_address'): domain_siblings = [('parent_id', '=', vals['parent_id']), ('use_parent_address', '=', True)] update_ids = [vals['parent_id']] + self.search(cr, uid, domain_siblings, context=context) self.update_address(cr, uid, update_ids, vals, context) - if 'photo' not in vals: - vals['photo'] = self._get_photo(cr, uid, vals.get('is_company', False), context) + if 'photo' not in vals : + vals['photo'] = self._get_photo(cr, uid, vals.get('is_company', False) or context.get('default_is_company'), context) return super(res_partner,self).create(cr, uid, vals, context=context) def update_address(self, cr, uid, ids, vals, context=None): From 3b56005bcb0b924a456643e5dda8db681fcbdda6 Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Tue, 13 Mar 2012 12:09:06 +0530 Subject: [PATCH 182/313] [IMP]base/res_partner: set indentation in demo bzr revid: kjo@tinyerp.com-20120313063906-3gv0qpr9fafmj8el --- openerp/addons/base/res/res_partner_demo.xml | 62 ++++++++++---------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/openerp/addons/base/res/res_partner_demo.xml b/openerp/addons/base/res/res_partner_demo.xml index 4c9d786f4d5..81f5c5dd21b 100644 --- a/openerp/addons/base/res/res_partner_demo.xml +++ b/openerp/addons/base/res/res_partner_demo.xml @@ -64,22 +64,22 @@ <!-- Resource: res.partner.category for training --> - <record id="res_partner_category_consumers0" model="res.partner.category"> - <field name="name">Consumers</field> - <field name="parent_id" ref="res_partner_category_0"/> - </record> - <record id="res_partner_category_retailers0" model="res.partner.category"> - <field name="name">Retailers</field> - <field name="parent_id" ref="res_partner_category_0"/> - </record> - <record id="res_partner_category_miscellaneoussuppliers0" model="res.partner.category"> - <field name="name">Miscellaneous Suppliers</field> - <field name="parent_id" ref="res_partner_category_8"/> - </record> - <record id="res_partner_category_woodsuppliers0" model="res.partner.category"> - <field name="name">Wood Suppliers</field> - <field name="parent_id" ref="res_partner_category_8"/> - </record> + <record id="res_partner_category_consumers0" model="res.partner.category"> + <field name="name">Consumers</field> + <field name="parent_id" ref="res_partner_category_0"/> + </record> + <record id="res_partner_category_retailers0" model="res.partner.category"> + <field name="name">Retailers</field> + <field name="parent_id" ref="res_partner_category_0"/> + </record> + <record id="res_partner_category_miscellaneoussuppliers0" model="res.partner.category"> + <field name="name">Miscellaneous Suppliers</field> + <field name="parent_id" ref="res_partner_category_8"/> + </record> + <record id="res_partner_category_woodsuppliers0" model="res.partner.category"> + <field name="name">Wood Suppliers</field> + <field name="parent_id" ref="res_partner_category_8"/> + </record> <!-- Resource: res.partner @@ -562,8 +562,8 @@ <field model="res.country" name="country_id" search="[('name','=','Belgium')]"/> <field name="street">71 rue de Chimay</field> <field name="type">delivery</field> - <field name="email">p.l@agrolait.be</field> - <field name="phone">003281588557</field> + <field name="email">p.l@agrolait.be</field> + <field name="phone">003281588557</field> <field name="use_parent_address" eval="0"/> <field name="parent_id" ref="res_partner_agrolait"/> <field name="title" ref="base.res_partner_title_sir"/> @@ -575,8 +575,8 @@ <field model="res.country" name="country_id" search="[('name','=','Belgium')]"/> <field name="street">69 rue de Chimay</field> <field name="type">invoice</field> - <field name="email">serge.l@agrolait.be</field> - <field name="phone">003281588556</field> + <field name="email">serge.l@agrolait.be</field> + <field name="phone">003281588556</field> <field name="use_parent_address" eval="0"/> <field name="parent_id" ref="res_partner_agrolait"/> <field name="title" ref="base.res_partner_title_sir"/> @@ -632,14 +632,14 @@ </record> <record id="res_partner_address_12" model="res.partner"> <field name="type">default</field> - <field name="city">Grenoble</field> + <field name="city">Grenoble</field> <field name="name">Loïc Dupont</field> <field name="zip">38100</field> <field model="res.country" name="country_id" search="[('name','=','China')]"/> <field name="street">Rue Lavoisier 145</field> <field name="type">default</field> - <field name="email">l.dupont@tecsas.fr</field> - <field name="phone">+33-658-256545</field> + <field name="email">l.dupont@tecsas.fr</field> + <field name="phone">+33-658-256545</field> <field name="use_parent_address" eval="0"/> <field name="parent_id" ref="res_partner_10"/> </record> @@ -668,22 +668,22 @@ <field name="type">default</field> <field name="name">Marine Leclerc</field> <field name="street">rue Grande</field> - <field name="city">Brest</field> + <field name="city">Brest</field> <field name="zip">29200</field> - <field name="email">marine@leclerc.fr</field> - <field name="phone">+33-298.334558</field> - <field name="use_parent_address" eval="0"/> + <field name="email">marine@leclerc.fr</field> + <field name="phone">+33-298.334558</field> + <field name="use_parent_address" eval="0"/> <field name="parent_id" ref="res_partner_11"/> </record> <record id="res_partner_address_16" model="res.partner"> <field name="type">invoice</field> <field name="name">Claude Leclerc</field> <field name="street">rue Grande</field> - <field name="city">Brest</field> + <field name="city">Brest</field> <field name="zip">29200</field> - <field name="email">claude@leclerc.fr</field> - <field name="phone">+33-298.334598</field> - <field name="use_parent_address" eval="0"/> + <field name="email">claude@leclerc.fr</field> + <field name="phone">+33-298.334598</field> + <field name="use_parent_address" eval="0"/> <field name="parent_id" ref="res_partner_11"/> </record> From f2bf6bfc81530f97c7ca0ecdda2bd363036fb161 Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Wed, 14 Mar 2012 10:52:14 +0530 Subject: [PATCH 183/313] [IMP]report_intrastat: remove res.partner.address bzr revid: kjo@tinyerp.com-20120314052214-g6kf5lgvtm9snnrv --- addons/report_intrastat/report_intrastat.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/report_intrastat/report_intrastat.py b/addons/report_intrastat/report_intrastat.py index ffe90b54d4f..a4997a1ed7d 100644 --- a/addons/report_intrastat/report_intrastat.py +++ b/addons/report_intrastat/report_intrastat.py @@ -112,9 +112,9 @@ class report_intrastat(osv.osv): left join product_uom uom on uom.id=inv_line.uos_id left join product_uom puom on puom.id = pt.uom_id left join report_intrastat_code intrastat on pt.intrastat_id = intrastat.id - left join (res_partner_address inv_address + left join (res_partner inv_address left join res_country inv_country on (inv_country.id = inv_address.country_id)) - on (inv_address.id = inv.address_invoice_id) + on (inv_address.id = inv.partner_id) where inv.state in ('open','paid') From e715d0dc5f4d6ff3fde3fd7e80f7ec4fbf442684 Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Wed, 14 Mar 2012 11:04:40 +0530 Subject: [PATCH 184/313] [IMP]crm_partner_assign: remove partner_id bzr revid: kjo@tinyerp.com-20120314053440-9es2m8mhj167cwqi --- addons/crm_partner_assign/report/crm_partner_report.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/crm_partner_assign/report/crm_partner_report.py b/addons/crm_partner_assign/report/crm_partner_report.py index 764a09c52b9..7dccab30da2 100644 --- a/addons/crm_partner_assign/report/crm_partner_report.py +++ b/addons/crm_partner_assign/report/crm_partner_report.py @@ -51,7 +51,7 @@ class crm_partner_report_assign(osv.osv): SELECT coalesce(i.id, p.id - 1000000000) as id, p.id as partner_id, - (SELECT country_id FROM res_partner a WHERE a.partner_id=p.id AND country_id is not null limit 1) as country_id, + (SELECT country_id FROM res_partner a WHERE a.parent_id=p.id AND country_id is not null limit 1) as country_id, p.grade_id, p.activation, p.date_review, From d742a8a9cac908fcdd6c8c5aed46e23600df7766 Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Wed, 14 Mar 2012 12:14:39 +0530 Subject: [PATCH 185/313] [IMP]base_contact: remove res.partner.address bzr revid: kjo@tinyerp.com-20120314064439-81wvawy5jhzf0zw7 --- addons/base_contact/base_contact.py | 30 +++++++++---------- addons/base_contact/base_contact_view.xml | 8 ++--- .../base_contact/security/ir.model.access.csv | 2 +- 3 files changed, 20 insertions(+), 20 deletions(-) diff --git a/addons/base_contact/base_contact.py b/addons/base_contact/base_contact.py index 59ac8a0b4df..d556803d60c 100644 --- a/addons/base_contact/base_contact.py +++ b/addons/base_contact/base_contact.py @@ -42,12 +42,12 @@ class res_partner_contact(osv.osv): 'title': fields.many2one('res.partner.title','Title', domain=[('domain','=','contact')]), 'website': fields.char('Website', size=120), 'lang_id': fields.many2one('res.lang', 'Language'), - 'job_ids': fields.one2many('res.partner.address', 'contact_id', 'Functions and Addresses'), + 'job_ids': fields.one2many('res.partner', 'contact_id', 'Functions and Addresses'), 'country_id': fields.many2one('res.country','Nationality'), 'birthdate': fields.char('Birthdate', size=64), 'active': fields.boolean('Active', help="If the active field is set to False,\ it will allow you to hide the partner contact without removing it."), - 'partner_id': fields.related('job_ids', 'partner_id', type='many2one',\ + 'partner_id': fields.related('job_ids', 'parent_id', type='many2one',\ relation='res.partner', string='Main Employer'), 'function': fields.related('job_ids', 'function', type='char', \ string='Main Function'), @@ -103,9 +103,9 @@ class res_partner_contact(osv.osv): SELECT id,COALESCE(name, '/'),COALESCE(name, '/'),title,true,email,mobile,birthdate FROM - res_partner_address""") - cr.execute("alter table res_partner_address add contact_id int references res_partner_contact") - cr.execute("update res_partner_address set contact_id=id") + res_partner""") + cr.execute("alter table res_partner add contact_id int references res_partner_contact") + cr.execute("update res_partner set contact_id=id") cr.execute("select setval('res_partner_contact_id_seq', (select max(id)+1 from res_partner_contact))") res_partner_contact() @@ -121,8 +121,8 @@ class res_partner_location(osv.osv): 'state_id': fields.many2one("res.country.state", 'Fed. State', domain="[('country_id','=',country_id)]"), 'country_id': fields.many2one('res.country', 'Country'), 'company_id': fields.many2one('res.company', 'Company',select=1), - 'job_ids': fields.one2many('res.partner.address', 'location_id', 'Contacts'), - 'partner_id': fields.related('job_ids', 'partner_id', type='many2one',\ + 'job_ids': fields.one2many('res.partner', 'location_id', 'Contacts'), + 'partner_id': fields.related('job_ids', 'parent_id', type='many2one',\ relation='res.partner', string='Main Partner'), } _defaults = { @@ -147,10 +147,10 @@ class res_partner_location(osv.osv): id,street,street2,zip,city, state_id,country_id,company_id FROM - res_partner_address""") - cr.execute("alter table res_partner_address add location_id int references res_partner_location") - cr.execute("update res_partner_address set location_id=id") - cr.execute("select setval('res_partner_location_id_seq', (select max(id)+1 from res_partner_address))") + res_partner""") + cr.execute("alter table res_partner add location_id int references res_partner_location") + cr.execute("update res_partner set location_id=id") + cr.execute("select setval('res_partner_location_id_seq', (select max(id)+1 from res_partner))") def name_get(self, cr, uid, ids, context=None): result = {} @@ -170,9 +170,9 @@ class res_partner_address(osv.osv): def _default_location_id(self, cr, uid, context=None): if context is None: context = {} - if not context.get('default_partner_id',False): + if not context.get('default_parent_id',False): return False - ids = self.pool.get('res.partner.location').search(cr, uid, [('partner_id','=',context['default_partner_id'])], context=context) + ids = self.pool.get('res.partner.location').search(cr, uid, [('parent_id','=',context['default_parent_id'])], context=context) return ids and ids[0] or False def onchange_location_id(self,cr, uid, ids, location_id=False, context={}): @@ -227,8 +227,8 @@ class res_partner_address(osv.osv): result = {} for rec in self.browse(cr,uid, ids, context=context): res = [] - if rec.partner_id: - res.append(rec.partner_id.name_get()[0][1]) + if rec.parent_id: + res.append(rec.parent_id.name_get()[0][1]) if rec.contact_id and rec.contact_id.name: res.append(rec.contact_id.name) if rec.location_id: diff --git a/addons/base_contact/base_contact_view.xml b/addons/base_contact/base_contact_view.xml index 16a9a966e25..b1fb5d5f93c 100644 --- a/addons/base_contact/base_contact_view.xml +++ b/addons/base_contact/base_contact_view.xml @@ -50,8 +50,8 @@ </group> <field name="job_ids" colspan="4" nolabel="1" mode="tree,form"> <form string="Functions and Addresses"> - <field name="partner_id" /> - <field name="location_id" domain="[('partner_id', '=', partner_id)]"/> + <field name="parent_id" /> + <field name="location_id" domain="[('partner_id', '=', parent_id)]"/> <field name="function" /> <separator string="Professional Info" colspan="4"/> <field name="phone"/> @@ -135,10 +135,10 @@ <field name="inherit_id" ref="base.view_partner_form"/> <field name="type">form</field> <field name="arch" type="xml"> - <separator string="Postal Address" position="after"> + <separator string="Address" position="after"> <field name="location_id" on_change="onchange_location_id(location_id)" domain="[('partner_id', '=', parent.id)]"/> </separator> - <xpath expr="//field[@string='Contact Name']" position="replace"> + <xpath expr="//field[@name='name']" position="replace"> <field name="contact_id"/> </xpath> <field name="title" position="replace"/> diff --git a/addons/base_contact/security/ir.model.access.csv b/addons/base_contact/security/ir.model.access.csv index 0a7ffeee7f8..c4855d9b63c 100644 --- a/addons/base_contact/security/ir.model.access.csv +++ b/addons/base_contact/security/ir.model.access.csv @@ -3,5 +3,5 @@ "access_res_partner_contact_all","res.partner.contact all","model_res_partner_contact","base.group_user",1,0,0,0 "access_res_partner_location","res.partner.location","model_res_partner_location","base.group_user",1,0,0,0 "access_res_partner_location_sale_salesman","res.partner.location","model_res_partner_location","base.group_sale_salesman",1,1,1,0 -"access_res_partner_address_sale_salesman","res.partner.address.user","base.model_res_partner_address","base.group_sale_salesman",1,1,1,0 +"access_res_partner_sale_salesman","res.partner.user","base.model_res_partner","base.group_sale_salesman",1,1,1,0 "access_group_sale_salesman","res.partner.contact.sale.salesman","model_res_partner_contact","base.group_sale_salesman",1,1,1,0 From 4fac55615969880f4afd3aac8e81aa459c0c8b00 Mon Sep 17 00:00:00 2001 From: "Atul Patel (OpenERP)" <atp@tinyerp.com> Date: Thu, 15 Mar 2012 12:53:44 +0530 Subject: [PATCH 186/313] [FIX]: Fix dependency problem. bzr revid: atp@tinyerp.com-20120315072344-fu9h9nepujdisa2d --- openerp/addons/base/module/module.py | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/openerp/addons/base/module/module.py b/openerp/addons/base/module/module.py index d6732681fb2..6adfc2dcd6d 100644 --- a/openerp/addons/base/module/module.py +++ b/openerp/addons/base/module/module.py @@ -392,7 +392,8 @@ class module(osv.osv): # should we call process_end istead of loading, or both ? return True - def button_uninstall(self, cr, uid, ids, context=None): + def check_dependancy(self, cr, uid, ids, context): + res = [] for module in self.browse(cr, uid, ids): cr.execute('''select m.id from @@ -403,11 +404,15 @@ class module(osv.osv): d.name=%s and m.state not in ('uninstalled','uninstallable','to remove')''', (module.name,)) res = cr.fetchall() - for i in range(0,len(res)): - ids.append(res[i][0]) -# if res: -# self.write(cr, uid, ids, {'state': 'to remove'}) -## raise orm.except_orm(_('Error'), _('Some installed modules depend on the module you plan to Uninstall :\n %s') % '\n'.join(map(lambda x: '\t%s: %s' % (x[0], x[1]), res))) + return res + + def button_uninstall(self, cr, uid, ids, context=None): + res = self.check_dependancy(cr, uid, ids, context) + for i in range(0,len(res)): + res_depend = self.check_dependancy(cr, uid, [res[i][0]], context) + for j in range(0,len(res_depend)): + ids.append(res_depend[j][0]) + ids.append(res[i][0]) self.write(cr, uid, ids, {'state': 'to remove'}) return dict(ACTION_DICT, name=_('Uninstall')) From c5a666a4a721a40335a6c410b2625f1c791d75a1 Mon Sep 17 00:00:00 2001 From: "Quentin (OpenERP)" <qdp-launchpad@openerp.com> Date: Fri, 16 Mar 2012 13:48:17 +0100 Subject: [PATCH 187/313] [IMP] base, res.partner.address: added _defaults and call to write() and create() functions of res.partner for a better backward compatibility bzr revid: qdp-launchpad@openerp.com-20120316124817-rokpu5nykwabtlad --- openerp/addons/base/res/res_partner.py | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index ba161731e6c..7a9cde0ae25 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -454,12 +454,25 @@ class res_partner_address(osv.osv): 'color': fields.integer('Color Index'), } + _defaults = { + 'active': True, + 'company_id': lambda s,cr,uid,c: s.pool.get('res.company')._company_default_get(cr, uid, 'res.partner', context=c), + 'color': 0, + 'type': 'default', + } + def write(self, cr, uid, ids, vals, context=None): logging.getLogger('res.partner').warning("Deprecated use of res.partner.address") - return super(res_partner_address,self).write(cr, uid, ids, vals, context=context) + if 'partner_id' in vals: + vals['parent_id'] = vals.get('partner_id') + del(vals['partner_id']) + return self.pool.get('res.partner').write(cr, uid, ids, vals, context=context) def create(self, cr, uid, vals, context=None): logging.getLogger('res.partner').warning("Deprecated use of res.partner.address") - return super(res_partner_address,self).create(cr, uid, vals, context=context) + if 'partner_id' in vals: + vals['parent_id'] = vals.get('partner_id') + del(vals['partner_id']) + return self.pool.get('res.partner').create(cr, uid, vals, context=context) # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: From 629d662f636eab939dbfa5e5da8634e3803ebf2c Mon Sep 17 00:00:00 2001 From: "Quentin (OpenERP)" <qdp-launchpad@openerp.com> Date: Fri, 16 Mar 2012 14:53:39 +0100 Subject: [PATCH 188/313] [IMP] base, report header: simplified code by removing useless check as partner_id is required on res_company bzr revid: qdp-launchpad@openerp.com-20120316135339-qsnr1qfcgc7mr94m --- openerp/addons/base/report/corporate_sxw_header.xml | 8 ++++---- openerp/addons/base/report/mako_header.html | 12 ++++++------ 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/openerp/addons/base/report/corporate_sxw_header.xml b/openerp/addons/base/report/corporate_sxw_header.xml index d6330e66a7a..d752ffa91a5 100644 --- a/openerp/addons/base/report/corporate_sxw_header.xml +++ b/openerp/addons/base/report/corporate_sxw_header.xml @@ -204,8 +204,8 @@ </table:table-cell> </table:table-row> </table:table> - <text:p text:style-name="P3">[[ company.partner_id and company.partner_id.street ]]</text:p> - <text:p text:style-name="P3">[[ company.partner_id and company.partner_id.zip ]] [[ company.partner_id and company.partner_id.city ]] - [[ company.partner_id and company.partner_id.country_id and company.partner_id.country_id.name ]]</text:p> + <text:p text:style-name="P3">[[ company.partner_id.street ]]</text:p> + <text:p text:style-name="P3">[[ company.partner_id.zip ]] [[ company.partner_id.city ]] - [[ company.partner_id.country_id and company.partner_id.country_id.name ]]</text:p> <table:table table:name="Table3" table:style-name="Table3"> <table:table-column table:style-name="Table3.A"/> <table:table-column table:style-name="Table3.B"/> @@ -214,7 +214,7 @@ <text:p text:style-name="P4">Phone :</text:p> </table:table-cell> <table:table-cell table:style-name="Table3.A1" table:value-type="string"> - <text:p text:style-name="P5">[[ company.partner_id and company.partner_id.phone ]]</text:p> + <text:p text:style-name="P5">[[ company.partner_id.phone ]]</text:p> </table:table-cell> </table:table-row> <table:table-row> @@ -222,7 +222,7 @@ <text:p text:style-name="P4">Mail :</text:p> </table:table-cell> <table:table-cell table:style-name="Table3.A2" table:value-type="string"> - <text:p text:style-name="P5">[[ company.partner_id and company.partner_id.email ]]</text:p> + <text:p text:style-name="P5">[[ company.partner_id.email ]]</text:p> </table:table-cell> </table:table-row> </table:table> diff --git a/openerp/addons/base/report/mako_header.html b/openerp/addons/base/report/mako_header.html index a8c7d71b8d9..02839e1ffb3 100644 --- a/openerp/addons/base/report/mako_header.html +++ b/openerp/addons/base/report/mako_header.html @@ -14,7 +14,7 @@ <tr> <td> - % if company['partner_id'] and company['partner_id']['street']: + % if company['partner_id']['street']: <small>${company.partner_id.street}</small></br> %endif </td> @@ -22,7 +22,7 @@ <tr> <td> - % if company['partner_id'] and company['partner_id']['zip']: + % if company['partner_id']['zip']: <small>${company.partner_id.zip} ${company.partner_id.city}-${company.partner_id.country_id and company.partner_id.country_id.name}</small></br> %endif @@ -31,16 +31,16 @@ <tr> <td> - % if company['partner_id'] and company['partner_id']['phone']: - <small><b>Phone:</b>${company.partner_id and company.partner_id.phone}</small></br> + % if company['partner_id']['phone']: + <small><b>Phone:</b>${company.partner_id.phone}</small></br> %endif </td> </tr> <tr> <td> - % if company['partner_id'] and company['partner_id']['email']: - <small><b>Mail:</b>${company.partner_id and company.partner_id.email}</small></br></<address> + % if company['partner_id']['email']: + <small><b>Mail:</b>${company.partner_id.email}</small></br></<address> %endif </td> </tr> From 2671b0ee91ed9dc8b0898e07e46486137ff1ce37 Mon Sep 17 00:00:00 2001 From: "Quentin (OpenERP)" <qdp-launchpad@openerp.com> Date: Fri, 16 Mar 2012 14:59:41 +0100 Subject: [PATCH 189/313] [FIX] base, massmail wizard: we don't want to consider the child companies but only the contacts bzr revid: qdp-launchpad@openerp.com-20120316135941-8n4uttx2nrlwoqqk --- openerp/addons/base/res/wizard/partner_wizard_massmail.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/openerp/addons/base/res/wizard/partner_wizard_massmail.py b/openerp/addons/base/res/wizard/partner_wizard_massmail.py index ee8eda91902..cc1b80a1710 100644 --- a/openerp/addons/base/res/wizard/partner_wizard_massmail.py +++ b/openerp/addons/base/res/wizard/partner_wizard_massmail.py @@ -61,6 +61,9 @@ class partner_massmail_wizard(osv.osv_memory): emails_seen = set() for partner in partners: for adr in partner.child_ids: + if adr.is_company: + #we don't want to consider child companies but only the contacts + continue if adr.email and not adr.email in emails_seen: try: emails_seen.add(adr.email) From cc5d6e1b8628f4abbc2f82621b52d5f76d723a1e Mon Sep 17 00:00:00 2001 From: "Quentin (OpenERP)" <qdp-launchpad@openerp.com> Date: Mon, 19 Mar 2012 11:24:59 +0100 Subject: [PATCH 190/313] [REF] base, res_company: code optimization (partner_id is required on res.company) bzr revid: qdp-launchpad@openerp.com-20120319102459-bihu12q6tvizuay8 --- openerp/addons/base/res/res_company.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/openerp/addons/base/res/res_company.py b/openerp/addons/base/res/res_company.py index e6fcd92c298..d0e580160f9 100644 --- a/openerp/addons/base/res/res_company.py +++ b/openerp/addons/base/res/res_company.py @@ -223,12 +223,11 @@ class res_company(osv.osv): self._get_company_children.clear_cache(self) def create(self, cr, uid, vals, context=None): - if not vals.get('name', False) or vals.get('partner_id', False): self.cache_restart(cr) return super(res_company, self).create(cr, uid, vals, context=context) obj_partner = self.pool.get('res.partner') - partner_id = obj_partner.create(cr, uid, {'name': vals['name'],'is_company':True}, context=context) + partner_id = obj_partner.create(cr, uid, {'name': vals['name'], 'is_company':True}, context=context) vals.update({'partner_id': partner_id}) self.cache_restart(cr) company_id = super(res_company, self).create(cr, uid, vals, context=context) @@ -295,12 +294,12 @@ class res_company(osv.osv): <drawString x="1.3cm" y="%s">[[ company.partner_id.name ]]</drawString> - <drawString x="1.3cm" y="%s">[[ company.partner_id and company.partner_id.street or '' ]]</drawString> - <drawString x="1.3cm" y="%s">[[ company.partner_id and company.partner_id.city or '' ]] - [[ company.partner_id and company.partner_id.country_id and company.partner_id.country_id.name or '']]</drawString> + <drawString x="1.3cm" y="%s">[[ company.partner_id.street or '' ]]</drawString> + <drawString x="1.3cm" y="%s">[[ company.partner_id.city or '' ]] - [[ company.partner_id.country_id and company.partner_id.country_id.name or '']]</drawString> <drawString x="1.3cm" y="%s">Phone:</drawString> - <drawRightString x="7cm" y="%s">[[ company.partner_id and company.partner_id.phone or '' ]]</drawRightString> + <drawRightString x="7cm" y="%s">[[ company.partner_id.phone or '' ]]</drawRightString> <drawString x="1.3cm" y="%s">Mail:</drawString> - <drawRightString x="7cm" y="%s">[[ company.partner_id and company.partner_id.email or '' ]]</drawRightString> + <drawRightString x="7cm" y="%s">[[ company.partner_id.email or '' ]]</drawRightString> <lines>1.3cm %s 7cm %s</lines> <!--page bottom--> From cdf3036682c939bc9a9719735a028d2bfe2c24e3 Mon Sep 17 00:00:00 2001 From: "Quentin (OpenERP)" <qdp-launchpad@openerp.com> Date: Mon, 19 Mar 2012 11:26:05 +0100 Subject: [PATCH 191/313] [IMP] base, res_company: usability improvement bzr revid: qdp-launchpad@openerp.com-20120319102605-wrx0a0vgj6drpazz --- openerp/addons/base/res/res_company.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openerp/addons/base/res/res_company.py b/openerp/addons/base/res/res_company.py index d0e580160f9..7778f6a055a 100644 --- a/openerp/addons/base/res/res_company.py +++ b/openerp/addons/base/res/res_company.py @@ -124,7 +124,7 @@ class res_company(osv.osv): 'rml_header': fields.text('RML Header', required=True), 'rml_header2': fields.text('RML Internal Header', required=True), 'rml_header3': fields.text('RML Internal Header', required=True), - 'logo': fields.related('partner_id', 'photo', string="Photo", type="binary"), + 'logo': fields.related('partner_id', 'photo', string="Logo", type="binary"), 'currency_id': fields.many2one('res.currency', 'Currency', required=True), 'currency_ids': fields.one2many('res.currency', 'company_id', 'Currency'), 'user_ids': fields.many2many('res.users', 'res_company_users_rel', 'cid', 'user_id', 'Accepted Users'), From 17c4d4ccaa76ba58ad094acf6327bf7f6d52c36e Mon Sep 17 00:00:00 2001 From: "Quentin (OpenERP)" <qdp-launchpad@openerp.com> Date: Mon, 19 Mar 2012 11:31:20 +0100 Subject: [PATCH 192/313] [FIX] base_data.xml: removed reference to deprecated res.partner.address object bzr revid: qdp-launchpad@openerp.com-20120319103120-hqk3xyw6ndw91muj --- openerp/addons/base/base_data.xml | 9 --------- 1 file changed, 9 deletions(-) diff --git a/openerp/addons/base/base_data.xml b/openerp/addons/base/base_data.xml index afe2291c516..05c4afee931 100644 --- a/openerp/addons/base/base_data.xml +++ b/openerp/addons/base/base_data.xml @@ -1058,16 +1058,10 @@ <record id="main_partner" model="res.partner"> <field name="name">Your Company</field> <!-- Address and Company ID will be set later --> - <field name="address" eval="[]"/> <field name="company_id" eval="None"/> <field name="customer" eval="False"/> <field name="is_company" eval="True"/> </record> - <record id="main_address" model="res.partner.address"> - <field name="partner_id" ref="main_partner"/> - <field name="type">default</field> - <field name="company_id" eval="None"/> - </record> <!-- Currencies --> <record id="EUR" model="res.currency"> @@ -1103,9 +1097,6 @@ <record id="main_partner" model="res.partner"> <field name="company_id" ref="main_company"/> </record> - <record id="main_address" model="res.partner.address"> - <field name="company_id" ref="main_company"/> - </record> <record id="EUR" model="res.currency"> <field name="company_id" ref="main_company"/> </record> From 44cb4af51d9e77f41f4ef5c545726a1f479e4a37 Mon Sep 17 00:00:00 2001 From: "Quentin (OpenERP)" <qdp-launchpad@openerp.com> Date: Mon, 19 Mar 2012 11:35:11 +0100 Subject: [PATCH 193/313] [REF] base, res_partner: code optimization bzr revid: qdp-launchpad@openerp.com-20120319103511-vzf5p8n7a9wso6ek --- openerp/addons/base/res/res_partner.py | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index 7a9cde0ae25..10c4c5838f2 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -27,7 +27,6 @@ from tools.translate import _ import logging import pooler - class res_payterm(osv.osv): _description = 'Payment term' _name = 'res.payterm' @@ -36,7 +35,6 @@ class res_payterm(osv.osv): 'name': fields.char('Payment Term (short name)', size=64), } - class res_partner_category(osv.osv): def name_get(self, cr, uid, ids, context=None): @@ -101,7 +99,6 @@ class res_partner_category(osv.osv): _parent_order = 'name' _order = 'parent_left' - class res_partner_title(osv.osv): _name = 'res.partner.title' _columns = { @@ -111,17 +108,12 @@ class res_partner_title(osv.osv): } _order = 'name' - def _lang_get(self, cr, uid, context=None): lang_pool = self.pool.get('res.lang') ids = lang_pool.search(cr, uid, [], context=context) res = lang_pool.read(cr, uid, ids, ['code', 'name'], context) return [(r['code'], r['name']) for r in res] + [('','')] -def value_or_id(val): - """ return val or val.id if val is a browse record """ - return val if isinstance(val, (bool, int, long, float, basestring)) else val.id - POSTAL_ADDRESS_FIELDS = ('street', 'street2', 'zip', 'city', 'state_id', 'country_id') ADDRESS_FIELDS = POSTAL_ADDRESS_FIELDS + ('email', 'phone', 'fax', 'mobile', 'website', 'ref', 'lang') @@ -220,6 +212,10 @@ class res_partner(osv.osv): return {'value': value, 'domain': domain} def onchange_address(self, cr, uid, ids, use_parent_address, parent_id, context=None): + def value_or_id(val): + """ return val or val.id if val is a browse record """ + return val if isinstance(val, (bool, int, long, float, basestring)) else val.id + if use_parent_address and parent_id: parent = self.browse(cr, uid, parent_id, context=context) return {'value': dict((key, value_or_id(parent[key])) for key in ADDRESS_FIELDS)} From 1a887a5f0cb5d84a498fe8b8281de2e353080984 Mon Sep 17 00:00:00 2001 From: "Quentin (OpenERP)" <qdp-launchpad@openerp.com> Date: Mon, 19 Mar 2012 11:36:02 +0100 Subject: [PATCH 194/313] [FIX] base, res_partner: put back required=True on name field of res.partner bzr revid: qdp-launchpad@openerp.com-20120319103602-uotc8pizwa34f9gd --- openerp/addons/base/res/res_partner.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index 10c4c5838f2..53e56b59ac7 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -122,7 +122,7 @@ class res_partner(osv.osv): _name = "res.partner" _order = "name" _columns = { - 'name': fields.char('Name', size=128, select=True), + 'name': fields.char('Name', size=128, required=True, select=True), 'date': fields.date('Date', select=1), 'title': fields.many2one('res.partner.title','Title'), 'parent_id': fields.many2one('res.partner','Parent Partner'), From 81d6591212d6e636a7298d42cf587f098351586b Mon Sep 17 00:00:00 2001 From: "Quentin (OpenERP)" <qdp-launchpad@openerp.com> Date: Mon, 19 Mar 2012 11:50:06 +0100 Subject: [PATCH 195/313] [FIX] base: put back access rules related to res.partner.address (we must keep access rights as lmong as the model still exists otherwise it's a security hole) bzr revid: qdp-launchpad@openerp.com-20120319105006-tqk337epajcs1hho --- openerp/addons/base/__openerp__.py | 1 + openerp/addons/base/res/res_partner.py | 2 +- openerp/addons/base/security/ir.model.access-1.csv | 4 ++++ 3 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 openerp/addons/base/security/ir.model.access-1.csv diff --git a/openerp/addons/base/__openerp__.py b/openerp/addons/base/__openerp__.py index 802a0510e28..a353344190f 100644 --- a/openerp/addons/base/__openerp__.py +++ b/openerp/addons/base/__openerp__.py @@ -75,6 +75,7 @@ 'security/base_security.xml', 'publisher_warranty/publisher_warranty_view.xml', 'security/ir.model.access.csv', + 'security/ir.model.access-1.csv', # res.partner.address is deprecated; it is still there for backward compability only and will be removed in next version 'res/res_widget_view.xml', 'res/res_widget_data.xml', 'publisher_warranty/publisher_warranty_data.xml', diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index 53e56b59ac7..ff02c690e92 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -420,7 +420,7 @@ class res_partner(osv.osv): -# res.partner.address is deprecated; it is still there for backward compability only +# res.partner.address is deprecated; it is still there for backward compability only and will be removed in next version class res_partner_address(osv.osv): _table = "res_partner" _name = 'res.partner.address' diff --git a/openerp/addons/base/security/ir.model.access-1.csv b/openerp/addons/base/security/ir.model.access-1.csv new file mode 100644 index 00000000000..071458f2b8f --- /dev/null +++ b/openerp/addons/base/security/ir.model.access-1.csv @@ -0,0 +1,4 @@ +"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink" +"access_res_partner_address_group_partner_manager","res_partner_address group_partner_manager","model_res_partner_address","group_partner_manager",1,1,1,1 +"access_res_partner_address_group_user","res_partner_address group_user","model_res_partner_address","group_user",1,0,0,0 +"access_res_partner_address","res.partner.address","model_res_partner_address","group_system",1,1,1,1 From ca7b265e9e7f3a601f0b128366de43ca849de747 Mon Sep 17 00:00:00 2001 From: "Quentin (OpenERP)" <qdp-launchpad@openerp.com> Date: Mon, 19 Mar 2012 12:13:57 +0100 Subject: [PATCH 196/313] [REV] base, test_osv_expression: put back the tests that were removed for no reason and replaced the reference to the field 'address' by 'child_ids' bzr revid: qdp-launchpad@openerp.com-20120319111357-nuy2abv4far32h1k --- .../addons/base/test/test_osv_expression.yml | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/openerp/addons/base/test/test_osv_expression.yml b/openerp/addons/base/test/test_osv_expression.yml index 19139fde301..fa7a69b74e9 100644 --- a/openerp/addons/base/test/test_osv_expression.yml +++ b/openerp/addons/base/test/test_osv_expression.yml @@ -89,6 +89,15 @@ !python {model: ir.ui.menu }: | ids = self.search(cr, uid, [('sequence','in',[1, 2, 10, 20])]) assert len(ids) >= 1, ids +- + Test one2many operator with empty search list +- + !assert {model: res.partner, search: "[('child_ids', 'in', [])]", count: 0, string: "Ids should be empty"} +- + Test one2many operator with False +- + !assert {model: res.partner, search: "[('child_ids', '=', False)]"}: + - address in (False, None, []) - Test many2many operator with empty search list - @@ -98,6 +107,10 @@ - !assert {model: res.partner, search: "[('category_id', '=', False)]"}: - category_id in (False, None, []) +- + Filtering on invalid value across x2many relationship should return an empty set +- + !assert {model: res.partner, search: "[('child_ids.city','=','foo')]", count: 0, string: "Searching for address.city = foo should give empty results"} - Check if many2one works with empty search list - @@ -502,7 +515,15 @@ vals = {'category_id': [(6, 0, [ref("base.res_partner_category_8")])], 'name': 'OpenERP Test', 'active': False, + 'child_ids': [(0, 0, {'name': 'address of OpenERP Test', 'country_id': ref("base.be")})] } self.create(cr, uid, vals, context=context) res_ids = self.search(cr, uid, [('category_id', 'ilike', 'supplier'), ('active', '=', False)]) assert len(res_ids) != 0, "Record not Found with category supplier and active False." +- + Testing for One2Many field with country Belgium and active=False +- + !python {model: res.partner }: | + res_ids = self.search(cr, uid, [('child_ids.country_id','=','Belgium'),('active','=',False)]) + assert len(res_ids) != 0, "Record not Found with country Belgium and active False." + From b017031599a08114f907699139ed352dab0de62a Mon Sep 17 00:00:00 2001 From: "Bhumika (OpenERP)" <sbh@tinyerp.com> Date: Mon, 19 Mar 2012 17:58:22 +0530 Subject: [PATCH 197/313] [Fix]stock,hr: fix demo data bzr revid: sbh@tinyerp.com-20120319122822-qutq72eyyode0ktb --- addons/hr/test/hr_demo.yml | 2 +- addons/stock/stock_demo.xml | 2 +- addons/stock_location/stock_location_demo_cpu1.xml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/hr/test/hr_demo.yml b/addons/hr/test/hr_demo.yml index 89fc604376a..7c184a25c52 100644 --- a/addons/hr/test/hr_demo.yml +++ b/addons/hr/test/hr_demo.yml @@ -4,7 +4,7 @@ no_of_recruitment: 5.0 - !record {model: hr.employee, id: employee_niv, view: False}: - address_id: base.main_address + address_id: base.main_partner company_id: base.main_company department_id: dep_rd user_id: base.user_demo diff --git a/addons/stock/stock_demo.xml b/addons/stock/stock_demo.xml index b414366e7b4..141cb6c4025 100644 --- a/addons/stock/stock_demo.xml +++ b/addons/stock/stock_demo.xml @@ -233,7 +233,7 @@ <field eval=""""Shop 2"""" name="name"/> </record> <record id="stock_location_intermediatelocation0" model="stock.location"> - <field name="address_id" ref="base.main_address"/> + <field name="address_id" ref="base.main_partner"/> <field name="location_id" ref="stock.stock_location_locations_partner"/> <field eval=""""procurement"""" name="usage"/> <field eval=""""Internal Shippings"""" name="name"/> diff --git a/addons/stock_location/stock_location_demo_cpu1.xml b/addons/stock_location/stock_location_demo_cpu1.xml index 01f711839d4..028c71bd188 100644 --- a/addons/stock_location/stock_location_demo_cpu1.xml +++ b/addons/stock_location/stock_location_demo_cpu1.xml @@ -44,7 +44,7 @@ <field name="product_id" ref="product.product_product_cpu1"/> <field name="location_src_id" ref="stock.stock_location_intermediatelocation0"/> <field name="location_id" ref="stock.stock_location_shop0"/> - <field name="partner_address_id" ref="base.main_address"/> + <field name="partner_address_id" ref="base.main_partner"/> <field name="invoice_state">none</field> <field name="company_id" ref="stock.res_company_shop0"/> <field name="type_proc">move</field> From f8d9d4792850a3be74f0eb224a4ad9152c60ea63 Mon Sep 17 00:00:00 2001 From: "Bhumika (OpenERP)" <sbh@tinyerp.com> Date: Mon, 19 Mar 2012 18:37:22 +0530 Subject: [PATCH 198/313] [fix]base/res:remove the reference of childs only if save the record bzr revid: sbh@tinyerp.com-20120319130722-u1qvxoc945lsfo21 --- openerp/addons/base/res/res_partner.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index ff02c690e92..9f3b8df88c9 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -207,7 +207,6 @@ class res_partner(osv.osv): value['parent_id'] = False domain = {'title': [('domain', '=', 'partner')]} else: - value['child_ids'] = [(5,)] domain = {'title': [('domain', '=', 'contact')]} return {'value': value, 'domain': domain} @@ -243,6 +242,8 @@ class res_partner(osv.osv): # Update parent and siblings or children records if isinstance(ids, (int, long)): ids = [ids] + if vals.get('is_company')==False: + vals.update({'child_ids' : [(5,)]}) for partner in self.browse(cr, uid, ids, context=context): update_ids = [] if partner.is_company: From 98238da50ed04f92d4a69d6d50eaf3e60f27419b Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Mon, 19 Mar 2012 18:59:23 +0530 Subject: [PATCH 199/313] [IMP]delivery/membership: remove res.partner.address and set string bzr revid: kjo@tinyerp.com-20120319132923-8pwhh68x0syb5drt --- addons/delivery/delivery_demo.xml | 5 ----- addons/membership/membership_view.xml | 2 +- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/addons/delivery/delivery_demo.xml b/addons/delivery/delivery_demo.xml index 427f943890b..a5db7ff042c 100644 --- a/addons/delivery/delivery_demo.xml +++ b/addons/delivery/delivery_demo.xml @@ -7,11 +7,6 @@ <record id="delivery_partner" model="res.partner"> <field name="name">The Poste</field> </record> - <record id="delivery_partner_address" model="res.partner.address"> - <field name="type">default</field> - <field name="partner_id" ref="delivery_partner"/> - </record> - <!-- Create a service product --> <record id="delivery_product" model="product.product"> diff --git a/addons/membership/membership_view.xml b/addons/membership/membership_view.xml index a1c39165c82..a41a2250ea0 100644 --- a/addons/membership/membership_view.xml +++ b/addons/membership/membership_view.xml @@ -215,7 +215,7 @@ <field name="model">res.partner</field> <field name="inherit_id" ref="base.view_partner_tree"/> <field name="arch" type="xml"> - <tree string="Partners"> + <tree string="Contacts"> <field name="category_id" position="after"/> <field name="membership_state"/> </tree> From cd70c5ba24d4cf6943234a293ec1c7f56358e7fe Mon Sep 17 00:00:00 2001 From: "Bhumika (OpenERP)" <sbh@tinyerp.com> Date: Tue, 20 Mar 2012 11:02:16 +0530 Subject: [PATCH 200/313] [FIX] event: set the string bzr revid: sbh@tinyerp.com-20120320053216-4x72cj3p312z0f6b --- addons/event/event.py | 1 + 1 file changed, 1 insertion(+) diff --git a/addons/event/event.py b/addons/event/event.py index cca80bedc9b..7a61a8b43fb 100644 --- a/addons/event/event.py +++ b/addons/event/event.py @@ -257,6 +257,7 @@ class event_registration(osv.osv): def registration_open(self, cr, uid, ids, context=None): + """ Open Registration """ res = self.confirm_registration(cr, uid, ids, context=context) self.mail_user(cr, uid, ids, context=context) From 15d9e002cf29650c94a312c1d1b66e859ebd3295 Mon Sep 17 00:00:00 2001 From: "Quentin (OpenERP)" <qdp-launchpad@openerp.com> Date: Tue, 20 Mar 2012 11:02:51 +0100 Subject: [PATCH 201/313] [IMP] base, res_partner: improved name_search to improve the readability and performances bzr revid: qdp-launchpad@openerp.com-20120320100251-wuv42z80y9nblmyq --- openerp/addons/base/res/res_partner.py | 22 +++++++--------------- 1 file changed, 7 insertions(+), 15 deletions(-) diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index 9f3b8df88c9..8275a4400f7 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -292,22 +292,14 @@ class res_partner(osv.osv): def name_search(self, cr, uid, name, args=None, operator='ilike', context=None, limit=100): if not args: args = [] - # short-circuit ref match when possible if name and operator in ('=', 'ilike', '=ilike', 'like'): - ids = self.search(cr, uid, [('ref', '=', name)] + args, limit=limit, context=context) - if not ids: - names = map(lambda x : x.strip(),name.split('(')) - for name in range(len(names)): - domain = [('name', operator, names[name])] - if name > 0: - domain.extend([('id', 'child_of', ids)]) - ids = self.search(cr, uid, domain, limit=limit, context=context) - contact_ids = ids - while contact_ids: - contact_ids = self.search(cr, uid, [('parent_id', 'in', contact_ids)], limit=limit, context=context) - ids.extend(contact_ids) - if args: - ids = self.search(cr, uid, [('id', 'in', ids)] + args, limit=limit, context=context) + # search on the name of the contacts and of its company + name = '%' + name + '%' + cr.execute('''SELECT partner.id FROM res_partner partner + LEFT JOIN res_partner company ON partner.parent_id = company.id + WHERE partner.name || ' (' || COALESCE(company.name,'') || ')' + ''' + operator + ''' %s ''', (name,)) + ids = cr.fetchall() if ids: return self.name_get(cr, uid, ids, context) return super(res_partner,self).name_search(cr, uid, name, args, operator=operator, context=context, limit=limit) From e90535a6aef58a6cc08d97552680d5a30c1f75f2 Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Tue, 20 Mar 2012 17:15:25 +0530 Subject: [PATCH 202/313] [IMP]event: remove res.partner.address and change demo bzr revid: kjo@tinyerp.com-20120320114525-ecw4lgday9cp2huv --- addons/event/event.py | 6 ++---- addons/event/event_demo.xml | 15 +++++++++++++++ addons/event/event_view.xml | 3 +-- 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/addons/event/event.py b/addons/event/event.py index 94959bdcb1f..6c3e2ddfe39 100644 --- a/addons/event/event.py +++ b/addons/event/event.py @@ -217,7 +217,7 @@ class event_registration(osv.osv): """Event Registration""" _name= 'event.registration' _description = __doc__ - _inherit = ['mail.thread','res.partner.address'] + _inherit = ['mail.thread','res.partner'] _columns = { 'id': fields.integer('ID'), 'origin': fields.char('Origin', size=124,readonly=True,help="Name of the sale order which create the registration"), @@ -225,8 +225,6 @@ class event_registration(osv.osv): 'event_id': fields.many2one('event.event', 'Event', required=True, readonly=True, states={'draft': [('readonly', False)]}), 'partner_id': fields.many2one('res.partner', 'Partner', states={'done': [('readonly', True)]}), - 'partner_address_id': fields.many2one('res.partner.address', 'Partner', states={'done': [('readonly', True)]}), - "contact_id": fields.many2one('res.partner.address', 'Partner Contact', readonly=False, states={'done': [('readonly', True)]}), 'create_date': fields.datetime('Creation Date' , readonly=True), 'date_closed': fields.datetime('Attended Date', readonly=True), 'date_open': fields.datetime('Registration Date', readonly=True), @@ -310,7 +308,7 @@ class event_registration(osv.osv): data ={} if not contact: return data - addr_obj = self.pool.get('res.partner.address') + addr_obj = self.pool.get('res.partner') contact_id = addr_obj.browse(cr, uid, contact, context=context) data = { 'email':contact_id.email, diff --git a/addons/event/event_demo.xml b/addons/event/event_demo.xml index 0dfbbf6de18..f9ef6e2dd6d 100644 --- a/addons/event/event_demo.xml +++ b/addons/event/event_demo.xml @@ -59,17 +59,29 @@ <!-- Demo data for Event Registration--> <record id="reg_1_1" model="event.registration"> + <field name="name">Agrolait</field> + <field name="email">s.l@agrolait.be</field> + <field name="phone">003281588558</field> <field name="event_id" ref="event_1"/> + <field name="partner_id" ref="base.res_partner_agrolait"/> <field name="nb_register">5</field> </record> <record id="reg_1_2" model="event.registration"> + <field name="name">ASUStek</field> + <field name="email">info@asustek.com</field> + <field name="phone">+ 1 64 61 04 01</field> + <field name="partner_id" ref="base.res_partner_asus"/> <field name="event_id" ref="event_1"/> <field name="nb_register">10</field> </record> <record id="reg_0_1" model="event.registration"> + <field name="name">Syleam</field> + <field name="email">contact@syleam.fr</field> + <field name="phone">+33 (0) 2 33 31 22 10</field> + <field name="partner_id" ref="base.res_partner_sednacom"/> <field name="event_id" ref="event_0"/> <field name="nb_register">6</field> </record> @@ -77,6 +89,9 @@ <record id="reg_0_2" model="event.registration"> + <field name="name">Camptocamp</field> + <field name="email">openerp@camptocamp.com</field> + <field name="phone">+41 21 619 10 04 </field> <field name="event_id" ref="event_2"/> <field name="partner_id" ref="base.res_partner_c2c"/> <field name="nb_register">5</field> diff --git a/addons/event/event_view.xml b/addons/event/event_view.xml index 88be188080e..81e9f900009 100644 --- a/addons/event/event_view.xml +++ b/addons/event/event_view.xml @@ -286,7 +286,6 @@ <group col="6" colspan="4"> <field name="event_id" on_change="onchange_event(event_id, context)" domain="[('state','in',('draft','confirm'))]"/> <field name="partner_id" attrs="{'readonly':[('state','!=', 'draft')]}" on_change="onchange_partner_id(partner_id, context)"/> - <field name="contact_id" attrs="{'readonly':[('state','!=', 'draft')]}" domain="[('partner_id','=',partner_id)]" on_change="onchange_contact_id(contact_id, context)"/> <field name="nb_register"/> <field name="user_id" attrs="{'readonly':[('state','!=', 'draft')]}"/> <field name="origin"/> @@ -378,7 +377,7 @@ <separator orientation="vertical"/> <field name="event_id" widget="selection"/> <field name="name" string="Participant" - filter_domain="['|','|','|', ('name','ilike',self), ('contact_id','ilike',self), ('partner_id','ilike',self), ('email','ilike',self)]"/> + filter_domain="['|','|','|', ('name','ilike',self), ('partner_id','ilike',self), ('email','ilike',self)]"/> <field name="user_id" groups="base.group_extended"> <filter icon="terp-personal" string="My Registrations" From 8469bd2d63abfdea2020e43d16201a61030be87d Mon Sep 17 00:00:00 2001 From: "Bhumika (OpenERP)" <sbh@tinyerp.com> Date: Tue, 20 Mar 2012 18:48:15 +0530 Subject: [PATCH 203/313] [Fix]base_contact:open the comment menu bzr revid: sbh@tinyerp.com-20120320131815-1lzu0tvlqcoh2nsw --- addons/base_contact/base_contact_view.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/base_contact/base_contact_view.xml b/addons/base_contact/base_contact_view.xml index 2702dd5caeb..cb56859d24e 100644 --- a/addons/base_contact/base_contact_view.xml +++ b/addons/base_contact/base_contact_view.xml @@ -108,7 +108,7 @@ <field name="view_id" ref="view_partner_contact_tree"/> <field name="search_view_id" ref="view_partner_contact_search"/> </record> - <!--menuitem name="Contacts" id="menu_partner_contact_form" action="action_partner_contact_form" parent = "base.menu_address_book" sequence="2"/--> + <menuitem name="Address Contacts" id="menu_partner_contact_form" action="action_partner_contact_form" parent = "base.menu_address_book" sequence="2"/> <!-- Rename menuitem for partner addresses --> <record model="ir.ui.menu" id="base.menu_partner_address_form"> From 7684f390fae6e78731966c6d3c8bffbeb89e9e7e Mon Sep 17 00:00:00 2001 From: "Bhumika (OpenERP)" <sbh@tinyerp.com> Date: Wed, 21 Mar 2012 12:12:54 +0530 Subject: [PATCH 204/313] [IMP] auction:Improve demo data bzr revid: sbh@tinyerp.com-20120321064254-v9tn0ilpp07qamaf --- addons/auction/auction_demo.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/addons/auction/auction_demo.xml b/addons/auction/auction_demo.xml index 2e720ed199b..135ed19f40f 100644 --- a/addons/auction/auction_demo.xml +++ b/addons/auction/auction_demo.xml @@ -107,6 +107,7 @@ <record id="partner_record1" model="res.partner"> <field name="name">Unknown</field> + <field name="is_company">1</field> </record> <record id="res_partner_unknown_address_1" model="res.partner"> From 907a9f1ac6fba2e25f872fedaa5cbf6e47abe9c2 Mon Sep 17 00:00:00 2001 From: "Quentin (OpenERP)" <qdp-launchpad@openerp.com> Date: Tue, 20 Mar 2012 11:44:39 +0100 Subject: [PATCH 205/313] [FIX] account: fixed EDI test accordingly to the removal of res.partner.address bzr revid: qdp-launchpad@openerp.com-20120320104439-5cu5j302kytukw3y --- addons/account/test/test_edi_invoice.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/addons/account/test/test_edi_invoice.yml b/addons/account/test/test_edi_invoice.yml index 09e428e4b06..9460bbcf085 100644 --- a/addons/account/test/test_edi_invoice.yml +++ b/addons/account/test/test_edi_invoice.yml @@ -59,6 +59,7 @@ "__module": "base", "__model": "res.partner", "city": "Gerompont", + "name": "Company main address", "zip": "1367", "country_id": ["base:b22acf7a-ddcd-11e0-a4db-701a04e25543.be", "Belgium"], "phone": "(+32).81.81.37.00", @@ -80,6 +81,7 @@ "__id": "base:5af1272e-dd26-11e0-b65e-701a04e25543.res_partner_address_7wdsjasdjh", "__module": "base", "__model": "res.partner", + "name": "Default Address", "phone": "(+32).81.81.37.00", "street": "Chaussee de Namur 40", "city": "Gerompont", From 3da7c8b8e29029ae6f66474d64b75d4c4e463d70 Mon Sep 17 00:00:00 2001 From: "Bhumika (OpenERP)" <sbh@tinyerp.com> Date: Tue, 20 Mar 2012 17:02:30 +0530 Subject: [PATCH 206/313] [IMP]base/res: improved name_search for checking args bzr revid: sbh@tinyerp.com-20120320113230-blhsb47cfzfnfhi3 --- openerp/addons/base/res/res_partner.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index 8275a4400f7..01047a6dc7b 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -300,6 +300,8 @@ class res_partner(osv.osv): WHERE partner.name || ' (' || COALESCE(company.name,'') || ')' ''' + operator + ''' %s ''', (name,)) ids = cr.fetchall() + if args: + ids = self.search(cr, uid, [('id', 'in', ids)] + args, limit=limit, context=context) if ids: return self.name_get(cr, uid, ids, context) return super(res_partner,self).name_search(cr, uid, name, args, operator=operator, context=context, limit=limit) From 9bcfaf8d3622316e31299ae2212231c41cde4a7f Mon Sep 17 00:00:00 2001 From: "Bhumika (OpenERP)" <sbh@tinyerp.com> Date: Tue, 20 Mar 2012 18:18:15 +0530 Subject: [PATCH 207/313] [Fix]base/res :fix name_search of partner bzr revid: sbh@tinyerp.com-20120320124815-qpz1cqy1m36ehwkm --- openerp/addons/base/res/res_partner.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index 01047a6dc7b..701b3ca2307 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -299,7 +299,7 @@ class res_partner(osv.osv): LEFT JOIN res_partner company ON partner.parent_id = company.id WHERE partner.name || ' (' || COALESCE(company.name,'') || ')' ''' + operator + ''' %s ''', (name,)) - ids = cr.fetchall() + ids = map(lambda x: x[0], cr.fetchall()) if args: ids = self.search(cr, uid, [('id', 'in', ids)] + args, limit=limit, context=context) if ids: From e37b9a5df361d74ca47d6f129a3fbc665c8c4e30 Mon Sep 17 00:00:00 2001 From: "Quentin (OpenERP)" <qdp-launchpad@openerp.com> Date: Tue, 20 Mar 2012 16:47:57 +0100 Subject: [PATCH 208/313] [FIX] base, res_partner: fixed the name_search in order to propagate the right parameter to super() and to not use the '%' symbol if the operator is '=' bzr revid: qdp-launchpad@openerp.com-20120320154757-0o8q4pb2uch76su2 --- openerp/addons/base/res/res_partner.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index 701b3ca2307..c570c3b1d20 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -294,11 +294,11 @@ class res_partner(osv.osv): args = [] if name and operator in ('=', 'ilike', '=ilike', 'like'): # search on the name of the contacts and of its company - name = '%' + name + '%' + name2 = operator == '=' and name or '%' + name + '%' cr.execute('''SELECT partner.id FROM res_partner partner LEFT JOIN res_partner company ON partner.parent_id = company.id WHERE partner.name || ' (' || COALESCE(company.name,'') || ')' - ''' + operator + ''' %s ''', (name,)) + ''' + operator + ''' %s ''', (name2,)) ids = map(lambda x: x[0], cr.fetchall()) if args: ids = self.search(cr, uid, [('id', 'in', ids)] + args, limit=limit, context=context) From cf9119ee0fffc1af9fd16674d7f9b1ab754870b8 Mon Sep 17 00:00:00 2001 From: "Quentin (OpenERP)" <qdp-launchpad@openerp.com> Date: Wed, 21 Mar 2012 09:43:07 +0100 Subject: [PATCH 209/313] [REM] base_contact: removal of the whole module because it is replaced by the new design of Partners and Contacts (res.partner and res.partner.address objects are merged and only in one table) bzr revid: qdp-launchpad@openerp.com-20120321084307-f6fhl1019qjvumgs --- addons/base_contact/__init__.py | 23 - addons/base_contact/__openerp__.py | 60 -- addons/base_contact/base_contact.py | 252 -------- addons/base_contact/base_contact_demo.xml | 279 --------- addons/base_contact/base_contact_view.xml | 197 ------ addons/base_contact/i18n/ar.po | 481 --------------- addons/base_contact/i18n/base_contact.pot | 261 -------- addons/base_contact/i18n/bg.po | 504 --------------- addons/base_contact/i18n/bs.po | 266 -------- addons/base_contact/i18n/ca.po | 528 ---------------- addons/base_contact/i18n/cs.po | 501 --------------- addons/base_contact/i18n/da.po | 318 ---------- addons/base_contact/i18n/de.po | 527 ---------------- addons/base_contact/i18n/el.po | 486 --------------- addons/base_contact/i18n/es.po | 529 ---------------- addons/base_contact/i18n/es_AR.po | 384 ------------ addons/base_contact/i18n/es_CR.po | 530 ---------------- addons/base_contact/i18n/es_EC.po | 529 ---------------- addons/base_contact/i18n/es_MX.po | 582 ------------------ addons/base_contact/i18n/es_PY.po | 492 --------------- addons/base_contact/i18n/es_VE.po | 582 ------------------ addons/base_contact/i18n/et.po | 377 ------------ addons/base_contact/i18n/fa.po | 264 -------- addons/base_contact/i18n/fi.po | 461 -------------- addons/base_contact/i18n/fr.po | 530 ---------------- addons/base_contact/i18n/gl.po | 483 --------------- addons/base_contact/i18n/gu.po | 264 -------- addons/base_contact/i18n/hr.po | 480 --------------- addons/base_contact/i18n/hu.po | 439 ------------- addons/base_contact/i18n/id.po | 263 -------- addons/base_contact/i18n/it.po | 530 ---------------- addons/base_contact/i18n/ko.po | 374 ----------- addons/base_contact/i18n/lo.po | 315 ---------- addons/base_contact/i18n/lt.po | 364 ----------- addons/base_contact/i18n/lv.po | 442 ------------- addons/base_contact/i18n/mn.po | 368 ----------- addons/base_contact/i18n/nb.po | 388 ------------ addons/base_contact/i18n/nl.po | 528 ---------------- addons/base_contact/i18n/nl_BE.po | 268 -------- addons/base_contact/i18n/oc.po | 354 ----------- addons/base_contact/i18n/pl.po | 508 --------------- addons/base_contact/i18n/pt.po | 406 ------------ addons/base_contact/i18n/pt_BR.po | 527 ---------------- addons/base_contact/i18n/ro.po | 527 ---------------- addons/base_contact/i18n/ru.po | 519 ---------------- addons/base_contact/i18n/sk.po | 425 ------------- addons/base_contact/i18n/sl.po | 522 ---------------- addons/base_contact/i18n/sq.po | 264 -------- addons/base_contact/i18n/sr.po | 467 -------------- addons/base_contact/i18n/sr@latin.po | 469 -------------- addons/base_contact/i18n/sv.po | 438 ------------- addons/base_contact/i18n/th.po | 318 ---------- addons/base_contact/i18n/tlh.po | 263 -------- addons/base_contact/i18n/tr.po | 490 --------------- addons/base_contact/i18n/uk.po | 274 --------- addons/base_contact/i18n/vi.po | 392 ------------ addons/base_contact/i18n/zh_CN.po | 504 --------------- addons/base_contact/i18n/zh_TW.po | 461 -------------- .../process/base_contact_process.xml | 62 -- .../base_contact/security/ir.model.access.csv | 7 - addons/base_contact/test/base_contact00.yml | 38 -- 61 files changed, 23684 deletions(-) delete mode 100644 addons/base_contact/__init__.py delete mode 100644 addons/base_contact/__openerp__.py delete mode 100644 addons/base_contact/base_contact.py delete mode 100644 addons/base_contact/base_contact_demo.xml delete mode 100644 addons/base_contact/base_contact_view.xml delete mode 100644 addons/base_contact/i18n/ar.po delete mode 100644 addons/base_contact/i18n/base_contact.pot delete mode 100644 addons/base_contact/i18n/bg.po delete mode 100644 addons/base_contact/i18n/bs.po delete mode 100644 addons/base_contact/i18n/ca.po delete mode 100644 addons/base_contact/i18n/cs.po delete mode 100644 addons/base_contact/i18n/da.po delete mode 100644 addons/base_contact/i18n/de.po delete mode 100644 addons/base_contact/i18n/el.po delete mode 100644 addons/base_contact/i18n/es.po delete mode 100644 addons/base_contact/i18n/es_AR.po delete mode 100644 addons/base_contact/i18n/es_CR.po delete mode 100644 addons/base_contact/i18n/es_EC.po delete mode 100644 addons/base_contact/i18n/es_MX.po delete mode 100644 addons/base_contact/i18n/es_PY.po delete mode 100644 addons/base_contact/i18n/es_VE.po delete mode 100644 addons/base_contact/i18n/et.po delete mode 100644 addons/base_contact/i18n/fa.po delete mode 100644 addons/base_contact/i18n/fi.po delete mode 100644 addons/base_contact/i18n/fr.po delete mode 100644 addons/base_contact/i18n/gl.po delete mode 100644 addons/base_contact/i18n/gu.po delete mode 100644 addons/base_contact/i18n/hr.po delete mode 100644 addons/base_contact/i18n/hu.po delete mode 100644 addons/base_contact/i18n/id.po delete mode 100644 addons/base_contact/i18n/it.po delete mode 100644 addons/base_contact/i18n/ko.po delete mode 100644 addons/base_contact/i18n/lo.po delete mode 100644 addons/base_contact/i18n/lt.po delete mode 100644 addons/base_contact/i18n/lv.po delete mode 100644 addons/base_contact/i18n/mn.po delete mode 100644 addons/base_contact/i18n/nb.po delete mode 100644 addons/base_contact/i18n/nl.po delete mode 100644 addons/base_contact/i18n/nl_BE.po delete mode 100644 addons/base_contact/i18n/oc.po delete mode 100644 addons/base_contact/i18n/pl.po delete mode 100644 addons/base_contact/i18n/pt.po delete mode 100644 addons/base_contact/i18n/pt_BR.po delete mode 100644 addons/base_contact/i18n/ro.po delete mode 100644 addons/base_contact/i18n/ru.po delete mode 100644 addons/base_contact/i18n/sk.po delete mode 100644 addons/base_contact/i18n/sl.po delete mode 100644 addons/base_contact/i18n/sq.po delete mode 100644 addons/base_contact/i18n/sr.po delete mode 100644 addons/base_contact/i18n/sr@latin.po delete mode 100644 addons/base_contact/i18n/sv.po delete mode 100644 addons/base_contact/i18n/th.po delete mode 100644 addons/base_contact/i18n/tlh.po delete mode 100644 addons/base_contact/i18n/tr.po delete mode 100644 addons/base_contact/i18n/uk.po delete mode 100644 addons/base_contact/i18n/vi.po delete mode 100644 addons/base_contact/i18n/zh_CN.po delete mode 100644 addons/base_contact/i18n/zh_TW.po delete mode 100644 addons/base_contact/process/base_contact_process.xml delete mode 100644 addons/base_contact/security/ir.model.access.csv delete mode 100644 addons/base_contact/test/base_contact00.yml diff --git a/addons/base_contact/__init__.py b/addons/base_contact/__init__.py deleted file mode 100644 index aa3d3b43064..00000000000 --- a/addons/base_contact/__init__.py +++ /dev/null @@ -1,23 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# -# OpenERP, Open Source Management Solution -# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. -# -############################################################################## - -import base_contact - diff --git a/addons/base_contact/__openerp__.py b/addons/base_contact/__openerp__.py deleted file mode 100644 index 10bbb463dac..00000000000 --- a/addons/base_contact/__openerp__.py +++ /dev/null @@ -1,60 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# -# OpenERP, Open Source Management Solution -# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. -# -############################################################################## - -{ - 'name': 'Contacts Management', - 'version': '1.0', - 'category': 'Customer Relationship Management', - 'complexity': "expert", - 'description': """ -This module allows you to manage your contacts -============================================== - -It lets you define: - * contacts unrelated to a partner, - * contacts working at several addresses (possibly for different partners), - * contacts with possibly different functions for each of its job's addresses - -It also adds new menu items located in - Purchases / Address Book / Contacts - Sales / Address Book / Contacts - -Pay attention that this module converts the existing addresses into "addresses + contacts". It means that some fields of the addresses will be missing (like the contact name), since these are supposed to be defined in an other object. - """, - 'author': 'OpenERP SA', - 'website': 'http://www.openerp.com', - 'depends': ['base','process'], - 'init_xml': [], - 'update_xml': [ - 'security/ir.model.access.csv', - 'base_contact_view.xml', - 'process/base_contact_process.xml' - ], - 'demo_xml': ['base_contact_demo.xml'], - 'test': [ - 'test/base_contact00.yml', - ], - 'installable': True, - 'auto_install': False, - 'certificate': '0031287885469', - 'images': ['images/base_contact1.jpeg','images/base_contact2.jpeg','images/base_contact3.jpeg'], -} -# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/base_contact/base_contact.py b/addons/base_contact/base_contact.py deleted file mode 100644 index 508a4cfc0f2..00000000000 --- a/addons/base_contact/base_contact.py +++ /dev/null @@ -1,252 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# -# OpenERP, Open Source Management Solution -# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. -# -############################################################################## - -from osv import fields, osv -import addons - -class res_partner_contact(osv.osv): - """ Partner Contact """ - - _name = "res.partner.contact" - _description = "Contact" - - def _name_get_full(self, cr, uid, ids, prop, unknow_none, context=None): - result = {} - for rec in self.browse(cr, uid, ids, context=context): - result[rec.id] = rec.last_name+' '+(rec.first_name or '') - return result - - _columns = { - 'name': fields.function(_name_get_full, string='Name', size=64, type="char", store=True, select=True), - 'last_name': fields.char('Last Name', size=64, required=True), - 'first_name': fields.char('First Name', size=64), - 'mobile': fields.char('Mobile', size=64), - 'title': fields.many2one('res.partner.title','Title', domain=[('domain','=','contact')]), - 'website': fields.char('Website', size=120), - 'lang_id': fields.many2one('res.lang', 'Language'), - 'job_ids': fields.one2many('res.partner', 'contact_id', 'Functions and Addresses'), - 'country_id': fields.many2one('res.country','Nationality'), - 'birthdate': fields.char('Birthdate', size=64), - 'active': fields.boolean('Active', help="If the active field is set to False,\ - it will allow you to hide the partner contact without removing it."), - 'partner_id': fields.related('job_ids', 'parent_id', type='many2one',\ - relation='res.partner', string='Main Employer'), - 'function': fields.related('job_ids', 'function', type='char', \ - string='Main Function'), - 'email': fields.char('E-Mail', size=240), - 'comment': fields.text('Notes', translate=True), - 'photo': fields.binary('Photo'), - } - - def _get_photo(self, cr, uid, context=None): - photo_path = addons.get_module_resource('base_contact', 'images', 'photo.png') - return open(photo_path, 'rb').read().encode('base64') - - _defaults = { - 'photo' : _get_photo, - 'active' : lambda *a: True, - } - - _order = "name" - - def name_search(self, cr, uid, name='', args=None, operator='ilike', context=None, limit=None): - if not args: - args = [] - if context is None: - context = {} - if name: - ids = self.search(cr, uid, ['|',('name', operator, name),('first_name', operator, name)] + args, limit=limit, context=context) - else: - ids = self.search(cr, uid, args, limit=limit, context=context) - return self.name_get(cr, uid, ids, context=context) - - def name_get(self, cr, uid, ids, context=None): - result = {} - for obj in self.browse(cr, uid, ids, context=context): - result[obj.id] = obj.name or '/' - if obj.partner_id: - result[obj.id] = result[obj.id] + ', ' + obj.partner_id.name - return result.items() - - def _auto_init(self, cr, context=None): - def table_exists(view_name): - cr.execute('SELECT count(relname) FROM pg_class WHERE relname = %s', (view_name,)) - value = cr.fetchone()[0] - return bool(value == 1) - - exists = table_exists(self._table) - super(res_partner_contact, self)._auto_init(cr, context) - - if not exists: - cr.execute(""" - INSERT INTO - res_partner_contact - (id,name,last_name,title,active,email,mobile,birthdate) - SELECT - id,COALESCE(name, '/'),COALESCE(name, '/'),title,true,email,mobile,birthdate - FROM - res_partner""") - cr.execute("alter table res_partner add contact_id int references res_partner_contact") - cr.execute("update res_partner set contact_id=id") - cr.execute("select setval('res_partner_contact_id_seq', (select max(id)+1 from res_partner_contact))") - -res_partner_contact() - -class res_partner_location(osv.osv): - _name = 'res.partner.location' - _rec_name = 'street' - _columns = { - 'street': fields.char('Street', size=128), - 'street2': fields.char('Street2', size=128), - 'zip': fields.char('Zip', change_default=True, size=24), - 'city': fields.char('City', size=128), - 'state_id': fields.many2one("res.country.state", 'Fed. State', domain="[('country_id','=',country_id)]"), - 'country_id': fields.many2one('res.country', 'Country'), - 'company_id': fields.many2one('res.company', 'Company',select=1), - 'job_ids': fields.one2many('res.partner', 'location_id', 'Contacts'), - 'partner_id': fields.related('job_ids', 'parent_id', type='many2one',\ - relation='res.partner', string='Main Partner'), - } - _defaults = { - 'company_id': lambda s,cr,uid,c: s.pool.get('res.company')._company_default_get(cr, uid, 'res.partner.address', context=c), - } - def _auto_init(self, cr, context=None): - def table_exists(view_name): - cr.execute('SELECT count(relname) FROM pg_class WHERE relname = %s', (view_name,)) - value = cr.fetchone()[0] - return bool(value == 1) - - exists = table_exists(self._table) - super(res_partner_location, self)._auto_init(cr, context) - - if not exists: - cr.execute(""" - INSERT INTO - res_partner_location - (id,street,street2,zip,city, - state_id,country_id,company_id) - SELECT - id,street,street2,zip,city, - state_id,country_id,company_id - FROM - res_partner""") - cr.execute("alter table res_partner add location_id int references res_partner_location") - cr.execute("update res_partner set location_id=id") - cr.execute("select setval('res_partner_location_id_seq', (select max(id)+1 from res_partner))") - - def name_get(self, cr, uid, ids, context=None): - result = {} - for obj in self.browse(cr, uid, ids, context=context): - res = [] - if obj.partner_id: res.append(obj.partner_id.name_get()[0][1]) - if obj.city: res.append(obj.city) - if obj.country_id: res.append(obj.country_id.name_get()[0][1]) - result[obj.id] = ', '.join(res) - return result.items() - -res_partner_location() - -class res_partner_address(osv.osv): - _inherit = 'res.partner.address' - - def _default_location_id(self, cr, uid, context=None): - if context is None: - context = {} - if not context.get('default_partner_id',False): - return False - ids = self.pool.get('res.partner.location').search(cr, uid, [('partner_id','=',context['default_partner_id'])], context=context) - return ids and ids[0] or False - - def onchange_location_id(self,cr, uid, ids, location_id=False, context={}): - if not location_id: - return {} - location = self.pool.get('res.partner.location').browse(cr, uid, location_id, context=context) - return {'value':{ - 'street': location.street, - 'street2': location.street2, - 'zip': location.zip, - 'city': location.city, - 'country_id': location.country_id and location.country_id.id or False, - 'state_id': location.state_id and location.state_id.id or False, - }} - - _columns = { - 'location_id' : fields.many2one('res.partner.location', 'Location'), - 'contact_id' : fields.many2one('res.partner.contact', 'Contact'), - - # fields from location - 'street': fields.related('location_id', 'street', string='Street', type="char", store=True, size=128), - 'street2': fields.related('location_id', 'street2', string='Street2', type="char", store=True, size=128), - 'zip': fields.related('location_id', 'zip', string='Zip', type="char", store=True, change_default=True, size=24), - 'city': fields.related('location_id', 'city', string='City', type="char", store=True, size=128), - 'state_id': fields.related('location_id', 'state_id', relation="res.country.state", string='Fed. State', type="many2one", store=True, domain="[('country_id','=',country_id)]"), - 'country_id': fields.related('location_id', 'country_id', type='many2one', string='Country', store=True, relation='res.country'), - - 'phone': fields.char('Phone', size=64), - 'fax': fields.char('Fax', size=64), - 'email': fields.char('E-Mail', size=240), - - # fields from contact - 'mobile' : fields.related('contact_id', 'mobile', type='char', size=64, string='Mobile'), - 'name' : fields.related('contact_id', 'name', type='char', size=64, string="Contact Name", store=True), - 'title' : fields.related('contact_id', 'title', type='many2one', relation='res.partner.title', string="Title", store=True), - } - def create(self, cr, uid, data, context={}): - if not data.get('location_id', False): - loc_id = self.pool.get('res.partner.location').create(cr, uid, { - 'street': data.get('street',''), - 'street2': data.get('street2',''), - 'zip': data.get('zip',''), - 'city': data.get('city',''), - 'country_id': data.get('country_id',False), - 'state_id': data.get('state_id',False) - }, context=context) - data['location_id'] = loc_id - result = super(res_partner_address, self).create(cr, uid, data, context=context) - return result - - def name_get(self, cr, uid, ids, context=None): - result = {} - for rec in self.browse(cr,uid, ids, context=context): - res = [] - if rec.parent_id: - res.append(rec.parent_id.name_get()[0][1]) - if rec.contact_id and rec.contact_id.name: - res.append(rec.contact_id.name) - if rec.location_id: - if rec.location_id.city: res.append(rec.location_id.city) - if rec.location_id.country_id: res.append(rec.location_id.country_id.name_get()[0][1]) - result[rec.id] = ', '.join(res) - return result.items() - - _defaults = { - 'location_id': _default_location_id - } - - def default_get(self, cr, uid, fields=[], context=None): - if context is None: - context = {} - if 'default_type' in context: - del context['default_type'] - return super(res_partner_address, self).default_get(cr, uid, fields, context) - -res_partner_address() - diff --git a/addons/base_contact/base_contact_demo.xml b/addons/base_contact/base_contact_demo.xml deleted file mode 100644 index 888ef6b54b7..00000000000 --- a/addons/base_contact/base_contact_demo.xml +++ /dev/null @@ -1,279 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<openerp> - <data> - - <record id="base.user_demo" model="res.users"> - <field eval="[(4,ref('base.group_sale_salesman'))]" name="groups_id"/> - </record> - - <!-- Create the contacts --> - <record id="res_partner_contact_mortier0" model="res.partner.contact"> - <field name="first_name">Benoit</field> - <field name="last_name">Mortier</field> - <field name="title" ref="base.res_partner_title_sir"/> - </record> - <record id="res_partner_contact_jacot0" model="res.partner.contact"> - <field name="first_name">Laurent</field> - <field name="last_name">Jacot</field> - <field ref="base.res_partner_title_sir" name="title"/> - </record> - <record id="res_partner_contact_passot0" model="res.partner.contact"> - <field name="first_name">Thomas</field> - <field name="last_name">Passot</field> - <field ref="base.res_partner_title_sir" name="title"/> - </record> - <record id="res_partner_contact_lacarte0" model="res.partner.contact"> - <field name="first_name">Etienne</field> - <field name="last_name">Lacarte</field> - </record> - <record id="res_partner_contact_tang0" model="res.partner.contact"> - <field name="last_name">Tang</field> - </record> - <record id="res_partner_contact_wong0" model="res.partner.contact"> - <field name="last_name">Wong</field> - </record> - <record id="res_partner_contact_lavente0" model="res.partner.contact"> - <field name="first_name">Jean-Guy</field> - <field name="last_name">Lavente</field> - <field ref="base.res_partner_title_sir" name="title"/> - </record> - <record id="res_partner_contact_lelitre0" model="res.partner.contact"> - <field name="first_name">Sylvie</field> - <field name="last_name">Lelitre</field> - <field ref="base.res_partner_title_sir" name="title"/> - </record> - <record id="res_partner_contact_grosbonnet0" model="res.partner.contact"> - <field name="first_name">Arthur</field> - <field name="last_name">Grosbonnet</field> - <field ref="base.res_partner_title_sir" name="title"/> - </record> - <record id="res_partner_contact_lesbrouffe0" model="res.partner.contact"> - <field name="first_name">Karine</field> - <field name="last_name">Lesbrouffe</field> - <field ref="base.res_partner_title_madam" name="title"/> - </record> - <record id="res_partner_contact_zen0" model="res.partner.contact"> - <field name="last_name">Zen</field> - </record> - <record id="res_partner_contact_pinckears0" model="res.partner.contact"> - <field name="website">http://fptiny.blogspot.com/</field> - <field name="first_name">Fabien</field> - <field name="last_name">Pinckaers</field> - <field ref="base.res_partner_title_sir" name="title"/> - </record> - <record id="res_partner_contact_debois0" model="res.partner.contact"> - <field name="first_name">Marc</field> - <field name="last_name">Debois</field> - <field ref="base.res_partner_title_sir" name="title"/> - </record> - <record id="res_partner_contact_luu0" model="res.partner.contact"> - <field name="first_name">Phuong</field> - <field name="last_name">Luu</field> - <field ref="base.res_partner_title_madam" name="title"/> - </record> - <record id="res_partner_contact_elkhayat0" model="res.partner.contact"> - <field name="first_name">Najlaa</field> - <field name="last_name">Khayat</field> - <field ref="base.res_partner_title_madam" name="title"/> - </record> - <record id="res_partner_contact_depaoli0" model="res.partner.contact"> - <field name="first_name">Quentin</field> - <field name="last_name">Paolino</field> - <field ref="base.res_partner_title_sir" name="title"/> - </record> - <record id="res_partner_contact_semal0" model="res.partner.contact"> - <field name="first_name">Fabian</field> - <field name="last_name">W.</field> - <field ref="base.res_partner_title_sir" name="title"/> - </record> - <record id="res_partner_contact_vandewerve0" model="res.partner.contact"> - <field name="first_name">Yvan</field> - <field name="last_name">Van</field> - <field ref="base.res_partner_title_sir" name="title"/> - </record> - <record id="res_partner_contact_lambotte0" model="res.partner.contact"> - <field name="first_name">Henry</field> - <field name="last_name">Lambotte</field> - <field ref="base.res_partner_title_sir" name="title"/> - </record> - <record id="res_partner_contact_laurent0" model="res.partner.contact"> - <field name="first_name">Olivier</field> - <field name="last_name">Laurent</field> - <field ref="base.res_partner_title_sir" name="title"/> - </record> - <record id="res_partner_contact_simonis0" model="res.partner.contact"> - <field name="first_name">Christophe</field> - <field name="last_name">Dupont</field> - <field ref="base.res_partner_title_sir" name="title"/> - </record> - <record id="res_partner_contact_wirtel0" model="res.partner.contact"> - <field name="first_name">Stéphane</field> - <field name="last_name">Andre</field> - <field ref="base.res_partner_title_sir" name="title"/> - </record> - <record id="res_partner_contact_mignon0" model="res.partner.contact"> - <field name="first_name">Philippe</field> - <field name="last_name">Antoine</field> - <field ref="base.res_partner_title_sir" name="title"/> - </record> - - - <!-- Create the jobs --> - <!-- - <record id="res_partner_job_0" model="res.partner.job"> - <field name="address_id" ref="base.res_partner_address_1"/> - <field name="function">Salesman</field> - <field name="contact_id" ref="res_partner_contact_mortier0"/> - <field name="sequence_partner">2</field> - </record> - <record id="res_partner_job_1" model="res.partner.job"> - <field name="address_id" ref="base.res_partner_address_2"/> - <field name="function">Salesman</field> - <field name="email">contact@tecsas.fr</field> - <field name="contact_id" ref="res_partner_contact_jacot0"/> - </record> - <record id="res_partner_job_2" model="res.partner.job"> - <field name="address_id" ref="base.res_partner_address_3"/> - <field name="function">CTO</field> - <field name="email">info@mycompany.com</field> - <field name="contact_id" ref="res_partner_contact_passot0"/> - </record> - <record id="res_partner_job_3" model="res.partner.job"> - <field name="address_id" ref="base.res_partner_address_tang"/> - <field name="function">Salesman</field> - <field name="contact_id" ref="res_partner_contact_tang0"/> - </record> - <record id="res_partner_job_4" model="res.partner.job"> - <field name="address_id" ref="base.res_partner_address_wong"/> - <field name="function">Salesman</field> - <field name="contact_id" ref="res_partner_contact_wong0"/> - </record> - <record id="res_partner_job_5" model="res.partner.job"> - <field name="address_id" ref="base.res_partner_address_6"/> - <field name="function">CEO</field> - <field name="contact_id" ref="res_partner_contact_lacarte0"/> - <field name="sequence_contact">1</field> - <field name="sequence_partner">0</field> - - </record> - <record id="res_partner_job_6" model="res.partner.job"> - <field name="address_id" ref="base.res_partner_address_7"/> - <field name="function">Salesman</field> - <field name="contact_id" ref="res_partner_contact_lavente0"/> - </record> - <record id="res_partner_job_7" model="res.partner.job"> - <field name="address_id" ref="base.res_partner_address_8"/> - <field name="function">CTO</field> - <field name="contact_id" ref="res_partner_contact_lelitre0"/> - </record> - <record id="res_partner_job_8" model="res.partner.job"> - <field name="address_id" ref="base.res_partner_address_9"/> - <field name="function">CEO</field> - <field name="contact_id" ref="res_partner_contact_grosbonnet0"/> - </record> - <record id="res_partner_job_9" model="res.partner.job"> - <field name="address_id" ref="base.res_partner_address_10"/> - <field name="function">Salesman</field> - <field name="contact_id" ref="res_partner_contact_lesbrouffe0"/> - </record> - <record id="res_partner_job_10" model="res.partner.job"> - <field name="address_id" ref="base.res_partner_address_zen"/> - <field name="function">CTO</field> - <field name="contact_id" ref="res_partner_contact_zen0"/> - </record> - <record id="res_partner_job_11" model="res.partner.job"> - <field name="address_id" ref="base.main_address"/> - <field name="function">Salesman</field> - <field name="email">re@mycompany.com</field> - <field name="contact_id" ref="res_partner_contact_mignon0"/> - </record> - <record id="res_partner_job_12" model="res.partner.job"> - <field name="address_id" ref="base.main_address"/> - <field name="function">CTO</field> - <field name="email">st@mycompany.com</field> - <field name="contact_id" ref="res_partner_contact_wirtel0"/> - </record> - <record id="res_partner_job_13" model="res.partner.job"> - <field name="address_id" ref="base.main_address"/> - <field name="function">CTO</field> - <field name="email">ch@mycompany.com</field> - <field name="contact_id" ref="res_partner_contact_simonis0"/> - </record> - <record id="res_partner_job_14" model="res.partner.job"> - <field name="address_id" ref="base.main_address"/> - <field name="function">CTO</field> - <field name="email">ol@mycompany.com</field> - <field name="contact_id" ref="res_partner_contact_laurent0"/> - </record> - <record id="res_partner_job_15" model="res.partner.job"> - <field name="address_id" ref="base.main_address"/> - <field name="function">CTO</field> - <field name="email">fl@mycompany.com</field> - <field name="contact_id" ref="res_partner_contact_lambotte0"/> - </record> - <record id="res_partner_job_16" model="res.partner.job"> - <field name="address_id" ref="base.main_address"/> - <field name="function">Salesman</field> - <field name="email">av@mycompany.com</field> - <field name="contact_id" ref="res_partner_contact_vandewerve0"/> - </record> - <record id="res_partner_job_17" model="res.partner.job"> - <field name="address_id" ref="base.main_address"/> - <field name="function">CTO</field> - <field name="email">fb@mycompany.com</field> - <field name="contact_id" ref="res_partner_contact_semal0"/> - </record> - <record id="res_partner_job_18" model="res.partner.job"> - <field name="address_id" ref="base.main_address"/> - <field name="function">CTO</field> - <field name="email">qd@mycompany.com</field> - <field name="contact_id" ref="res_partner_contact_depaoli0"/> - </record> - <record id="res_partner_job_19" model="res.partner.job"> - <field name="address_id" ref="base.main_address"/> - <field name="function">CTO</field> - <field name="email">ne@mycompany.com</field> - <field name="contact_id" ref="res_partner_contact_elkhayat0"/> - </record> - <record id="res_partner_job_20" model="res.partner.job"> - <field name="address_id" ref="base.main_address"/> - <field name="function">CTO</field> - <field name="email">ph@mycompany.com</field> - <field name="contact_id" ref="res_partner_contact_luu0"/> - </record> - <record id="res_partner_job_21" model="res.partner.job"> - <field name="address_id" ref="base.main_address"/> - <field name="function">CEO</field> - <field name="email">fp@mycompany.com</field> - <field name="contact_id" ref="res_partner_contact_pinckears0"/> - <field name="sequence_partner">-1</field> - </record> - <record id="res_partner_job_22" model="res.partner.job"> - <field name="address_id" ref="base.main_address"/> - <field name="function">Salesman</field> - <field name="email">cd@mycompany.com</field> - <field name="contact_id" ref="res_partner_contact_debois0"/> - </record> - <record id="res_partner_job_23" model="res.partner.job"> - <field name="address_id" ref="res_partner_address_0"/> - <field name="contact_id" ref="res_partner_contact_mortier0"/> - <field name="sequence_contact">5</field> - <field name="function">PA</field> - </record> - <record id="res_partner_job_24" model="res.partner.job"> - <field name="sequence_contact">1</field> - <field name="address_id" ref="res_partner_address_1"/> - <field name="contact_id" ref="res_partner_contact_lacarte0"/> - <field name="function">PA</field> - <field name="sequence_contact">5</field> - </record> - <record id="res_partner_job_25" model="res.partner.job"> - <field name="sequence_contact">2</field> - <field name="address_id" ref="base.res_partner_address_1"/> - <field name="contact_id" ref="res_partner_contact_lacarte0"/> - <field name="function">CEO</field> - <field name="sequence_contact">1</field> - </record> - --> - </data> -</openerp> diff --git a/addons/base_contact/base_contact_view.xml b/addons/base_contact/base_contact_view.xml deleted file mode 100644 index cb56859d24e..00000000000 --- a/addons/base_contact/base_contact_view.xml +++ /dev/null @@ -1,197 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<openerp> -<data> - - <!-- Views for Contacts Tree View --> - - <record model="ir.ui.view" id="view_partner_contact_tree"> - <field name="name">res.partner.contact.tree</field> - <field name="model">res.partner.contact</field> - <field name="type">tree</field> - <field name="arch" type="xml"> - <tree string="Partner Contact"> - <field name="name"/> - <field name="first_name"/> - <field name="mobile"/> - <field name="email"/> - <field name="lang_id"/> - <field name="partner_id"/> - <field name="function"/> - </tree> - </field> - </record> - -<!-- Views for Contacts Form View --> - - <record model="ir.ui.view" id="view_partner_contact_form"> - <field name="name">res.partner.contact.form</field> - <field name="model">res.partner.contact</field> - <field name="type">form</field> - <field name="arch" type="xml"> - <form string="Partner Contact"> - <group colspan="4" col="6"> - <field name="last_name" select="1"/> - <field name="first_name" select="1"/> - <field name="title" select="1" widget="selection" domain="[('domain', '=', 'contact')]" size="0"/> - </group> - <notebook colspan="4" > - <page string="General"> - <group colspan="4" col="4"> - <group colspan="2" col="4"> - <separator string="Personal Information" colspan="4"/> - <field name="mobile"/> - <field name="email" widget="email"/> - <field name="website"/> - </group> - <group colspan="2" col="1"> - <separator string="Photo" colspan="4"/> - <field name="photo" widget='image' nolabel="1"/> - </group> - </group> - <field name="job_ids" colspan="4" nolabel="1" mode="tree,form"> - <form string="Functions and Addresses"> - <field name="parent_id" /> - <field name="location_id" domain="[('partner_id', '=', parent_id)]"/> - <field name="function" /> - <separator string="Professional Info" colspan="4"/> - <field name="phone"/> - <field name="fax"/> - <field name="email" widget="email"/> - </form> - <tree string="Functions and Addresses"> - <field name="location_id"/> - <field name="function"/> - <field name="phone"/> - <field name="email"/> - </tree> - </field> - </page> - <page string="Extra Information"> - <field name="active"/> - <field name="lang_id" widget="selection"/> - <field name="partner_id" invisible="1" select="1"/> - <field name="function" invisible="1" /> - <field name="country_id"/> - <field name="birthdate"/> - </page> - <page string="Notes"> - <field name="comment" nolabel="1"/> - </page> - - </notebook> - </form> - </field> - </record> - -<!-- Views for Contacts Search View --> - - <record model="ir.ui.view" id="view_partner_contact_search"> - <field name="name">res.partner.contact.search</field> - <field name="model">res.partner.contact</field> - <field name="type">search</field> - <field name="arch" type="xml"> - <search string="Partner Contact"> - <field name="name" string="First/Lastname" - filter_domain="['|', ('first_name','ilike', self), ('last_name', 'ilike', self)]"/> - <field name="partner_id" string="Partner"/> - </search> - </field> - </record> - -<!-- Views for Contacts Action --> - - <record model="ir.actions.act_window" id="action_partner_contact_form"> - <field name="name">Contacts</field> - <field name="res_model">res.partner.contact</field> - <field name="view_type">form</field> - <field name="view_mode">tree,form</field> - <field name="view_id" ref="view_partner_contact_tree"/> - <field name="search_view_id" ref="view_partner_contact_search"/> - </record> - <menuitem name="Address Contacts" id="menu_partner_contact_form" action="action_partner_contact_form" parent = "base.menu_address_book" sequence="2"/> - - <!-- Rename menuitem for partner addresses --> - <record model="ir.ui.menu" id="base.menu_partner_address_form"> - <field name="name">Addresses</field> - </record> - - <!-- - Contacts for Suppliers - --> - <menuitem icon="terp-purchase" id="base.menu_purchase_root" name="Purchases" - sequence="3"/> - <menuitem id="base.menu_procurement_management_supplier" name="Address Book" - parent="base.menu_purchase_root" sequence="3"/> - <menuitem id="base.menu_procurement_management_supplier_name" name="Suppliers" - parent="base.menu_procurement_management_supplier" action="base.action_partner_supplier_form" sequence="1"/> - <menuitem name="Contacts" id="menu_purchases_partner_contact_form" action="action_partner_contact_form" - parent = "base.menu_procurement_management_supplier" sequence="2"/> - - <!-- Views for Partners Form View --> - - <record model="ir.ui.view" id="view_partner_form_inherit"> - <field name="name">Partner form inherited</field> - <field name="model">res.partner</field> - <field name="inherit_id" ref="base.view_partner_form"/> - <field name="type">form</field> - <field name="arch" type="xml"> - <separator string="Address" position="after"> - <field name="location_id" on_change="onchange_location_id(location_id)" domain="[('partner_id', '=', parent.id)]"/> - </separator> - <xpath expr="//field[@name='name']" position="replace"> - <field name="contact_id"/> - </xpath> - <field name="title" position="replace"/> - </field> - </record> - - <!-- Views for Addresses --> - - <record model="ir.ui.view" id="view_partner_location_form"> - <field name="name">res.partner.location.form</field> - <field name="model">res.partner.location</field> - <field name="type">form</field> - <field name="arch" type="xml"> - <form string="Locations"> - <field name="street" colspan="4"/> - <field name="street2" colspan="4"/> - <field name="zip"/> - <field name="city"/> - <field name="country_id" /> - <field name="state_id"/> - </form> - </field> - </record> - - - <record model="ir.ui.view" id="view_partner_location_tree"> - <field name="name">res.partner.location.tree</field> - <field name="model">res.partner.location</field> - <field name="type">tree</field> - <field name="arch" type="xml"> - <tree string="Locations"> - <field name="city"/> - <field name="country_id" /> - <field name="state_id"/> - </tree> - </field> - </record> - - <record model="ir.ui.view" id="view_partner_address_form_inherited0"> - <field name='name'>res.partner.address.form.inherited0</field> - <field name='model'>res.partner.address</field> - <field name="inherit_id" ref="base.view_partner_address_form1"/> - <field name='type'>form</field> - <field name='arch' type='xml'> - <field name="name" position="replace"> - <field name="contact_id"/> - </field> - <separator string="Postal Address" position="after"> - <field name="location_id" on_change="onchange_location_id(location_id)"/> - </separator> - <field name="title" position="replace"/> - </field> - </record> - -</data> -</openerp> diff --git a/addons/base_contact/i18n/ar.po b/addons/base_contact/i18n/ar.po deleted file mode 100644 index 56e078eb3c3..00000000000 --- a/addons/base_contact/i18n/ar.po +++ /dev/null @@ -1,481 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * base_contact -# -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 5.0.4\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2012-02-08 00:36+0000\n" -"PO-Revision-Date: 2012-02-12 19:38+0000\n" -"Last-Translator: amani ali <applepie9911@yahoo.com>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-02-13 04:49+0000\n" -"X-Generator: Launchpad (build 14781)\n" - -#. module: base_contact -#: field:res.partner.location,city:0 -msgid "City" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "First/Lastname" -msgstr "" - -#. module: base_contact -#: model:ir.actions.act_window,name:base_contact.action_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_purchases_partner_contact_form -#: model:process.node,name:base_contact.process_node_contacts0 -#: field:res.partner.location,job_ids:0 -msgid "Contacts" -msgstr "جهات الاتصال" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Professional Info" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,first_name:0 -msgid "First Name" -msgstr "الاسم الأول" - -#. module: base_contact -#: field:res.partner.address,location_id:0 -msgid "Location" -msgstr "" - -#. module: base_contact -#: model:process.transition,name:base_contact.process_transition_partnertoaddress0 -msgid "Partner to address" -msgstr "شريك إلى عنوان" - -#. module: base_contact -#: help:res.partner.contact,active:0 -msgid "" -"If the active field is set to False, it will allow you to " -"hide the partner contact without removing it." -msgstr "" -"اذا كان وضع الحقل النشط خطأ, سيسمح لك بإخفاء اتصال الشريك بدون ازالته." - -#. module: base_contact -#: field:res.partner.contact,website:0 -msgid "Website" -msgstr "الموقع الإلكتروني" - -#. module: base_contact -#: field:res.partner.location,zip:0 -msgid "Zip" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,state_id:0 -msgid "Fed. State" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,company_id:0 -msgid "Company" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,title:0 -msgid "Title" -msgstr "اللقب" - -#. module: base_contact -#: field:res.partner.location,partner_id:0 -msgid "Main Partner" -msgstr "" - -#. module: base_contact -#: model:process.process,name:base_contact.process_process_basecontactprocess0 -msgid "Base Contact" -msgstr "جهة الاتصال الأساسية" - -#. module: base_contact -#: field:res.partner.contact,email:0 -msgid "E-Mail" -msgstr "البريد الإلكتروني" - -#. module: base_contact -#: field:res.partner.contact,active:0 -msgid "Active" -msgstr "نشِط" - -#. module: base_contact -#: field:res.partner.contact,country_id:0 -msgid "Nationality" -msgstr "الجنسية" - -#. module: base_contact -#: view:res.partner:0 -#: view:res.partner.address:0 -msgid "Postal Address" -msgstr "العنوان البريدي" - -#. module: base_contact -#: field:res.partner.contact,function:0 -msgid "Main Function" -msgstr "المهمة الرئيسية" - -#. module: base_contact -#: model:process.transition,note:base_contact.process_transition_partnertoaddress0 -msgid "Define partners and their addresses." -msgstr "تعريف الشركاء وعناوينهم" - -#. module: base_contact -#: field:res.partner.contact,name:0 -msgid "Name" -msgstr "الاسم" - -#. module: base_contact -#: field:res.partner.contact,lang_id:0 -msgid "Language" -msgstr "اللغة" - -#. module: base_contact -#: field:res.partner.contact,mobile:0 -msgid "Mobile" -msgstr "الجوال" - -#. module: base_contact -#: field:res.partner.location,country_id:0 -msgid "Country" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,comment:0 -msgid "Notes" -msgstr "ملاحظات" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_contacts0 -msgid "People you work with." -msgstr "أشخاص تعمل معهم." - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Extra Information" -msgstr "معلومات إضافية" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,job_ids:0 -msgid "Functions and Addresses" -msgstr "المهام والعناوين" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_contact -#: field:res.partner.address,contact_id:0 -msgid "Contact" -msgstr "جهة الاتصال" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_location -msgid "res.partner.location" -msgstr "" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_partners0 -msgid "Companies you work with." -msgstr "الشركات التي تتعامل معها." - -#. module: base_contact -#: field:res.partner.contact,partner_id:0 -msgid "Main Employer" -msgstr "صاحب العمل الرئيسي" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner Contact" -msgstr "جهة الاتصال بالشريك" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_addresses0 -msgid "Addresses" -msgstr "العناوين" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_addresses0 -msgid "Working and private addresses." -msgstr "عناوين العمل والعناوين الخاصة" - -#. module: base_contact -#: field:res.partner.contact,last_name:0 -msgid "Last Name" -msgstr "اسم العائلة" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,photo:0 -msgid "Photo" -msgstr "صورة" - -#. module: base_contact -#: view:res.partner.location:0 -msgid "Locations" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "General" -msgstr "عام" - -#. module: base_contact -#: field:res.partner.location,street:0 -msgid "Street" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner" -msgstr "الشريك" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_partners0 -msgid "Partners" -msgstr "الشركاء" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_address -msgid "Partner Addresses" -msgstr "عناوين الشريك" - -#. module: base_contact -#: field:res.partner.location,street2:0 -msgid "Street2" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Personal Information" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,birthdate:0 -msgid "Birth Date" -msgstr "تاريخ الميلاد" - -#~ msgid "Fax" -#~ msgstr "فاكس" - -#~ msgid "# of Contacts" -#~ msgstr "عدد جهات الاتصال" - -#~ msgid "" -#~ "You may enter Address first,Partner will be linked " -#~ "automatically if any." -#~ msgstr "يمكنك إدخال العنوان أولاً، وسيتمّ ربط الشريك تلقائياً إن وُجِد." - -#~ msgid "Job FAX no." -#~ msgstr "فاكس العمل" - -#~ msgid "Status of Address" -#~ msgstr "حالة العنوان" - -#~ msgid "Start date of job(Joining Date)" -#~ msgstr "تاريخ الالتحاق بالوظيفة" - -#~ msgid "Migrate" -#~ msgstr "نقل" - -#~ msgid "Categories" -#~ msgstr "الفئات" - -#~ msgid "Job Phone no." -#~ msgstr "هاتف العمل" - -#~ msgid "Extension" -#~ msgstr "الامتداد" - -#~ msgid "Job E-Mail" -#~ msgstr "البريد الإلكتروني للعمل" - -#~ msgid "Image" -#~ msgstr "صورة" - -#~ msgid "title" -#~ msgstr "الاسم" - -#~ msgid "Select the Option for Addresses Migration" -#~ msgstr "حدد الخيار لنقل العناوين" - -#~ msgid "Last date of job" -#~ msgstr "تاريخ ترك الوظيفة" - -#~ msgid "Contact's Jobs" -#~ msgstr "الوظائف" - -#~ msgid "" -#~ "Order of importance of this job title in the list of job " -#~ "title of the linked partner" -#~ msgstr "" -#~ "ترتيب المسمى الوظيفي هذا حسب الأهمية بين المسميات الوظيغية المستخدمة لدى " -#~ "الشريك" - -#~ msgid "Internal/External extension phone number" -#~ msgstr "امتداد رقم الهاتف الداخلي/الخارجي" - -#~ msgid "Date Stop" -#~ msgstr "تاريخ التوقف" - -#~ msgid "Communication" -#~ msgstr "التواصل" - -#~ msgid "Partner Seq." -#~ msgstr "رقم الشريك" - -#~ msgid "Address which is linked to the Partner" -#~ msgstr "العنوان المرتبط بالشريك" - -#~ msgid "Additional phone field" -#~ msgstr "حقل هاتف إضافي" - -#~ msgid "Contact Seq." -#~ msgstr "رقم جهة الاتصال" - -#~ msgid "Phone" -#~ msgstr "هاتف" - -#~ msgid "Otherwise these details will not be visible from address/contact." -#~ msgstr "وإلا فلن تظهر هذه التفاصيل في العنوان/جهة الاتصال." - -#~ msgid "base.contact.installer" -#~ msgstr "base.contact.installer" - -#~ msgid "Configure" -#~ msgstr "ضبط الإعدادات" - -#~ msgid "Seq." -#~ msgstr "رقم" - -#~ msgid "If you select this, all addresses will be migrated." -#~ msgstr "إذا اخترت هذا الخيار، سيتم نقل جميع العناوين." - -#~ msgid "Current" -#~ msgstr "الحالي" - -#~ msgid "Main Job" -#~ msgstr "الوظيفة الرئيسية" - -#~ msgid "Defines contacts and functions." -#~ msgstr "تعريف جهات الاتصال والمهام." - -#~ msgid "Contact to function" -#~ msgstr "جهة اتصال إلى مهمة" - -#~ msgid "Address" -#~ msgstr "العنوان" - -#~ msgid "Other" -#~ msgstr "غير ذلك" - -#~ msgid "" -#~ "Order of importance of this address in the list of " -#~ "addresses of the linked contact" -#~ msgstr "ترتيب هذا العنوان حسب الأهمية بين عناوين جهة الاتصال" - -#~ msgid "Address Migration" -#~ msgstr "نقل العنوان" - -#~ msgid "Date Start" -#~ msgstr "تاريخ البدء" - -#~ msgid "Open Jobs" -#~ msgstr "الوظائف المفتوحة" - -#~ msgid "You can migrate Partner's current addresses to the contact." -#~ msgstr "يمكنك نقل العناوين الحالية للشريك إلى جهة الاتصال" - -#~ msgid "Define functions and address." -#~ msgstr "تعريف المهام والعنوان" - -#~ msgid "Contact Partner Function" -#~ msgstr "مهمة الشريك" - -#~ msgid "Partner Function" -#~ msgstr "مهمة الشريك" - -#~ msgid "Contact Functions" -#~ msgstr "مهام جهة الاتصال" - -#~ msgid "Function to address" -#~ msgstr "مهمة إلى عنوان" - -#~ msgid "" -#~ "\n" -#~ " This module allows you to manage your contacts entirely.\n" -#~ "\n" -#~ " It lets you define\n" -#~ " *contacts unrelated to a partner,\n" -#~ " *contacts working at several addresses (possibly for different " -#~ "partners),\n" -#~ " *contacts with possibly different functions for each of its job's " -#~ "addresses\n" -#~ "\n" -#~ " It also adds new menu items located in\n" -#~ " Partners \\ Contacts\n" -#~ " Partners \\ Functions\n" -#~ "\n" -#~ " Pay attention that this module converts the existing addresses into " -#~ "\"addresses + contacts\". It means that some fields of the addresses will be " -#~ "missing (like the contact name), since these are supposed to be defined in " -#~ "an other object.\n" -#~ " " -#~ msgstr "" -#~ "\n" -#~ " تمكنك هذه الوحدة البرمجية من إدارة جهات الاتصال بشكل كامل.\n" -#~ " فهي تسمح لك بـتعرف:\n" -#~ " * جهات اتصال غير ذات صلة بشريك،\n" -#~ " * جهات اتصال ذات عناوين عمل متعددة (ربما لارتباطها بشركاء مختلفين)،\n" -#~ " * جهات اتصال ذات مهام مختلفة لكل عنوان من عناوين وظائفها\n" -#~ "\n" -#~ " كذلك تضيف هذه الوحدة البرمجية عناصر جديدة إلى القائمة تحت\n" -#~ " الشركاء / جهات الاتصال\n" -#~ " الشركاء / المهام\n" -#~ "\n" -#~ " تنبه إلى أن هذه الوحدة البرمجية تقوم بتحويل العناوين الموجودة مسبقاً إلى " -#~ "\"عناوين\" و \"جهات اتصال\"، مما يعني أن بعض حقول العناوين سيتم حذفها (مثل " -#~ "اسم جهة الاتصال) لأنه من المفترض أن يتم تعريفها في كائن آخر.\n" -#~ " " - -#~ msgid "Function of this contact with this partner" -#~ msgstr "مهمة جهة الاتصال هذه عند هذا الشريك" - -#~ msgid "Function" -#~ msgstr "المهمة" - -#~ msgid "Search Contact" -#~ msgstr "بحث جهة الإتصال" - -#~ msgid "State" -#~ msgstr "المحافظة" - -#~ msgid "Configuration Progress" -#~ msgstr "سير الإعدادات" - -#~ msgid "" -#~ "Due to changes in Address and Partner's relation, some of the details from " -#~ "address are needed to be migrated into contact information." -#~ msgstr "" -#~ "نتيجة للتغيرات في العنوان، وعلاقة الشريك, سيكون هناك الحاجة الى ترحيل بعض " -#~ "التفاصيل من العنوان الى معلومات الاتصال." - -#~ msgid "Jobs at a same partner address." -#~ msgstr "الوظائف عند نفس عنوان الشريك." - -#~ msgid "Past" -#~ msgstr "سابق" - -#~ msgid "Do you want to migrate your Address data in Contact Data?" -#~ msgstr "هل تريد ترحيل بيانات عنوانك الى بيانات الاتصال؟" - -#~ msgid "Address's Migration to Contacts" -#~ msgstr "ترحيل العنوان الى جهات الاتصالات" diff --git a/addons/base_contact/i18n/base_contact.pot b/addons/base_contact/i18n/base_contact.pot deleted file mode 100644 index 6b9f8cb652d..00000000000 --- a/addons/base_contact/i18n/base_contact.pot +++ /dev/null @@ -1,261 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * base_contact -# -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 6.1rc1\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-02-08 00:36+0000\n" -"PO-Revision-Date: 2012-02-08 00:36+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: base_contact -#: field:res.partner.location,city:0 -msgid "City" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "First/Lastname" -msgstr "" - -#. module: base_contact -#: model:ir.actions.act_window,name:base_contact.action_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_purchases_partner_contact_form -#: model:process.node,name:base_contact.process_node_contacts0 -#: field:res.partner.location,job_ids:0 -msgid "Contacts" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Professional Info" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,first_name:0 -msgid "First Name" -msgstr "" - -#. module: base_contact -#: field:res.partner.address,location_id:0 -msgid "Location" -msgstr "" - -#. module: base_contact -#: model:process.transition,name:base_contact.process_transition_partnertoaddress0 -msgid "Partner to address" -msgstr "" - -#. module: base_contact -#: help:res.partner.contact,active:0 -msgid "If the active field is set to False, it will allow you to hide the partner contact without removing it." -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,website:0 -msgid "Website" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,zip:0 -msgid "Zip" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,state_id:0 -msgid "Fed. State" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,company_id:0 -msgid "Company" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,title:0 -msgid "Title" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,partner_id:0 -msgid "Main Partner" -msgstr "" - -#. module: base_contact -#: model:process.process,name:base_contact.process_process_basecontactprocess0 -msgid "Base Contact" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,email:0 -msgid "E-Mail" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,active:0 -msgid "Active" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,country_id:0 -msgid "Nationality" -msgstr "" - -#. module: base_contact -#: view:res.partner:0 -#: view:res.partner.address:0 -msgid "Postal Address" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,function:0 -msgid "Main Function" -msgstr "" - -#. module: base_contact -#: model:process.transition,note:base_contact.process_transition_partnertoaddress0 -msgid "Define partners and their addresses." -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,name:0 -msgid "Name" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,lang_id:0 -msgid "Language" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,mobile:0 -msgid "Mobile" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,country_id:0 -msgid "Country" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,comment:0 -msgid "Notes" -msgstr "" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_contacts0 -msgid "People you work with." -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Extra Information" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,job_ids:0 -msgid "Functions and Addresses" -msgstr "" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_contact -#: field:res.partner.address,contact_id:0 -msgid "Contact" -msgstr "" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_location -msgid "res.partner.location" -msgstr "" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_partners0 -msgid "Companies you work with." -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,partner_id:0 -msgid "Main Employer" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner Contact" -msgstr "" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_addresses0 -msgid "Addresses" -msgstr "" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_addresses0 -msgid "Working and private addresses." -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,last_name:0 -msgid "Last Name" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,photo:0 -msgid "Photo" -msgstr "" - -#. module: base_contact -#: view:res.partner.location:0 -msgid "Locations" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "General" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,street:0 -msgid "Street" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner" -msgstr "" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_partners0 -msgid "Partners" -msgstr "" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_address -msgid "Partner Addresses" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,street2:0 -msgid "Street2" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Personal Information" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,birthdate:0 -msgid "Birth Date" -msgstr "" - diff --git a/addons/base_contact/i18n/bg.po b/addons/base_contact/i18n/bg.po deleted file mode 100644 index 2a4f82ad61d..00000000000 --- a/addons/base_contact/i18n/bg.po +++ /dev/null @@ -1,504 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * base_contact -# -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 6.0dev\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2012-02-08 00:36+0000\n" -"PO-Revision-Date: 2010-08-03 00:57+0000\n" -"Last-Translator: Boris <boris.t.ivanov@gmail.com>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-02-09 06:14+0000\n" -"X-Generator: Launchpad (build 14763)\n" - -#. module: base_contact -#: field:res.partner.location,city:0 -msgid "City" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "First/Lastname" -msgstr "" - -#. module: base_contact -#: model:ir.actions.act_window,name:base_contact.action_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_purchases_partner_contact_form -#: model:process.node,name:base_contact.process_node_contacts0 -#: field:res.partner.location,job_ids:0 -msgid "Contacts" -msgstr "Контакти" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Professional Info" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,first_name:0 -msgid "First Name" -msgstr "Собствено Име" - -#. module: base_contact -#: field:res.partner.address,location_id:0 -msgid "Location" -msgstr "" - -#. module: base_contact -#: model:process.transition,name:base_contact.process_transition_partnertoaddress0 -msgid "Partner to address" -msgstr "Партньор на адрес" - -#. module: base_contact -#: help:res.partner.contact,active:0 -msgid "" -"If the active field is set to False, it will allow you to " -"hide the partner contact without removing it." -msgstr "" -"Ако полето е настроено на невярно, то се скрива връзка с партньор, без да я " -"премахва." - -#. module: base_contact -#: field:res.partner.contact,website:0 -msgid "Website" -msgstr "Уеб сайт" - -#. module: base_contact -#: field:res.partner.location,zip:0 -msgid "Zip" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,state_id:0 -msgid "Fed. State" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,company_id:0 -msgid "Company" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,title:0 -msgid "Title" -msgstr "Обръщение" - -#. module: base_contact -#: field:res.partner.location,partner_id:0 -msgid "Main Partner" -msgstr "" - -#. module: base_contact -#: model:process.process,name:base_contact.process_process_basecontactprocess0 -msgid "Base Contact" -msgstr "База контакт" - -#. module: base_contact -#: field:res.partner.contact,email:0 -msgid "E-Mail" -msgstr "Имейл" - -#. module: base_contact -#: field:res.partner.contact,active:0 -msgid "Active" -msgstr "Активен" - -#. module: base_contact -#: field:res.partner.contact,country_id:0 -msgid "Nationality" -msgstr "Националност" - -#. module: base_contact -#: view:res.partner:0 -#: view:res.partner.address:0 -msgid "Postal Address" -msgstr "Пощенски адрес" - -#. module: base_contact -#: field:res.partner.contact,function:0 -msgid "Main Function" -msgstr "Основна длъжност" - -#. module: base_contact -#: model:process.transition,note:base_contact.process_transition_partnertoaddress0 -msgid "Define partners and their addresses." -msgstr "Задаване на партньори и техните адреси." - -#. module: base_contact -#: field:res.partner.contact,name:0 -msgid "Name" -msgstr "Име" - -#. module: base_contact -#: field:res.partner.contact,lang_id:0 -msgid "Language" -msgstr "Език" - -#. module: base_contact -#: field:res.partner.contact,mobile:0 -msgid "Mobile" -msgstr "Мобилен" - -#. module: base_contact -#: field:res.partner.location,country_id:0 -msgid "Country" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,comment:0 -msgid "Notes" -msgstr "Бележки" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_contacts0 -msgid "People you work with." -msgstr "Хора, с които работите" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Extra Information" -msgstr "Допълнителна информация" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,job_ids:0 -msgid "Functions and Addresses" -msgstr "Длъжности и адреси" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_contact -#: field:res.partner.address,contact_id:0 -msgid "Contact" -msgstr "Контакт" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_location -msgid "res.partner.location" -msgstr "" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_partners0 -msgid "Companies you work with." -msgstr "Фирми с които работите." - -#. module: base_contact -#: field:res.partner.contact,partner_id:0 -msgid "Main Employer" -msgstr "Основен работодател" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner Contact" -msgstr "Контакт на партньор" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_addresses0 -msgid "Addresses" -msgstr "Адреси" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_addresses0 -msgid "Working and private addresses." -msgstr "Работни и домашни адреси" - -#. module: base_contact -#: field:res.partner.contact,last_name:0 -msgid "Last Name" -msgstr "Фамилия" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,photo:0 -msgid "Photo" -msgstr "Снимка" - -#. module: base_contact -#: view:res.partner.location:0 -msgid "Locations" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "General" -msgstr "Общ" - -#. module: base_contact -#: field:res.partner.location,street:0 -msgid "Street" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner" -msgstr "Партньор" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_partners0 -msgid "Partners" -msgstr "Партньори" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_address -msgid "Partner Addresses" -msgstr "Адрес на партньора" - -#. module: base_contact -#: field:res.partner.location,street2:0 -msgid "Street2" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Personal Information" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,birthdate:0 -msgid "Birth Date" -msgstr "Дата на раждане" - -#~ msgid "# of Contacts" -#~ msgstr "# контакти" - -#~ msgid "res.partner.contact" -#~ msgstr "res.partner.contact" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "" -#~ "Името на обекта трябва да започва с \"x_\" и да не съдържа никакви специални " -#~ "символи!" - -#~ msgid "Phone" -#~ msgstr "Телефон" - -#~ msgid "Address" -#~ msgstr "Адрес" - -#~ msgid "Categories" -#~ msgstr "Категории" - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "Невалиден XML за преглед на архитектурата" - -#~ msgid "General Information" -#~ msgstr "Обща информация" - -#~ msgid "Current" -#~ msgstr "Текущ" - -#~ msgid "Other" -#~ msgstr "Друго" - -#~ msgid "Start date of job(Joining Date)" -#~ msgstr "Дата на постъпване на работа" - -#~ msgid "Fax" -#~ msgstr "Факс" - -#~ msgid "State" -#~ msgstr "Област" - -#~ msgid "Last date of job" -#~ msgstr "Последен работен ден" - -#~ msgid "Job Phone no." -#~ msgstr "Служебен тел. номер" - -#~ msgid "Job E-Mail" -#~ msgstr "Служебен имейл" - -#~ msgid "Image" -#~ msgstr "Изображение" - -#~ msgid "Communication" -#~ msgstr "Комуникация" - -#~ msgid "Past" -#~ msgstr "Предишен" - -#~ msgid "Search Contact" -#~ msgstr "Търсене на контакт" - -#~ msgid "Additional phone field" -#~ msgstr "Допълнително поле за телефон" - -#~ msgid "Configure" -#~ msgstr "Настройване" - -#~ msgid "Main Job" -#~ msgstr "Основна работа" - -#~ msgid "Date Start" -#~ msgstr "Начална дата" - -#~ msgid "" -#~ "You may enter Address first,Partner will be linked " -#~ "automatically if any." -#~ msgstr "" -#~ "Може първо да въведете адрес, ако има партньор, ще бъде добавен автоматично." - -#~ msgid "Job FAX no." -#~ msgstr "Служ. факс" - -#~ msgid "Status of Address" -#~ msgstr "Състояние на адрес" - -#~ msgid "title" -#~ msgstr "обръщение" - -#~ msgid "Select the Option for Addresses Migration" -#~ msgstr "Изберете опция за мигриране на адреси" - -#~ msgid "Migrate" -#~ msgstr "Мигриране" - -#~ msgid "Jobs at a same partner address." -#~ msgstr "Длъжности на същия партньорски адрес" - -#~ msgid "" -#~ "Order of importance of this job title in the list of job " -#~ "title of the linked partner" -#~ msgstr "" -#~ "Определение на значението на тази длъжност в списъка на длъжността на " -#~ "свързан партньор" - -#~ msgid "Date Stop" -#~ msgstr "Дата на спиране" - -#~ msgid "Internal/External extension phone number" -#~ msgstr "Вътрешни / Външни допълнителни телефонни номера" - -#~ msgid "Contact's Jobs" -#~ msgstr "Контакти на работни места" - -#~ msgid "Extension" -#~ msgstr "Разширение" - -#~ msgid "Configuration Progress" -#~ msgstr "Прогрес на настройките" - -#~ msgid "Function to address" -#~ msgstr "Длъжност за адрес" - -#~ msgid "Function of this contact with this partner" -#~ msgstr "Длъжностна контакта при този партньор" - -#~ msgid "Define functions and address." -#~ msgstr "Определяне на длъжност и адрес" - -#~ msgid "" -#~ "\n" -#~ " This module allows you to manage your contacts entirely.\n" -#~ "\n" -#~ " It lets you define\n" -#~ " *contacts unrelated to a partner,\n" -#~ " *contacts working at several addresses (possibly for different " -#~ "partners),\n" -#~ " *contacts with possibly different functions for each of its job's " -#~ "addresses\n" -#~ "\n" -#~ " It also adds new menu items located in\n" -#~ " Partners \\ Contacts\n" -#~ " Partners \\ Functions\n" -#~ "\n" -#~ " Pay attention that this module converts the existing addresses into " -#~ "\"addresses + contacts\". It means that some fields of the addresses will be " -#~ "missing (like the contact name), since these are supposed to be defined in " -#~ "an other object.\n" -#~ " " -#~ msgstr "" -#~ "\n" -#~ " Този модул ви позволява да управлявате контактите си напълно.\n" -#~ "\n" -#~ "Позволява да определит:\n" -#~ "* контактите не са свързани с партньор,\n" -#~ "* контакти, работещи в няколко адреса (вероятно за различнит партньори),\n" -#~ "* контакти с възможно различни длъности за всеки един от адресите си на " -#~ "работа\n" -#~ "\n" -#~ "Той също така добавя нови елементи от менюто, разположени в\n" -#~ "Партньори \\ Контакти\n" -#~ "Партньори \\ Длъжности\n" -#~ "\n" -#~ "Обърнете внимание, че този модул преобразува съществуващите адреси в " -#~ "\"адреси + контакти \". Това означава, че някои области от адресите ще " -#~ "липсват (като името на контакта), тъй като те се очаква да бъдат определени " -#~ "в един друг обект.\n" -#~ " " - -#~ msgid "Address which is linked to the Partner" -#~ msgstr "Адрес, свързан с партньора" - -#~ msgid "" -#~ "Due to changes in Address and Partner's relation, some of the details from " -#~ "address are needed to be migrated into contact information." -#~ msgstr "" -#~ "Поради промени във връзката Адрес и Партньори, някои от данните от адреса е " -#~ "необходими за да себъдат прехвърлени в контакт." - -#~ msgid "Partner Function" -#~ msgstr "Длъжност на партньора" - -#~ msgid "Address's Migration to Contacts" -#~ msgstr "Адрес на преселване за контакти" - -#~ msgid "Contact Functions" -#~ msgstr "Длъжност на контакта" - -#~ msgid "Do you want to migrate your Address data in Contact Data?" -#~ msgstr "Искате ли да преместите адресните данни в данни за контакт?" - -#~ msgid "Otherwise these details will not be visible from address/contact." -#~ msgstr "" -#~ "В противен случай тези данни няма да бъдат видими чрез адрес / контакт." - -#~ msgid "base.contact.installer" -#~ msgstr "base.contact.installer" - -#~ msgid "Seq." -#~ msgstr "Посл." - -#~ msgid "If you select this, all addresses will be migrated." -#~ msgstr "Ако изберете това, всички адреси ще се прехвърлят." - -#~ msgid "Defines contacts and functions." -#~ msgstr "Определяне на контакти и длъности" - -#~ msgid "Contact Partner Function" -#~ msgstr "Длъжност на контакта в партньора" - -#~ msgid "Contact to function" -#~ msgstr "Контакт за длъжност" - -#~ msgid "Function" -#~ msgstr "Длъжност" - -#~ msgid "" -#~ "Order of importance of this address in the list of " -#~ "addresses of the linked contact" -#~ msgstr "" -#~ "Определение на значението на този адрес в списъка с адреси на свързаните " -#~ "контакти" - -#~ msgid "Address Migration" -#~ msgstr "Адрес на преместване" - -#~ msgid "Open Jobs" -#~ msgstr "Отворете работни мяста" - -#~ msgid "You can migrate Partner's current addresses to the contact." -#~ msgstr "Можете да преместите адреса на партньора за контакта." - -#~ msgid "Partner Seq." -#~ msgstr "Партньор последов." - -#~ msgid "Contact Seq." -#~ msgstr "Кантакт последов." diff --git a/addons/base_contact/i18n/bs.po b/addons/base_contact/i18n/bs.po deleted file mode 100644 index f80a2941cd7..00000000000 --- a/addons/base_contact/i18n/bs.po +++ /dev/null @@ -1,266 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * base_contact -# -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 5.0.4\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2012-02-08 00:36+0000\n" -"PO-Revision-Date: 2009-02-03 17:43+0000\n" -"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-02-09 06:14+0000\n" -"X-Generator: Launchpad (build 14763)\n" - -#. module: base_contact -#: field:res.partner.location,city:0 -msgid "City" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "First/Lastname" -msgstr "" - -#. module: base_contact -#: model:ir.actions.act_window,name:base_contact.action_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_purchases_partner_contact_form -#: model:process.node,name:base_contact.process_node_contacts0 -#: field:res.partner.location,job_ids:0 -msgid "Contacts" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Professional Info" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,first_name:0 -msgid "First Name" -msgstr "" - -#. module: base_contact -#: field:res.partner.address,location_id:0 -msgid "Location" -msgstr "" - -#. module: base_contact -#: model:process.transition,name:base_contact.process_transition_partnertoaddress0 -msgid "Partner to address" -msgstr "" - -#. module: base_contact -#: help:res.partner.contact,active:0 -msgid "" -"If the active field is set to False, it will allow you to " -"hide the partner contact without removing it." -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,website:0 -msgid "Website" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,zip:0 -msgid "Zip" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,state_id:0 -msgid "Fed. State" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,company_id:0 -msgid "Company" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,title:0 -msgid "Title" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,partner_id:0 -msgid "Main Partner" -msgstr "" - -#. module: base_contact -#: model:process.process,name:base_contact.process_process_basecontactprocess0 -msgid "Base Contact" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,email:0 -msgid "E-Mail" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,active:0 -msgid "Active" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,country_id:0 -msgid "Nationality" -msgstr "" - -#. module: base_contact -#: view:res.partner:0 -#: view:res.partner.address:0 -msgid "Postal Address" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,function:0 -msgid "Main Function" -msgstr "" - -#. module: base_contact -#: model:process.transition,note:base_contact.process_transition_partnertoaddress0 -msgid "Define partners and their addresses." -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,name:0 -msgid "Name" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,lang_id:0 -msgid "Language" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,mobile:0 -msgid "Mobile" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,country_id:0 -msgid "Country" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,comment:0 -msgid "Notes" -msgstr "" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_contacts0 -msgid "People you work with." -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Extra Information" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,job_ids:0 -msgid "Functions and Addresses" -msgstr "" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_contact -#: field:res.partner.address,contact_id:0 -msgid "Contact" -msgstr "" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_location -msgid "res.partner.location" -msgstr "" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_partners0 -msgid "Companies you work with." -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,partner_id:0 -msgid "Main Employer" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner Contact" -msgstr "" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_addresses0 -msgid "Addresses" -msgstr "" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_addresses0 -msgid "Working and private addresses." -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,last_name:0 -msgid "Last Name" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,photo:0 -msgid "Photo" -msgstr "" - -#. module: base_contact -#: view:res.partner.location:0 -msgid "Locations" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "General" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,street:0 -msgid "Street" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner" -msgstr "" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_partners0 -msgid "Partners" -msgstr "" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_address -msgid "Partner Addresses" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,street2:0 -msgid "Street2" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Personal Information" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,birthdate:0 -msgid "Birth Date" -msgstr "" - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "Neodgovarajući XML za arhitekturu prikaza!" diff --git a/addons/base_contact/i18n/ca.po b/addons/base_contact/i18n/ca.po deleted file mode 100644 index de207328741..00000000000 --- a/addons/base_contact/i18n/ca.po +++ /dev/null @@ -1,528 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * base_contact -# -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 6.0dev\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2012-02-08 00:36+0000\n" -"PO-Revision-Date: 2010-08-03 00:58+0000\n" -"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-02-09 06:14+0000\n" -"X-Generator: Launchpad (build 14763)\n" - -#. module: base_contact -#: field:res.partner.location,city:0 -msgid "City" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "First/Lastname" -msgstr "" - -#. module: base_contact -#: model:ir.actions.act_window,name:base_contact.action_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_purchases_partner_contact_form -#: model:process.node,name:base_contact.process_node_contacts0 -#: field:res.partner.location,job_ids:0 -msgid "Contacts" -msgstr "Contactes" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Professional Info" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,first_name:0 -msgid "First Name" -msgstr "Primer nom" - -#. module: base_contact -#: field:res.partner.address,location_id:0 -msgid "Location" -msgstr "" - -#. module: base_contact -#: model:process.transition,name:base_contact.process_transition_partnertoaddress0 -msgid "Partner to address" -msgstr "Empresa a adreça" - -#. module: base_contact -#: help:res.partner.contact,active:0 -msgid "" -"If the active field is set to False, it will allow you to " -"hide the partner contact without removing it." -msgstr "" -"Si el camp actiu es desmarca, permet ocultar el contacte de l'empresa sense " -"eliminar-lo." - -#. module: base_contact -#: field:res.partner.contact,website:0 -msgid "Website" -msgstr "Lloc web" - -#. module: base_contact -#: field:res.partner.location,zip:0 -msgid "Zip" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,state_id:0 -msgid "Fed. State" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,company_id:0 -msgid "Company" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,title:0 -msgid "Title" -msgstr "Títol" - -#. module: base_contact -#: field:res.partner.location,partner_id:0 -msgid "Main Partner" -msgstr "" - -#. module: base_contact -#: model:process.process,name:base_contact.process_process_basecontactprocess0 -msgid "Base Contact" -msgstr "Contacte base" - -#. module: base_contact -#: field:res.partner.contact,email:0 -msgid "E-Mail" -msgstr "Email" - -#. module: base_contact -#: field:res.partner.contact,active:0 -msgid "Active" -msgstr "Actiu" - -#. module: base_contact -#: field:res.partner.contact,country_id:0 -msgid "Nationality" -msgstr "Nacionalitat" - -#. module: base_contact -#: view:res.partner:0 -#: view:res.partner.address:0 -msgid "Postal Address" -msgstr "Adreça postal" - -#. module: base_contact -#: field:res.partner.contact,function:0 -msgid "Main Function" -msgstr "Funció principal" - -#. module: base_contact -#: model:process.transition,note:base_contact.process_transition_partnertoaddress0 -msgid "Define partners and their addresses." -msgstr "Defineix empreses i les seves adreces." - -#. module: base_contact -#: field:res.partner.contact,name:0 -msgid "Name" -msgstr "Nom" - -#. module: base_contact -#: field:res.partner.contact,lang_id:0 -msgid "Language" -msgstr "Idioma" - -#. module: base_contact -#: field:res.partner.contact,mobile:0 -msgid "Mobile" -msgstr "Mòbil" - -#. module: base_contact -#: field:res.partner.location,country_id:0 -msgid "Country" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,comment:0 -msgid "Notes" -msgstr "Notes" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_contacts0 -msgid "People you work with." -msgstr "Persones amb qui treballa." - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Extra Information" -msgstr "Informació extra" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,job_ids:0 -msgid "Functions and Addresses" -msgstr "Càrrecs i adreces" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_contact -#: field:res.partner.address,contact_id:0 -msgid "Contact" -msgstr "Contacte" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_location -msgid "res.partner.location" -msgstr "" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_partners0 -msgid "Companies you work with." -msgstr "Empreses en les que treballa." - -#. module: base_contact -#: field:res.partner.contact,partner_id:0 -msgid "Main Employer" -msgstr "Empleat principal" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner Contact" -msgstr "Contacte empresa" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_addresses0 -msgid "Addresses" -msgstr "Adreces" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_addresses0 -msgid "Working and private addresses." -msgstr "Adreces de treball i privades." - -#. module: base_contact -#: field:res.partner.contact,last_name:0 -msgid "Last Name" -msgstr "Cognoms" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,photo:0 -msgid "Photo" -msgstr "Fotografia" - -#. module: base_contact -#: view:res.partner.location:0 -msgid "Locations" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "General" -msgstr "General" - -#. module: base_contact -#: field:res.partner.location,street:0 -msgid "Street" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner" -msgstr "Empresa" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_partners0 -msgid "Partners" -msgstr "Empreses" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_address -msgid "Partner Addresses" -msgstr "Adreces de l'empresa" - -#. module: base_contact -#: field:res.partner.location,street2:0 -msgid "Street2" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Personal Information" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,birthdate:0 -msgid "Birth Date" -msgstr "Data naixement" - -#~ msgid "# of Contacts" -#~ msgstr "# de contactes" - -#~ msgid "Main Job" -#~ msgstr "Treball principal" - -#~ msgid "Contact Seq." -#~ msgstr "Seq. contacte" - -#~ msgid "res.partner.contact" -#~ msgstr "res.partner.contacte" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "" -#~ "El nom de l'objecte ha de començar amb x_ i no contenir cap caràcter " -#~ "especial!" - -#~ msgid "Partner Function" -#~ msgstr "Funció a l'empresa" - -#~ msgid "Partner Seq." -#~ msgstr "Seq. empresa" - -#~ msgid "Current" -#~ msgstr "Actual" - -#~ msgid "Contact Partner Function" -#~ msgstr "Funció contacte a l'empresa" - -#~ msgid "Contact to function" -#~ msgstr "Contacte a càrrec" - -#~ msgid "Function" -#~ msgstr "Funció" - -#~ msgid "Phone" -#~ msgstr "Telèfon" - -#~ msgid "Defines contacts and functions." -#~ msgstr "Defineix contactes i càrrecs." - -#~ msgid "Contact Functions" -#~ msgstr "Funcions contacte" - -#~ msgid "" -#~ "Order of importance of this job title in the list of job title of the linked " -#~ "partner" -#~ msgstr "" -#~ "Ordre d'importància d'aquesta ocupació en la llista d'ocupacions de " -#~ "l'empresa relacionada" - -#~ msgid "Date Stop" -#~ msgstr "Data finalització" - -#~ msgid "Address" -#~ msgstr "Adreça" - -#~ msgid "Contact's Jobs" -#~ msgstr "Treballs del contacte" - -#~ msgid "" -#~ "Order of importance of this address in the list of addresses of the linked " -#~ "contact" -#~ msgstr "" -#~ "Ordre d'importància d'aquesta adreça en la llista d'adreces del contacte " -#~ "relacionat" - -#~ msgid "Categories" -#~ msgstr "Categories" - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "XML invàlid per a la definició de la vista!" - -#~ msgid "Base Contact Process" -#~ msgstr "Procés contacte base" - -#~ msgid "Seq." -#~ msgstr "Seq." - -#~ msgid "Function to address" -#~ msgstr "Càrrec a adreça" - -#~ msgid "Partner Contacts" -#~ msgstr "Contactes de l'empresa" - -#~ msgid "State" -#~ msgstr "Estat" - -#~ msgid "Past" -#~ msgstr "Anterior" - -#~ msgid "General Information" -#~ msgstr "Informació general" - -#~ msgid "Jobs at a same partner address." -#~ msgstr "Treballs en la mateixa adreça d'empresa." - -#~ msgid "Date Start" -#~ msgstr "Data inicial" - -#~ msgid "Define functions and address." -#~ msgstr "Defineix càrrecs i adreces." - -#~ msgid "Internal/External extension phone number" -#~ msgstr "Número d'extensió telefònica interior / exterior" - -#~ msgid "Extension" -#~ msgstr "Extensió" - -#~ msgid "Other" -#~ msgstr "Un altre" - -#~ msgid "Fax" -#~ msgstr "Fax" - -#~ msgid "Additional phone field" -#~ msgstr "Camp per telèfon addicional" - -#~ msgid "Invalid model name in the action definition." -#~ msgstr "Nom de model no vàlid en la definició de l'acció." - -#~ msgid "Migrate" -#~ msgstr "Migra" - -#~ msgid "Function of this contact with this partner" -#~ msgstr "Funció d'aquest contacte amb aquesta empresa." - -#~ msgid "title" -#~ msgstr "títol" - -#~ msgid "Start date of job(Joining Date)" -#~ msgstr "Data inicial del treball (data d'unió)." - -#~ msgid "Select the Option for Addresses Migration" -#~ msgstr "Seleccioneu l'opció per a la migració d'adreces" - -#~ msgid "Job Phone no." -#~ msgstr "Número de telèfon del treball." - -#~ msgid "Image" -#~ msgstr "Imatge" - -#~ msgid "Communication" -#~ msgstr "Comunicació" - -#~ msgid "" -#~ "Order of importance of this job title in the list of job " -#~ "title of the linked partner" -#~ msgstr "" -#~ "Ordre d'importància d'aquest títol de treball en la llista de títols de " -#~ "treballs de l'empresa relacionada." - -#~ msgid "Configuration Progress" -#~ msgstr "Progrés de la configuració" - -#~ msgid "Address's Migration to Contacts" -#~ msgstr "Migració d'adreces a contactes" - -#~ msgid "Search Contact" -#~ msgstr "Cerca contacte" - -#~ msgid "base.contact.installer" -#~ msgstr "base.contacte.instal·lador" - -#~ msgid "Configure" -#~ msgstr "Configura" - -#~ msgid "Open Jobs" -#~ msgstr "Treballs oberts" - -#~ msgid "You can migrate Partner's current addresses to the contact." -#~ msgstr "Podeu migrar les adreces actuals de l'empresa al contacte." - -#~ msgid "Address Migration" -#~ msgstr "Migració d'adreces" - -#~ msgid "Status of Address" -#~ msgstr "Estat de l'adreça" - -#~ msgid "" -#~ "You may enter Address first,Partner will be linked " -#~ "automatically if any." -#~ msgstr "" -#~ "Podeu introduir primer una adreça, es relacionarà automàticament amb " -#~ "l'empresa si n'hi ha." - -#~ msgid "Job FAX no." -#~ msgstr "Número del fax del treball." - -#~ msgid "Last date of job" -#~ msgstr "Data final del treball" - -#~ msgid "Job E-Mail" -#~ msgstr "Correu electrònic del treball" - -#~ msgid "" -#~ "\n" -#~ " This module allows you to manage your contacts entirely.\n" -#~ "\n" -#~ " It lets you define\n" -#~ " *contacts unrelated to a partner,\n" -#~ " *contacts working at several addresses (possibly for different " -#~ "partners),\n" -#~ " *contacts with possibly different functions for each of its job's " -#~ "addresses\n" -#~ "\n" -#~ " It also adds new menu items located in\n" -#~ " Partners \\ Contacts\n" -#~ " Partners \\ Functions\n" -#~ "\n" -#~ " Pay attention that this module converts the existing addresses into " -#~ "\"addresses + contacts\". It means that some fields of the addresses will be " -#~ "missing (like the contact name), since these are supposed to be defined in " -#~ "an other object.\n" -#~ " " -#~ msgstr "" -#~ "\n" -#~ " Aquest mòdul us permet gestionar els contactes de forma completa.\n" -#~ "\n" -#~ " Us permet definir:\n" -#~ " contactes sense cap relació amb una empresa,\n" -#~ " contactes que treballen en diverses adreces (probablement per a " -#~ "diferents empreses),\n" -#~ " contactes amb diverses funcions per a cadascuna de les seves adreces " -#~ "de treball\n" -#~ "\n" -#~ " També afegeix noves entrades de menús localitzades en:\n" -#~ " Empreses \\ Contactes\n" -#~ " Empreses \\ Funcions\n" -#~ "\n" -#~ " Aneu amb compte que aquest mòdul converteix les adreces existents en " -#~ "\"adreces + contactes\". Això significa que alguns camps de les adreces " -#~ "desapareixeran (com ara el nom del contacte), ja que se suposa que estaran " -#~ "definides en un altre objecte.\n" -#~ " " - -#~ msgid "Otherwise these details will not be visible from address/contact." -#~ msgstr "Si no aquests detalls no seran visibles des d'adreces/contactes." - -#~ msgid "Address which is linked to the Partner" -#~ msgstr "Adreça que està relacionada amb l'empresa" - -#~ msgid "" -#~ "Due to changes in Address and Partner's relation, some of the details from " -#~ "address are needed to be migrated into contact information." -#~ msgstr "" -#~ "A causa dels canvis en la relació entre Adreces i Empreses, alguns dels " -#~ "detalls de les adreces cal migrar-los a la informació de contactes." - -#~ msgid "Do you want to migrate your Address data in Contact Data?" -#~ msgstr "Voleu migrar les dades de les adreces a les dades de contacte?" - -#~ msgid "If you select this, all addresses will be migrated." -#~ msgstr "Si seleccioneu aquesta opció, totes les adreces es migraran." - -#~ msgid "" -#~ "Order of importance of this address in the list of " -#~ "addresses of the linked contact" -#~ msgstr "" -#~ "Ordre d'importància d'aquesta adreça en la llista d'adreces del contacte " -#~ "relacionat" diff --git a/addons/base_contact/i18n/cs.po b/addons/base_contact/i18n/cs.po deleted file mode 100644 index 066ff39e968..00000000000 --- a/addons/base_contact/i18n/cs.po +++ /dev/null @@ -1,501 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * base_contact -# -msgid "" -msgstr "" -"Project-Id-Version: openobject-addons\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2012-02-08 00:36+0000\n" -"PO-Revision-Date: 2011-11-25 12:34+0000\n" -"Last-Translator: Jiří Hajda <robie@centrum.cz>\n" -"Language-Team: Czech <openerp-i18n-czech@lists.launchpad.net >\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-02-09 06:14+0000\n" -"X-Generator: Launchpad (build 14763)\n" -"X-Poedit-Language: Czech\n" - -#. module: base_contact -#: field:res.partner.location,city:0 -msgid "City" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "First/Lastname" -msgstr "" - -#. module: base_contact -#: model:ir.actions.act_window,name:base_contact.action_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_purchases_partner_contact_form -#: model:process.node,name:base_contact.process_node_contacts0 -#: field:res.partner.location,job_ids:0 -msgid "Contacts" -msgstr "Kontakty" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Professional Info" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,first_name:0 -msgid "First Name" -msgstr "Křestní jméno" - -#. module: base_contact -#: field:res.partner.address,location_id:0 -msgid "Location" -msgstr "" - -#. module: base_contact -#: model:process.transition,name:base_contact.process_transition_partnertoaddress0 -msgid "Partner to address" -msgstr "Partner na adresu" - -#. module: base_contact -#: help:res.partner.contact,active:0 -msgid "" -"If the active field is set to False, it will allow you to " -"hide the partner contact without removing it." -msgstr "" -"Pokud je aktivní pole nastaveno na Nepravda, umožní vám to " -"skrýt kontakt partnera bez jeho odstranění." - -#. module: base_contact -#: field:res.partner.contact,website:0 -msgid "Website" -msgstr "Webová stránka" - -#. module: base_contact -#: field:res.partner.location,zip:0 -msgid "Zip" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,state_id:0 -msgid "Fed. State" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,company_id:0 -msgid "Company" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,title:0 -msgid "Title" -msgstr "Název" - -#. module: base_contact -#: field:res.partner.location,partner_id:0 -msgid "Main Partner" -msgstr "" - -#. module: base_contact -#: model:process.process,name:base_contact.process_process_basecontactprocess0 -msgid "Base Contact" -msgstr "Základní kontakt" - -#. module: base_contact -#: field:res.partner.contact,email:0 -msgid "E-Mail" -msgstr "E-mail" - -#. module: base_contact -#: field:res.partner.contact,active:0 -msgid "Active" -msgstr "Aktivní" - -#. module: base_contact -#: field:res.partner.contact,country_id:0 -msgid "Nationality" -msgstr "Národnost" - -#. module: base_contact -#: view:res.partner:0 -#: view:res.partner.address:0 -msgid "Postal Address" -msgstr "Poštovní adresa" - -#. module: base_contact -#: field:res.partner.contact,function:0 -msgid "Main Function" -msgstr "Hlavní funkce" - -#. module: base_contact -#: model:process.transition,note:base_contact.process_transition_partnertoaddress0 -msgid "Define partners and their addresses." -msgstr "Určuje partnery a jejich adresy." - -#. module: base_contact -#: field:res.partner.contact,name:0 -msgid "Name" -msgstr "Jméno" - -#. module: base_contact -#: field:res.partner.contact,lang_id:0 -msgid "Language" -msgstr "Jazyk" - -#. module: base_contact -#: field:res.partner.contact,mobile:0 -msgid "Mobile" -msgstr "Mobil" - -#. module: base_contact -#: field:res.partner.location,country_id:0 -msgid "Country" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,comment:0 -msgid "Notes" -msgstr "Poznámky" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_contacts0 -msgid "People you work with." -msgstr "Lidé, s kterými pracujete." - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Extra Information" -msgstr "Speciální informace" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,job_ids:0 -msgid "Functions and Addresses" -msgstr "Funkce a adresy" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_contact -#: field:res.partner.address,contact_id:0 -msgid "Contact" -msgstr "Kontakt" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_location -msgid "res.partner.location" -msgstr "" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_partners0 -msgid "Companies you work with." -msgstr "Společnosti, se kterými pracujete." - -#. module: base_contact -#: field:res.partner.contact,partner_id:0 -msgid "Main Employer" -msgstr "Hlavní zaměstnavatel" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner Contact" -msgstr "Kontakt partnera" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_addresses0 -msgid "Addresses" -msgstr "Adresy" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_addresses0 -msgid "Working and private addresses." -msgstr "Pracovní a soukromé adresy." - -#. module: base_contact -#: field:res.partner.contact,last_name:0 -msgid "Last Name" -msgstr "Příjmení" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,photo:0 -msgid "Photo" -msgstr "Fotka" - -#. module: base_contact -#: view:res.partner.location:0 -msgid "Locations" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "General" -msgstr "Obecný" - -#. module: base_contact -#: field:res.partner.location,street:0 -msgid "Street" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner" -msgstr "Partner" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_partners0 -msgid "Partners" -msgstr "Partneři" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_address -msgid "Partner Addresses" -msgstr "Adresy partnerů" - -#. module: base_contact -#: field:res.partner.location,street2:0 -msgid "Street2" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Personal Information" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,birthdate:0 -msgid "Birth Date" -msgstr "Datum narození" - -#~ msgid "Categories" -#~ msgstr "Kategorie" - -#~ msgid "Current" -#~ msgstr "Stávající" - -#~ msgid "Fax" -#~ msgstr "Fax" - -#~ msgid "Address" -#~ msgstr "Adresa" - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "Invalidní XML pro zobrazení architektury!" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "" -#~ "Jméno objektu musí začínat znakem x_ a nesmí obsahovat žádný speciální znak!" - -#~ msgid "Invalid model name in the action definition." -#~ msgstr "Špatný název modelu v definici akce" - -#~ msgid "Contact Functions" -#~ msgstr "Kontaktní funkce" - -#~ msgid "Phone" -#~ msgstr "Telefon" - -#~ msgid "Function" -#~ msgstr "Funkce" - -#~ msgid "# of Contacts" -#~ msgstr "# z kontaktů" - -#~ msgid "title" -#~ msgstr "nadpis" - -#~ msgid "Start date of job(Joining Date)" -#~ msgstr "Datum zahájení práce (datum připojení)" - -#~ msgid "Select the Option for Addresses Migration" -#~ msgstr "Vyberte volbu pro přesun adres" - -#~ msgid "Function of this contact with this partner" -#~ msgstr "Funkce tohoto kontaktu s tímto partnerem" - -#~ msgid "Status of Address" -#~ msgstr "Stav adresy" - -#~ msgid "" -#~ "You may enter Address first,Partner will be linked " -#~ "automatically if any." -#~ msgstr "" -#~ "Můžete zadat nejdříve adresu. Pokud je nějaký partner, " -#~ "bude napojen automaticky." - -#~ msgid "Job FAX no." -#~ msgstr "Číslo FAXu do práce" - -#~ msgid "Define functions and address." -#~ msgstr "Určit funkce a adresu." - -#~ msgid "Last date of job" -#~ msgstr "Poslední datum práce" - -#~ msgid "Migrate" -#~ msgstr "Přesunout" - -#~ msgid "Jobs at a same partner address." -#~ msgstr "Pracovní pozice u stejné adresy partnera." - -#~ msgid "State" -#~ msgstr "Stav" - -#~ msgid "" -#~ "\n" -#~ " This module allows you to manage your contacts entirely.\n" -#~ "\n" -#~ " It lets you define\n" -#~ " *contacts unrelated to a partner,\n" -#~ " *contacts working at several addresses (possibly for different " -#~ "partners),\n" -#~ " *contacts with possibly different functions for each of its job's " -#~ "addresses\n" -#~ "\n" -#~ " It also adds new menu items located in\n" -#~ " Partners \\ Contacts\n" -#~ " Partners \\ Functions\n" -#~ "\n" -#~ " Pay attention that this module converts the existing addresses into " -#~ "\"addresses + contacts\". It means that some fields of the addresses will be " -#~ "missing (like the contact name), since these are supposed to be defined in " -#~ "an other object.\n" -#~ " " -#~ msgstr "" -#~ "\n" -#~ " Tento modul umožňuje úplně spravovat vaše kontakty.\n" -#~ "\n" -#~ " Nechá vás určit\n" -#~ " *kontakty nevztažené k partnerovi,\n" -#~ " *kontakty pracující na několika adresách (případně i pro různé " -#~ "partnery),\n" -#~ " *kontakty s možnými různými funkcemi pro každou jeho pracovní " -#~ "adresu\n" -#~ "\n" -#~ " Také přidává nové položky nabídky umístěné v\n" -#~ " Partneři \\ Kontakty\n" -#~ " Partneři \\ Funkce\n" -#~ "\n" -#~ " Berte na vědomí, že tento modul převádí existující adresy na \"adresy + " -#~ "kontakty\". To znamená, že některé pole adres budou chybět (jako jméno " -#~ "kontaktu), protože ty jsou definovány v jiném objektu.\n" -#~ " " - -#~ msgid "Date Stop" -#~ msgstr "Datum zastavení" - -#~ msgid "Contact's Jobs" -#~ msgstr "Pozice kontaktu" - -#~ msgid "" -#~ "Order of importance of this job title in the list of job " -#~ "title of the linked partner" -#~ msgstr "" -#~ "Pořadí důležitosti této pracovní pozice v seznamu titulů " -#~ "pozic napojeného partnera" - -#~ msgid "Extension" -#~ msgstr "Rozšíření" - -#~ msgid "Internal/External extension phone number" -#~ msgstr "Vnitřní/vnější telefoní číslo klapky" - -#~ msgid "Job Phone no." -#~ msgstr "Telefoní číslo do práce." - -#~ msgid "Job E-Mail" -#~ msgstr "Pracovní E-Mail" - -#~ msgid "Partner Seq." -#~ msgstr "Poř. parnera" - -#~ msgid "Function to address" -#~ msgstr "Funkce na adresu" - -#~ msgid "Configuration Progress" -#~ msgstr "Průběh nastavení" - -#~ msgid "Communication" -#~ msgstr "Komunikace" - -#~ msgid "Image" -#~ msgstr "Obrázek" - -#~ msgid "Past" -#~ msgstr "Minulý" - -#~ msgid "Address's Migration to Contacts" -#~ msgstr "Stěhování adresy na kontakty" - -#~ msgid "Contact Seq." -#~ msgstr "Poř. kontaktu" - -#~ msgid "Search Contact" -#~ msgstr "Hledat kontakt" - -#~ msgid "" -#~ "Due to changes in Address and Partner's relation, some of the details from " -#~ "address are needed to be migrated into contact information." -#~ msgstr "" -#~ "Kvůli změnám v adrese a vztahu partnera, některé podrobnosti adresy jsou " -#~ "potřebné, aby byly přesunuty do informací účtu." - -#~ msgid "Address which is linked to the Partner" -#~ msgstr "Adresa, která je napojena na partnera" - -#~ msgid "Partner Function" -#~ msgstr "Funkce partnera" - -#~ msgid "Additional phone field" -#~ msgstr "Doplňující pole telefonu" - -#~ msgid "Otherwise these details will not be visible from address/contact." -#~ msgstr "Jinak tyto podrobnosti nebudou viditelné z adresy/kontaktu." - -#~ msgid "Configure" -#~ msgstr "Nastavit" - -#~ msgid "base.contact.installer" -#~ msgstr "base.contact.installer" - -#~ msgid "Do you want to migrate your Address data in Contact Data?" -#~ msgstr "Chcete stěhovat vaše data adresy v datech kontaktu?" - -#~ msgid "Seq." -#~ msgstr "Poř." - -#~ msgid "If you select this, all addresses will be migrated." -#~ msgstr "Pokud toto vyberete, všechny adresy budou přesunuty." - -#~ msgid "Contact Partner Function" -#~ msgstr "Kontakt funkce partnera" - -#~ msgid "Other" -#~ msgstr "Jiné" - -#~ msgid "Main Job" -#~ msgstr "Hlavní práce" - -#~ msgid "Defines contacts and functions." -#~ msgstr "Určuje kontakty a funkce." - -#~ msgid "Contact to function" -#~ msgstr "Kontakt na funkci" - -#~ msgid "Open Jobs" -#~ msgstr "Otevřené pozice" - -#~ msgid "You can migrate Partner's current addresses to the contact." -#~ msgstr "Můžete stěhovat partnerovu aktuální adresu do kontaktu." - -#~ msgid "Address Migration" -#~ msgstr "Stěhování adresy" - -#~ msgid "Date Start" -#~ msgstr "Počáteční datum" - -#~ msgid "" -#~ "Order of importance of this address in the list of " -#~ "addresses of the linked contact" -#~ msgstr "" -#~ "Pořadí podle důležitosti této adresy v seznamu adres napojeného " -#~ "kontaktu" diff --git a/addons/base_contact/i18n/da.po b/addons/base_contact/i18n/da.po deleted file mode 100644 index 35be51db1ad..00000000000 --- a/addons/base_contact/i18n/da.po +++ /dev/null @@ -1,318 +0,0 @@ -# Danish translation for openobject-addons -# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 -# This file is distributed under the same license as the openobject-addons package. -# FIRST AUTHOR <EMAIL@ADDRESS>, 2011. -# -msgid "" -msgstr "" -"Project-Id-Version: openobject-addons\n" -"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2012-02-08 00:36+0000\n" -"PO-Revision-Date: 2011-11-08 22:31+0000\n" -"Last-Translator: OpenERP Danmark / Henning Dinsen <Unknown>\n" -"Language-Team: Danish <da@li.org>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-02-09 06:14+0000\n" -"X-Generator: Launchpad (build 14763)\n" - -#. module: base_contact -#: field:res.partner.location,city:0 -msgid "City" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "First/Lastname" -msgstr "" - -#. module: base_contact -#: model:ir.actions.act_window,name:base_contact.action_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_purchases_partner_contact_form -#: model:process.node,name:base_contact.process_node_contacts0 -#: field:res.partner.location,job_ids:0 -msgid "Contacts" -msgstr "Kontakter" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Professional Info" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,first_name:0 -msgid "First Name" -msgstr "Fornavn" - -#. module: base_contact -#: field:res.partner.address,location_id:0 -msgid "Location" -msgstr "" - -#. module: base_contact -#: model:process.transition,name:base_contact.process_transition_partnertoaddress0 -msgid "Partner to address" -msgstr "" - -#. module: base_contact -#: help:res.partner.contact,active:0 -msgid "" -"If the active field is set to False, it will allow you to " -"hide the partner contact without removing it." -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,website:0 -msgid "Website" -msgstr "Hjemmeside" - -#. module: base_contact -#: field:res.partner.location,zip:0 -msgid "Zip" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,state_id:0 -msgid "Fed. State" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,company_id:0 -msgid "Company" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,title:0 -msgid "Title" -msgstr "Titel" - -#. module: base_contact -#: field:res.partner.location,partner_id:0 -msgid "Main Partner" -msgstr "" - -#. module: base_contact -#: model:process.process,name:base_contact.process_process_basecontactprocess0 -msgid "Base Contact" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,email:0 -msgid "E-Mail" -msgstr "E-mail" - -#. module: base_contact -#: field:res.partner.contact,active:0 -msgid "Active" -msgstr "Aktive" - -#. module: base_contact -#: field:res.partner.contact,country_id:0 -msgid "Nationality" -msgstr "Nationalitet" - -#. module: base_contact -#: view:res.partner:0 -#: view:res.partner.address:0 -msgid "Postal Address" -msgstr "Postadresse" - -#. module: base_contact -#: field:res.partner.contact,function:0 -msgid "Main Function" -msgstr "Primær funktion" - -#. module: base_contact -#: model:process.transition,note:base_contact.process_transition_partnertoaddress0 -msgid "Define partners and their addresses." -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,name:0 -msgid "Name" -msgstr "Navn" - -#. module: base_contact -#: field:res.partner.contact,lang_id:0 -msgid "Language" -msgstr "Sprog" - -#. module: base_contact -#: field:res.partner.contact,mobile:0 -msgid "Mobile" -msgstr "Mobil" - -#. module: base_contact -#: field:res.partner.location,country_id:0 -msgid "Country" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,comment:0 -msgid "Notes" -msgstr "Noter" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_contacts0 -msgid "People you work with." -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Extra Information" -msgstr "Ekstra information" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,job_ids:0 -msgid "Functions and Addresses" -msgstr "" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_contact -#: field:res.partner.address,contact_id:0 -msgid "Contact" -msgstr "Kontaktperson" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_location -msgid "res.partner.location" -msgstr "" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_partners0 -msgid "Companies you work with." -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,partner_id:0 -msgid "Main Employer" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner Contact" -msgstr "" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_addresses0 -msgid "Addresses" -msgstr "Adresser" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_addresses0 -msgid "Working and private addresses." -msgstr "Arbejds- og privat adresse" - -#. module: base_contact -#: field:res.partner.contact,last_name:0 -msgid "Last Name" -msgstr "Efternavn" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,photo:0 -msgid "Photo" -msgstr "Foto" - -#. module: base_contact -#: view:res.partner.location:0 -msgid "Locations" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "General" -msgstr "Generelt" - -#. module: base_contact -#: field:res.partner.location,street:0 -msgid "Street" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner" -msgstr "Partner" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_partners0 -msgid "Partners" -msgstr "Partnere" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_address -msgid "Partner Addresses" -msgstr "Partneradresser" - -#. module: base_contact -#: field:res.partner.location,street2:0 -msgid "Street2" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Personal Information" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,birthdate:0 -msgid "Birth Date" -msgstr "Fødselsdato" - -#~ msgid "Job FAX no." -#~ msgstr "Arbejds Fax nr." - -#~ msgid "title" -#~ msgstr "titel" - -#~ msgid "Fax" -#~ msgstr "Fax" - -#~ msgid "State" -#~ msgstr "Delstat" - -#~ msgid "Migrate" -#~ msgstr "Migrer" - -#~ msgid "Categories" -#~ msgstr "Kategorier" - -#~ msgid "Job Phone no." -#~ msgstr "Arbejdstlf." - -#~ msgid "Extension" -#~ msgstr "Lokalnr" - -#~ msgid "Configuration Progress" -#~ msgstr "Konfigurations fremskridt" - -#~ msgid "Image" -#~ msgstr "Billede" - -#~ msgid "Communication" -#~ msgstr "Kommunikation" - -#~ msgid "Phone" -#~ msgstr "Tlf. nr." - -#~ msgid "Configure" -#~ msgstr "Konfigurér" - -#~ msgid "Function" -#~ msgstr "Funktion" - -#~ msgid "Address" -#~ msgstr "Adresse" - -#~ msgid "Other" -#~ msgstr "Andet" - -#~ msgid "Date Start" -#~ msgstr "Startdato" - -#~ msgid "# of Contacts" -#~ msgstr "# kontakter" diff --git a/addons/base_contact/i18n/de.po b/addons/base_contact/i18n/de.po deleted file mode 100644 index 287e0825482..00000000000 --- a/addons/base_contact/i18n/de.po +++ /dev/null @@ -1,527 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * base_contact -# -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 6.0dev\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2012-02-08 00:36+0000\n" -"PO-Revision-Date: 2012-01-13 19:52+0000\n" -"Last-Translator: Ferdinand @ Camptocamp <Unknown>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-02-09 06:14+0000\n" -"X-Generator: Launchpad (build 14763)\n" - -#. module: base_contact -#: field:res.partner.location,city:0 -msgid "City" -msgstr "Ort" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "First/Lastname" -msgstr "Vor/Nachname" - -#. module: base_contact -#: model:ir.actions.act_window,name:base_contact.action_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_purchases_partner_contact_form -#: model:process.node,name:base_contact.process_node_contacts0 -#: field:res.partner.location,job_ids:0 -msgid "Contacts" -msgstr "Kontakte" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Professional Info" -msgstr "Professionelle INformation" - -#. module: base_contact -#: field:res.partner.contact,first_name:0 -msgid "First Name" -msgstr "Vorname" - -#. module: base_contact -#: field:res.partner.address,location_id:0 -msgid "Location" -msgstr "Adresse" - -#. module: base_contact -#: model:process.transition,name:base_contact.process_transition_partnertoaddress0 -msgid "Partner to address" -msgstr "Anschreiben Partner" - -#. module: base_contact -#: help:res.partner.contact,active:0 -msgid "" -"If the active field is set to False, it will allow you to " -"hide the partner contact without removing it." -msgstr "" -"Wenn dieses Feld deaktiviert wird, kann der Partnerkontakt ausgeblendet " -"werden." - -#. module: base_contact -#: field:res.partner.contact,website:0 -msgid "Website" -msgstr "Website" - -#. module: base_contact -#: field:res.partner.location,zip:0 -msgid "Zip" -msgstr "PLZ" - -#. module: base_contact -#: field:res.partner.location,state_id:0 -msgid "Fed. State" -msgstr "Bundesstaat" - -#. module: base_contact -#: field:res.partner.location,company_id:0 -msgid "Company" -msgstr "Unternehmen" - -#. module: base_contact -#: field:res.partner.contact,title:0 -msgid "Title" -msgstr "Partner Titel" - -#. module: base_contact -#: field:res.partner.location,partner_id:0 -msgid "Main Partner" -msgstr "Haupt Partner" - -#. module: base_contact -#: model:process.process,name:base_contact.process_process_basecontactprocess0 -msgid "Base Contact" -msgstr "Basis Kontakt" - -#. module: base_contact -#: field:res.partner.contact,email:0 -msgid "E-Mail" -msgstr "E-Mail" - -#. module: base_contact -#: field:res.partner.contact,active:0 -msgid "Active" -msgstr "Aktiv" - -#. module: base_contact -#: field:res.partner.contact,country_id:0 -msgid "Nationality" -msgstr "Nationalität" - -#. module: base_contact -#: view:res.partner:0 -#: view:res.partner.address:0 -msgid "Postal Address" -msgstr "Postal. Anschrift" - -#. module: base_contact -#: field:res.partner.contact,function:0 -msgid "Main Function" -msgstr "Haupt Funktion" - -#. module: base_contact -#: model:process.transition,note:base_contact.process_transition_partnertoaddress0 -msgid "Define partners and their addresses." -msgstr "definiere Partner und Anschrift" - -#. module: base_contact -#: field:res.partner.contact,name:0 -msgid "Name" -msgstr "Bezeichnung" - -#. module: base_contact -#: field:res.partner.contact,lang_id:0 -msgid "Language" -msgstr "Sprache" - -#. module: base_contact -#: field:res.partner.contact,mobile:0 -msgid "Mobile" -msgstr "Mobil" - -#. module: base_contact -#: field:res.partner.location,country_id:0 -msgid "Country" -msgstr "Staat" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,comment:0 -msgid "Notes" -msgstr "Bemerkungen" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_contacts0 -msgid "People you work with." -msgstr "Personen Team" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Extra Information" -msgstr "Extra Information" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,job_ids:0 -msgid "Functions and Addresses" -msgstr "Aufgabenbereiche und Adressen" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_contact -#: field:res.partner.address,contact_id:0 -msgid "Contact" -msgstr "Kontakt" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_location -msgid "res.partner.location" -msgstr "res.partner.location" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_partners0 -msgid "Companies you work with." -msgstr "Kooperationspartner" - -#. module: base_contact -#: field:res.partner.contact,partner_id:0 -msgid "Main Employer" -msgstr "Arbeitgeber" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner Contact" -msgstr "Kontakt bei Partner" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_addresses0 -msgid "Addresses" -msgstr "Partner Anschriften" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_addresses0 -msgid "Working and private addresses." -msgstr "Arbeitgeber- und Privatadresse" - -#. module: base_contact -#: field:res.partner.contact,last_name:0 -msgid "Last Name" -msgstr "Nachname" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,photo:0 -msgid "Photo" -msgstr "Photo" - -#. module: base_contact -#: view:res.partner.location:0 -msgid "Locations" -msgstr "Standorte" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "General" -msgstr "Allgemein" - -#. module: base_contact -#: field:res.partner.location,street:0 -msgid "Street" -msgstr "Straße" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner" -msgstr "Partner" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_partners0 -msgid "Partners" -msgstr "Partner" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_address -msgid "Partner Addresses" -msgstr "Partner Adressen" - -#. module: base_contact -#: field:res.partner.location,street2:0 -msgid "Street2" -msgstr "Straße 2" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Personal Information" -msgstr "Persönliche Information" - -#. module: base_contact -#: field:res.partner.contact,birthdate:0 -msgid "Birth Date" -msgstr "Geburtsdatum" - -#~ msgid "Partner Seq." -#~ msgstr "Partner Seq." - -#~ msgid "Contact Seq." -#~ msgstr "Kontakt Seq." - -#~ msgid "res.partner.contact" -#~ msgstr "res.partner.contact" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "" -#~ "Der Objekt Name muss mit einem x_ starten und darf keine Sonderzeichen " -#~ "beinhalten" - -#~ msgid "Current" -#~ msgstr "Aktuell" - -#~ msgid "Contact to function" -#~ msgstr "Kontaktdaten" - -#~ msgid "Phone" -#~ msgstr "Tel" - -#~ msgid "Defines contacts and functions." -#~ msgstr "Definieren Kontakte und Funktionen" - -#~ msgid "" -#~ "Order of importance of this job title in the list of job title of the linked " -#~ "partner" -#~ msgstr "Wichtigkeit der Anschriften in der Adressliste des Partners" - -#~ msgid "Address" -#~ msgstr "Adresse" - -#~ msgid "" -#~ "Order of importance of this address in the list of addresses of the linked " -#~ "contact" -#~ msgstr "Wichtigkeit der Anschriften in der Adressliste des Kontakts" - -#~ msgid "Categories" -#~ msgstr "Kategorien" - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "Fehlerhafter xml Code für diese Ansicht!" - -#~ msgid "Base Contact Process" -#~ msgstr "Basis Kontakt Prozess" - -#~ msgid "Seq." -#~ msgstr "Seq." - -#~ msgid "Function to address" -#~ msgstr "Zu kontaktieren" - -#~ msgid "Partner Contacts" -#~ msgstr "Ansprechpartner" - -#~ msgid "State" -#~ msgstr "Status" - -#~ msgid "Past" -#~ msgstr "Vergangenheit" - -#~ msgid "General Information" -#~ msgstr "Grundinformation" - -#~ msgid "Date Start" -#~ msgstr "gültig von" - -#~ msgid "Define functions and address." -#~ msgstr "Definiere Funktion und Adresse" - -#~ msgid "Internal/External extension phone number" -#~ msgstr "interne/externe Durchwahl" - -#~ msgid "Extension" -#~ msgstr "Durchwahl" - -#~ msgid "Other" -#~ msgstr "Anderes" - -#~ msgid "Fax" -#~ msgstr "Fax" - -#~ msgid "# of Contacts" -#~ msgstr "# Kontakte" - -#~ msgid "Main Job" -#~ msgstr "Haupt-Beruf" - -#~ msgid "Invalid model name in the action definition." -#~ msgstr "Ungültiger Modulname in der Aktionsdefinition." - -#~ msgid "Start date of job(Joining Date)" -#~ msgstr "Beschäftigt seit" - -#~ msgid "Status of Address" -#~ msgstr "Status der Adresse" - -#~ msgid "Job FAX no." -#~ msgstr "Arbeit Fax" - -#~ msgid "Last date of job" -#~ msgstr "Beschäftigt Bis" - -#~ msgid "Migrate" -#~ msgstr "Migration" - -#~ msgid "Jobs at a same partner address." -#~ msgstr "Beschäftigt an derselben Adresse" - -#~ msgid "Date Stop" -#~ msgstr "Beschäftigt Bis" - -#~ msgid "Job Phone no." -#~ msgstr "Arbeit Tel. Nr." - -#~ msgid "Job E-Mail" -#~ msgstr "Arbeit E-Mail" - -#~ msgid "Communication" -#~ msgstr "Kommunikation" - -#~ msgid "Image" -#~ msgstr "Bild" - -#~ msgid "Search Contact" -#~ msgstr "Suche Ansprechpartner" - -#~ msgid "" -#~ "Due to changes in Address and Partner's relation, some of the details from " -#~ "address are needed to be migrated into contact information." -#~ msgstr "" -#~ "Aufgrund technischer Änderungen bei der Datenbeziehung von Adresse zu " -#~ "Partner, müssen einige Details der Adressdaten zu den Kontaktdaten migriert " -#~ "werden." - -#~ msgid "Address which is linked to the Partner" -#~ msgstr "Adresse beim Partner" - -#~ msgid "Additional phone field" -#~ msgstr "Zusätzliche Telefon Nr." - -#~ msgid "Otherwise these details will not be visible from address/contact." -#~ msgstr "" -#~ "Ansonsten sind diese Detaildaten nicht über die Kontakte und Adressen " -#~ "ersichtlich." - -#~ msgid "Configuration Progress" -#~ msgstr "Fortschritt Konfiguration" - -#~ msgid "Do you want to migrate your Address data in Contact Data?" -#~ msgstr "Möchten Sie die Adressdaten zum Kontakt übernehmen?" - -#~ msgid "If you select this, all addresses will be migrated." -#~ msgstr "Wenn Sie diese Option wählen, werden alle Adressen migriert." - -#~ msgid "Contact Partner Function" -#~ msgstr "Kontakt Partner Aufgabenbereich" - -#~ msgid "Function" -#~ msgstr "Aufgabenbereich" - -#~ msgid "Open Jobs" -#~ msgstr "Offene Stellen" - -#~ msgid "Address Migration" -#~ msgstr "Adresse Migration" - -#~ msgid "" -#~ "Order of importance of this address in the list of " -#~ "addresses of the linked contact" -#~ msgstr "Wichtigkeit der Anschriften in der Adressliste des Kontakts" - -#~ msgid "Function of this contact with this partner" -#~ msgstr "Funktion des Ansprechpartners beim Partner" - -#~ msgid "" -#~ "You may enter Address first,Partner will be linked " -#~ "automatically if any." -#~ msgstr "" -#~ "Sie könnten zuerst die Adresse eingeben, der Partner wird dann automatisch " -#~ "verlinkt, wenn er existiert." - -#~ msgid "Partner Function" -#~ msgstr "Funktion bei Partner" - -#~ msgid "Contact's Jobs" -#~ msgstr "Funktion des Ansprechpartners" - -#~ msgid "" -#~ "Order of importance of this job title in the list of job " -#~ "title of the linked partner" -#~ msgstr "" -#~ "Priorität bei der Anzeige der Funktion der Kontaktperson beim Partner" - -#~ msgid "Contact Functions" -#~ msgstr "Funktion des Kontakts" - -#~ msgid "Configure" -#~ msgstr "Konfigurieren" - -#~ msgid "" -#~ "\n" -#~ " This module allows you to manage your contacts entirely.\n" -#~ "\n" -#~ " It lets you define\n" -#~ " *contacts unrelated to a partner,\n" -#~ " *contacts working at several addresses (possibly for different " -#~ "partners),\n" -#~ " *contacts with possibly different functions for each of its job's " -#~ "addresses\n" -#~ "\n" -#~ " It also adds new menu items located in\n" -#~ " Partners \\ Contacts\n" -#~ " Partners \\ Functions\n" -#~ "\n" -#~ " Pay attention that this module converts the existing addresses into " -#~ "\"addresses + contacts\". It means that some fields of the addresses will be " -#~ "missing (like the contact name), since these are supposed to be defined in " -#~ "an other object.\n" -#~ " " -#~ msgstr "" -#~ "\n" -#~ " Dieses Modul erlaubt Ihnen ein ganzheitliches und zentrales Kontakt- " -#~ "und Adressdatenmanagement.\n" -#~ "\n" -#~ " Sie können folgende Kontaktdaten definieren:\n" -#~ " * Kontakte ohne besonderen Bezug einem Partner,\n" -#~ " * Kontakte mit verschiedenen Adressen (möglicherweise bei " -#~ "verschiedenen Partnern),\n" -#~ " * Kontakte mit möglicherweise unterschiedlichen Funktionen (bei " -#~ "unterschiedlichen Adressen)\n" -#~ "\n" -#~ " Weiterhin werden auch neue Menüpunkte durch das Modul generiert, und " -#~ "zwar\n" -#~ " Partnerverzeichnis \\ Kontakte\n" -#~ " Partnerverzeichnis \\ Partner Kontaktanrede\n" -#~ "\n" -#~ " Beachten Sie, dass dieses Modul bereits vorhandene Adressen umwandelt " -#~ "in \"Adressen + Kontakte\". Dieses bedeutet, \n" -#~ " dass einige Felder bei der Adresse fehlen werden (wie z.B. der Namen " -#~ "des Kontaktpartners), da diese durch den Einsatz\n" -#~ " dieses Moduls in einem anderen Objekt zu definieren werden müssen.\n" -#~ " " - -#~ msgid "Select the Option for Addresses Migration" -#~ msgstr "Wählen Sie eine Option für die Adressenübernahme" - -#~ msgid "Address's Migration to Contacts" -#~ msgstr "Migration Adressverzeichnis zu Kontaktdaten" - -#~ msgid "You can migrate Partner's current addresses to the contact." -#~ msgstr "Sie können die aktuelle Partneradresse für den Kontakt übernehmen" - -#~ msgid "title" -#~ msgstr "Titel" - -#~ msgid "base.contact.installer" -#~ msgstr "base.contact.installer" diff --git a/addons/base_contact/i18n/el.po b/addons/base_contact/i18n/el.po deleted file mode 100644 index 725357efd37..00000000000 --- a/addons/base_contact/i18n/el.po +++ /dev/null @@ -1,486 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * base_contact -# -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 6.0dev\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2012-02-08 00:36+0000\n" -"PO-Revision-Date: 2010-12-29 09:18+0000\n" -"Last-Translator: Dimitris Andavoglou <dimitrisand@gmail.com>\n" -"Language-Team: nls@hellug.gr <nls@hellug.gr>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-02-09 06:14+0000\n" -"X-Generator: Launchpad (build 14763)\n" -"X-Poedit-Country: GREECE\n" -"X-Poedit-Language: Greek\n" -"X-Poedit-SourceCharset: utf-8\n" - -#. module: base_contact -#: field:res.partner.location,city:0 -msgid "City" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "First/Lastname" -msgstr "" - -#. module: base_contact -#: model:ir.actions.act_window,name:base_contact.action_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_purchases_partner_contact_form -#: model:process.node,name:base_contact.process_node_contacts0 -#: field:res.partner.location,job_ids:0 -msgid "Contacts" -msgstr "Επαφές" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Professional Info" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,first_name:0 -msgid "First Name" -msgstr "Όνομα" - -#. module: base_contact -#: field:res.partner.address,location_id:0 -msgid "Location" -msgstr "" - -#. module: base_contact -#: model:process.transition,name:base_contact.process_transition_partnertoaddress0 -msgid "Partner to address" -msgstr "Συνεργάτης Διεύθυνσης" - -#. module: base_contact -#: help:res.partner.contact,active:0 -msgid "" -"If the active field is set to False, it will allow you to " -"hide the partner contact without removing it." -msgstr "" -"Εάν το ενεργό πεδίο είναι Λάθος(False), σας επιτρέπει να αποκρύψετε την " -"επαφή συναργάτη χωρίς να την διαγράψετε." - -#. module: base_contact -#: field:res.partner.contact,website:0 -msgid "Website" -msgstr "Ιστοσελίδα" - -#. module: base_contact -#: field:res.partner.location,zip:0 -msgid "Zip" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,state_id:0 -msgid "Fed. State" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,company_id:0 -msgid "Company" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,title:0 -msgid "Title" -msgstr "Προσφώνηση" - -#. module: base_contact -#: field:res.partner.location,partner_id:0 -msgid "Main Partner" -msgstr "" - -#. module: base_contact -#: model:process.process,name:base_contact.process_process_basecontactprocess0 -msgid "Base Contact" -msgstr "Κύρια Επαφή" - -#. module: base_contact -#: field:res.partner.contact,email:0 -msgid "E-Mail" -msgstr "E-Mail" - -#. module: base_contact -#: field:res.partner.contact,active:0 -msgid "Active" -msgstr "Ενεργή" - -#. module: base_contact -#: field:res.partner.contact,country_id:0 -msgid "Nationality" -msgstr "Εθνικότητα" - -#. module: base_contact -#: view:res.partner:0 -#: view:res.partner.address:0 -msgid "Postal Address" -msgstr "Διεύθυνση Αποστολής" - -#. module: base_contact -#: field:res.partner.contact,function:0 -msgid "Main Function" -msgstr "Κύρια Λειτουργία" - -#. module: base_contact -#: model:process.transition,note:base_contact.process_transition_partnertoaddress0 -msgid "Define partners and their addresses." -msgstr "Ορσμός συνεργατών και των διευθύνσεών τους." - -#. module: base_contact -#: field:res.partner.contact,name:0 -msgid "Name" -msgstr "Όνομα" - -#. module: base_contact -#: field:res.partner.contact,lang_id:0 -msgid "Language" -msgstr "Γλώσσα" - -#. module: base_contact -#: field:res.partner.contact,mobile:0 -msgid "Mobile" -msgstr "Κινητό" - -#. module: base_contact -#: field:res.partner.location,country_id:0 -msgid "Country" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,comment:0 -msgid "Notes" -msgstr "Σημειώσεις" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_contacts0 -msgid "People you work with." -msgstr "Άνθρωποι που συνεργάζεστε." - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Extra Information" -msgstr "Πρόσθετες Πληροφορίες" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,job_ids:0 -msgid "Functions and Addresses" -msgstr "Θέσεις και Διευθύνσεις" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_contact -#: field:res.partner.address,contact_id:0 -msgid "Contact" -msgstr "Επαφή" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_location -msgid "res.partner.location" -msgstr "" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_partners0 -msgid "Companies you work with." -msgstr "Εταιρείες που συνεργάζεστε." - -#. module: base_contact -#: field:res.partner.contact,partner_id:0 -msgid "Main Employer" -msgstr "Κύριος Εργοδότης" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner Contact" -msgstr "Επαφή Συνεργάτη" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_addresses0 -msgid "Addresses" -msgstr "Διευθύνσεις" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_addresses0 -msgid "Working and private addresses." -msgstr "Διευθύνσεις εργασίας και προσωπικές" - -#. module: base_contact -#: field:res.partner.contact,last_name:0 -msgid "Last Name" -msgstr "Επώνυμο" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,photo:0 -msgid "Photo" -msgstr "Φωτογραφία" - -#. module: base_contact -#: view:res.partner.location:0 -msgid "Locations" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "General" -msgstr "Γενικά" - -#. module: base_contact -#: field:res.partner.location,street:0 -msgid "Street" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner" -msgstr "Συνεργάτης" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_partners0 -msgid "Partners" -msgstr "Συνεργάτες" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_address -msgid "Partner Addresses" -msgstr "Διευθύνσεις Συνεργάτη" - -#. module: base_contact -#: field:res.partner.location,street2:0 -msgid "Street2" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Personal Information" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,birthdate:0 -msgid "Birth Date" -msgstr "Ημερ/νία Γέννησης" - -#~ msgid "Contact Seq." -#~ msgstr "Ιεράρχ. Επαφής" - -#~ msgid "res.partner.contact" -#~ msgstr "res.partner.contact" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "" -#~ "Το όνομα πρέπει να ξεκινάει με x_ και να μην περιέχει ειδικούς χαρακτήρες!" - -#~ msgid "Partner Seq." -#~ msgstr "Ιεράρχ. Συνεργάτη" - -#~ msgid "Current" -#~ msgstr "Τρέχουσα" - -#~ msgid "Contact Partner Function" -#~ msgstr "Θέση Επαφής στο Συνεργάτη" - -#~ msgid "Contact to function" -#~ msgstr "Επαφή θέσης" - -#~ msgid "Partner Function" -#~ msgstr "Θέση στο Συνεργάτη" - -#~ msgid "# of Contacts" -#~ msgstr "# Επαφών" - -#~ msgid "Function" -#~ msgstr "Λειτουργία" - -#~ msgid "Main Job" -#~ msgstr "Κύρια Εργασία" - -#~ msgid "Phone" -#~ msgstr "Τηλέφωνο" - -#~ msgid "Defines contacts and functions." -#~ msgstr "Ορίζει τις επαφές και τις θέσεις τους." - -#~ msgid "Contact Functions" -#~ msgstr "Θέσεις Επαφής" - -#~ msgid "" -#~ "Order of importance of this job title in the list of job title of the linked " -#~ "partner" -#~ msgstr "Σπουδαιότητα της θέσης στην κατάσταση θέσεων εργασίας του συνεργάτη" - -#~ msgid "Date Stop" -#~ msgstr "Ημερ/νία Αποχώρησης" - -#~ msgid "Address" -#~ msgstr "Διεύθυνση" - -#~ msgid "Contact's Jobs" -#~ msgstr "Θέσεις Εργασίας Επαφών" - -#~ msgid "" -#~ "Order of importance of this address in the list of addresses of the linked " -#~ "contact" -#~ msgstr "Σπουδαιότητα της διεύθυνσηςστην κατάσταση διευθύνσεων του συνεργάτη" - -#~ msgid "Categories" -#~ msgstr "Κατηγορίες" - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "Άκυρο XML για Αρχιτεκτονική Όψης!" - -#~ msgid "Base Contact Process" -#~ msgstr "Διαδικασία Κύριας Επαφής" - -#~ msgid "Seq." -#~ msgstr "Ιεράρχ." - -#~ msgid "Function to address" -#~ msgstr "Θέση Διεύθυνσης" - -#~ msgid "Partner Contacts" -#~ msgstr "Επαφές Συνεργάτη" - -#~ msgid "State" -#~ msgstr "Κατάσταση" - -#~ msgid "Past" -#~ msgstr "Παρελθούσα" - -#~ msgid "General Information" -#~ msgstr "Γενικές Πληροφορίες" - -#~ msgid "Jobs at a same partner address." -#~ msgstr "Θέσεις εργασίας στην ίδια Διεύθυνση συνεργάτη" - -#~ msgid "Date Start" -#~ msgstr "Ημερ/νία Εκκίνησης" - -#~ msgid "Define functions and address." -#~ msgstr "Ορισμός θέσεων και διεύθυνση" - -#~ msgid "Invalid model name in the action definition." -#~ msgstr "Λανθασμένο όνομα μοντέλου στον ορισμό ενέργειας" - -#~ msgid "Internal/External extension phone number" -#~ msgstr "Εσωτερικό/Εξωτερικό νούμερο τηλεφώνου" - -#~ msgid "Extension" -#~ msgstr "Επέκταση" - -#~ msgid "Other" -#~ msgstr "Άλλο" - -#~ msgid "Fax" -#~ msgstr "Φαξ" - -#~ msgid "Additional phone field" -#~ msgstr "Επιπρόσθετο πεδίο τηλεφώνου" - -#~ msgid "" -#~ "You may enter Address first,Partner will be linked " -#~ "automatically if any." -#~ msgstr "" -#~ "Μπορείες να εισάγεις πρώτα την διεύθυνση, ο Συνεργάτης θα συνδεθεί αυτόματα " -#~ "εάν υπάρχει." - -#~ msgid "Job FAX no." -#~ msgstr "αρ ΦΑΞ εργασίας" - -#~ msgid "Status of Address" -#~ msgstr "Κατάσταση της διεύθυνσης" - -#~ msgid "title" -#~ msgstr "τίτλος" - -#~ msgid "Start date of job(Joining Date)" -#~ msgstr "Ημερομηνία έναρξης εργασίας" - -#~ msgid "Otherwise these details will not be visible from address/contact." -#~ msgstr "Αλλιώς οι λεπτομέρεις δεν θα είναι ορατές από διεύθυνση/επαφή" - -#~ msgid "Address which is linked to the Partner" -#~ msgstr "Διεύθυνση που είναι συνδεδεμένη με τον Συνεργάτη" - -#~ msgid "Job E-Mail" -#~ msgstr "E-mail εργασίας" - -#~ msgid "Job Phone no." -#~ msgstr "αρ. Τηλεφώνου εργασίας" - -#~ msgid "Search Contact" -#~ msgstr "Αναζήτηση Επαφής" - -#~ msgid "Image" -#~ msgstr "Εικόνα" - -#~ msgid "Communication" -#~ msgstr "Επικοινωνία" - -#~ msgid "Address Migration" -#~ msgstr "Μεταφορά Διεύθυνσης" - -#~ msgid "Do you want to migrate your Address data in Contact Data?" -#~ msgstr "Θέλεις να μεταφέρεις τα δεδομένα Διεύθυνσης στα δεδομένα Επαφής" - -#~ msgid "If you select this, all addresses will be migrated." -#~ msgstr "Αν επιλέξεις αυτό, όλες οι διευθύνσεις θα μεταφερθούν" - -#~ msgid "Configuration Progress" -#~ msgstr "Πρόοδος Ριθμίσεων" - -#~ msgid "Migrate" -#~ msgstr "Μετάπτωση" - -#~ msgid "Function of this contact with this partner" -#~ msgstr "Σχέση της επαφής με τον συνεργάτη" - -#~ msgid "" -#~ "Due to changes in Address and Partner's relation, some of the details from " -#~ "address are needed to be migrated into contact information." -#~ msgstr "" -#~ "Λόγω αλλαγών στην Διεύθυνση και στη σχέση με τον Συνεργάτη, κάποιες " -#~ "λεπτομέρειες χρειάζονται να μεταφερθούν στις πληροφορίες της επαφής." - -#~ msgid "base.contact.installer" -#~ msgstr "base.contact.installer" - -#~ msgid "Last date of job" -#~ msgstr "Τελευταία ημερομηνία στη δουλειά" - -#~ msgid "Open Jobs" -#~ msgstr "Ανοιχτές Εργασίες" - -#~ msgid "" -#~ "Order of importance of this address in the list of " -#~ "addresses of the linked contact" -#~ msgstr "" -#~ "Ταξινόμηση σπουδαιότητας αυτής της διεύθυνσης στην λίστα διευθύνσεων της " -#~ "συνδεδεμένης επαφής" - -#~ msgid "Configure" -#~ msgstr "Παραμετροποίηση" - -#~ msgid "Select the Option for Addresses Migration" -#~ msgstr "Επιλέξτε αυτήν την Επιλογή για Μετάπτωση Διευθύνσεων" - -#~ msgid "You can migrate Partner's current addresses to the contact." -#~ msgstr "" -#~ "Μπορείτε να μεταπτώσετε τις τρέχουσες διεύθυνσεις του Συνεργάτη στην επαφή." - -#~ msgid "Address's Migration to Contacts" -#~ msgstr "Μετάπτωση Διευθύνσεων σε Επαφές" - -#~ msgid "" -#~ "Order of importance of this job title in the list of job " -#~ "title of the linked partner" -#~ msgstr "" -#~ "Σειρά σπουδαιότητας αυτού του τίτλου εργασίας στην λίστα τιτλων εργασιω΄ν " -#~ "του συνδεδεμένου συνεργάτη" diff --git a/addons/base_contact/i18n/es.po b/addons/base_contact/i18n/es.po deleted file mode 100644 index 71f6c608d25..00000000000 --- a/addons/base_contact/i18n/es.po +++ /dev/null @@ -1,529 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * base_contact -# -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 6.0dev\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2012-02-08 00:36+0000\n" -"PO-Revision-Date: 2012-02-10 17:25+0000\n" -"Last-Translator: Carlos @ smile-iberia <Unknown>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-02-11 05:07+0000\n" -"X-Generator: Launchpad (build 14771)\n" - -#. module: base_contact -#: field:res.partner.location,city:0 -msgid "City" -msgstr "Ciudad" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "First/Lastname" -msgstr "Nombre / Apellido" - -#. module: base_contact -#: model:ir.actions.act_window,name:base_contact.action_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_purchases_partner_contact_form -#: model:process.node,name:base_contact.process_node_contacts0 -#: field:res.partner.location,job_ids:0 -msgid "Contacts" -msgstr "Contactos" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Professional Info" -msgstr "Información profesional" - -#. module: base_contact -#: field:res.partner.contact,first_name:0 -msgid "First Name" -msgstr "Nombre" - -#. module: base_contact -#: field:res.partner.address,location_id:0 -msgid "Location" -msgstr "" - -#. module: base_contact -#: model:process.transition,name:base_contact.process_transition_partnertoaddress0 -msgid "Partner to address" -msgstr "Empresa a dirección" - -#. module: base_contact -#: help:res.partner.contact,active:0 -msgid "" -"If the active field is set to False, it will allow you to " -"hide the partner contact without removing it." -msgstr "" -"Si el campo activo se desmarca, permite ocultar el contacto de la empresa " -"sin eliminarlo." - -#. module: base_contact -#: field:res.partner.contact,website:0 -msgid "Website" -msgstr "Sitio web" - -#. module: base_contact -#: field:res.partner.location,zip:0 -msgid "Zip" -msgstr "Código postal" - -#. module: base_contact -#: field:res.partner.location,state_id:0 -msgid "Fed. State" -msgstr "Provincia" - -#. module: base_contact -#: field:res.partner.location,company_id:0 -msgid "Company" -msgstr "Compañía" - -#. module: base_contact -#: field:res.partner.contact,title:0 -msgid "Title" -msgstr "Título" - -#. module: base_contact -#: field:res.partner.location,partner_id:0 -msgid "Main Partner" -msgstr "" - -#. module: base_contact -#: model:process.process,name:base_contact.process_process_basecontactprocess0 -msgid "Base Contact" -msgstr "Contacto base" - -#. module: base_contact -#: field:res.partner.contact,email:0 -msgid "E-Mail" -msgstr "Correo electrónico" - -#. module: base_contact -#: field:res.partner.contact,active:0 -msgid "Active" -msgstr "Activo" - -#. module: base_contact -#: field:res.partner.contact,country_id:0 -msgid "Nationality" -msgstr "Nacionalidad" - -#. module: base_contact -#: view:res.partner:0 -#: view:res.partner.address:0 -msgid "Postal Address" -msgstr "Dirección postal" - -#. module: base_contact -#: field:res.partner.contact,function:0 -msgid "Main Function" -msgstr "Función principal" - -#. module: base_contact -#: model:process.transition,note:base_contact.process_transition_partnertoaddress0 -msgid "Define partners and their addresses." -msgstr "Definir empresas y sus direcciones." - -#. module: base_contact -#: field:res.partner.contact,name:0 -msgid "Name" -msgstr "Nombre" - -#. module: base_contact -#: field:res.partner.contact,lang_id:0 -msgid "Language" -msgstr "Idioma" - -#. module: base_contact -#: field:res.partner.contact,mobile:0 -msgid "Mobile" -msgstr "Móvil" - -#. module: base_contact -#: field:res.partner.location,country_id:0 -msgid "Country" -msgstr "País" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,comment:0 -msgid "Notes" -msgstr "Notas" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_contacts0 -msgid "People you work with." -msgstr "Gente con la que trabaja." - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Extra Information" -msgstr "Información extra" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,job_ids:0 -msgid "Functions and Addresses" -msgstr "Cargos y direcciones" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_contact -#: field:res.partner.address,contact_id:0 -msgid "Contact" -msgstr "Contacto" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_location -msgid "res.partner.location" -msgstr "" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_partners0 -msgid "Companies you work with." -msgstr "Empresas en las que trabaja." - -#. module: base_contact -#: field:res.partner.contact,partner_id:0 -msgid "Main Employer" -msgstr "Empleado principal" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner Contact" -msgstr "Contacto empresa" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_addresses0 -msgid "Addresses" -msgstr "Direcciones" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_addresses0 -msgid "Working and private addresses." -msgstr "Direcciones de trabajo y privadas." - -#. module: base_contact -#: field:res.partner.contact,last_name:0 -msgid "Last Name" -msgstr "Apellido" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,photo:0 -msgid "Photo" -msgstr "Foto" - -#. module: base_contact -#: view:res.partner.location:0 -msgid "Locations" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "General" -msgstr "General" - -#. module: base_contact -#: field:res.partner.location,street:0 -msgid "Street" -msgstr "Calle" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner" -msgstr "Empresa" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_partners0 -msgid "Partners" -msgstr "Empresas" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_address -msgid "Partner Addresses" -msgstr "Direcciones de empresa" - -#. module: base_contact -#: field:res.partner.location,street2:0 -msgid "Street2" -msgstr "Calle2" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Personal Information" -msgstr "Información Personal" - -#. module: base_contact -#: field:res.partner.contact,birthdate:0 -msgid "Birth Date" -msgstr "Fecha nacimiento" - -#~ msgid "Main Job" -#~ msgstr "Trabajo principal" - -#~ msgid "Contact Seq." -#~ msgstr "Sec. contacto" - -#~ msgid "res.partner.contact" -#~ msgstr "res.partner.contact" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "" -#~ "¡El nombre del objeto debe empezar con x_ y no contener ningún carácter " -#~ "especial!" - -#~ msgid "Partner Function" -#~ msgstr "Función en empresa" - -#~ msgid "Partner Seq." -#~ msgstr "Sec. empresa" - -#~ msgid "Current" -#~ msgstr "Actual" - -#~ msgid "Contact Partner Function" -#~ msgstr "Función contacto en empresa" - -#~ msgid "Contact to function" -#~ msgstr "Contacto a cargo" - -#~ msgid "Function" -#~ msgstr "Cargo" - -#~ msgid "Phone" -#~ msgstr "Teléfono" - -#~ msgid "Defines contacts and functions." -#~ msgstr "Define contactos y cargos." - -#~ msgid "Contact Functions" -#~ msgstr "Funciones contacto" - -#~ msgid "" -#~ "Order of importance of this job title in the list of job title of the linked " -#~ "partner" -#~ msgstr "" -#~ "Orden de importancia de este empleo en la lista de empleos de la empresa " -#~ "relacionada" - -#~ msgid "Date Stop" -#~ msgstr "Fecha finalización" - -#~ msgid "Address" -#~ msgstr "Dirección" - -#~ msgid "Contact's Jobs" -#~ msgstr "Trabajos del contacto" - -#~ msgid "" -#~ "Order of importance of this address in the list of addresses of the linked " -#~ "contact" -#~ msgstr "" -#~ "Orden de importancia de esta dirección en la lista de direcciones del " -#~ "contacto relacionado" - -#~ msgid "Categories" -#~ msgstr "Categorías" - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "¡XML inválido para la definición de la vista!" - -#~ msgid "Base Contact Process" -#~ msgstr "Proceso contacto base" - -#~ msgid "Seq." -#~ msgstr "Sec." - -#~ msgid "Function to address" -#~ msgstr "Cargo a dirección" - -#~ msgid "Partner Contacts" -#~ msgstr "Contactos de la empresa" - -#~ msgid "State" -#~ msgstr "Estado" - -#~ msgid "Past" -#~ msgstr "Anterior" - -#~ msgid "General Information" -#~ msgstr "Información general" - -#~ msgid "Jobs at a same partner address." -#~ msgstr "Trabajos en la misma dirección de empresa." - -#~ msgid "Define functions and address." -#~ msgstr "Definir cargos y direcciones." - -#~ msgid "Extension" -#~ msgstr "Extensión" - -#~ msgid "Other" -#~ msgstr "Otro" - -#~ msgid "Fax" -#~ msgstr "Fax" - -#~ msgid "Additional phone field" -#~ msgstr "Campo para teléfono adicional" - -#~ msgid "Invalid model name in the action definition." -#~ msgstr "Nombre de modelo no válido en la definición de acción." - -#~ msgid "# of Contacts" -#~ msgstr "Número de Contactos" - -#~ msgid "Internal/External extension phone number" -#~ msgstr "Número de extensión telefónica interior/exterior" - -#~ msgid "" -#~ "Order of importance of this job title in the list of job " -#~ "title of the linked partner" -#~ msgstr "" -#~ "Orden de importancia de este título de trabajo en la lista de títulos de " -#~ "trabajo de la empresa relacionada." - -#~ msgid "Migrate" -#~ msgstr "Migrar" - -#~ msgid "Status of Address" -#~ msgstr "Estado de la dirección." - -#~ msgid "" -#~ "You may enter Address first,Partner will be linked " -#~ "automatically if any." -#~ msgstr "" -#~ "Puede introducir primero una dirección, se relacionará automáticamente con " -#~ "la empresa si hay una." - -#~ msgid "Job FAX no." -#~ msgstr "Número del Fax del trabajo." - -#~ msgid "Function of this contact with this partner" -#~ msgstr "Función de este contacto con esta empresa." - -#~ msgid "title" -#~ msgstr "título" - -#~ msgid "Start date of job(Joining Date)" -#~ msgstr "Fecha inicial del trabajo (fecha de unión)." - -#~ msgid "Last date of job" -#~ msgstr "Fecha final del trabajo." - -#~ msgid "Address which is linked to the Partner" -#~ msgstr "Dirección que está relacionada con la empresa." - -#~ msgid "" -#~ "Due to changes in Address and Partner's relation, some of the details from " -#~ "address are needed to be migrated into contact information." -#~ msgstr "" -#~ "Debido a los cambios en la relación entre Direcciones y Empresas, algunos de " -#~ "los detalles de las direcciones son necesarios migrarlos a la información de " -#~ "contactos." - -#~ msgid "Job E-Mail" -#~ msgstr "Correo electrónico del trabajo." - -#~ msgid "Job Phone no." -#~ msgstr "Número de teléfono del trabajo." - -#~ msgid "Search Contact" -#~ msgstr "Buscar contacto" - -#~ msgid "Image" -#~ msgstr "Imagen" - -#~ msgid "Communication" -#~ msgstr "Comunicación" - -#~ msgid "Address Migration" -#~ msgstr "Migración direcciones" - -#~ msgid "Open Jobs" -#~ msgstr "Abrir trabajos" - -#~ msgid "Do you want to migrate your Address data in Contact Data?" -#~ msgstr "¿Desea migrar los datos de direcciones hacia los datos de contacto?" - -#~ msgid "If you select this, all addresses will be migrated." -#~ msgstr "Si selecciona esta opción, todas las direcciones serán migradas." - -#~ msgid "Configuration Progress" -#~ msgstr "Progreso configuración" - -#~ msgid "base.contact.installer" -#~ msgstr "base.contacto.instalador" - -#~ msgid "" -#~ "Order of importance of this address in the list of " -#~ "addresses of the linked contact" -#~ msgstr "" -#~ "Orden de importancia de esta dirección en la lista de direcciones del " -#~ "contacto relacionado." - -#~ msgid "Select the Option for Addresses Migration" -#~ msgstr "Seleccione la opción para la migración de direcciones" - -#~ msgid "Configure" -#~ msgstr "Configurar" - -#~ msgid "You can migrate Partner's current addresses to the contact." -#~ msgstr "Puede migrar las direcciones actuales de la empresa al contacto." - -#~ msgid "Address's Migration to Contacts" -#~ msgstr "Migración de direcciones a contactos" - -#~ msgid "" -#~ "\n" -#~ " This module allows you to manage your contacts entirely.\n" -#~ "\n" -#~ " It lets you define\n" -#~ " *contacts unrelated to a partner,\n" -#~ " *contacts working at several addresses (possibly for different " -#~ "partners),\n" -#~ " *contacts with possibly different functions for each of its job's " -#~ "addresses\n" -#~ "\n" -#~ " It also adds new menu items located in\n" -#~ " Partners \\ Contacts\n" -#~ " Partners \\ Functions\n" -#~ "\n" -#~ " Pay attention that this module converts the existing addresses into " -#~ "\"addresses + contacts\". It means that some fields of the addresses will be " -#~ "missing (like the contact name), since these are supposed to be defined in " -#~ "an other object.\n" -#~ " " -#~ msgstr "" -#~ "\n" -#~ " Este módulo le permite gestionar sus contactos de forma completa.\n" -#~ "\n" -#~ " Le permite definir:\n" -#~ " *contactos sin ninguna relación con una empresa,\n" -#~ " *contactos que trabajan en varias direcciones (probablemente para " -#~ "distintas empresas),\n" -#~ " *contactos con varias funciones para cada una de sus direcciones de " -#~ "trabajo\n" -#~ "\n" -#~ " También añade nuevas entradas de menús localizadas en:\n" -#~ " Empresas \\ Contactos\n" -#~ " Empresas \\ Funciones\n" -#~ "\n" -#~ " Tenga cuidado que este módulo convierte las direcciones existentes en " -#~ "\"direcciones + contactos\". Esto significa que algunos campos de las " -#~ "direcciones desaparecerán (como el nombre del contacto), ya que se supone " -#~ "que estarán definidos en otro objeto.\n" -#~ " " - -#~ msgid "Date Start" -#~ msgstr "Fecha inicio" - -#~ msgid "Otherwise these details will not be visible from address/contact." -#~ msgstr "Si no estos detalles no serán visibles desde direcciones/contactos." diff --git a/addons/base_contact/i18n/es_AR.po b/addons/base_contact/i18n/es_AR.po deleted file mode 100644 index bca4b4baece..00000000000 --- a/addons/base_contact/i18n/es_AR.po +++ /dev/null @@ -1,384 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * base_contact -# -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 5.0.0\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2012-02-08 00:36+0000\n" -"PO-Revision-Date: 2009-11-28 14:17+0000\n" -"Last-Translator: Carlos Sebastián Macri - Daycrom <cmacri@daycrom.com>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-02-09 06:14+0000\n" -"X-Generator: Launchpad (build 14763)\n" - -#. module: base_contact -#: field:res.partner.location,city:0 -msgid "City" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "First/Lastname" -msgstr "" - -#. module: base_contact -#: model:ir.actions.act_window,name:base_contact.action_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_purchases_partner_contact_form -#: model:process.node,name:base_contact.process_node_contacts0 -#: field:res.partner.location,job_ids:0 -msgid "Contacts" -msgstr "Contactos" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Professional Info" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,first_name:0 -msgid "First Name" -msgstr "Nombre" - -#. module: base_contact -#: field:res.partner.address,location_id:0 -msgid "Location" -msgstr "" - -#. module: base_contact -#: model:process.transition,name:base_contact.process_transition_partnertoaddress0 -msgid "Partner to address" -msgstr "Direccion del partner" - -#. module: base_contact -#: help:res.partner.contact,active:0 -msgid "" -"If the active field is set to False, it will allow you to " -"hide the partner contact without removing it." -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,website:0 -msgid "Website" -msgstr "Sitio web" - -#. module: base_contact -#: field:res.partner.location,zip:0 -msgid "Zip" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,state_id:0 -msgid "Fed. State" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,company_id:0 -msgid "Company" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,title:0 -msgid "Title" -msgstr "Título" - -#. module: base_contact -#: field:res.partner.location,partner_id:0 -msgid "Main Partner" -msgstr "" - -#. module: base_contact -#: model:process.process,name:base_contact.process_process_basecontactprocess0 -msgid "Base Contact" -msgstr "Contacto base" - -#. module: base_contact -#: field:res.partner.contact,email:0 -msgid "E-Mail" -msgstr "Correo electrónico" - -#. module: base_contact -#: field:res.partner.contact,active:0 -msgid "Active" -msgstr "Activo" - -#. module: base_contact -#: field:res.partner.contact,country_id:0 -msgid "Nationality" -msgstr "Nacionalidad" - -#. module: base_contact -#: view:res.partner:0 -#: view:res.partner.address:0 -msgid "Postal Address" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,function:0 -msgid "Main Function" -msgstr "Función principal" - -#. module: base_contact -#: model:process.transition,note:base_contact.process_transition_partnertoaddress0 -msgid "Define partners and their addresses." -msgstr "Definir partners y sus direcciones." - -#. module: base_contact -#: field:res.partner.contact,name:0 -msgid "Name" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,lang_id:0 -msgid "Language" -msgstr "Idioma" - -#. module: base_contact -#: field:res.partner.contact,mobile:0 -msgid "Mobile" -msgstr "Celular" - -#. module: base_contact -#: field:res.partner.location,country_id:0 -msgid "Country" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,comment:0 -msgid "Notes" -msgstr "" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_contacts0 -msgid "People you work with." -msgstr "Gente con la que trabaja." - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Extra Information" -msgstr "Información extra" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,job_ids:0 -msgid "Functions and Addresses" -msgstr "Funciones y direcciones" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_contact -#: field:res.partner.address,contact_id:0 -msgid "Contact" -msgstr "Contacto" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_location -msgid "res.partner.location" -msgstr "" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_partners0 -msgid "Companies you work with." -msgstr "Empresas con las que trabaja." - -#. module: base_contact -#: field:res.partner.contact,partner_id:0 -msgid "Main Employer" -msgstr "Empleador principal" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner Contact" -msgstr "Contacto del partner" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_addresses0 -msgid "Addresses" -msgstr "Direcciones" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_addresses0 -msgid "Working and private addresses." -msgstr "Direcciones de trabajo y privadas." - -#. module: base_contact -#: field:res.partner.contact,last_name:0 -msgid "Last Name" -msgstr "Apellido" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,photo:0 -msgid "Photo" -msgstr "" - -#. module: base_contact -#: view:res.partner.location:0 -msgid "Locations" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "General" -msgstr "General" - -#. module: base_contact -#: field:res.partner.location,street:0 -msgid "Street" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner" -msgstr "Partner" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_partners0 -msgid "Partners" -msgstr "Partners" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_address -msgid "Partner Addresses" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,street2:0 -msgid "Street2" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Personal Information" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,birthdate:0 -msgid "Birth Date" -msgstr "Fecha de nacimiento" - -#~ msgid "Contact Partner Function" -#~ msgstr "Función del contacto del partner" - -#~ msgid "Partner Function" -#~ msgstr "Función del partner" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "" -#~ "El nombre del objeto debe empezar con x_ y no contener ningún carácter " -#~ "especial!" - -#~ msgid "Contact to function" -#~ msgstr "Contacto a cargo" - -#~ msgid "Current" -#~ msgstr "Actual" - -#~ msgid "Contact Seq." -#~ msgstr "Sec. de contacto" - -#~ msgid "res.partner.contact" -#~ msgstr "res.partner.contact" - -#~ msgid "Partner Seq." -#~ msgstr "Sec. del partner" - -#~ msgid "Main Job" -#~ msgstr "Trabajo principal" - -#~ msgid "" -#~ "Order of importance of this job title in the list of job title of the linked " -#~ "partner" -#~ msgstr "" -#~ "Orden de importancia de este cargo en la lista cargos del partner relacionada" - -#~ msgid "Contact Functions" -#~ msgstr "Funciones del contacto" - -#~ msgid "Phone" -#~ msgstr "Teléfono" - -#~ msgid "Function" -#~ msgstr "Función" - -#~ msgid "Date Stop" -#~ msgstr "Fecha de finalización" - -#~ msgid "Seq." -#~ msgstr "Sec." - -#~ msgid "Contact's Jobs" -#~ msgstr "Trabajos del contacto" - -#~ msgid "Base Contact Process" -#~ msgstr "Proceso de contacto base" - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "XML inválido para la definición de la vista !" - -#~ msgid "Address" -#~ msgstr "Dirección" - -#~ msgid "Partner Contacts" -#~ msgstr "Contactos del partner" - -#~ msgid "Function to address" -#~ msgstr "Función a dirección" - -#~ msgid "General Information" -#~ msgstr "Información general" - -#~ msgid "State" -#~ msgstr "Estado" - -#~ msgid "Jobs at a same partner address." -#~ msgstr "Trabajos en la misma dirección del partner" - -#~ msgid "Past" -#~ msgstr "Anterior" - -#~ msgid "Define functions and address." -#~ msgstr "Definir funciones y direcciones." - -#~ msgid "Date Start" -#~ msgstr "Fecha de inicio" - -#~ msgid "Defines contacts and functions." -#~ msgstr "Define contactos y funciones" - -#~ msgid "" -#~ "Order of importance of this address in the list of addresses of the linked " -#~ "contact" -#~ msgstr "" -#~ "Orden de importancia de esta dirección en la lista de direcciones del " -#~ "contacto relacionado" - -#~ msgid "Categories" -#~ msgstr "Categorías" - -#~ msgid "# of Contacts" -#~ msgstr "# de contactos" - -#~ msgid "Extension" -#~ msgstr "Extensión" - -#~ msgid "Internal/External extension phone number" -#~ msgstr "Número de extensión telefónica interior / exterior" - -#~ msgid "Other" -#~ msgstr "Otro" - -#~ msgid "Fax" -#~ msgstr "Fax" - -#~ msgid "Additional phone field" -#~ msgstr "Campo para teléfono adicional" - -#~ msgid "Invalid model name in the action definition." -#~ msgstr "Nombre de modelo inválido en la definición de la acción." diff --git a/addons/base_contact/i18n/es_CR.po b/addons/base_contact/i18n/es_CR.po deleted file mode 100644 index 26ee1c57383..00000000000 --- a/addons/base_contact/i18n/es_CR.po +++ /dev/null @@ -1,530 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * base_contact -# -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 6.0dev\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-02-08 00:36+0000\n" -"PO-Revision-Date: 2012-02-15 16:53+0000\n" -"Last-Translator: Freddy Gonzalez <freddy.gonzalez@clearcorp.co.cr>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-02-16 05:05+0000\n" -"X-Generator: Launchpad (build 14781)\n" -"Language: \n" - -#. module: base_contact -#: field:res.partner.location,city:0 -msgid "City" -msgstr "Ciudad" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "First/Lastname" -msgstr "Nombre / Apellido" - -#. module: base_contact -#: model:ir.actions.act_window,name:base_contact.action_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_purchases_partner_contact_form -#: model:process.node,name:base_contact.process_node_contacts0 -#: field:res.partner.location,job_ids:0 -msgid "Contacts" -msgstr "Contactos" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Professional Info" -msgstr "Información profesional" - -#. module: base_contact -#: field:res.partner.contact,first_name:0 -msgid "First Name" -msgstr "Nombre" - -#. module: base_contact -#: field:res.partner.address,location_id:0 -msgid "Location" -msgstr "Ubicación" - -#. module: base_contact -#: model:process.transition,name:base_contact.process_transition_partnertoaddress0 -msgid "Partner to address" -msgstr "Empresa a dirección" - -#. module: base_contact -#: help:res.partner.contact,active:0 -msgid "" -"If the active field is set to False, it will allow you to " -"hide the partner contact without removing it." -msgstr "" -"Si el campo activo se desmarca, permite ocultar el contacto de la empresa " -"sin eliminarlo." - -#. module: base_contact -#: field:res.partner.contact,website:0 -msgid "Website" -msgstr "Sitio web" - -#. module: base_contact -#: field:res.partner.location,zip:0 -msgid "Zip" -msgstr "Código postal" - -#. module: base_contact -#: field:res.partner.location,state_id:0 -msgid "Fed. State" -msgstr "Provincia" - -#. module: base_contact -#: field:res.partner.location,company_id:0 -msgid "Company" -msgstr "Compañía" - -#. module: base_contact -#: field:res.partner.contact,title:0 -msgid "Title" -msgstr "Título" - -#. module: base_contact -#: field:res.partner.location,partner_id:0 -msgid "Main Partner" -msgstr "Socio Principal" - -#. module: base_contact -#: model:process.process,name:base_contact.process_process_basecontactprocess0 -msgid "Base Contact" -msgstr "Contacto base" - -#. module: base_contact -#: field:res.partner.contact,email:0 -msgid "E-Mail" -msgstr "Correo electrónico" - -#. module: base_contact -#: field:res.partner.contact,active:0 -msgid "Active" -msgstr "Activo" - -#. module: base_contact -#: field:res.partner.contact,country_id:0 -msgid "Nationality" -msgstr "Nacionalidad" - -#. module: base_contact -#: view:res.partner:0 -#: view:res.partner.address:0 -msgid "Postal Address" -msgstr "Dirección postal" - -#. module: base_contact -#: field:res.partner.contact,function:0 -msgid "Main Function" -msgstr "Función principal" - -#. module: base_contact -#: model:process.transition,note:base_contact.process_transition_partnertoaddress0 -msgid "Define partners and their addresses." -msgstr "Definir empresas y sus direcciones." - -#. module: base_contact -#: field:res.partner.contact,name:0 -msgid "Name" -msgstr "Nombre" - -#. module: base_contact -#: field:res.partner.contact,lang_id:0 -msgid "Language" -msgstr "Idioma" - -#. module: base_contact -#: field:res.partner.contact,mobile:0 -msgid "Mobile" -msgstr "Móvil" - -#. module: base_contact -#: field:res.partner.location,country_id:0 -msgid "Country" -msgstr "País" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,comment:0 -msgid "Notes" -msgstr "Notas" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_contacts0 -msgid "People you work with." -msgstr "Gente con la que trabaja." - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Extra Information" -msgstr "Información extra" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,job_ids:0 -msgid "Functions and Addresses" -msgstr "Cargos y direcciones" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_contact -#: field:res.partner.address,contact_id:0 -msgid "Contact" -msgstr "Contacto" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_location -msgid "res.partner.location" -msgstr "res.partner.location" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_partners0 -msgid "Companies you work with." -msgstr "Empresas en las que trabaja." - -#. module: base_contact -#: field:res.partner.contact,partner_id:0 -msgid "Main Employer" -msgstr "Empleado principal" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner Contact" -msgstr "Contacto empresa" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_addresses0 -msgid "Addresses" -msgstr "Direcciones" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_addresses0 -msgid "Working and private addresses." -msgstr "Direcciones de trabajo y privadas." - -#. module: base_contact -#: field:res.partner.contact,last_name:0 -msgid "Last Name" -msgstr "Apellido" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,photo:0 -msgid "Photo" -msgstr "Foto" - -#. module: base_contact -#: view:res.partner.location:0 -msgid "Locations" -msgstr "Ubicaciones" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "General" -msgstr "General" - -#. module: base_contact -#: field:res.partner.location,street:0 -msgid "Street" -msgstr "Calle" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner" -msgstr "Empresa" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_partners0 -msgid "Partners" -msgstr "Empresas" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_address -msgid "Partner Addresses" -msgstr "Direcciones de empresa" - -#. module: base_contact -#: field:res.partner.location,street2:0 -msgid "Street2" -msgstr "Calle2" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Personal Information" -msgstr "Información Personal" - -#. module: base_contact -#: field:res.partner.contact,birthdate:0 -msgid "Birth Date" -msgstr "Fecha nacimiento" - -#~ msgid "Main Job" -#~ msgstr "Trabajo principal" - -#~ msgid "Contact Seq." -#~ msgstr "Sec. contacto" - -#~ msgid "res.partner.contact" -#~ msgstr "res.partner.contact" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "" -#~ "¡El nombre del objeto debe empezar con x_ y no contener ningún carácter " -#~ "especial!" - -#~ msgid "Partner Function" -#~ msgstr "Función en empresa" - -#~ msgid "Partner Seq." -#~ msgstr "Sec. empresa" - -#~ msgid "Current" -#~ msgstr "Actual" - -#~ msgid "Contact Partner Function" -#~ msgstr "Función contacto en empresa" - -#~ msgid "Contact to function" -#~ msgstr "Contacto a cargo" - -#~ msgid "Function" -#~ msgstr "Cargo" - -#~ msgid "Phone" -#~ msgstr "Teléfono" - -#~ msgid "Defines contacts and functions." -#~ msgstr "Define contactos y cargos." - -#~ msgid "Contact Functions" -#~ msgstr "Funciones contacto" - -#~ msgid "" -#~ "Order of importance of this job title in the list of job title of the linked " -#~ "partner" -#~ msgstr "" -#~ "Orden de importancia de este empleo en la lista de empleos de la empresa " -#~ "relacionada" - -#~ msgid "Date Stop" -#~ msgstr "Fecha finalización" - -#~ msgid "Address" -#~ msgstr "Dirección" - -#~ msgid "Contact's Jobs" -#~ msgstr "Trabajos del contacto" - -#~ msgid "" -#~ "Order of importance of this address in the list of addresses of the linked " -#~ "contact" -#~ msgstr "" -#~ "Orden de importancia de esta dirección en la lista de direcciones del " -#~ "contacto relacionado" - -#~ msgid "Categories" -#~ msgstr "Categorías" - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "¡XML inválido para la definición de la vista!" - -#~ msgid "Base Contact Process" -#~ msgstr "Proceso contacto base" - -#~ msgid "Seq." -#~ msgstr "Sec." - -#~ msgid "Function to address" -#~ msgstr "Cargo a dirección" - -#~ msgid "Partner Contacts" -#~ msgstr "Contactos de la empresa" - -#~ msgid "State" -#~ msgstr "Estado" - -#~ msgid "Past" -#~ msgstr "Anterior" - -#~ msgid "General Information" -#~ msgstr "Información general" - -#~ msgid "Jobs at a same partner address." -#~ msgstr "Trabajos en la misma dirección de empresa." - -#~ msgid "Define functions and address." -#~ msgstr "Definir cargos y direcciones." - -#~ msgid "Extension" -#~ msgstr "Extensión" - -#~ msgid "Other" -#~ msgstr "Otro" - -#~ msgid "Fax" -#~ msgstr "Fax" - -#~ msgid "Additional phone field" -#~ msgstr "Campo para teléfono adicional" - -#~ msgid "Invalid model name in the action definition." -#~ msgstr "Nombre de modelo no válido en la definición de acción." - -#~ msgid "# of Contacts" -#~ msgstr "Número de Contactos" - -#~ msgid "Internal/External extension phone number" -#~ msgstr "Número de extensión telefónica interior/exterior" - -#~ msgid "" -#~ "Order of importance of this job title in the list of job " -#~ "title of the linked partner" -#~ msgstr "" -#~ "Orden de importancia de este título de trabajo en la lista de títulos de " -#~ "trabajo de la empresa relacionada." - -#~ msgid "Migrate" -#~ msgstr "Migrar" - -#~ msgid "Status of Address" -#~ msgstr "Estado de la dirección." - -#~ msgid "" -#~ "You may enter Address first,Partner will be linked " -#~ "automatically if any." -#~ msgstr "" -#~ "Puede introducir primero una dirección, se relacionará automáticamente con " -#~ "la empresa si hay una." - -#~ msgid "Job FAX no." -#~ msgstr "Número del Fax del trabajo." - -#~ msgid "Function of this contact with this partner" -#~ msgstr "Función de este contacto con esta empresa." - -#~ msgid "title" -#~ msgstr "título" - -#~ msgid "Start date of job(Joining Date)" -#~ msgstr "Fecha inicial del trabajo (fecha de unión)." - -#~ msgid "Last date of job" -#~ msgstr "Fecha final del trabajo." - -#~ msgid "Address which is linked to the Partner" -#~ msgstr "Dirección que está relacionada con la empresa." - -#~ msgid "" -#~ "Due to changes in Address and Partner's relation, some of the details from " -#~ "address are needed to be migrated into contact information." -#~ msgstr "" -#~ "Debido a los cambios en la relación entre Direcciones y Empresas, algunos de " -#~ "los detalles de las direcciones son necesarios migrarlos a la información de " -#~ "contactos." - -#~ msgid "Job E-Mail" -#~ msgstr "Correo electrónico del trabajo." - -#~ msgid "Job Phone no." -#~ msgstr "Número de teléfono del trabajo." - -#~ msgid "Search Contact" -#~ msgstr "Buscar contacto" - -#~ msgid "Image" -#~ msgstr "Imagen" - -#~ msgid "Communication" -#~ msgstr "Comunicación" - -#~ msgid "Address Migration" -#~ msgstr "Migración direcciones" - -#~ msgid "Open Jobs" -#~ msgstr "Abrir trabajos" - -#~ msgid "Do you want to migrate your Address data in Contact Data?" -#~ msgstr "¿Desea migrar los datos de direcciones hacia los datos de contacto?" - -#~ msgid "If you select this, all addresses will be migrated." -#~ msgstr "Si selecciona esta opción, todas las direcciones serán migradas." - -#~ msgid "Configuration Progress" -#~ msgstr "Progreso configuración" - -#~ msgid "base.contact.installer" -#~ msgstr "base.contacto.instalador" - -#~ msgid "" -#~ "Order of importance of this address in the list of " -#~ "addresses of the linked contact" -#~ msgstr "" -#~ "Orden de importancia de esta dirección en la lista de direcciones del " -#~ "contacto relacionado." - -#~ msgid "Select the Option for Addresses Migration" -#~ msgstr "Seleccione la opción para la migración de direcciones" - -#~ msgid "Configure" -#~ msgstr "Configurar" - -#~ msgid "You can migrate Partner's current addresses to the contact." -#~ msgstr "Puede migrar las direcciones actuales de la empresa al contacto." - -#~ msgid "Address's Migration to Contacts" -#~ msgstr "Migración de direcciones a contactos" - -#~ msgid "" -#~ "\n" -#~ " This module allows you to manage your contacts entirely.\n" -#~ "\n" -#~ " It lets you define\n" -#~ " *contacts unrelated to a partner,\n" -#~ " *contacts working at several addresses (possibly for different " -#~ "partners),\n" -#~ " *contacts with possibly different functions for each of its job's " -#~ "addresses\n" -#~ "\n" -#~ " It also adds new menu items located in\n" -#~ " Partners \\ Contacts\n" -#~ " Partners \\ Functions\n" -#~ "\n" -#~ " Pay attention that this module converts the existing addresses into " -#~ "\"addresses + contacts\". It means that some fields of the addresses will be " -#~ "missing (like the contact name), since these are supposed to be defined in " -#~ "an other object.\n" -#~ " " -#~ msgstr "" -#~ "\n" -#~ " Este módulo le permite gestionar sus contactos de forma completa.\n" -#~ "\n" -#~ " Le permite definir:\n" -#~ " *contactos sin ninguna relación con una empresa,\n" -#~ " *contactos que trabajan en varias direcciones (probablemente para " -#~ "distintas empresas),\n" -#~ " *contactos con varias funciones para cada una de sus direcciones de " -#~ "trabajo\n" -#~ "\n" -#~ " También añade nuevas entradas de menús localizadas en:\n" -#~ " Empresas \\ Contactos\n" -#~ " Empresas \\ Funciones\n" -#~ "\n" -#~ " Tenga cuidado que este módulo convierte las direcciones existentes en " -#~ "\"direcciones + contactos\". Esto significa que algunos campos de las " -#~ "direcciones desaparecerán (como el nombre del contacto), ya que se supone " -#~ "que estarán definidos en otro objeto.\n" -#~ " " - -#~ msgid "Date Start" -#~ msgstr "Fecha inicio" - -#~ msgid "Otherwise these details will not be visible from address/contact." -#~ msgstr "Si no estos detalles no serán visibles desde direcciones/contactos." diff --git a/addons/base_contact/i18n/es_EC.po b/addons/base_contact/i18n/es_EC.po deleted file mode 100644 index 9a59caec7e2..00000000000 --- a/addons/base_contact/i18n/es_EC.po +++ /dev/null @@ -1,529 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * base_contact -# -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 6.0dev\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2012-02-08 00:36+0000\n" -"PO-Revision-Date: 2010-09-17 19:08+0000\n" -"Last-Translator: Paco Molinero <paco@byasl.com>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-02-09 06:14+0000\n" -"X-Generator: Launchpad (build 14763)\n" - -#. module: base_contact -#: field:res.partner.location,city:0 -msgid "City" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "First/Lastname" -msgstr "" - -#. module: base_contact -#: model:ir.actions.act_window,name:base_contact.action_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_purchases_partner_contact_form -#: model:process.node,name:base_contact.process_node_contacts0 -#: field:res.partner.location,job_ids:0 -msgid "Contacts" -msgstr "Contactos" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Professional Info" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,first_name:0 -msgid "First Name" -msgstr "Nombre" - -#. module: base_contact -#: field:res.partner.address,location_id:0 -msgid "Location" -msgstr "" - -#. module: base_contact -#: model:process.transition,name:base_contact.process_transition_partnertoaddress0 -msgid "Partner to address" -msgstr "Empresa a dirección" - -#. module: base_contact -#: help:res.partner.contact,active:0 -msgid "" -"If the active field is set to False, it will allow you to " -"hide the partner contact without removing it." -msgstr "" -"Si el campo activo se desmarca, permite ocultar el contacto de la empresa " -"sin eliminarlo." - -#. module: base_contact -#: field:res.partner.contact,website:0 -msgid "Website" -msgstr "Sitio web" - -#. module: base_contact -#: field:res.partner.location,zip:0 -msgid "Zip" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,state_id:0 -msgid "Fed. State" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,company_id:0 -msgid "Company" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,title:0 -msgid "Title" -msgstr "Título" - -#. module: base_contact -#: field:res.partner.location,partner_id:0 -msgid "Main Partner" -msgstr "" - -#. module: base_contact -#: model:process.process,name:base_contact.process_process_basecontactprocess0 -msgid "Base Contact" -msgstr "Contacto base" - -#. module: base_contact -#: field:res.partner.contact,email:0 -msgid "E-Mail" -msgstr "Correo electrónico" - -#. module: base_contact -#: field:res.partner.contact,active:0 -msgid "Active" -msgstr "Activo" - -#. module: base_contact -#: field:res.partner.contact,country_id:0 -msgid "Nationality" -msgstr "Nacionalidad" - -#. module: base_contact -#: view:res.partner:0 -#: view:res.partner.address:0 -msgid "Postal Address" -msgstr "Dirección postal" - -#. module: base_contact -#: field:res.partner.contact,function:0 -msgid "Main Function" -msgstr "Función principal" - -#. module: base_contact -#: model:process.transition,note:base_contact.process_transition_partnertoaddress0 -msgid "Define partners and their addresses." -msgstr "Definir empresas y sus direcciones." - -#. module: base_contact -#: field:res.partner.contact,name:0 -msgid "Name" -msgstr "Nombre" - -#. module: base_contact -#: field:res.partner.contact,lang_id:0 -msgid "Language" -msgstr "Idioma" - -#. module: base_contact -#: field:res.partner.contact,mobile:0 -msgid "Mobile" -msgstr "Móvil" - -#. module: base_contact -#: field:res.partner.location,country_id:0 -msgid "Country" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,comment:0 -msgid "Notes" -msgstr "Notas" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_contacts0 -msgid "People you work with." -msgstr "Gente con la que trabaja." - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Extra Information" -msgstr "Información extra" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,job_ids:0 -msgid "Functions and Addresses" -msgstr "Cargos y direcciones" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_contact -#: field:res.partner.address,contact_id:0 -msgid "Contact" -msgstr "Contacto" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_location -msgid "res.partner.location" -msgstr "" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_partners0 -msgid "Companies you work with." -msgstr "Empresas en las que trabaja." - -#. module: base_contact -#: field:res.partner.contact,partner_id:0 -msgid "Main Employer" -msgstr "Empleado principal" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner Contact" -msgstr "Contacto empresa" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_addresses0 -msgid "Addresses" -msgstr "Direcciones" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_addresses0 -msgid "Working and private addresses." -msgstr "Direcciones de trabajo y privadas." - -#. module: base_contact -#: field:res.partner.contact,last_name:0 -msgid "Last Name" -msgstr "Apellido" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,photo:0 -msgid "Photo" -msgstr "Foto" - -#. module: base_contact -#: view:res.partner.location:0 -msgid "Locations" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "General" -msgstr "General" - -#. module: base_contact -#: field:res.partner.location,street:0 -msgid "Street" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner" -msgstr "Empresa" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_partners0 -msgid "Partners" -msgstr "Empresas" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_address -msgid "Partner Addresses" -msgstr "Direcciones de empresa" - -#. module: base_contact -#: field:res.partner.location,street2:0 -msgid "Street2" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Personal Information" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,birthdate:0 -msgid "Birth Date" -msgstr "Fecha nacimiento" - -#~ msgid "Contact Seq." -#~ msgstr "Sec. contacto" - -#~ msgid "res.partner.contact" -#~ msgstr "res.partner.contact" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "" -#~ "¡El nombre del objeto debe empezar con x_ y no contener ningún carácter " -#~ "especial!" - -#~ msgid "Partner Function" -#~ msgstr "Función en empresa" - -#~ msgid "Partner Seq." -#~ msgstr "Sec. empresa" - -#~ msgid "Current" -#~ msgstr "Actual" - -#~ msgid "Contact Partner Function" -#~ msgstr "Función contacto en empresa" - -#~ msgid "Other" -#~ msgstr "Otro" - -#~ msgid "Contact to function" -#~ msgstr "Contacto a cargo" - -#~ msgid "Invalid model name in the action definition." -#~ msgstr "Nombre de modelo no válido en la definición de acción." - -#~ msgid "# of Contacts" -#~ msgstr "Número de Contactos" - -#~ msgid "Additional phone field" -#~ msgstr "Campo para teléfono adicional" - -#~ msgid "Function" -#~ msgstr "Cargo" - -#~ msgid "Fax" -#~ msgstr "Fax" - -#~ msgid "Phone" -#~ msgstr "Teléfono" - -#~ msgid "Defines contacts and functions." -#~ msgstr "Define contactos y cargos." - -#~ msgid "Contact Functions" -#~ msgstr "Funciones contacto" - -#~ msgid "" -#~ "Order of importance of this job title in the list of job title of the linked " -#~ "partner" -#~ msgstr "" -#~ "Orden de importancia de este empleo en la lista de empleos de la empresa " -#~ "relacionada" - -#~ msgid "Date Stop" -#~ msgstr "Fecha finalización" - -#~ msgid "Address" -#~ msgstr "Dirección" - -#~ msgid "Contact's Jobs" -#~ msgstr "Trabajos del contacto" - -#~ msgid "" -#~ "Order of importance of this address in the list of addresses of the linked " -#~ "contact" -#~ msgstr "" -#~ "Orden de importancia de esta dirección en la lista de direcciones del " -#~ "contacto relacionado" - -#~ msgid "Main Job" -#~ msgstr "Trabajo principal" - -#~ msgid "Categories" -#~ msgstr "Categorías" - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "¡XML inválido para la definición de la vista!" - -#~ msgid "Base Contact Process" -#~ msgstr "Proceso contacto base" - -#~ msgid "Seq." -#~ msgstr "Sec." - -#~ msgid "Extension" -#~ msgstr "Extensión" - -#~ msgid "Internal/External extension phone number" -#~ msgstr "Número de extensión telefónica interior/exterior" - -#~ msgid "Function to address" -#~ msgstr "Cargo a dirección" - -#~ msgid "Partner Contacts" -#~ msgstr "Contactos de la empresa" - -#~ msgid "State" -#~ msgstr "Estado" - -#~ msgid "Past" -#~ msgstr "Anterior" - -#~ msgid "General Information" -#~ msgstr "Información general" - -#~ msgid "Jobs at a same partner address." -#~ msgstr "Trabajos en la misma dirección de empresa." - -#~ msgid "Date Start" -#~ msgstr "Fecha de inicio" - -#~ msgid "Define functions and address." -#~ msgstr "Definir cargos y direcciones." - -#~ msgid "Migrate" -#~ msgstr "Migrar" - -#~ msgid "" -#~ "You may enter Address first,Partner will be linked " -#~ "automatically if any." -#~ msgstr "" -#~ "Puede introducir primero una dirección, se relacionará automáticamente con " -#~ "la empresa si hay una." - -#~ msgid "Job FAX no." -#~ msgstr "Número del Fax del trabajo." - -#~ msgid "Function of this contact with this partner" -#~ msgstr "Función de este contacto con esta empresa." - -#~ msgid "Status of Address" -#~ msgstr "Estado de la dirección." - -#~ msgid "title" -#~ msgstr "título" - -#~ msgid "Start date of job(Joining Date)" -#~ msgstr "Fecha inicial del trabajo (fecha de unión)." - -#~ msgid "Last date of job" -#~ msgstr "Fecha final del trabajo." - -#~ msgid "Select the Option for Addresses Migration" -#~ msgstr "Seleccione la opción para la migración de direcciones" - -#~ msgid "Address's Migration to Contacts" -#~ msgstr "Migración de direcciones a contactos" - -#~ msgid "Job E-Mail" -#~ msgstr "Correo electrónico del trabajo." - -#~ msgid "Job Phone no." -#~ msgstr "Número de teléfono del trabajo." - -#~ msgid "" -#~ "Order of importance of this job title in the list of job " -#~ "title of the linked partner" -#~ msgstr "" -#~ "Orden de importancia de este título de trabajo en la lista de títulos de " -#~ "trabajo de la empresa relacionada." - -#~ msgid "Image" -#~ msgstr "Imagen" - -#~ msgid "Communication" -#~ msgstr "Comunicación" - -#~ msgid "" -#~ "\n" -#~ " This module allows you to manage your contacts entirely.\n" -#~ "\n" -#~ " It lets you define\n" -#~ " *contacts unrelated to a partner,\n" -#~ " *contacts working at several addresses (possibly for different " -#~ "partners),\n" -#~ " *contacts with possibly different functions for each of its job's " -#~ "addresses\n" -#~ "\n" -#~ " It also adds new menu items located in\n" -#~ " Partners \\ Contacts\n" -#~ " Partners \\ Functions\n" -#~ "\n" -#~ " Pay attention that this module converts the existing addresses into " -#~ "\"addresses + contacts\". It means that some fields of the addresses will be " -#~ "missing (like the contact name), since these are supposed to be defined in " -#~ "an other object.\n" -#~ " " -#~ msgstr "" -#~ "\n" -#~ " Este módulo le permite gestionar sus contactos de forma completa.\n" -#~ "\n" -#~ " Le permite definir:\n" -#~ " *contactos sin ninguna relación con una empresa,\n" -#~ " *contactos que trabajan en varias direcciones (probablemente para " -#~ "distintas empresas),\n" -#~ " *contactos con varias funciones para cada una de sus direcciones de " -#~ "trabajo\n" -#~ "\n" -#~ " También añade nuevas entradas de menús localizadas en:\n" -#~ " Empresas \\ Contactos\n" -#~ " Empresas \\ Funciones\n" -#~ "\n" -#~ " Tenga cuidado que este módulo convierte las direcciones existentes en " -#~ "\"direcciones + contactos\". Esto significa que algunos campos de las " -#~ "direcciones desaparecerán (como el nombre del contacto), ya que se supone " -#~ "que estarán definidos en otro objeto.\n" -#~ " " - -#~ msgid "Configuration Progress" -#~ msgstr "Progreso de configuración" - -#~ msgid "Otherwise these details will not be visible from address/contact." -#~ msgstr "Sino estos detalles no serán visibles desde direcciones/contactos." - -#~ msgid "Address which is linked to the Partner" -#~ msgstr "Dirección que está relacionada con la empresa." - -#~ msgid "" -#~ "Due to changes in Address and Partner's relation, some of the details from " -#~ "address are needed to be migrated into contact information." -#~ msgstr "" -#~ "Debido a los cambios en la relación entre Direcciones y Empresas, algunos de " -#~ "los detalles de las direcciones son necesarios migrarlos a la información de " -#~ "contactos." - -#~ msgid "Search Contact" -#~ msgstr "Buscar contacto" - -#~ msgid "Open Jobs" -#~ msgstr "Abrir trabajos" - -#~ msgid "Do you want to migrate your Address data in Contact Data?" -#~ msgstr "¿Desea migrar los datos de direcciones hacia los datos de contacto?" - -#~ msgid "If you select this, all addresses will be migrated." -#~ msgstr "Si selecciona esta opción, todas las direcciones serán migradas." - -#~ msgid "base.contact.installer" -#~ msgstr "Instalador de Módulo de Contactos" - -#~ msgid "Configure" -#~ msgstr "Configurar" - -#~ msgid "You can migrate Partner's current addresses to the contact." -#~ msgstr "Puede migrar las direcciones actuales de la empresa al contacto." - -#~ msgid "" -#~ "Order of importance of this address in the list of " -#~ "addresses of the linked contact" -#~ msgstr "" -#~ "Orden de importancia de esta dirección en la lista de direcciones del " -#~ "contacto relacionado." - -#~ msgid "Address Migration" -#~ msgstr "Migración direcciones" diff --git a/addons/base_contact/i18n/es_MX.po b/addons/base_contact/i18n/es_MX.po deleted file mode 100644 index b52490050ce..00000000000 --- a/addons/base_contact/i18n/es_MX.po +++ /dev/null @@ -1,582 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * base_contact -# -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 6.0dev\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2011-01-11 11:14+0000\n" -"PO-Revision-Date: 2010-12-28 08:39+0000\n" -"Last-Translator: Jordi Esteve (www.zikzakmedia.com) " -"<jesteve@zikzakmedia.com>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-09-05 05:09+0000\n" -"X-Generator: Launchpad (build 13830)\n" - -#. module: base_contact -#: field:res.partner.contact,title:0 -msgid "Title" -msgstr "Título" - -#. module: base_contact -#: view:res.partner.address:0 -msgid "# of Contacts" -msgstr "Número de Contactos" - -#. module: base_contact -#: field:res.partner.job,fax:0 -msgid "Fax" -msgstr "Fax" - -#. module: base_contact -#: view:base.contact.installer:0 -msgid "title" -msgstr "título" - -#. module: base_contact -#: help:res.partner.job,date_start:0 -msgid "Start date of job(Joining Date)" -msgstr "Fecha inicial del trabajo (fecha de unión)." - -#. module: base_contact -#: view:base.contact.installer:0 -msgid "Select the Option for Addresses Migration" -msgstr "Seleccione la opción para la migración de direcciones" - -#. module: base_contact -#: help:res.partner.job,function:0 -msgid "Function of this contact with this partner" -msgstr "Función de este contacto con esta empresa." - -#. module: base_contact -#: help:res.partner.job,state:0 -msgid "Status of Address" -msgstr "Estado de la dirección." - -#. module: base_contact -#: help:res.partner.job,name:0 -msgid "" -"You may enter Address first,Partner will be linked " -"automatically if any." -msgstr "" -"Puede introducir primero una dirección, se relacionará automáticamente con " -"la empresa si hay una." - -#. module: base_contact -#: help:res.partner.job,fax:0 -msgid "Job FAX no." -msgstr "Número del Fax del trabajo." - -#. module: base_contact -#: field:res.partner.contact,mobile:0 -msgid "Mobile" -msgstr "Móvil" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,comment:0 -msgid "Notes" -msgstr "Notas" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_contacts0 -msgid "People you work with." -msgstr "Gente con la que trabaja." - -#. module: base_contact -#: model:process.transition,note:base_contact.process_transition_functiontoaddress0 -msgid "Define functions and address." -msgstr "Definir cargos y direcciones." - -#. module: base_contact -#: help:res.partner.job,date_stop:0 -msgid "Last date of job" -msgstr "Fecha final del trabajo." - -#. module: base_contact -#: view:base.contact.installer:0 -#: field:base.contact.installer,migrate:0 -msgid "Migrate" -msgstr "Migrar" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.job,name:0 -msgid "Partner" -msgstr "Empresa" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_function0 -msgid "Jobs at a same partner address." -msgstr "Trabajos en la misma dirección de empresa." - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_partners0 -msgid "Partners" -msgstr "Empresas" - -#. module: base_contact -#: field:res.partner.job,state:0 -msgid "State" -msgstr "Estado" - -#. module: base_contact -#: help:res.partner.contact,active:0 -msgid "" -"If the active field is set to False, it will allow you to " -"hide the partner contact without removing it." -msgstr "" -"Si el campo activo se desmarca, permite ocultar el contacto de la empresa " -"sin eliminarlo." - -#. module: base_contact -#: model:ir.module.module,description:base_contact.module_meta_information -msgid "" -"\n" -" This module allows you to manage your contacts entirely.\n" -"\n" -" It lets you define\n" -" *contacts unrelated to a partner,\n" -" *contacts working at several addresses (possibly for different " -"partners),\n" -" *contacts with possibly different functions for each of its job's " -"addresses\n" -"\n" -" It also adds new menu items located in\n" -" Partners \\ Contacts\n" -" Partners \\ Functions\n" -"\n" -" Pay attention that this module converts the existing addresses into " -"\"addresses + contacts\". It means that some fields of the addresses will be " -"missing (like the contact name), since these are supposed to be defined in " -"an other object.\n" -" " -msgstr "" -"\n" -" Este módulo le permite gestionar sus contactos de forma completa.\n" -"\n" -" Le permite definir:\n" -" *contactos sin ninguna relación con una empresa,\n" -" *contactos que trabajan en varias direcciones (probablemente para " -"distintas empresas),\n" -" *contactos con varias funciones para cada una de sus direcciones de " -"trabajo\n" -"\n" -" También añade nuevas entradas de menús localizadas en:\n" -" Empresas \\ Contactos\n" -" Empresas \\ Funciones\n" -"\n" -" Tenga cuidado que este módulo convierte las direcciones existentes en " -"\"direcciones + contactos\". Esto significa que algunos campos de las " -"direcciones desaparecerán (como el nombre del contacto), ya que se supone " -"que estarán definidos en otro objeto.\n" -" " - -#. module: base_contact -#: model:ir.module.module,shortdesc:base_contact.module_meta_information -#: model:process.process,name:base_contact.process_process_basecontactprocess0 -msgid "Base Contact" -msgstr "Contacto base" - -#. module: base_contact -#: field:res.partner.job,date_stop:0 -msgid "Date Stop" -msgstr "Fecha finalización" - -#. module: base_contact -#: model:ir.actions.act_window,name:base_contact.action_res_partner_job -msgid "Contact's Jobs" -msgstr "Trabajos del contacto" - -#. module: base_contact -#: view:res.partner:0 -msgid "Categories" -msgstr "Categorías" - -#. module: base_contact -#: help:res.partner.job,sequence_partner:0 -msgid "" -"Order of importance of this job title in the list of job " -"title of the linked partner" -msgstr "" -"Orden de importancia de este título de trabajo en la lista de títulos de " -"trabajo de la empresa relacionada." - -#. module: base_contact -#: field:res.partner.job,extension:0 -msgid "Extension" -msgstr "Extensión" - -#. module: base_contact -#: help:res.partner.job,extension:0 -msgid "Internal/External extension phone number" -msgstr "Número de extensión telefónica interior/exterior" - -#. module: base_contact -#: help:res.partner.job,phone:0 -msgid "Job Phone no." -msgstr "Número de teléfono del trabajo." - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,job_ids:0 -msgid "Functions and Addresses" -msgstr "Cargos y direcciones" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_contact -#: field:res.partner.job,contact_id:0 -msgid "Contact" -msgstr "Contacto" - -#. module: base_contact -#: help:res.partner.job,email:0 -msgid "Job E-Mail" -msgstr "Correo electrónico del trabajo." - -#. module: base_contact -#: field:res.partner.job,sequence_partner:0 -msgid "Partner Seq." -msgstr "Sec. empresa" - -#. module: base_contact -#: model:process.transition,name:base_contact.process_transition_functiontoaddress0 -msgid "Function to address" -msgstr "Cargo a dirección" - -#. module: base_contact -#: field:base.contact.installer,progress:0 -msgid "Configuration Progress" -msgstr "Progreso configuración" - -#. module: base_contact -#: field:res.partner.contact,name:0 -msgid "Last Name" -msgstr "Apellido" - -#. module: base_contact -#: view:res.partner:0 -#: view:res.partner.contact:0 -msgid "Communication" -msgstr "Comunicación" - -#. module: base_contact -#: field:base.contact.installer,config_logo:0 -#: field:res.partner.contact,photo:0 -msgid "Image" -msgstr "Imagen" - -#. module: base_contact -#: selection:res.partner.job,state:0 -msgid "Past" -msgstr "Anterior" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_address -msgid "Partner Addresses" -msgstr "Direcciones de empresa" - -#. module: base_contact -#: view:base.contact.installer:0 -msgid "Address's Migration to Contacts" -msgstr "Migración de direcciones a contactos" - -#. module: base_contact -#: field:res.partner.job,sequence_contact:0 -msgid "Contact Seq." -msgstr "Sec. contacto" - -#. module: base_contact -#: view:res.partner.address:0 -msgid "Search Contact" -msgstr "Buscar contacto" - -#. module: base_contact -#: model:ir.actions.act_window,name:base_contact.action_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_purchases_partner_contact_form -#: model:process.node,name:base_contact.process_node_contacts0 -#: view:res.partner:0 -#: field:res.partner.address,job_ids:0 -msgid "Contacts" -msgstr "Contactos" - -#. module: base_contact -#: view:base.contact.installer:0 -msgid "" -"Due to changes in Address and Partner's relation, some of the details from " -"address are needed to be migrated into contact information." -msgstr "" -"Debido a los cambios en la relación entre Direcciones y Empresas, algunos de " -"los detalles de las direcciones son necesarios migrarlos a la información de " -"contactos." - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_addresses0 -msgid "Working and private addresses." -msgstr "Direcciones de trabajo y privadas." - -#. module: base_contact -#: help:res.partner.job,address_id:0 -msgid "Address which is linked to the Partner" -msgstr "Dirección que está relacionada con la empresa." - -#. module: base_contact -#: field:res.partner.job,function:0 -msgid "Partner Function" -msgstr "Función en empresa" - -#. module: base_contact -#: help:res.partner.job,other:0 -msgid "Additional phone field" -msgstr "Campo para teléfono adicional" - -#. module: base_contact -#: field:res.partner.contact,website:0 -msgid "Website" -msgstr "Sitio web" - -#. module: base_contact -#: view:base.contact.installer:0 -msgid "Otherwise these details will not be visible from address/contact." -msgstr "Si no estos detalles no serán visibles desde direcciones/contactos." - -#. module: base_contact -#: view:base.contact.installer:0 -msgid "Configure" -msgstr "Configurar" - -#. module: base_contact -#: field:res.partner.contact,email:0 -#: field:res.partner.job,email:0 -msgid "E-Mail" -msgstr "Correo electrónico" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_base_contact_installer -msgid "base.contact.installer" -msgstr "base.contacto.instalador" - -#. module: base_contact -#: view:res.partner.job:0 -msgid "Contact Functions" -msgstr "Funciones contacto" - -#. module: base_contact -#: field:res.partner.job,phone:0 -msgid "Phone" -msgstr "Teléfono" - -#. module: base_contact -#: view:base.contact.installer:0 -msgid "Do you want to migrate your Address data in Contact Data?" -msgstr "¿Desea migrar los datos de direcciones hacia los datos de contacto?" - -#. module: base_contact -#: field:res.partner.contact,active:0 -msgid "Active" -msgstr "Activo" - -#. module: base_contact -#: field:res.partner.contact,function:0 -msgid "Main Function" -msgstr "Función principal" - -#. module: base_contact -#: model:process.transition,note:base_contact.process_transition_partnertoaddress0 -msgid "Define partners and their addresses." -msgstr "Definir empresas y sus direcciones." - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Seq." -msgstr "Sec." - -#. module: base_contact -#: field:res.partner.contact,lang_id:0 -msgid "Language" -msgstr "Idioma" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Extra Information" -msgstr "Información extra" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_partners0 -msgid "Companies you work with." -msgstr "Empresas en las que trabaja." - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner Contact" -msgstr "Contacto empresa" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "General" -msgstr "General" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Photo" -msgstr "Foto" - -#. module: base_contact -#: field:res.partner.contact,birthdate:0 -msgid "Birth Date" -msgstr "Fecha nacimiento" - -#. module: base_contact -#: help:base.contact.installer,migrate:0 -msgid "If you select this, all addresses will be migrated." -msgstr "Si selecciona esta opción, todas las direcciones serán migradas." - -#. module: base_contact -#: selection:res.partner.job,state:0 -msgid "Current" -msgstr "Actual" - -#. module: base_contact -#: field:res.partner.contact,first_name:0 -msgid "First Name" -msgstr "Nombre" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_job -msgid "Contact Partner Function" -msgstr "Función contacto en empresa" - -#. module: base_contact -#: field:res.partner.job,other:0 -msgid "Other" -msgstr "Otro" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_function0 -msgid "Function" -msgstr "Cargo" - -#. module: base_contact -#: field:res.partner.address,job_id:0 -#: field:res.partner.contact,job_id:0 -msgid "Main Job" -msgstr "Trabajo principal" - -#. module: base_contact -#: model:process.transition,note:base_contact.process_transition_contacttofunction0 -msgid "Defines contacts and functions." -msgstr "Define contactos y cargos." - -#. module: base_contact -#: model:process.transition,name:base_contact.process_transition_contacttofunction0 -msgid "Contact to function" -msgstr "Contacto a cargo" - -#. module: base_contact -#: view:res.partner:0 -#: field:res.partner.job,address_id:0 -msgid "Address" -msgstr "Dirección" - -#. module: base_contact -#: field:res.partner.contact,country_id:0 -msgid "Nationality" -msgstr "Nacionalidad" - -#. module: base_contact -#: model:ir.actions.act_window,name:base_contact.act_res_partner_jobs -msgid "Open Jobs" -msgstr "Abrir trabajos" - -#. module: base_contact -#: field:base.contact.installer,name:0 -msgid "Name" -msgstr "Nombre" - -#. module: base_contact -#: view:base.contact.installer:0 -msgid "You can migrate Partner's current addresses to the contact." -msgstr "Puede migrar las direcciones actuales de la empresa al contacto." - -#. module: base_contact -#: field:res.partner.contact,partner_id:0 -msgid "Main Employer" -msgstr "Empleado principal" - -#. module: base_contact -#: model:ir.actions.act_window,name:base_contact.action_base_contact_installer -msgid "Address Migration" -msgstr "Migración direcciones" - -#. module: base_contact -#: view:res.partner:0 -msgid "Postal Address" -msgstr "Dirección postal" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_addresses0 -#: view:res.partner:0 -msgid "Addresses" -msgstr "Direcciones" - -#. module: base_contact -#: model:process.transition,name:base_contact.process_transition_partnertoaddress0 -msgid "Partner to address" -msgstr "Empresa a dirección" - -#. module: base_contact -#: field:res.partner.job,date_start:0 -msgid "Date Start" -msgstr "Fecha inicio" - -#. module: base_contact -#: help:res.partner.job,sequence_contact:0 -msgid "" -"Order of importance of this address in the list of " -"addresses of the linked contact" -msgstr "" -"Orden de importancia de esta dirección en la lista de direcciones del " -"contacto relacionado." - -#~ msgid "res.partner.contact" -#~ msgstr "res.partner.contact" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "" -#~ "¡El nombre del objeto debe empezar con x_ y no contener ningún carácter " -#~ "especial!" - -#~ msgid "" -#~ "Order of importance of this job title in the list of job title of the linked " -#~ "partner" -#~ msgstr "" -#~ "Orden de importancia de este empleo en la lista de empleos de la empresa " -#~ "relacionada" - -#~ msgid "" -#~ "Order of importance of this address in the list of addresses of the linked " -#~ "contact" -#~ msgstr "" -#~ "Orden de importancia de esta dirección en la lista de direcciones del " -#~ "contacto relacionado" - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "¡XML inválido para la definición de la vista!" - -#~ msgid "Base Contact Process" -#~ msgstr "Proceso contacto base" - -#~ msgid "Partner Contacts" -#~ msgstr "Contactos de la empresa" - -#~ msgid "General Information" -#~ msgstr "Información general" - -#~ msgid "Invalid model name in the action definition." -#~ msgstr "Nombre de modelo no válido en la definición de acción." diff --git a/addons/base_contact/i18n/es_PY.po b/addons/base_contact/i18n/es_PY.po deleted file mode 100644 index 9e7a7c4d3f0..00000000000 --- a/addons/base_contact/i18n/es_PY.po +++ /dev/null @@ -1,492 +0,0 @@ -# Spanish (Paraguay) translation for openobject-addons -# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 -# This file is distributed under the same license as the openobject-addons package. -# FIRST AUTHOR <EMAIL@ADDRESS>, 2011. -# -msgid "" -msgstr "" -"Project-Id-Version: openobject-addons\n" -"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2012-02-08 00:36+0000\n" -"PO-Revision-Date: 2011-03-08 17:09+0000\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: Spanish (Paraguay) <es_PY@li.org>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-02-09 06:14+0000\n" -"X-Generator: Launchpad (build 14763)\n" - -#. module: base_contact -#: field:res.partner.location,city:0 -msgid "City" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "First/Lastname" -msgstr "" - -#. module: base_contact -#: model:ir.actions.act_window,name:base_contact.action_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_purchases_partner_contact_form -#: model:process.node,name:base_contact.process_node_contacts0 -#: field:res.partner.location,job_ids:0 -msgid "Contacts" -msgstr "Contactos" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Professional Info" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,first_name:0 -msgid "First Name" -msgstr "Nombre" - -#. module: base_contact -#: field:res.partner.address,location_id:0 -msgid "Location" -msgstr "" - -#. module: base_contact -#: model:process.transition,name:base_contact.process_transition_partnertoaddress0 -msgid "Partner to address" -msgstr "Socio a dirección" - -#. module: base_contact -#: help:res.partner.contact,active:0 -msgid "" -"If the active field is set to False, it will allow you to " -"hide the partner contact without removing it." -msgstr "" -"Si el campo activo se desmarca, permite ocultar el contacto de la empresa " -"sin eliminarlo." - -#. module: base_contact -#: field:res.partner.contact,website:0 -msgid "Website" -msgstr "Sitio web" - -#. module: base_contact -#: field:res.partner.location,zip:0 -msgid "Zip" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,state_id:0 -msgid "Fed. State" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,company_id:0 -msgid "Company" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,title:0 -msgid "Title" -msgstr "Título" - -#. module: base_contact -#: field:res.partner.location,partner_id:0 -msgid "Main Partner" -msgstr "" - -#. module: base_contact -#: model:process.process,name:base_contact.process_process_basecontactprocess0 -msgid "Base Contact" -msgstr "Contacto base" - -#. module: base_contact -#: field:res.partner.contact,email:0 -msgid "E-Mail" -msgstr "E-mail" - -#. module: base_contact -#: field:res.partner.contact,active:0 -msgid "Active" -msgstr "Activo" - -#. module: base_contact -#: field:res.partner.contact,country_id:0 -msgid "Nationality" -msgstr "Nacionalidad" - -#. module: base_contact -#: view:res.partner:0 -#: view:res.partner.address:0 -msgid "Postal Address" -msgstr "Dirección postal" - -#. module: base_contact -#: field:res.partner.contact,function:0 -msgid "Main Function" -msgstr "Función principal" - -#. module: base_contact -#: model:process.transition,note:base_contact.process_transition_partnertoaddress0 -msgid "Define partners and their addresses." -msgstr "Definir socio y sus direcciones." - -#. module: base_contact -#: field:res.partner.contact,name:0 -msgid "Name" -msgstr "Nombre" - -#. module: base_contact -#: field:res.partner.contact,lang_id:0 -msgid "Language" -msgstr "Idioma" - -#. module: base_contact -#: field:res.partner.contact,mobile:0 -msgid "Mobile" -msgstr "Celular" - -#. module: base_contact -#: field:res.partner.location,country_id:0 -msgid "Country" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,comment:0 -msgid "Notes" -msgstr "Notas" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_contacts0 -msgid "People you work with." -msgstr "Gente con la que trabaja." - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Extra Information" -msgstr "Información extra" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,job_ids:0 -msgid "Functions and Addresses" -msgstr "Cargos y direcciones" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_contact -#: field:res.partner.address,contact_id:0 -msgid "Contact" -msgstr "Contacto" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_location -msgid "res.partner.location" -msgstr "" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_partners0 -msgid "Companies you work with." -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,partner_id:0 -msgid "Main Employer" -msgstr "Empleado principal" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner Contact" -msgstr "Contacto" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_addresses0 -msgid "Addresses" -msgstr "Direcciones" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_addresses0 -msgid "Working and private addresses." -msgstr "Direcciones de trabajo y privadas." - -#. module: base_contact -#: field:res.partner.contact,last_name:0 -msgid "Last Name" -msgstr "Apellido" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,photo:0 -msgid "Photo" -msgstr "Foto" - -#. module: base_contact -#: view:res.partner.location:0 -msgid "Locations" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "General" -msgstr "General" - -#. module: base_contact -#: field:res.partner.location,street:0 -msgid "Street" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner" -msgstr "Socio" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_partners0 -msgid "Partners" -msgstr "Empresas" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_address -msgid "Partner Addresses" -msgstr "Direcciones de Socio" - -#. module: base_contact -#: field:res.partner.location,street2:0 -msgid "Street2" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Personal Information" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,birthdate:0 -msgid "Birth Date" -msgstr "Fecha de nacimiento" - -#~ msgid "# of Contacts" -#~ msgstr "Número de Contactos" - -#~ msgid "Job FAX no." -#~ msgstr "Número del Fax del trabajo." - -#~ msgid "" -#~ "You may enter Address first,Partner will be linked " -#~ "automatically if any." -#~ msgstr "" -#~ "Puede introducir primero una dirección, se relacionará automáticamente con " -#~ "la empresa si hay una." - -#~ msgid "Function of this contact with this partner" -#~ msgstr "Función de este contacto con esta empresa." - -#~ msgid "Status of Address" -#~ msgstr "Estado de la dirección." - -#~ msgid "title" -#~ msgstr "título" - -#~ msgid "Start date of job(Joining Date)" -#~ msgstr "Fecha inicial del trabajo (fecha de unión)." - -#~ msgid "Fax" -#~ msgstr "Fax" - -#~ msgid "Select the Option for Addresses Migration" -#~ msgstr "Seleccione la opción para la migración de direcciones" - -#~ msgid "Define functions and address." -#~ msgstr "Definir cargos y direcciones." - -#~ msgid "Migrate" -#~ msgstr "Migrar" - -#~ msgid "State" -#~ msgstr "Departamento" - -#~ msgid "Jobs at a same partner address." -#~ msgstr "Trabajos en la misma dirección de empresa." - -#~ msgid "Last date of job" -#~ msgstr "Fecha final del trabajo." - -#~ msgid "Contact's Jobs" -#~ msgstr "Trabajos del contacto" - -#~ msgid "Categories" -#~ msgstr "Categorías" - -#~ msgid "Job Phone no." -#~ msgstr "Número de teléfono del trabajo." - -#~ msgid "" -#~ "Order of importance of this job title in the list of job " -#~ "title of the linked partner" -#~ msgstr "" -#~ "Orden de importancia de este título de trabajo en la lista de títulos de " -#~ "trabajo de la empresa relacionada." - -#~ msgid "Date Stop" -#~ msgstr "Fecha final" - -#~ msgid "" -#~ "\n" -#~ " This module allows you to manage your contacts entirely.\n" -#~ "\n" -#~ " It lets you define\n" -#~ " *contacts unrelated to a partner,\n" -#~ " *contacts working at several addresses (possibly for different " -#~ "partners),\n" -#~ " *contacts with possibly different functions for each of its job's " -#~ "addresses\n" -#~ "\n" -#~ " It also adds new menu items located in\n" -#~ " Partners \\ Contacts\n" -#~ " Partners \\ Functions\n" -#~ "\n" -#~ " Pay attention that this module converts the existing addresses into " -#~ "\"addresses + contacts\". It means that some fields of the addresses will be " -#~ "missing (like the contact name), since these are supposed to be defined in " -#~ "an other object.\n" -#~ " " -#~ msgstr "" -#~ "\n" -#~ " Este módulo le permite gestionar sus contactos de forma completa.\n" -#~ "\n" -#~ " Le permite definir:\n" -#~ " *contactos sin ninguna relación con una empresa,\n" -#~ " *contactos que trabajan en varias direcciones (probablemente para " -#~ "distintas empresas),\n" -#~ " *contactos con varias funciones para cada una de sus direcciones de " -#~ "trabajo\n" -#~ "\n" -#~ " También añade nuevas entradas de menús localizadas en:\n" -#~ " Empresas \\ Contactos\n" -#~ " Empresas \\ Funciones\n" -#~ "\n" -#~ " Tenga cuidado que este módulo convierte las direcciones existentes en " -#~ "\"direcciones + contactos\". Esto significa que algunos campos de las " -#~ "direcciones desaparecerán (como el nombre del contacto), ya que se supone " -#~ "que estarán definidos en otro objeto.\n" -#~ " " - -#~ msgid "Internal/External extension phone number" -#~ msgstr "Número de extensión telefónica interior/exterior" - -#~ msgid "Extension" -#~ msgstr "Extensión" - -#~ msgid "Configuration Progress" -#~ msgstr "Progreso de la configuración" - -#~ msgid "Job E-Mail" -#~ msgstr "Correo electrónico del trabajo." - -#~ msgid "Image" -#~ msgstr "Imagen" - -#~ msgid "Communication" -#~ msgstr "Comunicación" - -#~ msgid "Function to address" -#~ msgstr "Cargo a dirección" - -#~ msgid "Past" -#~ msgstr "Anterior" - -#~ msgid "Partner Seq." -#~ msgstr "Sec. socio" - -#~ msgid "Address which is linked to the Partner" -#~ msgstr "Dirección que está relacionada con la empresa." - -#~ msgid "" -#~ "Due to changes in Address and Partner's relation, some of the details from " -#~ "address are needed to be migrated into contact information." -#~ msgstr "" -#~ "Debido a los cambios en la relación entre Direcciones y Empresas, algunos de " -#~ "los detalles de las direcciones son necesarios migrarlos a la información de " -#~ "contactos." - -#~ msgid "Partner Function" -#~ msgstr "Función del socio" - -#~ msgid "Search Contact" -#~ msgstr "Buscar contacto" - -#~ msgid "Additional phone field" -#~ msgstr "Campo para teléfono adicional" - -#~ msgid "Address's Migration to Contacts" -#~ msgstr "Migración de direcciones a contactos" - -#~ msgid "Contact Seq." -#~ msgstr "Sec. contacto" - -#~ msgid "Contact Functions" -#~ msgstr "Funciones contacto" - -#~ msgid "Phone" -#~ msgstr "Teléfono" - -#~ msgid "Do you want to migrate your Address data in Contact Data?" -#~ msgstr "¿Desea migrar los datos de direcciones hacia los datos de contacto?" - -#~ msgid "Otherwise these details will not be visible from address/contact." -#~ msgstr "Sino estos detalles no serán visibles desde direcciones/contactos." - -#~ msgid "base.contact.installer" -#~ msgstr "base.contacto.instalador" - -#~ msgid "Configure" -#~ msgstr "Configurar" - -#~ msgid "Seq." -#~ msgstr "Sec." - -#~ msgid "If you select this, all addresses will be migrated." -#~ msgstr "Si selecciona esta opción, todas las direcciones serán migradas." - -#~ msgid "Contact to function" -#~ msgstr "Contacto a cargo" - -#~ msgid "Main Job" -#~ msgstr "Trabajo principal" - -#~ msgid "Defines contacts and functions." -#~ msgstr "Define contactos y cargos." - -#~ msgid "Contact Partner Function" -#~ msgstr "Función contacto en Socio" - -#~ msgid "Current" -#~ msgstr "Actual" - -#~ msgid "Function" -#~ msgstr "Cargo" - -#~ msgid "Address" -#~ msgstr "Dirección" - -#~ msgid "Other" -#~ msgstr "Otro" - -#~ msgid "" -#~ "Order of importance of this address in the list of " -#~ "addresses of the linked contact" -#~ msgstr "" -#~ "Orden de importancia de esta dirección en la lista de direcciones del " -#~ "contacto relacionado." - -#~ msgid "Address Migration" -#~ msgstr "Migración direcciones" - -#~ msgid "Date Start" -#~ msgstr "Fecha inicial" - -#~ msgid "Open Jobs" -#~ msgstr "Abrir trabajos" - -#~ msgid "You can migrate Partner's current addresses to the contact." -#~ msgstr "Puede migrar las direcciones actuales de la empresa al contacto." diff --git a/addons/base_contact/i18n/es_VE.po b/addons/base_contact/i18n/es_VE.po deleted file mode 100644 index b52490050ce..00000000000 --- a/addons/base_contact/i18n/es_VE.po +++ /dev/null @@ -1,582 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * base_contact -# -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 6.0dev\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2011-01-11 11:14+0000\n" -"PO-Revision-Date: 2010-12-28 08:39+0000\n" -"Last-Translator: Jordi Esteve (www.zikzakmedia.com) " -"<jesteve@zikzakmedia.com>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-09-05 05:09+0000\n" -"X-Generator: Launchpad (build 13830)\n" - -#. module: base_contact -#: field:res.partner.contact,title:0 -msgid "Title" -msgstr "Título" - -#. module: base_contact -#: view:res.partner.address:0 -msgid "# of Contacts" -msgstr "Número de Contactos" - -#. module: base_contact -#: field:res.partner.job,fax:0 -msgid "Fax" -msgstr "Fax" - -#. module: base_contact -#: view:base.contact.installer:0 -msgid "title" -msgstr "título" - -#. module: base_contact -#: help:res.partner.job,date_start:0 -msgid "Start date of job(Joining Date)" -msgstr "Fecha inicial del trabajo (fecha de unión)." - -#. module: base_contact -#: view:base.contact.installer:0 -msgid "Select the Option for Addresses Migration" -msgstr "Seleccione la opción para la migración de direcciones" - -#. module: base_contact -#: help:res.partner.job,function:0 -msgid "Function of this contact with this partner" -msgstr "Función de este contacto con esta empresa." - -#. module: base_contact -#: help:res.partner.job,state:0 -msgid "Status of Address" -msgstr "Estado de la dirección." - -#. module: base_contact -#: help:res.partner.job,name:0 -msgid "" -"You may enter Address first,Partner will be linked " -"automatically if any." -msgstr "" -"Puede introducir primero una dirección, se relacionará automáticamente con " -"la empresa si hay una." - -#. module: base_contact -#: help:res.partner.job,fax:0 -msgid "Job FAX no." -msgstr "Número del Fax del trabajo." - -#. module: base_contact -#: field:res.partner.contact,mobile:0 -msgid "Mobile" -msgstr "Móvil" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,comment:0 -msgid "Notes" -msgstr "Notas" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_contacts0 -msgid "People you work with." -msgstr "Gente con la que trabaja." - -#. module: base_contact -#: model:process.transition,note:base_contact.process_transition_functiontoaddress0 -msgid "Define functions and address." -msgstr "Definir cargos y direcciones." - -#. module: base_contact -#: help:res.partner.job,date_stop:0 -msgid "Last date of job" -msgstr "Fecha final del trabajo." - -#. module: base_contact -#: view:base.contact.installer:0 -#: field:base.contact.installer,migrate:0 -msgid "Migrate" -msgstr "Migrar" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.job,name:0 -msgid "Partner" -msgstr "Empresa" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_function0 -msgid "Jobs at a same partner address." -msgstr "Trabajos en la misma dirección de empresa." - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_partners0 -msgid "Partners" -msgstr "Empresas" - -#. module: base_contact -#: field:res.partner.job,state:0 -msgid "State" -msgstr "Estado" - -#. module: base_contact -#: help:res.partner.contact,active:0 -msgid "" -"If the active field is set to False, it will allow you to " -"hide the partner contact without removing it." -msgstr "" -"Si el campo activo se desmarca, permite ocultar el contacto de la empresa " -"sin eliminarlo." - -#. module: base_contact -#: model:ir.module.module,description:base_contact.module_meta_information -msgid "" -"\n" -" This module allows you to manage your contacts entirely.\n" -"\n" -" It lets you define\n" -" *contacts unrelated to a partner,\n" -" *contacts working at several addresses (possibly for different " -"partners),\n" -" *contacts with possibly different functions for each of its job's " -"addresses\n" -"\n" -" It also adds new menu items located in\n" -" Partners \\ Contacts\n" -" Partners \\ Functions\n" -"\n" -" Pay attention that this module converts the existing addresses into " -"\"addresses + contacts\". It means that some fields of the addresses will be " -"missing (like the contact name), since these are supposed to be defined in " -"an other object.\n" -" " -msgstr "" -"\n" -" Este módulo le permite gestionar sus contactos de forma completa.\n" -"\n" -" Le permite definir:\n" -" *contactos sin ninguna relación con una empresa,\n" -" *contactos que trabajan en varias direcciones (probablemente para " -"distintas empresas),\n" -" *contactos con varias funciones para cada una de sus direcciones de " -"trabajo\n" -"\n" -" También añade nuevas entradas de menús localizadas en:\n" -" Empresas \\ Contactos\n" -" Empresas \\ Funciones\n" -"\n" -" Tenga cuidado que este módulo convierte las direcciones existentes en " -"\"direcciones + contactos\". Esto significa que algunos campos de las " -"direcciones desaparecerán (como el nombre del contacto), ya que se supone " -"que estarán definidos en otro objeto.\n" -" " - -#. module: base_contact -#: model:ir.module.module,shortdesc:base_contact.module_meta_information -#: model:process.process,name:base_contact.process_process_basecontactprocess0 -msgid "Base Contact" -msgstr "Contacto base" - -#. module: base_contact -#: field:res.partner.job,date_stop:0 -msgid "Date Stop" -msgstr "Fecha finalización" - -#. module: base_contact -#: model:ir.actions.act_window,name:base_contact.action_res_partner_job -msgid "Contact's Jobs" -msgstr "Trabajos del contacto" - -#. module: base_contact -#: view:res.partner:0 -msgid "Categories" -msgstr "Categorías" - -#. module: base_contact -#: help:res.partner.job,sequence_partner:0 -msgid "" -"Order of importance of this job title in the list of job " -"title of the linked partner" -msgstr "" -"Orden de importancia de este título de trabajo en la lista de títulos de " -"trabajo de la empresa relacionada." - -#. module: base_contact -#: field:res.partner.job,extension:0 -msgid "Extension" -msgstr "Extensión" - -#. module: base_contact -#: help:res.partner.job,extension:0 -msgid "Internal/External extension phone number" -msgstr "Número de extensión telefónica interior/exterior" - -#. module: base_contact -#: help:res.partner.job,phone:0 -msgid "Job Phone no." -msgstr "Número de teléfono del trabajo." - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,job_ids:0 -msgid "Functions and Addresses" -msgstr "Cargos y direcciones" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_contact -#: field:res.partner.job,contact_id:0 -msgid "Contact" -msgstr "Contacto" - -#. module: base_contact -#: help:res.partner.job,email:0 -msgid "Job E-Mail" -msgstr "Correo electrónico del trabajo." - -#. module: base_contact -#: field:res.partner.job,sequence_partner:0 -msgid "Partner Seq." -msgstr "Sec. empresa" - -#. module: base_contact -#: model:process.transition,name:base_contact.process_transition_functiontoaddress0 -msgid "Function to address" -msgstr "Cargo a dirección" - -#. module: base_contact -#: field:base.contact.installer,progress:0 -msgid "Configuration Progress" -msgstr "Progreso configuración" - -#. module: base_contact -#: field:res.partner.contact,name:0 -msgid "Last Name" -msgstr "Apellido" - -#. module: base_contact -#: view:res.partner:0 -#: view:res.partner.contact:0 -msgid "Communication" -msgstr "Comunicación" - -#. module: base_contact -#: field:base.contact.installer,config_logo:0 -#: field:res.partner.contact,photo:0 -msgid "Image" -msgstr "Imagen" - -#. module: base_contact -#: selection:res.partner.job,state:0 -msgid "Past" -msgstr "Anterior" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_address -msgid "Partner Addresses" -msgstr "Direcciones de empresa" - -#. module: base_contact -#: view:base.contact.installer:0 -msgid "Address's Migration to Contacts" -msgstr "Migración de direcciones a contactos" - -#. module: base_contact -#: field:res.partner.job,sequence_contact:0 -msgid "Contact Seq." -msgstr "Sec. contacto" - -#. module: base_contact -#: view:res.partner.address:0 -msgid "Search Contact" -msgstr "Buscar contacto" - -#. module: base_contact -#: model:ir.actions.act_window,name:base_contact.action_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_purchases_partner_contact_form -#: model:process.node,name:base_contact.process_node_contacts0 -#: view:res.partner:0 -#: field:res.partner.address,job_ids:0 -msgid "Contacts" -msgstr "Contactos" - -#. module: base_contact -#: view:base.contact.installer:0 -msgid "" -"Due to changes in Address and Partner's relation, some of the details from " -"address are needed to be migrated into contact information." -msgstr "" -"Debido a los cambios en la relación entre Direcciones y Empresas, algunos de " -"los detalles de las direcciones son necesarios migrarlos a la información de " -"contactos." - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_addresses0 -msgid "Working and private addresses." -msgstr "Direcciones de trabajo y privadas." - -#. module: base_contact -#: help:res.partner.job,address_id:0 -msgid "Address which is linked to the Partner" -msgstr "Dirección que está relacionada con la empresa." - -#. module: base_contact -#: field:res.partner.job,function:0 -msgid "Partner Function" -msgstr "Función en empresa" - -#. module: base_contact -#: help:res.partner.job,other:0 -msgid "Additional phone field" -msgstr "Campo para teléfono adicional" - -#. module: base_contact -#: field:res.partner.contact,website:0 -msgid "Website" -msgstr "Sitio web" - -#. module: base_contact -#: view:base.contact.installer:0 -msgid "Otherwise these details will not be visible from address/contact." -msgstr "Si no estos detalles no serán visibles desde direcciones/contactos." - -#. module: base_contact -#: view:base.contact.installer:0 -msgid "Configure" -msgstr "Configurar" - -#. module: base_contact -#: field:res.partner.contact,email:0 -#: field:res.partner.job,email:0 -msgid "E-Mail" -msgstr "Correo electrónico" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_base_contact_installer -msgid "base.contact.installer" -msgstr "base.contacto.instalador" - -#. module: base_contact -#: view:res.partner.job:0 -msgid "Contact Functions" -msgstr "Funciones contacto" - -#. module: base_contact -#: field:res.partner.job,phone:0 -msgid "Phone" -msgstr "Teléfono" - -#. module: base_contact -#: view:base.contact.installer:0 -msgid "Do you want to migrate your Address data in Contact Data?" -msgstr "¿Desea migrar los datos de direcciones hacia los datos de contacto?" - -#. module: base_contact -#: field:res.partner.contact,active:0 -msgid "Active" -msgstr "Activo" - -#. module: base_contact -#: field:res.partner.contact,function:0 -msgid "Main Function" -msgstr "Función principal" - -#. module: base_contact -#: model:process.transition,note:base_contact.process_transition_partnertoaddress0 -msgid "Define partners and their addresses." -msgstr "Definir empresas y sus direcciones." - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Seq." -msgstr "Sec." - -#. module: base_contact -#: field:res.partner.contact,lang_id:0 -msgid "Language" -msgstr "Idioma" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Extra Information" -msgstr "Información extra" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_partners0 -msgid "Companies you work with." -msgstr "Empresas en las que trabaja." - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner Contact" -msgstr "Contacto empresa" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "General" -msgstr "General" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Photo" -msgstr "Foto" - -#. module: base_contact -#: field:res.partner.contact,birthdate:0 -msgid "Birth Date" -msgstr "Fecha nacimiento" - -#. module: base_contact -#: help:base.contact.installer,migrate:0 -msgid "If you select this, all addresses will be migrated." -msgstr "Si selecciona esta opción, todas las direcciones serán migradas." - -#. module: base_contact -#: selection:res.partner.job,state:0 -msgid "Current" -msgstr "Actual" - -#. module: base_contact -#: field:res.partner.contact,first_name:0 -msgid "First Name" -msgstr "Nombre" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_job -msgid "Contact Partner Function" -msgstr "Función contacto en empresa" - -#. module: base_contact -#: field:res.partner.job,other:0 -msgid "Other" -msgstr "Otro" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_function0 -msgid "Function" -msgstr "Cargo" - -#. module: base_contact -#: field:res.partner.address,job_id:0 -#: field:res.partner.contact,job_id:0 -msgid "Main Job" -msgstr "Trabajo principal" - -#. module: base_contact -#: model:process.transition,note:base_contact.process_transition_contacttofunction0 -msgid "Defines contacts and functions." -msgstr "Define contactos y cargos." - -#. module: base_contact -#: model:process.transition,name:base_contact.process_transition_contacttofunction0 -msgid "Contact to function" -msgstr "Contacto a cargo" - -#. module: base_contact -#: view:res.partner:0 -#: field:res.partner.job,address_id:0 -msgid "Address" -msgstr "Dirección" - -#. module: base_contact -#: field:res.partner.contact,country_id:0 -msgid "Nationality" -msgstr "Nacionalidad" - -#. module: base_contact -#: model:ir.actions.act_window,name:base_contact.act_res_partner_jobs -msgid "Open Jobs" -msgstr "Abrir trabajos" - -#. module: base_contact -#: field:base.contact.installer,name:0 -msgid "Name" -msgstr "Nombre" - -#. module: base_contact -#: view:base.contact.installer:0 -msgid "You can migrate Partner's current addresses to the contact." -msgstr "Puede migrar las direcciones actuales de la empresa al contacto." - -#. module: base_contact -#: field:res.partner.contact,partner_id:0 -msgid "Main Employer" -msgstr "Empleado principal" - -#. module: base_contact -#: model:ir.actions.act_window,name:base_contact.action_base_contact_installer -msgid "Address Migration" -msgstr "Migración direcciones" - -#. module: base_contact -#: view:res.partner:0 -msgid "Postal Address" -msgstr "Dirección postal" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_addresses0 -#: view:res.partner:0 -msgid "Addresses" -msgstr "Direcciones" - -#. module: base_contact -#: model:process.transition,name:base_contact.process_transition_partnertoaddress0 -msgid "Partner to address" -msgstr "Empresa a dirección" - -#. module: base_contact -#: field:res.partner.job,date_start:0 -msgid "Date Start" -msgstr "Fecha inicio" - -#. module: base_contact -#: help:res.partner.job,sequence_contact:0 -msgid "" -"Order of importance of this address in the list of " -"addresses of the linked contact" -msgstr "" -"Orden de importancia de esta dirección en la lista de direcciones del " -"contacto relacionado." - -#~ msgid "res.partner.contact" -#~ msgstr "res.partner.contact" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "" -#~ "¡El nombre del objeto debe empezar con x_ y no contener ningún carácter " -#~ "especial!" - -#~ msgid "" -#~ "Order of importance of this job title in the list of job title of the linked " -#~ "partner" -#~ msgstr "" -#~ "Orden de importancia de este empleo en la lista de empleos de la empresa " -#~ "relacionada" - -#~ msgid "" -#~ "Order of importance of this address in the list of addresses of the linked " -#~ "contact" -#~ msgstr "" -#~ "Orden de importancia de esta dirección en la lista de direcciones del " -#~ "contacto relacionado" - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "¡XML inválido para la definición de la vista!" - -#~ msgid "Base Contact Process" -#~ msgstr "Proceso contacto base" - -#~ msgid "Partner Contacts" -#~ msgstr "Contactos de la empresa" - -#~ msgid "General Information" -#~ msgstr "Información general" - -#~ msgid "Invalid model name in the action definition." -#~ msgstr "Nombre de modelo no válido en la definición de acción." diff --git a/addons/base_contact/i18n/et.po b/addons/base_contact/i18n/et.po deleted file mode 100644 index fa72765fabb..00000000000 --- a/addons/base_contact/i18n/et.po +++ /dev/null @@ -1,377 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * base_contact -# -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 6.0dev\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2012-02-08 00:36+0000\n" -"PO-Revision-Date: 2009-11-09 16:40+0000\n" -"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-02-09 06:14+0000\n" -"X-Generator: Launchpad (build 14763)\n" - -#. module: base_contact -#: field:res.partner.location,city:0 -msgid "City" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "First/Lastname" -msgstr "" - -#. module: base_contact -#: model:ir.actions.act_window,name:base_contact.action_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_purchases_partner_contact_form -#: model:process.node,name:base_contact.process_node_contacts0 -#: field:res.partner.location,job_ids:0 -msgid "Contacts" -msgstr "Kontaktid" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Professional Info" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,first_name:0 -msgid "First Name" -msgstr "Eesnimi" - -#. module: base_contact -#: field:res.partner.address,location_id:0 -msgid "Location" -msgstr "" - -#. module: base_contact -#: model:process.transition,name:base_contact.process_transition_partnertoaddress0 -msgid "Partner to address" -msgstr "Partner aadressidesse" - -#. module: base_contact -#: help:res.partner.contact,active:0 -msgid "" -"If the active field is set to False, it will allow you to " -"hide the partner contact without removing it." -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,website:0 -msgid "Website" -msgstr "Veebileht" - -#. module: base_contact -#: field:res.partner.location,zip:0 -msgid "Zip" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,state_id:0 -msgid "Fed. State" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,company_id:0 -msgid "Company" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,title:0 -msgid "Title" -msgstr "Tiitel" - -#. module: base_contact -#: field:res.partner.location,partner_id:0 -msgid "Main Partner" -msgstr "" - -#. module: base_contact -#: model:process.process,name:base_contact.process_process_basecontactprocess0 -msgid "Base Contact" -msgstr "Baas kontakt" - -#. module: base_contact -#: field:res.partner.contact,email:0 -msgid "E-Mail" -msgstr "E-post" - -#. module: base_contact -#: field:res.partner.contact,active:0 -msgid "Active" -msgstr "Aktiivne" - -#. module: base_contact -#: field:res.partner.contact,country_id:0 -msgid "Nationality" -msgstr "Rahvus" - -#. module: base_contact -#: view:res.partner:0 -#: view:res.partner.address:0 -msgid "Postal Address" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,function:0 -msgid "Main Function" -msgstr "Peamine funktsioon" - -#. module: base_contact -#: model:process.transition,note:base_contact.process_transition_partnertoaddress0 -msgid "Define partners and their addresses." -msgstr "Defineeri partnerid ja nende aadressid." - -#. module: base_contact -#: field:res.partner.contact,name:0 -msgid "Name" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,lang_id:0 -msgid "Language" -msgstr "Keel" - -#. module: base_contact -#: field:res.partner.contact,mobile:0 -msgid "Mobile" -msgstr "Mobiil" - -#. module: base_contact -#: field:res.partner.location,country_id:0 -msgid "Country" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,comment:0 -msgid "Notes" -msgstr "" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_contacts0 -msgid "People you work with." -msgstr "Inimesed kellega sa töötad" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Extra Information" -msgstr "Täiendav informatsioon" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,job_ids:0 -msgid "Functions and Addresses" -msgstr "Otstarbed ja aadressid" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_contact -#: field:res.partner.address,contact_id:0 -msgid "Contact" -msgstr "Kontakt" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_location -msgid "res.partner.location" -msgstr "" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_partners0 -msgid "Companies you work with." -msgstr "Ettevõtted kellega sa töötad" - -#. module: base_contact -#: field:res.partner.contact,partner_id:0 -msgid "Main Employer" -msgstr "Peamine tööandja" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner Contact" -msgstr "Partneri Kontakt" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_addresses0 -msgid "Addresses" -msgstr "Aadressid" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_addresses0 -msgid "Working and private addresses." -msgstr "Töö ja kodune aadress" - -#. module: base_contact -#: field:res.partner.contact,last_name:0 -msgid "Last Name" -msgstr "Perekonnanimi" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,photo:0 -msgid "Photo" -msgstr "" - -#. module: base_contact -#: view:res.partner.location:0 -msgid "Locations" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "General" -msgstr "Üldine" - -#. module: base_contact -#: field:res.partner.location,street:0 -msgid "Street" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner" -msgstr "Partner" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_partners0 -msgid "Partners" -msgstr "Partnerid" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_address -msgid "Partner Addresses" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,street2:0 -msgid "Street2" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Personal Information" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,birthdate:0 -msgid "Birth Date" -msgstr "Sünnikuupäev" - -#~ msgid "Contact Seq." -#~ msgstr "Kontakti järjestus" - -#~ msgid "res.partner.contact" -#~ msgstr "res.partner.contact" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "" -#~ "Objekti nimi peab algama x_'ga ja ei tohi sisaldada ühtegi erisümbolit !" - -#~ msgid "Partner Seq." -#~ msgstr "Partneri järjestus" - -#~ msgid "Current" -#~ msgstr "Praegune" - -#~ msgid "Function" -#~ msgstr "Funktsioon" - -#~ msgid "Main Job" -#~ msgstr "Peamine töö" - -#~ msgid "Phone" -#~ msgstr "Telefon" - -#~ msgid "Defines contacts and functions." -#~ msgstr "Määratleb kontaktid ja otstarbed." - -#~ msgid "Contact Functions" -#~ msgstr "Kontaktifunktsioonid" - -#~ msgid "" -#~ "Order of importance of this job title in the list of job title of the linked " -#~ "partner" -#~ msgstr "Selle ameti tähtsus kontakti ametite nimistus." - -#~ msgid "Date Stop" -#~ msgstr "Lõppkuupäev" - -#~ msgid "Address" -#~ msgstr "Aadress" - -#~ msgid "Contact's Jobs" -#~ msgstr "Kontakti ametid" - -#~ msgid "" -#~ "Order of importance of this address in the list of addresses of the linked " -#~ "contact" -#~ msgstr "Selle aadressi tähtsus kontakti aadresside nimistus." - -#~ msgid "Categories" -#~ msgstr "Kategooriad" - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "Vigane XML vaate arhitektuurile!" - -#~ msgid "Base Contact Process" -#~ msgstr "Kontakti alusprotsess" - -#~ msgid "Seq." -#~ msgstr "Jada" - -#~ msgid "Partner Contacts" -#~ msgstr "Partneri Kontaktid" - -#~ msgid "State" -#~ msgstr "Olek" - -#~ msgid "Past" -#~ msgstr "Endine" - -#~ msgid "General Information" -#~ msgstr "Üldine Informatsioon" - -#~ msgid "Jobs at a same partner address." -#~ msgstr "Ametid sama partneri aadressil" - -#~ msgid "Date Start" -#~ msgstr "Alguskuupäev" - -#~ msgid "Define functions and address." -#~ msgstr "Määratle otstarbed ja aadressid." - -#~ msgid "Invalid model name in the action definition." -#~ msgstr "Vigane mudeli nimi toimingu definitsioonis." - -#~ msgid "# of Contacts" -#~ msgstr "Kontaktide arv" - -#~ msgid "Fax" -#~ msgstr "Faks" - -#~ msgid "Extension" -#~ msgstr "Laiendus" - -#~ msgid "Other" -#~ msgstr "Muu" - -#~ msgid "Additional phone field" -#~ msgstr "Lisa telefoniväli" - -#~ msgid "Contact Partner Function" -#~ msgstr "Kontaktpartneri funktsioon" - -#~ msgid "Partner Function" -#~ msgstr "Partneri funktsioon" - -#~ msgid "Function to address" -#~ msgstr "Funktsioon aadressidesse" - -#~ msgid "Contact to function" -#~ msgstr "Kontakt funktsioonidesse" diff --git a/addons/base_contact/i18n/fa.po b/addons/base_contact/i18n/fa.po deleted file mode 100644 index d0c554bb90d..00000000000 --- a/addons/base_contact/i18n/fa.po +++ /dev/null @@ -1,264 +0,0 @@ -# Persian translation for openobject-addons -# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 -# This file is distributed under the same license as the openobject-addons package. -# FIRST AUTHOR <EMAIL@ADDRESS>, 2011. -# -msgid "" -msgstr "" -"Project-Id-Version: openobject-addons\n" -"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2012-02-08 00:36+0000\n" -"PO-Revision-Date: 2011-12-19 09:36+0000\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: Persian <fa@li.org>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-02-09 06:14+0000\n" -"X-Generator: Launchpad (build 14763)\n" - -#. module: base_contact -#: field:res.partner.location,city:0 -msgid "City" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "First/Lastname" -msgstr "" - -#. module: base_contact -#: model:ir.actions.act_window,name:base_contact.action_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_purchases_partner_contact_form -#: model:process.node,name:base_contact.process_node_contacts0 -#: field:res.partner.location,job_ids:0 -msgid "Contacts" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Professional Info" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,first_name:0 -msgid "First Name" -msgstr "" - -#. module: base_contact -#: field:res.partner.address,location_id:0 -msgid "Location" -msgstr "" - -#. module: base_contact -#: model:process.transition,name:base_contact.process_transition_partnertoaddress0 -msgid "Partner to address" -msgstr "" - -#. module: base_contact -#: help:res.partner.contact,active:0 -msgid "" -"If the active field is set to False, it will allow you to " -"hide the partner contact without removing it." -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,website:0 -msgid "Website" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,zip:0 -msgid "Zip" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,state_id:0 -msgid "Fed. State" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,company_id:0 -msgid "Company" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,title:0 -msgid "Title" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,partner_id:0 -msgid "Main Partner" -msgstr "" - -#. module: base_contact -#: model:process.process,name:base_contact.process_process_basecontactprocess0 -msgid "Base Contact" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,email:0 -msgid "E-Mail" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,active:0 -msgid "Active" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,country_id:0 -msgid "Nationality" -msgstr "" - -#. module: base_contact -#: view:res.partner:0 -#: view:res.partner.address:0 -msgid "Postal Address" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,function:0 -msgid "Main Function" -msgstr "" - -#. module: base_contact -#: model:process.transition,note:base_contact.process_transition_partnertoaddress0 -msgid "Define partners and their addresses." -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,name:0 -msgid "Name" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,lang_id:0 -msgid "Language" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,mobile:0 -msgid "Mobile" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,country_id:0 -msgid "Country" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,comment:0 -msgid "Notes" -msgstr "" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_contacts0 -msgid "People you work with." -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Extra Information" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,job_ids:0 -msgid "Functions and Addresses" -msgstr "" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_contact -#: field:res.partner.address,contact_id:0 -msgid "Contact" -msgstr "" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_location -msgid "res.partner.location" -msgstr "" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_partners0 -msgid "Companies you work with." -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,partner_id:0 -msgid "Main Employer" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner Contact" -msgstr "" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_addresses0 -msgid "Addresses" -msgstr "" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_addresses0 -msgid "Working and private addresses." -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,last_name:0 -msgid "Last Name" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,photo:0 -msgid "Photo" -msgstr "" - -#. module: base_contact -#: view:res.partner.location:0 -msgid "Locations" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "General" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,street:0 -msgid "Street" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner" -msgstr "" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_partners0 -msgid "Partners" -msgstr "" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_address -msgid "Partner Addresses" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,street2:0 -msgid "Street2" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Personal Information" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,birthdate:0 -msgid "Birth Date" -msgstr "" diff --git a/addons/base_contact/i18n/fi.po b/addons/base_contact/i18n/fi.po deleted file mode 100644 index d77d0644f78..00000000000 --- a/addons/base_contact/i18n/fi.po +++ /dev/null @@ -1,461 +0,0 @@ -# Finnish translation for openobject-addons -# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 -# This file is distributed under the same license as the openobject-addons package. -# FIRST AUTHOR <EMAIL@ADDRESS>, 2009. -# -msgid "" -msgstr "" -"Project-Id-Version: openobject-addons\n" -"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2012-02-08 00:36+0000\n" -"PO-Revision-Date: 2010-08-03 00:59+0000\n" -"Last-Translator: Mantavya Gajjar (Open ERP) <Unknown>\n" -"Language-Team: Finnish <fi@li.org>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-02-09 06:14+0000\n" -"X-Generator: Launchpad (build 14763)\n" - -#. module: base_contact -#: field:res.partner.location,city:0 -msgid "City" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "First/Lastname" -msgstr "" - -#. module: base_contact -#: model:ir.actions.act_window,name:base_contact.action_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_purchases_partner_contact_form -#: model:process.node,name:base_contact.process_node_contacts0 -#: field:res.partner.location,job_ids:0 -msgid "Contacts" -msgstr "Kontaktit" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Professional Info" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,first_name:0 -msgid "First Name" -msgstr "Etunimi" - -#. module: base_contact -#: field:res.partner.address,location_id:0 -msgid "Location" -msgstr "" - -#. module: base_contact -#: model:process.transition,name:base_contact.process_transition_partnertoaddress0 -msgid "Partner to address" -msgstr "Yhteistyökumppanin osoite" - -#. module: base_contact -#: help:res.partner.contact,active:0 -msgid "" -"If the active field is set to False, it will allow you to " -"hide the partner contact without removing it." -msgstr "" -"Jos aktiivisuus tila on asetettu ei-voimassa (false) se sallii sinun " -"piilottaa kontaktin poistamatta sitä." - -#. module: base_contact -#: field:res.partner.contact,website:0 -msgid "Website" -msgstr "Websivu" - -#. module: base_contact -#: field:res.partner.location,zip:0 -msgid "Zip" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,state_id:0 -msgid "Fed. State" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,company_id:0 -msgid "Company" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,title:0 -msgid "Title" -msgstr "Otsikko" - -#. module: base_contact -#: field:res.partner.location,partner_id:0 -msgid "Main Partner" -msgstr "" - -#. module: base_contact -#: model:process.process,name:base_contact.process_process_basecontactprocess0 -msgid "Base Contact" -msgstr "Pääkontakti" - -#. module: base_contact -#: field:res.partner.contact,email:0 -msgid "E-Mail" -msgstr "Sähköposti" - -#. module: base_contact -#: field:res.partner.contact,active:0 -msgid "Active" -msgstr "Aktiivinen" - -#. module: base_contact -#: field:res.partner.contact,country_id:0 -msgid "Nationality" -msgstr "Kansallisuus" - -#. module: base_contact -#: view:res.partner:0 -#: view:res.partner.address:0 -msgid "Postal Address" -msgstr "Postiosoite" - -#. module: base_contact -#: field:res.partner.contact,function:0 -msgid "Main Function" -msgstr "Päätoiminto" - -#. module: base_contact -#: model:process.transition,note:base_contact.process_transition_partnertoaddress0 -msgid "Define partners and their addresses." -msgstr "Määrittää kumppanit ja heidän osoitteet" - -#. module: base_contact -#: field:res.partner.contact,name:0 -msgid "Name" -msgstr "Nimi" - -#. module: base_contact -#: field:res.partner.contact,lang_id:0 -msgid "Language" -msgstr "Kieli" - -#. module: base_contact -#: field:res.partner.contact,mobile:0 -msgid "Mobile" -msgstr "Matkapuhelin" - -#. module: base_contact -#: field:res.partner.location,country_id:0 -msgid "Country" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,comment:0 -msgid "Notes" -msgstr "Huomautukset" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_contacts0 -msgid "People you work with." -msgstr "Ihmiset joiden kanssa teet töitä" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Extra Information" -msgstr "Lisätiedot" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,job_ids:0 -msgid "Functions and Addresses" -msgstr "Toiminnot ja osoitteet" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_contact -#: field:res.partner.address,contact_id:0 -msgid "Contact" -msgstr "Kontakti" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_location -msgid "res.partner.location" -msgstr "" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_partners0 -msgid "Companies you work with." -msgstr "Yritykset joiden kanssa teet yhteistyötä" - -#. module: base_contact -#: field:res.partner.contact,partner_id:0 -msgid "Main Employer" -msgstr "Päätyönantaja" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner Contact" -msgstr "Kumppanin Yhteystiedot" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_addresses0 -msgid "Addresses" -msgstr "Osoitteet" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_addresses0 -msgid "Working and private addresses." -msgstr "Työ -ja yksityisosoitteet" - -#. module: base_contact -#: field:res.partner.contact,last_name:0 -msgid "Last Name" -msgstr "Sukunimi" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,photo:0 -msgid "Photo" -msgstr "Kuva" - -#. module: base_contact -#: view:res.partner.location:0 -msgid "Locations" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "General" -msgstr "Yleiset" - -#. module: base_contact -#: field:res.partner.location,street:0 -msgid "Street" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner" -msgstr "Kumppani" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_partners0 -msgid "Partners" -msgstr "Kumppanit" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_address -msgid "Partner Addresses" -msgstr "Kumppanien osoitteet" - -#. module: base_contact -#: field:res.partner.location,street2:0 -msgid "Street2" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Personal Information" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,birthdate:0 -msgid "Birth Date" -msgstr "Syntymäaika" - -#~ msgid "Defines contacts and functions." -#~ msgstr "Määrittää kontaktit ja toiminnot" - -#~ msgid "# of Contacts" -#~ msgstr "Kontaktien määrä" - -#~ msgid "Additional phone field" -#~ msgstr "Lisäpuheliinnumero:" - -#~ msgid "Contact's Jobs" -#~ msgstr "Kontaktin työtehtävät" - -#~ msgid "Contact Functions" -#~ msgstr "Kontaktitoiminnot" - -#~ msgid "Date Stop" -#~ msgstr "Loppupäivämäärä" - -#~ msgid "Main Job" -#~ msgstr "Päätyötehtävä" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "Objektin nimen tulee alkaa x_ ja se ei saa sisältää erikoismerkkejä!" - -#~ msgid "Phone" -#~ msgstr "Puhelin" - -#~ msgid "Fax" -#~ msgstr "Faksi" - -#~ msgid "Categories" -#~ msgstr "Kategoriat" - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "Virheellinen XML näkymä-arkkitehtuurille!" - -#~ msgid "Extension" -#~ msgstr "Laajennus" - -#~ msgid "Address" -#~ msgstr "Osoite" - -#~ msgid "Partner Contacts" -#~ msgstr "Kumppanien yhteishenkilöt" - -#~ msgid "General Information" -#~ msgstr "Yleiset Tiedot" - -#~ msgid "Date Start" -#~ msgstr "Aloituspäivämäärä" - -#~ msgid "Current" -#~ msgstr "Nykyinen" - -#~ msgid "Invalid model name in the action definition." -#~ msgstr "Virheellinen mallin nimi toimenpiteen määrittelyssä." - -#~ msgid "Other" -#~ msgstr "Muu" - -#~ msgid "Function" -#~ msgstr "Toiminto" - -#~ msgid "Define functions and address." -#~ msgstr "Määrittele toiminnot ja osoitteet" - -#~ msgid "" -#~ "You may enter Address first,Partner will be linked " -#~ "automatically if any." -#~ msgstr "" -#~ "Voit lisätä osoitteen ensin. Yhteistyökumppani linkitetään siihen " -#~ "automaattisesti (jos on)" - -#~ msgid "Job FAX no." -#~ msgstr "Työ FAX numero" - -#~ msgid "Function of this contact with this partner" -#~ msgstr "Tämän yhteystiedon toimi tämän yhteistyökumppanin yhteydessä" - -#~ msgid "Status of Address" -#~ msgstr "Osoitteen tila" - -#~ msgid "title" -#~ msgstr "otsikko" - -#~ msgid "Start date of job(Joining Date)" -#~ msgstr "Työn aloituspäivä" - -#~ msgid "Select the Option for Addresses Migration" -#~ msgstr "Valitse vaihtoehto osoitteiden yhdistämiselle" - -#~ msgid "Job Phone no." -#~ msgstr "Työpuhelinnumero" - -#~ msgid "" -#~ "Order of importance of this job title in the list of job " -#~ "title of the linked partner" -#~ msgstr "" -#~ "Tämän tehtävän tärkeysjärjestys linkitetyn yhteistyökumppanin hierarkiassa" - -#~ msgid "Migrate" -#~ msgstr "Siirrä" - -#~ msgid "State" -#~ msgstr "Tila" - -#~ msgid "Jobs at a same partner address." -#~ msgstr "työt samassa yhteistyökumppanin osoitteessa" - -#~ msgid "Internal/External extension phone number" -#~ msgstr "Sisäinen/Ulkoinen alaliittymänumero" - -#~ msgid "Last date of job" -#~ msgstr "Viimeinen työpäivä" - -#~ msgid "Job E-Mail" -#~ msgstr "Työsähköposti" - -#~ msgid "Image" -#~ msgstr "Kuva" - -#~ msgid "Communication" -#~ msgstr "Viestintä" - -#~ msgid "Function to address" -#~ msgstr "Osoitteen toimi" - -#~ msgid "Past" -#~ msgstr "Mennyt" - -#~ msgid "Contact Seq." -#~ msgstr "Kontaktin numero" - -#~ msgid "Configuration Progress" -#~ msgstr "Konfiguraation eteneminen" - -#~ msgid "Address's Migration to Contacts" -#~ msgstr "Osoitteiden yhdistäminen kontakteihin" - -#~ msgid "Partner Seq." -#~ msgstr "Yhteistyökumppanin järjestysnumero" - -#~ msgid "Seq." -#~ msgstr "Sarja" - -#~ msgid "Otherwise these details will not be visible from address/contact." -#~ msgstr "" -#~ "Muuten nämä yksityiskohdat eivät ole näkyvissä osoitteessa/kontaktissa." - -#~ msgid "Address which is linked to the Partner" -#~ msgstr "Osoite joka on linkitetty yhteistyökumppaniin" - -#~ msgid "" -#~ "Due to changes in Address and Partner's relation, some of the details from " -#~ "address are needed to be migrated into contact information." -#~ msgstr "" -#~ "Koska yhteistyökumppanin yhteydet tai osoitteet ovat muuttuneet, tietoja " -#~ "pitää yhdistää kontaktitietoihin" - -#~ msgid "Partner Function" -#~ msgstr "Partnerin toiminto" - -#~ msgid "Search Contact" -#~ msgstr "Etsi Yhteystiedoista" - -#~ msgid "Do you want to migrate your Address data in Contact Data?" -#~ msgstr "Haluatko yhdistää osoitetiedot kontaktitiedoissa?" - -#~ msgid "Configure" -#~ msgstr "Konfiguroi" - -#~ msgid "Address Migration" -#~ msgstr "Osoitteiden yhdistely" - -#~ msgid "Contact Partner Function" -#~ msgstr "Yhteistyöpartnerin toiminto" - -#~ msgid "Contact to function" -#~ msgstr "Ota yhteyttä toimintoon" - -#~ msgid "Open Jobs" -#~ msgstr "Avoimet työpaikat" - -#~ msgid "If you select this, all addresses will be migrated." -#~ msgstr "Jos valitset tämän, kaikki osoitteet siirretään" - -#~ msgid "You can migrate Partner's current addresses to the contact." -#~ msgstr "Voit päivittää yhteistyökumppanin nykyiset osoitteet kontaktille." - -#~ msgid "" -#~ "Order of importance of this address in the list of " -#~ "addresses of the linked contact" -#~ msgstr "Tämän osoitteen tärkeys kontaktin osoitelistalla" diff --git a/addons/base_contact/i18n/fr.po b/addons/base_contact/i18n/fr.po deleted file mode 100644 index 14fd9c95589..00000000000 --- a/addons/base_contact/i18n/fr.po +++ /dev/null @@ -1,530 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * base_contact -# -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 6.0dev\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2012-02-08 00:36+0000\n" -"PO-Revision-Date: 2011-01-18 16:47+0000\n" -"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-02-09 06:14+0000\n" -"X-Generator: Launchpad (build 14763)\n" - -#. module: base_contact -#: field:res.partner.location,city:0 -msgid "City" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "First/Lastname" -msgstr "" - -#. module: base_contact -#: model:ir.actions.act_window,name:base_contact.action_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_purchases_partner_contact_form -#: model:process.node,name:base_contact.process_node_contacts0 -#: field:res.partner.location,job_ids:0 -msgid "Contacts" -msgstr "Contacts" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Professional Info" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,first_name:0 -msgid "First Name" -msgstr "Prénom" - -#. module: base_contact -#: field:res.partner.address,location_id:0 -msgid "Location" -msgstr "" - -#. module: base_contact -#: model:process.transition,name:base_contact.process_transition_partnertoaddress0 -msgid "Partner to address" -msgstr "Partenaire vers adresse" - -#. module: base_contact -#: help:res.partner.contact,active:0 -msgid "" -"If the active field is set to False, it will allow you to " -"hide the partner contact without removing it." -msgstr "" -"Si le champ actif est à \"Faux\", cela vous permettra de cacher le contact " -"du partenaire sans le supprimer." - -#. module: base_contact -#: field:res.partner.contact,website:0 -msgid "Website" -msgstr "Site Internet" - -#. module: base_contact -#: field:res.partner.location,zip:0 -msgid "Zip" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,state_id:0 -msgid "Fed. State" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,company_id:0 -msgid "Company" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,title:0 -msgid "Title" -msgstr "Titre" - -#. module: base_contact -#: field:res.partner.location,partner_id:0 -msgid "Main Partner" -msgstr "" - -#. module: base_contact -#: model:process.process,name:base_contact.process_process_basecontactprocess0 -msgid "Base Contact" -msgstr "Base Contact" - -#. module: base_contact -#: field:res.partner.contact,email:0 -msgid "E-Mail" -msgstr "Courriel" - -#. module: base_contact -#: field:res.partner.contact,active:0 -msgid "Active" -msgstr "Actif" - -#. module: base_contact -#: field:res.partner.contact,country_id:0 -msgid "Nationality" -msgstr "Nationalité" - -#. module: base_contact -#: view:res.partner:0 -#: view:res.partner.address:0 -msgid "Postal Address" -msgstr "Adresse postale" - -#. module: base_contact -#: field:res.partner.contact,function:0 -msgid "Main Function" -msgstr "Fonction principale" - -#. module: base_contact -#: model:process.transition,note:base_contact.process_transition_partnertoaddress0 -msgid "Define partners and their addresses." -msgstr "Définir les partenaires et leurs adresses" - -#. module: base_contact -#: field:res.partner.contact,name:0 -msgid "Name" -msgstr "Nom" - -#. module: base_contact -#: field:res.partner.contact,lang_id:0 -msgid "Language" -msgstr "Langue" - -#. module: base_contact -#: field:res.partner.contact,mobile:0 -msgid "Mobile" -msgstr "Portable" - -#. module: base_contact -#: field:res.partner.location,country_id:0 -msgid "Country" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,comment:0 -msgid "Notes" -msgstr "Remarques" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_contacts0 -msgid "People you work with." -msgstr "Personnes avec qui vous travaillez" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Extra Information" -msgstr "Information supplémentaire" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,job_ids:0 -msgid "Functions and Addresses" -msgstr "Fonctions et adresses" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_contact -#: field:res.partner.address,contact_id:0 -msgid "Contact" -msgstr "Contact" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_location -msgid "res.partner.location" -msgstr "" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_partners0 -msgid "Companies you work with." -msgstr "Entreprises avec lesquelles vous travaillez" - -#. module: base_contact -#: field:res.partner.contact,partner_id:0 -msgid "Main Employer" -msgstr "Employeur principal" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner Contact" -msgstr "Contact du partenaire" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_addresses0 -msgid "Addresses" -msgstr "Adresses" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_addresses0 -msgid "Working and private addresses." -msgstr "Adresses privées et professionnelles" - -#. module: base_contact -#: field:res.partner.contact,last_name:0 -msgid "Last Name" -msgstr "Nom" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,photo:0 -msgid "Photo" -msgstr "Photo" - -#. module: base_contact -#: view:res.partner.location:0 -msgid "Locations" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "General" -msgstr "Général" - -#. module: base_contact -#: field:res.partner.location,street:0 -msgid "Street" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner" -msgstr "Partenaire" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_partners0 -msgid "Partners" -msgstr "Partenaires" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_address -msgid "Partner Addresses" -msgstr "Adresses des partenaires" - -#. module: base_contact -#: field:res.partner.location,street2:0 -msgid "Street2" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Personal Information" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,birthdate:0 -msgid "Birth Date" -msgstr "Date de naissance" - -#~ msgid "Contact Seq." -#~ msgstr "Séq. du contact" - -#~ msgid "res.partner.contact" -#~ msgstr "res.partner.contact" - -#~ msgid "Partner Function" -#~ msgstr "Fonction du partenaire" - -#~ msgid "Partner Seq." -#~ msgstr "Séq. du partenaire" - -#~ msgid "Contact Partner Function" -#~ msgstr "Fonction du contact du partenaire" - -#~ msgid "Contact to function" -#~ msgstr "Contact vers fonction" - -#~ msgid "Function" -#~ msgstr "Fonction" - -#~ msgid "Main Job" -#~ msgstr "Emploi principal" - -#~ msgid "Phone" -#~ msgstr "Téléphone" - -#~ msgid "Defines contacts and functions." -#~ msgstr "Définir les contacts et leurs fonctions" - -#~ msgid "Contact Functions" -#~ msgstr "Fonctions du contact" - -#~ msgid "Date Stop" -#~ msgstr "Date de fin d'emploi" - -#~ msgid "Address" -#~ msgstr "Adresse" - -#~ msgid "Contact's Jobs" -#~ msgstr "Fonctions des contacts" - -#~ msgid "Categories" -#~ msgstr "Catégories" - -#~ msgid "Base Contact Process" -#~ msgstr "Traiter les contacts de base" - -#~ msgid "Seq." -#~ msgstr "Séq." - -#~ msgid "Function to address" -#~ msgstr "Fonction vers adresse" - -#~ msgid "Partner Contacts" -#~ msgstr "Contacts du partenaire" - -#~ msgid "Other" -#~ msgstr "Autre" - -#~ msgid "# of Contacts" -#~ msgstr "# de contacts" - -#~ msgid "Fax" -#~ msgstr "Fax" - -#~ msgid "Invalid model name in the action definition." -#~ msgstr "Modèle non valide dans la définition de l'action." - -#~ msgid "Additional phone field" -#~ msgstr "Champ téléphone supplémentaire" - -#~ msgid "" -#~ "Order of importance of this job title in the list of job title of the linked " -#~ "partner" -#~ msgstr "" -#~ "Ordre de tri de ce poste dans la liste des postes du partenaire qui y est lié" - -#~ msgid "" -#~ "Order of importance of this address in the list of addresses of the linked " -#~ "contact" -#~ msgstr "" -#~ "Ordre de tri de cette adresse dans la liste des adresses du contact qui y " -#~ "est lié" - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "" -#~ "La structure XML définissant l'architecture de cette vue n'est pas correcte!" - -#~ msgid "Extension" -#~ msgstr "Extension" - -#~ msgid "Internal/External extension phone number" -#~ msgstr "Numéro d'extension interne/externe" - -#~ msgid "State" -#~ msgstr "État" - -#~ msgid "Past" -#~ msgstr "Précédente" - -#~ msgid "General Information" -#~ msgstr "Informations générales" - -#~ msgid "Jobs at a same partner address." -#~ msgstr "Emplois situés à la même adresse de partenaire" - -#~ msgid "Date Start" -#~ msgstr "Date de début" - -#~ msgid "Define functions and address." -#~ msgstr "Définir les fonctions et l'adresse" - -#~ msgid "Current" -#~ msgstr "Actuelle" - -#~ msgid "Job FAX no." -#~ msgstr "N° de fax professionnel" - -#~ msgid "Function of this contact with this partner" -#~ msgstr "Rôle de ce contact chez ce partenaire" - -#~ msgid "Status of Address" -#~ msgstr "Statut de l'adresse" - -#~ msgid "title" -#~ msgstr "titre" - -#~ msgid "Migrate" -#~ msgstr "Migrer" - -#~ msgid "Last date of job" -#~ msgstr "Dernière date d'emploi" - -#~ msgid "Start date of job(Joining Date)" -#~ msgstr "Date de début d'emploi (date d'entrée)" - -#~ msgid "Job Phone no." -#~ msgstr "N° de téléphone professionnel" - -#~ msgid "Image" -#~ msgstr "Image" - -#~ msgid "Communication" -#~ msgstr "Communication" - -#~ msgid "Address which is linked to the Partner" -#~ msgstr "Adresse liée au partenaire" - -#~ msgid "Configuration Progress" -#~ msgstr "Avancement de la configuration" - -#~ msgid "Address Migration" -#~ msgstr "Migration des adresses" - -#~ msgid "" -#~ "You may enter Address first,Partner will be linked " -#~ "automatically if any." -#~ msgstr "" -#~ "Vous pouvez entrer l'adresse en premier : le partenaire sera lié " -#~ "automatiquement s'il existe." - -#~ msgid "" -#~ "Due to changes in Address and Partner's relation, some of the details from " -#~ "address are needed to be migrated into contact information." -#~ msgstr "" -#~ "En raison de modifications dans la relation entre le partenaire et les " -#~ "adresses, certains détails des adresses doivent migrer dans les informations " -#~ "de contact." - -#~ msgid "Job E-Mail" -#~ msgstr "Courriel professionnel" - -#~ msgid "" -#~ "Order of importance of this job title in the list of job " -#~ "title of the linked partner" -#~ msgstr "" -#~ "Ordre d'importance de cette fonction dans la liste des fonctions du " -#~ "partenaire lié" - -#~ msgid "Search Contact" -#~ msgstr "Chercher un contact" - -#~ msgid "Otherwise these details will not be visible from address/contact." -#~ msgstr "Sinon, ces détails ne seront pas visibles dans l'adresse/le contact." - -#~ msgid "Open Jobs" -#~ msgstr "Postes à pourvoir" - -#~ msgid "" -#~ "Order of importance of this address in the list of " -#~ "addresses of the linked contact" -#~ msgstr "" -#~ "Ordre d'importance de cette adresse dans le carnet d'adresses du contact lié" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "" -#~ "Le nom de l'objet doit commencer par x_ et ne doit contenir aucun caractère " -#~ "spécial !" - -#~ msgid "If you select this, all addresses will be migrated." -#~ msgstr "Si vous sélectionnez ceci, toutes les adresses seront migrées." - -#~ msgid "Do you want to migrate your Address data in Contact Data?" -#~ msgstr "" -#~ "Voulez-vous faire migrer les données des adresses dans les données des " -#~ "contacts ?" - -#~ msgid "base.contact.installer" -#~ msgstr "base.contact.installer" - -#~ msgid "Select the Option for Addresses Migration" -#~ msgstr "Sélectionnez l'option pour la migration des adresses" - -#~ msgid "Address's Migration to Contacts" -#~ msgstr "Migration des adresses vers les contacts" - -#~ msgid "Configure" -#~ msgstr "Configurer" - -#~ msgid "You can migrate Partner's current addresses to the contact." -#~ msgstr "" -#~ "Vous pouvez migrer les adresses actuelles du partenaire vers le contact." - -#~ msgid "" -#~ "\n" -#~ " This module allows you to manage your contacts entirely.\n" -#~ "\n" -#~ " It lets you define\n" -#~ " *contacts unrelated to a partner,\n" -#~ " *contacts working at several addresses (possibly for different " -#~ "partners),\n" -#~ " *contacts with possibly different functions for each of its job's " -#~ "addresses\n" -#~ "\n" -#~ " It also adds new menu items located in\n" -#~ " Partners \\ Contacts\n" -#~ " Partners \\ Functions\n" -#~ "\n" -#~ " Pay attention that this module converts the existing addresses into " -#~ "\"addresses + contacts\". It means that some fields of the addresses will be " -#~ "missing (like the contact name), since these are supposed to be defined in " -#~ "an other object.\n" -#~ " " -#~ msgstr "" -#~ "\n" -#~ " Ce module vous permet de gérer entièrement vos contacts.\n" -#~ "\n" -#~ " Il vous permet de définir\n" -#~ " *des contacts non associés à un partenaire,\n" -#~ " *des contacts travaillant à différentes adresses (par exemple, pour " -#~ "plusieurs partenaires),\n" -#~ " *des contacts avec peut-être différents titres pour chaque adresse\n" -#~ "\n" -#~ " Il ajoute aussi de nouveaux éléments de menu dans\n" -#~ " Partenaires \\ Contacts\n" -#~ " Partenaires \\ Titres\n" -#~ "\n" -#~ " Faîtes attention car ce module convertit les adresses existantes en " -#~ "\"adresses + contacts\". Cela signifie que certains champs des adresses vont " -#~ "manquer (comme le nom de contact), car ils sont définis dans un autre " -#~ "objet.\n" -#~ " " diff --git a/addons/base_contact/i18n/gl.po b/addons/base_contact/i18n/gl.po deleted file mode 100644 index 74fc7e97339..00000000000 --- a/addons/base_contact/i18n/gl.po +++ /dev/null @@ -1,483 +0,0 @@ -# Galician translation for openobject-addons -# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 -# This file is distributed under the same license as the openobject-addons package. -# FIRST AUTHOR <EMAIL@ADDRESS>, 2011. -# -msgid "" -msgstr "" -"Project-Id-Version: openobject-addons\n" -"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2012-02-08 00:36+0000\n" -"PO-Revision-Date: 2011-03-11 17:35+0000\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: Galician <gl@li.org>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-02-09 06:14+0000\n" -"X-Generator: Launchpad (build 14763)\n" - -#. module: base_contact -#: field:res.partner.location,city:0 -msgid "City" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "First/Lastname" -msgstr "" - -#. module: base_contact -#: model:ir.actions.act_window,name:base_contact.action_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_purchases_partner_contact_form -#: model:process.node,name:base_contact.process_node_contacts0 -#: field:res.partner.location,job_ids:0 -msgid "Contacts" -msgstr "Contactos" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Professional Info" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,first_name:0 -msgid "First Name" -msgstr "Nome de pía" - -#. module: base_contact -#: field:res.partner.address,location_id:0 -msgid "Location" -msgstr "" - -#. module: base_contact -#: model:process.transition,name:base_contact.process_transition_partnertoaddress0 -msgid "Partner to address" -msgstr "Empresa a enderezo" - -#. module: base_contact -#: help:res.partner.contact,active:0 -msgid "" -"If the active field is set to False, it will allow you to " -"hide the partner contact without removing it." -msgstr "" -"Se se desmarca o campo activo, permite ocultar o contacto da empresa sen " -"eliminalo." - -#. module: base_contact -#: field:res.partner.contact,website:0 -msgid "Website" -msgstr "Sitio web" - -#. module: base_contact -#: field:res.partner.location,zip:0 -msgid "Zip" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,state_id:0 -msgid "Fed. State" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,company_id:0 -msgid "Company" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,title:0 -msgid "Title" -msgstr "Título" - -#. module: base_contact -#: field:res.partner.location,partner_id:0 -msgid "Main Partner" -msgstr "" - -#. module: base_contact -#: model:process.process,name:base_contact.process_process_basecontactprocess0 -msgid "Base Contact" -msgstr "Contacto base" - -#. module: base_contact -#: field:res.partner.contact,email:0 -msgid "E-Mail" -msgstr "E-Mail" - -#. module: base_contact -#: field:res.partner.contact,active:0 -msgid "Active" -msgstr "Activo" - -#. module: base_contact -#: field:res.partner.contact,country_id:0 -msgid "Nationality" -msgstr "Nacionalidade" - -#. module: base_contact -#: view:res.partner:0 -#: view:res.partner.address:0 -msgid "Postal Address" -msgstr "Enderezo postal" - -#. module: base_contact -#: field:res.partner.contact,function:0 -msgid "Main Function" -msgstr "Función principal" - -#. module: base_contact -#: model:process.transition,note:base_contact.process_transition_partnertoaddress0 -msgid "Define partners and their addresses." -msgstr "Definir empresas e os seus enderezos" - -#. module: base_contact -#: field:res.partner.contact,name:0 -msgid "Name" -msgstr "Nome" - -#. module: base_contact -#: field:res.partner.contact,lang_id:0 -msgid "Language" -msgstr "Lingua" - -#. module: base_contact -#: field:res.partner.contact,mobile:0 -msgid "Mobile" -msgstr "Móbil" - -#. module: base_contact -#: field:res.partner.location,country_id:0 -msgid "Country" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,comment:0 -msgid "Notes" -msgstr "Notas" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_contacts0 -msgid "People you work with." -msgstr "Xente con quen traballa." - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Extra Information" -msgstr "Información adicional" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,job_ids:0 -msgid "Functions and Addresses" -msgstr "Cargos e enderezos" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_contact -#: field:res.partner.address,contact_id:0 -msgid "Contact" -msgstr "Contacto" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_location -msgid "res.partner.location" -msgstr "" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_partners0 -msgid "Companies you work with." -msgstr "Empresas onde traballa." - -#. module: base_contact -#: field:res.partner.contact,partner_id:0 -msgid "Main Employer" -msgstr "Empregado principal" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner Contact" -msgstr "Contacto" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_addresses0 -msgid "Addresses" -msgstr "Enderezos" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_addresses0 -msgid "Working and private addresses." -msgstr "Enderezos de traballo e privadas." - -#. module: base_contact -#: field:res.partner.contact,last_name:0 -msgid "Last Name" -msgstr "Apelidos" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,photo:0 -msgid "Photo" -msgstr "Foto" - -#. module: base_contact -#: view:res.partner.location:0 -msgid "Locations" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "General" -msgstr "Xeral" - -#. module: base_contact -#: field:res.partner.location,street:0 -msgid "Street" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner" -msgstr "Socio" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_partners0 -msgid "Partners" -msgstr "Socios" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_address -msgid "Partner Addresses" -msgstr "Enderezos de contactos" - -#. module: base_contact -#: field:res.partner.location,street2:0 -msgid "Street2" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Personal Information" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,birthdate:0 -msgid "Birth Date" -msgstr "Data de nacemento" - -#~ msgid "# of Contacts" -#~ msgstr "Número de Contactos" - -#~ msgid "Function of this contact with this partner" -#~ msgstr "Función deste contacto con esta empresa." - -#~ msgid "Start date of job(Joining Date)" -#~ msgstr "Data inicial do traballo (data de unión)." - -#~ msgid "" -#~ "You may enter Address first,Partner will be linked " -#~ "automatically if any." -#~ msgstr "" -#~ "Pode introducir primeiro un enderezo, relacionarase automaticamente coa " -#~ "empresa se hai unha." - -#~ msgid "Job FAX no." -#~ msgstr "Número do fax do traballo." - -#~ msgid "Status of Address" -#~ msgstr "Estado do enderezo." - -#~ msgid "title" -#~ msgstr "título" - -#~ msgid "Fax" -#~ msgstr "Fax" - -#~ msgid "Select the Option for Addresses Migration" -#~ msgstr "Seleccione a opción para a migración de enderezos" - -#~ msgid "Define functions and address." -#~ msgstr "Definir cargos e enderezos." - -#~ msgid "Migrate" -#~ msgstr "Migrar" - -#~ msgid "State" -#~ msgstr "Estado" - -#~ msgid "Jobs at a same partner address." -#~ msgstr "Traballos no mesmo enderezo de empresa." - -#~ msgid "Last date of job" -#~ msgstr "Data final do traballo." - -#~ msgid "Contact's Jobs" -#~ msgstr "Traballos do contacto" - -#~ msgid "Categories" -#~ msgstr "Categorías" - -#~ msgid "Job Phone no." -#~ msgstr "Número de teléfono do traballo." - -#~ msgid "" -#~ "Order of importance of this job title in the list of job " -#~ "title of the linked partner" -#~ msgstr "" -#~ "Orde de importancia deste título de traballo na lista de títulos de traballo " -#~ "da empresa relacionada." - -#~ msgid "" -#~ "\n" -#~ " This module allows you to manage your contacts entirely.\n" -#~ "\n" -#~ " It lets you define\n" -#~ " *contacts unrelated to a partner,\n" -#~ " *contacts working at several addresses (possibly for different " -#~ "partners),\n" -#~ " *contacts with possibly different functions for each of its job's " -#~ "addresses\n" -#~ "\n" -#~ " It also adds new menu items located in\n" -#~ " Partners \\ Contacts\n" -#~ " Partners \\ Functions\n" -#~ "\n" -#~ " Pay attention that this module converts the existing addresses into " -#~ "\"addresses + contacts\". It means that some fields of the addresses will be " -#~ "missing (like the contact name), since these are supposed to be defined in " -#~ "an other object.\n" -#~ " " -#~ msgstr "" -#~ "\n" -#~ " Este módulo permítelle xestionar os seus contactos por completo. " -#~ "Permítelle definir:*contactos sen ningunha relación cunha empresa,*contactos " -#~ "que traballan en varios enderezos (probablemente para distintas " -#~ "empresas),*contactos con varias funcións para cada un dos seus enderezos de " -#~ "traballo. Engade tamén novas entradas de menús localizadas en: Empresas \\ " -#~ "ContactosEmpresas \\ Funcións. Teña en conta que este módulo converte os " -#~ "enderezos existentes en \"enderezos + contactos\". Isto significa que algúns " -#~ "campos dos enderezos desaparecerán (coma o nome do contacto), xa que se " -#~ "supón que estarán definidos noutro obxecto.\n" -#~ " " - -#~ msgid "Internal/External extension phone number" -#~ msgstr "Número de extensión telefónica interior/exterior" - -#~ msgid "Date Stop" -#~ msgstr "Data remate" - -#~ msgid "Extension" -#~ msgstr "Extensión" - -#~ msgid "Configuration Progress" -#~ msgstr "Progreso da configuración" - -#~ msgid "Job E-Mail" -#~ msgstr "Correo electrónico do traballo" - -#~ msgid "Image" -#~ msgstr "Imaxe" - -#~ msgid "Communication" -#~ msgstr "Comunicación" - -#~ msgid "Function to address" -#~ msgstr "Cargo a enderezo" - -#~ msgid "Past" -#~ msgstr "Pasado" - -#~ msgid "Address which is linked to the Partner" -#~ msgstr "Enderezo que está relacionado coa empresa." - -#~ msgid "" -#~ "Due to changes in Address and Partner's relation, some of the details from " -#~ "address are needed to be migrated into contact information." -#~ msgstr "" -#~ "Por causa dos cambios na relación entre Enderezos e Empresas, cómpre migrar " -#~ "algúns dos detalles dos enderezos á información de contactos." - -#~ msgid "Partner Function" -#~ msgstr "Función en empresa" - -#~ msgid "Search Contact" -#~ msgstr "Buscar contacto" - -#~ msgid "Additional phone field" -#~ msgstr "Campo para teléfono adicional" - -#~ msgid "Address's Migration to Contacts" -#~ msgstr "Migración de enderezos a contactos" - -#~ msgid "Contact Seq." -#~ msgstr "Sec. contacto" - -#~ msgid "Contact Functions" -#~ msgstr "Funcións contacto" - -#~ msgid "Phone" -#~ msgstr "Teléfono" - -#~ msgid "Do you want to migrate your Address data in Contact Data?" -#~ msgstr "Desexa migrar os datos de Enderezos cara ós datos de contacto?" - -#~ msgid "Otherwise these details will not be visible from address/contact." -#~ msgstr "Senón estes detalles non serán visibles desde Enderezos/contactos." - -#~ msgid "base.contact.installer" -#~ msgstr "base.contacto.instalador" - -#~ msgid "Configure" -#~ msgstr "Configurar" - -#~ msgid "Seq." -#~ msgstr "Sec." - -#~ msgid "If you select this, all addresses will be migrated." -#~ msgstr "Se selecciona esta opción, migraranse tódolos enderezos." - -#~ msgid "Main Job" -#~ msgstr "Traballo principal" - -#~ msgid "Defines contacts and functions." -#~ msgstr "Define contactos e cargos." - -#~ msgid "Contact Partner Function" -#~ msgstr "Función contacto en empresa" - -#~ msgid "Contact to function" -#~ msgstr "Contacto a cargo" - -#~ msgid "Current" -#~ msgstr "Actual" - -#~ msgid "Function" -#~ msgstr "Cargo" - -#~ msgid "Address" -#~ msgstr "Enderezo" - -#~ msgid "Other" -#~ msgstr "Outro" - -#~ msgid "" -#~ "Order of importance of this address in the list of " -#~ "addresses of the linked contact" -#~ msgstr "" -#~ "Orde de importancia deste enderezo na lista de enderezos do contacto " -#~ "relacionado." - -#~ msgid "Address Migration" -#~ msgstr "Migración enderezos" - -#~ msgid "Date Start" -#~ msgstr "Data inicio" - -#~ msgid "Open Jobs" -#~ msgstr "Abrir traballos" - -#~ msgid "You can migrate Partner's current addresses to the contact." -#~ msgstr "Pode migrar os enderezos actuais da empresa ó contacto." - -#~ msgid "Partner Seq." -#~ msgstr "Sec. empresa" diff --git a/addons/base_contact/i18n/gu.po b/addons/base_contact/i18n/gu.po deleted file mode 100644 index 3c4537b342a..00000000000 --- a/addons/base_contact/i18n/gu.po +++ /dev/null @@ -1,264 +0,0 @@ -# Gujarati translation for openobject-addons -# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 -# This file is distributed under the same license as the openobject-addons package. -# FIRST AUTHOR <EMAIL@ADDRESS>, 2012. -# -msgid "" -msgstr "" -"Project-Id-Version: openobject-addons\n" -"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2012-02-08 00:36+0000\n" -"PO-Revision-Date: 2012-03-06 18:22+0000\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: Gujarati <gu@li.org>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-03-07 05:13+0000\n" -"X-Generator: Launchpad (build 14907)\n" - -#. module: base_contact -#: field:res.partner.location,city:0 -msgid "City" -msgstr "શહેર" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "First/Lastname" -msgstr "" - -#. module: base_contact -#: model:ir.actions.act_window,name:base_contact.action_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_purchases_partner_contact_form -#: model:process.node,name:base_contact.process_node_contacts0 -#: field:res.partner.location,job_ids:0 -msgid "Contacts" -msgstr "સંપર્કો" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Professional Info" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,first_name:0 -msgid "First Name" -msgstr "પ્રથમ નામ" - -#. module: base_contact -#: field:res.partner.address,location_id:0 -msgid "Location" -msgstr "સ્થળ" - -#. module: base_contact -#: model:process.transition,name:base_contact.process_transition_partnertoaddress0 -msgid "Partner to address" -msgstr "" - -#. module: base_contact -#: help:res.partner.contact,active:0 -msgid "" -"If the active field is set to False, it will allow you to " -"hide the partner contact without removing it." -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,website:0 -msgid "Website" -msgstr "સન્ચારપ્રૌદ્યોગિક" - -#. module: base_contact -#: field:res.partner.location,zip:0 -msgid "Zip" -msgstr "Zip" - -#. module: base_contact -#: field:res.partner.location,state_id:0 -msgid "Fed. State" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,company_id:0 -msgid "Company" -msgstr "કંપની" - -#. module: base_contact -#: field:res.partner.contact,title:0 -msgid "Title" -msgstr "શીર્ષક" - -#. module: base_contact -#: field:res.partner.location,partner_id:0 -msgid "Main Partner" -msgstr "" - -#. module: base_contact -#: model:process.process,name:base_contact.process_process_basecontactprocess0 -msgid "Base Contact" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,email:0 -msgid "E-Mail" -msgstr "ઈ-મેઇલ" - -#. module: base_contact -#: field:res.partner.contact,active:0 -msgid "Active" -msgstr "કાર્યશીલ" - -#. module: base_contact -#: field:res.partner.contact,country_id:0 -msgid "Nationality" -msgstr "નાગરિકત્વ" - -#. module: base_contact -#: view:res.partner:0 -#: view:res.partner.address:0 -msgid "Postal Address" -msgstr "પોસ્ટલ સરનામું" - -#. module: base_contact -#: field:res.partner.contact,function:0 -msgid "Main Function" -msgstr "" - -#. module: base_contact -#: model:process.transition,note:base_contact.process_transition_partnertoaddress0 -msgid "Define partners and their addresses." -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,name:0 -msgid "Name" -msgstr "નામ" - -#. module: base_contact -#: field:res.partner.contact,lang_id:0 -msgid "Language" -msgstr "ભાષા" - -#. module: base_contact -#: field:res.partner.contact,mobile:0 -msgid "Mobile" -msgstr "મોબાઇલ" - -#. module: base_contact -#: field:res.partner.location,country_id:0 -msgid "Country" -msgstr "દેશ" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,comment:0 -msgid "Notes" -msgstr "નોંધ" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_contacts0 -msgid "People you work with." -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Extra Information" -msgstr "વધુ માહિતી" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,job_ids:0 -msgid "Functions and Addresses" -msgstr "" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_contact -#: field:res.partner.address,contact_id:0 -msgid "Contact" -msgstr "સંપર્ક" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_location -msgid "res.partner.location" -msgstr "" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_partners0 -msgid "Companies you work with." -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,partner_id:0 -msgid "Main Employer" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner Contact" -msgstr "" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_addresses0 -msgid "Addresses" -msgstr "સરનામાંઓ" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_addresses0 -msgid "Working and private addresses." -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,last_name:0 -msgid "Last Name" -msgstr "છેલ્લું નામ" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,photo:0 -msgid "Photo" -msgstr "ફોટો" - -#. module: base_contact -#: view:res.partner.location:0 -msgid "Locations" -msgstr "સ્થળો" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "General" -msgstr "સામાન્ય" - -#. module: base_contact -#: field:res.partner.location,street:0 -msgid "Street" -msgstr "શેરી" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner" -msgstr "" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_partners0 -msgid "Partners" -msgstr "" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_address -msgid "Partner Addresses" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,street2:0 -msgid "Street2" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Personal Information" -msgstr "અંગત માહિતી" - -#. module: base_contact -#: field:res.partner.contact,birthdate:0 -msgid "Birth Date" -msgstr "જન્મ તારીખ" diff --git a/addons/base_contact/i18n/hr.po b/addons/base_contact/i18n/hr.po deleted file mode 100644 index 4c647bec1b6..00000000000 --- a/addons/base_contact/i18n/hr.po +++ /dev/null @@ -1,480 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * base_contact -# Drazen Bosak <drazen.bosak@gmail.com>, 2010. -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 6.0dev\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2012-02-08 00:36+0000\n" -"PO-Revision-Date: 2012-02-07 11:05+0000\n" -"Last-Translator: Goran Kliska <gkliska@gmail.com>\n" -"Language-Team: Vinteh\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-02-09 06:14+0000\n" -"X-Generator: Launchpad (build 14763)\n" -"Language: hr\n" - -#. module: base_contact -#: field:res.partner.location,city:0 -msgid "City" -msgstr "Mjesto" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "First/Lastname" -msgstr "Ime i prezime" - -#. module: base_contact -#: model:ir.actions.act_window,name:base_contact.action_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_purchases_partner_contact_form -#: model:process.node,name:base_contact.process_node_contacts0 -#: field:res.partner.location,job_ids:0 -msgid "Contacts" -msgstr "Kontakti" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Professional Info" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,first_name:0 -msgid "First Name" -msgstr "Ime osobe" - -#. module: base_contact -#: field:res.partner.address,location_id:0 -msgid "Location" -msgstr "Lokacija" - -#. module: base_contact -#: model:process.transition,name:base_contact.process_transition_partnertoaddress0 -msgid "Partner to address" -msgstr "Partner na adresu" - -#. module: base_contact -#: help:res.partner.contact,active:0 -msgid "" -"If the active field is set to False, it will allow you to " -"hide the partner contact without removing it." -msgstr "" -"If the active field is set to False, it will allow you to " -"hide the partner contact without removing it." - -#. module: base_contact -#: field:res.partner.contact,website:0 -msgid "Website" -msgstr "Web stranice" - -#. module: base_contact -#: field:res.partner.location,zip:0 -msgid "Zip" -msgstr "Poštanski br." - -#. module: base_contact -#: field:res.partner.location,state_id:0 -msgid "Fed. State" -msgstr "Županija" - -#. module: base_contact -#: field:res.partner.location,company_id:0 -msgid "Company" -msgstr "Organizacija" - -#. module: base_contact -#: field:res.partner.contact,title:0 -msgid "Title" -msgstr "Naslov" - -#. module: base_contact -#: field:res.partner.location,partner_id:0 -msgid "Main Partner" -msgstr "Glavni partner" - -#. module: base_contact -#: model:process.process,name:base_contact.process_process_basecontactprocess0 -msgid "Base Contact" -msgstr "Osnovni kontakt" - -#. module: base_contact -#: field:res.partner.contact,email:0 -msgid "E-Mail" -msgstr "Email" - -#. module: base_contact -#: field:res.partner.contact,active:0 -msgid "Active" -msgstr "Aktivan" - -#. module: base_contact -#: field:res.partner.contact,country_id:0 -msgid "Nationality" -msgstr "Nacionalnost" - -#. module: base_contact -#: view:res.partner:0 -#: view:res.partner.address:0 -msgid "Postal Address" -msgstr "Poštanska adresa" - -#. module: base_contact -#: field:res.partner.contact,function:0 -msgid "Main Function" -msgstr "Glavna funkcija" - -#. module: base_contact -#: model:process.transition,note:base_contact.process_transition_partnertoaddress0 -msgid "Define partners and their addresses." -msgstr "Definiraj partnere i adrese" - -#. module: base_contact -#: field:res.partner.contact,name:0 -msgid "Name" -msgstr "Naziv" - -#. module: base_contact -#: field:res.partner.contact,lang_id:0 -msgid "Language" -msgstr "Jezik" - -#. module: base_contact -#: field:res.partner.contact,mobile:0 -msgid "Mobile" -msgstr "Mobilni" - -#. module: base_contact -#: field:res.partner.location,country_id:0 -msgid "Country" -msgstr "Država" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,comment:0 -msgid "Notes" -msgstr "Bilješke" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_contacts0 -msgid "People you work with." -msgstr "Osobe s kojima radite." - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Extra Information" -msgstr "Ostale informacije" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,job_ids:0 -msgid "Functions and Addresses" -msgstr "Funkcije i adrese" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_contact -#: field:res.partner.address,contact_id:0 -msgid "Contact" -msgstr "Kontakt osoba" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_location -msgid "res.partner.location" -msgstr "" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_partners0 -msgid "Companies you work with." -msgstr "Tvrtke s kojima radite." - -#. module: base_contact -#: field:res.partner.contact,partner_id:0 -msgid "Main Employer" -msgstr "Glavni poslodavac." - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner Contact" -msgstr "Osoba kod partnera" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_addresses0 -msgid "Addresses" -msgstr "Adrese" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_addresses0 -msgid "Working and private addresses." -msgstr "Poslovne i privatne adrese" - -#. module: base_contact -#: field:res.partner.contact,last_name:0 -msgid "Last Name" -msgstr "Prezime" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,photo:0 -msgid "Photo" -msgstr "Slika" - -#. module: base_contact -#: view:res.partner.location:0 -msgid "Locations" -msgstr "Lokacije" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "General" -msgstr "Podaci" - -#. module: base_contact -#: field:res.partner.location,street:0 -msgid "Street" -msgstr "Ulica" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner" -msgstr "Partner" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_partners0 -msgid "Partners" -msgstr "Partneri" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_address -msgid "Partner Addresses" -msgstr "Adrese partnera" - -#. module: base_contact -#: field:res.partner.location,street2:0 -msgid "Street2" -msgstr "Ulica2" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Personal Information" -msgstr "Osobne informacije" - -#. module: base_contact -#: field:res.partner.contact,birthdate:0 -msgid "Birth Date" -msgstr "Datum rođenja" - -#~ msgid "Partner Function" -#~ msgstr "Funkcija partnera" - -#~ msgid "Main Job" -#~ msgstr "Glavni posao" - -#~ msgid "Phone" -#~ msgstr "Telefon" - -#~ msgid "Function" -#~ msgstr "Funkcija" - -#~ msgid "Categories" -#~ msgstr "Kategorije" - -#~ msgid "Address" -#~ msgstr "Adresa" - -#~ msgid "State" -#~ msgstr "Stanje" - -#~ msgid "Past" -#~ msgstr "Prošlost" - -#~ msgid "Date Start" -#~ msgstr "Datum početka" - -#~ msgid "Extension" -#~ msgstr "Ekstenzija" - -#~ msgid "Fax" -#~ msgstr "Fax" - -#~ msgid "res.partner.contact" -#~ msgstr "res.partner.contact" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "" -#~ "Naziv Objekta mora početi s x_ i ne smije sadržavati bilo koji posebni znak !" - -#~ msgid "Invalid model name in the action definition." -#~ msgstr "Nepravilno ime modela u definiciji radnje." - -#~ msgid "# of Contacts" -#~ msgstr "# Osoba" - -#~ msgid "" -#~ "Order of importance of this job title in the list of job title of the linked " -#~ "partner" -#~ msgstr "" -#~ "redoslijed važnosti ovog naziva Posla-Radnog mjesta u listi naziva Poslova-" -#~ "Radnih mjesta povezanog Partnera" - -#~ msgid "Date Stop" -#~ msgstr "Datum Završetka" - -#~ msgid "" -#~ "Order of importance of this address in the list of addresses of the linked " -#~ "contact" -#~ msgstr "redoslijed važnosti ove Adrese u listi Adresa povezanog Partnera" - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "Nepravilan XML format za Arhitekturu Prikaza!" - -#~ msgid "Base Contact Process" -#~ msgstr "Proces Osnovne Osobe za kontakt" - -#~ msgid "Partner Contacts" -#~ msgstr "Osobe kod Partnera" - -#~ msgid "General Information" -#~ msgstr "Opća Informacija" - -#~ msgid "title" -#~ msgstr "naslov" - -#~ msgid "Start date of job(Joining Date)" -#~ msgstr "Start date of job(Joining Date)" - -#~ msgid "Select the Option for Addresses Migration" -#~ msgstr "Select the Option for Addresses Migration" - -#~ msgid "Function of this contact with this partner" -#~ msgstr "Funkcija kontakta kod ovog partnera" - -#~ msgid "Status of Address" -#~ msgstr "Status of Address" - -#~ msgid "" -#~ "You may enter Address first,Partner will be linked " -#~ "automatically if any." -#~ msgstr "" -#~ "You may enter Address first,Partner will be linked " -#~ "automatically if any." - -#~ msgid "Job FAX no." -#~ msgstr "Job FAX no." - -#~ msgid "Define functions and address." -#~ msgstr "Definicija funkcija i adresa" - -#~ msgid "Last date of job" -#~ msgstr "Datum zadnjeg posla" - -#~ msgid "Migrate" -#~ msgstr "Migrate" - -#~ msgid "Jobs at a same partner address." -#~ msgstr "Poslovi na istoj adresi partnera" - -#~ msgid "Contact's Jobs" -#~ msgstr "Poslovi osobe" - -#~ msgid "" -#~ "Order of importance of this job title in the list of job " -#~ "title of the linked partner" -#~ msgstr "" -#~ "Order of importance of this job title in the list of job " -#~ "title of the linked partner" - -#~ msgid "Internal/External extension phone number" -#~ msgstr "Interna/eksterna ekstenzija tel. broja" - -#~ msgid "Job Phone no." -#~ msgstr "Telefon na poslu" - -#~ msgid "Job E-Mail" -#~ msgstr "Job E-Mail" - -#~ msgid "Partner Seq." -#~ msgstr "Partner r.br." - -#~ msgid "Function to address" -#~ msgstr "Funkcija na adresu" - -#~ msgid "Communication" -#~ msgstr "Veza" - -#~ msgid "Image" -#~ msgstr "Slika" - -#~ msgid "Address's Migration to Contacts" -#~ msgstr "Address's Migration to Contacts" - -#~ msgid "Contact Seq." -#~ msgstr "R.br. kontakta" - -#~ msgid "Search Contact" -#~ msgstr "Traži kontakt" - -#~ msgid "" -#~ "Due to changes in Address and Partner's relation, some of the details from " -#~ "address are needed to be migrated into contact information." -#~ msgstr "" -#~ "Due to changes in Address and Partner's relation, some of the details from " -#~ "address are needed to be migrated into contact information." - -#~ msgid "Address which is linked to the Partner" -#~ msgstr "Adresa koja je povezana na Partnera" - -#~ msgid "Additional phone field" -#~ msgstr "Dodatni telefon" - -#~ msgid "Otherwise these details will not be visible from address/contact." -#~ msgstr "Otherwise these details will not be visible from address/contact." - -#~ msgid "Configure" -#~ msgstr "Postavke" - -#~ msgid "base.contact.installer" -#~ msgstr "base.contact.installer" - -#~ msgid "Contact Functions" -#~ msgstr "Funkcije osobe" - -#~ msgid "Do you want to migrate your Address data in Contact Data?" -#~ msgstr "Do you want to migrate your Address data in Contact Data?" - -#~ msgid "Seq." -#~ msgstr "R.br." - -#~ msgid "If you select this, all addresses will be migrated." -#~ msgstr "If you select this, all addresses will be migrated." - -#~ msgid "Current" -#~ msgstr "Trenutno" - -#~ msgid "Contact Partner Function" -#~ msgstr "Funkcija osobe kod partnera" - -#~ msgid "Other" -#~ msgstr "Ostale" - -#~ msgid "Defines contacts and functions." -#~ msgstr "Određuje osobe i funkcije" - -#~ msgid "Contact to function" -#~ msgstr "Osoba na funkciju" - -#~ msgid "Open Jobs" -#~ msgstr "Otvori poslove" - -#~ msgid "You can migrate Partner's current addresses to the contact." -#~ msgstr "You can migrate Partner's current addresses to the contact." - -#~ msgid "Address Migration" -#~ msgstr "Address Migration" - -#~ msgid "" -#~ "Order of importance of this address in the list of " -#~ "addresses of the linked contact" -#~ msgstr "Redoslijed važnosti adrese u popisu adresa povezanog kontakta." diff --git a/addons/base_contact/i18n/hu.po b/addons/base_contact/i18n/hu.po deleted file mode 100644 index c8f3b25ad71..00000000000 --- a/addons/base_contact/i18n/hu.po +++ /dev/null @@ -1,439 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * base_contact -# -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 6.0dev\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2012-02-08 00:36+0000\n" -"PO-Revision-Date: 2011-01-31 13:18+0000\n" -"Last-Translator: NOVOTRADE RENDSZERHÁZ ( novotrade.hu ) " -"<openerp@novotrade.hu>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-02-09 06:14+0000\n" -"X-Generator: Launchpad (build 14763)\n" - -#. module: base_contact -#: field:res.partner.location,city:0 -msgid "City" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "First/Lastname" -msgstr "" - -#. module: base_contact -#: model:ir.actions.act_window,name:base_contact.action_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_purchases_partner_contact_form -#: model:process.node,name:base_contact.process_node_contacts0 -#: field:res.partner.location,job_ids:0 -msgid "Contacts" -msgstr "Névjegyek" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Professional Info" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,first_name:0 -msgid "First Name" -msgstr "Keresztnév" - -#. module: base_contact -#: field:res.partner.address,location_id:0 -msgid "Location" -msgstr "" - -#. module: base_contact -#: model:process.transition,name:base_contact.process_transition_partnertoaddress0 -msgid "Partner to address" -msgstr "Partner címe" - -#. module: base_contact -#: help:res.partner.contact,active:0 -msgid "" -"If the active field is set to False, it will allow you to " -"hide the partner contact without removing it." -msgstr "" -"Állítsa az aktív mező értékét Hamis-ra, hogy elrejtse a kapcsolatot de ne " -"kelljen törölni." - -#. module: base_contact -#: field:res.partner.contact,website:0 -msgid "Website" -msgstr "Weboldal" - -#. module: base_contact -#: field:res.partner.location,zip:0 -msgid "Zip" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,state_id:0 -msgid "Fed. State" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,company_id:0 -msgid "Company" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,title:0 -msgid "Title" -msgstr "Megnevezés" - -#. module: base_contact -#: field:res.partner.location,partner_id:0 -msgid "Main Partner" -msgstr "" - -#. module: base_contact -#: model:process.process,name:base_contact.process_process_basecontactprocess0 -msgid "Base Contact" -msgstr "Alap kapcsolat" - -#. module: base_contact -#: field:res.partner.contact,email:0 -msgid "E-Mail" -msgstr "E-mail" - -#. module: base_contact -#: field:res.partner.contact,active:0 -msgid "Active" -msgstr "Aktív" - -#. module: base_contact -#: field:res.partner.contact,country_id:0 -msgid "Nationality" -msgstr "Nemzetiség" - -#. module: base_contact -#: view:res.partner:0 -#: view:res.partner.address:0 -msgid "Postal Address" -msgstr "Postai cím" - -#. module: base_contact -#: field:res.partner.contact,function:0 -msgid "Main Function" -msgstr "Fő funkció" - -#. module: base_contact -#: model:process.transition,note:base_contact.process_transition_partnertoaddress0 -msgid "Define partners and their addresses." -msgstr "Határozza meg a partnereket és a címeiket." - -#. module: base_contact -#: field:res.partner.contact,name:0 -msgid "Name" -msgstr "Név" - -#. module: base_contact -#: field:res.partner.contact,lang_id:0 -msgid "Language" -msgstr "Nyelv" - -#. module: base_contact -#: field:res.partner.contact,mobile:0 -msgid "Mobile" -msgstr "Mobil" - -#. module: base_contact -#: field:res.partner.location,country_id:0 -msgid "Country" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,comment:0 -msgid "Notes" -msgstr "Megjegyzések" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_contacts0 -msgid "People you work with." -msgstr "Emberek akikkel dolgozol" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Extra Information" -msgstr "Extra információ" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,job_ids:0 -msgid "Functions and Addresses" -msgstr "Beosztások és címek" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_contact -#: field:res.partner.address,contact_id:0 -msgid "Contact" -msgstr "Kapcsolat" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_location -msgid "res.partner.location" -msgstr "" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_partners0 -msgid "Companies you work with." -msgstr "Cégek akikkel dolgozol" - -#. module: base_contact -#: field:res.partner.contact,partner_id:0 -msgid "Main Employer" -msgstr "Fő munkáltató" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner Contact" -msgstr "Partneri kapcsolat" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_addresses0 -msgid "Addresses" -msgstr "Címek" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_addresses0 -msgid "Working and private addresses." -msgstr "Munkahelyi és otthoni címek" - -#. module: base_contact -#: field:res.partner.contact,last_name:0 -msgid "Last Name" -msgstr "Vezetéknév" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,photo:0 -msgid "Photo" -msgstr "Fénykép" - -#. module: base_contact -#: view:res.partner.location:0 -msgid "Locations" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "General" -msgstr "Általános" - -#. module: base_contact -#: field:res.partner.location,street:0 -msgid "Street" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner" -msgstr "Partner" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_partners0 -msgid "Partners" -msgstr "Partnerek" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_address -msgid "Partner Addresses" -msgstr "Partner címek" - -#. module: base_contact -#: field:res.partner.location,street2:0 -msgid "Street2" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Personal Information" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,birthdate:0 -msgid "Birth Date" -msgstr "Születési dátum" - -#~ msgid "Categories" -#~ msgstr "Kategóriák" - -#~ msgid "Contact Partner Function" -#~ msgstr "Kapcsolattartó partner" - -#~ msgid "Partner Seq." -#~ msgstr "Partner sorrend" - -#~ msgid "Partner Function" -#~ msgstr "Partner beosztása" - -#~ msgid "# of Contacts" -#~ msgstr "# a kapcsolatoknak" - -#~ msgid "Additional phone field" -#~ msgstr "Plusz telefon mező" - -#~ msgid "Contact's Jobs" -#~ msgstr "Kapcsolattartó munkaköre" - -#~ msgid "Contact Functions" -#~ msgstr "Kapcsolatartók" - -#~ msgid "Main Job" -#~ msgstr "Fő munkakör" - -#~ msgid "Seq." -#~ msgstr "sorrend" - -#~ msgid "Internal/External extension phone number" -#~ msgstr "Belső/Kimenő mellék a telefonszámhoz" - -#~ msgid "Date Start" -#~ msgstr "Indulási időpont" - -#~ msgid "Define functions and address." -#~ msgstr "Határozza meg a beosztást és címet" - -#~ msgid "Other" -#~ msgstr "Egyéb" - -#~ msgid "Contact Seq." -#~ msgstr "Kapcsolat sorsz." - -#~ msgid "Jobs at a same partner address." -#~ msgstr "Feladatok ugyanahoz a partneri címhez" - -#~ msgid "Past" -#~ msgstr "múlt" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "" -#~ "A beírás X_ -el kell, hogy kezdődjön én nem tartalmazhat speciális " -#~ "karaktereket" - -#~ msgid "Contact to function" -#~ msgstr "Kapcsolat a tisztviselőhöz" - -#~ msgid "Partner Contacts" -#~ msgstr "Partner névjegyei" - -#~ msgid "Function to address" -#~ msgstr "Címek" - -#~ msgid "Phone" -#~ msgstr "Telefon" - -#~ msgid "Current" -#~ msgstr "Aktuális" - -#~ msgid "Fax" -#~ msgstr "Fax" - -#~ msgid "Address" -#~ msgstr "Cím" - -#~ msgid "res.partner.contact" -#~ msgstr "kapcsolattartó adatai" - -#~ msgid "Migrate" -#~ msgstr "Migráció" - -#~ msgid "Configuration Progress" -#~ msgstr "Folyamat beállítása" - -#~ msgid "Image" -#~ msgstr "Kép" - -#~ msgid "Communication" -#~ msgstr "Kommunikáció" - -#~ msgid "Function" -#~ msgstr "Funkció" - -#~ msgid "base.contact.installer" -#~ msgstr "base.contact.installer" - -#~ msgid "Configure" -#~ msgstr "Beállítás" - -#~ msgid "Defines contacts and functions." -#~ msgstr "Kapcsolatok és funkciók meghatározása" - -#~ msgid "State" -#~ msgstr "Állapot" - -#~ msgid "" -#~ "You may enter Address first,Partner will be linked " -#~ "automatically if any." -#~ msgstr "" -#~ "Valószínűleg először a címet kell megadnia, a partner automatikusan hozzá " -#~ "lesz kapcsolva ha létezik." - -#~ msgid "Job FAX no." -#~ msgstr "Munka FAX szám" - -#~ msgid "Function of this contact with this partner" -#~ msgstr "A kapcsolat funkciója ennél a partnernél" - -#~ msgid "Status of Address" -#~ msgstr "Cím státusza" - -#~ msgid "title" -#~ msgstr "cím" - -#~ msgid "Start date of job(Joining Date)" -#~ msgstr "Munka kezdés dátuma (csatlakozás dátuma)" - -#~ msgid "Last date of job" -#~ msgstr "Utolsó munkavégzés dátuma" - -#~ msgid "Select the Option for Addresses Migration" -#~ msgstr "Válasszon opciót a cím migrálásához" - -#~ msgid "Job E-Mail" -#~ msgstr "Munka E-mail" - -#~ msgid "Job Phone no." -#~ msgstr "Munka Telefonszám" - -#~ msgid "Date Stop" -#~ msgstr "Stop dátum" - -#~ msgid "Extension" -#~ msgstr "Kiterjesztés" - -#~ msgid "Otherwise these details will not be visible from address/contact." -#~ msgstr "Egyébként ezek az adataok nem lesznek láthatóak a cím/kapcsolat-nál." - -#~ msgid "Address which is linked to the Partner" -#~ msgstr "Cím ami a Partnerhez van hozzárendelve" - -#~ msgid "" -#~ "Due to changes in Address and Partner's relation, some of the details from " -#~ "address are needed to be migrated into contact information." -#~ msgstr "" -#~ "Mivel módosultak a Cím vagy Partner kapcsolata, ezért az elérhetőségi " -#~ "adatokat migrálni kell a kapcsolat adataiba is." - -#~ msgid "Search Contact" -#~ msgstr "Kapcsolat keresés" - -#~ msgid "Open Jobs" -#~ msgstr "Nyitott munkák" - -#~ msgid "Address's Migration to Contacts" -#~ msgstr "Cím(ek) migrálása a kapcsolatokhoz" - -#~ msgid "Address Migration" -#~ msgstr "Cím migrálás" diff --git a/addons/base_contact/i18n/id.po b/addons/base_contact/i18n/id.po deleted file mode 100644 index 237a816447c..00000000000 --- a/addons/base_contact/i18n/id.po +++ /dev/null @@ -1,263 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * base_contact -# -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 6.0dev\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2012-02-08 00:36+0000\n" -"PO-Revision-Date: 2009-11-09 13:45+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-02-09 06:14+0000\n" -"X-Generator: Launchpad (build 14763)\n" - -#. module: base_contact -#: field:res.partner.location,city:0 -msgid "City" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "First/Lastname" -msgstr "" - -#. module: base_contact -#: model:ir.actions.act_window,name:base_contact.action_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_purchases_partner_contact_form -#: model:process.node,name:base_contact.process_node_contacts0 -#: field:res.partner.location,job_ids:0 -msgid "Contacts" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Professional Info" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,first_name:0 -msgid "First Name" -msgstr "" - -#. module: base_contact -#: field:res.partner.address,location_id:0 -msgid "Location" -msgstr "" - -#. module: base_contact -#: model:process.transition,name:base_contact.process_transition_partnertoaddress0 -msgid "Partner to address" -msgstr "" - -#. module: base_contact -#: help:res.partner.contact,active:0 -msgid "" -"If the active field is set to False, it will allow you to " -"hide the partner contact without removing it." -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,website:0 -msgid "Website" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,zip:0 -msgid "Zip" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,state_id:0 -msgid "Fed. State" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,company_id:0 -msgid "Company" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,title:0 -msgid "Title" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,partner_id:0 -msgid "Main Partner" -msgstr "" - -#. module: base_contact -#: model:process.process,name:base_contact.process_process_basecontactprocess0 -msgid "Base Contact" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,email:0 -msgid "E-Mail" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,active:0 -msgid "Active" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,country_id:0 -msgid "Nationality" -msgstr "" - -#. module: base_contact -#: view:res.partner:0 -#: view:res.partner.address:0 -msgid "Postal Address" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,function:0 -msgid "Main Function" -msgstr "" - -#. module: base_contact -#: model:process.transition,note:base_contact.process_transition_partnertoaddress0 -msgid "Define partners and their addresses." -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,name:0 -msgid "Name" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,lang_id:0 -msgid "Language" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,mobile:0 -msgid "Mobile" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,country_id:0 -msgid "Country" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,comment:0 -msgid "Notes" -msgstr "" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_contacts0 -msgid "People you work with." -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Extra Information" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,job_ids:0 -msgid "Functions and Addresses" -msgstr "" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_contact -#: field:res.partner.address,contact_id:0 -msgid "Contact" -msgstr "" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_location -msgid "res.partner.location" -msgstr "" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_partners0 -msgid "Companies you work with." -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,partner_id:0 -msgid "Main Employer" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner Contact" -msgstr "" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_addresses0 -msgid "Addresses" -msgstr "" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_addresses0 -msgid "Working and private addresses." -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,last_name:0 -msgid "Last Name" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,photo:0 -msgid "Photo" -msgstr "" - -#. module: base_contact -#: view:res.partner.location:0 -msgid "Locations" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "General" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,street:0 -msgid "Street" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner" -msgstr "" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_partners0 -msgid "Partners" -msgstr "" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_address -msgid "Partner Addresses" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,street2:0 -msgid "Street2" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Personal Information" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,birthdate:0 -msgid "Birth Date" -msgstr "" diff --git a/addons/base_contact/i18n/it.po b/addons/base_contact/i18n/it.po deleted file mode 100644 index 58da03eab38..00000000000 --- a/addons/base_contact/i18n/it.po +++ /dev/null @@ -1,530 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * base_contact -# -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 6.0dev\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2012-02-08 00:36+0000\n" -"PO-Revision-Date: 2011-01-13 22:45+0000\n" -"Last-Translator: Davide Corio - agilebg.com <davide.corio@agilebg.com>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-02-09 06:14+0000\n" -"X-Generator: Launchpad (build 14763)\n" - -#. module: base_contact -#: field:res.partner.location,city:0 -msgid "City" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "First/Lastname" -msgstr "" - -#. module: base_contact -#: model:ir.actions.act_window,name:base_contact.action_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_purchases_partner_contact_form -#: model:process.node,name:base_contact.process_node_contacts0 -#: field:res.partner.location,job_ids:0 -msgid "Contacts" -msgstr "Contatti" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Professional Info" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,first_name:0 -msgid "First Name" -msgstr "Nome" - -#. module: base_contact -#: field:res.partner.address,location_id:0 -msgid "Location" -msgstr "" - -#. module: base_contact -#: model:process.transition,name:base_contact.process_transition_partnertoaddress0 -msgid "Partner to address" -msgstr "Partner da contattare" - -#. module: base_contact -#: help:res.partner.contact,active:0 -msgid "" -"If the active field is set to False, it will allow you to " -"hide the partner contact without removing it." -msgstr "" -"Deselezionare il campo attivo per nascondere il contatto del partner senza " -"rimuoverlo." - -#. module: base_contact -#: field:res.partner.contact,website:0 -msgid "Website" -msgstr "Sito Web" - -#. module: base_contact -#: field:res.partner.location,zip:0 -msgid "Zip" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,state_id:0 -msgid "Fed. State" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,company_id:0 -msgid "Company" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,title:0 -msgid "Title" -msgstr "Titolo" - -#. module: base_contact -#: field:res.partner.location,partner_id:0 -msgid "Main Partner" -msgstr "" - -#. module: base_contact -#: model:process.process,name:base_contact.process_process_basecontactprocess0 -msgid "Base Contact" -msgstr "Contatto base" - -#. module: base_contact -#: field:res.partner.contact,email:0 -msgid "E-Mail" -msgstr "E-Mail" - -#. module: base_contact -#: field:res.partner.contact,active:0 -msgid "Active" -msgstr "Attivo" - -#. module: base_contact -#: field:res.partner.contact,country_id:0 -msgid "Nationality" -msgstr "Nazionalità" - -#. module: base_contact -#: view:res.partner:0 -#: view:res.partner.address:0 -msgid "Postal Address" -msgstr "Indrizzo postale" - -#. module: base_contact -#: field:res.partner.contact,function:0 -msgid "Main Function" -msgstr "Fuzione principale" - -#. module: base_contact -#: model:process.transition,note:base_contact.process_transition_partnertoaddress0 -msgid "Define partners and their addresses." -msgstr "Definire i partners e i loro indirizzi." - -#. module: base_contact -#: field:res.partner.contact,name:0 -msgid "Name" -msgstr "Nome" - -#. module: base_contact -#: field:res.partner.contact,lang_id:0 -msgid "Language" -msgstr "Lingua" - -#. module: base_contact -#: field:res.partner.contact,mobile:0 -msgid "Mobile" -msgstr "Cellulare" - -#. module: base_contact -#: field:res.partner.location,country_id:0 -msgid "Country" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,comment:0 -msgid "Notes" -msgstr "Note" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_contacts0 -msgid "People you work with." -msgstr "Persone con cui lavori." - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Extra Information" -msgstr "Informazioni Aggiuntive" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,job_ids:0 -msgid "Functions and Addresses" -msgstr "Funzioni e Indirizzi" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_contact -#: field:res.partner.address,contact_id:0 -msgid "Contact" -msgstr "Contatto" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_location -msgid "res.partner.location" -msgstr "" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_partners0 -msgid "Companies you work with." -msgstr "Aziende con cui si lavora" - -#. module: base_contact -#: field:res.partner.contact,partner_id:0 -msgid "Main Employer" -msgstr "Datore di lavoro principale" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner Contact" -msgstr "Contatto Partner" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_addresses0 -msgid "Addresses" -msgstr "Indirizzi" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_addresses0 -msgid "Working and private addresses." -msgstr "Indirizzi di lavoro e privati" - -#. module: base_contact -#: field:res.partner.contact,last_name:0 -msgid "Last Name" -msgstr "Cognome" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,photo:0 -msgid "Photo" -msgstr "Foto" - -#. module: base_contact -#: view:res.partner.location:0 -msgid "Locations" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "General" -msgstr "Generale" - -#. module: base_contact -#: field:res.partner.location,street:0 -msgid "Street" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner" -msgstr "Partner" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_partners0 -msgid "Partners" -msgstr "Partners" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_address -msgid "Partner Addresses" -msgstr "Indirizzi Partner" - -#. module: base_contact -#: field:res.partner.location,street2:0 -msgid "Street2" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Personal Information" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,birthdate:0 -msgid "Birth Date" -msgstr "Data di Nascita" - -#~ msgid "Main Job" -#~ msgstr "Lavoro principale" - -#~ msgid "Partner Seq." -#~ msgstr "Seq. Partner" - -#~ msgid "Contact Seq." -#~ msgstr "Seq. Contatto" - -#~ msgid "res.partner.contact" -#~ msgstr "res.partner.contact" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "" -#~ "Il nome dell'oggetto deve iniziare per x_ e non deve contenere caratteri " -#~ "speciali!" - -#~ msgid "Current" -#~ msgstr "Attuale" - -#~ msgid "Contact Partner Function" -#~ msgstr "Funzione di contatto Partner" - -#~ msgid "Contact to function" -#~ msgstr "Contatto di funzione" - -#~ msgid "Function" -#~ msgstr "Funzione" - -#~ msgid "Phone" -#~ msgstr "Telefono" - -#~ msgid "Defines contacts and functions." -#~ msgstr "Definire contatti e fuzioni." - -#~ msgid "Contact Functions" -#~ msgstr "Fuinzioni Contatto" - -#~ msgid "" -#~ "Order of importance of this job title in the list of job title of the linked " -#~ "partner" -#~ msgstr "" -#~ "Ordine di importanza di qualifica di attività nella lista delle qualifiche " -#~ "del partner collegato" - -#~ msgid "Date Stop" -#~ msgstr "Data di arresto" - -#~ msgid "Address" -#~ msgstr "Indirizzo" - -#~ msgid "Contact's Jobs" -#~ msgstr "Lavori del contatto" - -#~ msgid "" -#~ "Order of importance of this address in the list of addresses of the linked " -#~ "contact" -#~ msgstr "" -#~ "Ordine di importanza di questo indirizzo nella lista degli indirizzi del " -#~ "contatto collegato" - -#~ msgid "Categories" -#~ msgstr "Categorie" - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "XML non valido per Visualizzazione Architettura!" - -#~ msgid "Seq." -#~ msgstr "Seq." - -#~ msgid "Function to address" -#~ msgstr "Funzione da attribuire" - -#~ msgid "Partner Contacts" -#~ msgstr "Contatti del partner" - -#~ msgid "State" -#~ msgstr "Stato" - -#~ msgid "Past" -#~ msgstr "Passato" - -#~ msgid "General Information" -#~ msgstr "Informazioni Generali" - -#~ msgid "Jobs at a same partner address." -#~ msgstr "Attività allo stesso indirizzo del partner" - -#~ msgid "Date Start" -#~ msgstr "Data inizio" - -#~ msgid "Define functions and address." -#~ msgstr "Definire funzioni e indirizzi." - -#~ msgid "Other" -#~ msgstr "Altro" - -#~ msgid "Fax" -#~ msgstr "Fax" - -#~ msgid "Additional phone field" -#~ msgstr "Numero di telefono aggiuntivo" - -#~ msgid "Extension" -#~ msgstr "Interno" - -#~ msgid "Partner Function" -#~ msgstr "Funzione associata" - -#~ msgid "Invalid model name in the action definition." -#~ msgstr "Nome del modulo non valido nella definizione dell'azione." - -#~ msgid "Base Contact Process" -#~ msgstr "Processo Contatto base" - -#~ msgid "Internal/External extension phone number" -#~ msgstr "Estensione Interna/Esterna numero di telefono" - -#~ msgid "" -#~ "You may enter Address first,Partner will be linked " -#~ "automatically if any." -#~ msgstr "" -#~ "Bisogna inserire l'indirizzo per primo, il Partner verrà collegato " -#~ "automaticamente, se esiste." - -#~ msgid "Function of this contact with this partner" -#~ msgstr "Funzione di questo contatto per questo Partner" - -#~ msgid "title" -#~ msgstr "titolo" - -#~ msgid "Address which is linked to the Partner" -#~ msgstr "Indirizzo che è collegato al Partner" - -#~ msgid "Job E-Mail" -#~ msgstr "E-mail lavoro" - -#~ msgid "Job Phone no." -#~ msgstr "Num. telefono lavoro" - -#~ msgid "Search Contact" -#~ msgstr "Ricerca contatto" - -#~ msgid "Image" -#~ msgstr "Immagine" - -#~ msgid "Address Migration" -#~ msgstr "Migrazione indirizzo" - -#~ msgid "base.contact.installer" -#~ msgstr "base.contact.installer" - -#~ msgid "Job FAX no." -#~ msgstr "Num. fax lavoro" - -#~ msgid "Otherwise these details will not be visible from address/contact." -#~ msgstr "" -#~ "Altrimenti questi dettagli non sarebbero visibili da indirizzo/contatto." - -#~ msgid "" -#~ "Due to changes in Address and Partner's relation, some of the details from " -#~ "address are needed to be migrated into contact information." -#~ msgstr "" -#~ "In seguito a cambiamenti nella relazione Partner - Indirizzi, alcuni " -#~ "dettagli degli Indirizzi necessitano di essere migrati nelle informazioni " -#~ "relative al contatto." - -#~ msgid "If you select this, all addresses will be migrated." -#~ msgstr "Se selezionate questo, tutti gli indirizzi verranno migrati." - -#~ msgid "Do you want to migrate your Address data in Contact Data?" -#~ msgstr "Vuoi migrare i dati relativi all'indirizzo in quelli del contatto?" - -#~ msgid "" -#~ "Order of importance of this job title in the list of job " -#~ "title of the linked partner" -#~ msgstr "" -#~ "Ordine di importanza di questo titolo di lavoro nella lista completa del " -#~ "partner collegato" - -#~ msgid "Communication" -#~ msgstr "Comunicazione" - -#~ msgid "" -#~ "Order of importance of this address in the list of " -#~ "addresses of the linked contact" -#~ msgstr "" -#~ "Ordine di importanza di questo indirizzo nella lista completa collegata al " -#~ "contatto" - -#~ msgid "Configuration Progress" -#~ msgstr "Avanzamento configurazione" - -#~ msgid "Migrate" -#~ msgstr "Migra" - -#~ msgid "Open Jobs" -#~ msgstr "Lavori Attuali" - -#~ msgid "" -#~ "\n" -#~ " This module allows you to manage your contacts entirely.\n" -#~ "\n" -#~ " It lets you define\n" -#~ " *contacts unrelated to a partner,\n" -#~ " *contacts working at several addresses (possibly for different " -#~ "partners),\n" -#~ " *contacts with possibly different functions for each of its job's " -#~ "addresses\n" -#~ "\n" -#~ " It also adds new menu items located in\n" -#~ " Partners \\ Contacts\n" -#~ " Partners \\ Functions\n" -#~ "\n" -#~ " Pay attention that this module converts the existing addresses into " -#~ "\"addresses + contacts\". It means that some fields of the addresses will be " -#~ "missing (like the contact name), since these are supposed to be defined in " -#~ "an other object.\n" -#~ " " -#~ msgstr "" -#~ "\n" -#~ " Questo modulo permette di gestire i vostri contatti interamente.\n" -#~ "\n" -#~ " Permette di definire\n" -#~ " * contatti non relazionati necessariamente con un partner,\n" -#~ " * contatti che lavorano per parecchi indirizzi (possibilità per " -#~ "partner differenti),\n" -#~ " * contatti con la possibilità di avere differenti funzioni per " -#~ "ognuno degli indirizzi lavorativi\n" -#~ "\n" -#~ " Aggiunge inoltre un nuovo menù in:\n" -#~ " Partner \\ Contatti\n" -#~ " Partner \\ Funzioni\n" -#~ "\n" -#~ " Prestare attenzione che questo modulo converte l'attuale indirizzo in " -#~ "\"indirizzo + contatti\". Ciò significa che alcuni campi dell'indirizzo " -#~ "verranno persi (come il nome contatto), dato che questi si suppongono " -#~ "definiti in un altro oggetto.\n" -#~ " " - -#~ msgid "Select the Option for Addresses Migration" -#~ msgstr "Seleziona l'opzione per la migrazione indirizzi" - -#~ msgid "Last date of job" -#~ msgstr "Data termine posizione" - -#~ msgid "Configure" -#~ msgstr "Configura" - -#~ msgid "You can migrate Partner's current addresses to the contact." -#~ msgstr "E' possibile migrare l'attuale indirizzo partner a contatto" - -#~ msgid "Address's Migration to Contacts" -#~ msgstr "MIgrazione da Indirizzo a Contatto" - -#~ msgid "# of Contacts" -#~ msgstr "# di Contatti" - -#~ msgid "Status of Address" -#~ msgstr "Stato dell'indirizzo" - -#~ msgid "Start date of job(Joining Date)" -#~ msgstr "Data inizio posizione (data assunzione)" diff --git a/addons/base_contact/i18n/ko.po b/addons/base_contact/i18n/ko.po deleted file mode 100644 index 2453a76db4e..00000000000 --- a/addons/base_contact/i18n/ko.po +++ /dev/null @@ -1,374 +0,0 @@ -# Korean translation for openobject-addons -# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 -# This file is distributed under the same license as the openobject-addons package. -# FIRST AUTHOR <EMAIL@ADDRESS>, 2009. -# -msgid "" -msgstr "" -"Project-Id-Version: openobject-addons\n" -"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2012-02-08 00:36+0000\n" -"PO-Revision-Date: 2010-08-03 01:28+0000\n" -"Last-Translator: Bundo <bundo@bundo.biz>\n" -"Language-Team: Korean <ko@li.org>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-02-09 06:14+0000\n" -"X-Generator: Launchpad (build 14763)\n" - -#. module: base_contact -#: field:res.partner.location,city:0 -msgid "City" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "First/Lastname" -msgstr "" - -#. module: base_contact -#: model:ir.actions.act_window,name:base_contact.action_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_purchases_partner_contact_form -#: model:process.node,name:base_contact.process_node_contacts0 -#: field:res.partner.location,job_ids:0 -msgid "Contacts" -msgstr "접촉" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Professional Info" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,first_name:0 -msgid "First Name" -msgstr "성" - -#. module: base_contact -#: field:res.partner.address,location_id:0 -msgid "Location" -msgstr "" - -#. module: base_contact -#: model:process.transition,name:base_contact.process_transition_partnertoaddress0 -msgid "Partner to address" -msgstr "파트너 주소" - -#. module: base_contact -#: help:res.partner.contact,active:0 -msgid "" -"If the active field is set to False, it will allow you to " -"hide the partner contact without removing it." -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,website:0 -msgid "Website" -msgstr "웹 사이트" - -#. module: base_contact -#: field:res.partner.location,zip:0 -msgid "Zip" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,state_id:0 -msgid "Fed. State" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,company_id:0 -msgid "Company" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,title:0 -msgid "Title" -msgstr "제목" - -#. module: base_contact -#: field:res.partner.location,partner_id:0 -msgid "Main Partner" -msgstr "" - -#. module: base_contact -#: model:process.process,name:base_contact.process_process_basecontactprocess0 -msgid "Base Contact" -msgstr "기본 연락" - -#. module: base_contact -#: field:res.partner.contact,email:0 -msgid "E-Mail" -msgstr "이메일" - -#. module: base_contact -#: field:res.partner.contact,active:0 -msgid "Active" -msgstr "활성" - -#. module: base_contact -#: field:res.partner.contact,country_id:0 -msgid "Nationality" -msgstr "국적" - -#. module: base_contact -#: view:res.partner:0 -#: view:res.partner.address:0 -msgid "Postal Address" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,function:0 -msgid "Main Function" -msgstr "주요 기능" - -#. module: base_contact -#: model:process.transition,note:base_contact.process_transition_partnertoaddress0 -msgid "Define partners and their addresses." -msgstr "파트너와 주소 정의" - -#. module: base_contact -#: field:res.partner.contact,name:0 -msgid "Name" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,lang_id:0 -msgid "Language" -msgstr "언어" - -#. module: base_contact -#: field:res.partner.contact,mobile:0 -msgid "Mobile" -msgstr "휴대전화" - -#. module: base_contact -#: field:res.partner.location,country_id:0 -msgid "Country" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,comment:0 -msgid "Notes" -msgstr "" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_contacts0 -msgid "People you work with." -msgstr "함께 일하는 사람들" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Extra Information" -msgstr "추가 정보" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,job_ids:0 -msgid "Functions and Addresses" -msgstr "기능과 주소" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_contact -#: field:res.partner.address,contact_id:0 -msgid "Contact" -msgstr "연락처" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_location -msgid "res.partner.location" -msgstr "" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_partners0 -msgid "Companies you work with." -msgstr "협력 업체들" - -#. module: base_contact -#: field:res.partner.contact,partner_id:0 -msgid "Main Employer" -msgstr "주 고용자" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner Contact" -msgstr "파트너 연락처" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_addresses0 -msgid "Addresses" -msgstr "주소" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_addresses0 -msgid "Working and private addresses." -msgstr "직장 및 집 주소" - -#. module: base_contact -#: field:res.partner.contact,last_name:0 -msgid "Last Name" -msgstr "이름" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,photo:0 -msgid "Photo" -msgstr "" - -#. module: base_contact -#: view:res.partner.location:0 -msgid "Locations" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "General" -msgstr "일반" - -#. module: base_contact -#: field:res.partner.location,street:0 -msgid "Street" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner" -msgstr "파트너" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_partners0 -msgid "Partners" -msgstr "파트너" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_address -msgid "Partner Addresses" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,street2:0 -msgid "Street2" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Personal Information" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,birthdate:0 -msgid "Birth Date" -msgstr "생일" - -#~ msgid "Other" -#~ msgstr "기능" - -#~ msgid "Current" -#~ msgstr "현재" - -#~ msgid "Contact Partner Function" -#~ msgstr "파트너 접촉 기능" - -#~ msgid "Partner Seq." -#~ msgstr "파트너 시퀀스" - -#~ msgid "Contact Seq." -#~ msgstr "접촉 시퀀스" - -#~ msgid "Defines contacts and functions." -#~ msgstr "연락처와 기능 정의" - -#~ msgid "Partner Function" -#~ msgstr "파트너 기능" - -#~ msgid "# of Contacts" -#~ msgstr "연락처의 #" - -#~ msgid "Phone" -#~ msgstr "전화" - -#~ msgid "Function" -#~ msgstr "기능" - -#~ msgid "Fax" -#~ msgstr "팩스" - -#~ msgid "Additional phone field" -#~ msgstr "추가 전화 필드" - -#~ msgid "Contact's Jobs" -#~ msgstr "접촉 대상자의 직업" - -#~ msgid "Main Job" -#~ msgstr "주업" - -#~ msgid "" -#~ "Order of importance of this job title in the list of job title of the linked " -#~ "partner" -#~ msgstr "링크된 파트너의 직종 리스트에 있는 중요성 순서" - -#~ msgid "" -#~ "Order of importance of this address in the list of addresses of the linked " -#~ "contact" -#~ msgstr "링크된 파트너의 직종 리스트에 있는 중요성 순서" - -#~ msgid "Contact Functions" -#~ msgstr "연락 기능" - -#~ msgid "Date Stop" -#~ msgstr "날짜 중단" - -#~ msgid "Address" -#~ msgstr "주소" - -#~ msgid "Seq." -#~ msgstr "시퀀스" - -#~ msgid "Base Contact Process" -#~ msgstr "기본 접촉 프로세스" - -#~ msgid "Partner Contacts" -#~ msgstr "파트너 연락처" - -#~ msgid "Define functions and address." -#~ msgstr "기능과 주소 정의" - -#~ msgid "General Information" -#~ msgstr "일반 정보" - -#~ msgid "State" -#~ msgstr "상태" - -#~ msgid "Jobs at a same partner address." -#~ msgstr "동일한 파트너 주소의 직업" - -#~ msgid "Past" -#~ msgstr "과거" - -#~ msgid "Date Start" -#~ msgstr "시작 날짜" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "오브젝트 이름은 x_로 시작해야 하며, 특수 문자를 포함하면 안 됩니다 !" - -#~ msgid "Invalid model name in the action definition." -#~ msgstr "액션 정의에서 유효하지 않은 모델 이름" - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "유효하지 않은 아키텍처를 위한 XML 보기!" - -#~ msgid "Categories" -#~ msgstr "항목" - -#~ msgid "Internal/External extension phone number" -#~ msgstr "내부/외부 확장 전화 번호" - -#~ msgid "Extension" -#~ msgstr "확장기능" - -#~ msgid "Function to address" -#~ msgstr "기능 주소" diff --git a/addons/base_contact/i18n/lo.po b/addons/base_contact/i18n/lo.po deleted file mode 100644 index 23d0fcf6051..00000000000 --- a/addons/base_contact/i18n/lo.po +++ /dev/null @@ -1,315 +0,0 @@ -# Lao translation for openobject-addons -# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 -# This file is distributed under the same license as the openobject-addons package. -# FIRST AUTHOR <EMAIL@ADDRESS>, 2011. -# -msgid "" -msgstr "" -"Project-Id-Version: openobject-addons\n" -"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2012-02-08 00:36+0000\n" -"PO-Revision-Date: 2011-01-17 17:50+0000\n" -"Last-Translator: Brice Muangkhot ສຸພາ ເມືອງໂຄຕ <bmuangkhot@gmail.com>\n" -"Language-Team: Lao <lo@li.org>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-02-09 06:14+0000\n" -"X-Generator: Launchpad (build 14763)\n" - -#. module: base_contact -#: field:res.partner.location,city:0 -msgid "City" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "First/Lastname" -msgstr "" - -#. module: base_contact -#: model:ir.actions.act_window,name:base_contact.action_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_purchases_partner_contact_form -#: model:process.node,name:base_contact.process_node_contacts0 -#: field:res.partner.location,job_ids:0 -msgid "Contacts" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Professional Info" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,first_name:0 -msgid "First Name" -msgstr "ຊື່" - -#. module: base_contact -#: field:res.partner.address,location_id:0 -msgid "Location" -msgstr "" - -#. module: base_contact -#: model:process.transition,name:base_contact.process_transition_partnertoaddress0 -msgid "Partner to address" -msgstr "" - -#. module: base_contact -#: help:res.partner.contact,active:0 -msgid "" -"If the active field is set to False, it will allow you to " -"hide the partner contact without removing it." -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,website:0 -msgid "Website" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,zip:0 -msgid "Zip" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,state_id:0 -msgid "Fed. State" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,company_id:0 -msgid "Company" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,title:0 -msgid "Title" -msgstr "ຫົວຂໍ້້" - -#. module: base_contact -#: field:res.partner.location,partner_id:0 -msgid "Main Partner" -msgstr "" - -#. module: base_contact -#: model:process.process,name:base_contact.process_process_basecontactprocess0 -msgid "Base Contact" -msgstr "ທີ່ຕິດຕໍ່ຕອນຕົ້ນ" - -#. module: base_contact -#: field:res.partner.contact,email:0 -msgid "E-Mail" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,active:0 -msgid "Active" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,country_id:0 -msgid "Nationality" -msgstr "" - -#. module: base_contact -#: view:res.partner:0 -#: view:res.partner.address:0 -msgid "Postal Address" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,function:0 -msgid "Main Function" -msgstr "" - -#. module: base_contact -#: model:process.transition,note:base_contact.process_transition_partnertoaddress0 -msgid "Define partners and their addresses." -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,name:0 -msgid "Name" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,lang_id:0 -msgid "Language" -msgstr "ພາສາ" - -#. module: base_contact -#: field:res.partner.contact,mobile:0 -msgid "Mobile" -msgstr "ໂມໄບລ" - -#. module: base_contact -#: field:res.partner.location,country_id:0 -msgid "Country" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,comment:0 -msgid "Notes" -msgstr "ຂໍ້ນບັນທຶກ" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_contacts0 -msgid "People you work with." -msgstr "ພວກທີ່ທ່ານເຮັດວຽກນໍາ" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Extra Information" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,job_ids:0 -msgid "Functions and Addresses" -msgstr "" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_contact -#: field:res.partner.address,contact_id:0 -msgid "Contact" -msgstr "" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_location -msgid "res.partner.location" -msgstr "" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_partners0 -msgid "Companies you work with." -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,partner_id:0 -msgid "Main Employer" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner Contact" -msgstr "" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_addresses0 -msgid "Addresses" -msgstr "" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_addresses0 -msgid "Working and private addresses." -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,last_name:0 -msgid "Last Name" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,photo:0 -msgid "Photo" -msgstr "" - -#. module: base_contact -#: view:res.partner.location:0 -msgid "Locations" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "General" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,street:0 -msgid "Street" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner" -msgstr "ຄຸ່ຄ້າ" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_partners0 -msgid "Partners" -msgstr "ພວກຄູ່ຄ້າ" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_address -msgid "Partner Addresses" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,street2:0 -msgid "Street2" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Personal Information" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,birthdate:0 -msgid "Birth Date" -msgstr "" - -#~ msgid "Status of Address" -#~ msgstr "ສພາບການຂອງທີ່ຢູ່" - -#~ msgid "title" -#~ msgstr "ຫົວຂໍ້:" - -#~ msgid "Start date of job(Joining Date)" -#~ msgstr "ວັນທີເລີ່ມທໍາງານ" - -#~ msgid "Fax" -#~ msgstr "ເເຟກຊ" - -#~ msgid "Last date of job" -#~ msgstr "ວັນທີສຸດທ້າຍທີ່ເຮັດວຽກ" - -#~ msgid "Migrate" -#~ msgstr "ຍ້າຍໄປ" - -#~ msgid "# of Contacts" -#~ msgstr "# ສໍາລັບທີ່ຕິດຕໍ່" - -#~ msgid "" -#~ "You may enter Address first,Partner will be linked " -#~ "automatically if any." -#~ msgstr "" -#~ "ທ່ານອາດເອົາທີ່ຢູ່ເຂົ້າກ່ອນ, ບາດເເລ້ວ ຄູ່ຄ້າຈະຕິດພັນເຂົ້ວເເບບອັດຕະໂນມັດ" - -#~ msgid "Job FAX no." -#~ msgstr "ວຢກເເຟກຊ ນໍ້າເບີ" - -#~ msgid "Jobs at a same partner address." -#~ msgstr "ງານໃນທີ່ຢູ່ຄູ່ຄ້າບ່ອນດຽວ" - -#~ msgid "Job Phone no." -#~ msgstr "ເບີໂທລະສັບວຽກງານ" - -#~ msgid "Date Stop" -#~ msgstr "ວັນທິຢຸດ" - -#~ msgid "Search Contact" -#~ msgstr "ຊອກຫາ ຜູ້ຕິດຕໍ່" - -#~ msgid "Other" -#~ msgstr "ອື່ນ ໆ" - -#~ msgid "Phone" -#~ msgstr "ໂທລະສັບ" - -#~ msgid "Current" -#~ msgstr "ປະຈຸບັນ" diff --git a/addons/base_contact/i18n/lt.po b/addons/base_contact/i18n/lt.po deleted file mode 100644 index 286f497953b..00000000000 --- a/addons/base_contact/i18n/lt.po +++ /dev/null @@ -1,364 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * base_contact -# Giedrius Slavinskas <giedrius.slavinskas@gmail.com>, 2010. -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 6.0dev\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2012-02-08 00:36+0000\n" -"PO-Revision-Date: 2010-09-09 07:09+0000\n" -"Last-Translator: Giedrius Slavinskas - inovera.lt " -"<giedrius.slavinskas@gmail.com>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-02-09 06:14+0000\n" -"X-Generator: Launchpad (build 14763)\n" -"Language: lt\n" - -#. module: base_contact -#: field:res.partner.location,city:0 -msgid "City" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "First/Lastname" -msgstr "" - -#. module: base_contact -#: model:ir.actions.act_window,name:base_contact.action_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_purchases_partner_contact_form -#: model:process.node,name:base_contact.process_node_contacts0 -#: field:res.partner.location,job_ids:0 -msgid "Contacts" -msgstr "Kontaktai" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Professional Info" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,first_name:0 -msgid "First Name" -msgstr "Vardas" - -#. module: base_contact -#: field:res.partner.address,location_id:0 -msgid "Location" -msgstr "" - -#. module: base_contact -#: model:process.transition,name:base_contact.process_transition_partnertoaddress0 -msgid "Partner to address" -msgstr "" - -#. module: base_contact -#: help:res.partner.contact,active:0 -msgid "" -"If the active field is set to False, it will allow you to " -"hide the partner contact without removing it." -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,website:0 -msgid "Website" -msgstr "Svetainė" - -#. module: base_contact -#: field:res.partner.location,zip:0 -msgid "Zip" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,state_id:0 -msgid "Fed. State" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,company_id:0 -msgid "Company" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,title:0 -msgid "Title" -msgstr "Antraštė" - -#. module: base_contact -#: field:res.partner.location,partner_id:0 -msgid "Main Partner" -msgstr "" - -#. module: base_contact -#: model:process.process,name:base_contact.process_process_basecontactprocess0 -msgid "Base Contact" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,email:0 -msgid "E-Mail" -msgstr "El. paštas" - -#. module: base_contact -#: field:res.partner.contact,active:0 -msgid "Active" -msgstr "Aktyvus" - -#. module: base_contact -#: field:res.partner.contact,country_id:0 -msgid "Nationality" -msgstr "Tautybė" - -#. module: base_contact -#: view:res.partner:0 -#: view:res.partner.address:0 -msgid "Postal Address" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,function:0 -msgid "Main Function" -msgstr "Pagrindinė funkcija" - -#. module: base_contact -#: model:process.transition,note:base_contact.process_transition_partnertoaddress0 -msgid "Define partners and their addresses." -msgstr "Pasirinkite partnerius ir jų adresus" - -#. module: base_contact -#: field:res.partner.contact,name:0 -msgid "Name" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,lang_id:0 -msgid "Language" -msgstr "Kalba" - -#. module: base_contact -#: field:res.partner.contact,mobile:0 -msgid "Mobile" -msgstr "Mobilus telefonas" - -#. module: base_contact -#: field:res.partner.location,country_id:0 -msgid "Country" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,comment:0 -msgid "Notes" -msgstr "" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_contacts0 -msgid "People you work with." -msgstr "Bendradarbiai" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Extra Information" -msgstr "Papildoma informacija" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,job_ids:0 -msgid "Functions and Addresses" -msgstr "Pareigos ir adresai" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_contact -#: field:res.partner.address,contact_id:0 -msgid "Contact" -msgstr "Kontaktas" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_location -msgid "res.partner.location" -msgstr "" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_partners0 -msgid "Companies you work with." -msgstr "Įmonė kurioje jūs dirbate." - -#. module: base_contact -#: field:res.partner.contact,partner_id:0 -msgid "Main Employer" -msgstr "Pagrindinis darbdavys" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner Contact" -msgstr "Partnerio kontaktai" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_addresses0 -msgid "Addresses" -msgstr "Adresai" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_addresses0 -msgid "Working and private addresses." -msgstr "Darbo ir asmeninis adresai." - -#. module: base_contact -#: field:res.partner.contact,last_name:0 -msgid "Last Name" -msgstr "Pavardė" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,photo:0 -msgid "Photo" -msgstr "" - -#. module: base_contact -#: view:res.partner.location:0 -msgid "Locations" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "General" -msgstr "Bendrasis" - -#. module: base_contact -#: field:res.partner.location,street:0 -msgid "Street" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner" -msgstr "Partneris" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_partners0 -msgid "Partners" -msgstr "Partneriai" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_address -msgid "Partner Addresses" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,street2:0 -msgid "Street2" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Personal Information" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,birthdate:0 -msgid "Birth Date" -msgstr "Gimimo data" - -#~ msgid "Address" -#~ msgstr "Adresas" - -#~ msgid "Categories" -#~ msgstr "Kategorijos" - -#~ msgid "State" -#~ msgstr "Būsena" - -#~ msgid "General Information" -#~ msgstr "Bendroji informacija" - -#~ msgid "Date Start" -#~ msgstr "Pradžios data" - -#~ msgid "Contact Partner Function" -#~ msgstr "Partnerio pareigos" - -#~ msgid "Current" -#~ msgstr "Dabartinis" - -#~ msgid "Other" -#~ msgstr "Kita" - -#~ msgid "Partner Contacts" -#~ msgstr "Partnerių kontaktai" - -#~ msgid "Contact Seq." -#~ msgstr "Kontakto seka" - -#~ msgid "res.partner.contact" -#~ msgstr "Partnerių kontaktai" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "" -#~ "Objekto pavadinimas turi prasidėti x_ ir neturėti jokių specialių simbolių !" - -#~ msgid "Partner Function" -#~ msgstr "Partnerio pareigos" - -#~ msgid "Partner Seq." -#~ msgstr "Partnerio seka" - -#~ msgid "# of Contacts" -#~ msgstr "Kontaktai" - -#~ msgid "Additional phone field" -#~ msgstr "Papildomos informacijos laukas" - -#~ msgid "Function" -#~ msgstr "Adresas" - -#~ msgid "Fax" -#~ msgstr "Faksas" - -#~ msgid "Phone" -#~ msgstr "Telefonas" - -#~ msgid "Contact Functions" -#~ msgstr "Kontaktų pareigos" - -#~ msgid "" -#~ "Order of importance of this job title in the list of job title of the linked " -#~ "partner" -#~ msgstr "Pareigos pagal svarbumą susijusiam partneriui." - -#~ msgid "Date Stop" -#~ msgstr "Pabaigos data" - -#~ msgid "Contact's Jobs" -#~ msgstr "Kontaktų pareigos" - -#~ msgid "" -#~ "Order of importance of this address in the list of addresses of the linked " -#~ "contact" -#~ msgstr "Adresai pagal svarbumą sąraše." - -#~ msgid "Main Job" -#~ msgstr "Pagrindinės pareigos" - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "Netinkamas XML peržiūros struktūrai!" - -#~ msgid "Seq." -#~ msgstr "Seka" - -#~ msgid "Extension" -#~ msgstr "Papildomas telefonas" - -#~ msgid "Internal/External extension phone number" -#~ msgstr "Vidinis/išorinis papildomas telefono numeris" - -#~ msgid "Past" -#~ msgstr "Buvęs" - -#~ msgid "Jobs at a same partner address." -#~ msgstr "Darbai su to paties partnerio adresu." diff --git a/addons/base_contact/i18n/lv.po b/addons/base_contact/i18n/lv.po deleted file mode 100644 index 9069a60bf54..00000000000 --- a/addons/base_contact/i18n/lv.po +++ /dev/null @@ -1,442 +0,0 @@ -# Latvian translation for openobject-addons -# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 -# This file is distributed under the same license as the openobject-addons package. -# FIRST AUTHOR <EMAIL@ADDRESS>, 2009. -# -msgid "" -msgstr "" -"Project-Id-Version: openobject-addons\n" -"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2012-02-08 00:36+0000\n" -"PO-Revision-Date: 2010-12-20 05:28+0000\n" -"Last-Translator: OpenERP Administrators <Unknown>\n" -"Language-Team: Latvian <lv@li.org>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-02-09 06:14+0000\n" -"X-Generator: Launchpad (build 14763)\n" - -#. module: base_contact -#: field:res.partner.location,city:0 -msgid "City" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "First/Lastname" -msgstr "" - -#. module: base_contact -#: model:ir.actions.act_window,name:base_contact.action_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_purchases_partner_contact_form -#: model:process.node,name:base_contact.process_node_contacts0 -#: field:res.partner.location,job_ids:0 -msgid "Contacts" -msgstr "Kontakti" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Professional Info" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,first_name:0 -msgid "First Name" -msgstr "Vārds" - -#. module: base_contact -#: field:res.partner.address,location_id:0 -msgid "Location" -msgstr "" - -#. module: base_contact -#: model:process.transition,name:base_contact.process_transition_partnertoaddress0 -msgid "Partner to address" -msgstr "Partneris -> adrese" - -#. module: base_contact -#: help:res.partner.contact,active:0 -msgid "" -"If the active field is set to False, it will allow you to " -"hide the partner contact without removing it." -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,website:0 -msgid "Website" -msgstr "Mājaslapa" - -#. module: base_contact -#: field:res.partner.location,zip:0 -msgid "Zip" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,state_id:0 -msgid "Fed. State" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,company_id:0 -msgid "Company" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,title:0 -msgid "Title" -msgstr "Uzruna" - -#. module: base_contact -#: field:res.partner.location,partner_id:0 -msgid "Main Partner" -msgstr "" - -#. module: base_contact -#: model:process.process,name:base_contact.process_process_basecontactprocess0 -msgid "Base Contact" -msgstr "Pamata Kontakts" - -#. module: base_contact -#: field:res.partner.contact,email:0 -msgid "E-Mail" -msgstr "E-pasts" - -#. module: base_contact -#: field:res.partner.contact,active:0 -msgid "Active" -msgstr "Aktīvs" - -#. module: base_contact -#: field:res.partner.contact,country_id:0 -msgid "Nationality" -msgstr "Nacionālā Piederība" - -#. module: base_contact -#: view:res.partner:0 -#: view:res.partner.address:0 -msgid "Postal Address" -msgstr "Pasta adrese" - -#. module: base_contact -#: field:res.partner.contact,function:0 -msgid "Main Function" -msgstr "Pamatfunkcija" - -#. module: base_contact -#: model:process.transition,note:base_contact.process_transition_partnertoaddress0 -msgid "Define partners and their addresses." -msgstr "Definēt partnerus un to adreses." - -#. module: base_contact -#: field:res.partner.contact,name:0 -msgid "Name" -msgstr "Nosaukums" - -#. module: base_contact -#: field:res.partner.contact,lang_id:0 -msgid "Language" -msgstr "Valoda" - -#. module: base_contact -#: field:res.partner.contact,mobile:0 -msgid "Mobile" -msgstr "Mobilais tālr." - -#. module: base_contact -#: field:res.partner.location,country_id:0 -msgid "Country" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,comment:0 -msgid "Notes" -msgstr "Piezīmes" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_contacts0 -msgid "People you work with." -msgstr "Darba kolēģi." - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Extra Information" -msgstr "Papildus Informācija" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,job_ids:0 -msgid "Functions and Addresses" -msgstr "Amati un Adreses" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_contact -#: field:res.partner.address,contact_id:0 -msgid "Contact" -msgstr "Kontakts" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_location -msgid "res.partner.location" -msgstr "" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_partners0 -msgid "Companies you work with." -msgstr "Sadarbības partneri." - -#. module: base_contact -#: field:res.partner.contact,partner_id:0 -msgid "Main Employer" -msgstr "Galvenais Darba Devējs" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner Contact" -msgstr "Partnera Kontakts" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_addresses0 -msgid "Addresses" -msgstr "Adreses" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_addresses0 -msgid "Working and private addresses." -msgstr "Darba un privātās adreses." - -#. module: base_contact -#: field:res.partner.contact,last_name:0 -msgid "Last Name" -msgstr "Uzvārds" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,photo:0 -msgid "Photo" -msgstr "Foto" - -#. module: base_contact -#: view:res.partner.location:0 -msgid "Locations" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "General" -msgstr "Vispārējs" - -#. module: base_contact -#: field:res.partner.location,street:0 -msgid "Street" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner" -msgstr "Partneris" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_partners0 -msgid "Partners" -msgstr "Partneri" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_address -msgid "Partner Addresses" -msgstr "Partnera Adreses" - -#. module: base_contact -#: field:res.partner.location,street2:0 -msgid "Street2" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Personal Information" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,birthdate:0 -msgid "Birth Date" -msgstr "Dzimšanas datums" - -#~ msgid "res.partner.contact" -#~ msgstr "res.partner.contact" - -#~ msgid "Other" -#~ msgstr "Cits" - -#~ msgid "# of Contacts" -#~ msgstr "Kontaktu Skaits" - -#~ msgid "Phone" -#~ msgstr "Tālrunis" - -#~ msgid "Fax" -#~ msgstr "Fakss" - -#~ msgid "Additional phone field" -#~ msgstr "Papildus tālruņa lauks" - -#~ msgid "Main Job" -#~ msgstr "Galvenā Darbavieta" - -#~ msgid "Contact's Jobs" -#~ msgstr "Kontakta Darbavietas" - -#~ msgid "Address" -#~ msgstr "Adrese" - -#~ msgid "Categories" -#~ msgstr "Kategorijas" - -#~ msgid "Internal/External extension phone number" -#~ msgstr "Vietējais / Pilsētas tālruņa numurs" - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "Nepareizs Skatījuma uzbūves XML!" - -#~ msgid "Extension" -#~ msgstr "Tālrunis" - -#~ msgid "Partner Contacts" -#~ msgstr "Partnera Kontakti" - -#~ msgid "General Information" -#~ msgstr "Vispārēja Informācija" - -#~ msgid "Date Start" -#~ msgstr "Sākuma Datums" - -#~ msgid "Current" -#~ msgstr "Tekošais" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "" -#~ "Objekta nosaukumam jāsākas ar x_ un tas nedrīkst saturēt speciālos simbolus!" - -#~ msgid "Partner Seq." -#~ msgstr "Partnera Secība" - -#~ msgid "Contact Functions" -#~ msgstr "Kontakta Funkcijas" - -#~ msgid "Defines contacts and functions." -#~ msgstr "Tiek definēti kontakti un funkcijas" - -#~ msgid "Contact Partner Function" -#~ msgstr "Partnera Kontakta Funkcijas" - -#~ msgid "Partner Function" -#~ msgstr "Partnera Funkcijas" - -#~ msgid "Contact to function" -#~ msgstr "Kontakts -> Funkcija" - -#~ msgid "Function" -#~ msgstr "Funkcijas" - -#~ msgid "Contact Seq." -#~ msgstr "Kontaktu Sec." - -#~ msgid "Seq." -#~ msgstr "Sec." - -#~ msgid "State" -#~ msgstr "Stāvoklis" - -#~ msgid "" -#~ "Order of importance of this job title in the list of job title of the linked " -#~ "partner" -#~ msgstr "Amatu nozīmīguma kārtība, saistītā partnera amatu sarakstā." - -#~ msgid "" -#~ "Order of importance of this address in the list of addresses of the linked " -#~ "contact" -#~ msgstr "Adrešu nozīmīguma kārtība, saistītā partnera adrešu sarakstā." - -#~ msgid "Date Stop" -#~ msgstr "Datums, kad Apturēt" - -#~ msgid "Function to address" -#~ msgstr "Funkcijas -> adrese" - -#~ msgid "Jobs at a same partner address." -#~ msgstr "Amati tajā pašā partnera adresē" - -#~ msgid "Define functions and address." -#~ msgstr "Definēt funkcijas un adreses" - -#~ msgid "Past" -#~ msgstr "Iepriekšējie" - -#~ msgid "Function of this contact with this partner" -#~ msgstr "Šī kontakta funkcija pie šī partnera" - -#~ msgid "" -#~ "You may enter Address first,Partner will be linked " -#~ "automatically if any." -#~ msgstr "" -#~ "Varat vispirms ievadīt adresi, partneris tiks piesaistīt automātiski, ja būs " -#~ "atrasts." - -#~ msgid "Job FAX no." -#~ msgstr "Darba faksa nr." - -#~ msgid "Status of Address" -#~ msgstr "Adreses statuss" - -#~ msgid "title" -#~ msgstr "uzruna" - -#~ msgid "Start date of job(Joining Date)" -#~ msgstr "Darba (pievienošanās) sākuma datums" - -#~ msgid "Select the Option for Addresses Migration" -#~ msgstr "Izvēlēties adreses migrācijas iespēju" - -#~ msgid "Migrate" -#~ msgstr "Migrēt" - -#~ msgid "Last date of job" -#~ msgstr "Darba beigu datums" - -#~ msgid "Job Phone no." -#~ msgstr "Darba tālruņa nr." - -#~ msgid "Job E-Mail" -#~ msgstr "Darba e-pasts" - -#~ msgid "Image" -#~ msgstr "Attēls" - -#~ msgid "Communication" -#~ msgstr "Saziņa" - -#~ msgid "Configuration Progress" -#~ msgstr "Konfigurācijas Progress" - -#~ msgid "Address which is linked to the Partner" -#~ msgstr "Adrese, kas ir piesaistīta pie partnera" - -#~ msgid "Search Contact" -#~ msgstr "Meklēt Kontaktu" - -#~ msgid "Address's Migration to Contacts" -#~ msgstr "Adreses migrācija uz kontaktiem" - -#~ msgid "base.contact.installer" -#~ msgstr "base.contact.installer" - -#~ msgid "Configure" -#~ msgstr "Konfigurēt" - -#~ msgid "Open Jobs" -#~ msgstr "Vakances" - -#~ msgid "Address Migration" -#~ msgstr "Adrese migrācija" diff --git a/addons/base_contact/i18n/mn.po b/addons/base_contact/i18n/mn.po deleted file mode 100644 index 6caf5c89447..00000000000 --- a/addons/base_contact/i18n/mn.po +++ /dev/null @@ -1,368 +0,0 @@ -# Mongolian translation for openobject-addons -# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 -# This file is distributed under the same license as the openobject-addons package. -# FIRST AUTHOR <EMAIL@ADDRESS>, 2010. -# -msgid "" -msgstr "" -"Project-Id-Version: openobject-addons\n" -"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2012-02-08 00:36+0000\n" -"PO-Revision-Date: 2010-10-20 07:24+0000\n" -"Last-Translator: OpenERP Administrators <Unknown>\n" -"Language-Team: Mongolian <mn@li.org>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-02-09 06:14+0000\n" -"X-Generator: Launchpad (build 14763)\n" - -#. module: base_contact -#: field:res.partner.location,city:0 -msgid "City" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "First/Lastname" -msgstr "" - -#. module: base_contact -#: model:ir.actions.act_window,name:base_contact.action_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_purchases_partner_contact_form -#: model:process.node,name:base_contact.process_node_contacts0 -#: field:res.partner.location,job_ids:0 -msgid "Contacts" -msgstr "Харьцах хүмүүс" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Professional Info" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,first_name:0 -msgid "First Name" -msgstr "Өөрийн нэр:" - -#. module: base_contact -#: field:res.partner.address,location_id:0 -msgid "Location" -msgstr "" - -#. module: base_contact -#: model:process.transition,name:base_contact.process_transition_partnertoaddress0 -msgid "Partner to address" -msgstr "Хаяглах харилцагч" - -#. module: base_contact -#: help:res.partner.contact,active:0 -msgid "" -"If the active field is set to False, it will allow you to " -"hide the partner contact without removing it." -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,website:0 -msgid "Website" -msgstr "Вэбсайт" - -#. module: base_contact -#: field:res.partner.location,zip:0 -msgid "Zip" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,state_id:0 -msgid "Fed. State" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,company_id:0 -msgid "Company" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,title:0 -msgid "Title" -msgstr "Гарчиг" - -#. module: base_contact -#: field:res.partner.location,partner_id:0 -msgid "Main Partner" -msgstr "" - -#. module: base_contact -#: model:process.process,name:base_contact.process_process_basecontactprocess0 -msgid "Base Contact" -msgstr "Суурь харьцах хүн" - -#. module: base_contact -#: field:res.partner.contact,email:0 -msgid "E-Mail" -msgstr "И-Мэйл" - -#. module: base_contact -#: field:res.partner.contact,active:0 -msgid "Active" -msgstr "Идэвхитэй" - -#. module: base_contact -#: field:res.partner.contact,country_id:0 -msgid "Nationality" -msgstr "Үндэстэн" - -#. module: base_contact -#: view:res.partner:0 -#: view:res.partner.address:0 -msgid "Postal Address" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,function:0 -msgid "Main Function" -msgstr "Үндсэн үүрэг" - -#. module: base_contact -#: model:process.transition,note:base_contact.process_transition_partnertoaddress0 -msgid "Define partners and their addresses." -msgstr "Харилцагч, тэдний хаягыг тодорхойлох." - -#. module: base_contact -#: field:res.partner.contact,name:0 -msgid "Name" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,lang_id:0 -msgid "Language" -msgstr "Хэл" - -#. module: base_contact -#: field:res.partner.contact,mobile:0 -msgid "Mobile" -msgstr "Гар утас" - -#. module: base_contact -#: field:res.partner.location,country_id:0 -msgid "Country" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,comment:0 -msgid "Notes" -msgstr "" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_contacts0 -msgid "People you work with." -msgstr "Таны харьцдаг хүмүүс." - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Extra Information" -msgstr "Нэмэлт мэдээлэл" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,job_ids:0 -msgid "Functions and Addresses" -msgstr "Үүрэг ба Хаягууд" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_contact -#: field:res.partner.address,contact_id:0 -msgid "Contact" -msgstr "Харьцах хүн" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_location -msgid "res.partner.location" -msgstr "" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_partners0 -msgid "Companies you work with." -msgstr "Таны харьцаг компаниуд" - -#. module: base_contact -#: field:res.partner.contact,partner_id:0 -msgid "Main Employer" -msgstr "Үндсэн ажил олгогч" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner Contact" -msgstr "Харьцах хүн" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_addresses0 -msgid "Addresses" -msgstr "Хаягууд" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_addresses0 -msgid "Working and private addresses." -msgstr "Ажлын болон хувийн хаягууд." - -#. module: base_contact -#: field:res.partner.contact,last_name:0 -msgid "Last Name" -msgstr "Эцгийн нэр" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,photo:0 -msgid "Photo" -msgstr "" - -#. module: base_contact -#: view:res.partner.location:0 -msgid "Locations" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "General" -msgstr "Ерөнхий" - -#. module: base_contact -#: field:res.partner.location,street:0 -msgid "Street" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner" -msgstr "Харилцагч" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_partners0 -msgid "Partners" -msgstr "Харилцагч" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_address -msgid "Partner Addresses" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,street2:0 -msgid "Street2" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Personal Information" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,birthdate:0 -msgid "Birth Date" -msgstr "Төрсөн огноо" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "" -#~ "Объектын нэрний эхлэл x_ байх ёстой бөгөөд бусад тусгай тэмдэгтийг агуулж " -#~ "болохгүй!" - -#~ msgid "Other" -#~ msgstr "Бусад" - -#~ msgid "Defines contacts and functions." -#~ msgstr "Харьцах хүмүүс, үүргийг тодорхойлно." - -#~ msgid "# of Contacts" -#~ msgstr "Харьцах хүмүүсийн тоо" - -#~ msgid "Phone" -#~ msgstr "Утас" - -#~ msgid "Invalid model name in the action definition." -#~ msgstr "Үйлдлийн тодорхойлолтод буруу моделийн нэр байна." - -#~ msgid "Function" -#~ msgstr "Үүрэг" - -#~ msgid "Fax" -#~ msgstr "Факс" - -#~ msgid "Additional phone field" -#~ msgstr "Нэмэлт утас" - -#~ msgid "Contact Functions" -#~ msgstr "Харьцах хүний үүрэг" - -#~ msgid "Address" -#~ msgstr "Хаяг" - -#~ msgid "Seq." -#~ msgstr "Д/д." - -#~ msgid "Main Job" -#~ msgstr "Үндсэн ажил" - -#~ msgid "Categories" -#~ msgstr "Ангилалууд" - -#~ msgid "Internal/External extension phone number" -#~ msgstr "Дотоод/Гадаад өргөтгөл дугаар" - -#~ msgid "Extension" -#~ msgstr "Өргөтгөл" - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "Дэлгэцийн XML алдаатай!" - -#~ msgid "Partner Contacts" -#~ msgstr "Харилцагчийн холбоосууд" - -#~ msgid "General Information" -#~ msgstr "Ерөнхий мэдээлэл" - -#~ msgid "State" -#~ msgstr "Төлөв" - -#~ msgid "Date Start" -#~ msgstr "Эхлэх огноо" - -#~ msgid "Partner Function" -#~ msgstr "Харилцагчийн үүрэг" - -#~ msgid "Date Stop" -#~ msgstr "Дуусах огноо" - -#~ msgid "Contact to function" -#~ msgstr "Хариуцах хүн" - -#~ msgid "res.partner.contact" -#~ msgstr "res.partner.contact" - -#~ msgid "Partner Seq." -#~ msgstr "Харицагчийн Д/д." - -#~ msgid "Contact's Jobs" -#~ msgstr "Харьцах хүний ажил" - -#~ msgid "" -#~ "Order of importance of this address in the list of addresses of the linked " -#~ "contact" -#~ msgstr "Хаягын жагсаалтад эрэмбэлэгдэх байрлал" - -#~ msgid "Define functions and address." -#~ msgstr "Үүрэг болон хаяг тодорхойлох." - -#~ msgid "Function to address" -#~ msgstr "Хаяглах албан тушаал" - -#~ msgid "Current" -#~ msgstr "Одоо" - -#~ msgid "Past" -#~ msgstr "Өмнөх" - -#~ msgid "Contact Seq." -#~ msgstr "Гэрээний дараалал" diff --git a/addons/base_contact/i18n/nb.po b/addons/base_contact/i18n/nb.po deleted file mode 100644 index 364fecfcb19..00000000000 --- a/addons/base_contact/i18n/nb.po +++ /dev/null @@ -1,388 +0,0 @@ -# Norwegian Bokmal translation for openobject-addons -# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 -# This file is distributed under the same license as the openobject-addons package. -# FIRST AUTHOR <EMAIL@ADDRESS>, 2011. -# -msgid "" -msgstr "" -"Project-Id-Version: openobject-addons\n" -"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2012-02-08 00:36+0000\n" -"PO-Revision-Date: 2011-04-06 16:16+0000\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: Norwegian Bokmal <nb@li.org>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-02-09 06:14+0000\n" -"X-Generator: Launchpad (build 14763)\n" - -#. module: base_contact -#: field:res.partner.location,city:0 -msgid "City" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "First/Lastname" -msgstr "" - -#. module: base_contact -#: model:ir.actions.act_window,name:base_contact.action_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_purchases_partner_contact_form -#: model:process.node,name:base_contact.process_node_contacts0 -#: field:res.partner.location,job_ids:0 -msgid "Contacts" -msgstr "Kontakter" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Professional Info" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,first_name:0 -msgid "First Name" -msgstr "Fornavn" - -#. module: base_contact -#: field:res.partner.address,location_id:0 -msgid "Location" -msgstr "" - -#. module: base_contact -#: model:process.transition,name:base_contact.process_transition_partnertoaddress0 -msgid "Partner to address" -msgstr "Partner til adresse" - -#. module: base_contact -#: help:res.partner.contact,active:0 -msgid "" -"If the active field is set to False, it will allow you to " -"hide the partner contact without removing it." -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,website:0 -msgid "Website" -msgstr "Nettside" - -#. module: base_contact -#: field:res.partner.location,zip:0 -msgid "Zip" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,state_id:0 -msgid "Fed. State" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,company_id:0 -msgid "Company" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,title:0 -msgid "Title" -msgstr "Tittel" - -#. module: base_contact -#: field:res.partner.location,partner_id:0 -msgid "Main Partner" -msgstr "" - -#. module: base_contact -#: model:process.process,name:base_contact.process_process_basecontactprocess0 -msgid "Base Contact" -msgstr "Grunnleggende kontakt" - -#. module: base_contact -#: field:res.partner.contact,email:0 -msgid "E-Mail" -msgstr "E-post" - -#. module: base_contact -#: field:res.partner.contact,active:0 -msgid "Active" -msgstr "Aktiv" - -#. module: base_contact -#: field:res.partner.contact,country_id:0 -msgid "Nationality" -msgstr "Nasjonalitet" - -#. module: base_contact -#: view:res.partner:0 -#: view:res.partner.address:0 -msgid "Postal Address" -msgstr "Postadresse" - -#. module: base_contact -#: field:res.partner.contact,function:0 -msgid "Main Function" -msgstr "Hovedfunksjon" - -#. module: base_contact -#: model:process.transition,note:base_contact.process_transition_partnertoaddress0 -msgid "Define partners and their addresses." -msgstr "Definer partnere og deres adresser" - -#. module: base_contact -#: field:res.partner.contact,name:0 -msgid "Name" -msgstr "Navn" - -#. module: base_contact -#: field:res.partner.contact,lang_id:0 -msgid "Language" -msgstr "Språk" - -#. module: base_contact -#: field:res.partner.contact,mobile:0 -msgid "Mobile" -msgstr "Mobil" - -#. module: base_contact -#: field:res.partner.location,country_id:0 -msgid "Country" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,comment:0 -msgid "Notes" -msgstr "Notater" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_contacts0 -msgid "People you work with." -msgstr "Arbeidskollegaer" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Extra Information" -msgstr "Ekstra informasjon" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,job_ids:0 -msgid "Functions and Addresses" -msgstr "Roller og adresser" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_contact -#: field:res.partner.address,contact_id:0 -msgid "Contact" -msgstr "Kontakt" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_location -msgid "res.partner.location" -msgstr "" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_partners0 -msgid "Companies you work with." -msgstr "Firmaer du jobber sammen med." - -#. module: base_contact -#: field:res.partner.contact,partner_id:0 -msgid "Main Employer" -msgstr "Hovedarbeidsgiver" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner Contact" -msgstr "Partnerkontakt" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_addresses0 -msgid "Addresses" -msgstr "Adresser" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_addresses0 -msgid "Working and private addresses." -msgstr "Adresser (privat og arbeid)" - -#. module: base_contact -#: field:res.partner.contact,last_name:0 -msgid "Last Name" -msgstr "Etternavn" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,photo:0 -msgid "Photo" -msgstr "Bilde" - -#. module: base_contact -#: view:res.partner.location:0 -msgid "Locations" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "General" -msgstr "Generell" - -#. module: base_contact -#: field:res.partner.location,street:0 -msgid "Street" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner" -msgstr "Partner" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_partners0 -msgid "Partners" -msgstr "Partnere" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_address -msgid "Partner Addresses" -msgstr "Partner adresser" - -#. module: base_contact -#: field:res.partner.location,street2:0 -msgid "Street2" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Personal Information" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,birthdate:0 -msgid "Birth Date" -msgstr "Fødselsdag" - -#~ msgid "# of Contacts" -#~ msgstr "# kontakter" - -#~ msgid "Fax" -#~ msgstr "Fax" - -#~ msgid "title" -#~ msgstr "tittel" - -#~ msgid "Job FAX no." -#~ msgstr "Jobb FAX no." - -#~ msgid "Define functions and address." -#~ msgstr "Definer funksjon og adresse" - -#~ msgid "Jobs at a same partner address." -#~ msgstr "Jobber på samme partneradresse." - -#~ msgid "Date Stop" -#~ msgstr "Sluttdato" - -#~ msgid "Contact's Jobs" -#~ msgstr "Kontaktens jobb" - -#~ msgid "Categories" -#~ msgstr "Kategorier" - -#~ msgid "Extension" -#~ msgstr "Internnummer" - -#~ msgid "Internal/External extension phone number" -#~ msgstr "Internt/ Eksternt telefonnummer" - -#~ msgid "Job E-Mail" -#~ msgstr "Jobb e-post" - -#~ msgid "Partner Seq." -#~ msgstr "Partnersekvens" - -#~ msgid "Function to address" -#~ msgstr "Funksjon til adresse" - -#~ msgid "Communication" -#~ msgstr "Kommunikasjon" - -#~ msgid "Past" -#~ msgstr "Forrige" - -#~ msgid "Contact Seq." -#~ msgstr "Kontaktsekvens" - -#~ msgid "Search Contact" -#~ msgstr "Søk kontakt" - -#~ msgid "Partner Function" -#~ msgstr "Partnerfunksjon" - -#~ msgid "Additional phone field" -#~ msgstr "Tilleggfelt for telefon" - -#~ msgid "base.contact.installer" -#~ msgstr "base.contact.installer" - -#~ msgid "Contact Functions" -#~ msgstr "Kontaktfunksjoner" - -#~ msgid "Phone" -#~ msgstr "Telefon" - -#~ msgid "Seq." -#~ msgstr "Sekvens" - -#~ msgid "Current" -#~ msgstr "Nåværende" - -#~ msgid "Contact Partner Function" -#~ msgstr "Kontakt partnerfunksjon" - -#~ msgid "Other" -#~ msgstr "Andre" - -#~ msgid "Function" -#~ msgstr "Funksjon" - -#~ msgid "Main Job" -#~ msgstr "Hovedjobb" - -#~ msgid "Defines contacts and functions." -#~ msgstr "Definer kontakter og funksjoner" - -#~ msgid "Contact to function" -#~ msgstr "Kontakt til funksjon" - -#~ msgid "Address" -#~ msgstr "Adresse" - -#~ msgid "Date Start" -#~ msgstr "Startdato" - -#~ msgid "res.partner.contact" -#~ msgstr "res.partner.contact" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "Objektnavnet må starte med x_ og ikke inneholde noen spesialtegn!" - -#~ msgid "Invalid model name in the action definition." -#~ msgstr "Ugyldig modellnavn i handlingsdefinisjonen" - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "Ugyldig XML for visning av arkitektur!" - -#~ msgid "Base Contact Process" -#~ msgstr "Grunnleggende kontaktprosess" - -#~ msgid "Partner Contacts" -#~ msgstr "Partnerkontakter" - -#~ msgid "General Information" -#~ msgstr "Generell informasjon" - -#~ msgid "State" -#~ msgstr "Status" diff --git a/addons/base_contact/i18n/nl.po b/addons/base_contact/i18n/nl.po deleted file mode 100644 index e029b2d8e3f..00000000000 --- a/addons/base_contact/i18n/nl.po +++ /dev/null @@ -1,528 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * base_contact -# -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 6.0dev\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2012-02-08 00:36+0000\n" -"PO-Revision-Date: 2012-01-21 18:28+0000\n" -"Last-Translator: Erwin <Unknown>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-02-09 06:14+0000\n" -"X-Generator: Launchpad (build 14763)\n" - -#~ msgid "Categories" -#~ msgstr "Categorieën" - -#. module: base_contact -#: field:res.partner.location,city:0 -msgid "City" -msgstr "Stad" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "First/Lastname" -msgstr "Voornaam/achternaam" - -#. module: base_contact -#: model:ir.actions.act_window,name:base_contact.action_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_purchases_partner_contact_form -#: model:process.node,name:base_contact.process_node_contacts0 -#: field:res.partner.location,job_ids:0 -msgid "Contacts" -msgstr "Contactpersonen" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Professional Info" -msgstr "Professionele info" - -#. module: base_contact -#: field:res.partner.contact,first_name:0 -msgid "First Name" -msgstr "Voornaam" - -#. module: base_contact -#: field:res.partner.address,location_id:0 -msgid "Location" -msgstr "Locatie" - -#. module: base_contact -#: model:process.transition,name:base_contact.process_transition_partnertoaddress0 -msgid "Partner to address" -msgstr "Relatie op adres" - -#. module: base_contact -#: help:res.partner.contact,active:0 -msgid "" -"If the active field is set to False, it will allow you to " -"hide the partner contact without removing it." -msgstr "" -"Als het actief veld uitstaat kunt u de contactpersoon verbergen zonder te " -"verwijderen." - -#. module: base_contact -#: field:res.partner.contact,website:0 -msgid "Website" -msgstr "Website" - -#. module: base_contact -#: field:res.partner.location,zip:0 -msgid "Zip" -msgstr "Postcode" - -#. module: base_contact -#: field:res.partner.location,state_id:0 -msgid "Fed. State" -msgstr "Provincie" - -#. module: base_contact -#: field:res.partner.location,company_id:0 -msgid "Company" -msgstr "Bedrijf" - -#. module: base_contact -#: field:res.partner.contact,title:0 -msgid "Title" -msgstr "Titel" - -#. module: base_contact -#: field:res.partner.location,partner_id:0 -msgid "Main Partner" -msgstr "Hoofd relatie" - -#. module: base_contact -#: model:process.process,name:base_contact.process_process_basecontactprocess0 -msgid "Base Contact" -msgstr "Basiscontactpersoon" - -#. module: base_contact -#: field:res.partner.contact,email:0 -msgid "E-Mail" -msgstr "E-mail" - -#. module: base_contact -#: field:res.partner.contact,active:0 -msgid "Active" -msgstr "Actief" - -#. module: base_contact -#: field:res.partner.contact,country_id:0 -msgid "Nationality" -msgstr "Nationaliteit" - -#. module: base_contact -#: view:res.partner:0 -#: view:res.partner.address:0 -msgid "Postal Address" -msgstr "Postadres" - -#. module: base_contact -#: field:res.partner.contact,function:0 -msgid "Main Function" -msgstr "Hoofdfunctie" - -#. module: base_contact -#: model:process.transition,note:base_contact.process_transition_partnertoaddress0 -msgid "Define partners and their addresses." -msgstr "Beheer relaties en hun adressen" - -#. module: base_contact -#: field:res.partner.contact,name:0 -msgid "Name" -msgstr "Naam" - -#. module: base_contact -#: field:res.partner.contact,lang_id:0 -msgid "Language" -msgstr "Taal" - -#. module: base_contact -#: field:res.partner.contact,mobile:0 -msgid "Mobile" -msgstr "Mobiel" - -#. module: base_contact -#: field:res.partner.location,country_id:0 -msgid "Country" -msgstr "Land" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,comment:0 -msgid "Notes" -msgstr "Notities" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_contacts0 -msgid "People you work with." -msgstr "Collega's" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Extra Information" -msgstr "Extra informatie" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,job_ids:0 -msgid "Functions and Addresses" -msgstr "Functies en adressen" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_contact -#: field:res.partner.address,contact_id:0 -msgid "Contact" -msgstr "Contactpersoon" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_location -msgid "res.partner.location" -msgstr "res.partner.location" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_partners0 -msgid "Companies you work with." -msgstr "Bedrijven waarmee u samenwerkt." - -#. module: base_contact -#: field:res.partner.contact,partner_id:0 -msgid "Main Employer" -msgstr "Hoofdwerkgever" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner Contact" -msgstr "Contactpersoon relatie" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_addresses0 -msgid "Addresses" -msgstr "Adressen" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_addresses0 -msgid "Working and private addresses." -msgstr "Zakelijke- en privé-adressen" - -#. module: base_contact -#: field:res.partner.contact,last_name:0 -msgid "Last Name" -msgstr "Achternaam" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,photo:0 -msgid "Photo" -msgstr "Foto" - -#. module: base_contact -#: view:res.partner.location:0 -msgid "Locations" -msgstr "Locaties" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "General" -msgstr "Algemeen" - -#. module: base_contact -#: field:res.partner.location,street:0 -msgid "Street" -msgstr "Adres" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner" -msgstr "Relatie" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_partners0 -msgid "Partners" -msgstr "Relaties" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_address -msgid "Partner Addresses" -msgstr "Relatieadressen" - -#. module: base_contact -#: field:res.partner.location,street2:0 -msgid "Street2" -msgstr "Adres 2" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Personal Information" -msgstr "Persoonlijke informatie" - -#. module: base_contact -#: field:res.partner.contact,birthdate:0 -msgid "Birth Date" -msgstr "Geboortedatum" - -#~ msgid "res.partner.contact" -#~ msgstr "res.partner.contact" - -#~ msgid "Partner Function" -#~ msgstr "Functie" - -#~ msgid "Current" -#~ msgstr "Actueel" - -#~ msgid "Contact Partner Function" -#~ msgstr "Functie contactpersoon" - -#~ msgid "Function" -#~ msgstr "Functie" - -#~ msgid "Phone" -#~ msgstr "Telefoon" - -#~ msgid "Date Stop" -#~ msgstr "Einddatum" - -#~ msgid "Address" -#~ msgstr "Adres" - -#~ msgid "Base Contact Process" -#~ msgstr "Basis contactpersoon proces" - -#~ msgid "Function to address" -#~ msgstr "Functie naar adres" - -#~ msgid "State" -#~ msgstr "Status" - -#~ msgid "Past" -#~ msgstr "Voorgaande" - -#~ msgid "Jobs at a same partner address." -#~ msgstr "Functies op hetzelfde adres" - -#~ msgid "Date Start" -#~ msgstr "Begindatum" - -#~ msgid "Define functions and address." -#~ msgstr "Beheer functies en adressen" - -#~ msgid "Fax" -#~ msgstr "Fax" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "" -#~ "De objectnaam moet beginnen met x_ en mag geen speciale tekens bevatten !" - -#~ msgid "Partner Seq." -#~ msgstr "Reeks relatie" - -#~ msgid "Contact Seq." -#~ msgstr "Reeks contactpersoon" - -#~ msgid "Defines contacts and functions." -#~ msgstr "Beheer contactpersonen en functies." - -#~ msgid "# of Contacts" -#~ msgstr "Aantal contactpersonen" - -#~ msgid "Additional phone field" -#~ msgstr "Extra telefoonveld" - -#~ msgid "Main Job" -#~ msgstr "Hoofdfunctie" - -#~ msgid "" -#~ "Order of importance of this job title in the list of job title of the linked " -#~ "partner" -#~ msgstr "" -#~ "Volgorde op belang van deze functie in de lijst van functies van de " -#~ "gekoppelde relatie" - -#~ msgid "" -#~ "Order of importance of this address in the list of addresses of the linked " -#~ "contact" -#~ msgstr "" -#~ "Volgorde op belang van dit adres in de lijst van adressen van de gekoppelde " -#~ "contactpersoon" - -#~ msgid "Contact Functions" -#~ msgstr "Functies contactpersoon" - -#~ msgid "Contact's Jobs" -#~ msgstr "Functies van contactpersoon" - -#~ msgid "Seq." -#~ msgstr "Reeks" - -#~ msgid "Internal/External extension phone number" -#~ msgstr "Intern/extern nakiesnummer" - -#~ msgid "Extension" -#~ msgstr "Nakiesnummer" - -#~ msgid "General Information" -#~ msgstr "Algemene informatie" - -#~ msgid "Other" -#~ msgstr "Anders" - -#~ msgid "Contact to function" -#~ msgstr "Contactpersonen op functie" - -#~ msgid "Invalid model name in the action definition." -#~ msgstr "Ongeldige modelnaam in de actie-definitie." - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "Ongeldige XML voor weergave!" - -#~ msgid "Partner Contacts" -#~ msgstr "Contactpersonen relatie" - -#~ msgid "" -#~ "Order of importance of this job title in the list of job " -#~ "title of the linked partner" -#~ msgstr "" -#~ "Volgorde van belangrijkheid van deze functie in de functielijst van de " -#~ "gekoppelde relatie" - -#~ msgid "Migrate" -#~ msgstr "Migreren" - -#~ msgid "" -#~ "You may enter Address first,Partner will be linked " -#~ "automatically if any." -#~ msgstr "" -#~ "U mag eerst het adres invullen; relatie wordt automatisch gekoppeld indien " -#~ "aanwezig." - -#~ msgid "Job FAX no." -#~ msgstr "Werk FAX nr." - -#~ msgid "Function of this contact with this partner" -#~ msgstr "Functie van deze contactpersoon bij deze relatie" - -#~ msgid "Status of Address" -#~ msgstr "Status van het adres" - -#~ msgid "title" -#~ msgstr "titel" - -#~ msgid "Start date of job(Joining Date)" -#~ msgstr "Startdaum dienstbetrekking (datum in dienst)" - -#~ msgid "Last date of job" -#~ msgstr "Einddatum dienstbetrekking (datum uit dienst)" - -#~ msgid "Otherwise these details will not be visible from address/contact." -#~ msgstr "Anders zijn deze details niet zichtbaar vanuit adres/contactpersoon." - -#~ msgid "Address which is linked to the Partner" -#~ msgstr "Adres dat is gekoppeld aan de relatie" - -#~ msgid "" -#~ "Due to changes in Address and Partner's relation, some of the details from " -#~ "address are needed to be migrated into contact information." -#~ msgstr "" -#~ "Als gevolg van wijzigingen in Adres en Relatie verhouding, moeten sommige " -#~ "adresdetails worden gemigreerd naar contactpersoon informatie." - -#~ msgid "Job E-Mail" -#~ msgstr "Werk E-mail" - -#~ msgid "Job Phone no." -#~ msgstr "Werk Telefoon nr." - -#~ msgid "Search Contact" -#~ msgstr "Zoek contactpersoon" - -#~ msgid "Image" -#~ msgstr "Afbeelding" - -#~ msgid "Communication" -#~ msgstr "Communicatie" - -#~ msgid "Address Migration" -#~ msgstr "Adresmigratie" - -#~ msgid "Open Jobs" -#~ msgstr "Open vacatures" - -#~ msgid "Do you want to migrate your Address data in Contact Data?" -#~ msgstr "Wilt u uw adresgegevens migreren naat contactpersoongegevens?" - -#~ msgid "If you select this, all addresses will be migrated." -#~ msgstr "Als u dit selecteert, worden alle adressen gemigreerd." - -#~ msgid "Configuration Progress" -#~ msgstr "Configuratievoortgang" - -#~ msgid "base.contact.installer" -#~ msgstr "base.contact.installer" - -#~ msgid "" -#~ "Order of importance of this address in the list of " -#~ "addresses of the linked contact" -#~ msgstr "" -#~ "Volgorde van belangrijkheid van dit adres in de adressenlijst van de " -#~ "gekoppelde contactpersoon" - -#~ msgid "Select the Option for Addresses Migration" -#~ msgstr "Selecteer de optie voor adressen migratie" - -#~ msgid "Configure" -#~ msgstr "Configureren" - -#~ msgid "You can migrate Partner's current addresses to the contact." -#~ msgstr "" -#~ "U kunt de huidige adressen van de relatie migreren naar de contactpersoon." - -#~ msgid "Address's Migration to Contacts" -#~ msgstr "Migratie adressen naar contactpersonen" - -#~ msgid "" -#~ "\n" -#~ " This module allows you to manage your contacts entirely.\n" -#~ "\n" -#~ " It lets you define\n" -#~ " *contacts unrelated to a partner,\n" -#~ " *contacts working at several addresses (possibly for different " -#~ "partners),\n" -#~ " *contacts with possibly different functions for each of its job's " -#~ "addresses\n" -#~ "\n" -#~ " It also adds new menu items located in\n" -#~ " Partners \\ Contacts\n" -#~ " Partners \\ Functions\n" -#~ "\n" -#~ " Pay attention that this module converts the existing addresses into " -#~ "\"addresses + contacts\". It means that some fields of the addresses will be " -#~ "missing (like the contact name), since these are supposed to be defined in " -#~ "an other object.\n" -#~ " " -#~ msgstr "" -#~ "\n" -#~ " Met deze module kunt u al uw contactpersonen beheren.\n" -#~ "\n" -#~ " U kunt definieren\n" -#~ " *contactpersonen niet gerelateerd aan een relatie,\n" -#~ " *contactpersonen die werken op meer adressen (mogelijk voor " -#~ "verschillende relaties),\n" -#~ " *contactpersonen met mogelijk verschillende functies voor elk " -#~ "werkadres\n" -#~ "\n" -#~ " Ook worden nieuwe menu items toegevoegd in\n" -#~ " Relaties \\ Contactpersonen\n" -#~ " Relaties \\ Functies\n" -#~ "\n" -#~ " Let op dat deze module bestaande adressen omzet naar \"adressen + " -#~ "contactpersonen\". Dit betekent dat sommige velden van de adressen missen " -#~ "(zoals de contactpersoonnaam) omdat ze zijn gedefinieerd in een ander " -#~ "object.\n" -#~ " " diff --git a/addons/base_contact/i18n/nl_BE.po b/addons/base_contact/i18n/nl_BE.po deleted file mode 100644 index fab0bd07ce9..00000000000 --- a/addons/base_contact/i18n/nl_BE.po +++ /dev/null @@ -1,268 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * base_contact -# -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 5.0.0\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2012-02-08 00:36+0000\n" -"PO-Revision-Date: 2009-04-24 15:18+0000\n" -"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-02-09 06:14+0000\n" -"X-Generator: Launchpad (build 14763)\n" - -#. module: base_contact -#: field:res.partner.location,city:0 -msgid "City" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "First/Lastname" -msgstr "" - -#. module: base_contact -#: model:ir.actions.act_window,name:base_contact.action_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_purchases_partner_contact_form -#: model:process.node,name:base_contact.process_node_contacts0 -#: field:res.partner.location,job_ids:0 -msgid "Contacts" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Professional Info" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,first_name:0 -msgid "First Name" -msgstr "" - -#. module: base_contact -#: field:res.partner.address,location_id:0 -msgid "Location" -msgstr "" - -#. module: base_contact -#: model:process.transition,name:base_contact.process_transition_partnertoaddress0 -msgid "Partner to address" -msgstr "" - -#. module: base_contact -#: help:res.partner.contact,active:0 -msgid "" -"If the active field is set to False, it will allow you to " -"hide the partner contact without removing it." -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,website:0 -msgid "Website" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,zip:0 -msgid "Zip" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,state_id:0 -msgid "Fed. State" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,company_id:0 -msgid "Company" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,title:0 -msgid "Title" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,partner_id:0 -msgid "Main Partner" -msgstr "" - -#. module: base_contact -#: model:process.process,name:base_contact.process_process_basecontactprocess0 -msgid "Base Contact" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,email:0 -msgid "E-Mail" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,active:0 -msgid "Active" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,country_id:0 -msgid "Nationality" -msgstr "" - -#. module: base_contact -#: view:res.partner:0 -#: view:res.partner.address:0 -msgid "Postal Address" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,function:0 -msgid "Main Function" -msgstr "" - -#. module: base_contact -#: model:process.transition,note:base_contact.process_transition_partnertoaddress0 -msgid "Define partners and their addresses." -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,name:0 -msgid "Name" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,lang_id:0 -msgid "Language" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,mobile:0 -msgid "Mobile" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,country_id:0 -msgid "Country" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,comment:0 -msgid "Notes" -msgstr "" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_contacts0 -msgid "People you work with." -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Extra Information" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,job_ids:0 -msgid "Functions and Addresses" -msgstr "" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_contact -#: field:res.partner.address,contact_id:0 -msgid "Contact" -msgstr "" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_location -msgid "res.partner.location" -msgstr "" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_partners0 -msgid "Companies you work with." -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,partner_id:0 -msgid "Main Employer" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner Contact" -msgstr "" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_addresses0 -msgid "Addresses" -msgstr "" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_addresses0 -msgid "Working and private addresses." -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,last_name:0 -msgid "Last Name" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,photo:0 -msgid "Photo" -msgstr "" - -#. module: base_contact -#: view:res.partner.location:0 -msgid "Locations" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "General" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,street:0 -msgid "Street" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner" -msgstr "" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_partners0 -msgid "Partners" -msgstr "" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_address -msgid "Partner Addresses" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,street2:0 -msgid "Street2" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Personal Information" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,birthdate:0 -msgid "Birth Date" -msgstr "" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "" -#~ "De objectnaam moet beginnen met x_ en mag geen speciale karakters bevatten !" diff --git a/addons/base_contact/i18n/oc.po b/addons/base_contact/i18n/oc.po deleted file mode 100644 index 5218c051fc5..00000000000 --- a/addons/base_contact/i18n/oc.po +++ /dev/null @@ -1,354 +0,0 @@ -# Occitan (post 1500) translation for openobject-addons -# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 -# This file is distributed under the same license as the openobject-addons package. -# FIRST AUTHOR <EMAIL@ADDRESS>, 2010. -# -msgid "" -msgstr "" -"Project-Id-Version: openobject-addons\n" -"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2012-02-08 00:36+0000\n" -"PO-Revision-Date: 2010-08-03 01:33+0000\n" -"Last-Translator: Cédric VALMARY (Tot en òc) <cvalmary@yahoo.fr>\n" -"Language-Team: Occitan (post 1500) <oc@li.org>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-02-09 06:14+0000\n" -"X-Generator: Launchpad (build 14763)\n" - -#. module: base_contact -#: field:res.partner.location,city:0 -msgid "City" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "First/Lastname" -msgstr "" - -#. module: base_contact -#: model:ir.actions.act_window,name:base_contact.action_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_purchases_partner_contact_form -#: model:process.node,name:base_contact.process_node_contacts0 -#: field:res.partner.location,job_ids:0 -msgid "Contacts" -msgstr "Contactes" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Professional Info" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,first_name:0 -msgid "First Name" -msgstr "Pichon nom" - -#. module: base_contact -#: field:res.partner.address,location_id:0 -msgid "Location" -msgstr "" - -#. module: base_contact -#: model:process.transition,name:base_contact.process_transition_partnertoaddress0 -msgid "Partner to address" -msgstr "Partenari cap a adreça" - -#. module: base_contact -#: help:res.partner.contact,active:0 -msgid "" -"If the active field is set to False, it will allow you to " -"hide the partner contact without removing it." -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,website:0 -msgid "Website" -msgstr "Site web" - -#. module: base_contact -#: field:res.partner.location,zip:0 -msgid "Zip" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,state_id:0 -msgid "Fed. State" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,company_id:0 -msgid "Company" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,title:0 -msgid "Title" -msgstr "Títol" - -#. module: base_contact -#: field:res.partner.location,partner_id:0 -msgid "Main Partner" -msgstr "" - -#. module: base_contact -#: model:process.process,name:base_contact.process_process_basecontactprocess0 -msgid "Base Contact" -msgstr "Basa Contacte" - -#. module: base_contact -#: field:res.partner.contact,email:0 -msgid "E-Mail" -msgstr "Corrièr electronic" - -#. module: base_contact -#: field:res.partner.contact,active:0 -msgid "Active" -msgstr "Actiu" - -#. module: base_contact -#: field:res.partner.contact,country_id:0 -msgid "Nationality" -msgstr "Nacionalitat" - -#. module: base_contact -#: view:res.partner:0 -#: view:res.partner.address:0 -msgid "Postal Address" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,function:0 -msgid "Main Function" -msgstr "Foncion principala" - -#. module: base_contact -#: model:process.transition,note:base_contact.process_transition_partnertoaddress0 -msgid "Define partners and their addresses." -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,name:0 -msgid "Name" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,lang_id:0 -msgid "Language" -msgstr "Lenga" - -#. module: base_contact -#: field:res.partner.contact,mobile:0 -msgid "Mobile" -msgstr "Telefonet" - -#. module: base_contact -#: field:res.partner.location,country_id:0 -msgid "Country" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,comment:0 -msgid "Notes" -msgstr "" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_contacts0 -msgid "People you work with." -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Extra Information" -msgstr "Informacion suplementària" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,job_ids:0 -msgid "Functions and Addresses" -msgstr "Foncions e adreças" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_contact -#: field:res.partner.address,contact_id:0 -msgid "Contact" -msgstr "Contacte" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_location -msgid "res.partner.location" -msgstr "" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_partners0 -msgid "Companies you work with." -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,partner_id:0 -msgid "Main Employer" -msgstr "Emplegaire principal" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner Contact" -msgstr "Contacte del partenari" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_addresses0 -msgid "Addresses" -msgstr "Adreças" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_addresses0 -msgid "Working and private addresses." -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,last_name:0 -msgid "Last Name" -msgstr "Nom d'ostal" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,photo:0 -msgid "Photo" -msgstr "" - -#. module: base_contact -#: view:res.partner.location:0 -msgid "Locations" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "General" -msgstr "General" - -#. module: base_contact -#: field:res.partner.location,street:0 -msgid "Street" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner" -msgstr "Partenari" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_partners0 -msgid "Partners" -msgstr "Partenaris" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_address -msgid "Partner Addresses" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,street2:0 -msgid "Street2" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Personal Information" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,birthdate:0 -msgid "Birth Date" -msgstr "Data de naissença" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "" -#~ "Lo nom de l'objècte deu començar amb x_ e conténer pas de caractèrs " -#~ "especials !" - -#~ msgid "Current" -#~ msgstr "Actual" - -#~ msgid "Other" -#~ msgstr "Autre" - -#~ msgid "Phone" -#~ msgstr "Telefòn" - -#~ msgid "Invalid model name in the action definition." -#~ msgstr "Nom del Modèl invalid per la definicion de l'accion." - -#~ msgid "Function" -#~ msgstr "Foncion" - -#~ msgid "Fax" -#~ msgstr "Fax" - -#~ msgid "Address" -#~ msgstr "Adreça" - -#~ msgid "Categories" -#~ msgstr "Categorias" - -#~ msgid "Extension" -#~ msgstr "Extension" - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "XML invalid per l'arquitectura de la vista" - -#~ msgid "General Information" -#~ msgstr "Informacions generalas" - -#~ msgid "State" -#~ msgstr "Estat" - -#~ msgid "Defines contacts and functions." -#~ msgstr "Definir los contactes e lors foncions" - -#~ msgid "Contact Partner Function" -#~ msgstr "Foncion del contacte del partenari" - -#~ msgid "Partner Function" -#~ msgstr "Foncion del partenari" - -#~ msgid "# of Contacts" -#~ msgstr "# de contactes" - -#~ msgid "Contact to function" -#~ msgstr "Contacte cap a foncion" - -#~ msgid "Partner Seq." -#~ msgstr "Seq. del partenari" - -#~ msgid "Contact Seq." -#~ msgstr "Seq. del contacte" - -#~ msgid "Contact Functions" -#~ msgstr "Foncions del contacte" - -#~ msgid "Contact's Jobs" -#~ msgstr "Foncions dels contactes" - -#~ msgid "Base Contact Process" -#~ msgstr "Tractar los contactes de basa" - -#~ msgid "Main Job" -#~ msgstr "Emplec principal" - -#~ msgid "Date Stop" -#~ msgstr "Data de fin d'emplec" - -#~ msgid "Seq." -#~ msgstr "Seq." - -#~ msgid "Function to address" -#~ msgstr "Foncion cap a adreça" - -#~ msgid "Partner Contacts" -#~ msgstr "Contactes del partenari" - -#~ msgid "Date Start" -#~ msgstr "Data de començament" diff --git a/addons/base_contact/i18n/pl.po b/addons/base_contact/i18n/pl.po deleted file mode 100644 index 29482147ade..00000000000 --- a/addons/base_contact/i18n/pl.po +++ /dev/null @@ -1,508 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * base_contact -# -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 6.0dev\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2012-02-08 00:36+0000\n" -"PO-Revision-Date: 2011-01-14 13:26+0000\n" -"Last-Translator: Grzegorz Grzelak (OpenGLOBE.pl) <grzegorz@openglobe.pl>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-02-09 06:14+0000\n" -"X-Generator: Launchpad (build 14763)\n" - -#. module: base_contact -#: field:res.partner.location,city:0 -msgid "City" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "First/Lastname" -msgstr "" - -#. module: base_contact -#: model:ir.actions.act_window,name:base_contact.action_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_purchases_partner_contact_form -#: model:process.node,name:base_contact.process_node_contacts0 -#: field:res.partner.location,job_ids:0 -msgid "Contacts" -msgstr "Kontakty" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Professional Info" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,first_name:0 -msgid "First Name" -msgstr "Imię" - -#. module: base_contact -#: field:res.partner.address,location_id:0 -msgid "Location" -msgstr "" - -#. module: base_contact -#: model:process.transition,name:base_contact.process_transition_partnertoaddress0 -msgid "Partner to address" -msgstr "Adres do partnera" - -#. module: base_contact -#: help:res.partner.contact,active:0 -msgid "" -"If the active field is set to False, it will allow you to " -"hide the partner contact without removing it." -msgstr "" -"Jeśli pole Aktywne jest odznaczone, to kontakt nie będzie widoczny (nie " -"musisz go usuwać)." - -#. module: base_contact -#: field:res.partner.contact,website:0 -msgid "Website" -msgstr "Strona internetowa" - -#. module: base_contact -#: field:res.partner.location,zip:0 -msgid "Zip" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,state_id:0 -msgid "Fed. State" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,company_id:0 -msgid "Company" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,title:0 -msgid "Title" -msgstr "Tytuł" - -#. module: base_contact -#: field:res.partner.location,partner_id:0 -msgid "Main Partner" -msgstr "" - -#. module: base_contact -#: model:process.process,name:base_contact.process_process_basecontactprocess0 -msgid "Base Contact" -msgstr "Kontakt główny" - -#. module: base_contact -#: field:res.partner.contact,email:0 -msgid "E-Mail" -msgstr "E-mail" - -#. module: base_contact -#: field:res.partner.contact,active:0 -msgid "Active" -msgstr "Aktywny" - -#. module: base_contact -#: field:res.partner.contact,country_id:0 -msgid "Nationality" -msgstr "Narodowość" - -#. module: base_contact -#: view:res.partner:0 -#: view:res.partner.address:0 -msgid "Postal Address" -msgstr "Adresy pocztowy" - -#. module: base_contact -#: field:res.partner.contact,function:0 -msgid "Main Function" -msgstr "Główna funkcja" - -#. module: base_contact -#: model:process.transition,note:base_contact.process_transition_partnertoaddress0 -msgid "Define partners and their addresses." -msgstr "Definiuj partnerów i ich adresy." - -#. module: base_contact -#: field:res.partner.contact,name:0 -msgid "Name" -msgstr "Nazwa" - -#. module: base_contact -#: field:res.partner.contact,lang_id:0 -msgid "Language" -msgstr "Język" - -#. module: base_contact -#: field:res.partner.contact,mobile:0 -msgid "Mobile" -msgstr "Telefon komórkowy" - -#. module: base_contact -#: field:res.partner.location,country_id:0 -msgid "Country" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,comment:0 -msgid "Notes" -msgstr "Notatki" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_contacts0 -msgid "People you work with." -msgstr "Ludzie, z którymi współpracujesz" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Extra Information" -msgstr "Dodatkowe informacje" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,job_ids:0 -msgid "Functions and Addresses" -msgstr "Funkcje i adresy" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_contact -#: field:res.partner.address,contact_id:0 -msgid "Contact" -msgstr "Kontakt" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_location -msgid "res.partner.location" -msgstr "" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_partners0 -msgid "Companies you work with." -msgstr "Firmy, z którymi współpracujesz." - -#. module: base_contact -#: field:res.partner.contact,partner_id:0 -msgid "Main Employer" -msgstr "Główny pracodawca" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner Contact" -msgstr "Kontakt do partnera" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_addresses0 -msgid "Addresses" -msgstr "Adresy" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_addresses0 -msgid "Working and private addresses." -msgstr "Adresy służbowe i prywatne" - -#. module: base_contact -#: field:res.partner.contact,last_name:0 -msgid "Last Name" -msgstr "Nazwisko" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,photo:0 -msgid "Photo" -msgstr "Zdjęcie" - -#. module: base_contact -#: view:res.partner.location:0 -msgid "Locations" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "General" -msgstr "Ogólne" - -#. module: base_contact -#: field:res.partner.location,street:0 -msgid "Street" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner" -msgstr "Partner" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_partners0 -msgid "Partners" -msgstr "Partnerzy" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_address -msgid "Partner Addresses" -msgstr "Adres partnera" - -#. module: base_contact -#: field:res.partner.location,street2:0 -msgid "Street2" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Personal Information" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,birthdate:0 -msgid "Birth Date" -msgstr "Data urodzenia" - -#~ msgid "Main Job" -#~ msgstr "Główna praca" - -#~ msgid "Defines contacts and functions." -#~ msgstr "Definiuje kontakty i funkcje." - -#~ msgid "Current" -#~ msgstr "Bieżący" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "" -#~ "Nazwa obiektu musi zaczynać się od x_ oraz nie może zawierać znaków " -#~ "specjalnych !" - -#~ msgid "Function" -#~ msgstr "Funkcja" - -#~ msgid "Phone" -#~ msgstr "Telefon" - -#~ msgid "Address" -#~ msgstr "Adres" - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "XML niewłaściwy dla tej architektury wyświetlania!" - -#~ msgid "General Information" -#~ msgstr "Informacje ogólne" - -#~ msgid "Contact Partner Function" -#~ msgstr "Funkcja osoby u partnera" - -#~ msgid "Contact to function" -#~ msgstr "Kontakt do funkcji" - -#~ msgid "Other" -#~ msgstr "Inna" - -#~ msgid "Partner Seq." -#~ msgstr "Nr sekw. partnera" - -#~ msgid "Contact Seq." -#~ msgstr "Nr sekw. kontaktu" - -#~ msgid "Partner Function" -#~ msgstr "Funkcja u partnera" - -#~ msgid "Fax" -#~ msgstr "Faks" - -#~ msgid "Additional phone field" -#~ msgstr "Dodatkowe pole telefonu" - -#~ msgid "# of Contacts" -#~ msgstr "# kontaktów" - -#~ msgid "" -#~ "Order of importance of this job title in the list of job title of the linked " -#~ "partner" -#~ msgstr "Kolejność wg ważności tego tytułu na liście tytułów partnera" - -#~ msgid "" -#~ "Order of importance of this address in the list of addresses of the linked " -#~ "contact" -#~ msgstr "Kolejność wg ważności tego adresu na liście adresów kontaktu" - -#~ msgid "Date Stop" -#~ msgstr "Data zakończenia" - -#~ msgid "Contact Functions" -#~ msgstr "Funkcje kontaktu" - -#~ msgid "Base Contact Process" -#~ msgstr "Proces głównego kontaktu" - -#~ msgid "Categories" -#~ msgstr "Kategorie" - -#~ msgid "Internal/External extension phone number" -#~ msgstr "Numer wewnętrzny" - -#~ msgid "Extension" -#~ msgstr "Rozszerzenie" - -#~ msgid "Partner Contacts" -#~ msgstr "Kontakty do partnera" - -#~ msgid "Define functions and address." -#~ msgstr "Definiuj funkcje i adres" - -#~ msgid "State" -#~ msgstr "Stan" - -#~ msgid "Seq." -#~ msgstr "Num." - -#~ msgid "Past" -#~ msgstr "Poprzednio" - -#~ msgid "Date Start" -#~ msgstr "Data rozpoczęcia" - -#~ msgid "Migrate" -#~ msgstr "Migracja" - -#~ msgid "" -#~ "You may enter Address first,Partner will be linked " -#~ "automatically if any." -#~ msgstr "" -#~ "Możesz wprowadzić najpierw adres. Partner zostanie dołączony automatycznie, " -#~ "jeśli jet." - -#~ msgid "Job FAX no." -#~ msgstr "Faks do pracy" - -#~ msgid "Function of this contact with this partner" -#~ msgstr "Funkcja tego kontaktu dla tego partnera" - -#~ msgid "Status of Address" -#~ msgstr "Stan adresu" - -#~ msgid "title" -#~ msgstr "tytuł" - -#~ msgid "Start date of job(Joining Date)" -#~ msgstr "Data rozpoczęcia pracy" - -#~ msgid "Last date of job" -#~ msgstr "Data zakończenia pracy" - -#~ msgid "Select the Option for Addresses Migration" -#~ msgstr "Wybierz opcję do migracji adresów" - -#~ msgid "Contact's Jobs" -#~ msgstr "Stanowiska kontaktu" - -#~ msgid "Configuration Progress" -#~ msgstr "Postęp konfiguracji" - -#~ msgid "Job E-Mail" -#~ msgstr "E-mail stanowiska" - -#~ msgid "Job Phone no." -#~ msgstr "Numer tel. stanowiska" - -#~ msgid "" -#~ "Order of importance of this job title in the list of job " -#~ "title of the linked partner" -#~ msgstr "Ranga tego stanowiska w tytułach w liście stanowisk partnera." - -#~ msgid "Communication" -#~ msgstr "Komunikacja" - -#~ msgid "Jobs at a same partner address." -#~ msgstr "Stanowiska pod tym samym adresem partnera" - -#~ msgid "Function to address" -#~ msgstr "Funkcja do adresu" - -#~ msgid "Otherwise these details will not be visible from address/contact." -#~ msgstr "" -#~ "W przeciwnym przypadku szczegóły nie będą widoczne w adresach/kontaktach." - -#~ msgid "Address which is linked to the Partner" -#~ msgstr "Adres związany z partnerem" - -#~ msgid "" -#~ "Due to changes in Address and Partner's relation, some of the details from " -#~ "address are needed to be migrated into contact information." -#~ msgstr "" -#~ "Ze względu na zmiany w relacjach adresy - partnerzy, część informacji " -#~ "adresowych jest potrzebna do migracji." - -#~ msgid "Search Contact" -#~ msgstr "Szukaj kontaktu" - -#~ msgid "Image" -#~ msgstr "Obraz" - -#~ msgid "Configure" -#~ msgstr "Konfiguruj" - -#~ msgid "Do you want to migrate your Address data in Contact Data?" -#~ msgstr "Chcesz migrować adresy do kontaktów?" - -#~ msgid "Address's Migration to Contacts" -#~ msgstr "Migracja adresów do kontaktół" - -#~ msgid "Address Migration" -#~ msgstr "Migracja adresów" - -#~ msgid "Open Jobs" -#~ msgstr "Otwórz stanowiska" - -#~ msgid "If you select this, all addresses will be migrated." -#~ msgstr "Jeśli to zaznaczysz, to wszystkie adresy będa migrowane" - -#~ msgid "You can migrate Partner's current addresses to the contact." -#~ msgstr "Możesz migrowac obecne adresy partnerów do kontaktów" - -#~ msgid "" -#~ "Order of importance of this address in the list of " -#~ "addresses of the linked contact" -#~ msgstr "Ranga tego adresu w liście adresów tego kontaktu" - -#~ msgid "" -#~ "\n" -#~ " This module allows you to manage your contacts entirely.\n" -#~ "\n" -#~ " It lets you define\n" -#~ " *contacts unrelated to a partner,\n" -#~ " *contacts working at several addresses (possibly for different " -#~ "partners),\n" -#~ " *contacts with possibly different functions for each of its job's " -#~ "addresses\n" -#~ "\n" -#~ " It also adds new menu items located in\n" -#~ " Partners \\ Contacts\n" -#~ " Partners \\ Functions\n" -#~ "\n" -#~ " Pay attention that this module converts the existing addresses into " -#~ "\"addresses + contacts\". It means that some fields of the addresses will be " -#~ "missing (like the contact name), since these are supposed to be defined in " -#~ "an other object.\n" -#~ " " -#~ msgstr "" -#~ "\n" -#~ " Ten moduł pozwala zarządzać kontaktami.\n" -#~ "\n" -#~ " Pozwala definiować\n" -#~ " * kontakty niezwiązane z partnerem,\n" -#~ " * kontakty działające pod różnymi adresami (dla różnych partnerów),\n" -#~ " * kontakty z różnymi funkcjami dla każdego ze stanowisk\n" -#~ "\n" -#~ " Dodaje nowe menu\n" -#~ " Partnerzy \\ Kontakty\n" -#~ " Partnerzy \\ Funkcje\n" -#~ "\n" -#~ " OSTRZEŻENIE: Przy konwersji adresów na kontakty niektóre pola adresów " -#~ "znikną (np. Nazwa kontaktu).\n" -#~ " " diff --git a/addons/base_contact/i18n/pt.po b/addons/base_contact/i18n/pt.po deleted file mode 100644 index 137264dbf26..00000000000 --- a/addons/base_contact/i18n/pt.po +++ /dev/null @@ -1,406 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * base_contact -# -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 6.0dev\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2012-02-08 00:36+0000\n" -"PO-Revision-Date: 2010-12-15 03:40+0000\n" -"Last-Translator: OpenERP Administrators <Unknown>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-02-09 06:14+0000\n" -"X-Generator: Launchpad (build 14763)\n" - -#. module: base_contact -#: field:res.partner.location,city:0 -msgid "City" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "First/Lastname" -msgstr "" - -#. module: base_contact -#: model:ir.actions.act_window,name:base_contact.action_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_purchases_partner_contact_form -#: model:process.node,name:base_contact.process_node_contacts0 -#: field:res.partner.location,job_ids:0 -msgid "Contacts" -msgstr "Contactos" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Professional Info" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,first_name:0 -msgid "First Name" -msgstr "Nome próprio" - -#. module: base_contact -#: field:res.partner.address,location_id:0 -msgid "Location" -msgstr "" - -#. module: base_contact -#: model:process.transition,name:base_contact.process_transition_partnertoaddress0 -msgid "Partner to address" -msgstr "Terceiro a endereçar" - -#. module: base_contact -#: help:res.partner.contact,active:0 -msgid "" -"If the active field is set to False, it will allow you to " -"hide the partner contact without removing it." -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,website:0 -msgid "Website" -msgstr "Página Web" - -#. module: base_contact -#: field:res.partner.location,zip:0 -msgid "Zip" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,state_id:0 -msgid "Fed. State" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,company_id:0 -msgid "Company" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,title:0 -msgid "Title" -msgstr "Título" - -#. module: base_contact -#: field:res.partner.location,partner_id:0 -msgid "Main Partner" -msgstr "" - -#. module: base_contact -#: model:process.process,name:base_contact.process_process_basecontactprocess0 -msgid "Base Contact" -msgstr "Contacto base" - -#. module: base_contact -#: field:res.partner.contact,email:0 -msgid "E-Mail" -msgstr "E-Mail" - -#. module: base_contact -#: field:res.partner.contact,active:0 -msgid "Active" -msgstr "Activo" - -#. module: base_contact -#: field:res.partner.contact,country_id:0 -msgid "Nationality" -msgstr "Nacionalidade" - -#. module: base_contact -#: view:res.partner:0 -#: view:res.partner.address:0 -msgid "Postal Address" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,function:0 -msgid "Main Function" -msgstr "Função Principal" - -#. module: base_contact -#: model:process.transition,note:base_contact.process_transition_partnertoaddress0 -msgid "Define partners and their addresses." -msgstr "Defina os terceiros e seus endereços" - -#. module: base_contact -#: field:res.partner.contact,name:0 -msgid "Name" -msgstr "Nome" - -#. module: base_contact -#: field:res.partner.contact,lang_id:0 -msgid "Language" -msgstr "Língua" - -#. module: base_contact -#: field:res.partner.contact,mobile:0 -msgid "Mobile" -msgstr "Telemóvel" - -#. module: base_contact -#: field:res.partner.location,country_id:0 -msgid "Country" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,comment:0 -msgid "Notes" -msgstr "Observações" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_contacts0 -msgid "People you work with." -msgstr "Pessoas com quem trabalha." - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Extra Information" -msgstr "Informação Extra" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,job_ids:0 -msgid "Functions and Addresses" -msgstr "Funções e Endereços" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_contact -#: field:res.partner.address,contact_id:0 -msgid "Contact" -msgstr "Contacto" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_location -msgid "res.partner.location" -msgstr "" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_partners0 -msgid "Companies you work with." -msgstr "Empresas com que trabalha" - -#. module: base_contact -#: field:res.partner.contact,partner_id:0 -msgid "Main Employer" -msgstr "Funcionário Principal" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner Contact" -msgstr "Contacto do Terceiro" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_addresses0 -msgid "Addresses" -msgstr "Endereços" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_addresses0 -msgid "Working and private addresses." -msgstr "Endereços funcionais e privados." - -#. module: base_contact -#: field:res.partner.contact,last_name:0 -msgid "Last Name" -msgstr "Último Nome" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,photo:0 -msgid "Photo" -msgstr "Fotografia" - -#. module: base_contact -#: view:res.partner.location:0 -msgid "Locations" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "General" -msgstr "Geral" - -#. module: base_contact -#: field:res.partner.location,street:0 -msgid "Street" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner" -msgstr "Terceiro" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_partners0 -msgid "Partners" -msgstr "Terceiros" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_address -msgid "Partner Addresses" -msgstr "Endereços do Terceiro" - -#. module: base_contact -#: field:res.partner.location,street2:0 -msgid "Street2" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Personal Information" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,birthdate:0 -msgid "Birth Date" -msgstr "Data do Nascimento" - -#~ msgid "Contact Seq." -#~ msgstr "Seq. Contacto" - -#~ msgid "res.partner.contact" -#~ msgstr "res.partner.contact" - -#~ msgid "Function" -#~ msgstr "Função" - -#~ msgid "Phone" -#~ msgstr "Telefone" - -#~ msgid "Defines contacts and functions." -#~ msgstr "Define contactos e funções" - -#~ msgid "Address" -#~ msgstr "Endereço" - -#~ msgid "" -#~ "Order of importance of this address in the list of addresses of the linked " -#~ "contact" -#~ msgstr "" -#~ "Ordem de importância deste endereço na lista de endereços do cliente " -#~ "relacionado" - -#~ msgid "Categories" -#~ msgstr "Categorias" - -#~ msgid "Seq." -#~ msgstr "Seq." - -#~ msgid "Function to address" -#~ msgstr "Função a endereçar" - -#~ msgid "State" -#~ msgstr "Estado" - -#~ msgid "Past" -#~ msgstr "Passado" - -#~ msgid "Jobs at a same partner address." -#~ msgstr "Trabalhos no mesmo endereço do terceiro." - -#~ msgid "Define functions and address." -#~ msgstr "Definir funções e endereços" - -#~ msgid "Other" -#~ msgstr "Outro" - -#~ msgid "Fax" -#~ msgstr "Fax" - -#~ msgid "Extension" -#~ msgstr "Extensão" - -#~ msgid "Partner Function" -#~ msgstr "Função do Terceiro" - -#~ msgid "Partner Seq." -#~ msgstr "Seq. Terceiro" - -#~ msgid "Contact Partner Function" -#~ msgstr "Função do Contacto do Terceiro" - -#~ msgid "Contact to function" -#~ msgstr "Contacto para função" - -#~ msgid "# of Contacts" -#~ msgstr "Nº de Contactos" - -#~ msgid "Additional phone field" -#~ msgstr "Campo de Telefone Adicional" - -#~ msgid "Contact Functions" -#~ msgstr "Funções do Contacto" - -#~ msgid "" -#~ "Order of importance of this job title in the list of job title of the linked " -#~ "partner" -#~ msgstr "" -#~ "Ordem de importância deste título de trabalho na lista de título de trabalho " -#~ "do terceiro relacionado" - -#~ msgid "Contact's Jobs" -#~ msgstr "Trabalho do Contacto" - -#~ msgid "Main Job" -#~ msgstr "Trabalho Principal" - -#~ msgid "Base Contact Process" -#~ msgstr "Processo do Contacto Base" - -#~ msgid "Internal/External extension phone number" -#~ msgstr "Extensão externa do número de telefone/Interno" - -#~ msgid "Partner Contacts" -#~ msgstr "Contactos do Terceiro" - -#~ msgid "General Information" -#~ msgstr "Informação Geral" - -#~ msgid "Date Start" -#~ msgstr "Data de Inicio" - -#~ msgid "Migrate" -#~ msgstr "Migrar" - -#~ msgid "title" -#~ msgstr "título" - -#~ msgid "Search Contact" -#~ msgstr "Pesquisar contacto" - -#~ msgid "Image" -#~ msgstr "Imagem" - -#~ msgid "Configuration Progress" -#~ msgstr "Processo de configuração" - -#~ msgid "Address which is linked to the Partner" -#~ msgstr "Endereço associado ao Terceiro" - -#~ msgid "base.contact.installer" -#~ msgstr "base.contact.installer" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "" -#~ "O nome do Objeto deve começar com x_ e não pode conter nenhum caracter " -#~ "especial !" - -#~ msgid "Current" -#~ msgstr "Atual" - -#~ msgid "Invalid model name in the action definition." -#~ msgstr "Nome de modelo inválido na definição da ação" - -#~ msgid "Date Stop" -#~ msgstr "Data de término" - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "XML inválido para a arquitetura da vista" diff --git a/addons/base_contact/i18n/pt_BR.po b/addons/base_contact/i18n/pt_BR.po deleted file mode 100644 index 89d880cc783..00000000000 --- a/addons/base_contact/i18n/pt_BR.po +++ /dev/null @@ -1,527 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * base_contact -# -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 6.0dev\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2012-02-08 00:36+0000\n" -"PO-Revision-Date: 2011-01-13 19:46+0000\n" -"Last-Translator: Emerson <Unknown>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-02-09 06:14+0000\n" -"X-Generator: Launchpad (build 14763)\n" - -#. module: base_contact -#: field:res.partner.location,city:0 -msgid "City" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "First/Lastname" -msgstr "" - -#. module: base_contact -#: model:ir.actions.act_window,name:base_contact.action_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_purchases_partner_contact_form -#: model:process.node,name:base_contact.process_node_contacts0 -#: field:res.partner.location,job_ids:0 -msgid "Contacts" -msgstr "Contatos" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Professional Info" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,first_name:0 -msgid "First Name" -msgstr "Primeiro Nome" - -#. module: base_contact -#: field:res.partner.address,location_id:0 -msgid "Location" -msgstr "" - -#. module: base_contact -#: model:process.transition,name:base_contact.process_transition_partnertoaddress0 -msgid "Partner to address" -msgstr "Endereço do Parceiro" - -#. module: base_contact -#: help:res.partner.contact,active:0 -msgid "" -"If the active field is set to False, it will allow you to " -"hide the partner contact without removing it." -msgstr "" -"Se o campo ativo é definido como falso, isso permitirá que você ocultar o " -"contato do parceiro sem removê-lo." - -#. module: base_contact -#: field:res.partner.contact,website:0 -msgid "Website" -msgstr "Página da Web" - -#. module: base_contact -#: field:res.partner.location,zip:0 -msgid "Zip" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,state_id:0 -msgid "Fed. State" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,company_id:0 -msgid "Company" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,title:0 -msgid "Title" -msgstr "Título" - -#. module: base_contact -#: field:res.partner.location,partner_id:0 -msgid "Main Partner" -msgstr "" - -#. module: base_contact -#: model:process.process,name:base_contact.process_process_basecontactprocess0 -msgid "Base Contact" -msgstr "Contato Base" - -#. module: base_contact -#: field:res.partner.contact,email:0 -msgid "E-Mail" -msgstr "E-mail" - -#. module: base_contact -#: field:res.partner.contact,active:0 -msgid "Active" -msgstr "Ativo" - -#. module: base_contact -#: field:res.partner.contact,country_id:0 -msgid "Nationality" -msgstr "Nacionalidade" - -#. module: base_contact -#: view:res.partner:0 -#: view:res.partner.address:0 -msgid "Postal Address" -msgstr "Endereço Postal" - -#. module: base_contact -#: field:res.partner.contact,function:0 -msgid "Main Function" -msgstr "Função Principal" - -#. module: base_contact -#: model:process.transition,note:base_contact.process_transition_partnertoaddress0 -msgid "Define partners and their addresses." -msgstr "Definir Parceiros e seus Endereços" - -#. module: base_contact -#: field:res.partner.contact,name:0 -msgid "Name" -msgstr "Nome" - -#. module: base_contact -#: field:res.partner.contact,lang_id:0 -msgid "Language" -msgstr "Idioma" - -#. module: base_contact -#: field:res.partner.contact,mobile:0 -msgid "Mobile" -msgstr "Celular" - -#. module: base_contact -#: field:res.partner.location,country_id:0 -msgid "Country" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,comment:0 -msgid "Notes" -msgstr "Notas" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_contacts0 -msgid "People you work with." -msgstr "As pessoas com quem trabalha." - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Extra Information" -msgstr "Informação Extra" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,job_ids:0 -msgid "Functions and Addresses" -msgstr "Funções e Endereços" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_contact -#: field:res.partner.address,contact_id:0 -msgid "Contact" -msgstr "Contato" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_location -msgid "res.partner.location" -msgstr "" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_partners0 -msgid "Companies you work with." -msgstr "Empresas com as quais você trabalha." - -#. module: base_contact -#: field:res.partner.contact,partner_id:0 -msgid "Main Employer" -msgstr "Principal Empregador" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner Contact" -msgstr "Contato do Parceiro" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_addresses0 -msgid "Addresses" -msgstr "Endereços" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_addresses0 -msgid "Working and private addresses." -msgstr "Endereços de trabalho e privado." - -#. module: base_contact -#: field:res.partner.contact,last_name:0 -msgid "Last Name" -msgstr "Sobrenome" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,photo:0 -msgid "Photo" -msgstr "Foto" - -#. module: base_contact -#: view:res.partner.location:0 -msgid "Locations" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "General" -msgstr "Geral" - -#. module: base_contact -#: field:res.partner.location,street:0 -msgid "Street" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner" -msgstr "Parceiro" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_partners0 -msgid "Partners" -msgstr "Parceiros" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_address -msgid "Partner Addresses" -msgstr "Endereços do parceiro" - -#. module: base_contact -#: field:res.partner.location,street2:0 -msgid "Street2" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Personal Information" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,birthdate:0 -msgid "Birth Date" -msgstr "Data de Nascimento" - -#~ msgid "res.partner.contact" -#~ msgstr "res.partner.contact" - -#~ msgid "Partner Function" -#~ msgstr "Função do parceiro" - -#~ msgid "Current" -#~ msgstr "Atual" - -#~ msgid "Contact Partner Function" -#~ msgstr "Função do contato do parceiro" - -#~ msgid "Contact to function" -#~ msgstr "Função do Contato" - -#~ msgid "Function" -#~ msgstr "Função" - -#~ msgid "Phone" -#~ msgstr "Telefone" - -#~ msgid "Defines contacts and functions." -#~ msgstr "Definir Contatos e Funções" - -#~ msgid "Contact Functions" -#~ msgstr "Funções do Contato" - -#~ msgid "" -#~ "Order of importance of this job title in the list of job title of the linked " -#~ "partner" -#~ msgstr "" -#~ "Ordem de importância deste cargo, na lista de postos de trabalho ligados a " -#~ "título de parceiro" - -#~ msgid "Date Stop" -#~ msgstr "Data de Parada" - -#~ msgid "Address" -#~ msgstr "Endereço" - -#~ msgid "" -#~ "Order of importance of this address in the list of addresses of the linked " -#~ "contact" -#~ msgstr "" -#~ "Ordem de importância deste endereço na lista de endereços ligados aos " -#~ "contatos" - -#~ msgid "Categories" -#~ msgstr "Categorias" - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "Invalido XML para Arquitetura da View" - -#~ msgid "Seq." -#~ msgstr "Seq." - -#~ msgid "Function to address" -#~ msgstr "Função de Tratar" - -#~ msgid "Partner Contacts" -#~ msgstr "Contatos do Parceiro" - -#~ msgid "State" -#~ msgstr "Estado" - -#~ msgid "Past" -#~ msgstr "Passado" - -#~ msgid "General Information" -#~ msgstr "Informação Básica" - -#~ msgid "Date Start" -#~ msgstr "Data de Início" - -#~ msgid "Define functions and address." -#~ msgstr "Definir Funções e Endereços" - -#~ msgid "Base Contact Process" -#~ msgstr "Processo de Contato Base" - -#~ msgid "Internal/External extension phone number" -#~ msgstr "Numero do Ramal Interno/Externo" - -#~ msgid "Extension" -#~ msgstr "Extensão" - -#~ msgid "Other" -#~ msgstr "Outro" - -#~ msgid "Fax" -#~ msgstr "Fax" - -#~ msgid "Partner Seq." -#~ msgstr "Seq. Parceiro" - -#~ msgid "Contact Seq." -#~ msgstr "Seq. Contato" - -#~ msgid "Contact's Jobs" -#~ msgstr "Trabalhos do Contato" - -#~ msgid "Main Job" -#~ msgstr "Trabalho Principal" - -#~ msgid "Jobs at a same partner address." -#~ msgstr "Trabalhos em um mesmo endereço de parceiro." - -#~ msgid "# of Contacts" -#~ msgstr "Num. de Contatos" - -#~ msgid "Invalid model name in the action definition." -#~ msgstr "Nome de modelo inválido na definição da ação" - -#~ msgid "Migrate" -#~ msgstr "Migrar" - -#~ msgid "title" -#~ msgstr "título" - -#~ msgid "Image" -#~ msgstr "Imagem" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "" -#~ "O nome do objeto deve iniciar com x_ e não conter nenhum caracter especial." - -#~ msgid "Additional phone field" -#~ msgstr "Campo de Telefone adicional" - -#~ msgid "Do you want to migrate your Address data in Contact Data?" -#~ msgstr "Você deseja migrar seus dados de endereço para os dados do contato?" - -#~ msgid "Job E-Mail" -#~ msgstr "E-Mail do trabalho" - -#~ msgid "Job Phone no." -#~ msgstr "Nro do telefone do trabalho" - -#~ msgid "Communication" -#~ msgstr "Comunicação" - -#~ msgid "Search Contact" -#~ msgstr "Pesquisar Contatos" - -#~ msgid "" -#~ "You may enter Address first,Partner will be linked " -#~ "automatically if any." -#~ msgstr "" -#~ "Você pode informar endereços primeiro, Os parceiros serão vinculados " -#~ "automaticamente se existir algum." - -#~ msgid "Job FAX no." -#~ msgstr "FAX" - -#~ msgid "Function of this contact with this partner" -#~ msgstr "A função deste contato com este parceiro" - -#~ msgid "Status of Address" -#~ msgstr "Situação do Endereço" - -#~ msgid "Start date of job(Joining Date)" -#~ msgstr "Data de Início do Trabalho (Unindo Datas)" - -#~ msgid "Last date of job" -#~ msgstr "Último dia de Trabalho" - -#~ msgid "" -#~ "Order of importance of this job title in the list of job " -#~ "title of the linked partner" -#~ msgstr "" -#~ "Ordem de importância deste título de trabalho na lista de títulos de " -#~ "trabalho do parceiro vinculado" - -#~ msgid "Otherwise these details will not be visible from address/contact." -#~ msgstr "" -#~ "Caso contrário estes detalhes de endereço/contato não estarão visíveis." - -#~ msgid "Address which is linked to the Partner" -#~ msgstr "Endereço que está vinculado ao Parceiro" - -#~ msgid "" -#~ "Due to changes in Address and Partner's relation, some of the details from " -#~ "address are needed to be migrated into contact information." -#~ msgstr "" -#~ "Devido a alterações nos Endereços e relacionamentos de Parceiros, alguns " -#~ "detalhes dos endereços precisam ser migrados para as informações do contato." - -#~ msgid "Open Jobs" -#~ msgstr "Trabalhos Abertos" - -#~ msgid "If you select this, all addresses will be migrated." -#~ msgstr "Se você selecionar isso, todos os endereços serão migrados." - -#~ msgid "base.contact.installer" -#~ msgstr "base.contact.installer" - -#~ msgid "" -#~ "Order of importance of this address in the list of " -#~ "addresses of the linked contact" -#~ msgstr "" -#~ "Ordem de importância deste endereço na lista de endereços vinculada ao " -#~ "contato" - -#~ msgid "Address Migration" -#~ msgstr "Migração de Endereço" - -#~ msgid "Select the Option for Addresses Migration" -#~ msgstr "Selecione a Opção para Migração de Endereços" - -#~ msgid "Configure" -#~ msgstr "Configurar" - -#~ msgid "You can migrate Partner's current addresses to the contact." -#~ msgstr "Você pode migrar os endereços atuais de Parceiros para o contato." - -#~ msgid "Address's Migration to Contacts" -#~ msgstr "Migração de Endereços para Contatos" - -#~ msgid "" -#~ "\n" -#~ " This module allows you to manage your contacts entirely.\n" -#~ "\n" -#~ " It lets you define\n" -#~ " *contacts unrelated to a partner,\n" -#~ " *contacts working at several addresses (possibly for different " -#~ "partners),\n" -#~ " *contacts with possibly different functions for each of its job's " -#~ "addresses\n" -#~ "\n" -#~ " It also adds new menu items located in\n" -#~ " Partners \\ Contacts\n" -#~ " Partners \\ Functions\n" -#~ "\n" -#~ " Pay attention that this module converts the existing addresses into " -#~ "\"addresses + contacts\". It means that some fields of the addresses will be " -#~ "missing (like the contact name), since these are supposed to be defined in " -#~ "an other object.\n" -#~ " " -#~ msgstr "" -#~ "\n" -#~ " Este módulo permite o gerenciamento completo dos contatos.\n" -#~ "\n" -#~ " permite você definir\n" -#~ " *contatos sem relação com parceiros,\n" -#~ " *contatos operando em vários endereços (possivelmente em parceiros " -#~ "diferentes),\n" -#~ " *contatos com possibilidade de diferentes funções para cada um dos " -#~ "endereços de trabalho\n" -#~ "\n" -#~ " também adiciona novos itens de menus em\n" -#~ " Parceiros \\ Contatos\n" -#~ " Parceiros \\ Funções\n" -#~ "\n" -#~ " Repare que este módulo converte os endereços existentes em \"endereço + " -#~ "contato\". Isto significa que alguns campos de endereço sairão (como o nome " -#~ "do contato), uma vez que se supõe que o nome está no outro objeto.\n" -#~ " " - -#~ msgid "Configuration Progress" -#~ msgstr "Progresso da Configuração" diff --git a/addons/base_contact/i18n/ro.po b/addons/base_contact/i18n/ro.po deleted file mode 100644 index 90072064202..00000000000 --- a/addons/base_contact/i18n/ro.po +++ /dev/null @@ -1,527 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * base_contact -# -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 6.0dev\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2012-02-08 00:36+0000\n" -"PO-Revision-Date: 2011-03-17 11:58+0000\n" -"Last-Translator: Syraxes <Unknown>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-02-09 06:14+0000\n" -"X-Generator: Launchpad (build 14763)\n" - -#. module: base_contact -#: field:res.partner.location,city:0 -msgid "City" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "First/Lastname" -msgstr "" - -#. module: base_contact -#: model:ir.actions.act_window,name:base_contact.action_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_purchases_partner_contact_form -#: model:process.node,name:base_contact.process_node_contacts0 -#: field:res.partner.location,job_ids:0 -msgid "Contacts" -msgstr "Contacte" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Professional Info" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,first_name:0 -msgid "First Name" -msgstr "Prenume" - -#. module: base_contact -#: field:res.partner.address,location_id:0 -msgid "Location" -msgstr "" - -#. module: base_contact -#: model:process.transition,name:base_contact.process_transition_partnertoaddress0 -msgid "Partner to address" -msgstr "Partener la adresă" - -#. module: base_contact -#: help:res.partner.contact,active:0 -msgid "" -"If the active field is set to False, it will allow you to " -"hide the partner contact without removing it." -msgstr "" -"Daca campul activ este setat pe Fals, va va permite sa ascundeti contactul " -"partenerului fara a-l sterge." - -#. module: base_contact -#: field:res.partner.contact,website:0 -msgid "Website" -msgstr "Website" - -#. module: base_contact -#: field:res.partner.location,zip:0 -msgid "Zip" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,state_id:0 -msgid "Fed. State" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,company_id:0 -msgid "Company" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,title:0 -msgid "Title" -msgstr "Titlu" - -#. module: base_contact -#: field:res.partner.location,partner_id:0 -msgid "Main Partner" -msgstr "" - -#. module: base_contact -#: model:process.process,name:base_contact.process_process_basecontactprocess0 -msgid "Base Contact" -msgstr "Contact de bază" - -#. module: base_contact -#: field:res.partner.contact,email:0 -msgid "E-Mail" -msgstr "E-Mail" - -#. module: base_contact -#: field:res.partner.contact,active:0 -msgid "Active" -msgstr "Activ" - -#. module: base_contact -#: field:res.partner.contact,country_id:0 -msgid "Nationality" -msgstr "Naţionalitate" - -#. module: base_contact -#: view:res.partner:0 -#: view:res.partner.address:0 -msgid "Postal Address" -msgstr "Adresa poștală" - -#. module: base_contact -#: field:res.partner.contact,function:0 -msgid "Main Function" -msgstr "Funcţia principală" - -#. module: base_contact -#: model:process.transition,note:base_contact.process_transition_partnertoaddress0 -msgid "Define partners and their addresses." -msgstr "Definire parteneri și adresele lor" - -#. module: base_contact -#: field:res.partner.contact,name:0 -msgid "Name" -msgstr "Nume" - -#. module: base_contact -#: field:res.partner.contact,lang_id:0 -msgid "Language" -msgstr "Limbă" - -#. module: base_contact -#: field:res.partner.contact,mobile:0 -msgid "Mobile" -msgstr "Mobil" - -#. module: base_contact -#: field:res.partner.location,country_id:0 -msgid "Country" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,comment:0 -msgid "Notes" -msgstr "Note" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_contacts0 -msgid "People you work with." -msgstr "Pesoane cu care lucraţi." - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Extra Information" -msgstr "Informaţii suplimentare" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,job_ids:0 -msgid "Functions and Addresses" -msgstr "Funcții și adrese" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_contact -#: field:res.partner.address,contact_id:0 -msgid "Contact" -msgstr "Contact" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_location -msgid "res.partner.location" -msgstr "" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_partners0 -msgid "Companies you work with." -msgstr "Companii cu care lucrați" - -#. module: base_contact -#: field:res.partner.contact,partner_id:0 -msgid "Main Employer" -msgstr "Angajator principal" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner Contact" -msgstr "Contact partener" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_addresses0 -msgid "Addresses" -msgstr "Adrese" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_addresses0 -msgid "Working and private addresses." -msgstr "Adrese la locul de muncă şi private" - -#. module: base_contact -#: field:res.partner.contact,last_name:0 -msgid "Last Name" -msgstr "Nume" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,photo:0 -msgid "Photo" -msgstr "Poză" - -#. module: base_contact -#: view:res.partner.location:0 -msgid "Locations" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "General" -msgstr "General" - -#. module: base_contact -#: field:res.partner.location,street:0 -msgid "Street" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner" -msgstr "Partener" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_partners0 -msgid "Partners" -msgstr "Parteneri" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_address -msgid "Partner Addresses" -msgstr "Adresele partenerului" - -#. module: base_contact -#: field:res.partner.location,street2:0 -msgid "Street2" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Personal Information" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,birthdate:0 -msgid "Birth Date" -msgstr "Data nașterii" - -#~ msgid "Categories" -#~ msgstr "Categorii" - -#~ msgid "Current" -#~ msgstr "Actual" - -#~ msgid "res.partner.contact" -#~ msgstr "res.partner.contact" - -#~ msgid "# of Contacts" -#~ msgstr "# de contacte" - -#~ msgid "Phone" -#~ msgstr "Telefon" - -#~ msgid "Function" -#~ msgstr "Funcție" - -#~ msgid "Fax" -#~ msgstr "Fax" - -#~ msgid "Additional phone field" -#~ msgstr "Cămp adițional pentru telefon" - -#~ msgid "Defines contacts and functions." -#~ msgstr "Definește contactele și funcțiile" - -#~ msgid "Other" -#~ msgstr "Alte" - -#~ msgid "" -#~ "Order of importance of this address in the list of addresses of the linked " -#~ "contact" -#~ msgstr "" -#~ "Ordinea importanței acestei adrese în lista de adrese a contactului asociat" - -#~ msgid "Date Stop" -#~ msgstr "Data de sfârșit" - -#~ msgid "Contact Functions" -#~ msgstr "Funcțiile contactului" - -#~ msgid "Seq." -#~ msgstr "Secvență" - -#~ msgid "Extension" -#~ msgstr "Extensie" - -#~ msgid "Define functions and address." -#~ msgstr "Definire funcții și adrese" - -#~ msgid "State" -#~ msgstr "Stare" - -#~ msgid "Jobs at a same partner address." -#~ msgstr "Locuri de muncă la aceeași adresă partener" - -#~ msgid "Past" -#~ msgstr "Anterior" - -#~ msgid "Date Start" -#~ msgstr "Data de început" - -#~ msgid "Contact Partner Function" -#~ msgstr "Funcția contactului la partener" - -#~ msgid "Partner Function" -#~ msgstr "Funcție la partener" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "" -#~ "Numele obiectului trebuie să înceapă cu x_ şi să nu conţină nici un caracter " -#~ "special !" - -#~ msgid "Contact to function" -#~ msgstr "Contact în funcţie" - -#~ msgid "Invalid model name in the action definition." -#~ msgstr "Nume invalid de model în definirea acţiunii" - -#~ msgid "Partner Seq." -#~ msgstr "Secvență parteneri" - -#~ msgid "Contact Seq." -#~ msgstr "Secvență contacte" - -#~ msgid "" -#~ "Order of importance of this job title in the list of job title of the linked " -#~ "partner" -#~ msgstr "" -#~ "Ordinea importanței poziţiei in lista de poziţii la partenerul asociat" - -#~ msgid "Contact's Jobs" -#~ msgstr "Funcţia contactului" - -#~ msgid "Main Job" -#~ msgstr "Sarcina principală" - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "XML invalid pentru arhitectura machetei de afișare !" - -#~ msgid "Address" -#~ msgstr "Adresă" - -#~ msgid "Base Contact Process" -#~ msgstr "Proces contact de bază" - -#~ msgid "Function to address" -#~ msgstr "Funcţie la adresă" - -#~ msgid "Partner Contacts" -#~ msgstr "Contacte partener" - -#~ msgid "General Information" -#~ msgstr "Informaţii generale" - -#~ msgid "Internal/External extension phone number" -#~ msgstr "Număr telefon extensie internă/externă" - -#~ msgid "title" -#~ msgstr "titlu" - -#~ msgid "If you select this, all addresses will be migrated." -#~ msgstr "Toate adresele vor fi migrate dacă selectaţi acestă opţiune." - -#~ msgid "Status of Address" -#~ msgstr "Situație adresă" - -#~ msgid "Address which is linked to the Partner" -#~ msgstr "Adresa asociată Partenerului" - -#~ msgid "Search Contact" -#~ msgstr "Căutare contact" - -#~ msgid "Image" -#~ msgstr "Imagine" - -#~ msgid "Communication" -#~ msgstr "Comunicare" - -#~ msgid "" -#~ "Due to changes in Address and Partner's relation, some of the details from " -#~ "address are needed to be migrated into contact information." -#~ msgstr "" -#~ "Din cauza modificării relaţiei definită între entităţile Adresă şi Partener, " -#~ "este necesar ca o parte dintre detaliile adresei să fie migrate la " -#~ "detaliile de contact." - -#~ msgid "" -#~ "You may enter Address first,Partner will be linked " -#~ "automatically if any." -#~ msgstr "" -#~ "Puteţi introduce adresa. Partenerul va fi setat automat, dacă există." - -#~ msgid "base.contact.installer" -#~ msgstr "base.contact.installer" - -#~ msgid "Migrate" -#~ msgstr "Migrează" - -#~ msgid "Configuration Progress" -#~ msgstr "Configurare procese" - -#~ msgid "Configure" -#~ msgstr "Configurare" - -#~ msgid "Job E-Mail" -#~ msgstr "E-mail loc de munca" - -#~ msgid "Job Phone no." -#~ msgstr "Nr de telefon loc de munca" - -#~ msgid "" -#~ "Order of importance of this job title in the list of job " -#~ "title of the linked partner" -#~ msgstr "" -#~ "Ordinea importantei acestui titlu al locului de munca in lista cu titluri de " -#~ "locuri de munca a partenerului asociat" - -#~ msgid "" -#~ "\n" -#~ " This module allows you to manage your contacts entirely.\n" -#~ "\n" -#~ " It lets you define\n" -#~ " *contacts unrelated to a partner,\n" -#~ " *contacts working at several addresses (possibly for different " -#~ "partners),\n" -#~ " *contacts with possibly different functions for each of its job's " -#~ "addresses\n" -#~ "\n" -#~ " It also adds new menu items located in\n" -#~ " Partners \\ Contacts\n" -#~ " Partners \\ Functions\n" -#~ "\n" -#~ " Pay attention that this module converts the existing addresses into " -#~ "\"addresses + contacts\". It means that some fields of the addresses will be " -#~ "missing (like the contact name), since these are supposed to be defined in " -#~ "an other object.\n" -#~ " " -#~ msgstr "" -#~ "\n" -#~ " Acest modul va permite sa va gestionati contactele in intregime. \n" -#~ "\n" -#~ "Va permite sa definiti \n" -#~ " *contacte fara legatura cu un partener, \n" -#~ " * contacte lucrand la mai multe adrese (posibil pentru parteneri " -#~ "diferiti), \n" -#~ " * contacte cu functii diferite probabil pentru fiecare dintre " -#~ "adresele locului de munca \n" -#~ "\n" -#~ "De asemenea, adauga noi elemente ale meniului localizate in \n" -#~ " Parteneri \\ Contacte \n" -#~ " Parteneri \\ FUnctii \n" -#~ "\n" -#~ "Fiti atent deoarece acest modul schimba adresele existente in " -#~ "\"adrese+contacte\". Aceasta inseamna ca unele campuri ale adreselor vor " -#~ "lipsi (cum ar fi numele contactului), din moment ce acestea ar trebui sa fie " -#~ "definite intr-un alt obiect.\n" -#~ " " - -#~ msgid "Job FAX no." -#~ msgstr "Nr. FAX al locului de munca" - -#~ msgid "Function of this contact with this partner" -#~ msgstr "Functia acestui contact cu acest partener" - -#~ msgid "Start date of job(Joining Date)" -#~ msgstr "Data de inceput a locului de munca (data angajarii)" - -#~ msgid "Last date of job" -#~ msgstr "Ultima data a locului de munca" - -#~ msgid "Otherwise these details will not be visible from address/contact." -#~ msgstr "" -#~ "In mod contrar, aceste detalii nu vor fi vizibile din adresa/contact." - -#~ msgid "" -#~ "Order of importance of this address in the list of " -#~ "addresses of the linked contact" -#~ msgstr "" -#~ "Ordinea importantei acestei adrese in lista cu adrese a contactului asociat" - -#~ msgid "Address Migration" -#~ msgstr "Migrare adresa" - -#~ msgid "Open Jobs" -#~ msgstr "Deschidere Locuri de munca" - -#~ msgid "Do you want to migrate your Address data in Contact Data?" -#~ msgstr "" -#~ "Doriti sa migrati datele adresei dumneavoastra in Datele Contactului?" - -#~ msgid "Address's Migration to Contacts" -#~ msgstr "Adresa de migrare in Contacte" - -#~ msgid "You can migrate Partner's current addresses to the contact." -#~ msgstr "Puteti migra adresele curente ale Partenerului in contact." - -#~ msgid "Select the Option for Addresses Migration" -#~ msgstr "Selectati optiunea pentru Migrarea adresei" diff --git a/addons/base_contact/i18n/ru.po b/addons/base_contact/i18n/ru.po deleted file mode 100644 index e700018c344..00000000000 --- a/addons/base_contact/i18n/ru.po +++ /dev/null @@ -1,519 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * base_contact -# -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 6.0dev\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2012-02-08 00:36+0000\n" -"PO-Revision-Date: 2012-01-30 16:46+0000\n" -"Last-Translator: Aleksei Motsik <Unknown>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-02-09 06:14+0000\n" -"X-Generator: Launchpad (build 14763)\n" - -#. module: base_contact -#: field:res.partner.location,city:0 -msgid "City" -msgstr "Город" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "First/Lastname" -msgstr "Имя/Фамилия" - -#. module: base_contact -#: model:ir.actions.act_window,name:base_contact.action_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_purchases_partner_contact_form -#: model:process.node,name:base_contact.process_node_contacts0 -#: field:res.partner.location,job_ids:0 -msgid "Contacts" -msgstr "Контакты" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Professional Info" -msgstr "Профессия" - -#. module: base_contact -#: field:res.partner.contact,first_name:0 -msgid "First Name" -msgstr "Имя" - -#. module: base_contact -#: field:res.partner.address,location_id:0 -msgid "Location" -msgstr "Местоположение" - -#. module: base_contact -#: model:process.transition,name:base_contact.process_transition_partnertoaddress0 -msgid "Partner to address" -msgstr "Адрес партнера" - -#. module: base_contact -#: help:res.partner.contact,active:0 -msgid "" -"If the active field is set to False, it will allow you to " -"hide the partner contact without removing it." -msgstr "" -"Если поле 'Активно' имеет значение ложь, то это позволит вам скрыть контакт " -"партнера, не удаляя его." - -#. module: base_contact -#: field:res.partner.contact,website:0 -msgid "Website" -msgstr "Сайт" - -#. module: base_contact -#: field:res.partner.location,zip:0 -msgid "Zip" -msgstr "Индекс" - -#. module: base_contact -#: field:res.partner.location,state_id:0 -msgid "Fed. State" -msgstr "Штат" - -#. module: base_contact -#: field:res.partner.location,company_id:0 -msgid "Company" -msgstr "Компания" - -#. module: base_contact -#: field:res.partner.contact,title:0 -msgid "Title" -msgstr "Название" - -#. module: base_contact -#: field:res.partner.location,partner_id:0 -msgid "Main Partner" -msgstr "Основной партнер" - -#. module: base_contact -#: model:process.process,name:base_contact.process_process_basecontactprocess0 -msgid "Base Contact" -msgstr "Основной контакт" - -#. module: base_contact -#: field:res.partner.contact,email:0 -msgid "E-Mail" -msgstr "Эл. почта" - -#. module: base_contact -#: field:res.partner.contact,active:0 -msgid "Active" -msgstr "Активен" - -#. module: base_contact -#: field:res.partner.contact,country_id:0 -msgid "Nationality" -msgstr "Национальность" - -#. module: base_contact -#: view:res.partner:0 -#: view:res.partner.address:0 -msgid "Postal Address" -msgstr "Почтовый адрес" - -#. module: base_contact -#: field:res.partner.contact,function:0 -msgid "Main Function" -msgstr "Личная функция" - -#. module: base_contact -#: model:process.transition,note:base_contact.process_transition_partnertoaddress0 -msgid "Define partners and their addresses." -msgstr "Определить партнеров и их адреса." - -#. module: base_contact -#: field:res.partner.contact,name:0 -msgid "Name" -msgstr "Имя" - -#. module: base_contact -#: field:res.partner.contact,lang_id:0 -msgid "Language" -msgstr "Язык" - -#. module: base_contact -#: field:res.partner.contact,mobile:0 -msgid "Mobile" -msgstr "Моб. тел." - -#. module: base_contact -#: field:res.partner.location,country_id:0 -msgid "Country" -msgstr "Страна" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,comment:0 -msgid "Notes" -msgstr "Примечания" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_contacts0 -msgid "People you work with." -msgstr "Люди с которыми вы работает" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Extra Information" -msgstr "Доп. информация" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,job_ids:0 -msgid "Functions and Addresses" -msgstr "Функции и Адреса" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_contact -#: field:res.partner.address,contact_id:0 -msgid "Contact" -msgstr "Контакт" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_location -msgid "res.partner.location" -msgstr "" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_partners0 -msgid "Companies you work with." -msgstr "Организации с которыми вы работаете" - -#. module: base_contact -#: field:res.partner.contact,partner_id:0 -msgid "Main Employer" -msgstr "Основной работодатель" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner Contact" -msgstr "Контакт партнера" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_addresses0 -msgid "Addresses" -msgstr "Адреса" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_addresses0 -msgid "Working and private addresses." -msgstr "Рабочие и дополнительные адреса." - -#. module: base_contact -#: field:res.partner.contact,last_name:0 -msgid "Last Name" -msgstr "Фамилия" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,photo:0 -msgid "Photo" -msgstr "Фото" - -#. module: base_contact -#: view:res.partner.location:0 -msgid "Locations" -msgstr "Местоположения" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "General" -msgstr "Основной" - -#. module: base_contact -#: field:res.partner.location,street:0 -msgid "Street" -msgstr "Улица" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner" -msgstr "Партнер" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_partners0 -msgid "Partners" -msgstr "Партнеры" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_address -msgid "Partner Addresses" -msgstr "Адреса партнера" - -#. module: base_contact -#: field:res.partner.location,street2:0 -msgid "Street2" -msgstr "Улица (2-я строка)" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Personal Information" -msgstr "Личная информация" - -#. module: base_contact -#: field:res.partner.contact,birthdate:0 -msgid "Birth Date" -msgstr "Дата рождения" - -#~ msgid "# of Contacts" -#~ msgstr "Кол-во контактных лиц" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "" -#~ "Название объекта должно начинаться с x_ и не должно содержать специальных " -#~ "символов !" - -#~ msgid "Function" -#~ msgstr "Функция" - -#~ msgid "Phone" -#~ msgstr "Телефон" - -#~ msgid "Contact Functions" -#~ msgstr "Функции контакта" - -#~ msgid "Address" -#~ msgstr "Адрес" - -#~ msgid "Categories" -#~ msgstr "Категории" - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "Неправильный XML для просмотра архитектуры!" - -#~ msgid "General Information" -#~ msgstr "Общая информация" - -#~ msgid "Contact Partner Function" -#~ msgstr "Функции сотрудника партнера" - -#~ msgid "Contact to function" -#~ msgstr "Функции контакта" - -#~ msgid "Current" -#~ msgstr "Текущий" - -#~ msgid "res.partner.contact" -#~ msgstr "Контакт партнера" - -#~ msgid "Partner Seq." -#~ msgstr "Последовательность партнеров" - -#~ msgid "Contact Seq." -#~ msgstr "Последовательность контакта" - -#~ msgid "Defines contacts and functions." -#~ msgstr "Определить контакты и функции" - -#~ msgid "Partner Function" -#~ msgstr "Функции партнера" - -#~ msgid "Fax" -#~ msgstr "Факс" - -#~ msgid "Additional phone field" -#~ msgstr "Дополнительное поле телефона" - -#~ msgid "Contact's Jobs" -#~ msgstr "Должность контакта" - -#~ msgid "" -#~ "Order of importance of this job title in the list of job title of the linked " -#~ "partner" -#~ msgstr "" -#~ "С учетом важности этой работы названия в списке Должность связанного партнера" - -#~ msgid "Date Stop" -#~ msgstr "Дата Остановки" - -#~ msgid "Main Job" -#~ msgstr "Основная должность" - -#~ msgid "Base Contact Process" -#~ msgstr "Основной контакт" - -#~ msgid "Internal/External extension phone number" -#~ msgstr "Внутренний / внешний расширение телефонного номера" - -#~ msgid "Extension" -#~ msgstr "Расширение" - -#~ msgid "Partner Contacts" -#~ msgstr "Контакты партнера" - -#~ msgid "State" -#~ msgstr "Состояние" - -#~ msgid "Past" -#~ msgstr "Прошлые" - -#~ msgid "Date Start" -#~ msgstr "Дата начала" - -#~ msgid "Invalid model name in the action definition." -#~ msgstr "Недопустимое имя модели в определении действия." - -#~ msgid "Other" -#~ msgstr "Другое" - -#~ msgid "Seq." -#~ msgstr "Посл-ть" - -#~ msgid "Function to address" -#~ msgstr "Адрес функции" - -#~ msgid "" -#~ "Order of importance of this address in the list of addresses of the linked " -#~ "contact" -#~ msgstr "Уровень важности этого адреса в списке адресов связанного контакта" - -#~ msgid "Define functions and address." -#~ msgstr "Определить функции и адреса." - -#~ msgid "Jobs at a same partner address." -#~ msgstr "Должности с таким же адресом партнера" - -#~ msgid "Status of Address" -#~ msgstr "Статус адреса" - -#~ msgid "Otherwise these details will not be visible from address/contact." -#~ msgstr "Иначе эти подробности не будут видны в адресе/контакте." - -#~ msgid "Address which is linked to the Partner" -#~ msgstr "Адрес который связан с партнером" - -#~ msgid "Search Contact" -#~ msgstr "Искать контакт" - -#~ msgid "" -#~ "Order of importance of this address in the list of " -#~ "addresses of the linked contact" -#~ msgstr "Порядок важности этого адреса в списке адресов связанного контакта" - -#~ msgid "Address Migration" -#~ msgstr "Перенос адресов" - -#~ msgid "Open Jobs" -#~ msgstr "Открытые вакансии" - -#~ msgid "Do you want to migrate your Address data in Contact Data?" -#~ msgstr "Вы хотите перенести данные вашего адреса в данные контакта ?" - -#~ msgid "If you select this, all addresses will be migrated." -#~ msgstr "Если вы выберете это, все адреса будут перенесены." - -#~ msgid "" -#~ "Order of importance of this job title in the list of job " -#~ "title of the linked partner" -#~ msgstr "" -#~ "Порядок важности этой должности в списке должностей связанного партнера" - -#~ msgid "Migrate" -#~ msgstr "Переместить" - -#~ msgid "" -#~ "You may enter Address first,Partner will be linked " -#~ "automatically if any." -#~ msgstr "" -#~ "Вы можете сначала ввести адрес, партнер будет привязан автоматически, если " -#~ "он есть." - -#~ msgid "" -#~ "Due to changes in Address and Partner's relation, some of the details from " -#~ "address are needed to be migrated into contact information." -#~ msgstr "" -#~ "В связи с изменениями в отношениях адресов и партнеров, некоторые данные из " -#~ "адреса необходимо перенести в контакт." - -#~ msgid "Image" -#~ msgstr "Изображение" - -#~ msgid "Configuration Progress" -#~ msgstr "Настройка выполняется" - -#~ msgid "Function of this contact with this partner" -#~ msgstr "Должность этого контакта в фирме-партнере" - -#~ msgid "base.contact.installer" -#~ msgstr "base.contact.installer" - -#~ msgid "Communication" -#~ msgstr "Общение" - -#~ msgid "Configure" -#~ msgstr "Настройка" - -#~ msgid "Last date of job" -#~ msgstr "Последний день работы" - -#~ msgid "Job E-Mail" -#~ msgstr "Рабочий e-mail" - -#~ msgid "Job FAX no." -#~ msgstr "Рабочий номер факса" - -#~ msgid "Select the Option for Addresses Migration" -#~ msgstr "Выберите опции для перемещения адресов" - -#~ msgid "Job Phone no." -#~ msgstr "Рабочий телефон" - -#~ msgid "You can migrate Partner's current addresses to the contact." -#~ msgstr "Вы можете переместить текущие адреса контрагента в контакт" - -#~ msgid "Start date of job(Joining Date)" -#~ msgstr "Дата начала работы(дата присоединения)" - -#~ msgid "Address's Migration to Contacts" -#~ msgstr "Перенос адреса в контакты" - -#~ msgid "" -#~ "\n" -#~ " This module allows you to manage your contacts entirely.\n" -#~ "\n" -#~ " It lets you define\n" -#~ " *contacts unrelated to a partner,\n" -#~ " *contacts working at several addresses (possibly for different " -#~ "partners),\n" -#~ " *contacts with possibly different functions for each of its job's " -#~ "addresses\n" -#~ "\n" -#~ " It also adds new menu items located in\n" -#~ " Partners \\ Contacts\n" -#~ " Partners \\ Functions\n" -#~ "\n" -#~ " Pay attention that this module converts the existing addresses into " -#~ "\"addresses + contacts\". It means that some fields of the addresses will be " -#~ "missing (like the contact name), since these are supposed to be defined in " -#~ "an other object.\n" -#~ " " -#~ msgstr "" -#~ "\n" -#~ " Этот модуль позволяет управлять контактами.\n" -#~ "\n" -#~ " В нём можно определить\n" -#~ " *контакты, не связанные с контрагентом,\n" -#~ " *контакты с множеством адресов (возможно, для разных контрагентов),\n" -#~ " *контакты с различными функциями в зависимости от их адреса\n" -#~ "\n" -#~ " Он добавляет пункты меню в разделы\n" -#~ " Контрагенты \\ Контакты\n" -#~ " Контрагенты \\ Функции\n" -#~ "\n" -#~ " Внимание! Этот модуль преобразует существующие адреса в «адреса + " -#~ "контакты». Это значит, что часть полей адреса будет утеряна (например, имя " -#~ "контакта), поскольку ожидается их объявление в другом объекте.\n" -#~ " " - -#~ msgid "title" -#~ msgstr "title" diff --git a/addons/base_contact/i18n/sk.po b/addons/base_contact/i18n/sk.po deleted file mode 100644 index 4f5077c5b71..00000000000 --- a/addons/base_contact/i18n/sk.po +++ /dev/null @@ -1,425 +0,0 @@ -# Slovak translation for openobject-addons -# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 -# This file is distributed under the same license as the openobject-addons package. -# FIRST AUTHOR <EMAIL@ADDRESS>, 2009. -# -msgid "" -msgstr "" -"Project-Id-Version: openobject-addons\n" -"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2012-02-08 00:36+0000\n" -"PO-Revision-Date: 2010-08-03 01:38+0000\n" -"Last-Translator: Peter Kohaut <peter.kohaut@gmail.com>\n" -"Language-Team: Slovak <sk@li.org>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-02-09 06:14+0000\n" -"X-Generator: Launchpad (build 14763)\n" - -#. module: base_contact -#: field:res.partner.location,city:0 -msgid "City" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "First/Lastname" -msgstr "" - -#. module: base_contact -#: model:ir.actions.act_window,name:base_contact.action_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_purchases_partner_contact_form -#: model:process.node,name:base_contact.process_node_contacts0 -#: field:res.partner.location,job_ids:0 -msgid "Contacts" -msgstr "Kontakty" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Professional Info" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,first_name:0 -msgid "First Name" -msgstr "Krstné meno" - -#. module: base_contact -#: field:res.partner.address,location_id:0 -msgid "Location" -msgstr "" - -#. module: base_contact -#: model:process.transition,name:base_contact.process_transition_partnertoaddress0 -msgid "Partner to address" -msgstr "Adresy partnera" - -#. module: base_contact -#: help:res.partner.contact,active:0 -msgid "" -"If the active field is set to False, it will allow you to " -"hide the partner contact without removing it." -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,website:0 -msgid "Website" -msgstr "Webová stránka" - -#. module: base_contact -#: field:res.partner.location,zip:0 -msgid "Zip" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,state_id:0 -msgid "Fed. State" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,company_id:0 -msgid "Company" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,title:0 -msgid "Title" -msgstr "Názov" - -#. module: base_contact -#: field:res.partner.location,partner_id:0 -msgid "Main Partner" -msgstr "" - -#. module: base_contact -#: model:process.process,name:base_contact.process_process_basecontactprocess0 -msgid "Base Contact" -msgstr "Základný kontakt" - -#. module: base_contact -#: field:res.partner.contact,email:0 -msgid "E-Mail" -msgstr "E-Mail" - -#. module: base_contact -#: field:res.partner.contact,active:0 -msgid "Active" -msgstr "Aktívny" - -#. module: base_contact -#: field:res.partner.contact,country_id:0 -msgid "Nationality" -msgstr "Národnosť" - -#. module: base_contact -#: view:res.partner:0 -#: view:res.partner.address:0 -msgid "Postal Address" -msgstr "Poštová adresa" - -#. module: base_contact -#: field:res.partner.contact,function:0 -msgid "Main Function" -msgstr "Hlavná funkcia" - -#. module: base_contact -#: model:process.transition,note:base_contact.process_transition_partnertoaddress0 -msgid "Define partners and their addresses." -msgstr "Definovať partnerov a ich adresy." - -#. module: base_contact -#: field:res.partner.contact,name:0 -msgid "Name" -msgstr "Meno" - -#. module: base_contact -#: field:res.partner.contact,lang_id:0 -msgid "Language" -msgstr "Jazyk" - -#. module: base_contact -#: field:res.partner.contact,mobile:0 -msgid "Mobile" -msgstr "Mobil" - -#. module: base_contact -#: field:res.partner.location,country_id:0 -msgid "Country" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,comment:0 -msgid "Notes" -msgstr "Poznámky" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_contacts0 -msgid "People you work with." -msgstr "Ľudia s ktorými pracujete." - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Extra Information" -msgstr "Extra informácie" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,job_ids:0 -msgid "Functions and Addresses" -msgstr "Funkcie a adresy" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_contact -#: field:res.partner.address,contact_id:0 -msgid "Contact" -msgstr "Kontakt" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_location -msgid "res.partner.location" -msgstr "" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_partners0 -msgid "Companies you work with." -msgstr "Spoločnosti s ktorými pracujete." - -#. module: base_contact -#: field:res.partner.contact,partner_id:0 -msgid "Main Employer" -msgstr "Hlavný zamestnávateľ" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner Contact" -msgstr "Kontakt partnera" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_addresses0 -msgid "Addresses" -msgstr "Adresy" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_addresses0 -msgid "Working and private addresses." -msgstr "Pracovné a súkromné adresy." - -#. module: base_contact -#: field:res.partner.contact,last_name:0 -msgid "Last Name" -msgstr "Priezvisko" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,photo:0 -msgid "Photo" -msgstr "Fotografia" - -#. module: base_contact -#: view:res.partner.location:0 -msgid "Locations" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "General" -msgstr "Všeobecné" - -#. module: base_contact -#: field:res.partner.location,street:0 -msgid "Street" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner" -msgstr "Partner" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_partners0 -msgid "Partners" -msgstr "Partneri" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_address -msgid "Partner Addresses" -msgstr "Partnerove adresy" - -#. module: base_contact -#: field:res.partner.location,street2:0 -msgid "Street2" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Personal Information" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,birthdate:0 -msgid "Birth Date" -msgstr "Dátum narodenia" - -#~ msgid "Partner Function" -#~ msgstr "Funkcia partnera" - -#~ msgid "Current" -#~ msgstr "Aktuálne" - -#~ msgid "Other" -#~ msgstr "Iné" - -#~ msgid "# of Contacts" -#~ msgstr "# z Kontaktov" - -#~ msgid "Phone" -#~ msgstr "Telefón" - -#~ msgid "Function" -#~ msgstr "Funkcia" - -#~ msgid "Fax" -#~ msgstr "Fax" - -#~ msgid "Contact Functions" -#~ msgstr "Funkcie kontaktu" - -#~ msgid "Address" -#~ msgstr "Adresa" - -#~ msgid "Base Contact Process" -#~ msgstr "Základný proces kontaktu" - -#~ msgid "Categories" -#~ msgstr "Kategórie" - -#~ msgid "Partner Contacts" -#~ msgstr "Kontakty partnera" - -#~ msgid "State" -#~ msgstr "Štát" - -#~ msgid "Date Start" -#~ msgstr "Dátum spustenia" - -#~ msgid "Date Stop" -#~ msgstr "Dátum ukončenia" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "" -#~ "Názov objektu musí začínať x_ a nesmie obsahovať žiadne špeciálne znaky!" - -#~ msgid "res.partner.contact" -#~ msgstr "res.partner.contact" - -#~ msgid "Seq." -#~ msgstr "Por." - -#~ msgid "Partner Seq." -#~ msgstr "Por. partnera" - -#~ msgid "Contact Seq." -#~ msgstr "Por. kontaktu" - -#~ msgid "Contact Partner Function" -#~ msgstr "Kontakt - funkcia partnera" - -#~ msgid "Contact to function" -#~ msgstr "Funkcia kontaktu" - -#~ msgid "Invalid model name in the action definition." -#~ msgstr "Neplatný názov modelu v definícii akcie." - -#~ msgid "Additional phone field" -#~ msgstr "Dodatočné pole telefónu" - -#~ msgid "Main Job" -#~ msgstr "Hlavná práca" - -#~ msgid "Internal/External extension phone number" -#~ msgstr "Interná / Externá klapka" - -#~ msgid "Extension" -#~ msgstr "Rozšírenie" - -#~ msgid "Function to address" -#~ msgstr "Funkcia na adresu" - -#~ msgid "General Information" -#~ msgstr "Všeobecné informácie" - -#~ msgid "Past" -#~ msgstr "Minulosť" - -#~ msgid "Jobs at a same partner address." -#~ msgstr "Práce na na rovnakej partnerovej adrese." - -#~ msgid "Define functions and address." -#~ msgstr "Definovanie funkcií a adries." - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "Neplatné XML pre zobrazenie architektúry!" - -#~ msgid "Defines contacts and functions." -#~ msgstr "Definovanie kontaktov a funkcií." - -#~ msgid "Migrate" -#~ msgstr "Presunúť" - -#~ msgid "Job FAX no." -#~ msgstr "FAX do práce č." - -#~ msgid "title" -#~ msgstr "titul" - -#~ msgid "Last date of job" -#~ msgstr "Posledný deň práce" - -#~ msgid "Job E-Mail" -#~ msgstr "Email do práce" - -#~ msgid "Job Phone no." -#~ msgstr "Telefón do práce č." - -#~ msgid "Image" -#~ msgstr "Obrázok" - -#~ msgid "Communication" -#~ msgstr "Komunikácia" - -#~ msgid "Configuration Progress" -#~ msgstr "Priebeh nastavenia" - -#~ msgid "Address which is linked to the Partner" -#~ msgstr "Adresa, ktorá je spojená s partnerom" - -#~ msgid "Search Contact" -#~ msgstr "Hľadanie kontaktu" - -#~ msgid "Otherwise these details will not be visible from address/contact." -#~ msgstr "V opačnom prípade tieto údaje nebudú viditeľné z adresy / kontaktu." - -#~ msgid "If you select this, all addresses will be migrated." -#~ msgstr "Ak vyberiete túto možnosť, budú všetky adresy presunuté." - -#~ msgid "base.contact.installer" -#~ msgstr "base.contact.installer" - -#~ msgid "Address's Migration to Contacts" -#~ msgstr "Presun adries do kontaktov" - -#~ msgid "Configure" -#~ msgstr "Nastaviť" - -#~ msgid "" -#~ "Order of importance of this address in the list of " -#~ "addresses of the linked contact" -#~ msgstr "" -#~ "Poradie dôležitosti tejto adresy v zozname adries spojených s kontaktom" - -#~ msgid "Address Migration" -#~ msgstr "Presun adresy" diff --git a/addons/base_contact/i18n/sl.po b/addons/base_contact/i18n/sl.po deleted file mode 100644 index b289fc99713..00000000000 --- a/addons/base_contact/i18n/sl.po +++ /dev/null @@ -1,522 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * base_contact -# -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 6.0dev\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2012-02-08 00:36+0000\n" -"PO-Revision-Date: 2010-12-16 17:46+0000\n" -"Last-Translator: OpenERP Administrators <Unknown>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-02-09 06:14+0000\n" -"X-Generator: Launchpad (build 14763)\n" - -#. module: base_contact -#: field:res.partner.location,city:0 -msgid "City" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "First/Lastname" -msgstr "" - -#. module: base_contact -#: model:ir.actions.act_window,name:base_contact.action_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_purchases_partner_contact_form -#: model:process.node,name:base_contact.process_node_contacts0 -#: field:res.partner.location,job_ids:0 -msgid "Contacts" -msgstr "Stiki" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Professional Info" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,first_name:0 -msgid "First Name" -msgstr "Ime" - -#. module: base_contact -#: field:res.partner.address,location_id:0 -msgid "Location" -msgstr "" - -#. module: base_contact -#: model:process.transition,name:base_contact.process_transition_partnertoaddress0 -msgid "Partner to address" -msgstr "Naslovljeni partner" - -#. module: base_contact -#: help:res.partner.contact,active:0 -msgid "" -"If the active field is set to False, it will allow you to " -"hide the partner contact without removing it." -msgstr "" -"Če je aktivno polje nastavljeno na False, vam bo dovoljeno skrivanje " -"kontakta partnerja brez, da bi ga odstranili." - -#. module: base_contact -#: field:res.partner.contact,website:0 -msgid "Website" -msgstr "Spletno mesto" - -#. module: base_contact -#: field:res.partner.location,zip:0 -msgid "Zip" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,state_id:0 -msgid "Fed. State" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,company_id:0 -msgid "Company" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,title:0 -msgid "Title" -msgstr "Titula" - -#. module: base_contact -#: field:res.partner.location,partner_id:0 -msgid "Main Partner" -msgstr "" - -#. module: base_contact -#: model:process.process,name:base_contact.process_process_basecontactprocess0 -msgid "Base Contact" -msgstr "Osnovni stik" - -#. module: base_contact -#: field:res.partner.contact,email:0 -msgid "E-Mail" -msgstr "E-pošta" - -#. module: base_contact -#: field:res.partner.contact,active:0 -msgid "Active" -msgstr "Aktivno" - -#. module: base_contact -#: field:res.partner.contact,country_id:0 -msgid "Nationality" -msgstr "Državljanstvo" - -#. module: base_contact -#: view:res.partner:0 -#: view:res.partner.address:0 -msgid "Postal Address" -msgstr "Poštni naslov" - -#. module: base_contact -#: field:res.partner.contact,function:0 -msgid "Main Function" -msgstr "Glavna funkcija" - -#. module: base_contact -#: model:process.transition,note:base_contact.process_transition_partnertoaddress0 -msgid "Define partners and their addresses." -msgstr "Določi partnerje in njihove naslove" - -#. module: base_contact -#: field:res.partner.contact,name:0 -msgid "Name" -msgstr "Ime" - -#. module: base_contact -#: field:res.partner.contact,lang_id:0 -msgid "Language" -msgstr "Jezik" - -#. module: base_contact -#: field:res.partner.contact,mobile:0 -msgid "Mobile" -msgstr "Mobilni telefon" - -#. module: base_contact -#: field:res.partner.location,country_id:0 -msgid "Country" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,comment:0 -msgid "Notes" -msgstr "Opombe" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_contacts0 -msgid "People you work with." -msgstr "S katerimi ljudmi poslujete" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Extra Information" -msgstr "Dodatne informacije" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,job_ids:0 -msgid "Functions and Addresses" -msgstr "Funkcije in naslovi" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_contact -#: field:res.partner.address,contact_id:0 -msgid "Contact" -msgstr "Kontakt" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_location -msgid "res.partner.location" -msgstr "" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_partners0 -msgid "Companies you work with." -msgstr "Podjetja s katerimi delate." - -#. module: base_contact -#: field:res.partner.contact,partner_id:0 -msgid "Main Employer" -msgstr "Glavni zaposlovalec" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner Contact" -msgstr "Stik partnerja" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_addresses0 -msgid "Addresses" -msgstr "Naslovi" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_addresses0 -msgid "Working and private addresses." -msgstr "Delovni in zasebni naslovi" - -#. module: base_contact -#: field:res.partner.contact,last_name:0 -msgid "Last Name" -msgstr "Priimek" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,photo:0 -msgid "Photo" -msgstr "Fotografija" - -#. module: base_contact -#: view:res.partner.location:0 -msgid "Locations" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "General" -msgstr "Splošno" - -#. module: base_contact -#: field:res.partner.location,street:0 -msgid "Street" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner" -msgstr "Partner" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_partners0 -msgid "Partners" -msgstr "Partnerji" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_address -msgid "Partner Addresses" -msgstr "Naslovi stranke" - -#. module: base_contact -#: field:res.partner.location,street2:0 -msgid "Street2" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Personal Information" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,birthdate:0 -msgid "Birth Date" -msgstr "Rojstni datum" - -#~ msgid "# of Contacts" -#~ msgstr "Število stikov" - -#~ msgid "res.partner.contact" -#~ msgstr "res.partner.contact" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "" -#~ "Naziv objekta se mora začeti z 'x_' in ne sme vsebovati posebnih znakov." - -#~ msgid "Function" -#~ msgstr "Funkcija" - -#~ msgid "Phone" -#~ msgstr "Telefon" - -#~ msgid "Contact Functions" -#~ msgstr "Funkcije stika" - -#~ msgid "Address" -#~ msgstr "Naslov" - -#~ msgid "Categories" -#~ msgstr "Kategorije" - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "Neveljaven XML za arhitekturo pogleda." - -#~ msgid "General Information" -#~ msgstr "Splošne informacije" - -#~ msgid "Current" -#~ msgstr "Trenutni" - -#~ msgid "Other" -#~ msgstr "Drugo" - -#~ msgid "Fax" -#~ msgstr "Faks" - -#~ msgid "Partner Seq." -#~ msgstr "Zap. partnerjev" - -#~ msgid "Contact Seq." -#~ msgstr "Zap. kontaktov" - -#~ msgid "Seq." -#~ msgstr "Zap." - -#~ msgid "Partner Contacts" -#~ msgstr "Kontakti partnerja" - -#~ msgid "Date Start" -#~ msgstr "Datum začetka" - -#~ msgid "Defines contacts and functions." -#~ msgstr "Določa stike in funkcije" - -#~ msgid "Invalid model name in the action definition." -#~ msgstr "Napačno ime modela v definiciji dejanja." - -#~ msgid "Additional phone field" -#~ msgstr "Dodatno polje za telefon" - -#~ msgid "Past" -#~ msgstr "Pretekli" - -#~ msgid "Contact's Jobs" -#~ msgstr "Službe stika" - -#~ msgid "Main Job" -#~ msgstr "Glavno delo" - -#~ msgid "Contact Partner Function" -#~ msgstr "Funkcija stik partnerja" - -#~ msgid "Partner Function" -#~ msgstr "Funkcija partner" - -#~ msgid "" -#~ "Order of importance of this job title in the list of job title of the linked " -#~ "partner" -#~ msgstr "" -#~ "Vrstni red pomembnosti tega delovnega mesta v seznamu delovnih mest " -#~ "povezanega partnerja" - -#~ msgid "" -#~ "Order of importance of this address in the list of addresses of the linked " -#~ "contact" -#~ msgstr "" -#~ "Vrstni red pomembnosti tega naslova v seznamu naslovov povezanega stika" - -#~ msgid "Contact to function" -#~ msgstr "Stik h funkciji" - -#~ msgid "Date Stop" -#~ msgstr "Datum konca" - -#~ msgid "Define functions and address." -#~ msgstr "Določi funkcije in naslove." - -#~ msgid "Base Contact Process" -#~ msgstr "Osnovni proces kontaktov" - -#~ msgid "Jobs at a same partner address." -#~ msgstr "Službe na istem naslovu partnerja" - -#~ msgid "Function to address" -#~ msgstr "Nasloviti funkcijo" - -#~ msgid "Internal/External extension phone number" -#~ msgstr "Notranja/zunanja telefonska številka" - -#~ msgid "State" -#~ msgstr "Stanje" - -#~ msgid "Search Contact" -#~ msgstr "Išči po stikih" - -#~ msgid "Status of Address" -#~ msgstr "Status naslova" - -#~ msgid "If you select this, all addresses will be migrated." -#~ msgstr "Če izberete to možnost, bodo prenešeni vsi naslovi" - -#~ msgid "Configuration Progress" -#~ msgstr "Potek konfiguracije" - -#~ msgid "base.contact.installer" -#~ msgstr "base.contact.installer" - -#~ msgid "Do you want to migrate your Address data in Contact Data?" -#~ msgstr "Ali želite prenesti podatke o vaših naslovih v podatke o stiku?" - -#~ msgid "Address Migration" -#~ msgstr "Prenos naslova" - -#~ msgid "Job E-Mail" -#~ msgstr "Službeni e-poštni naslov" - -#~ msgid "Job Phone no." -#~ msgstr "Službena telefonska številka" - -#~ msgid "Open Jobs" -#~ msgstr "Odprte zaposlitve" - -#~ msgid "Address which is linked to the Partner" -#~ msgstr "Naslov, ki je povezan s stranko" - -#~ msgid "Migrate" -#~ msgstr "Preseli" - -#~ msgid "Image" -#~ msgstr "Slika" - -#~ msgid "Job FAX no." -#~ msgstr "Številka službenega faks-a:" - -#~ msgid "title" -#~ msgstr "naslov" - -#~ msgid "Start date of job(Joining Date)" -#~ msgstr "Začetek zaposlitve" - -#~ msgid "Last date of job" -#~ msgstr "Konec zaposlitve" - -#~ msgid "Extension" -#~ msgstr "Razširitev" - -#~ msgid "Communication" -#~ msgstr "Komunikacija" - -#~ msgid "Otherwise these details will not be visible from address/contact." -#~ msgstr "V nasprotnem primeru ti podatki ne bodo videni iz naslova / kontakt." - -#~ msgid "Select the Option for Addresses Migration" -#~ msgstr "Izberi možnost za migracijo naslovov" - -#~ msgid "" -#~ "Due to changes in Address and Partner's relation, some of the details from " -#~ "address are needed to be migrated into contact information." -#~ msgstr "" -#~ "Zaradi sprememb v zvezi Naslov in Partner, so nekatere podrobnosti iz " -#~ "naslova je bilo treba selili v kontaktne podatke." - -#~ msgid "" -#~ "Order of importance of this job title in the list of job " -#~ "title of the linked partner" -#~ msgstr "" -#~ "Vrstni red pomembnosti tega naziva delovnega mesta na seznamu nazivov od " -#~ "povezanega partnerja" - -#~ msgid "" -#~ "\n" -#~ " This module allows you to manage your contacts entirely.\n" -#~ "\n" -#~ " It lets you define\n" -#~ " *contacts unrelated to a partner,\n" -#~ " *contacts working at several addresses (possibly for different " -#~ "partners),\n" -#~ " *contacts with possibly different functions for each of its job's " -#~ "addresses\n" -#~ "\n" -#~ " It also adds new menu items located in\n" -#~ " Partners \\ Contacts\n" -#~ " Partners \\ Functions\n" -#~ "\n" -#~ " Pay attention that this module converts the existing addresses into " -#~ "\"addresses + contacts\". It means that some fields of the addresses will be " -#~ "missing (like the contact name), since these are supposed to be defined in " -#~ "an other object.\n" -#~ " " -#~ msgstr "" -#~ "\n" -#~ " Ta modul vam omogoča, da upravljate svoje stike v celoti.\n" -#~ "\n" -#~ " Dovoli vam definirati\n" -#~ " * stiki, ki niso povezani s partnerjem,\n" -#~ " * stiki , ki delajo na več naslovih (lahko za različne partnerje),\n" -#~ " * stiki z morda različnimi funkcijami za vsak od naslovov kjer " -#~ "delajo\n" -#~ "\n" -#~ " Prav tako dodaja nove elemente menija, ki se nahajajo v\n" -#~ " Partnerji \\ Kontakti\n" -#~ " Partners \\ Funkcije\n" -#~ "\n" -#~ " Bodite pozorni, da ta modul pretvarja obstoječe naslovov v \"naslovi + " -#~ "stikov\". To pomeni, da bodo nekatera področja naslovov manjkala (kot je ime " -#~ "stika), saj naj bi bila opredeljena v drug predmetu.\n" -#~ " " - -#~ msgid "" -#~ "You may enter Address first,Partner will be linked " -#~ "automatically if any." -#~ msgstr "" -#~ "Lahko vnesete najprej naslov, partner bo samodejno povezan, če sploh." - -#~ msgid "Function of this contact with this partner" -#~ msgstr "Funkcija tega stika s tem partnerjem" - -#~ msgid "Address's Migration to Contacts" -#~ msgstr "Migracija naslovov kontaktov" - -#~ msgid "Configure" -#~ msgstr "Nastavitve" - -#~ msgid "You can migrate Partner's current addresses to the contact." -#~ msgstr "Lahko migrirate trenutni naslov partnerja k kontatku." - -#~ msgid "" -#~ "Order of importance of this address in the list of " -#~ "addresses of the linked contact" -#~ msgstr "" -#~ "Vrstni red pomembnosti tega naslova na seznamu naslovov povezanih kontaktov" diff --git a/addons/base_contact/i18n/sq.po b/addons/base_contact/i18n/sq.po deleted file mode 100644 index fa7a889ca73..00000000000 --- a/addons/base_contact/i18n/sq.po +++ /dev/null @@ -1,264 +0,0 @@ -# Albanian translation for openobject-addons -# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 -# This file is distributed under the same license as the openobject-addons package. -# FIRST AUTHOR <EMAIL@ADDRESS>, 2009. -# -msgid "" -msgstr "" -"Project-Id-Version: openobject-addons\n" -"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2012-02-08 00:36+0000\n" -"PO-Revision-Date: 2009-12-29 15:27+0000\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: Albanian <sq@li.org>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-02-09 06:14+0000\n" -"X-Generator: Launchpad (build 14763)\n" - -#. module: base_contact -#: field:res.partner.location,city:0 -msgid "City" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "First/Lastname" -msgstr "" - -#. module: base_contact -#: model:ir.actions.act_window,name:base_contact.action_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_purchases_partner_contact_form -#: model:process.node,name:base_contact.process_node_contacts0 -#: field:res.partner.location,job_ids:0 -msgid "Contacts" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Professional Info" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,first_name:0 -msgid "First Name" -msgstr "" - -#. module: base_contact -#: field:res.partner.address,location_id:0 -msgid "Location" -msgstr "" - -#. module: base_contact -#: model:process.transition,name:base_contact.process_transition_partnertoaddress0 -msgid "Partner to address" -msgstr "" - -#. module: base_contact -#: help:res.partner.contact,active:0 -msgid "" -"If the active field is set to False, it will allow you to " -"hide the partner contact without removing it." -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,website:0 -msgid "Website" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,zip:0 -msgid "Zip" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,state_id:0 -msgid "Fed. State" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,company_id:0 -msgid "Company" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,title:0 -msgid "Title" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,partner_id:0 -msgid "Main Partner" -msgstr "" - -#. module: base_contact -#: model:process.process,name:base_contact.process_process_basecontactprocess0 -msgid "Base Contact" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,email:0 -msgid "E-Mail" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,active:0 -msgid "Active" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,country_id:0 -msgid "Nationality" -msgstr "" - -#. module: base_contact -#: view:res.partner:0 -#: view:res.partner.address:0 -msgid "Postal Address" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,function:0 -msgid "Main Function" -msgstr "" - -#. module: base_contact -#: model:process.transition,note:base_contact.process_transition_partnertoaddress0 -msgid "Define partners and their addresses." -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,name:0 -msgid "Name" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,lang_id:0 -msgid "Language" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,mobile:0 -msgid "Mobile" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,country_id:0 -msgid "Country" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,comment:0 -msgid "Notes" -msgstr "" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_contacts0 -msgid "People you work with." -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Extra Information" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,job_ids:0 -msgid "Functions and Addresses" -msgstr "" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_contact -#: field:res.partner.address,contact_id:0 -msgid "Contact" -msgstr "" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_location -msgid "res.partner.location" -msgstr "" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_partners0 -msgid "Companies you work with." -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,partner_id:0 -msgid "Main Employer" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner Contact" -msgstr "" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_addresses0 -msgid "Addresses" -msgstr "" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_addresses0 -msgid "Working and private addresses." -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,last_name:0 -msgid "Last Name" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,photo:0 -msgid "Photo" -msgstr "" - -#. module: base_contact -#: view:res.partner.location:0 -msgid "Locations" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "General" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,street:0 -msgid "Street" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner" -msgstr "" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_partners0 -msgid "Partners" -msgstr "" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_address -msgid "Partner Addresses" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,street2:0 -msgid "Street2" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Personal Information" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,birthdate:0 -msgid "Birth Date" -msgstr "" diff --git a/addons/base_contact/i18n/sr.po b/addons/base_contact/i18n/sr.po deleted file mode 100644 index 5628666b284..00000000000 --- a/addons/base_contact/i18n/sr.po +++ /dev/null @@ -1,467 +0,0 @@ -# Serbian translation for openobject-addons -# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 -# This file is distributed under the same license as the openobject-addons package. -# FIRST AUTHOR <EMAIL@ADDRESS>, 2009. -# -msgid "" -msgstr "" -"Project-Id-Version: openobject-addons\n" -"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2012-02-08 00:36+0000\n" -"PO-Revision-Date: 2010-10-30 14:38+0000\n" -"Last-Translator: OpenERP Administrators <Unknown>\n" -"Language-Team: Serbian <sr@li.org>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-02-09 06:14+0000\n" -"X-Generator: Launchpad (build 14763)\n" - -#. module: base_contact -#: field:res.partner.location,city:0 -msgid "City" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "First/Lastname" -msgstr "" - -#. module: base_contact -#: model:ir.actions.act_window,name:base_contact.action_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_purchases_partner_contact_form -#: model:process.node,name:base_contact.process_node_contacts0 -#: field:res.partner.location,job_ids:0 -msgid "Contacts" -msgstr "Kontakti" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Professional Info" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,first_name:0 -msgid "First Name" -msgstr "Ime" - -#. module: base_contact -#: field:res.partner.address,location_id:0 -msgid "Location" -msgstr "" - -#. module: base_contact -#: model:process.transition,name:base_contact.process_transition_partnertoaddress0 -msgid "Partner to address" -msgstr "Partner na adresu" - -#. module: base_contact -#: help:res.partner.contact,active:0 -msgid "" -"If the active field is set to False, it will allow you to " -"hide the partner contact without removing it." -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,website:0 -msgid "Website" -msgstr "Internet stranica" - -#. module: base_contact -#: field:res.partner.location,zip:0 -msgid "Zip" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,state_id:0 -msgid "Fed. State" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,company_id:0 -msgid "Company" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,title:0 -msgid "Title" -msgstr "Naslov" - -#. module: base_contact -#: field:res.partner.location,partner_id:0 -msgid "Main Partner" -msgstr "" - -#. module: base_contact -#: model:process.process,name:base_contact.process_process_basecontactprocess0 -msgid "Base Contact" -msgstr "Osnovni Kontakt" - -#. module: base_contact -#: field:res.partner.contact,email:0 -msgid "E-Mail" -msgstr "E-Mail" - -#. module: base_contact -#: field:res.partner.contact,active:0 -msgid "Active" -msgstr "Aktivan" - -#. module: base_contact -#: field:res.partner.contact,country_id:0 -msgid "Nationality" -msgstr "Nacionalnost" - -#. module: base_contact -#: view:res.partner:0 -#: view:res.partner.address:0 -msgid "Postal Address" -msgstr "Postanska adresa" - -#. module: base_contact -#: field:res.partner.contact,function:0 -msgid "Main Function" -msgstr "Glavna Funkcija" - -#. module: base_contact -#: model:process.transition,note:base_contact.process_transition_partnertoaddress0 -msgid "Define partners and their addresses." -msgstr "Definisi Partnere i njihove Adrese" - -#. module: base_contact -#: field:res.partner.contact,name:0 -msgid "Name" -msgstr "Ime" - -#. module: base_contact -#: field:res.partner.contact,lang_id:0 -msgid "Language" -msgstr "Jezik" - -#. module: base_contact -#: field:res.partner.contact,mobile:0 -msgid "Mobile" -msgstr "Mobilni" - -#. module: base_contact -#: field:res.partner.location,country_id:0 -msgid "Country" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,comment:0 -msgid "Notes" -msgstr "Napomene" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_contacts0 -msgid "People you work with." -msgstr "Ljudi s kojima radite." - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Extra Information" -msgstr "Dodatne informacije" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,job_ids:0 -msgid "Functions and Addresses" -msgstr "Funkcije i Adrese" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_contact -#: field:res.partner.address,contact_id:0 -msgid "Contact" -msgstr "Kontakt" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_location -msgid "res.partner.location" -msgstr "" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_partners0 -msgid "Companies you work with." -msgstr "Kompanije s kojima radite." - -#. module: base_contact -#: field:res.partner.contact,partner_id:0 -msgid "Main Employer" -msgstr "Glavni Poslodavac." - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner Contact" -msgstr "Kontakt partnera" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_addresses0 -msgid "Addresses" -msgstr "Adrese" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_addresses0 -msgid "Working and private addresses." -msgstr "Rad na Privatnoj adresi" - -#. module: base_contact -#: field:res.partner.contact,last_name:0 -msgid "Last Name" -msgstr "Prezime" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,photo:0 -msgid "Photo" -msgstr "Fotografija" - -#. module: base_contact -#: view:res.partner.location:0 -msgid "Locations" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "General" -msgstr "Opšte" - -#. module: base_contact -#: field:res.partner.location,street:0 -msgid "Street" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner" -msgstr "Partner" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_partners0 -msgid "Partners" -msgstr "Partneri" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_address -msgid "Partner Addresses" -msgstr "Partnerove adrese" - -#. module: base_contact -#: field:res.partner.location,street2:0 -msgid "Street2" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Personal Information" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,birthdate:0 -msgid "Birth Date" -msgstr "Datum rođenja" - -#~ msgid "Contact Partner Function" -#~ msgstr "Funkcija Kontakta Partnera" - -#~ msgid "Partner Function" -#~ msgstr "Funkcija Partnera" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "" -#~ "Ime objekta mora da počinje sa x_ i ne sme da sadrži specijalne karaktere !" - -#~ msgid "Current" -#~ msgstr "Trenutni" - -#~ msgid "res.partner.contact" -#~ msgstr "es.partner.contact" - -#~ msgid "Other" -#~ msgstr "Drugo" - -#~ msgid "Partner Seq." -#~ msgstr "Partner Seq." - -#~ msgid "Contact Seq." -#~ msgstr "Seq. Osobe" - -#~ msgid "Phone" -#~ msgstr "Telefon" - -#~ msgid "Defines contacts and functions." -#~ msgstr "Određuje Osobe i Funkcije" - -#~ msgid "Contact to function" -#~ msgstr "Kontakt na funkciju" - -#~ msgid "Invalid model name in the action definition." -#~ msgstr "Pogrešno ime modela u definiciji akcije." - -#~ msgid "Function" -#~ msgstr "Funkcija" - -#~ msgid "Fax" -#~ msgstr "Faks" - -#~ msgid "Additional phone field" -#~ msgstr "Dodatno polje za Tel" - -#~ msgid "# of Contacts" -#~ msgstr "# Kontakata" - -#~ msgid "" -#~ "Order of importance of this job title in the list of job title of the linked " -#~ "partner" -#~ msgstr "" -#~ "redosled važnosti ovog naziva Posla-Radnog mesta u listi naziva Poslova-" -#~ "Radnih mesta povezanog Partnera" - -#~ msgid "" -#~ "Order of importance of this address in the list of addresses of the linked " -#~ "contact" -#~ msgstr "redosled važnosti ove Adrese u listi Adresa povezanog Partnera" - -#~ msgid "Date Stop" -#~ msgstr "Datum Završetka" - -#~ msgid "Contact Functions" -#~ msgstr "Funkcije Osoba" - -#~ msgid "Contact's Jobs" -#~ msgstr "Poslovi kontakta" - -#~ msgid "Address" -#~ msgstr "Adresa" - -#~ msgid "Seq." -#~ msgstr "Sekv." - -#~ msgid "Base Contact Process" -#~ msgstr "Postupak Osnovnog Kontakta" - -#~ msgid "Main Job" -#~ msgstr "Glavni Posao" - -#~ msgid "Categories" -#~ msgstr "Kategorije" - -#~ msgid "Internal/External extension phone number" -#~ msgstr "Interna/Externa Ekstenzija Tel. broja" - -#~ msgid "Extension" -#~ msgstr "Dodatak" - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "Nevažeći XML za pregled arhitekture" - -#~ msgid "Partner Contacts" -#~ msgstr "Kontakti partnera" - -#~ msgid "Function to address" -#~ msgstr "Funkcija na Adresu" - -#~ msgid "State" -#~ msgstr "Stanje" - -#~ msgid "General Information" -#~ msgstr "Opšte informacije" - -#~ msgid "Jobs at a same partner address." -#~ msgstr "Poslovi na istoj Adresi Partnera" - -#~ msgid "Past" -#~ msgstr "Prošlost" - -#~ msgid "Define functions and address." -#~ msgstr "Definisi Funkcije i Adrese" - -#~ msgid "Date Start" -#~ msgstr "Početni datum" - -#~ msgid "" -#~ "Order of importance of this job title in the list of job " -#~ "title of the linked partner" -#~ msgstr "" -#~ "Redosled vaznosti ovog posla na listi naslova poslova linkovanog partnera" - -#~ msgid "Migrate" -#~ msgstr "Migriraj" - -#~ msgid "Status of Address" -#~ msgstr "Status adresa" - -#~ msgid "" -#~ "You may enter Address first,Partner will be linked " -#~ "automatically if any." -#~ msgstr "" -#~ "Mozes upisati prvo Adresu, partner ce biti linkovan automatski ako postoji." - -#~ msgid "Job FAX no." -#~ msgstr "Broj posl. Faksa" - -#~ msgid "Function of this contact with this partner" -#~ msgstr "Funkcija ovog kontakta sa datim partnerom" - -#~ msgid "title" -#~ msgstr "naslov" - -#~ msgid "Start date of job(Joining Date)" -#~ msgstr "Datum pocetka posla ( datum prikljucenja)" - -#~ msgid "Last date of job" -#~ msgstr "Poslednji datum posla" - -#~ msgid "Otherwise these details will not be visible from address/contact." -#~ msgstr "Drugacije ovi detalji nece biti vidljivi iz adresa / kontakta" - -#~ msgid "Communication" -#~ msgstr "Komunikacija" - -#~ msgid "Address which is linked to the Partner" -#~ msgstr "Adresa koja je lonkovana za Partnera" - -#~ msgid "" -#~ "Due to changes in Address and Partner's relation, some of the details from " -#~ "address are needed to be migrated into contact information." -#~ msgstr "" -#~ "Zbog promena u Adresama i Partnerovim relacijama, neki detalji iz adresa " -#~ "treba da se premeste u kontakt informacije." - -#~ msgid "Job E-Mail" -#~ msgstr "Posl.Email" - -#~ msgid "Job Phone no." -#~ msgstr "Br.Posl. Telefon" - -#~ msgid "Search Contact" -#~ msgstr "Pretrazi Kontakt" - -#~ msgid "Image" -#~ msgstr "Slika" - -#~ msgid "Address Migration" -#~ msgstr "Adresa pomeranja" - -#~ msgid "base.contact.installer" -#~ msgstr "base.contact.installer" - -#~ msgid "Open Jobs" -#~ msgstr "Otvoreni Poslovi" - -#~ msgid "Do you want to migrate your Address data in Contact Data?" -#~ msgstr "Da li zelis da pomeris svoje Podatke Adresa u podatke kontakta" - -#~ msgid "If you select this, all addresses will be migrated." -#~ msgstr "Ako ovo selektujes" - -#~ msgid "Configuration Progress" -#~ msgstr "Napredak Konfiguracije" - -#~ msgid "" -#~ "Order of importance of this address in the list of " -#~ "addresses of the linked contact" -#~ msgstr "Redosled vaznosti ovih adresa u listi adresa linkovanog kontakta" diff --git a/addons/base_contact/i18n/sr@latin.po b/addons/base_contact/i18n/sr@latin.po deleted file mode 100644 index d113b9f5b66..00000000000 --- a/addons/base_contact/i18n/sr@latin.po +++ /dev/null @@ -1,469 +0,0 @@ -# Serbian latin translation for openobject-addons -# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 -# This file is distributed under the same license as the openobject-addons package. -# FIRST AUTHOR <EMAIL@ADDRESS>, 2010. -# -msgid "" -msgstr "" -"Project-Id-Version: openobject-addons\n" -"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2012-02-08 00:36+0000\n" -"PO-Revision-Date: 2012-01-20 15:52+0000\n" -"Last-Translator: Milan Milosevic <Unknown>\n" -"Language-Team: Serbian latin <sr@latin@li.org>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-02-09 06:14+0000\n" -"X-Generator: Launchpad (build 14763)\n" - -#. module: base_contact -#: field:res.partner.location,city:0 -msgid "City" -msgstr "Grad" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "First/Lastname" -msgstr "Ime/prezime" - -#. module: base_contact -#: model:ir.actions.act_window,name:base_contact.action_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_purchases_partner_contact_form -#: model:process.node,name:base_contact.process_node_contacts0 -#: field:res.partner.location,job_ids:0 -msgid "Contacts" -msgstr "Kontakti" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Professional Info" -msgstr "Profesionlne informacije" - -#. module: base_contact -#: field:res.partner.contact,first_name:0 -msgid "First Name" -msgstr "Ime" - -#. module: base_contact -#: field:res.partner.address,location_id:0 -msgid "Location" -msgstr "Mesto" - -#. module: base_contact -#: model:process.transition,name:base_contact.process_transition_partnertoaddress0 -msgid "Partner to address" -msgstr "Partner na adresu" - -#. module: base_contact -#: help:res.partner.contact,active:0 -msgid "" -"If the active field is set to False, it will allow you to " -"hide the partner contact without removing it." -msgstr "" -"Ako je aktivno polje podešeno na ''Lažno'' (false), omogućiće Vam da " -"sakrijete partnera a da ga ne izbrišete." - -#. module: base_contact -#: field:res.partner.contact,website:0 -msgid "Website" -msgstr "Internet stranica" - -#. module: base_contact -#: field:res.partner.location,zip:0 -msgid "Zip" -msgstr "Poštanski broj" - -#. module: base_contact -#: field:res.partner.location,state_id:0 -msgid "Fed. State" -msgstr "Federalna država" - -#. module: base_contact -#: field:res.partner.location,company_id:0 -msgid "Company" -msgstr "Preduzeće" - -#. module: base_contact -#: field:res.partner.contact,title:0 -msgid "Title" -msgstr "Naslov" - -#. module: base_contact -#: field:res.partner.location,partner_id:0 -msgid "Main Partner" -msgstr "Glavni partner" - -#. module: base_contact -#: model:process.process,name:base_contact.process_process_basecontactprocess0 -msgid "Base Contact" -msgstr "Osnovni kontakt" - -#. module: base_contact -#: field:res.partner.contact,email:0 -msgid "E-Mail" -msgstr "E‑pošta:" - -#. module: base_contact -#: field:res.partner.contact,active:0 -msgid "Active" -msgstr "Aktivan" - -#. module: base_contact -#: field:res.partner.contact,country_id:0 -msgid "Nationality" -msgstr "Nacionalnost" - -#. module: base_contact -#: view:res.partner:0 -#: view:res.partner.address:0 -msgid "Postal Address" -msgstr "Postanska adresa" - -#. module: base_contact -#: field:res.partner.contact,function:0 -msgid "Main Function" -msgstr "Glavna funkcija" - -#. module: base_contact -#: model:process.transition,note:base_contact.process_transition_partnertoaddress0 -msgid "Define partners and their addresses." -msgstr "Definiši partnere i njihove adrese" - -#. module: base_contact -#: field:res.partner.contact,name:0 -msgid "Name" -msgstr "Ime" - -#. module: base_contact -#: field:res.partner.contact,lang_id:0 -msgid "Language" -msgstr "Jezik" - -#. module: base_contact -#: field:res.partner.contact,mobile:0 -msgid "Mobile" -msgstr "Mobilni" - -#. module: base_contact -#: field:res.partner.location,country_id:0 -msgid "Country" -msgstr "Država" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,comment:0 -msgid "Notes" -msgstr "Napomene" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_contacts0 -msgid "People you work with." -msgstr "Ljudi s kojima radite." - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Extra Information" -msgstr "Dodatne informacije" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,job_ids:0 -msgid "Functions and Addresses" -msgstr "Funkcije i adrese" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_contact -#: field:res.partner.address,contact_id:0 -msgid "Contact" -msgstr "Kontakt" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_location -msgid "res.partner.location" -msgstr "res.partner.location" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_partners0 -msgid "Companies you work with." -msgstr "Preduzeća s kojima radite." - -#. module: base_contact -#: field:res.partner.contact,partner_id:0 -msgid "Main Employer" -msgstr "Glavni poslodavac" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner Contact" -msgstr "Kontakt partnera" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_addresses0 -msgid "Addresses" -msgstr "Adrese" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_addresses0 -msgid "Working and private addresses." -msgstr "Adrese na radu i privatne adrese." - -#. module: base_contact -#: field:res.partner.contact,last_name:0 -msgid "Last Name" -msgstr "Prezime" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,photo:0 -msgid "Photo" -msgstr "Fotografija" - -#. module: base_contact -#: view:res.partner.location:0 -msgid "Locations" -msgstr "Mesta" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "General" -msgstr "Opšte" - -#. module: base_contact -#: field:res.partner.location,street:0 -msgid "Street" -msgstr "Ulica" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner" -msgstr "Partner" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_partners0 -msgid "Partners" -msgstr "Partneri" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_address -msgid "Partner Addresses" -msgstr "Partnerove adrese" - -#. module: base_contact -#: field:res.partner.location,street2:0 -msgid "Street2" -msgstr "Ulica2" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Personal Information" -msgstr "Lični podaci" - -#. module: base_contact -#: field:res.partner.contact,birthdate:0 -msgid "Birth Date" -msgstr "Datum rođenja" - -#~ msgid "Invalid model name in the action definition." -#~ msgstr "Pogrešno ime modela u definiciji akcije." - -#~ msgid "# of Contacts" -#~ msgstr "# Kontakata" - -#~ msgid "Fax" -#~ msgstr "Faks" - -#~ msgid "title" -#~ msgstr "naslov" - -#~ msgid "Start date of job(Joining Date)" -#~ msgstr "Datum pocetka posla ( datum prikljucenja)" - -#~ msgid "Function of this contact with this partner" -#~ msgstr "Funkcija ovog kontakta sa datim partnerom" - -#~ msgid "Status of Address" -#~ msgstr "Status adresa" - -#~ msgid "" -#~ "You may enter Address first,Partner will be linked " -#~ "automatically if any." -#~ msgstr "" -#~ "Mozes upisati prvo Adresu, partner ce biti linkovan automatski ako postoji." - -#~ msgid "Job FAX no." -#~ msgstr "Broj posl. Faksa" - -#~ msgid "Define functions and address." -#~ msgstr "Definisi Funkcije i Adrese" - -#~ msgid "Last date of job" -#~ msgstr "Poslednji datum posla" - -#~ msgid "Migrate" -#~ msgstr "Migriraj" - -#~ msgid "Jobs at a same partner address." -#~ msgstr "Poslovi na istoj Adresi Partnera" - -#~ msgid "Partner Function" -#~ msgstr "Funkcija Partnera" - -#~ msgid "State" -#~ msgstr "Stanje" - -#~ msgid "Date Stop" -#~ msgstr "Datum Završetka" - -#~ msgid "Contact's Jobs" -#~ msgstr "Poslovi kontakta" - -#~ msgid "Categories" -#~ msgstr "Kategorije" - -#~ msgid "" -#~ "Order of importance of this job title in the list of job " -#~ "title of the linked partner" -#~ msgstr "" -#~ "Redosled vaznosti ovog posla na listi naslova poslova linkovanog partnera" - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "Nevažeći XML za pregled arhitekture" - -#~ msgid "Extension" -#~ msgstr "Dodatak" - -#~ msgid "Internal/External extension phone number" -#~ msgstr "Interna/Externa Ekstenzija Tel. broja" - -#~ msgid "Job Phone no." -#~ msgstr "Br.Posl. Telefon" - -#~ msgid "Job E-Mail" -#~ msgstr "Posl.Email" - -#~ msgid "Partner Seq." -#~ msgstr "Partner Seq." - -#~ msgid "Function to address" -#~ msgstr "Funkcija na Adresu" - -#~ msgid "Communication" -#~ msgstr "Komunikacija" - -#~ msgid "Image" -#~ msgstr "Slika" - -#~ msgid "Past" -#~ msgstr "Prošlost" - -#~ msgid "Contact Seq." -#~ msgstr "Seq. Osobe" - -#~ msgid "Search Contact" -#~ msgstr "Pretrazi Kontakt" - -#~ msgid "" -#~ "Due to changes in Address and Partner's relation, some of the details from " -#~ "address are needed to be migrated into contact information." -#~ msgstr "" -#~ "Zbog promena u Adresama i Partnerovim relacijama, neki detalji iz adresa " -#~ "treba da se premeste u kontakt informacije." - -#~ msgid "Address which is linked to the Partner" -#~ msgstr "Adresa koja je lonkovana za Partnera" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "" -#~ "Ime objekta mora da počinje sa x_ i ne sme da sadrži specijalne karaktere !" - -#~ msgid "Additional phone field" -#~ msgstr "Dodatno polje za Tel" - -#~ msgid "Otherwise these details will not be visible from address/contact." -#~ msgstr "Drugacije ovi detalji nece biti vidljivi iz adresa / kontakta" - -#~ msgid "Configuration Progress" -#~ msgstr "Napredak Konfiguracije" - -#~ msgid "base.contact.installer" -#~ msgstr "base.contact.installer" - -#~ msgid "Contact Functions" -#~ msgstr "Funkcije Osoba" - -#~ msgid "Phone" -#~ msgstr "Telefon" - -#~ msgid "Do you want to migrate your Address data in Contact Data?" -#~ msgstr "Da li zelis da pomeris svoje Podatke Adresa u podatke kontakta" - -#~ msgid "Seq." -#~ msgstr "Sekv." - -#~ msgid "If you select this, all addresses will be migrated." -#~ msgstr "Ako ovo selektujes" - -#~ msgid "Current" -#~ msgstr "Trenutni" - -#~ msgid "Contact Partner Function" -#~ msgstr "Funkcija Kontakta Partnera" - -#~ msgid "Other" -#~ msgstr "Drugo" - -#~ msgid "Function" -#~ msgstr "Funkcija" - -#~ msgid "Main Job" -#~ msgstr "Glavni Posao" - -#~ msgid "Defines contacts and functions." -#~ msgstr "Određuje Osobe i Funkcije" - -#~ msgid "Contact to function" -#~ msgstr "Kontakt na funkciju" - -#~ msgid "Address" -#~ msgstr "Adresa" - -#~ msgid "Open Jobs" -#~ msgstr "Otvoreni Poslovi" - -#~ msgid "Address Migration" -#~ msgstr "Adresa pomeranja" - -#~ msgid "Date Start" -#~ msgstr "Početni datum" - -#~ msgid "" -#~ "Order of importance of this address in the list of " -#~ "addresses of the linked contact" -#~ msgstr "Redosled vaznosti ovih adresa u listi adresa linkovanog kontakta" - -#~ msgid "res.partner.contact" -#~ msgstr "es.partner.contact" - -#~ msgid "" -#~ "Order of importance of this job title in the list of job title of the linked " -#~ "partner" -#~ msgstr "" -#~ "redosled važnosti ovog naziva Posla-Radnog mesta u listi naziva Poslova-" -#~ "Radnih mesta povezanog Partnera" - -#~ msgid "" -#~ "Order of importance of this address in the list of addresses of the linked " -#~ "contact" -#~ msgstr "redosled važnosti ove Adrese u listi Adresa povezanog Partnera" - -#~ msgid "Base Contact Process" -#~ msgstr "Postupak Osnovnog Kontakta" - -#~ msgid "Partner Contacts" -#~ msgstr "Kontakti partnera" - -#~ msgid "General Information" -#~ msgstr "Opšte informacije" diff --git a/addons/base_contact/i18n/sv.po b/addons/base_contact/i18n/sv.po deleted file mode 100644 index d2c31db2c9c..00000000000 --- a/addons/base_contact/i18n/sv.po +++ /dev/null @@ -1,438 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * base_contact -# -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 5.0.14\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2012-02-08 00:36+0000\n" -"PO-Revision-Date: 2010-12-12 09:27+0000\n" -"Last-Translator: OpenERP Administrators <Unknown>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-02-09 06:14+0000\n" -"X-Generator: Launchpad (build 14763)\n" - -#. module: base_contact -#: field:res.partner.location,city:0 -msgid "City" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "First/Lastname" -msgstr "" - -#. module: base_contact -#: model:ir.actions.act_window,name:base_contact.action_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_purchases_partner_contact_form -#: model:process.node,name:base_contact.process_node_contacts0 -#: field:res.partner.location,job_ids:0 -msgid "Contacts" -msgstr "Kontakter" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Professional Info" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,first_name:0 -msgid "First Name" -msgstr "Förnamn" - -#. module: base_contact -#: field:res.partner.address,location_id:0 -msgid "Location" -msgstr "" - -#. module: base_contact -#: model:process.transition,name:base_contact.process_transition_partnertoaddress0 -msgid "Partner to address" -msgstr "Företag till adress" - -#. module: base_contact -#: help:res.partner.contact,active:0 -msgid "" -"If the active field is set to False, it will allow you to " -"hide the partner contact without removing it." -msgstr "" -"Kontakten kab gömmas utan att du behöver ta bort den om du markeras denna." - -#. module: base_contact -#: field:res.partner.contact,website:0 -msgid "Website" -msgstr "Webbplats" - -#. module: base_contact -#: field:res.partner.location,zip:0 -msgid "Zip" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,state_id:0 -msgid "Fed. State" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,company_id:0 -msgid "Company" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,title:0 -msgid "Title" -msgstr "Titel" - -#. module: base_contact -#: field:res.partner.location,partner_id:0 -msgid "Main Partner" -msgstr "" - -#. module: base_contact -#: model:process.process,name:base_contact.process_process_basecontactprocess0 -msgid "Base Contact" -msgstr "Huvudkontakt" - -#. module: base_contact -#: field:res.partner.contact,email:0 -msgid "E-Mail" -msgstr "E-post" - -#. module: base_contact -#: field:res.partner.contact,active:0 -msgid "Active" -msgstr "Aktiv" - -#. module: base_contact -#: field:res.partner.contact,country_id:0 -msgid "Nationality" -msgstr "Medborgarskap" - -#. module: base_contact -#: view:res.partner:0 -#: view:res.partner.address:0 -msgid "Postal Address" -msgstr "Postadress" - -#. module: base_contact -#: field:res.partner.contact,function:0 -msgid "Main Function" -msgstr "Huvudfunktion" - -#. module: base_contact -#: model:process.transition,note:base_contact.process_transition_partnertoaddress0 -msgid "Define partners and their addresses." -msgstr "Definiera företag och deras adress." - -#. module: base_contact -#: field:res.partner.contact,name:0 -msgid "Name" -msgstr "Namn" - -#. module: base_contact -#: field:res.partner.contact,lang_id:0 -msgid "Language" -msgstr "Språk" - -#. module: base_contact -#: field:res.partner.contact,mobile:0 -msgid "Mobile" -msgstr "Mobil" - -#. module: base_contact -#: field:res.partner.location,country_id:0 -msgid "Country" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,comment:0 -msgid "Notes" -msgstr "Anteckningar" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_contacts0 -msgid "People you work with." -msgstr "Personer du arbetar med." - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Extra Information" -msgstr "Extra information" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,job_ids:0 -msgid "Functions and Addresses" -msgstr "Funktion och adress" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_contact -#: field:res.partner.address,contact_id:0 -msgid "Contact" -msgstr "Kontakt" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_location -msgid "res.partner.location" -msgstr "" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_partners0 -msgid "Companies you work with." -msgstr "Företag du arbetar med." - -#. module: base_contact -#: field:res.partner.contact,partner_id:0 -msgid "Main Employer" -msgstr "Huvudarbetsgivare" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner Contact" -msgstr "Företagskontakt" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_addresses0 -msgid "Addresses" -msgstr "Adresser" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_addresses0 -msgid "Working and private addresses." -msgstr "Arbets- och privatadresser." - -#. module: base_contact -#: field:res.partner.contact,last_name:0 -msgid "Last Name" -msgstr "Efternamn" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,photo:0 -msgid "Photo" -msgstr "Bild" - -#. module: base_contact -#: view:res.partner.location:0 -msgid "Locations" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "General" -msgstr "Allmänt" - -#. module: base_contact -#: field:res.partner.location,street:0 -msgid "Street" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner" -msgstr "Företag" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_partners0 -msgid "Partners" -msgstr "Företag" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_address -msgid "Partner Addresses" -msgstr "Företagsadress" - -#. module: base_contact -#: field:res.partner.location,street2:0 -msgid "Street2" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Personal Information" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,birthdate:0 -msgid "Birth Date" -msgstr "Födelsedatum" - -#~ msgid "Current" -#~ msgstr "Aktuell" - -#~ msgid "Phone" -#~ msgstr "Telefon" - -#~ msgid "Function" -#~ msgstr "Funktion" - -#~ msgid "Date Stop" -#~ msgstr "Slutdatum" - -#~ msgid "Categories" -#~ msgstr "Kategorier" - -#~ msgid "Address" -#~ msgstr "Adress" - -#~ msgid "General Information" -#~ msgstr "Allmän information" - -#~ msgid "State" -#~ msgstr "Delstat/Region/Län" - -#~ msgid "Date Start" -#~ msgstr "Startdatum" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "" -#~ "Objektnamnet måste börja med x_ och får inte innehålla några specialtecken!" - -#~ msgid "Contact to function" -#~ msgstr "Kontakt till funktion" - -#~ msgid "Other" -#~ msgstr "Övrigt" - -#~ msgid "Fax" -#~ msgstr "Fax" - -#~ msgid "Extension" -#~ msgstr "Filändelse" - -#~ msgid "Define functions and address." -#~ msgstr "Skapa funktion och adress." - -#~ msgid "Contact Functions" -#~ msgstr "Kontaktfunktion" - -#~ msgid "Defines contacts and functions." -#~ msgstr "Skapa kontakter och funktioner." - -#~ msgid "Additional phone field" -#~ msgstr "Extra telefonfält" - -#~ msgid "Contact's Jobs" -#~ msgstr "Kontakts arbete" - -#~ msgid "Main Job" -#~ msgstr "Huvud arbete" - -#~ msgid "Function to address" -#~ msgstr "Funktion till adress" - -#~ msgid "Past" -#~ msgstr "Tidigare" - -#~ msgid "Seq." -#~ msgstr "Sek." - -#~ msgid "Base Contact Process" -#~ msgstr "Process för grundkontakt" - -#~ msgid "Internal/External extension phone number" -#~ msgstr "Intern/Extern telefonanknytning" - -#~ msgid "res.partner.contact" -#~ msgstr "res.partner.contact" - -#~ msgid "Contact Seq." -#~ msgstr "Kontakt Sek." - -#~ msgid "" -#~ "Order of importance of this job title in the list of job title of the linked " -#~ "partner" -#~ msgstr "Arbetstitelordning" - -#~ msgid "" -#~ "Order of importance of this address in the list of addresses of the linked " -#~ "contact" -#~ msgstr "Adressordning" - -#~ msgid "Partner Function" -#~ msgstr "Företagsfunktion" - -#~ msgid "Partner Seq." -#~ msgstr "Företagsserienummer" - -#~ msgid "Contact Partner Function" -#~ msgstr "Kontakt företag funktion" - -#~ msgid "# of Contacts" -#~ msgstr "Antal kontakter" - -#~ msgid "Partner Contacts" -#~ msgstr "Företagskontakt" - -#~ msgid "Jobs at a same partner address." -#~ msgstr "Arbeten på samma företagsadress." - -#~ msgid "Invalid model name in the action definition." -#~ msgstr "Invalid model name in the action definition." - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "Invalid XML for View Architecture!" - -#~ msgid "Otherwise these details will not be visible from address/contact." -#~ msgstr "Annars kommer dessa uppgifter inte synas från adress/kontakt" - -#~ msgid "Search Contact" -#~ msgstr "Sök kontakt" - -#~ msgid "Status of Address" -#~ msgstr "Adressstatus" - -#~ msgid "Job Phone no." -#~ msgstr "Arbetstelefonnr." - -#~ msgid "Last date of job" -#~ msgstr "Senaste arbetsdatum" - -#~ msgid "Job E-Mail" -#~ msgstr "Arbetsepost" - -#~ msgid "Migrate" -#~ msgstr "Flytta" - -#~ msgid "Address which is linked to the Partner" -#~ msgstr "Adressen som är kopplad till företaget" - -#~ msgid "Image" -#~ msgstr "Bild" - -#~ msgid "Communication" -#~ msgstr "Kommunikation" - -#~ msgid "title" -#~ msgstr "titel" - -#~ msgid "Start date of job(Joining Date)" -#~ msgstr "Anställningens startdatum" - -#~ msgid "Address Migration" -#~ msgstr "Adressmigrering" - -#~ msgid "" -#~ "You may enter Address first,Partner will be linked " -#~ "automatically if any." -#~ msgstr "" -#~ "Du kan registrera adressen först, företaget kopplas automatiskt om det finns." - -#~ msgid "Open Jobs" -#~ msgstr "Öppna arbeten" - -#~ msgid "Do you want to migrate your Address data in Contact Data?" -#~ msgstr "Vill du flytta din adress i kontaktinformationen" - -#~ msgid "If you select this, all addresses will be migrated." -#~ msgstr "Om du väljer denna så kommer alla adresser flyttas" - -#~ msgid "Configuration Progress" -#~ msgstr "Konfigurationsförlopp" diff --git a/addons/base_contact/i18n/th.po b/addons/base_contact/i18n/th.po deleted file mode 100644 index 1330797a936..00000000000 --- a/addons/base_contact/i18n/th.po +++ /dev/null @@ -1,318 +0,0 @@ -# Thai translation for openobject-addons -# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 -# This file is distributed under the same license as the openobject-addons package. -# FIRST AUTHOR <EMAIL@ADDRESS>, 2011. -# -msgid "" -msgstr "" -"Project-Id-Version: openobject-addons\n" -"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2012-02-08 00:36+0000\n" -"PO-Revision-Date: 2011-01-15 09:34+0000\n" -"Last-Translator: Rungsan Suyala <rungsan@gmail.com>\n" -"Language-Team: Thai <th@li.org>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-02-09 06:14+0000\n" -"X-Generator: Launchpad (build 14763)\n" - -#. module: base_contact -#: field:res.partner.location,city:0 -msgid "City" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "First/Lastname" -msgstr "" - -#. module: base_contact -#: model:ir.actions.act_window,name:base_contact.action_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_purchases_partner_contact_form -#: model:process.node,name:base_contact.process_node_contacts0 -#: field:res.partner.location,job_ids:0 -msgid "Contacts" -msgstr "ผู้ติดต่อ" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Professional Info" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,first_name:0 -msgid "First Name" -msgstr "ชื่อ" - -#. module: base_contact -#: field:res.partner.address,location_id:0 -msgid "Location" -msgstr "" - -#. module: base_contact -#: model:process.transition,name:base_contact.process_transition_partnertoaddress0 -msgid "Partner to address" -msgstr "" - -#. module: base_contact -#: help:res.partner.contact,active:0 -msgid "" -"If the active field is set to False, it will allow you to " -"hide the partner contact without removing it." -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,website:0 -msgid "Website" -msgstr "เว็บไซต์" - -#. module: base_contact -#: field:res.partner.location,zip:0 -msgid "Zip" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,state_id:0 -msgid "Fed. State" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,company_id:0 -msgid "Company" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,title:0 -msgid "Title" -msgstr "คำนำหน้าชื่อ" - -#. module: base_contact -#: field:res.partner.location,partner_id:0 -msgid "Main Partner" -msgstr "" - -#. module: base_contact -#: model:process.process,name:base_contact.process_process_basecontactprocess0 -msgid "Base Contact" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,email:0 -msgid "E-Mail" -msgstr "อีเมล์" - -#. module: base_contact -#: field:res.partner.contact,active:0 -msgid "Active" -msgstr "เปิดใช้งาน" - -#. module: base_contact -#: field:res.partner.contact,country_id:0 -msgid "Nationality" -msgstr "สัญชาติ" - -#. module: base_contact -#: view:res.partner:0 -#: view:res.partner.address:0 -msgid "Postal Address" -msgstr "ที่อยู่ทางไปรษณีย์" - -#. module: base_contact -#: field:res.partner.contact,function:0 -msgid "Main Function" -msgstr "ฟังก์ชั่นหลัก" - -#. module: base_contact -#: model:process.transition,note:base_contact.process_transition_partnertoaddress0 -msgid "Define partners and their addresses." -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,name:0 -msgid "Name" -msgstr "ชื่อ" - -#. module: base_contact -#: field:res.partner.contact,lang_id:0 -msgid "Language" -msgstr "ภาษา" - -#. module: base_contact -#: field:res.partner.contact,mobile:0 -msgid "Mobile" -msgstr "โทรศัพท์มือถือ" - -#. module: base_contact -#: field:res.partner.location,country_id:0 -msgid "Country" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,comment:0 -msgid "Notes" -msgstr "บันทึก" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_contacts0 -msgid "People you work with." -msgstr "บุคคลที่คุณทำงานด้วย" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Extra Information" -msgstr "ข้อมูลเพิ่มเติม" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,job_ids:0 -msgid "Functions and Addresses" -msgstr "หน้าที่และที่อยู่" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_contact -#: field:res.partner.address,contact_id:0 -msgid "Contact" -msgstr "ชื่อผู้ติดต่อ" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_location -msgid "res.partner.location" -msgstr "" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_partners0 -msgid "Companies you work with." -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,partner_id:0 -msgid "Main Employer" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner Contact" -msgstr "" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_addresses0 -msgid "Addresses" -msgstr "ที่อยู่" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_addresses0 -msgid "Working and private addresses." -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,last_name:0 -msgid "Last Name" -msgstr "นามสกุล" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,photo:0 -msgid "Photo" -msgstr "รูปภาพ" - -#. module: base_contact -#: view:res.partner.location:0 -msgid "Locations" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "General" -msgstr "ทั่วไป" - -#. module: base_contact -#: field:res.partner.location,street:0 -msgid "Street" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner" -msgstr "" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_partners0 -msgid "Partners" -msgstr "" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_address -msgid "Partner Addresses" -msgstr "ที่อยู่พาร์ตเนอร์" - -#. module: base_contact -#: field:res.partner.location,street2:0 -msgid "Street2" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Personal Information" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,birthdate:0 -msgid "Birth Date" -msgstr "วันเกิด" - -#~ msgid "title" -#~ msgstr "คำนำหน้าชื่อ" - -#~ msgid "Fax" -#~ msgstr "โทรสาร" - -#~ msgid "Migrate" -#~ msgstr "ย้าย" - -#~ msgid "State" -#~ msgstr "สถานะ" - -#~ msgid "Categories" -#~ msgstr "ประเภท" - -#~ msgid "Date Stop" -#~ msgstr "วันสิ้นสุด" - -#~ msgid "Extension" -#~ msgstr "ส่วนขยาย" - -#~ msgid "Communication" -#~ msgstr "การติดต่อสื่อสาร" - -#~ msgid "Image" -#~ msgstr "รูปภาพ" - -#~ msgid "Search Contact" -#~ msgstr "ค้นหาผู้ติดต่อ" - -#~ msgid "Phone" -#~ msgstr "โทรศัพท์" - -#~ msgid "Configure" -#~ msgstr "ตั้งค่า" - -#~ msgid "Other" -#~ msgstr "อื่นๆ" - -#~ msgid "Function" -#~ msgstr "ฟังก์ชั่น" - -#~ msgid "Address" -#~ msgstr "ที่อยู่" - -#~ msgid "Date Start" -#~ msgstr "วันเริ่มต้น" - -#~ msgid "Define functions and address." -#~ msgstr "ระบุหน้าที่และที่อยู่" - -#~ msgid "Current" -#~ msgstr "ปัจจุบัน" diff --git a/addons/base_contact/i18n/tlh.po b/addons/base_contact/i18n/tlh.po deleted file mode 100644 index c7ff0c02928..00000000000 --- a/addons/base_contact/i18n/tlh.po +++ /dev/null @@ -1,263 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * base_contact -# -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 6.0dev_rc3\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2012-02-08 00:36+0000\n" -"PO-Revision-Date: 2009-02-03 06:25+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-02-09 06:14+0000\n" -"X-Generator: Launchpad (build 14763)\n" - -#. module: base_contact -#: field:res.partner.location,city:0 -msgid "City" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "First/Lastname" -msgstr "" - -#. module: base_contact -#: model:ir.actions.act_window,name:base_contact.action_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_purchases_partner_contact_form -#: model:process.node,name:base_contact.process_node_contacts0 -#: field:res.partner.location,job_ids:0 -msgid "Contacts" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Professional Info" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,first_name:0 -msgid "First Name" -msgstr "" - -#. module: base_contact -#: field:res.partner.address,location_id:0 -msgid "Location" -msgstr "" - -#. module: base_contact -#: model:process.transition,name:base_contact.process_transition_partnertoaddress0 -msgid "Partner to address" -msgstr "" - -#. module: base_contact -#: help:res.partner.contact,active:0 -msgid "" -"If the active field is set to False, it will allow you to " -"hide the partner contact without removing it." -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,website:0 -msgid "Website" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,zip:0 -msgid "Zip" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,state_id:0 -msgid "Fed. State" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,company_id:0 -msgid "Company" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,title:0 -msgid "Title" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,partner_id:0 -msgid "Main Partner" -msgstr "" - -#. module: base_contact -#: model:process.process,name:base_contact.process_process_basecontactprocess0 -msgid "Base Contact" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,email:0 -msgid "E-Mail" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,active:0 -msgid "Active" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,country_id:0 -msgid "Nationality" -msgstr "" - -#. module: base_contact -#: view:res.partner:0 -#: view:res.partner.address:0 -msgid "Postal Address" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,function:0 -msgid "Main Function" -msgstr "" - -#. module: base_contact -#: model:process.transition,note:base_contact.process_transition_partnertoaddress0 -msgid "Define partners and their addresses." -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,name:0 -msgid "Name" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,lang_id:0 -msgid "Language" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,mobile:0 -msgid "Mobile" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,country_id:0 -msgid "Country" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,comment:0 -msgid "Notes" -msgstr "" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_contacts0 -msgid "People you work with." -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Extra Information" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,job_ids:0 -msgid "Functions and Addresses" -msgstr "" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_contact -#: field:res.partner.address,contact_id:0 -msgid "Contact" -msgstr "" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_location -msgid "res.partner.location" -msgstr "" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_partners0 -msgid "Companies you work with." -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,partner_id:0 -msgid "Main Employer" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner Contact" -msgstr "" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_addresses0 -msgid "Addresses" -msgstr "" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_addresses0 -msgid "Working and private addresses." -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,last_name:0 -msgid "Last Name" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,photo:0 -msgid "Photo" -msgstr "" - -#. module: base_contact -#: view:res.partner.location:0 -msgid "Locations" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "General" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,street:0 -msgid "Street" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner" -msgstr "" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_partners0 -msgid "Partners" -msgstr "" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_address -msgid "Partner Addresses" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,street2:0 -msgid "Street2" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Personal Information" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,birthdate:0 -msgid "Birth Date" -msgstr "" diff --git a/addons/base_contact/i18n/tr.po b/addons/base_contact/i18n/tr.po deleted file mode 100644 index b3a69a3b419..00000000000 --- a/addons/base_contact/i18n/tr.po +++ /dev/null @@ -1,490 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * base_contact -# -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 6.0dev\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2012-02-08 00:36+0000\n" -"PO-Revision-Date: 2012-01-23 21:56+0000\n" -"Last-Translator: Ahmet Altınışık <Unknown>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-02-09 06:14+0000\n" -"X-Generator: Launchpad (build 14763)\n" - -#. module: base_contact -#: field:res.partner.location,city:0 -msgid "City" -msgstr "Şehir" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "First/Lastname" -msgstr "Ad/Soyad" - -#. module: base_contact -#: model:ir.actions.act_window,name:base_contact.action_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_purchases_partner_contact_form -#: model:process.node,name:base_contact.process_node_contacts0 -#: field:res.partner.location,job_ids:0 -msgid "Contacts" -msgstr "İlgililer" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Professional Info" -msgstr "Profesyonel Bilgiler" - -#. module: base_contact -#: field:res.partner.contact,first_name:0 -msgid "First Name" -msgstr "Ad" - -#. module: base_contact -#: field:res.partner.address,location_id:0 -msgid "Location" -msgstr "Yer" - -#. module: base_contact -#: model:process.transition,name:base_contact.process_transition_partnertoaddress0 -msgid "Partner to address" -msgstr "Adreslenecek Paydaş" - -#. module: base_contact -#: help:res.partner.contact,active:0 -msgid "" -"If the active field is set to False, it will allow you to " -"hide the partner contact without removing it." -msgstr "" -"Eğer aktif alan hayır olarak ayarlanmışsa, paydaşın adresini silmeden " -"gizleyebilirsiniz." - -#. module: base_contact -#: field:res.partner.contact,website:0 -msgid "Website" -msgstr "Web Sitesi" - -#. module: base_contact -#: field:res.partner.location,zip:0 -msgid "Zip" -msgstr "Posta Kodu" - -#. module: base_contact -#: field:res.partner.location,state_id:0 -msgid "Fed. State" -msgstr "Fed. Eyalet" - -#. module: base_contact -#: field:res.partner.location,company_id:0 -msgid "Company" -msgstr "Şirket" - -#. module: base_contact -#: field:res.partner.contact,title:0 -msgid "Title" -msgstr "Unvan" - -#. module: base_contact -#: field:res.partner.location,partner_id:0 -msgid "Main Partner" -msgstr "Ana Cari" - -#. module: base_contact -#: model:process.process,name:base_contact.process_process_basecontactprocess0 -msgid "Base Contact" -msgstr "Temel İlgili" - -#. module: base_contact -#: field:res.partner.contact,email:0 -msgid "E-Mail" -msgstr "E-posta" - -#. module: base_contact -#: field:res.partner.contact,active:0 -msgid "Active" -msgstr "Etkin" - -#. module: base_contact -#: field:res.partner.contact,country_id:0 -msgid "Nationality" -msgstr "Uyruk" - -#. module: base_contact -#: view:res.partner:0 -#: view:res.partner.address:0 -msgid "Postal Address" -msgstr "Posta Adresi" - -#. module: base_contact -#: field:res.partner.contact,function:0 -msgid "Main Function" -msgstr "Ana Görev" - -#. module: base_contact -#: model:process.transition,note:base_contact.process_transition_partnertoaddress0 -msgid "Define partners and their addresses." -msgstr "Paydaşları ve adreslerini tanımla" - -#. module: base_contact -#: field:res.partner.contact,name:0 -msgid "Name" -msgstr "Ad" - -#. module: base_contact -#: field:res.partner.contact,lang_id:0 -msgid "Language" -msgstr "Dil" - -#. module: base_contact -#: field:res.partner.contact,mobile:0 -msgid "Mobile" -msgstr "Gsm No" - -#. module: base_contact -#: field:res.partner.location,country_id:0 -msgid "Country" -msgstr "Ülke" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,comment:0 -msgid "Notes" -msgstr "Notlar" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_contacts0 -msgid "People you work with." -msgstr "Birlikte Çalıştığınız Kişiler" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Extra Information" -msgstr "Ek Bilgi" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,job_ids:0 -msgid "Functions and Addresses" -msgstr "Görevler ve Adresleri" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_contact -#: field:res.partner.address,contact_id:0 -msgid "Contact" -msgstr "İlgili" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_location -msgid "res.partner.location" -msgstr "res.partner.location" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_partners0 -msgid "Companies you work with." -msgstr "Birlikte çalıştığınız firmalar" - -#. module: base_contact -#: field:res.partner.contact,partner_id:0 -msgid "Main Employer" -msgstr "Ana İşveren" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner Contact" -msgstr "Paydaş İlgilisi" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_addresses0 -msgid "Addresses" -msgstr "Adresler" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_addresses0 -msgid "Working and private addresses." -msgstr "İş ve Özel Adresler" - -#. module: base_contact -#: field:res.partner.contact,last_name:0 -msgid "Last Name" -msgstr "Soyadı" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,photo:0 -msgid "Photo" -msgstr "Foto" - -#. module: base_contact -#: view:res.partner.location:0 -msgid "Locations" -msgstr "Lokasyonlar" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "General" -msgstr "Genel" - -#. module: base_contact -#: field:res.partner.location,street:0 -msgid "Street" -msgstr "Sokak" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner" -msgstr "Paydaş" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_partners0 -msgid "Partners" -msgstr "Paydaşlar" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_address -msgid "Partner Addresses" -msgstr "Paydaş Adresleri" - -#. module: base_contact -#: field:res.partner.location,street2:0 -msgid "Street2" -msgstr "Sokak2" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Personal Information" -msgstr "Kişisel Bilgiler" - -#. module: base_contact -#: field:res.partner.contact,birthdate:0 -msgid "Birth Date" -msgstr "Doğum Tarihi" - -#~ msgid "Phone" -#~ msgstr "Telefon" - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "Görüntüleme mimarisi için Geçersiz XML" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "Nesne adı x_ ile başlamalı ve özel karakterler içermemelidir!" - -#~ msgid "res.partner.contact" -#~ msgstr "res.partner.contact" - -#~ msgid "Other" -#~ msgstr "Diğer" - -#~ msgid "# of Contacts" -#~ msgstr "İlgili Sayısı" - -#~ msgid "Date Stop" -#~ msgstr "Durma Tarihi" - -#~ msgid "Address" -#~ msgstr "Adres" - -#~ msgid "Categories" -#~ msgstr "Kategoriler" - -#~ msgid "Seq." -#~ msgstr "Sıra" - -#~ msgid "Partner Contacts" -#~ msgstr "Cari İletişimleri" - -#~ msgid "State" -#~ msgstr "Durum" - -#~ msgid "Past" -#~ msgstr "Geçmiş" - -#~ msgid "General Information" -#~ msgstr "Genel Bilgiler" - -#~ msgid "Fax" -#~ msgstr "Faks" - -#~ msgid "Status of Address" -#~ msgstr "Adres Durumu" - -#~ msgid "Job Phone no." -#~ msgstr "İş Telefon No" - -#~ msgid "Migrate" -#~ msgstr "Taşı" - -#~ msgid "Image" -#~ msgstr "Resim" - -#~ msgid "Communication" -#~ msgstr "İletişim" - -#~ msgid "Configuration Progress" -#~ msgstr "Yapılandırma Aşaması" - -#~ msgid "Additional phone field" -#~ msgstr "Diğer Telefon no" - -#~ msgid "Configure" -#~ msgstr "Yapılandır" - -#~ msgid "If you select this, all addresses will be migrated." -#~ msgstr "Bunu seçerseniz, bütün adresler taşınacak" - -#~ msgid "Job FAX no." -#~ msgstr "İş Faks No" - -#~ msgid "Otherwise these details will not be visible from address/contact." -#~ msgstr "Yoksa bu detaylar adres/kişiler bölümünde görülebilir olmayacak" - -#~ msgid "Address's Migration to Contacts" -#~ msgstr "Adreslerin Kişilere taşınması" - -#~ msgid "Do you want to migrate your Address data in Contact Data?" -#~ msgstr "Adres bilgilerini Kişi bilgilerine taşımak ister misiniz?" - -#~ msgid "" -#~ "Order of importance of this address in the list of " -#~ "addresses of the linked contact" -#~ msgstr "Bu adresin, ilgili kişinin adres listesindeki sıralamasının önemi" - -#~ msgid "Select the Option for Addresses Migration" -#~ msgstr "Adreslerin taşınması için ilgili seçeneği seçiniz" - -#~ msgid "Last date of job" -#~ msgstr "İşin son tarihi" - -#~ msgid "base.contact.installer" -#~ msgstr "base.contact.installer" - -#~ msgid "" -#~ "You may enter Address first,Partner will be linked " -#~ "automatically if any." -#~ msgstr "" -#~ "Önce adresi girin, eğer varsaPaydaş otomatik olarak ilişkilendirilecek" - -#~ msgid "Function of this contact with this partner" -#~ msgstr "Bu kişininbu paydaşdaki görevi" - -#~ msgid "title" -#~ msgstr "unvan" - -#~ msgid "Start date of job(Joining Date)" -#~ msgstr "İşin Başlangıç Tarihi (katılım Tarihi)" - -#~ msgid "Define functions and address." -#~ msgstr "Görev ve Adres Tanımları" - -#~ msgid "Jobs at a same partner address." -#~ msgstr "Aynı paydaş adresindeki görevler" - -#~ msgid "Contact's Jobs" -#~ msgstr "İlgilinin işleri" - -#~ msgid "" -#~ "Order of importance of this job title in the list of job " -#~ "title of the linked partner" -#~ msgstr "Bu görevin sırasının ilgili paydaşın görev listesindeki önemi" - -#~ msgid "" -#~ "\n" -#~ " This module allows you to manage your contacts entirely.\n" -#~ "\n" -#~ " It lets you define\n" -#~ " *contacts unrelated to a partner,\n" -#~ " *contacts working at several addresses (possibly for different " -#~ "partners),\n" -#~ " *contacts with possibly different functions for each of its job's " -#~ "addresses\n" -#~ "\n" -#~ " It also adds new menu items located in\n" -#~ " Partners \\ Contacts\n" -#~ " Partners \\ Functions\n" -#~ "\n" -#~ " Pay attention that this module converts the existing addresses into " -#~ "\"addresses + contacts\". It means that some fields of the addresses will be " -#~ "missing (like the contact name), since these are supposed to be defined in " -#~ "an other object.\n" -#~ " " -#~ msgstr "" -#~ "\n" -#~ " ........Bu bölüm listenizdeki tüm kişileri yönetmenize imkan sağlar\n" -#~ "\n" -#~ " Tanımlamanıza izin verir\n" -#~ " *Paydaş ile ilgili olmayan kişiler,\n" -#~ " *birkaç farklı adreste çalışan kişiler (farklı iş ortakları için)\n" -#~ " *her iş adresinde farklı işlev gösteren kişiler\n" -#~ " " - -#~ msgid "Internal/External extension phone number" -#~ msgstr "İçhat/Dışhat telefon no" - -#~ msgid "Extension" -#~ msgstr "İçhat" - -#~ msgid "Job E-Mail" -#~ msgstr "İş Eposta" - -#~ msgid "Function to address" -#~ msgstr "Adrese görev" - -#~ msgid "Partner Seq." -#~ msgstr "Paydaş Sıra No." - -#~ msgid "Address which is linked to the Partner" -#~ msgstr "Paydaşı ile ilişkili olan adresler" - -#~ msgid "" -#~ "Due to changes in Address and Partner's relation, some of the details from " -#~ "address are needed to be migrated into contact information." -#~ msgstr "" -#~ "Adres vePaydaş ile ilgili değişiklikler nedeniyle adres ile ilgili bazı " -#~ "detaylar kişi bilgisine taşınmalı" - -#~ msgid "Partner Function" -#~ msgstr "Paydaşın Görevi" - -#~ msgid "Search Contact" -#~ msgstr "İlgili Ara" - -#~ msgid "Contact Seq." -#~ msgstr "İlgili Sırası" - -#~ msgid "Contact Functions" -#~ msgstr "İlgili Görevi" - -#~ msgid "Main Job" -#~ msgstr "Ana İş" - -#~ msgid "Defines contacts and functions." -#~ msgstr "İlgilileri ve görevleri tanımlar" - -#~ msgid "Contact Partner Function" -#~ msgstr "Paydaş İlgilisi Görevi" - -#~ msgid "Contact to function" -#~ msgstr "İlgili Görevi" - -#~ msgid "Current" -#~ msgstr "Geçerli" - -#~ msgid "Function" -#~ msgstr "Görev" - -#~ msgid "Address Migration" -#~ msgstr "Adres Taşıma" - -#~ msgid "Date Start" -#~ msgstr "Başlangıç Tarihi" - -#~ msgid "Open Jobs" -#~ msgstr "Açık İşler" - -#~ msgid "You can migrate Partner's current addresses to the contact." -#~ msgstr "Paydaşın güncel adreslerini ilgililere taşı" diff --git a/addons/base_contact/i18n/uk.po b/addons/base_contact/i18n/uk.po deleted file mode 100644 index ae134462ab8..00000000000 --- a/addons/base_contact/i18n/uk.po +++ /dev/null @@ -1,274 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * base_contact -# -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 6.0dev\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2012-02-08 00:36+0000\n" -"PO-Revision-Date: 2009-09-08 13:55+0000\n" -"Last-Translator: Eugene Babiy <eugene.babiy@gmail.com>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-02-09 06:14+0000\n" -"X-Generator: Launchpad (build 14763)\n" - -#. module: base_contact -#: field:res.partner.location,city:0 -msgid "City" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "First/Lastname" -msgstr "" - -#. module: base_contact -#: model:ir.actions.act_window,name:base_contact.action_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_purchases_partner_contact_form -#: model:process.node,name:base_contact.process_node_contacts0 -#: field:res.partner.location,job_ids:0 -msgid "Contacts" -msgstr "Контакти" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Professional Info" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,first_name:0 -msgid "First Name" -msgstr "" - -#. module: base_contact -#: field:res.partner.address,location_id:0 -msgid "Location" -msgstr "" - -#. module: base_contact -#: model:process.transition,name:base_contact.process_transition_partnertoaddress0 -msgid "Partner to address" -msgstr "" - -#. module: base_contact -#: help:res.partner.contact,active:0 -msgid "" -"If the active field is set to False, it will allow you to " -"hide the partner contact without removing it." -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,website:0 -msgid "Website" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,zip:0 -msgid "Zip" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,state_id:0 -msgid "Fed. State" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,company_id:0 -msgid "Company" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,title:0 -msgid "Title" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,partner_id:0 -msgid "Main Partner" -msgstr "" - -#. module: base_contact -#: model:process.process,name:base_contact.process_process_basecontactprocess0 -msgid "Base Contact" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,email:0 -msgid "E-Mail" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,active:0 -msgid "Active" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,country_id:0 -msgid "Nationality" -msgstr "" - -#. module: base_contact -#: view:res.partner:0 -#: view:res.partner.address:0 -msgid "Postal Address" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,function:0 -msgid "Main Function" -msgstr "" - -#. module: base_contact -#: model:process.transition,note:base_contact.process_transition_partnertoaddress0 -msgid "Define partners and their addresses." -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,name:0 -msgid "Name" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,lang_id:0 -msgid "Language" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,mobile:0 -msgid "Mobile" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,country_id:0 -msgid "Country" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,comment:0 -msgid "Notes" -msgstr "" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_contacts0 -msgid "People you work with." -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Extra Information" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,job_ids:0 -msgid "Functions and Addresses" -msgstr "" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_contact -#: field:res.partner.address,contact_id:0 -msgid "Contact" -msgstr "" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_location -msgid "res.partner.location" -msgstr "" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_partners0 -msgid "Companies you work with." -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,partner_id:0 -msgid "Main Employer" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner Contact" -msgstr "" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_addresses0 -msgid "Addresses" -msgstr "" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_addresses0 -msgid "Working and private addresses." -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,last_name:0 -msgid "Last Name" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,photo:0 -msgid "Photo" -msgstr "" - -#. module: base_contact -#: view:res.partner.location:0 -msgid "Locations" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "General" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,street:0 -msgid "Street" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner" -msgstr "" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_partners0 -msgid "Partners" -msgstr "" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_address -msgid "Partner Addresses" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,street2:0 -msgid "Street2" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Personal Information" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,birthdate:0 -msgid "Birth Date" -msgstr "" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "" -#~ "Назва об'єкту має починатися з x_ і не містити ніяких спеціальних символів!" - -#~ msgid "Categories" -#~ msgstr "Категорії" - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "Неправильний XML для Архітектури Вигляду!" diff --git a/addons/base_contact/i18n/vi.po b/addons/base_contact/i18n/vi.po deleted file mode 100644 index c56ac0397ee..00000000000 --- a/addons/base_contact/i18n/vi.po +++ /dev/null @@ -1,392 +0,0 @@ -# Vietnamese translation for openobject-addons -# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 -# This file is distributed under the same license as the openobject-addons package. -# Phong Nguyen <phong.nguyen_thanh@yahoo.com>, 2009. -# -msgid "" -msgstr "" -"Project-Id-Version: openobject-addons\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2012-02-08 00:36+0000\n" -"PO-Revision-Date: 2010-12-28 09:09+0000\n" -"Last-Translator: OpenERP Administrators <Unknown>\n" -"Language-Team: Vietnamese <vi@li.org>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-02-09 06:14+0000\n" -"X-Generator: Launchpad (build 14763)\n" - -#. module: base_contact -#: field:res.partner.location,city:0 -msgid "City" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "First/Lastname" -msgstr "" - -#. module: base_contact -#: model:ir.actions.act_window,name:base_contact.action_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_purchases_partner_contact_form -#: model:process.node,name:base_contact.process_node_contacts0 -#: field:res.partner.location,job_ids:0 -msgid "Contacts" -msgstr "Liên hệ" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Professional Info" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,first_name:0 -msgid "First Name" -msgstr "Tên" - -#. module: base_contact -#: field:res.partner.address,location_id:0 -msgid "Location" -msgstr "" - -#. module: base_contact -#: model:process.transition,name:base_contact.process_transition_partnertoaddress0 -msgid "Partner to address" -msgstr "Đối tác đến địa chỉ" - -#. module: base_contact -#: help:res.partner.contact,active:0 -msgid "" -"If the active field is set to False, it will allow you to " -"hide the partner contact without removing it." -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,website:0 -msgid "Website" -msgstr "Địa chỉ web" - -#. module: base_contact -#: field:res.partner.location,zip:0 -msgid "Zip" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,state_id:0 -msgid "Fed. State" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,company_id:0 -msgid "Company" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,title:0 -msgid "Title" -msgstr "Tước vị" - -#. module: base_contact -#: field:res.partner.location,partner_id:0 -msgid "Main Partner" -msgstr "" - -#. module: base_contact -#: model:process.process,name:base_contact.process_process_basecontactprocess0 -msgid "Base Contact" -msgstr "Liên hệ cơ bản" - -#. module: base_contact -#: field:res.partner.contact,email:0 -msgid "E-Mail" -msgstr "Thư điện tử" - -#. module: base_contact -#: field:res.partner.contact,active:0 -msgid "Active" -msgstr "Hoạt động" - -#. module: base_contact -#: field:res.partner.contact,country_id:0 -msgid "Nationality" -msgstr "Quốc tịch" - -#. module: base_contact -#: view:res.partner:0 -#: view:res.partner.address:0 -msgid "Postal Address" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,function:0 -msgid "Main Function" -msgstr "Chức năng chính" - -#. module: base_contact -#: model:process.transition,note:base_contact.process_transition_partnertoaddress0 -msgid "Define partners and their addresses." -msgstr "Xác định đối tác và địa chỉ đối tác." - -#. module: base_contact -#: field:res.partner.contact,name:0 -msgid "Name" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,lang_id:0 -msgid "Language" -msgstr "Ngôn ngữ" - -#. module: base_contact -#: field:res.partner.contact,mobile:0 -msgid "Mobile" -msgstr "Số di động" - -#. module: base_contact -#: field:res.partner.location,country_id:0 -msgid "Country" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,comment:0 -msgid "Notes" -msgstr "Các ghi chú" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_contacts0 -msgid "People you work with." -msgstr "Những người bạn cùng làm việc." - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Extra Information" -msgstr "Thông tin bổ sung" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,job_ids:0 -msgid "Functions and Addresses" -msgstr "Chức năng và địa chỉ" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_contact -#: field:res.partner.address,contact_id:0 -msgid "Contact" -msgstr "Liên hệ" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_location -msgid "res.partner.location" -msgstr "" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_partners0 -msgid "Companies you work with." -msgstr "Công ty bạn đang làm việc." - -#. module: base_contact -#: field:res.partner.contact,partner_id:0 -msgid "Main Employer" -msgstr "Nhà tuyển dụng chính" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner Contact" -msgstr "Thông tin liên hệ đối tác" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_addresses0 -msgid "Addresses" -msgstr "Địa chỉ" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_addresses0 -msgid "Working and private addresses." -msgstr "Địa chỉ làm việc và địa chỉ riêng." - -#. module: base_contact -#: field:res.partner.contact,last_name:0 -msgid "Last Name" -msgstr "Họ" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,photo:0 -msgid "Photo" -msgstr "" - -#. module: base_contact -#: view:res.partner.location:0 -msgid "Locations" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "General" -msgstr "Thông tin chung" - -#. module: base_contact -#: field:res.partner.location,street:0 -msgid "Street" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner" -msgstr "Đối tác" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_partners0 -msgid "Partners" -msgstr "Đối tác" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_address -msgid "Partner Addresses" -msgstr "Địa chỉ của đối tác" - -#. module: base_contact -#: field:res.partner.location,street2:0 -msgid "Street2" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Personal Information" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,birthdate:0 -msgid "Birth Date" -msgstr "Ngày sinh" - -#~ msgid "Contact Seq." -#~ msgstr "Thứ tự liên hệ" - -#~ msgid "res.partner.contact" -#~ msgstr "res.partner.contact" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "" -#~ "Tên đối tượng phải bắt đầu với x_ và không chứa bất kỳ ký tự đặc biệt nào!" - -#~ msgid "Partner Function" -#~ msgstr "Chức năng đối tác" - -#~ msgid "Partner Seq." -#~ msgstr "Thứ tự đối tác" - -#~ msgid "Current" -#~ msgstr "Hiện hành" - -#~ msgid "Contact Partner Function" -#~ msgstr "Chức năng liên hệ đối tác" - -#~ msgid "Other" -#~ msgstr "Khác" - -#~ msgid "Contact to function" -#~ msgstr "Liên hệ đến chức năng" - -#~ msgid "Invalid model name in the action definition." -#~ msgstr "Tên mô hình không hợp lệ trong định nghĩa hành động." - -#~ msgid "# of Contacts" -#~ msgstr "Số liên hệ" - -#~ msgid "Additional phone field" -#~ msgstr "Điện thoại bổ sung" - -#~ msgid "Function" -#~ msgstr "Chức năng" - -#~ msgid "Fax" -#~ msgstr "Fax" - -#~ msgid "Phone" -#~ msgstr "Điện thoại" - -#~ msgid "Defines contacts and functions." -#~ msgstr "Xác định địa chỉ liên hệ và chức năng." - -#~ msgid "Contact Functions" -#~ msgstr "Chức năng liên hệ" - -#~ msgid "" -#~ "Order of importance of this job title in the list of job title of the linked " -#~ "partner" -#~ msgstr "" -#~ "Thứ tự quan trọng của công việc này trong danh sách các công việc của đối tác" - -#~ msgid "Date Stop" -#~ msgstr "Ngày kết thúc" - -#~ msgid "Address" -#~ msgstr "Địa chỉ" - -#~ msgid "Contact's Jobs" -#~ msgstr "Công việc" - -#~ msgid "" -#~ "Order of importance of this address in the list of addresses of the linked " -#~ "contact" -#~ msgstr "" -#~ "Thứ tự quan trọng của địa chỉ này trong danh sách các địa chỉ của đối tác" - -#~ msgid "Main Job" -#~ msgstr "Công việc chính" - -#~ msgid "Categories" -#~ msgstr "Loại" - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "XML không hợp lệ để xem kiến trúc!" - -#~ msgid "Base Contact Process" -#~ msgstr "Quy trình liên hệ cơ bản" - -#~ msgid "Seq." -#~ msgstr "Thứ tự" - -#~ msgid "Extension" -#~ msgstr "Số máy nhánh" - -#~ msgid "Internal/External extension phone number" -#~ msgstr "Số điện thoại máy nhánh nội bộ/bên ngoài" - -#~ msgid "Function to address" -#~ msgstr "Chức năng để giải quyết" - -#~ msgid "Partner Contacts" -#~ msgstr "Thông tin liên hệ đối tác" - -#~ msgid "State" -#~ msgstr "Tỉnh/TP" - -#~ msgid "Past" -#~ msgstr "Quá khứ" - -#~ msgid "General Information" -#~ msgstr "Thông tin chung" - -#~ msgid "Jobs at a same partner address." -#~ msgstr "Công việc tại cùng địa chỉ của đối tác." - -#~ msgid "Date Start" -#~ msgstr "Ngày bắt đầu" - -#~ msgid "Define functions and address." -#~ msgstr "Xác định chức năng và địa chỉ." - -#~ msgid "base.contact.installer" -#~ msgstr "base.contact.installer" - -#~ msgid "title" -#~ msgstr "tước vị" - -#~ msgid "Configure" -#~ msgstr "Cấu hình" diff --git a/addons/base_contact/i18n/zh_CN.po b/addons/base_contact/i18n/zh_CN.po deleted file mode 100644 index e7fb6591be0..00000000000 --- a/addons/base_contact/i18n/zh_CN.po +++ /dev/null @@ -1,504 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * base_contact -# -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 6.0dev\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2012-02-08 00:36+0000\n" -"PO-Revision-Date: 2012-02-10 03:04+0000\n" -"Last-Translator: Jeff Wang <wjfonhand@hotmail.com>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-02-11 05:07+0000\n" -"X-Generator: Launchpad (build 14771)\n" - -#. module: base_contact -#: field:res.partner.location,city:0 -msgid "City" -msgstr "城市" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "First/Lastname" -msgstr "姓名" - -#. module: base_contact -#: model:ir.actions.act_window,name:base_contact.action_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_purchases_partner_contact_form -#: model:process.node,name:base_contact.process_node_contacts0 -#: field:res.partner.location,job_ids:0 -msgid "Contacts" -msgstr "联系" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Professional Info" -msgstr "专业" - -#. module: base_contact -#: field:res.partner.contact,first_name:0 -msgid "First Name" -msgstr "名字" - -#. module: base_contact -#: field:res.partner.address,location_id:0 -msgid "Location" -msgstr "地点" - -#. module: base_contact -#: model:process.transition,name:base_contact.process_transition_partnertoaddress0 -msgid "Partner to address" -msgstr "业务伙伴到地址" - -#. module: base_contact -#: help:res.partner.contact,active:0 -msgid "" -"If the active field is set to False, it will allow you to " -"hide the partner contact without removing it." -msgstr "如果有效性字段是假值,它可以允许你隐藏业务伙伴联系人不用删除它" - -#. module: base_contact -#: field:res.partner.contact,website:0 -msgid "Website" -msgstr "网站" - -#. module: base_contact -#: field:res.partner.location,zip:0 -msgid "Zip" -msgstr "邮政编码" - -#. module: base_contact -#: field:res.partner.location,state_id:0 -msgid "Fed. State" -msgstr "省/州" - -#. module: base_contact -#: field:res.partner.location,company_id:0 -msgid "Company" -msgstr "公司" - -#. module: base_contact -#: field:res.partner.contact,title:0 -msgid "Title" -msgstr "称谓" - -#. module: base_contact -#: field:res.partner.location,partner_id:0 -msgid "Main Partner" -msgstr "主业务伙伴" - -#. module: base_contact -#: model:process.process,name:base_contact.process_process_basecontactprocess0 -msgid "Base Contact" -msgstr "基本联系人管理模块" - -#. module: base_contact -#: field:res.partner.contact,email:0 -msgid "E-Mail" -msgstr "电子邮件" - -#. module: base_contact -#: field:res.partner.contact,active:0 -msgid "Active" -msgstr "有效" - -#. module: base_contact -#: field:res.partner.contact,country_id:0 -msgid "Nationality" -msgstr "国籍" - -#. module: base_contact -#: view:res.partner:0 -#: view:res.partner.address:0 -msgid "Postal Address" -msgstr "邮政地址" - -#. module: base_contact -#: field:res.partner.contact,function:0 -msgid "Main Function" -msgstr "主要职能" - -#. module: base_contact -#: model:process.transition,note:base_contact.process_transition_partnertoaddress0 -msgid "Define partners and their addresses." -msgstr "定义业务伙伴和地址" - -#. module: base_contact -#: field:res.partner.contact,name:0 -msgid "Name" -msgstr "名称" - -#. module: base_contact -#: field:res.partner.contact,lang_id:0 -msgid "Language" -msgstr "语言" - -#. module: base_contact -#: field:res.partner.contact,mobile:0 -msgid "Mobile" -msgstr "手机" - -#. module: base_contact -#: field:res.partner.location,country_id:0 -msgid "Country" -msgstr "国家" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,comment:0 -msgid "Notes" -msgstr "备注" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_contacts0 -msgid "People you work with." -msgstr "与你工作的人" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Extra Information" -msgstr "额外信息" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,job_ids:0 -msgid "Functions and Addresses" -msgstr "职能与地址" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_contact -#: field:res.partner.address,contact_id:0 -msgid "Contact" -msgstr "联系人" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_location -msgid "res.partner.location" -msgstr "res.partner.location" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_partners0 -msgid "Companies you work with." -msgstr "您工作的公司。" - -#. module: base_contact -#: field:res.partner.contact,partner_id:0 -msgid "Main Employer" -msgstr "主要雇主" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner Contact" -msgstr "业务伙伴联系人" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_addresses0 -msgid "Addresses" -msgstr "地址" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_addresses0 -msgid "Working and private addresses." -msgstr "工作和私人地址" - -#. module: base_contact -#: field:res.partner.contact,last_name:0 -msgid "Last Name" -msgstr "姓" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,photo:0 -msgid "Photo" -msgstr "相片" - -#. module: base_contact -#: view:res.partner.location:0 -msgid "Locations" -msgstr "库位" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "General" -msgstr "一般" - -#. module: base_contact -#: field:res.partner.location,street:0 -msgid "Street" -msgstr "街区地址" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner" -msgstr "业务伙伴" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_partners0 -msgid "Partners" -msgstr "业务伙伴列表" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_address -msgid "Partner Addresses" -msgstr "业务伙伴地址列表" - -#. module: base_contact -#: field:res.partner.location,street2:0 -msgid "Street2" -msgstr "街区地址2" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Personal Information" -msgstr "个人信息" - -#. module: base_contact -#: field:res.partner.contact,birthdate:0 -msgid "Birth Date" -msgstr "生日" - -#~ msgid "Contact Partner Function" -#~ msgstr "联系人业务伙伴职能" - -#~ msgid "Partner Function" -#~ msgstr "业务伙伴职能" - -#~ msgid "Current" -#~ msgstr "当前" - -#~ msgid "Main Job" -#~ msgstr "主业" - -#~ msgid "Defines contacts and functions." -#~ msgstr "定义联系人和职能" - -#~ msgid "Contact Functions" -#~ msgstr "联系人职能" - -#~ msgid "Phone" -#~ msgstr "电话" - -#~ msgid "Function" -#~ msgstr "职能" - -#~ msgid "Base Contact Process" -#~ msgstr "基本联系人流程" - -#~ msgid "Partner Contacts" -#~ msgstr "业务伙伴联系人" - -#~ msgid "State" -#~ msgstr "省/ 州" - -#~ msgid "Past" -#~ msgstr "过去" - -#~ msgid "Define functions and address." -#~ msgstr "定义职能与地址。" - -#~ msgid "Contact to function" -#~ msgstr "联系人到职能" - -#~ msgid "Function to address" -#~ msgstr "职能到地址" - -#~ msgid "Contact Seq." -#~ msgstr "联系人序号" - -#~ msgid "Categories" -#~ msgstr "分类" - -#~ msgid "Internal/External extension phone number" -#~ msgstr "内部或外部扩充电话号码" - -#~ msgid "Other" -#~ msgstr "其它" - -#~ msgid "Fax" -#~ msgstr "传真" - -#~ msgid "Additional phone field" -#~ msgstr "附加电话字段" - -#~ msgid "Partner Seq." -#~ msgstr "业务伙伴序号" - -#~ msgid "Jobs at a same partner address." -#~ msgstr "相同工作的业务伙伴地址" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "对象名必须以x_开头并且不能包含特殊字符" - -#~ msgid "# of Contacts" -#~ msgstr "# 联系人" - -#~ msgid "Invalid model name in the action definition." -#~ msgstr "在动作定义中使用了无效的模快名。" - -#~ msgid "Contact's Jobs" -#~ msgstr "联系人职务" - -#~ msgid "" -#~ "Order of importance of this job title in the list of job title of the linked " -#~ "partner" -#~ msgstr "链接业务伙伴按职称按重要性排序的列表" - -#~ msgid "" -#~ "Order of importance of this address in the list of addresses of the linked " -#~ "contact" -#~ msgstr "链接联系人按地址重要性排序的地址列表" - -#~ msgid "Date Stop" -#~ msgstr "停止日期" - -#~ msgid "Address" -#~ msgstr "地址" - -#~ msgid "Extension" -#~ msgstr "扩展" - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "无效的视图结构xml文件!" - -#~ msgid "General Information" -#~ msgstr "一般信息" - -#~ msgid "Date Start" -#~ msgstr "开始日期" - -#~ msgid "Migrate" -#~ msgstr "迁移" - -#~ msgid "" -#~ "You may enter Address first,Partner will be linked " -#~ "automatically if any." -#~ msgstr "您应该先输入地址,业务伙伴信息如果存在的话会自动链接过来。" - -#~ msgid "Job FAX no." -#~ msgstr "工作传真号码" - -#~ msgid "Function of this contact with this partner" -#~ msgstr "该业务伙伴联系人的职能" - -#~ msgid "Status of Address" -#~ msgstr "地址状态" - -#~ msgid "Start date of job(Joining Date)" -#~ msgstr "开始工作的日期(入职日期)" - -#~ msgid "Select the Option for Addresses Migration" -#~ msgstr "选择地址迁移的选项" - -#~ msgid "Job E-Mail" -#~ msgstr "工作电子邮件" - -#~ msgid "Job Phone no." -#~ msgstr "工作电话号码" - -#~ msgid "Search Contact" -#~ msgstr "搜索联系人" - -#~ msgid "Image" -#~ msgstr "图像" - -#~ msgid "Address which is linked to the Partner" -#~ msgstr "链接到该业务伙伴的地址" - -#~ msgid "Open Jobs" -#~ msgstr "开放的职位" - -#~ msgid "Do you want to migrate your Address data in Contact Data?" -#~ msgstr "您是否想要把地址数据迁移到联系人数据中?" - -#~ msgid "Otherwise these details will not be visible from address/contact." -#~ msgstr "否则这些细节在地址/联系人处不可见" - -#~ msgid "base.contact.installer" -#~ msgstr "base.contact.installer" - -#~ msgid "" -#~ "Order of importance of this job title in the list of job " -#~ "title of the linked partner" -#~ msgstr "在业务伙伴职位列表里按照职位重要性排列" - -#~ msgid "Communication" -#~ msgstr "沟通" - -#~ msgid "" -#~ "\n" -#~ " This module allows you to manage your contacts entirely.\n" -#~ "\n" -#~ " It lets you define\n" -#~ " *contacts unrelated to a partner,\n" -#~ " *contacts working at several addresses (possibly for different " -#~ "partners),\n" -#~ " *contacts with possibly different functions for each of its job's " -#~ "addresses\n" -#~ "\n" -#~ " It also adds new menu items located in\n" -#~ " Partners \\ Contacts\n" -#~ " Partners \\ Functions\n" -#~ "\n" -#~ " Pay attention that this module converts the existing addresses into " -#~ "\"addresses + contacts\". It means that some fields of the addresses will be " -#~ "missing (like the contact name), since these are supposed to be defined in " -#~ "an other object.\n" -#~ " " -#~ msgstr "" -#~ "\n" -#~ " 这个模块允许您完整地管理您的联系人。\n" -#~ "\n" -#~ " 它可以让你定义\n" -#~ " *联系人不关联合作伙伴,\n" -#~ " *联系人工作在几个地址(这些地址可能是几个业务伙伴)\n" -#~ " *联系人几个地址可能是不同职务\n" -#~ "\n" -#~ " 它还增加了新的菜单位于\n" -#~ " 合作伙伴\\联系人\n" -#~ " 合作伙伴\\职位\n" -#~ "\n" -#~ " 注意,此模块转换成“地址+联系人”的现有地址。这意味着一些地址字段将会丢失(如联系人的姓名),因为这些都应该是在其他对象中定义的。\n" -#~ " " - -#~ msgid "" -#~ "Due to changes in Address and Partner's relation, some of the details from " -#~ "address are needed to be migrated into contact information." -#~ msgstr "由于地址和合作伙伴的关系的变化,一些细节需要迁移到联系信息。" - -#~ msgid "title" -#~ msgstr "职位" - -#~ msgid "Last date of job" -#~ msgstr "工作的最后日期" - -#~ msgid "Address's Migration to Contacts" -#~ msgstr "地址的迁移到通讯录" - -#~ msgid "" -#~ "Order of importance of this address in the list of " -#~ "addresses of the linked contact" -#~ msgstr "按照重要性列表这些联系人的地址" - -#~ msgid "If you select this, all addresses will be migrated." -#~ msgstr "如果你选择这个,所有地址将被迁移。" - -#~ msgid "You can migrate Partner's current addresses to the contact." -#~ msgstr "你可以迁移业务伙伴的当前地址到联系人上" - -#~ msgid "Address Migration" -#~ msgstr "地址迁移" - -#~ msgid "Configuration Progress" -#~ msgstr "设置进度" - -#~ msgid "Configure" -#~ msgstr "设置" - -#~ msgid "Seq." -#~ msgstr "序列" diff --git a/addons/base_contact/i18n/zh_TW.po b/addons/base_contact/i18n/zh_TW.po deleted file mode 100644 index 755e04ff3ef..00000000000 --- a/addons/base_contact/i18n/zh_TW.po +++ /dev/null @@ -1,461 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * base_contact -# -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 5.0.4\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2012-02-08 00:36+0000\n" -"PO-Revision-Date: 2011-01-26 05:23+0000\n" -"Last-Translator: Walter Cheuk <wwycheuk@gmail.com>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-02-09 06:14+0000\n" -"X-Generator: Launchpad (build 14763)\n" - -#. module: base_contact -#: field:res.partner.location,city:0 -msgid "City" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "First/Lastname" -msgstr "" - -#. module: base_contact -#: model:ir.actions.act_window,name:base_contact.action_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_purchases_partner_contact_form -#: model:process.node,name:base_contact.process_node_contacts0 -#: field:res.partner.location,job_ids:0 -msgid "Contacts" -msgstr "聯絡人" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Professional Info" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,first_name:0 -msgid "First Name" -msgstr "名" - -#. module: base_contact -#: field:res.partner.address,location_id:0 -msgid "Location" -msgstr "" - -#. module: base_contact -#: model:process.transition,name:base_contact.process_transition_partnertoaddress0 -msgid "Partner to address" -msgstr "伙伴至地址" - -#. module: base_contact -#: help:res.partner.contact,active:0 -msgid "" -"If the active field is set to False, it will allow you to " -"hide the partner contact without removing it." -msgstr "如「活躍」欄設為「否」,伙伴聯絡資料會隱藏而非移除。" - -#. module: base_contact -#: field:res.partner.contact,website:0 -msgid "Website" -msgstr "網站" - -#. module: base_contact -#: field:res.partner.location,zip:0 -msgid "Zip" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,state_id:0 -msgid "Fed. State" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,company_id:0 -msgid "Company" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,title:0 -msgid "Title" -msgstr "稱謂" - -#. module: base_contact -#: field:res.partner.location,partner_id:0 -msgid "Main Partner" -msgstr "" - -#. module: base_contact -#: model:process.process,name:base_contact.process_process_basecontactprocess0 -msgid "Base Contact" -msgstr "基礎聯絡人" - -#. module: base_contact -#: field:res.partner.contact,email:0 -msgid "E-Mail" -msgstr "電子郵件" - -#. module: base_contact -#: field:res.partner.contact,active:0 -msgid "Active" -msgstr "活躍" - -#. module: base_contact -#: field:res.partner.contact,country_id:0 -msgid "Nationality" -msgstr "國籍" - -#. module: base_contact -#: view:res.partner:0 -#: view:res.partner.address:0 -msgid "Postal Address" -msgstr "郵遞地址" - -#. module: base_contact -#: field:res.partner.contact,function:0 -msgid "Main Function" -msgstr "主要功能" - -#. module: base_contact -#: model:process.transition,note:base_contact.process_transition_partnertoaddress0 -msgid "Define partners and their addresses." -msgstr "定義伙伴及其地址。" - -#. module: base_contact -#: field:res.partner.contact,name:0 -msgid "Name" -msgstr "名稱" - -#. module: base_contact -#: field:res.partner.contact,lang_id:0 -msgid "Language" -msgstr "語言" - -#. module: base_contact -#: field:res.partner.contact,mobile:0 -msgid "Mobile" -msgstr "手機" - -#. module: base_contact -#: field:res.partner.location,country_id:0 -msgid "Country" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,comment:0 -msgid "Notes" -msgstr "備註" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_contacts0 -msgid "People you work with." -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Extra Information" -msgstr "額外資訊" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,job_ids:0 -msgid "Functions and Addresses" -msgstr "功能及地址" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_contact -#: field:res.partner.address,contact_id:0 -msgid "Contact" -msgstr "聯絡人" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_location -msgid "res.partner.location" -msgstr "" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_partners0 -msgid "Companies you work with." -msgstr "您工作之公司。" - -#. module: base_contact -#: field:res.partner.contact,partner_id:0 -msgid "Main Employer" -msgstr "主要僱主" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner Contact" -msgstr "伙伴聯絡人" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_addresses0 -msgid "Addresses" -msgstr "地址" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_addresses0 -msgid "Working and private addresses." -msgstr "辦公及私人地址" - -#. module: base_contact -#: field:res.partner.contact,last_name:0 -msgid "Last Name" -msgstr "姓" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,photo:0 -msgid "Photo" -msgstr "相片" - -#. module: base_contact -#: view:res.partner.location:0 -msgid "Locations" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "General" -msgstr "一般" - -#. module: base_contact -#: field:res.partner.location,street:0 -msgid "Street" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner" -msgstr "伙伴" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_partners0 -msgid "Partners" -msgstr "伙伴" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_address -msgid "Partner Addresses" -msgstr "伙伴地址" - -#. module: base_contact -#: field:res.partner.location,street2:0 -msgid "Street2" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Personal Information" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,birthdate:0 -msgid "Birth Date" -msgstr "出生日期" - -#~ msgid "# of Contacts" -#~ msgstr "聯絡人數目" - -#~ msgid "" -#~ "You may enter Address first,Partner will be linked " -#~ "automatically if any." -#~ msgstr "可先輸入地址,如有伙伴會自動連結。" - -#~ msgid "Job FAX no." -#~ msgstr "工作傳真號碼" - -#~ msgid "Function of this contact with this partner" -#~ msgstr "此聯絡人於此伙伴之功能" - -#~ msgid "Status of Address" -#~ msgstr "地址狀態" - -#~ msgid "title" -#~ msgstr "稱謂" - -#~ msgid "Start date of job(Joining Date)" -#~ msgstr "開始工作日期(加入日期)" - -#~ msgid "Fax" -#~ msgstr "傳真" - -#~ msgid "Define functions and address." -#~ msgstr "定義功能及地址" - -#~ msgid "Last date of job" -#~ msgstr "最後工作日期" - -#~ msgid "Categories" -#~ msgstr "分類" - -#~ msgid "Job Phone no." -#~ msgstr "工作電話" - -#~ msgid "Internal/External extension phone number" -#~ msgstr "內部或外部分機號碼" - -#~ msgid "Contact's Jobs" -#~ msgstr "聯絡人之工作" - -#~ msgid "Extension" -#~ msgstr "分機" - -#~ msgid "Configuration Progress" -#~ msgstr "設置進度" - -#~ msgid "Job E-Mail" -#~ msgstr "工作電郵" - -#~ msgid "Image" -#~ msgstr "圖片" - -#~ msgid "Communication" -#~ msgstr "通訊" - -#~ msgid "Past" -#~ msgstr "過去" - -#~ msgid "Partner Seq." -#~ msgstr "伙伴序號" - -#~ msgid "Search Contact" -#~ msgstr "搜尋聯絡人" - -#~ msgid "Additional phone field" -#~ msgstr "額外電話欄" - -#~ msgid "Address's Migration to Contacts" -#~ msgstr "遷移地址至聯絡人" - -#~ msgid "Contact Seq." -#~ msgstr "聯絡人序號" - -#~ msgid "Address Migration" -#~ msgstr "遷移地址" - -#~ msgid "Migrate" -#~ msgstr "遷移" - -#~ msgid "Do you want to migrate your Address data in Contact Data?" -#~ msgstr "是否遷移聯絡人資料中之地址資料?" - -#~ msgid "If you select this, all addresses will be migrated." -#~ msgstr "如選取,將遷移所有地址。" - -#~ msgid "Select the Option for Addresses Migration" -#~ msgstr "選取地址遷移選項" - -#~ msgid "You can migrate Partner's current addresses to the contact." -#~ msgstr "可將伙伴目前地址遷移至聯絡人" - -#~ msgid "Address which is linked to the Partner" -#~ msgstr "連結至伙伴之地址" - -#~ msgid "" -#~ "Due to changes in Address and Partner's relation, some of the details from " -#~ "address are needed to be migrated into contact information." -#~ msgstr "由於地址與伙伴關係有變,某些地址詳情要遷移至聯絡人資訊。" - -#~ msgid "Contact Partner Function" -#~ msgstr "聯絡人伙伴功能" - -#~ msgid "Partner Function" -#~ msgstr "伙伴功能" - -#~ msgid "Contact Functions" -#~ msgstr "聯絡人功能" - -#~ msgid "" -#~ "\n" -#~ " This module allows you to manage your contacts entirely.\n" -#~ "\n" -#~ " It lets you define\n" -#~ " *contacts unrelated to a partner,\n" -#~ " *contacts working at several addresses (possibly for different " -#~ "partners),\n" -#~ " *contacts with possibly different functions for each of its job's " -#~ "addresses\n" -#~ "\n" -#~ " It also adds new menu items located in\n" -#~ " Partners \\ Contacts\n" -#~ " Partners \\ Functions\n" -#~ "\n" -#~ " Pay attention that this module converts the existing addresses into " -#~ "\"addresses + contacts\". It means that some fields of the addresses will be " -#~ "missing (like the contact name), since these are supposed to be defined in " -#~ "an other object.\n" -#~ " " -#~ msgstr "" -#~ "\n" -#~ " 本模組讓您完全掌控聯絡人資料\n" -#~ "\n" -#~ " 其讓您定義\n" -#~ " *與伙伴無關之聯絡人、\n" -#~ " *有多個地址之聯絡人(可能有不同伙伴)、\n" -#~ " *有不同功能工作地址之聯絡人\n" -#~ "\n" -#~ " 選單會添加以下項目\n" -#~ " 伙伴 \\ 聯絡人\n" -#~ " 伙伴 \\ 功能\n" -#~ "\n" -#~ " 請注意:此模組會將現在地址轉換為「地址 + 聯絡人」格式。意思是地址會缺少某些欄位(如聯絡人名稱),因其應由其他物件定義。\n" -#~ " " - -#~ msgid "Function to address" -#~ msgstr "功能至地址" - -#~ msgid "Function" -#~ msgstr "功能" - -#~ msgid "Defines contacts and functions." -#~ msgstr "定義聯絡人及功能" - -#~ msgid "Contact to function" -#~ msgstr "聯絡人至功能" - -#~ msgid "Phone" -#~ msgstr "電話" - -#~ msgid "Otherwise these details will not be visible from address/contact." -#~ msgstr "否則此等詳情將不顯示給地址及聯絡人。" - -#~ msgid "base.contact.installer" -#~ msgstr "基礎.聯絡人.安裝" - -#~ msgid "Configure" -#~ msgstr "配置" - -#~ msgid "Seq." -#~ msgstr "序號" - -#~ msgid "Main Job" -#~ msgstr "主要工作" - -#~ msgid "Current" -#~ msgstr "目前" - -#~ msgid "Address" -#~ msgstr "地址" - -#~ msgid "Other" -#~ msgstr "其他" - -#~ msgid "" -#~ "Order of importance of this address in the list of " -#~ "addresses of the linked contact" -#~ msgstr "此地址於已連結聯絡人地址之重要性" - -#~ msgid "Date Start" -#~ msgstr "開始日期" - -#~ msgid "Open Jobs" -#~ msgstr "開啟工作" diff --git a/addons/base_contact/process/base_contact_process.xml b/addons/base_contact/process/base_contact_process.xml deleted file mode 100644 index 54b9ed08cd9..00000000000 --- a/addons/base_contact/process/base_contact_process.xml +++ /dev/null @@ -1,62 +0,0 @@ -<?xml version="1.0" ?> -<openerp> - <data> - - <!-- - Process - --> - - <record id="process_process_basecontactprocess0" model="process.process"> - <field eval=""""Base Contact"""" name="name"/> - <field eval="1" name="active"/> - <field name="model_id" ref="base_contact.model_res_partner_contact"/> - </record> - - <!-- - Process node - --> - - <record id="process_node_contacts0" model="process.node"> - <field name="menu_id" ref="base_contact.menu_partner_contact_form"/> - <field name="model_id" ref="base_contact.model_res_partner_contact"/> - <field eval=""""state"""" name="kind"/> - <field eval=""""People you work with."""" name="note"/> - <field eval=""""Contacts"""" name="name"/> - <field name="process_id" ref="process_process_basecontactprocess0"/> - <field eval="1" name="flow_start"/> - </record> - - <record id="process_node_partners0" model="process.node"> - <field name="menu_id" ref="base.menu_partner_form"/> - <field name="model_id" ref="base.model_res_partner"/> - <field eval=""""state"""" name="kind"/> - <field eval=""""Companies you work with."""" name="note"/> - <field eval=""""Partners"""" name="name"/> - <field name="process_id" ref="process_process_basecontactprocess0"/> - <field eval="1" name="flow_start"/> - </record> - - <record id="process_node_addresses0" model="process.node"> - <field name="menu_id" ref="base.menu_partner_address_form"/> - <field name="model_id" ref="base.model_res_partner_address"/> - <field eval=""""state"""" name="kind"/> - <field eval=""""Working and private addresses."""" name="note"/> - <field eval=""""Addresses"""" name="name"/> - <field name="process_id" ref="process_process_basecontactprocess0"/> - <field eval="0" name="flow_start"/> - </record> - - <!-- - Process Transition - --> - - <record id="process_transition_partnertoaddress0" model="process.transition"> - <field eval="[(6,0,[])]" name="transition_ids"/> - <field eval=""""Partner to address"""" name="name"/> - <field eval=""""Define partners and their addresses."""" name="note"/> - <field model="process.node" name="target_node_id" ref="process_node_addresses0"/> - <field model="process.node" name="source_node_id" ref="process_node_partners0"/> - </record> - - </data> -</openerp> diff --git a/addons/base_contact/security/ir.model.access.csv b/addons/base_contact/security/ir.model.access.csv deleted file mode 100644 index c4855d9b63c..00000000000 --- a/addons/base_contact/security/ir.model.access.csv +++ /dev/null @@ -1,7 +0,0 @@ -"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink" -"access_res_partner_contact","res.partner.contact","model_res_partner_contact","base.group_partner_manager",1,1,1,1 -"access_res_partner_contact_all","res.partner.contact all","model_res_partner_contact","base.group_user",1,0,0,0 -"access_res_partner_location","res.partner.location","model_res_partner_location","base.group_user",1,0,0,0 -"access_res_partner_location_sale_salesman","res.partner.location","model_res_partner_location","base.group_sale_salesman",1,1,1,0 -"access_res_partner_sale_salesman","res.partner.user","base.model_res_partner","base.group_sale_salesman",1,1,1,0 -"access_group_sale_salesman","res.partner.contact.sale.salesman","model_res_partner_contact","base.group_sale_salesman",1,1,1,0 diff --git a/addons/base_contact/test/base_contact00.yml b/addons/base_contact/test/base_contact00.yml deleted file mode 100644 index c2ff49199f7..00000000000 --- a/addons/base_contact/test/base_contact00.yml +++ /dev/null @@ -1,38 +0,0 @@ -- | - I will test base_contact for following cases: - *contacts unrelated to a partner, - *contacts working at several addresses (possibly for different partners), - *contacts with possibly different functions for each of its job's addresses -- | - In order to check contacts first I will create contact unrelated to a partner -- - !record {model: res.partner.contact, id: res_partner_contact_williams0}: - country_id: base.be - first_name: Laura - last_name: Henrion - job_ids: - - email: lwilliams@mydomain.com - function: PA - phone: (+32).10.45.18.77 - mobile: (+32).10.45.18.77 - name: Williams -- | - Now in order to assign this contact to partner I will create one partner assign contact laura to this partner -- - !record {model: res.partner, id: res_partner_laurascompany0}: - address: - - city: Namur - country_id: base.be - phone: (+32).10.45.18.77 - street: 23, street ways - type: default - zip: '2324324' - function: CEO - contact_id: res_partner_contact_williams0 - name: Lauras Company - ref: LC -- - Now I will check that the new job is assigned properly to contact or not -- - !assert {model: res.partner.contact, id: res_partner_contact_williams0}: - - len(job_ids) == 2 From f7e147206db042b6130af5e636bac04b6e425f79 Mon Sep 17 00:00:00 2001 From: "Quentin (OpenERP)" <qdp-launchpad@openerp.com> Date: Wed, 21 Mar 2012 10:11:36 +0100 Subject: [PATCH 210/313] [FIX] crm: fixed error message in yaml test bzr revid: qdp-launchpad@openerp.com-20120321091136-0z49ulon0l0auta4 --- addons/crm/test/process/communication_with_customer.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/crm/test/process/communication_with_customer.yml b/addons/crm/test/process/communication_with_customer.yml index 83d2ce915ac..ec30f024fca 100644 --- a/addons/crm/test/process/communication_with_customer.yml +++ b/addons/crm/test/process/communication_with_customer.yml @@ -55,4 +55,4 @@ assert partner_id, "Customer is not found in regular customer list." data = self.browse(cr, uid, partner_id, context=context)[0] assert data.user_id.id == ref("base.user_root"), "User not assign properly" - assert data.name == "Bad time", "User not assign properly" + assert data.name == "Bad time", "Bad partner name" From 5218dca1d57e904e9542712fc1e59c2f79851849 Mon Sep 17 00:00:00 2001 From: "Quentin (OpenERP)" <qdp-launchpad@openerp.com> Date: Wed, 21 Mar 2012 11:12:32 +0100 Subject: [PATCH 211/313] [FIX] hr: fix related to the merge of res.partner and res.partner.address bzr revid: qdp-launchpad@openerp.com-20120321101232-j8qt4dhka50pp01o --- addons/hr/hr.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/hr/hr.py b/addons/hr/hr.py index 04de2a2147e..714a40cca71 100644 --- a/addons/hr/hr.py +++ b/addons/hr/hr.py @@ -197,7 +197,7 @@ class hr_employee(osv.osv): address_id = False if company: company_id = self.pool.get('res.company').browse(cr, uid, company, context=context) - address = self.pool.get('res.partner').address_get(cr, uid, [company_id.address_id.id], ['default']) + address = self.pool.get('res.partner').address_get(cr, uid, [company_id.partner_id.id], ['default']) address_id = address and address['default'] or False return {'value': {'address_id' : address_id}} From 0b84e8782018315c8149b8755bd4a56e8c15fc48 Mon Sep 17 00:00:00 2001 From: "Turkesh Patel (Open ERP)" <tpa@tinyerp.com> Date: Wed, 21 Mar 2012 16:43:25 +0530 Subject: [PATCH 212/313] [FIX] fix the yml test case of auction module. bzr revid: tpa@tinyerp.com-20120321111325-5qyo4xwajoflca3o --- addons/auction/test/auction.yml | 82 ++++++++++++++++----------------- 1 file changed, 40 insertions(+), 42 deletions(-) diff --git a/addons/auction/test/auction.yml b/addons/auction/test/auction.yml index f970ffe86dd..78c601502f1 100644 --- a/addons/auction/test/auction.yml +++ b/addons/auction/test/auction.yml @@ -1,6 +1,6 @@ - In order to test the auction module in the OpenERP I start the process by creating a product. -- +- !record {model: product.product, id: product_product_furniture0}: categ_id: product.cat1 cost_method: standard @@ -16,55 +16,53 @@ warranty: 0.0 weight: 0.0 weight_net: 0.0 - + +- + I create a new artist for an object. - - I create a new artist for an object. -- !record {model: auction.artists, id: auction_artists_vincentvangogh0}: birth_death_dates: 1853-1900 name: Vincent van Gogh - -- - I am modifying an expenses journal record for analytic journal. -- + +- + I am modifying an expenses journal record for analytic journal. +- !record {model: account.journal, id: account.expenses_journal}: analytic_journal_id: account.exp -- - I am modifying a sales journal record for analytic journal. -- +- + I am modifying a sales journal record for analytic journal. +- !record {model: account.journal, id: account.sales_journal}: - analytic_journal_id: account.cose_journal_sale + analytic_journal_id: account.cose_journal_sale - I'm creating new Buyer "Mr. Patel" with his email "info@myinfobid.com". -- +- !record {model: res.partner, id: res_partner_mrpatel0}: - address: - - city: Bruxelles + name: Mr. Patel + city: Bruxelles country_id: base.be street: Rue des Palais 51, bte 33 type: default zip: '1000' email: 'info@myinfobid.com' - name: Mr. Patel - + - I'm creating new Buyer "Mr. Rahi" with his email "info@poalrahi.com". -- +- !record {model: res.partner, id: res_partner_poalrahi0}: - address: - - city: Bruxelles + name: Mr. Rahi + city: Bruxelles country_id: base.be street: Rue des Palais 51, bte 33 type: default zip: '1000' email: 'info@poalrahi.com' - name: Mr. Rahi - - + + - I create an Account tax with 0.03 amount to give Buyer "3%" Commission. -- +- !record {model: account.tax, id: account_tax_buyer0}: amount: 0.029999999999999999 applicable_type: 'true' @@ -76,7 +74,7 @@ type_tax_use: all - I create another Account tax with 0.04 amount to give seller "4%" commission. -- +- !record {model: account.tax, id: account_tax_sellercosts0}: amount: 0.040000000000000001 applicable_type: 'true' @@ -85,8 +83,8 @@ name: Seller Costs(%4) sequence: 1 type: percent - type_tax_use: all - + type_tax_use: all + - Now I want to associate an object with the auction so for that I create an auction "Antique furniture exhibition" which start from 1 Aug to 31 Aug with Seller Commission 4%, buyer commission 3%. @@ -105,9 +103,9 @@ seller_costs: - auction.account_tax_sellercosts0 buyer_costs: - - auction.account_tax_buyer0 + - auction.account_tax_buyer0 - - An object is being deposited for an auction,I create a seller's deposit record with deposit cost. + An object is being deposited for an auction,I create a seller's deposit record with deposit cost. - !record {model: auction.deposit, id: auction_deposit_ad0}: date_dep: !eval "'%s-08-01' %(datetime.now().year)" @@ -117,7 +115,7 @@ specific_cost_ids: - account: auction.auction_expense amount: 200.0 - name: Transfer Cost + name: Transfer Cost - I create a new object wooden-chair which is to be auctioned. - @@ -156,7 +154,7 @@ - I create another bid for an object "wooden-chair" bid by a Mr.poalrahi -- +- !record {model: auction.bid, id: auction_bid_bid1}: auction_id: auction_dates_antiquefurnitureexhibition0 name: bid/002 @@ -170,10 +168,10 @@ call: 1 lot_id: auction.auction_lots_woodenchair0 price: 3200.0 - + - I create another bid for an object "wooden-chair" bid by a Mr.Seagate -- +- !record {model: auction.bid, id: auction_bid_bid2}: auction_id: auction_dates_antiquefurnitureexhibition0 name: bid/003 @@ -202,7 +200,7 @@ !python {model: auction.lots}: | self.button_bought(cr, uid, [ref("auction_lots_woodenchair0")], {"lang": "en_US", "tz": False, "active_model": "ir.ui.menu", "active_ids": [ref("auction.auction_lots_woodenchair0")], - "active_id": ref("auction.auction_lots_woodenchair0")}) + "active_id": ref("auction.auction_lots_woodenchair0")}) - I click on the "Create all invoices" button for all Objects in this Auction. - @@ -216,8 +214,8 @@ !python {model: auction.lots}: | from tools.translate import _ auc_id=self.browse(cr, uid, ref("auction_lots_woodenchair0")) - assert(auc_id.sel_inv_id), _('Seller Invoice has not been created!') - + assert(auc_id.sel_inv_id), _('Seller Invoice has not been created!') + - I create a buyer's invoice by using the "Invoice Buyer objects" wizard. - @@ -238,10 +236,10 @@ !python {model: auction.lots}: | from tools.translate import _ auc_id=self.browse(cr, uid, ref("auction_lots_woodenchair0")) - assert(auc_id.ach_inv_id), _('Buyer Invoice has not been created!') -- + assert(auc_id.ach_inv_id), _('Buyer Invoice has not been created!') +- Buyer pays the invoice -- +- !python {model: account.invoice}: | obj_lots = self.pool.get('auction.lots') lots_id = obj_lots.browse(cr, uid, ref("auction_lots_woodenchair0")) @@ -279,9 +277,9 @@ - !record {model: auction.lots.auction.move, id: auction_lots_auction_move_0}: auction_id: auction.auction_date_2 -- +- I click on the "Move to Auction date" button. -- +- !python {model: auction.lots.auction.move}: | self.auction_move_set(cr, uid, [ref("auction_lots_auction_move_0")], {"lang": "en_US", "tz": False, "active_model": "auction.lots", "active_ids": [ref("auction_lots_woodenchair0")], @@ -294,4 +292,4 @@ auc_id=self.browse(cr, uid, ref("auction_lots_woodenchair0")) auc_lot_his=self.pool.get('auction.lot.history') ids=auc_lot_his.search(cr, uid, [('lot_id', '=', auc_id.id)]) - assert ids, _('Auction history does not exists!') + assert ids, _('Auction history does not exists!') From 6767c92dfbd2d3e0792e7196d8942206772190f3 Mon Sep 17 00:00:00 2001 From: "Sbh(Openerp)" <> Date: Wed, 21 Mar 2012 16:52:09 +0530 Subject: [PATCH 213/313] [Fix] account_analytic_default: remove partner_id bzr revid: kjo@tinyerp.com-20120321112209-i9hphbcu0g60fqtg --- addons/account_analytic_default/account_analytic_default.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/account_analytic_default/account_analytic_default.py b/addons/account_analytic_default/account_analytic_default.py index c621028b2e7..2e770a70e53 100644 --- a/addons/account_analytic_default/account_analytic_default.py +++ b/addons/account_analytic_default/account_analytic_default.py @@ -89,7 +89,7 @@ class stock_picking(osv.osv): _inherit = "stock.picking" def _get_account_analytic_invoice(self, cursor, user, picking, move_line): - partner_id = picking.address_id and picking.address_id.partner_id or False + partner_id = picking.address_id and picking.address_id.id or False rec = self.pool.get('account.analytic.default').account_get(cursor, user, move_line.product_id.id, partner_id and partner_id.id, user, time.strftime('%Y-%m-%d'), context={}) if rec: From 3c030ba7abaecf90cba991a4b298079b3596f99f Mon Sep 17 00:00:00 2001 From: "Turkesh Patel (Open ERP)" <tpa@tinyerp.com> Date: Wed, 21 Mar 2012 16:59:19 +0530 Subject: [PATCH 214/313] [FIX]fixed the yml test case of membership module bzr revid: tpa@tinyerp.com-20120321112919-aiuhor1ozgs49q4i --- addons/membership/test/test_membership.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/addons/membership/test/test_membership.yml b/addons/membership/test/test_membership.yml index 27b755f156b..d182ebaf35b 100644 --- a/addons/membership/test/test_membership.yml +++ b/addons/membership/test/test_membership.yml @@ -54,15 +54,14 @@ I'm creating free member "Ms. Johnson" of "Gold Membership". - !record {model: res.partner, id: res_partner_msjohnson0}: - address: - - city: paris + name: Ms. Johnson + city: paris country_id: base.fr name: Ms. Johnson street: 1 rue Rockfeller type: invoice zip: '75016' - name: Ms. Johnson - free_member: True + free_member: True - | I'm checking "Current membership state" of "Ms. Johnson". It is an "Free Member" or not. From 8b24ce98a3e8543050406a3364749fcdcf9d250b Mon Sep 17 00:00:00 2001 From: "Sbh (Open ERP)" <> Date: Wed, 21 Mar 2012 17:03:29 +0530 Subject: [PATCH 215/313] [Fix] sale_mrp: remove unused field bzr revid: kjo@tinyerp.com-20120321113329-x00db2lze4kl12fm --- addons/sale_mrp/test/sale_mrp.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/addons/sale_mrp/test/sale_mrp.yml b/addons/sale_mrp/test/sale_mrp.yml index 739eea0d99d..a29c2c10d01 100644 --- a/addons/sale_mrp/test/sale_mrp.yml +++ b/addons/sale_mrp/test/sale_mrp.yml @@ -80,7 +80,6 @@ order_policy: manual partner_id: base.res_partner_4 partner_invoice_id: base.res_partner_address_7 - partner_order_id: base.res_partner_address_7 partner_shipping_id: base.res_partner_address_7 picking_policy: direct pricelist_id: product.list0 From fb1102f87b5b199101c785b44757e1f55bafa171 Mon Sep 17 00:00:00 2001 From: "Sbh (Open ERP)" <> Date: Wed, 21 Mar 2012 17:10:02 +0530 Subject: [PATCH 216/313] [Fix] sale_layout: remove unused field bzr revid: kjo@tinyerp.com-20120321114002-p6mxg8ho208pewve --- addons/sale_layout/report/report_sale_layout.rml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/sale_layout/report/report_sale_layout.rml b/addons/sale_layout/report/report_sale_layout.rml index 0692497488f..5cc7187e2b6 100644 --- a/addons/sale_layout/report/report_sale_layout.rml +++ b/addons/sale_layout/report/report_sale_layout.rml @@ -155,12 +155,12 @@ </td> <td> <para style="terp_default_9">[[ (o.partner_id and o.partner_id.title and o.partner_id.title.name) or '' ]] [[ (o.partner_id and o.partner_id.name) or '' ]]</para> - <para style="terp_default_9">[[ o.partner_order_id and display_address(o.partner_order_id) ]] </para> + <para style="terp_default_9">[[ o.partner_id and display_address(o.partner_id) ]] </para> <para style="terp_default_9"> <font color="white"> </font> </para> - <para style="terp_default_9">Tel. : [[ (o.partner_order_id and o.partner_order_id.phone) or removeParentNode('para') ]]</para> - <para style="terp_default_9">Fax : [[ (o.partner_order_id and o.partner_order_id.fax) or removeParentNode('para') ]]</para> + <para style="terp_default_9">Tel. : [[ (o.partner_id and o.partner_id.phone) or removeParentNode('para') ]]</para> + <para style="terp_default_9">Fax : [[ (o.partner_id and o.partner_id.fax) or removeParentNode('para') ]]</para> <para style="terp_default_9">TVA : [[ (o.partner_id and o.partner_id.vat) or removeParentNode('para') ]]</para> <para style="terp_default_9"> <font color="white"> </font> From c16e8182c0732f86da39323e83c4d6c2daeb7f2e Mon Sep 17 00:00:00 2001 From: "Sbh (Open ERP)" <> Date: Wed, 21 Mar 2012 17:12:27 +0530 Subject: [PATCH 217/313] [Fix] sale_crm: remove unused field bzr revid: kjo@tinyerp.com-20120321114227-mkm1rtuoplnfq339 --- addons/sale_crm/wizard/crm_make_sale.py | 1 - 1 file changed, 1 deletion(-) diff --git a/addons/sale_crm/wizard/crm_make_sale.py b/addons/sale_crm/wizard/crm_make_sale.py index c3515cc5b0b..fe79815fbee 100644 --- a/addons/sale_crm/wizard/crm_make_sale.py +++ b/addons/sale_crm/wizard/crm_make_sale.py @@ -95,7 +95,6 @@ class crm_make_sale(osv.osv_memory): 'partner_id': partner.id, 'pricelist_id': pricelist, 'partner_invoice_id': partner_addr['invoice'], - 'partner_order_id': partner_addr['contact'], 'partner_shipping_id': partner_addr['delivery'], 'date_order': fields.date.context_today(self,cr,uid,context=context), 'fiscal_position': fpos, From bc4bddebbb4959ab92f99b50a4b760f81c7e0de8 Mon Sep 17 00:00:00 2001 From: "Sbh (Open ERP)" <> Date: Wed, 21 Mar 2012 17:24:15 +0530 Subject: [PATCH 218/313] [Fix] sale_margin: remove unused field bzr revid: kjo@tinyerp.com-20120321115415-lizj10uwll9bdn50 --- addons/sale_margin/test/sale_margin.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/addons/sale_margin/test/sale_margin.yml b/addons/sale_margin/test/sale_margin.yml index 75eabce03b1..59999a782fa 100644 --- a/addons/sale_margin/test/sale_margin.yml +++ b/addons/sale_margin/test/sale_margin.yml @@ -22,7 +22,6 @@ order_policy: manual partner_id: base.res_partner_4 partner_invoice_id: base.res_partner_address_7 - partner_order_id: base.res_partner_address_7 partner_shipping_id: base.res_partner_address_7 picking_policy: direct pricelist_id: product.list0 From dc33a0e7624123077605b29b7ef5e78d3d30d6fa Mon Sep 17 00:00:00 2001 From: "Turkesh Patel (Open ERP)" <tpa@tinyerp.com> Date: Wed, 21 Mar 2012 17:37:42 +0530 Subject: [PATCH 219/313] [FIX] fixed yml test case of stock_location module. bzr revid: tpa@tinyerp.com-20120321120742-7wgg5wr5tinmvgw5 --- addons/stock_location/stock_location.py | 2 +- .../test/stock_location_pull_flow.yml | 7 +++---- .../test/stock_location_push_flow.yml | 13 +++++++------ 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/addons/stock_location/stock_location.py b/addons/stock_location/stock_location.py index 16bf0501f36..de4e2e7f561 100644 --- a/addons/stock_location/stock_location.py +++ b/addons/stock_location/stock_location.py @@ -68,7 +68,7 @@ class product_pulled_flow(osv.osv): 'procure_method': fields.selection([('make_to_stock','Make to Stock'),('make_to_order','Make to Order')], 'Procure Method', required=True, help="'Make to Stock': When needed, take from the stock or wait until re-supplying. 'Make to Order': When needed, purchase or produce for the procurement request."), 'type_proc': fields.selection([('produce','Produce'),('buy','Buy'),('move','Move')], 'Type of Procurement', required=True), 'company_id': fields.many2one('res.company', 'Company', help="Is used to know to which company belong packings and moves"), - 'partner_address_id': fields.many2one('res.partner.address', 'Partner Address'), + 'partner_address_id': fields.many2one('res.partner', 'Partner Address'), 'picking_type': fields.selection([('out','Sending Goods'),('in','Getting Goods'),('internal','Internal')], 'Shipping Type', required=True, select=True, help="Depending on the company, choose whatever you want to receive or send products"), 'product_id':fields.many2one('product.product','Product'), 'invoice_state': fields.selection([ diff --git a/addons/stock_location/test/stock_location_pull_flow.yml b/addons/stock_location/test/stock_location_pull_flow.yml index c5e134181f7..3660e9c8ac6 100644 --- a/addons/stock_location/test/stock_location_pull_flow.yml +++ b/addons/stock_location/test/stock_location_pull_flow.yml @@ -106,11 +106,10 @@ I create a Supplier. - !record {model: res.partner, id: res_partner_shawtrust0}: - address: - - country_id: base.in - - street: St James House, Vicar Lane, Sheffield + name: Shaw Trust lang: en_US - name: 'Shaw Trust ' + country_id: base.in + street: St James House, Vicar Lane, Sheffiel property_account_payable: account_account_payable0 property_account_receivable: account_account_receivable0 - diff --git a/addons/stock_location/test/stock_location_push_flow.yml b/addons/stock_location/test/stock_location_push_flow.yml index b6a938e99e5..3de87afccd1 100644 --- a/addons/stock_location/test/stock_location_push_flow.yml +++ b/addons/stock_location/test/stock_location_push_flow.yml @@ -11,19 +11,20 @@ I create Supplier. - !record {model: res.partner, id: res_partner_microlinktechnologies0}: - address: - - street: Kailash Vaibhav, Parksite + street: Kailash Vaibhav, Parksite name: Micro Link Technologies property_account_payable: account_account_payable0 property_account_receivable: account_account_receivable0 supplier: true + is_company: true - I create Supplier address. - - !record {model: res.partner.address, id: res_partner_address_0}: + !record {model: res.partner, id: res_partner_address_0}: + name: Micro Link Technologies country_id: base.in - partner_id: res_partner_microlinktechnologies0 + parent_id: res_partner_microlinktechnologies0 street: Ash House, Ash Road title: base.res_partner_title_miss @@ -104,12 +105,12 @@ - !python {model: stock.picking }: | import time - picking_id = self.search(cr, uid, [('address_id.partner_id','=',ref('res_partner_microlinktechnologies0')),('type','=','in')]) + picking_id = self.search(cr, uid, [('address_id.parent_id','=',ref('res_partner_microlinktechnologies0')),('type','=','in')]) if picking_id: pick=self.browse(cr,uid,picking_id[0]) move =pick.move_lines[0] partial_datas = { - 'partner_id':pick.address_id.partner_id.id, + 'partner_id':pick.address_id.parent_id.id, 'address_id': pick.address_id.id, 'delivery_date' : time.strftime('%Y-%m-%d'), } From d499f58b77c51a9caafce225f7a81f060a372a70 Mon Sep 17 00:00:00 2001 From: "Sbh (Open ERP)" <> Date: Wed, 21 Mar 2012 17:51:12 +0530 Subject: [PATCH 220/313] [Fix] account_analytic_default: fix field vaule bzr revid: kjo@tinyerp.com-20120321122112-r6icwv3fr3wbpn8b --- addons/account_analytic_default/account_analytic_default.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/account_analytic_default/account_analytic_default.py b/addons/account_analytic_default/account_analytic_default.py index 2e770a70e53..9eac51d7579 100644 --- a/addons/account_analytic_default/account_analytic_default.py +++ b/addons/account_analytic_default/account_analytic_default.py @@ -90,7 +90,7 @@ class stock_picking(osv.osv): def _get_account_analytic_invoice(self, cursor, user, picking, move_line): partner_id = picking.address_id and picking.address_id.id or False - rec = self.pool.get('account.analytic.default').account_get(cursor, user, move_line.product_id.id, partner_id and partner_id.id, user, time.strftime('%Y-%m-%d'), context={}) + rec = self.pool.get('account.analytic.default').account_get(cursor, user, move_line.product_id.id, partner_id , user, time.strftime('%Y-%m-%d'), context={}) if rec: return rec.analytic_id.id From 0fa923b8d81f28720b00db2d9e35eedcc013849c Mon Sep 17 00:00:00 2001 From: "Sbh (Open ERP)" <> Date: Wed, 21 Mar 2012 17:55:37 +0530 Subject: [PATCH 221/313] [Fix] hr_timesheet_invoice:remove warning message for address field bzr revid: kjo@tinyerp.com-20120321122537-l5zj0cr790xwjnm1 --- .../wizard/hr_timesheet_invoice_create.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/addons/hr_timesheet_invoice/wizard/hr_timesheet_invoice_create.py b/addons/hr_timesheet_invoice/wizard/hr_timesheet_invoice_create.py index 594a0a31c11..bcae996a8ee 100644 --- a/addons/hr_timesheet_invoice/wizard/hr_timesheet_invoice_create.py +++ b/addons/hr_timesheet_invoice/wizard/hr_timesheet_invoice_create.py @@ -64,9 +64,7 @@ class account_analytic_line(osv.osv): raise osv.except_osv(_('Analytic Account incomplete'), _('Please fill in the Partner or Customer and Sale Pricelist fields in the Analytic Account:\n%s') % (account.name,)) - if not partner.address: - raise osv.except_osv(_('Partner incomplete'), - _('Please fill in the Address field in the Partner: %s.') % (partner.name,)) + date_due = False if partner.property_payment_term: From 3e3219f033a8ed9498f176437c90809ee2c4e3f3 Mon Sep 17 00:00:00 2001 From: "Sbh (Open ERP)" <> Date: Wed, 21 Mar 2012 18:01:00 +0530 Subject: [PATCH 222/313] [Fix] stock_planing:remove for address field bzr revid: kjo@tinyerp.com-20120321123100-rgvojy4fz69rkhq6 --- addons/stock_planning/test/stock_planning.yml | 1 - addons/warning/warning.py | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/addons/stock_planning/test/stock_planning.yml b/addons/stock_planning/test/stock_planning.yml index 8e26d690f53..2b75f5a5d94 100644 --- a/addons/stock_planning/test/stock_planning.yml +++ b/addons/stock_planning/test/stock_planning.yml @@ -157,7 +157,6 @@ order_policy: manual partner_id: base.res_partner_desertic_hispafuentes partner_invoice_id: base.res_partner_address_3000 - partner_order_id: base.res_partner_address_3000 partner_shipping_id: base.res_partner_address_3000 picking_policy: direct pricelist_id: product.list0 diff --git a/addons/warning/warning.py b/addons/warning/warning.py index 3a86b1063f8..4993b737cd7 100644 --- a/addons/warning/warning.py +++ b/addons/warning/warning.py @@ -57,7 +57,7 @@ class sale_order(osv.osv): _inherit = 'sale.order' def onchange_partner_id(self, cr, uid, ids, part): if not part: - return {'value':{'partner_invoice_id': False, 'partner_shipping_id':False, 'partner_order_id':False, 'payment_term' : False}} + return {'value':{'partner_invoice_id': False, 'partner_shipping_id':False, 'payment_term' : False}} warning = {} title = False message = False From 2e22ed0af74b2226913645d9cd8acab6141c4847 Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Wed, 21 Mar 2012 18:21:27 +0530 Subject: [PATCH 223/313] [fix]stock_invoice_directly: fix partner id bzr revid: kjo@tinyerp.com-20120321125127-63k0cfrjix2iewtn --- addons/stock_invoice_directly/test/stock_invoice_directly.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/stock_invoice_directly/test/stock_invoice_directly.yml b/addons/stock_invoice_directly/test/stock_invoice_directly.yml index f07e2dbfa31..7c9626d1644 100644 --- a/addons/stock_invoice_directly/test/stock_invoice_directly.yml +++ b/addons/stock_invoice_directly/test/stock_invoice_directly.yml @@ -55,7 +55,7 @@ !python {model: account.invoice}: | picking_obj = self.pool.get('stock.picking') picking = picking_obj.browse(cr, uid, [ref('stock_picking_out0')]) - partner = picking[0].address_id.partner_id.id + partner = picking[0].address_id.id inv_ids = self.search(cr, uid, [('type','=','out_invoice'),('partner_id','=',partner)]) assert inv_ids, 'No Invoice is generated!' From 00d38b33f9ac38bf0f27279c7851465fd4ac971e Mon Sep 17 00:00:00 2001 From: "Turkesh Patel (Open ERP)" <tpa@tinyerp.com> Date: Wed, 21 Mar 2012 18:46:54 +0530 Subject: [PATCH 224/313] [FIX] Improved code in l10n_fr_rib module. bzr revid: tpa@tinyerp.com-20120321131654-6gf1cde4hwctfyba --- addons/l10n_fr_rib/bank_view.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/l10n_fr_rib/bank_view.xml b/addons/l10n_fr_rib/bank_view.xml index b974df2e999..38c51df58e0 100644 --- a/addons/l10n_fr_rib/bank_view.xml +++ b/addons/l10n_fr_rib/bank_view.xml @@ -9,7 +9,7 @@ <field name="type">form</field> <field name="arch" type="xml"> <data> - <xpath expr="/form/notebook/page[@string='Accounting']/field[@name='bank_ids']/form/field[@name='acc_number']" position="before"> + <xpath expr="//page[@string='Accounting']/field[@name='bank_ids']/form/field[@name='acc_number']" position="before"> <newline /> <field name="bank_code" /> <field name="office" /> @@ -17,7 +17,7 @@ <field name="key" /> <newline /> </xpath> - <xpath expr="/form/notebook/page[@string='Accounting']/field[@name='bank_ids']/tree/field[@name='acc_number']" position="after"> + <xpath expr="//page[@string='Accounting']/field[@name='bank_ids']/tree/field[@name='acc_number']" position="after"> <field name="rib_acc_number"/> </xpath> </data> From f54017daeb55e515311b154cd74b3950e44ce5e5 Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Wed, 21 Mar 2012 18:50:07 +0530 Subject: [PATCH 225/313] [Fix] sale: Fix edi issue bzr revid: kjo@tinyerp.com-20120321132007-618c7dirzqtlu3ob --- addons/sale/edi/sale_order.py | 4 ++-- addons/sale/test/edi_sale_order.yml | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/addons/sale/edi/sale_order.py b/addons/sale/edi/sale_order.py index d36c31cea5f..841a3741d2c 100644 --- a/addons/sale/edi/sale_order.py +++ b/addons/sale/edi/sale_order.py @@ -110,13 +110,13 @@ class sale_order(osv.osv, EDIMixin): # imported company_address = new partner address address_info = edi_document.pop('company_address') -# address_info['partner_id'] = (src_company_id, src_company_name) + address_info['parent_id'] = (src_company_id, src_company_name) address_info['type'] = 'default' address_id = res_partner.edi_import(cr, uid, address_info, context=context) # modify edi_document to refer to new partner/address partner_address = res_partner.browse(cr, uid, address_id, context=context) -# edi_document['partner_id'] = (src_company_id, src_company_name) + # edi_document['parent_id'] = (src_company_id, src_company_name) edi_document.pop('partner_address', False) # ignored address_edi_m2o = self.edi_m2o(cr, uid, partner_address, context=context) edi_document['partner_invoice_id'] = address_edi_m2o diff --git a/addons/sale/test/edi_sale_order.yml b/addons/sale/test/edi_sale_order.yml index 8ed51b364f7..74319adec6d 100644 --- a/addons/sale/test/edi_sale_order.yml +++ b/addons/sale/test/edi_sale_order.yml @@ -56,6 +56,7 @@ "__id": "base:5af1272e-dd26-11e0-b65e-701a04e25543.some_address", "__module": "base", "__model": "res.partner", + "name":"Chaussee", "phone": "(+32).81.81.37.00", "street": "Chaussee de Namur 40", "city": "Gerompont", From fe68058050f761c1479efd900cdc8c255e404227 Mon Sep 17 00:00:00 2001 From: "Turkesh Patel (Open ERP)" <tpa@tinyerp.com> Date: Wed, 21 Mar 2012 19:01:08 +0530 Subject: [PATCH 226/313] [FIX] improved code in delivery bzr revid: tpa@tinyerp.com-20120321133108-7c3gngrpi2i5qr8j --- addons/delivery/report/shipping.rml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/delivery/report/shipping.rml b/addons/delivery/report/shipping.rml index 3709c465e66..a270d13fbd5 100644 --- a/addons/delivery/report/shipping.rml +++ b/addons/delivery/report/shipping.rml @@ -125,7 +125,7 @@ <para style="terp_default_8"> <font color="white"> </font> </para> - + <blockTable colWidths="287.0,254.0" repeatRows="1" style="Tableau1"> <tr> <td> @@ -134,7 +134,7 @@ <para style="terp_default_9">[[ o.sale_id and o.sale_id.partner_invoice_id and display_address(o.sale_id.partner_invoice_id) ]]</para> </td> <td> - <para style="terp_default_9">[[ o.address_id and o.address_id.partner_id and o.address_id.partner_id.name or '' ]]</para> + <para style="terp_default_9">[[ o.address_id and o.address_id and o.address_id.name or '' ]]</para> <para style="terp_default_9">[[ o.address_id and o.address_id and display_address(o.address_id) ]]</para> </td> </tr> From 0102e40253f7103f2d41e5d8b1ec416e2be33f76 Mon Sep 17 00:00:00 2001 From: Olivier Dony <odo@openerp.com> Date: Wed, 21 Mar 2012 16:15:23 +0100 Subject: [PATCH 227/313] [IMP] ir.model: lint cleanup bzr revid: odo@openerp.com-20120321151523-vy01phnlz1zinldo --- openerp/addons/base/ir/ir_model.py | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/openerp/addons/base/ir/ir_model.py b/openerp/addons/base/ir/ir_model.py index 4d16dc8b935..1dcd78d62ce 100644 --- a/openerp/addons/base/ir/ir_model.py +++ b/openerp/addons/base/ir/ir_model.py @@ -1,5 +1,5 @@ +# -*- coding: utf-8 -*- - # -*- coding: utf-8 -*- ############################################################################## # # OpenERP, Open Source Management Solution @@ -74,7 +74,7 @@ class ir_model(osv.osv): def _search_osv_memory(self, cr, uid, model, name, domain, context=None): if not domain: return [] - field, operator, value = domain[0] + _, operator, value = domain[0] if operator not in ['=', '!=']: raise osv.except_osv(_('Invalid search criterions'), _('The osv_memory field can only be compared with = and != operator.')) value = bool(value) if operator == '=' else not bool(value) @@ -315,7 +315,7 @@ class ir_model_fields(osv.osv): raise except_orm(_('Error'), _("Custom fields must have a name that starts with 'x_' !")) if vals.get('relation',False) and not self.pool.get('ir.model').search(cr, user, [('model','=',vals['relation'])]): - raise except_orm(_('Error'), _("Model %s does not exist!") % vals['relation']) + raise except_orm(_('Error'), _("Model %s does not exist!") % vals['relation']) if self.pool.get(vals['model']): self.pool.get(vals['model']).__init__(self.pool, cr) @@ -434,7 +434,7 @@ class ir_model_fields(osv.osv): ctx = context.copy() ctx.update({'select': vals.get('select_level','0'),'update_custom_fields':True}) - for model_key, patch_struct in models_patch.items(): + for _, patch_struct in models_patch.items(): obj = patch_struct[0] for col_name, col_prop, val in patch_struct[1]: setattr(obj._columns[col_name], col_prop, val) @@ -828,8 +828,8 @@ class ir_model_data(osv.osv): # test if constraint exists cr.execute('select conname from pg_constraint where contype=%s and conname=%s',('f', name),) if cr.fetchall(): - cr.execute('ALTER TABLE "%s" DROP CONSTRAINT "%s"' % (model,name),) - _logger.info('Drop CONSTRAINT %s@%s', name, model) + cr.execute('ALTER TABLE "%s" DROP CONSTRAINT "%s"' % (model,name),) + _logger.info('Drop CONSTRAINT %s@%s', name, model) continue if str(name).startswith('table_'): @@ -840,7 +840,7 @@ class ir_model_data(osv.osv): continue if str(name).startswith('constraint_'): - # test if constraint exists + # test if constraint exists cr.execute('select conname from pg_constraint where contype=%s and conname=%s',('u', name),) if cr.fetchall(): cr.execute('ALTER TABLE "%s" DROP CONSTRAINT "%s"' % (model_obj._table,name[11:]),) @@ -856,7 +856,7 @@ class ir_model_data(osv.osv): for model,res_id in wkf_todo: wf_service = netsvc.LocalService("workflow") try: - wf_service.trg_write(uid, model, res_id, cr) + wf_service.trg_write(uid, model, res_id, cr) except: _logger.info('Unable to process workflow %s@%s', res_id, model) @@ -911,7 +911,6 @@ class ir_model_data(osv.osv): if not modules: return True modules = list(modules) - data_ids = self.search(cr, uid, [('module','in',modules)]) module_in = ",".join(["%s"] * len(modules)) process_query = 'select id,name,model,res_id,module from ir_model_data where module IN (' + module_in + ')' process_query+= ' and noupdate=%s' @@ -926,6 +925,5 @@ class ir_model_data(osv.osv): _logger.info('Deleting %s@%s', res_id, model) self.pool.get(model).unlink(cr, uid, [res_id]) -ir_model_data() # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: From f5f9d458b6915c71afe7d1a7781f2db7a74f6fa0 Mon Sep 17 00:00:00 2001 From: "Turkesh Patel (Open ERP)" <tpa@tinyerp.com> Date: Thu, 22 Mar 2012 11:48:46 +0530 Subject: [PATCH 228/313] [FIX] improved code in edi and l10n_ch modules. bzr revid: tpa@tinyerp.com-20120322061846-021c8rb9yfkespr4 --- addons/edi/models/res_partner.py | 6 +++--- addons/l10n_ch/bank_view.xml | 6 +++--- addons/l10n_ch/test/l10n_ch_report.yml | 24 ++++++++++++------------ addons/l10n_ch/wizard/create_dta.py | 2 +- addons/purchase/__openerp__.py | 2 +- addons/purchase/edi/purchase_order.py | 21 +++++++-------------- addons/sale/edi/sale_order.py | 21 +++++++++------------ addons/sale/test/edi_sale_order.yml | 13 ++++++------- 8 files changed, 42 insertions(+), 53 deletions(-) diff --git a/addons/edi/models/res_partner.py b/addons/edi/models/res_partner.py index 95a8811e2aa..f5f728765de 100644 --- a/addons/edi/models/res_partner.py +++ b/addons/edi/models/res_partner.py @@ -20,7 +20,7 @@ ############################################################################## import logging -from osv import fields,osv +from osv import fields,osv from edi import EDIMixin from openerp import SUPERUSER_ID from tools.translate import _ @@ -74,9 +74,9 @@ class res_partner(osv.osv, EDIMixin): edi_bank_ids = edi_document.pop('bank_ids', None) contact_id = super(res_partner,self).edi_import(cr, uid, edi_document, context=context) if edi_bank_ids: - contacts = self.browse(cr, uid, contact_id, context=context) + contact = self.browse(cr, uid, contact_id, context=context) import_ctx = dict((context or {}), - default_partner_id=contacts.parent_id.id, + default_partner_id=contact.id, default_state=self._get_bank_type(cr, uid, context)) for ext_bank_id, bank_name in edi_bank_ids: try: diff --git a/addons/l10n_ch/bank_view.xml b/addons/l10n_ch/bank_view.xml index 2ede389d7e1..9c994d8035e 100644 --- a/addons/l10n_ch/bank_view.xml +++ b/addons/l10n_ch/bank_view.xml @@ -153,13 +153,13 @@ <field name="inherit_id" ref="base.view_partner_form"/> <field name="type">form</field> <field name="arch" type="xml"> - <xpath expr="/form/notebook/page/field[@name='bank_ids']/tree/field[@name='acc_number']" position="before"> + <xpath expr="//page/field[@name='bank_ids']/tree/field[@name='acc_number']" position="before"> <field name="state" /> - <field name="bank" /> + <field name="bank" /> </xpath> </field> </record> - + <!-- res.partner form bank list--> <!-- Adding Type and bank name --> <record id="l10nch_view_partner_bank_invoice_tree" model="ir.ui.view"> diff --git a/addons/l10n_ch/test/l10n_ch_report.yml b/addons/l10n_ch/test/l10n_ch_report.yml index 4d9997a03cb..07a139761e9 100644 --- a/addons/l10n_ch/test/l10n_ch_report.yml +++ b/addons/l10n_ch/test/l10n_ch_report.yml @@ -1,34 +1,34 @@ -- +- In order to test BVR printing. I create Partner data . -- +- !record {model: res.partner.category, id: res_partner_category_bvr}: name: Customers - I create BVR DUMMY Customer. -- +- !record {model: res.partner, id: res_partner_bvr}: category_id: - res_partner_category_bvr name: BVR DUMMY -- +- I create contact address for BVR DUMMY. -- +- !record {model: res.partner, id: res_partner_address_1}: - partner_id: res_partner_bvr + parent_id: res_partner_bvr street: Route de Bélario type: contact -- +- I create invoice address for BVR DUMMY. -- +- !record {model: res.partner, id: res_partner_address_2}: - partner_id: res_partner_bvr + parent_id: res_partner_bvr street: Route de Bélario type: invoice -- +- I create delivery address for BVR DUMMY. -- +- !record {model: res.partner, id: res_partner_address_3}: - partner_id: res_partner_bvr + parent_id: res_partner_bvr street: Route de Bélario type: delivery diff --git a/addons/l10n_ch/wizard/create_dta.py b/addons/l10n_ch/wizard/create_dta.py index 2b640799c17..836853fa4fa 100644 --- a/addons/l10n_ch/wizard/create_dta.py +++ b/addons/l10n_ch/wizard/create_dta.py @@ -491,7 +491,7 @@ def _create_dta(obj, cr, uid, data, context=None): or '' else: v['partner_country']= pline.partner_id.country_id \ - and pline.partner_id.acountry_id.name \ + and pline.partner_id.country_id.name \ or '' else: v['partner_street'] ='' diff --git a/addons/purchase/__openerp__.py b/addons/purchase/__openerp__.py index f3f77f0f23c..5b3902cf1cd 100644 --- a/addons/purchase/__openerp__.py +++ b/addons/purchase/__openerp__.py @@ -67,7 +67,7 @@ Dashboard for purchase management that includes: 'test/process/generate_invoice_from_reception.yml', 'test/process/run_scheduler.yml', 'test/process/merge_order.yml', -# 'test/process/edi_purchase_order.yml', + 'test/process/edi_purchase_order.yml', 'test/process/invoice_on_poline.yml', 'test/ui/print_report.yml', 'test/ui/duplicate_order.yml', diff --git a/addons/purchase/edi/purchase_order.py b/addons/purchase/edi/purchase_order.py index cdc2f319bc6..e899ba65563 100644 --- a/addons/purchase/edi/purchase_order.py +++ b/addons/purchase/edi/purchase_order.py @@ -65,7 +65,7 @@ class purchase_order(osv.osv, EDIMixin): """Exports a purchase order""" edi_struct = dict(edi_struct or PURCHASE_ORDER_EDI_STRUCT) res_company = self.pool.get('res.company') - res_partner_address = self.pool.get('res.partner.address') + res_partner_address = self.pool.get('res.partner') edi_doc_list = [] for order in records: # generate the main report @@ -95,29 +95,22 @@ class purchase_order(osv.osv, EDIMixin): # the desired company among the user's allowed companies self._edi_requires_attributes(('company_id','company_address'), edi_document) - res_partner_address = self.pool.get('res.partner.address') + res_partner_address = self.pool.get('res.partner') res_partner = self.pool.get('res.partner') - - # imported company = as a new partner - src_company_id, src_company_name = edi_document.pop('company_id') - partner_id = self.edi_import_relation(cr, uid, 'res.partner', src_company_name, - src_company_id, context=context) - partner_value = {'customer': True} - res_partner.write(cr, uid, [partner_id], partner_value, context=context) - # imported company_address = new partner address + src_company_id, src_company_name = edi_document.pop('company_id') address_info = edi_document.pop('company_address') - address_info['partner_id'] = (src_company_id, src_company_name) - address_info['type'] = 'default' + address_info['customer'] = True + if 'name' not in address_info: + address_info['name'] = src_company_name address_id = res_partner_address.edi_import(cr, uid, address_info, context=context) # modify edi_document to refer to new partner/address partner_address = res_partner_address.browse(cr, uid, address_id, context=context) - edi_document['partner_id'] = (src_company_id, src_company_name) edi_document.pop('partner_address', False) # ignored edi_document['partner_id'] = self.edi_m2o(cr, uid, partner_address, context=context) - return partner_id + return address_id def _edi_get_pricelist(self, cr, uid, partner_id, currency, context=None): # TODO: refactor into common place for purchase/sale, e.g. into product module diff --git a/addons/sale/edi/sale_order.py b/addons/sale/edi/sale_order.py index 841a3741d2c..03a59dff0f5 100644 --- a/addons/sale/edi/sale_order.py +++ b/addons/sale/edi/sale_order.py @@ -101,28 +101,25 @@ class sale_order(osv.osv, EDIMixin): self._edi_requires_attributes(('company_id','company_address'), edi_document) res_partner = self.pool.get('res.partner') - # imported company = as a new partner - src_company_id, src_company_name = edi_document.pop('company_id') - partner_id = self.edi_import_relation(cr, uid, 'res.partner', src_company_name, - src_company_id, context=context) - partner_value = {'supplier': True} - res_partner.write(cr, uid, [partner_id], partner_value, context=context) - # imported company_address = new partner address + src_company_id, src_company_name = edi_document.pop('company_id') + address_info = edi_document.pop('company_address') - address_info['parent_id'] = (src_company_id, src_company_name) - address_info['type'] = 'default' + address_info['supplier'] = True + if 'name' not in address_info: + address_info['name'] = src_company_name + address_id = res_partner.edi_import(cr, uid, address_info, context=context) # modify edi_document to refer to new partner/address partner_address = res_partner.browse(cr, uid, address_id, context=context) - # edi_document['parent_id'] = (src_company_id, src_company_name) edi_document.pop('partner_address', False) # ignored address_edi_m2o = self.edi_m2o(cr, uid, partner_address, context=context) + edi_document['partner_id'] = address_edi_m2o edi_document['partner_invoice_id'] = address_edi_m2o edi_document['partner_shipping_id'] = address_edi_m2o - return partner_id + return address_id def _edi_get_pricelist(self, cr, uid, partner_id, currency, context=None): # TODO: refactor into common place for purchase/sale, e.g. into product module @@ -210,7 +207,7 @@ class sale_order_line(osv.osv, EDIMixin): product_qty=line.product_uos_qty) # company.security_days is for internal use, so customer should only - # see the expected date_planned based on line.delay + # see the expected date_planned based on line.delay date_planned = datetime.strptime(line.order_id.date_order, DEFAULT_SERVER_DATE_FORMAT) + \ relativedelta(days=line.delay or 0.0) edi_doc['date_planned'] = date_planned.strftime(DEFAULT_SERVER_DATE_FORMAT) diff --git a/addons/sale/test/edi_sale_order.yml b/addons/sale/test/edi_sale_order.yml index 74319adec6d..af9a9b3aad6 100644 --- a/addons/sale/test/edi_sale_order.yml +++ b/addons/sale/test/edi_sale_order.yml @@ -56,17 +56,16 @@ "__id": "base:5af1272e-dd26-11e0-b65e-701a04e25543.some_address", "__module": "base", "__model": "res.partner", - "name":"Chaussee", - "phone": "(+32).81.81.37.00", - "street": "Chaussee de Namur 40", - "city": "Gerompont", - "zip": "1367", + "phone": "(+32).81.81.37.00", + "street": "Chaussee de Namur 40", + "city": "Gerompont", + "zip": "1367", "country_id": ["base:5af1272e-dd26-11e0-b65e-701a04e25543.be", "Belgium"], "bank_ids": [ ["base:5af1272e-dd26-11e0-b65e-701a04e25543.res_partner_bank-adaWadsadasdDJzGbp","Ladies bank: 032465789-156113"] ], - }, - "partner_id": ["purchase:5af1272e-dd26-11e0-b65e-701a04e25543.res_partner_test20", "jones white"], + }, + "partner_id": ["purchase:5af1272e-dd26-11e0-b65e-701a04e25543.res_partner_test20", "jones white"], "order_line": [{ "__id": "purchase:5af1272e-dd26-11e0-b65e-701a04e25543.purchase_order_line-AlhsVDZGoKvJ", "__module": "purchase", From 181042470c48421fa6ff24f0ee7fb5df8e126a2e Mon Sep 17 00:00:00 2001 From: "Turkesh Patel (Open ERP)" <tpa@tinyerp.com> Date: Thu, 22 Mar 2012 12:37:02 +0530 Subject: [PATCH 229/313] [FIX]account: fixed edi. bzr revid: tpa@tinyerp.com-20120322070702-19ee4c7s90ga078l --- addons/account/edi/invoice.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/addons/account/edi/invoice.py b/addons/account/edi/invoice.py index 7c326fdc467..cada93e75e0 100644 --- a/addons/account/edi/invoice.py +++ b/addons/account/edi/invoice.py @@ -126,30 +126,30 @@ class account_invoice(osv.osv, EDIMixin): self._edi_requires_attributes(('company_id','company_address','type'), edi_document) res_partner = self.pool.get('res.partner') - # imported company = new partner src_company_id, src_company_name = edi_document.pop('company_id') - partner_id = self.edi_import_relation(cr, uid, 'res.partner', src_company_name, - src_company_id, context=context) + invoice_type = edi_document['type'] partner_value = {} if invoice_type in ('out_invoice', 'out_refund'): partner_value.update({'customer': True}) if invoice_type in ('in_invoice', 'in_refund'): partner_value.update({'supplier': True}) - res_partner.write(cr, uid, [partner_id], partner_value, context=context) # imported company_address = new partner address address_info = edi_document.pop('company_address') - address_info['parent_id'] = (src_company_id, src_company_name) + if 'name' not in address_info: + address_info['name'] = src_company_name address_info['type'] = 'invoice' + address_info.update(partner_value) address_id = res_partner.edi_import(cr, uid, address_info, context=context) # modify edi_document to refer to new partner partner_address = res_partner.browse(cr, uid, address_id, context=context) - edi_document['partner_id'] = (src_company_id, src_company_name) + address_edi_m2o = self.edi_m2o(cr, uid, partner_address, context=context) + edi_document['partner_id'] = address_edi_m2o edi_document.pop('partner_address', False) # ignored - return partner_id + return address_id def edi_import(self, cr, uid, edi_document, context=None): From 91f6304dbb5ace3f58393877e2c19d6a80e1b8b1 Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Thu, 22 Mar 2012 12:58:03 +0530 Subject: [PATCH 230/313] [FIX]hr_recruitment: remove partner_id from demo bzr revid: kjo@tinyerp.com-20120322072803-8zc6prppozjwh4ra --- addons/hr_recruitment/hr_recruitment_demo.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/addons/hr_recruitment/hr_recruitment_demo.yml b/addons/hr_recruitment/hr_recruitment_demo.yml index f51a1fd49f5..9160c2fb1d2 100644 --- a/addons/hr_recruitment/hr_recruitment_demo.yml +++ b/addons/hr_recruitment/hr_recruitment_demo.yml @@ -12,7 +12,6 @@ - !record {model: hr.applicant, id: hr_case_traineemca0}: - partner_id: base.res_partner_address_14 date: !eval time.strftime('%Y-%m-10 18:15:00') type_id: degree_bac5 priority: '3' @@ -70,7 +69,6 @@ partner_phone: '33968745' - !record {model: hr.applicant, id: hr_case_traineemca1}: - partner_id: base.res_partner_address_14 date: !eval time.strftime('%Y-%m-12 17:49:19') type_id: degree_bac5 partner_name: 'Tina Augustie' @@ -83,7 +81,6 @@ - !record {model: hr.applicant, id: hr_case_programmer}: - partner_id: base.res_partner_address_14 date: !eval time.strftime('%Y-%m-12 17:49:19') type_id: degree_bac5 partner_name: 'Shane Williams' @@ -100,7 +97,6 @@ !record {model: hr.applicant, id: hr_case_advertisement}: date: !eval time.strftime('%Y-%m-26 17:39:42') type_id: degree_licenced - partner_id: base.res_partner_11 partner_name: 'David Armstrong' job_id: hr.job_developer stage_id: stage_job2 From 79a603d34f32047eb10673dbc7f207bf819348a3 Mon Sep 17 00:00:00 2001 From: "Turkesh Patel (Open ERP)" <tpa@tinyerp.com> Date: Thu, 22 Mar 2012 13:03:23 +0530 Subject: [PATCH 231/313] [FIX] account_payment: improved code for adress bzr revid: tpa@tinyerp.com-20120322073323-rk9g73snvbyqhk3e --- addons/account_payment/account_payment.py | 84 +++++++++++------------ 1 file changed, 41 insertions(+), 43 deletions(-) diff --git a/addons/account_payment/account_payment.py b/addons/account_payment/account_payment.py index 1de715dc777..ae25c6a206a 100644 --- a/addons/account_payment/account_payment.py +++ b/addons/account_payment/account_payment.py @@ -35,7 +35,7 @@ class payment_mode(osv.osv): domain=[('type', 'in', ('bank','cash'))], help='Bank or Cash Journal for the Payment Mode'), 'company_id': fields.many2one('res.company', 'Company',required=True), 'partner_id':fields.related('company_id','partner_id',type='many2one',relation='res.partner',string='Partner',store=True,), - + } _defaults = { 'company_id': lambda self,cr,uid,c: self.pool.get('res.users').browse(cr, uid, uid, c).company_id.id @@ -51,14 +51,14 @@ class payment_mode(osv.osv): JOIN payment_mode pm ON (pm.bank_id = pb.id) WHERE pm.id = %s """, [payment_code]) return [x[0] for x in cr.fetchall()] - + def onchange_company_id (self, cr, uid, ids, company_id=False, context=None): result = {} if company_id: partner_id = self.pool.get('res.company').browse(cr, uid, company_id, context=context).partner_id.id result['partner_id'] = partner_id return {'value': result} - + payment_mode() @@ -191,21 +191,20 @@ class payment_line(osv.osv): for line in self.browse(cr, uid, ids, context=context): owner = line.order_id.mode.bank_id.partner_id result[line.id] = False - if owner.address: - for ads in owner.address: - if ads.type == 'default': - st = ads.street and ads.street or '' - st1 = ads.street2 and ads.street2 or '' - if 'zip_id' in ads: - zip_city = ads.zip_id and partner_zip_obj.name_get(cr, uid, [ads.zip_id.id])[0][1] or '' - else: - zip = ads.zip and ads.zip or '' - city = ads.city and ads.city or '' - zip_city = zip + ' ' + city - cntry = ads.country_id and ads.country_id.name or '' - info = owner.name + "\n" + st + " " + st1 + "\n" + zip_city + "\n" +cntry - result[line.id] = info - break + if owner: + if owner.type == 'default': + st = owner.street and owner.street or '' + st1 = owner.street2 and owner.street2 or '' + if 'zip_id' in owner: + zip_city = owner.zip_id and partner_zip_obj.name_get(cr, uid, [owner.zip_id.id])[0][1] or '' + else: + zip = owner.zip and owner.zip or '' + city = owner.city and owner.city or '' + zip_city = zip + ' ' + city + cntry = owner.country_id and owner.country_id.name or '' + info = owner.name + "\n" + st + " " + st1 + "\n" + zip_city + "\n" +cntry + result[line.id] = info + break return result def info_partner(self, cr, uid, ids, name=None, args=None, context=None): @@ -219,18 +218,18 @@ class payment_line(osv.osv): if not line.partner_id: break partner = line.partner_id.name or '' - if line.partner_id.address: - for ads in line.partner_id.address: - if ads.type == 'default': - st = ads.street and ads.street or '' - st1 = ads.street2 and ads.street2 or '' - if 'zip_id' in ads: - zip_city = ads.zip_id and partner_zip_obj.name_get(cr, uid, [ads.zip_id.id])[0][1] or '' + if line.partner_id: + #for ads in line.partner_id.address: + if line.partner_id.type == 'default': + st = line.partner_id.street and line.partner_id.street or '' + st1 = line.partner_id.street2 and line.partner_id.street2 or '' + if 'zip_id' in line.partner_id: + zip_city = line.partner_id.zip_id and partner_zip_obj.name_get(cr, uid, [line.partner_id.zip_id.id])[0][1] or '' else: - zip = ads.zip and ads.zip or '' - city = ads.city and ads.city or '' + zip = line.partner_id.zip and line.partner_id.zip or '' + city = line.partner_id.city and line.partner_id.city or '' zip_city = zip + ' ' + city - cntry = ads.country_id and ads.country_id.name or '' + cntry = line.partner_id.country_id and line.partner_id.country_id.name or '' info = partner + "\n" + st + " " + st1 + "\n" + zip_city + "\n" +cntry result[line.id] = info break @@ -428,24 +427,23 @@ class payment_line(osv.osv): if partner_id: part_obj = partner_obj.browse(cr, uid, partner_id, context=context) partner = part_obj.name or '' + if part_obj: + #for ads in part_obj.address: + if part_obj.type == 'default': + st = part_obj.street and part_obj.street or '' + st1 = part_obj.street2 and part_obj.street2 or '' - if part_obj.address: - for ads in part_obj.address: - if ads.type == 'default': - st = ads.street and ads.street or '' - st1 = ads.street2 and ads.street2 or '' + if 'zip_id' in part_obj: + zip_city = part_obj.zip_id and partner_zip_obj.name_get(cr, uid, [part_obj.zip_id.id])[0][1] or '' + else: + zip = part_obj.zip and part_obj.zip or '' + city = part_obj.city and part_obj.city or '' + zip_city = zip + ' ' + city - if 'zip_id' in ads: - zip_city = ads.zip_id and partner_zip_obj.name_get(cr, uid, [ads.zip_id.id])[0][1] or '' - else: - zip = ads.zip and ads.zip or '' - city = ads.city and ads.city or '' - zip_city = zip + ' ' + city + cntry = part_obj.country_id and part_obj.country_id.name or '' + info = partner + "\n" + st + " " + st1 + "\n" + zip_city + "\n" +cntry - cntry = ads.country_id and ads.country_id.name or '' - info = partner + "\n" + st + " " + st1 + "\n" + zip_city + "\n" +cntry - - data['info_partner'] = info + data['info_partner'] = info if part_obj.bank_ids and payment_type: bank_type = payment_mode_obj.suitable_bank_types(cr, uid, payment_type, context=context) From 1305494f225c7f197f679a33450a1113663aa3df Mon Sep 17 00:00:00 2001 From: "Sbh (Openerp)" <sbh@tinyerp.com> Date: Thu, 22 Mar 2012 15:51:04 +0530 Subject: [PATCH 232/313] [Fix] crm_partner_assign:Fix the issue of address bzr revid: sbh@tinyerp.com-20120322102104-ke4it4b2mos390gm --- addons/crm_partner_assign/partner_geo_assign.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/addons/crm_partner_assign/partner_geo_assign.py b/addons/crm_partner_assign/partner_geo_assign.py index 4cf36df0f34..ed918a3d0a1 100644 --- a/addons/crm_partner_assign/partner_geo_assign.py +++ b/addons/crm_partner_assign/partner_geo_assign.py @@ -99,14 +99,13 @@ class res_partner(osv.osv): def geo_localize(self, cr, uid, ids, context=None): # Don't pass context to browse()! We need country names in english below for partner in self.browse(cr, uid, ids): - if not partner.address: + if not partner: continue - contact = partner.address[0] #TOFIX: should be get latitude and longitude for default contact? - result = geo_find(geo_query_address(street=contact.street, - zip=contact.zip, - city=contact.city, - state=contact.state_id.name, - country=contact.country_id.name)) + result = geo_find(geo_query_address(street=partner.street, + zip=partner.zip, + city=partner.city, + state=partner.state_id.name, + country=partner.country_id.name)) if result: self.write(cr, uid, [partner.id], { 'partner_latitude': result[0], From c90d8491ad5d2ee04f00b148849a277a437b10cb Mon Sep 17 00:00:00 2001 From: "Turkesh Patel (Open ERP)" <tpa@tinyerp.com> Date: Thu, 22 Mar 2012 16:04:50 +0530 Subject: [PATCH 233/313] FIX] l10n_*: remove .address bzr revid: tpa@tinyerp.com-20120322103450-ijq803od9e9lnw2x --- .../l10n_be/wizard/l10n_be_account_vat_declaration.py | 10 +++++----- addons/l10n_ch/demo/demo.xml | 2 +- addons/l10n_lu/wizard/print_vat.py | 6 +++--- addons/l10n_uk/demo/demo.xml | 2 +- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/addons/l10n_be/wizard/l10n_be_account_vat_declaration.py b/addons/l10n_be/wizard/l10n_be_account_vat_declaration.py index e7eaa9434d0..eed2a537f62 100644 --- a/addons/l10n_be/wizard/l10n_be_account_vat_declaration.py +++ b/addons/l10n_be/wizard/l10n_be_account_vat_declaration.py @@ -94,18 +94,18 @@ class l10n_be_vat_declaration(osv.osv_memory): tax_info = obj_tax_code.read(cr, uid, tax_code_ids, ['code','sum_period'], context=ctx) name = email = phone = address = post_code = city = country_code = '' - name, email, phone, city, post_code, address, country_code = self.pool.get('res.company')._get_default_ad(obj_company.partner_id.address) + name, email, phone, city, post_code, address, country_code = self.pool.get('res.company')._get_default_ad(obj_company.partner_id) account_period = obj_acc_period.browse(cr, uid, data['period_id'][0], context=context) - issued_by = vat_no[:2] + issued_by = vat_no[:2] comments = data['comments'] or '' - + send_ref = str(obj_company.partner_id.id) + str(account_period.date_start[5:7]) + str(account_period.date_stop[:4]) - + starting_month = account_period.date_start[5:7] ending_month = account_period.date_stop[5:7] quarter = str(((int(starting_month) - 1) / 3) + 1) - + if not email: raise osv.except_osv(_('Data Insufficient!'),_('No email address associated with the company.')) if not phone: diff --git a/addons/l10n_ch/demo/demo.xml b/addons/l10n_ch/demo/demo.xml index ab2be100591..aeb8b9eafd7 100644 --- a/addons/l10n_ch/demo/demo.xml +++ b/addons/l10n_ch/demo/demo.xml @@ -56,7 +56,7 @@ <field name="category_id" model="res.partner.category" search="[('name','=','Partenaire')]"/> </record> <!-- - Resource: res.partner.address + Resource: res.partner --> <record id="res_partner_address_1" model="res.partner"> diff --git a/addons/l10n_lu/wizard/print_vat.py b/addons/l10n_lu/wizard/print_vat.py index 846abccd3f4..5151378d2f7 100644 --- a/addons/l10n_lu/wizard/print_vat.py +++ b/addons/l10n_lu/wizard/print_vat.py @@ -46,9 +46,9 @@ class report_custom(report_int): partner = user.company_id.partner_id result['info_name'] = user.company_id.name result['info_vatnum'] = partner.vat - if partner.address: - result['info_address'] = partner.address[0].street - result['info_address2'] = (partner.address[0].zip or '') + ' ' + (partner.address[0].city or '') + if partner: + result['info_address'] = partner.street + result['info_address2'] = (partner.zip or '') + ' ' + (partner.city or '') try: tmp_file = tempfile.mkstemp(".pdf")[1] try: diff --git a/addons/l10n_uk/demo/demo.xml b/addons/l10n_uk/demo/demo.xml index b23cd76ec6d..1184828df50 100644 --- a/addons/l10n_uk/demo/demo.xml +++ b/addons/l10n_uk/demo/demo.xml @@ -7,7 +7,7 @@ <field name="name">SmartMode LTD</field> </record> - <record id="res_partner_address_1" model="res.partner.address"> + <record id="res_partner_address_1" model="res.partner"> <field name="fax">08455274653</field> <field name="name">Vadim Chobanu</field> <field name="zip">HA4 7JW</field> From 09483d7449ff07f1baabb9958f4dad2d06f76790 Mon Sep 17 00:00:00 2001 From: "Sbh (Openerp)" <sbh@tinyerp.com> Date: Thu, 22 Mar 2012 16:11:24 +0530 Subject: [PATCH 234/313] [Fix] auction,delivery remove ref of .address bzr revid: sbh@tinyerp.com-20120322104124-ferh00aj1gpqowlf --- addons/auction/auction.py | 4 ++-- addons/delivery/delivery.py | 4 ++-- addons/delivery/stock.py | 10 +++++----- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/addons/auction/auction.py b/addons/auction/auction.py index ced68d530ef..6d8b88f3d06 100644 --- a/addons/auction/auction.py +++ b/addons/auction/auction.py @@ -751,8 +751,8 @@ class auction_bid(osv.osv): if not partner_id: return {'value': {'contact_tel':False}} contact = self.pool.get('res.partner').browse(cr, uid, partner_id) - if len(contact.address): - v_contact=contact.address[0] and contact.address[0].phone + if contact: + v_contact=contact.phone else: v_contact = False return {'value': {'contact_tel': v_contact}} diff --git a/addons/delivery/delivery.py b/addons/delivery/delivery.py index 9f95a430f4e..d7b02f2f106 100644 --- a/addons/delivery/delivery.py +++ b/addons/delivery/delivery.py @@ -80,7 +80,7 @@ class delivery_carrier(osv.osv): } def grid_get(self, cr, uid, ids, contact_id, context=None): - contact = self.pool.get('res.partner.address').browse(cr, uid, contact_id, context=context) + contact = self.pool.get('res.partner').browse(cr, uid, contact_id, context=context) for carrier in self.browse(cr, uid, ids, context=context): for grid in carrier.grids_id: get_id = lambda x: x.id @@ -106,7 +106,7 @@ class delivery_carrier(osv.osv): # if using advanced pricing per destination: do not change if record.use_detailed_pricelist: continue - + # not using advanced pricing per destination: override grid grid_id = grid_pool.search(cr, uid, [('carrier_id', '=', record.id)], context=context) diff --git a/addons/delivery/stock.py b/addons/delivery/stock.py index 6a7dcac91d4..09f1973e96d 100644 --- a/addons/delivery/stock.py +++ b/addons/delivery/stock.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- ############################################################################## -# +# # OpenERP, Open Source Management Solution # Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>). # @@ -15,7 +15,7 @@ # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. +# along with this program. If not, see <http://www.gnu.org/licenses/>. # ############################################################################## @@ -50,7 +50,7 @@ class stock_picking(osv.osv): for line in self.pool.get('stock.move').browse(cr, uid, ids, context=context): result[line.picking_id.id] = True return result.keys() - + _columns = { 'carrier_id':fields.many2one("delivery.carrier","Carrier"), 'volume': fields.float('Volume'), @@ -99,7 +99,7 @@ class stock_picking(osv.osv): .property_account_income_categ.id taxes = picking.carrier_id.product_id.taxes_id - partner = picking.address_id.partner_id or False + partner = picking.address_id or False if partner: account_id = self.pool.get('account.fiscal.position').map_account(cr, uid, partner.property_account_position, account_id) taxes_ids = self.pool.get('account.fiscal.position').map_tax(cr, uid, partner.property_account_position, taxes) @@ -121,7 +121,7 @@ class stock_picking(osv.osv): group=False, type='out_invoice', context=None): invoice_obj = self.pool.get('account.invoice') picking_obj = self.pool.get('stock.picking') - invoice_line_obj = self.pool.get('account.invoice.line') + invoice_line_obj = self.pool.get('account.invoice.line') result = super(stock_picking, self).action_invoice_create(cr, uid, ids, journal_id=journal_id, group=group, type=type, context=context) From 3a91d778f0a70e263dbab5bb748b25ef14ad92cb Mon Sep 17 00:00:00 2001 From: "Sbh (Openerp)" <sbh@tinyerp.com> Date: Thu, 22 Mar 2012 16:41:18 +0530 Subject: [PATCH 235/313] [IMP]survey : remove the loop for address bzr revid: sbh@tinyerp.com-20120322111118-reol0je703syzwyu --- .../account/report/account_print_overdue.py | 2 +- addons/point_of_sale/report/pos_receipt.py | 2 +- .../survey/wizard/survey_send_invitation.py | 81 +++++++++---------- 3 files changed, 42 insertions(+), 43 deletions(-) diff --git a/addons/account/report/account_print_overdue.py b/addons/account/report/account_print_overdue.py index 82e6abf7b63..46fcd9af626 100644 --- a/addons/account/report/account_print_overdue.py +++ b/addons/account/report/account_print_overdue.py @@ -68,7 +68,7 @@ class Overdue(report_sxw.rml_parse): adr=res_partner_address.read(self.cr, self.uid, [adr_id])[0] return adr['phone'] else: - return partner.address and partner.address[0].phone or False + return partner.phone or False return False def _lines_get(self, partner): diff --git a/addons/point_of_sale/report/pos_receipt.py b/addons/point_of_sale/report/pos_receipt.py index 721f4bc86e2..bdbc5560537 100644 --- a/addons/point_of_sale/report/pos_receipt.py +++ b/addons/point_of_sale/report/pos_receipt.py @@ -42,7 +42,7 @@ class order(report_sxw.rml_parse): 'disc': self.discount, 'net': self.netamount, 'get_journal_amt': self._get_journal_amt, - 'address': partner.address and partner.address[0] or False, + 'address': partner or False, 'titlize': titlize }) diff --git a/addons/survey/wizard/survey_send_invitation.py b/addons/survey/wizard/survey_send_invitation.py index d4334ecfa9e..3a36d7912ad 100644 --- a/addons/survey/wizard/survey_send_invitation.py +++ b/addons/survey/wizard/survey_send_invitation.py @@ -138,48 +138,47 @@ class survey_send_invitation(osv.osv_memory): os.remove(addons.get_module_resource('survey', 'report') + id.title +".pdf") for partner in self.pool.get('res.partner').browse(cr, uid, partner_ids): - for addr in partner.address: - if not addr.email: - skipped+= 1 - continue - user = user_ref.search(cr, uid, [('login', "=", addr.email)]) - if user: - if user[0] not in new_user: - new_user.append(user[0]) - user = user_ref.browse(cr, uid, user[0]) - user_ref.write(cr, uid, user.id, {'survey_id':[[6, 0, survey_ids]]}) - mail = record['mail']%{'login':addr.email, 'passwd':user.password, \ - 'name' : addr.name} - if record['send_mail_existing']: - mail_message.schedule_with_attach(cr, uid, record['mail_from'], [addr.email] , \ - record['mail_subject_existing'] , mail, context=context) - existing+= "- %s (Login: %s, Password: %s)\n" % (user.name, addr.email, \ - user.password) - continue + if not partner.email: + skipped+= 1 + continue + user = user_ref.search(cr, uid, [('login', "=", partner.email)]) + if user: + if user[0] not in new_user: + new_user.append(user[0]) + user = user_ref.browse(cr, uid, user[0]) + user_ref.write(cr, uid, user.id, {'survey_id':[[6, 0, survey_ids]]}) + mail = record['mail']%{'login':partner.email, 'passwd':user.password, \ + 'name' : partner.name} + if record['send_mail_existing']: + mail_message.schedule_with_attach(cr, uid, record['mail_from'], [partner.email] , \ + record['mail_subject_existing'] , mail, context=context) + existing+= "- %s (Login: %s, Password: %s)\n" % (user.name, partner.email, \ + user.password) + continue - passwd= self.genpasswd() - out+= addr.email + ',' + passwd + '\n' - mail= record['mail'] % {'login' : addr.email, 'passwd' : passwd, 'name' : addr.name} - if record['send_mail']: - ans = mail_message.schedule_with_attach(cr, uid, record['mail_from'], [addr.email], \ - record['mail_subject'], mail, attachments=attachments, context=context) - if ans: - res_data = {'name': addr.name or 'Unknown', - 'login': addr.email, - 'password': passwd, - 'address_id': addr.id, - 'groups_id': [[6, 0, [group_id]]], - 'action_id': act_id[0], - 'survey_id': [[6, 0, survey_ids]] - } - user = user_ref.create(cr, uid, res_data) - if user not in new_user: - new_user.append(user) - created+= "- %s (Login: %s, Password: %s)\n" % (addr.name or 'Unknown',\ - addr.email, passwd) - else: - error+= "- %s (Login: %s, Password: %s)\n" % (addr.name or 'Unknown',\ - addr.email, passwd) + passwd= self.genpasswd() + out+= partner.email + ',' + passwd + '\n' + mail= record['mail'] % {'login' : partner.email, 'passwd' : passwd, 'name' : partner.name} + if record['send_mail']: + ans = mail_message.schedule_with_attach(cr, uid, record['mail_from'], [partner.email], \ + record['mail_subject'], mail, attachments=attachments, context=context) + if ans: + res_data = {'name': partner.name or 'Unknown', + 'login': partner.email, + 'password': passwd, + 'address_id': partner.id, + 'groups_id': [[6, 0, [group_id]]], + 'action_id': act_id[0], + 'survey_id': [[6, 0, survey_ids]] + } + user = user_ref.create(cr, uid, res_data) + if user not in new_user: + new_user.append(user) + created+= "- %s (Login: %s, Password: %s)\n" % (partner.name or 'Unknown',\ + partner.email, passwd) + else: + error+= "- %s (Login: %s, Password: %s)\n" % (partner.name or 'Unknown',\ + partner.email, passwd) new_vals = {} new_vals.update({'invited_user_ids':[[6,0,new_user]]}) From 3f4a2247559d36be8125ece8d1e9682591172aac Mon Sep 17 00:00:00 2001 From: Olivier Dony <odo@openerp.com> Date: Thu, 22 Mar 2012 12:21:34 +0100 Subject: [PATCH 236/313] [IMP] module: lint cleanup bzr revid: odo@openerp.com-20120322112134-5ov5cphbjpxgwj87 --- openerp/addons/base/module/module.py | 46 +++++++++++----------------- 1 file changed, 18 insertions(+), 28 deletions(-) diff --git a/openerp/addons/base/module/module.py b/openerp/addons/base/module/module.py index 6adfc2dcd6d..5ca54d52c91 100644 --- a/openerp/addons/base/module/module.py +++ b/openerp/addons/base/module/module.py @@ -19,26 +19,16 @@ # along with this program. If not, see <http://www.gnu.org/licenses/>. # ############################################################################## -import base64 -import cStringIO import imp import logging -import os import re -import StringIO import urllib -import zipfile import zipimport -import openerp.modules as addons -import pooler -import release -import tools - -from tools.parse_version import parse_version -from tools.translate import _ - -from osv import fields, osv, orm +from openerp import modules, pooler, release, tools +from openerp.tools.parse_version import parse_version +from openerp.tools.translate import _ +from openerp.osv import fields, osv, orm _logger = logging.getLogger(__name__) @@ -95,7 +85,7 @@ class module(osv.osv): def get_module_info(cls, name): info = {} try: - info = addons.load_information_from_description_file(name) + info = modules.load_information_from_description_file(name) info['version'] = release.major_version + '.' + info['version'] except Exception: _logger.debug('Error when trying to fetch informations for ' @@ -165,7 +155,7 @@ class module(osv.osv): except Exception, e: _logger.warning('Unknown error while fetching data of %s', module_rec.name, exc_info=True) - for key, value in res.iteritems(): + for key, _ in res.iteritems(): for k, v in res[key].iteritems(): res[key][k] = "\n".join(sorted(v)) return res @@ -276,7 +266,7 @@ class module(osv.osv): while parts: part = parts.pop() try: - f, path, descr = imp.find_module(part, path and [path] or None) + _, path, _ = imp.find_module(part, path and [path] or None) except ImportError: raise ImportError('No module named %s' % (pydep,)) @@ -355,7 +345,7 @@ class module(osv.osv): """ self.button_install(cr, uid, ids, context=context) cr.commit() - db, pool = pooler.restart_pool(cr.dbname, update_module=True) + _, pool = pooler.restart_pool(cr.dbname, update_module=True) config = pool.get('res.config').next(cr, uid, [], context=context) or {} if config.get('type') not in ('ir.actions.reload', 'ir.actions.act_window_close'): @@ -409,10 +399,10 @@ class module(osv.osv): def button_uninstall(self, cr, uid, ids, context=None): res = self.check_dependancy(cr, uid, ids, context) for i in range(0,len(res)): - res_depend = self.check_dependancy(cr, uid, [res[i][0]], context) - for j in range(0,len(res_depend)): + res_depend = self.check_dependancy(cr, uid, [res[i][0]], context) + for j in range(0,len(res_depend)): ids.append(res_depend[j][0]) - ids.append(res[i][0]) + ids.append(res[i][0]) self.write(cr, uid, ids, {'state': 'to remove'}) return dict(ACTION_DICT, name=_('Uninstall')) @@ -486,7 +476,7 @@ class module(osv.osv): known_mods_names = dict([(m.name, m) for m in known_mods]) # iterate through detected modules and update/create them in db - for mod_name in addons.get_modules(): + for mod_name in modules.get_modules(): mod = known_mods_names.get(mod_name) terp = self.get_module_info(mod_name) values = self.get_values_from_terp(terp) @@ -505,7 +495,7 @@ class module(osv.osv): if updated_values: self.write(cr, uid, mod.id, updated_values) else: - mod_path = addons.get_module_path(mod_name) + mod_path = modules.get_module_path(mod_name) if not mod_path: continue if not terp or not terp.get('installable', True): @@ -534,7 +524,7 @@ class module(osv.osv): if not download: continue zip_content = urllib.urlopen(mod.url).read() - fname = addons.get_module_path(str(mod.name)+'.zip', downloaded=True) + fname = modules.get_module_path(str(mod.name)+'.zip', downloaded=True) try: with open(fname, 'wb') as fp: fp.write(zip_content) @@ -604,17 +594,17 @@ class module(osv.osv): for mod in self.browse(cr, uid, ids): if mod.state != 'installed': continue - modpath = addons.get_module_path(mod.name) + modpath = modules.get_module_path(mod.name) if not modpath: # unable to find the module. we skip continue for lang in filter_lang: iso_lang = tools.get_iso_codes(lang) - f = addons.get_module_resource(mod.name, 'i18n', iso_lang + '.po') + f = modules.get_module_resource(mod.name, 'i18n', iso_lang + '.po') context2 = context and context.copy() or {} if f and '_' in iso_lang: iso_lang2 = iso_lang.split('_')[0] - f2 = addons.get_module_resource(mod.name, 'i18n', iso_lang2 + '.po') + f2 = modules.get_module_resource(mod.name, 'i18n', iso_lang2 + '.po') if f2: _logger.info('module %s: loading base translation file %s for language %s', mod.name, iso_lang2, lang) tools.trans_load(cr, f2, lang, verbose=False, context=context) @@ -624,7 +614,7 @@ class module(osv.osv): # like "en". if (not f) and '_' in iso_lang: iso_lang = iso_lang.split('_')[0] - f = addons.get_module_resource(mod.name, 'i18n', iso_lang + '.po') + f = modules.get_module_resource(mod.name, 'i18n', iso_lang + '.po') if f: _logger.info('module %s: loading translation file (%s) for language %s', mod.name, iso_lang, lang) tools.trans_load(cr, f, lang, verbose=False, context=context2) From 64c2a01fbee889dac5b79e8ed2734e6e650c6b39 Mon Sep 17 00:00:00 2001 From: "Sbh (Openerp)" <sbh@tinyerp.com> Date: Thu, 22 Mar 2012 17:09:25 +0530 Subject: [PATCH 237/313] [IMP] account,auction: remove address from report bzr revid: sbh@tinyerp.com-20120322113925-20r4ilx6a22avdj0 --- .../report/check_print_bottom.rml | 20 +++++++++---------- .../report/check_print_middle.rml | 16 +++++++-------- .../report/check_print_top.rml | 16 +++++++-------- addons/auction/report/buyer_form_report.rml | 2 +- addons/auction/report/deposit_seller.rml | 2 +- addons/auction/report/seller_form_report.rml | 2 +- 6 files changed, 29 insertions(+), 29 deletions(-) diff --git a/addons/account_check_writing/report/check_print_bottom.rml b/addons/account_check_writing/report/check_print_bottom.rml index 231edb65547..bb499a8aac1 100644 --- a/addons/account_check_writing/report/check_print_bottom.rml +++ b/addons/account_check_writing/report/check_print_bottom.rml @@ -169,7 +169,7 @@ </para> </td> </tr> - </blockTable> + </blockTable> <blockTable colWidths="568.0" style="Table3"> <tr> <td> @@ -245,7 +245,7 @@ </blockTable> <para style="P2"> <font color="white"> </font> - </para> + </para> <blockTable colWidths="568.0" style="Table1"> <tr> <td> @@ -259,7 +259,7 @@ <td> <para style="P9">[[ voucher.journal_id.use_preprint_check and voucher.chk_seq or '' ]]</para> </td> - </tr> + </tr> <tr> <td> <para style="P9"></para> @@ -281,10 +281,10 @@ </td> <td> <para style="P15">[[ voucher.partner_id.name ]]</para> - <para style="P15">[[ voucher.partner_id.address and voucher.partner_id.address[0] and voucher.partner_id.address[0].street or removeParentNode('para') ]]</para> - <para style="P15">[[ voucher.partner_id.address and voucher.partner_id.address[0] and voucher.partner_id.address[0].street2 or removeParentNode('para') ]]</para> - <para style="P15">[[ get_zip_line(voucher.partner_id.address) ]] </para> - <para style="P15">[[ voucher.partner_id.address[0].country_id.name]]</para> + <para style="P15">[[ voucher.partner_id.street or removeParentNode('para') ]]</para> + <para style="P15">[[ voucher.partner_id.street2 or removeParentNode('para') ]]</para> + <para style="P15">[[ get_zip_line(voucher.partner_id) ]] </para> + <para style="P15">[[ voucher.partner_id.country_id.name]]</para> </td> </tr> </blockTable> @@ -295,7 +295,7 @@ </td> </tr> </blockTable> - + <blockTable colWidths="25.0,500" style="Table12"> <tr> <td> @@ -306,11 +306,11 @@ <td> <para style="P3"> <font color="white"> </font> - </para> + </para> <!--para style="P15">[[ voucher.name ]]</para--> </td> </tr> - </blockTable> + </blockTable> <para style="P3"> <font color="white"> </font> </para> diff --git a/addons/account_check_writing/report/check_print_middle.rml b/addons/account_check_writing/report/check_print_middle.rml index a6416f9aeb2..5a2f83f20a2 100644 --- a/addons/account_check_writing/report/check_print_middle.rml +++ b/addons/account_check_writing/report/check_print_middle.rml @@ -193,7 +193,7 @@ </para> </td> </tr> - </blockTable> + </blockTable> <blockTable colWidths="550.0" rowHeights="10" style="Table5"> <tr> <td> @@ -215,7 +215,7 @@ <td> <para style="P9"></para> </td> - </tr> + </tr> <tr> <td> <para style="P9"></para> @@ -237,10 +237,10 @@ </td> <td> <para style="P15">[[ voucher.partner_id.name ]]</para> - <para style="P15">[[ voucher.partner_id.address and voucher.partner_id.address[0] and voucher.partner_id.address[0].street or removeParentNode('para') ]]</para> - <para style="P15">[[ voucher.partner_id.address and voucher.partner_id.address[0] and voucher.partner_id.address[0].street2 or removeParentNode('para') ]]</para> - <para style="P15">[[ get_zip_line(voucher.partner_id.address) ]] </para> - <para style="P15">[[ voucher.partner_id.address[0].country_id.name]]</para> + <para style="P15">[[ voucher.partner_id.street or removeParentNode('para') ]]</para> + <para style="P15">[[ voucher.partner_id.street2 or removeParentNode('para') ]]</para> + <para style="P15">[[ get_zip_line(voucher.partner_id) ]] </para> + <para style="P15">[[ voucher.partner_id.country_id.name]]</para> </td> </tr> </blockTable> @@ -254,11 +254,11 @@ <td> <para style="P3"> <font color="white"> </font> - </para> + </para> <!--para style="P15">[[ voucher.name ]]</para--> </td> </tr> - </blockTable> + </blockTable> <para style="P3"> <font color="white"> </font> </para> diff --git a/addons/account_check_writing/report/check_print_top.rml b/addons/account_check_writing/report/check_print_top.rml index a5068617ebe..41526605f47 100644 --- a/addons/account_check_writing/report/check_print_top.rml +++ b/addons/account_check_writing/report/check_print_top.rml @@ -112,7 +112,7 @@ <font color="white"> </font> </para> </td> - </tr> + </tr> <tr> <td> <para style="P6"> @@ -123,7 +123,7 @@ <para style="P9">[[ formatLang(voucher.date , date=True) or '' ]] [[ voucher.journal_id.use_preprint_check and voucher.chk_seq or '' ]]</para> </td> </tr> - </blockTable> + </blockTable> <blockTable colWidths="54.0,425.0,85.0" rowHeights="21.5" style="Table4"> <tr> <td> @@ -153,15 +153,15 @@ </td> <td> <para style="P9">[[ voucher.partner_id.name ]] </para> - <para style="P15">[[ voucher.partner_id.address and voucher.partner_id.address[0] and voucher.partner_id.address[0].street2 or removeParentNode('para') ]]</para> - <para style="P15">[[ get_zip_line(voucher.partner_id.address[0]) ]] </para> - <para style="P15">[[ voucher.partner_id.address[0].country_id.name]]</para> + <para style="P15">[[ voucher.partner_id.street2 or removeParentNode('para') ]]</para> + <para style="P15">[[ get_zip_line(voucher.partner_id) ]] </para> + <para style="P15">[[ voucher.partner_id.country_id.name]]</para> </td> <td> <para/> </td> </tr> - </blockTable> + </blockTable> <blockTable colWidths="25.0,350,150" rowHeights="10.5" style="Table12"> <tr> <td> @@ -176,7 +176,7 @@ <para style="P3"> <font color="white"> </font> </para> - </td> + </td> </tr> </blockTable> <para style="P3"> @@ -184,7 +184,7 @@ </para> </td> </tr> - </blockTable> + </blockTable> <blockTable colWidths="568.0" style="Table2" rowHeights="255"> <tr> <td> diff --git a/addons/auction/report/buyer_form_report.rml b/addons/auction/report/buyer_form_report.rml index 7f9a124e2d9..ed1804be8a2 100644 --- a/addons/auction/report/buyer_form_report.rml +++ b/addons/auction/report/buyer_form_report.rml @@ -99,7 +99,7 @@ </td> <td> <para style="Addressee">[[ o['partner'] and o['partner'].name or False]]</para> - <para style="Addressee">[[o['partner'] and o['partner'].address and display_address(o['partner'].address[0]) ]]</para> + <para style="Addressee">[[o['partner'] and o['partner'] and display_address(o['partner']) ]]</para> </td> </tr> </blockTable> diff --git a/addons/auction/report/deposit_seller.rml b/addons/auction/report/deposit_seller.rml index 7259ef005d3..b300784d83a 100644 --- a/addons/auction/report/deposit_seller.rml +++ b/addons/auction/report/deposit_seller.rml @@ -84,7 +84,7 @@ </para> <para style="P5">[[o.bord_vnd_id.partner_id.title]]</para> <para style="P5">[[o.bord_vnd_id.partner_id.name]]</para> - <para style="P5">[[o.bord_vnd_id.partner_id.address and display_address(o.bord_vnd_id.partner_id.address[0]) ]] </para> + <para style="P5">[[o.bord_vnd_id.partner_id and display_address(o.bord_vnd_id.partner_id) ]] </para> <para style="P6"> <font color="white"> </font> </para> diff --git a/addons/auction/report/seller_form_report.rml b/addons/auction/report/seller_form_report.rml index 5d1669802b4..da83950b463 100644 --- a/addons/auction/report/seller_form_report.rml +++ b/addons/auction/report/seller_form_report.rml @@ -74,7 +74,7 @@ </td> <td> <para style="Addressee">[[ o['partner'] and o['partner'].name or False]]</para> - <para style="Addressee">[[ o['partner'] and o['partner'].address and display_address(o['partner'].address[0]) </para> + <para style="Addressee">[[ o['partner'] and o['partner'] and display_address(o['partner']) </para> <para style="P4"> <font color="white"> </font> </para> From c3687e6f22d7e9824684ebb6004fc3c74f11ee6f Mon Sep 17 00:00:00 2001 From: "Sbh (Openerp)" <sbh@tinyerp.com> Date: Thu, 22 Mar 2012 18:48:38 +0530 Subject: [PATCH 238/313] [IMP] sale: Improve report bzr revid: sbh@tinyerp.com-20120322131838-3y7ej9g5kec9z0la --- addons/sale/report/sale_order.rml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/addons/sale/report/sale_order.rml b/addons/sale/report/sale_order.rml index c9c1d8bfea0..6e77a7e3c35 100644 --- a/addons/sale/report/sale_order.rml +++ b/addons/sale/report/sale_order.rml @@ -157,7 +157,7 @@ <tr> <td> <para style="terp_default_Bold_9">Shipping address :</para> - <para style="terp_default_9">[[ (o.partner_id and o.partner_id.title and o.partner_id.title.name) or '' ]] [[ (o.partner_id and o.partner_id.name) or '' ]]</para> + <para style="terp_default_9">[[ (o.partner_shipping_id and o.partner_id.title and o.partner_id.title.name) or '' ]] [[ (o.partner_shipping_id and o.partner_shipping_id.name) or '' ]]</para> <para style="terp_default_9">[[ o.partner_shipping_id and display_address(o.partner_shipping_id) ]]</para> <para style="terp_default_9"> <font color="white"> </font> @@ -172,7 +172,6 @@ </para> </td> <td> - <para style="terp_default_9">[[ (o.partner_id and o.partner_id.title and o.partner_id.title.name) or '' ]] [[ (o.partner_id and o.partner_id.name) or '' ]]</para> <para style="terp_default_9">[[ o.partner_id and display_address(o.partner_id,'default') ]] </para> <para style="terp_default_9"> <font color="white"> </font> From 5dc5c0814d3603c00f97d4885012fb1f650dc070 Mon Sep 17 00:00:00 2001 From: Olivier Dony <odo@openerp.com> Date: Thu, 22 Mar 2012 17:01:23 +0100 Subject: [PATCH 239/313] [IMP] module: add a warning when uninstalling a module, as we will now delete data! bzr revid: odo@openerp.com-20120322160123-jwukwtb7l5vp8hw4 --- openerp/addons/base/module/module_view.xml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/openerp/addons/base/module/module_view.xml b/openerp/addons/base/module/module_view.xml index c1361401414..0005aee98ff 100644 --- a/openerp/addons/base/module/module_view.xml +++ b/openerp/addons/base/module/module_view.xml @@ -153,7 +153,9 @@ <group col="6" colspan="2"> <button name="button_install" states="uninstalled" string="Install" icon="terp-gtk-jump-to-ltr" type="object"/> <button name="button_install_cancel" states="to install" string="Cancel Install" icon="gtk-cancel" type="object"/> - <button name="button_uninstall" states="installed" string="Uninstall (beta)" icon="terp-dialog-close" type="object"/> + <button name="button_uninstall" states="installed" string="Uninstall (beta)" + icon="terp-dialog-close" type="object" + confirm="Do you confirm the uninstallation of this module? This will permanently erase all data currently stored by the module!"/> <button name="button_uninstall_cancel" states="to remove" string="Cancel Uninstall" icon="gtk-cancel" type="object"/> <button name="button_upgrade" states="installed" string="Upgrade" icon="terp-gtk-go-back-rtl" type="object"/> <button name="button_upgrade_cancel" states="to upgrade" string="Cancel Upgrade" icon="gtk-cancel" type="object"/> From 9f8e2975312baadc65914727962911645534f8cc Mon Sep 17 00:00:00 2001 From: Olivier Dony <odo@openerp.com> Date: Thu, 22 Mar 2012 17:08:06 +0100 Subject: [PATCH 240/313] [IMP] modules.loading: lint cleanup bzr revid: odo@openerp.com-20120322160806-y3g18dwn2z2xyuh2 --- openerp/modules/loading.py | 23 +++-------------------- 1 file changed, 3 insertions(+), 20 deletions(-) diff --git a/openerp/modules/loading.py b/openerp/modules/loading.py index f5cb5e024f2..c56edd0360d 100644 --- a/openerp/modules/loading.py +++ b/openerp/modules/loading.py @@ -24,41 +24,24 @@ """ -import base64 -import imp import itertools import logging import os -import re import sys import threading -import zipfile -import zipimport - -from cStringIO import StringIO -from os.path import join as opj -from zipfile import PyZipFile, ZIP_DEFLATED - import openerp import openerp.modules.db import openerp.modules.graph import openerp.modules.migration -import openerp.netsvc as netsvc import openerp.osv as osv import openerp.pooler as pooler import openerp.release as release import openerp.tools as tools -import openerp.tools.osutil as osutil import openerp.tools.assertion_report as assertion_report -from openerp.tools.safe_eval import safe_eval as eval from openerp.tools.translate import _ -from openerp.modules.module import \ - get_modules, get_modules_with_version, \ - load_information_from_description_file, \ - get_module_resource, zip_directory, \ - get_module_path, initialize_sys_path, \ +from openerp.modules.module import initialize_sys_path, \ load_openerp_module, init_module_models _logger = logging.getLogger(__name__) @@ -99,7 +82,7 @@ def load_module_graph(cr, graph, status=None, perform_checks=True, skip_modules= threading.currentThread().testing = True _load_data(cr, module_name, idref, mode, 'test') return True - except Exception, e: + except Exception: _logger.error( 'module %s: an exception occurred in a test', module_name) return False @@ -257,7 +240,7 @@ def load_marked_modules(cr, graph, states, force, progressdict, report, loaded_m while True: cr.execute("SELECT name from ir_module_module WHERE state IN %s" ,(tuple(states),)) module_list = [name for (name,) in cr.fetchall() if name not in graph] - new_modules_in_graph = graph.add_modules(cr, module_list, force) + graph.add_modules(cr, module_list, force) _logger.debug('Updating graph with %d more modules', len(module_list)) loaded, processed = load_module_graph(cr, graph, progressdict, report=report, skip_modules=loaded_modules) processed_modules.extend(processed) From 0360cb283adad34e5874dd4dc36ecf6236954ef3 Mon Sep 17 00:00:00 2001 From: "Sbh (Openerp)" <sbh@tinyerp.com> Date: Fri, 23 Mar 2012 11:59:20 +0530 Subject: [PATCH 241/313] [IMP] purchase: Improve report bzr revid: sbh@tinyerp.com-20120323062920-q0qrszoskdecmhjy --- addons/purchase/report/order.rml | 4 ++-- addons/purchase/report/request_quotation.rml | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/addons/purchase/report/order.rml b/addons/purchase/report/order.rml index 2fbfb8eb700..b106ad4a4a2 100644 --- a/addons/purchase/report/order.rml +++ b/addons/purchase/report/order.rml @@ -167,7 +167,7 @@ <td> <para style="terp_default_Bold_9">Shipping address :</para> <para style="terp_default_9">[[ (o.dest_address_id and o.dest_address_id.name) or (o.warehouse_id and o.warehouse_id.name) or '']]</para> - <para style="terp_default_9">[[ (o.dest_address_id and display_address(o.partner_id,'default')) or (o.warehouse_id and display_address(o.warehouse_id.partner_address_id)) or '']]</para> + <para style="terp_default_9">[[ (o.dest_address_id and display_address(o.dest_address_id)) or (o.warehouse_id and display_address(o.warehouse_id.partner_address_id)) or '']]</para> </td> </tr> </blockTable> @@ -182,7 +182,7 @@ </td> <td> <para style="terp_default_9">[[ (o.partner_id and o.partner_id.title and o.partner_id.title.name) or '' ]] [[ (o.partner_id and o.partner_id.name) or '' ]]</para> - <para style="terp_default_9">[[ o.partner_id and display_address(o.partner_id,'default') ]] </para> + <para style="terp_default_9">[[ o.partner_id and display_address(o.partner_id) ]] </para> <para style="terp_default_9"> <font color="white"> </font> </para> diff --git a/addons/purchase/report/request_quotation.rml b/addons/purchase/report/request_quotation.rml index 9d61f01a110..47b5058e8ec 100644 --- a/addons/purchase/report/request_quotation.rml +++ b/addons/purchase/report/request_quotation.rml @@ -91,8 +91,8 @@ <tr> <td> <para style="terp_default_Bold_9">Expected Delivery address:</para> - <para style="terp_default_9">[[ (order.dest_address_id and order.dest_address_id.partner_id.name) or (order.warehouse_id and order.warehouse_id.name) or '']]</para> - <para style="terp_default_9">[[ order.dest_address_id and display_address(order.dest_address_id,'delivery') ]] </para> + <para style="terp_default_9">[[ (order.dest_address_id and order.dest_address_id.name) or (order.warehouse_id and order.warehouse_id.name) or '']]</para> + <para style="terp_default_9">[[ order.dest_address_id and display_address(order.dest_address_id) ]] </para> </td> <td> <para style="terp_default_9"> @@ -101,7 +101,7 @@ </td> <td> <para style="terp_default_9">[[ (order.partner_id and order.partner_id.title and order.partner_id.title.name) or '' ]] [[ order.partner_id.name ]]</para> - <para style="terp_default_9">[[ order.partner_id and display_address(order.partner_id,'default') ]] </para> + <para style="terp_default_9">[[ order.partner_id and display_address(order.partner_id) ]] </para> <para style="terp_default_9"> <font color="white"> </font> </para> From f6f3de3b47a181cf25604e933ac6a69ea662fff1 Mon Sep 17 00:00:00 2001 From: "Sbh (Openerp)" <sbh@tinyerp.com> Date: Fri, 23 Mar 2012 12:26:03 +0530 Subject: [PATCH 242/313] [IMP] sale :Improve report bzr revid: sbh@tinyerp.com-20120323065603-167bwq7om6lensr8 --- addons/sale/report/sale_order.rml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/addons/sale/report/sale_order.rml b/addons/sale/report/sale_order.rml index 6e77a7e3c35..f44240e7904 100644 --- a/addons/sale/report/sale_order.rml +++ b/addons/sale/report/sale_order.rml @@ -157,7 +157,7 @@ <tr> <td> <para style="terp_default_Bold_9">Shipping address :</para> - <para style="terp_default_9">[[ (o.partner_shipping_id and o.partner_id.title and o.partner_id.title.name) or '' ]] [[ (o.partner_shipping_id and o.partner_shipping_id.name) or '' ]]</para> + <para style="terp_default_9">[[ (o.partner_shipping_id and o.partner_id.title and o.partner_shipping_id.title.name) or '' ]] [[ (o.partner_shipping_id and o.partner_shipping_id.name) or '' ]]</para> <para style="terp_default_9">[[ o.partner_shipping_id and display_address(o.partner_shipping_id) ]]</para> <para style="terp_default_9"> <font color="white"> </font> @@ -172,7 +172,8 @@ </para> </td> <td> - <para style="terp_default_9">[[ o.partner_id and display_address(o.partner_id,'default') ]] </para> + <para style="terp_default_9">[[ (o.partner_id and o.partner_id.title and o.partner_id.title.name) or '' ]] [[ (o.partner_id and o.partner_id.name) or '' ]]</para> + <para style="terp_default_9">[[ o.partner_id and display_address(o.partner_id) ]] </para> <para style="terp_default_9"> <font color="white"> </font> </para> From 784ebbc28ba57757967a2d2a31af142278e9d058 Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Fri, 23 Mar 2012 14:23:41 +0530 Subject: [PATCH 243/313] [FIX]google_map: remover res.partner.address bzr revid: kjo@tinyerp.com-20120323085341-0btvdf4vlqndec9h --- addons/google_map/google_map_launch.py | 4 +-- addons/google_map/google_map_view.xml | 35 -------------------------- 2 files changed, 2 insertions(+), 37 deletions(-) diff --git a/addons/google_map/google_map_launch.py b/addons/google_map/google_map_launch.py index a60679e3b69..8ee9a16fb0a 100644 --- a/addons/google_map/google_map_launch.py +++ b/addons/google_map/google_map_launch.py @@ -22,10 +22,10 @@ from osv import osv class launch_map(osv.osv): - _inherit = "res.partner.address" + _inherit = "res.partner" def open_map(self, cr, uid, ids, context=None): - address_obj= self.pool.get('res.partner.address') + address_obj= self.pool.get('res.partner') partner = address_obj.browse(cr, uid, ids, context=context)[0] url="http://maps.google.com/maps?oi=map&q=" if partner.street: diff --git a/addons/google_map/google_map_view.xml b/addons/google_map/google_map_view.xml index 3911d879427..4cd7e4ad7c4 100644 --- a/addons/google_map/google_map_view.xml +++ b/addons/google_map/google_map_view.xml @@ -2,41 +2,6 @@ <openerp> <data> - <record model="ir.ui.view" id="view_partner_address_form1_inheritg"> - <field name="name">res.partner.address.form1.inheritg</field> - <field name="model">res.partner.address</field> - <field name="inherit_id" ref="base.view_partner_address_form1"/> - <field name="type">form</field> - <field name="arch" type="xml"> - <field name="street2" position="replace"> - <label string="Street2 : " align="1.0"/> - <group colspan="1" col="2"> - <field name="street2" nolabel="1"/> - <button name="open_map" - string="Map" type="object" icon="gtk-zoom-in"/> - </group> - </field> - </field> - </record> - - <record model="ir.ui.view" id="view_partner_address_form2_inheritg"> - <field name="name">res.partner.address.form2.inheritg</field> - <field name="model">res.partner.address</field> - <field name="inherit_id" ref="base.view_partner_address_form2"/> - <field name="type">form</field> - <field name="arch" type="xml"> - <field name="street2" position="replace"> - <label string="Street2 : " align="1.0"/> - <group colspan="1" col="2"> - <field name="street2" nolabel="1"/> - <button name="open_map" - string="Map" type="object" icon="gtk-zoom-in"/> - </group> - </field> - </field> - </record> - - <record model="ir.ui.view" id="view_partner_form_inheritg"> <field name="name">res.partner.form.inheritg</field> <field name="model">res.partner</field> From 261c94cbe0e6204133a6cb767ff89c495bd5b8f4 Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Mon, 26 Mar 2012 15:02:54 +0530 Subject: [PATCH 244/313] [FIX]report_webkit: remover address filed bzr revid: kjo@tinyerp.com-20120326093254-6h0phzkm64nr3doz --- addons/report_webkit/data.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/report_webkit/data.xml b/addons/report_webkit/data.xml index 6cc254b1451..fb58c9fb1ac 100644 --- a/addons/report_webkit/data.xml +++ b/addons/report_webkit/data.xml @@ -67,15 +67,15 @@ <td/> </tr> <tr> - <td >${company.partner_id.address and company.partner_id.address[0].street or ''|entity}</td> + <td >${company.partner_id.street or ''|entity}</td> <td/> </tr> <tr> - <td>Phone: ${company.partner_id.address and company.partner_id.address[0].phone or ''|entity} </td> + <td>Phone: ${company.partner_id.phone or ''|entity} </td> <td/> </tr> <tr> - <td>Mail: ${company.partner_id.address and company.partner_id.address[0].email or ''|entity}<br/></td> + <td>Mail: ${company.partner_id.email or ''|entity}<br/></td> </tr> </table> ${_debug or ''|n} </body> </html>]]> From 3149baaa7564698f18f7481991ecef70be370ed4 Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Mon, 26 Mar 2012 16:11:23 +0530 Subject: [PATCH 245/313] [FIX]portal: remove address bzr revid: kjo@tinyerp.com-20120326104123-s12gnxaw3ytiax1o --- addons/portal/wizard/portal_wizard.py | 18 ++++++------------ addons/portal/wizard/portal_wizard_view.xml | 9 --------- 2 files changed, 6 insertions(+), 21 deletions(-) diff --git a/addons/portal/wizard/portal_wizard.py b/addons/portal/wizard/portal_wizard.py index e35e8225469..0eceec3f46b 100644 --- a/addons/portal/wizard/portal_wizard.py +++ b/addons/portal/wizard/portal_wizard.py @@ -94,27 +94,21 @@ class wizard(osv.osv_memory): return { # a user config based on a contact (address) 'name': address.name, 'user_email': extract_email(address.email), - 'lang': address.partner_id and address.partner_id.lang or 'en_US', - 'partner_id': address.partner_id and address.partner_id.id, + 'lang': address.parent_id and address.parent_id.lang or 'en_US', + 'partner_id': address.parent_id and address.parent_id.id, } user_ids = [] - if context.get('active_model') == 'res.partner.address': - address_obj = self.pool.get('res.partner.address') - address_ids = context.get('active_ids', []) - addresses = address_obj.browse(cr, uid, address_ids, context) - user_ids = map(create_user_from_address, addresses) - - elif context.get('active_model') == 'res.partner': + if context.get('active_model') == 'res.partner': partner_obj = self.pool.get('res.partner') partner_ids = context.get('active_ids', []) partners = partner_obj.browse(cr, uid, partner_ids, context) for p in partners: # add one user per contact, or one user if no contact - if p.address: - user_ids.extend(map(create_user_from_address, p.address)) + if p.child_ids: + user_ids.extend(map(create_user_from_address, p.child_ids)) else: - user_ids.append({'lang': p.lang or 'en_US', 'partner_id': p.id}) + user_ids.append({'lang': p.lang or 'en_US', 'parent_id': p.id}) return user_ids diff --git a/addons/portal/wizard/portal_wizard_view.xml b/addons/portal/wizard/portal_wizard_view.xml index 537055e5fb2..7f36272720c 100644 --- a/addons/portal/wizard/portal_wizard_view.xml +++ b/addons/portal/wizard/portal_wizard_view.xml @@ -10,15 +10,6 @@ key2="client_action_multi" target="new" groups="group_portal_officer"/> - <!-- wizard action on res.partner.address --> - <act_window id="address_wizard_action" - name="Add Portal Access" - src_model="res.partner.address" - res_model="res.portal.wizard" - view_type="form" view_mode="form" - key2="client_action_multi" target="new" - groups="group_portal_officer"/> - <!-- wizard view --> <record id="wizard_view" model="ir.ui.view"> <field name="name">Add Portal Access</field> From ddc6e5fa4c74a538ee89db54de51efcfff89d866 Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Mon, 26 Mar 2012 16:41:10 +0530 Subject: [PATCH 246/313] [FIX]account_analytic_analysis: remover addressfield bzr revid: kjo@tinyerp.com-20120326111110-79iyx3mkyuwfabid --- .../cron_account_analytic_account.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/addons/account_analytic_analysis/cron_account_analytic_account.py b/addons/account_analytic_analysis/cron_account_analytic_account.py index df022cbd6bd..38557177f47 100644 --- a/addons/account_analytic_analysis/cron_account_analytic_account.py +++ b/addons/account_analytic_analysis/cron_account_analytic_account.py @@ -32,9 +32,7 @@ Here is the list of contracts to renew: % endif - Dates: ${account.date_start} to ${account.date and account.date or '???'} - Contacts: - % for address in account.partner_id.address: - . ${address.name}, ${address.phone}, ${address.email} - % endfor + . ${account.partner_id.name}, ${account.partner_id.phone}, ${account.partner_id.email} % endfor % endfor From 8bd0cf42f348679811ec9efabbd4e54bd5db230f Mon Sep 17 00:00:00 2001 From: Olivier Dony <odo@openerp.com> Date: Tue, 27 Mar 2012 01:18:29 +0200 Subject: [PATCH 247/313] [IMP] ir.model: safeguards to prevent dropping vital data bzr revid: odo@openerp.com-20120326231829-6y8nsog1pdtbmaqt --- openerp/addons/base/ir/ir_model.py | 108 +++++++++++++++++------------ 1 file changed, 64 insertions(+), 44 deletions(-) diff --git a/openerp/addons/base/ir/ir_model.py b/openerp/addons/base/ir/ir_model.py index 1dcd78d62ce..659929c2f04 100644 --- a/openerp/addons/base/ir/ir_model.py +++ b/openerp/addons/base/ir/ir_model.py @@ -2,8 +2,8 @@ ############################################################################## # -# OpenERP, Open Source Management Solution -# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>). +# OpenERP, Open Source Business Applications +# Copyright (C) 2004-2012 OpenERP S.A. (<http://openerp.com>). # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as @@ -24,20 +24,20 @@ import re import time import types -from osv import fields,osv -import netsvc -from osv.orm import except_orm, browse_record -import tools -from tools.safe_eval import safe_eval as eval -from tools import config -from tools.translate import _ -import pooler +from openerp.osv import fields,osv +from openerp import netsvc, pooler, tools +from openerp.osv.orm import except_orm, browse_record +from openerp.tools.safe_eval import safe_eval as eval +from openerp.tools import config +from openerp.tools.translate import _ _logger = logging.getLogger(__name__) +MODULE_UNINSTALL_FLAG = '_ir_module_uninstall' + def _get_fields_type(self, cr, uid, context=None): # Avoid too many nested `if`s below, as RedHat's Python 2.6 - # break on it. See bug 939653. + # break on it. See bug 939653. return sorted([(k,k) for k,v in fields.__dict__.iteritems() if type(v) == types.TypeType and \ issubclass(v, fields._column) and \ @@ -151,9 +151,14 @@ class ir_model(osv.osv): return True def unlink(self, cr, user, ids, context=None): -# for model in self.browse(cr, user, ids, context): -# if model.state != 'manual': -# raise except_orm(_('Error'), _("You can not remove the model '%s' !") %(model.name,)) + # Prevent manual deletion of module tables + if context is None: context = {} + if isinstance(ids, (int, long)): + ids = [ids] + if not context.get(MODULE_UNINSTALL_FLAG) and \ + any(model.state != 'manual' for model in self.browse(cr, user, ids, context)): + raise except_orm(_('Error'), _("Model '%s' contains module data and cannot be removed!") % (model.name,)) + self._drop_table(cr, user, ids, context) res = super(ir_model, self).unlink(cr, user, ids, context) pooler.restart_pool(cr.dbname) @@ -279,20 +284,28 @@ class ir_model_fields(osv.osv): _sql_constraints = [ ('size_gt_zero', 'CHECK (size>0)',_size_gt_zero_msg ), ] - + def _drop_column(self, cr, uid, ids, context=None): - field = self.browse(cr, uid, ids, context) - model = self.pool.get(field.model) - cr.execute('select relkind from pg_class where relname=%s', (model._table,)) - result = cr.fetchone() - cr.execute("SELECT column_name FROM information_schema.columns WHERE table_name ='%s' and column_name='%s'" %(model._table, field.name)) - column_name = cr.fetchone() - if column_name and (result and result[0] == 'r'): - cr.execute('ALTER table "%s" DROP column "%s" cascade' % (model._table, field.name)) - model._columns.pop(field.name, None) + for field in self.browse(cr, uid, ids, context): + model = self.pool.get(field.model) + cr.execute('select relkind from pg_class where relname=%s', (model._table,)) + result = cr.fetchone() + cr.execute("SELECT column_name FROM information_schema.columns WHERE table_name ='%s' and column_name='%s'" %(model._table, field.name)) + column_name = cr.fetchone() + if column_name and (result and result[0] == 'r'): + cr.execute('ALTER table "%s" DROP column "%s" cascade' % (model._table, field.name)) + model._columns.pop(field.name, None) return True def unlink(self, cr, user, ids, context=None): + # Prevent manual deletion of module columns + if context is None: context = {} + if isinstance(ids, (int, long)): + ids = [ids] + if not context.get(MODULE_UNINSTALL_FLAG) and \ + any(field.state != 'manual' for field in self.browse(cr, user, ids, context)): + raise except_orm(_('Error'), _("This column contains module data and cannot be removed!")) + self._drop_column(cr, user, ids, context) res = super(ir_model_fields, self).unlink(cr, user, ids, context) return res @@ -645,7 +658,7 @@ class ir_model_data(osv.osv): # also stored in pool to avoid being discarded along with this osv instance if getattr(pool, 'model_data_reference_ids', None) is None: self.pool.model_data_reference_ids = {} - + self.loads = self.pool.model_data_reference_ids def _auto_init(self, cr, context=None): @@ -689,7 +702,7 @@ class ir_model_data(osv.osv): except: id = False return id - + def unlink(self, cr, uid, ids, context=None): """ Regular unlink method, but make sure to clear the caches. """ @@ -811,8 +824,14 @@ class ir_model_data(osv.osv): elif xml_id: cr.execute('UPDATE ir_values set value=%s WHERE model=%s and key=%s and name=%s'+where,(value, model, key, name)) return True - + def _pre_process_unlink(self, cr, uid, ids, context=None): + if uid != 1 and not self.pool.get('ir.model.access').check_groups(cr, uid, "base.group_system"): + raise except_orm(_('Permission Denied'), (_('Administrator access is required to uninstall a module'))) + + context = dict(context or {}) + context[MODULE_UNINSTALL_FLAG] = True # enable model/field deletion + wkf_todo = [] to_unlink = [] to_drop_table = [] @@ -823,22 +842,23 @@ class ir_model_data(osv.osv): res_id = data.res_id model_obj = self.pool.get(model) name = data.name + # FIXME: replace custom keys with constants if str(name).startswith('foreign_key_'): name = name[12:] - # test if constraint exists + # test if FK exists cr.execute('select conname from pg_constraint where contype=%s and conname=%s',('f', name),) if cr.fetchall(): cr.execute('ALTER TABLE "%s" DROP CONSTRAINT "%s"' % (model,name),) - _logger.info('Drop CONSTRAINT %s@%s', name, model) + _logger.info('Drop FK CONSTRAINT %s@%s', name, model) continue - + if str(name).startswith('table_'): cr.execute("SELECT table_name FROM information_schema.tables WHERE table_name='%s'"%(name[6:])) column_name = cr.fetchone() if column_name: to_drop_table.append(name[6:]) continue - + if str(name).startswith('constraint_'): # test if constraint exists cr.execute('select conname from pg_constraint where contype=%s and conname=%s',('u', name),) @@ -846,7 +866,7 @@ class ir_model_data(osv.osv): cr.execute('ALTER TABLE "%s" DROP CONSTRAINT "%s"' % (model_obj._table,name[11:]),) _logger.info('Drop CONSTRAINT %s@%s', name[11:], model) continue - + to_unlink.append((model, res_id)) if model=='workflow.activity': cr.execute('select res_type,res_id from wkf_instance where id IN (select inst_id from wkf_workitem where act_id=%s)', (res_id,)) @@ -862,21 +882,21 @@ class ir_model_data(osv.osv): # drop relation .table for model in to_drop_table: - cr.execute('DROP TABLE %s cascade'% (model),) - _logger.info('Dropping table %s', model) - + cr.execute('DROP TABLE %s CASCADE'% (model),) + _logger.info('Dropping table %s', model) + for (model, res_id) in to_unlink: if model in ('ir.model','ir.model.fields', 'ir.model.data'): continue model_ids = self.search(cr, uid, [('model', '=', model),('res_id', '=', res_id)]) if len(model_ids) > 1: - # if others module have defined this record, we do not delete it + # if other modules have defined this record, we do not delete it continue _logger.info('Deleting %s@%s', res_id, model) try: - self.pool.get(model).unlink(cr, uid, res_id) + self.pool.get(model).unlink(cr, uid, res_id, context=context) except: - _logger.info('Unable to delete %s@%s', res_id, model) + _logger.info('Unable to delete %s@%s', res_id, model, exc_info=True) cr.commit() for (model, res_id) in to_unlink: @@ -884,20 +904,20 @@ class ir_model_data(osv.osv): continue model_ids = self.search(cr, uid, [('model', '=', model),('res_id', '=', res_id)]) if len(model_ids) > 1: - # if others module have defined this record, we do not delete it + # if other modules have defined this record, we do not delete it continue _logger.info('Deleting %s@%s', res_id, model) - self.pool.get(model).unlink(cr, uid, res_id) + self.pool.get(model).unlink(cr, uid, res_id, context=context) for (model, res_id) in to_unlink: - if model not in ('ir.model',): + if model != 'ir.model': continue model_ids = self.search(cr, uid, [('model', '=', model),('res_id', '=', res_id)]) if len(model_ids) > 1: - # if others module have defined this record, we do not delete it + # if other modules have defined this record, we do not delete it continue _logger.info('Deleting %s@%s', res_id, model) - self.pool.get(model).unlink(cr, uid, [res_id]) + self.pool.get(model).unlink(cr, uid, [res_id], context=context) cr.commit() def _process_end(self, cr, uid, modules): @@ -924,6 +944,6 @@ class ir_model_data(osv.osv): if self.pool.get(model): _logger.info('Deleting %s@%s', res_id, model) self.pool.get(model).unlink(cr, uid, [res_id]) - + # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: From c6f72008edbfc355b03a57d487bed9869c71d887 Mon Sep 17 00:00:00 2001 From: Olivier Dony <odo@openerp.com> Date: Tue, 27 Mar 2012 01:18:39 +0200 Subject: [PATCH 248/313] [FIX] module: fix dependency computation to work recursively bzr revid: odo@openerp.com-20120326231839-q7x3zr1bgenom3pc --- openerp/addons/base/module/module.py | 85 ++++++++++++++-------------- 1 file changed, 44 insertions(+), 41 deletions(-) diff --git a/openerp/addons/base/module/module.py b/openerp/addons/base/module/module.py index 66762662377..77ba7f1d51c 100644 --- a/openerp/addons/base/module/module.py +++ b/openerp/addons/base/module/module.py @@ -2,8 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>). -# Copyright (C) 2010 OpenERP s.a. (<http://openerp.com>). +# Copyright (C) 2004-2012 OpenERP S.A. (<http://openerp.com>). # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as @@ -113,7 +112,7 @@ class module(osv.osv): if field_name is None or 'menus_by_module' in field_name: dmodels.append('ir.ui.menu') assert dmodels, "no models for %s" % field_name - + for module_rec in self.browse(cr, uid, ids, context=context): res[module_rec.id] = { 'menus_by_module': [], @@ -174,7 +173,7 @@ class module(osv.osv): # installed_version refer the latest version (the one on disk) # latest_version refer the installed version (the one in database) # published_version refer the version available on the repository - 'installed_version': fields.function(_get_latest_version, + 'installed_version': fields.function(_get_latest_version, string='Latest version', type='char'), 'latest_version': fields.char('Installed version', size=64, readonly=True), 'published_version': fields.char('Published Version', size=64, readonly=True), @@ -364,46 +363,50 @@ class module(osv.osv): def button_install_cancel(self, cr, uid, ids, context=None): self.write(cr, uid, ids, {'state': 'uninstalled', 'demo':False}) return True - + def module_uninstall(self, cr, uid, ids, context=None): - - # you have to uninstall in the right order, not all modules at the same time - - model_data = self.pool.get('ir.model.data') - remove_modules = map(lambda x: x.name, self.browse(cr, uid, ids, context)) - - data_ids = model_data.search(cr, uid, [('module', 'in', remove_modules)]) - - model_data._pre_process_unlink(cr, uid, data_ids, context) - model_data.unlink(cr, uid, data_ids, context) - + # uninstall must be done respecting the reverse-dependency order + ir_model_data = self.pool.get('ir.model.data') + modules_to_remove = [m.name for m in self.browse(cr, uid, ids, context)] + data_ids = ir_model_data.search(cr, uid, [('module', 'in', modules_to_remove)]) + ir_model_data._pre_process_unlink(cr, uid, data_ids, context) + ir_model_data.unlink(cr, uid, data_ids, context) self.write(cr, uid, ids, {'state': 'uninstalled'}) - - # should we call process_end istead of loading, or both ? + + # should we call process_end instead of loading, or both ? return True - - def check_dependancy(self, cr, uid, ids, context): - res = [] - for module in self.browse(cr, uid, ids): - cr.execute('''select m.id - from - ir_module_module_dependency d - join - ir_module_module m on (d.module_id=m.id) - where - d.name=%s and - m.state not in ('uninstalled','uninstallable','to remove')''', (module.name,)) - res = cr.fetchall() - return res - + + def downstream_dependencies(self, cr, uid, ids, known_dep_ids=None, + exclude_states=['uninstalled','uninstallable','to remove'], + context=None): + """Return the ids of all modules that directly or indirectly depend + on the given module `ids`, and that satisfy the `exclude_states` + filter""" + if not ids: return [] + known_dep_ids = set(known_dep_ids or []) + cr.execute('''SELECT DISTINCT m.id + FROM + ir_module_module_dependency d + JOIN + ir_module_module m ON (d.module_id=m.id) + WHERE + d.name IN (SELECT name from ir_module_module where id in %s) AND + m.state NOT IN %s AND + m.id NOT IN %s ''', + (tuple(ids),tuple(exclude_states), tuple(known_dep_ids or ids))) + new_dep_ids = set([m[0] for m in cr.fetchall()]) + missing_mod_ids = new_dep_ids - known_dep_ids + known_dep_ids |= new_dep_ids + if missing_mod_ids: + known_dep_ids |= set(self.downstream_dependencies(cr, uid, list(missing_mod_ids), + known_dep_ids, exclude_states,context)) + return list(known_dep_ids) + def button_uninstall(self, cr, uid, ids, context=None): - res = self.check_dependancy(cr, uid, ids, context) - for i in range(0,len(res)): - res_depend = self.check_dependancy(cr, uid, [res[i][0]], context) - for j in range(0,len(res_depend)): - ids.append(res_depend[j][0]) - ids.append(res[i][0]) - self.write(cr, uid, ids, {'state': 'to remove'}) + if any(m.name == 'base' for m in self.browse(cr, uid, ids)): + raise orm.except_orm(_('Error'), _("The `base` module cannot be uninstalled")) + dep_ids = self.downstream_dependencies(cr, uid, ids, context=context) + self.write(cr, uid, ids + dep_ids, {'state': 'to remove'}) return dict(ACTION_DICT, name=_('Uninstall')) def button_uninstall_cancel(self, cr, uid, ids, context=None): @@ -486,7 +489,7 @@ class module(osv.osv): updated_values = {} for key in values: old = getattr(mod, key) - updated = isinstance(values[key], basestring) and tools.ustr(values[key]) or values[key] + updated = isinstance(values[key], basestring) and tools.ustr(values[key]) or values[key] if not old == updated: updated_values[key] = values[key] if terp.get('installable', True) and mod.state == 'uninstallable': From 296cf59472a0a7427af16f079ea8a3583ad0e721 Mon Sep 17 00:00:00 2001 From: Olivier Dony <odo@openerp.com> Date: Tue, 27 Mar 2012 01:18:44 +0200 Subject: [PATCH 249/313] [IMP] b.m.u: cleanup bzr revid: odo@openerp.com-20120326231844-yjo2bft60g9sk3lt --- .../base/module/wizard/base_module_upgrade.py | 61 +++++++------------ 1 file changed, 23 insertions(+), 38 deletions(-) diff --git a/openerp/addons/base/module/wizard/base_module_upgrade.py b/openerp/addons/base/module/wizard/base_module_upgrade.py index 264dfd5422f..cb27a264e91 100644 --- a/openerp/addons/base/module/wizard/base_module_upgrade.py +++ b/openerp/addons/base/module/wizard/base_module_upgrade.py @@ -1,8 +1,8 @@ # -*- coding: utf-8 -*- ############################################################################## # -# OpenERP, Open Source Management Solution -# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>). +# OpenERP, Open Source Business Applications +# Copyright (C) 2004-2012 OpenERP SA (<http://openerp.com>). # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as @@ -19,9 +19,9 @@ # ############################################################################## -import pooler -from osv import osv, fields -from tools.translate import _ +from openerp import pooler +from openerp.osv import osv, fields +from openerp.tools.translate import _ class base_module_upgrade(osv.osv_memory): """ Module Upgrade """ @@ -34,13 +34,6 @@ class base_module_upgrade(osv.osv_memory): } def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False): - """ Changes the view dynamically - @param self: The object pointer. - @param cr: A database cursor - @param uid: ID of the user currently logged in - @param context: A standard dictionary - @return: New arch of view. - """ res = super(base_module_upgrade, self).fields_view_get(cr, uid, view_id=view_id, view_type=view_type, context=context, toolbar=toolbar,submenu=False) if view_type != 'form': return res @@ -71,50 +64,43 @@ class base_module_upgrade(osv.osv_memory): return ids def default_get(self, cr, uid, fields, context=None): - """ - This function checks for precondition before wizard executes - @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 fields: List of fields for default value - @param context: A standard dictionary for contextual values - """ mod_obj = self.pool.get('ir.module.module') ids = self.get_module_list(cr, uid, context=context) res = mod_obj.read(cr, uid, ids, ['name','state'], context) return {'module_info': '\n'.join(map(lambda x: x['name']+' : '+x['state'], res))} def upgrade_module(self, cr, uid, ids, context=None): - mod_obj = self.pool.get('ir.module.module') - data_obj = self.pool.get('ir.model.data') - # process to install and upgrade modules - ids = mod_obj.search(cr, uid, [('state', 'in', ['to upgrade', 'to install'])]) + ir_module = self.pool.get('ir.module.module') + + # install and upgrade modules + ids = ir_module.search(cr, uid, [('state', 'in', ['to upgrade', 'to install'])]) unmet_packages = [] mod_dep_obj = self.pool.get('ir.module.module.dependency') - for mod in mod_obj.browse(cr, uid, ids): + # TODO: Replace the following loop with a single SQL query to make it much faster! + for mod in ir_module.browse(cr, uid, ids): depends_mod_ids = mod_dep_obj.search(cr, uid, [('module_id', '=', mod.id)]) for dep_mod in mod_dep_obj.browse(cr, uid, depends_mod_ids): if dep_mod.state in ('unknown','uninstalled'): unmet_packages.append(dep_mod.name) - if len(unmet_packages): + if unmet_packages: raise osv.except_osv(_('Unmet dependency !'), _('Following modules are not installed or unknown: %s') % ('\n\n' + '\n'.join(unmet_packages))) - mod_obj.download(cr, uid, ids, context=context) + ir_module.download(cr, uid, ids, context=context) + + # uninstall modules + to_remove_ids = ir_module.search(cr, uid, [('state', 'in', ['to remove'])]) + ir_module.module_uninstall(cr, uid, to_remove_ids, context) + cr.commit() - # process to remove modules - remove_module_ids = mod_obj.search(cr, uid, [('state', 'in', ['to remove'])]) - mod_obj.module_uninstall(cr, uid, remove_module_ids, context) - - _db, pool = pooler.restart_pool(cr.dbname, update_module=True) - - id2 = data_obj._get_id(cr, uid, 'base', 'view_base_module_upgrade_install') - if id2: - id2 = data_obj.browse(cr, uid, id2, context=context).res_id + pooler.restart_pool(cr.dbname, update_module=True) + + ir_model_data = self.pool.get('ir.model.data') + _, res_id = ir_model_data.get_object_reference(cr, uid, 'base', 'view_base_module_upgrade_install') return { 'view_type': 'form', 'view_mode': 'form', 'res_model': 'base.module.upgrade', - 'views': [(id2, 'form')], + 'views': [(res_id, 'form')], 'view_id': False, 'type': 'ir.actions.act_window', 'target': 'new', @@ -123,6 +109,5 @@ class base_module_upgrade(osv.osv_memory): def config(self, cr, uid, ids, context=None): return self.pool.get('res.config').next(cr, uid, [], context=context) -base_module_upgrade() # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: From d4f378c4efa3215f24c159b7b39e57224695a7a0 Mon Sep 17 00:00:00 2001 From: "Sbh (Openerp)" <sbh@tinyerp.com> Date: Tue, 27 Mar 2012 13:00:04 +0530 Subject: [PATCH 250/313] [Fix] base/res :fix write method for updation of field based on use_parent_address bzr revid: sbh@tinyerp.com-20120327073004-3kxgvoem46gag3ta --- openerp/addons/base/res/res_partner.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index 45d9a3688fd..eae8468741e 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -249,7 +249,7 @@ class res_partner(osv.osv): if partner.is_company: domain_children = [('parent_id', '=', partner.id), ('use_parent_address', '=', True)] update_ids = self.search(cr, uid, domain_children, context=context) - elif partner.parent_id: + elif vals.get('use_parent_address') ==True and partner.parent_id: domain_siblings = [('parent_id', '=', partner.parent_id.id), ('use_parent_address', '=', True)] update_ids = [partner.parent_id.id] + self.search(cr, uid, domain_siblings, context=context) self.update_address(cr, uid, update_ids, vals, context) From 0182a1185dcf265dcdf4ac9efd74d4ef3127cd56 Mon Sep 17 00:00:00 2001 From: "Sbh (Openerp)" <sbh@tinyerp.com> Date: Tue, 27 Mar 2012 14:43:54 +0530 Subject: [PATCH 251/313] [Fix]base/res: Fix the update address bzr revid: sbh@tinyerp.com-20120327091354-j9l4cjto9dx2cnn1 --- openerp/addons/base/res/res_partner.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index eae8468741e..5b6d35530af 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -249,9 +249,13 @@ class res_partner(osv.osv): if partner.is_company: domain_children = [('parent_id', '=', partner.id), ('use_parent_address', '=', True)] update_ids = self.search(cr, uid, domain_children, context=context) - elif vals.get('use_parent_address') ==True and partner.parent_id: - domain_siblings = [('parent_id', '=', partner.parent_id.id), ('use_parent_address', '=', True)] - update_ids = [partner.parent_id.id] + self.search(cr, uid, domain_siblings, context=context) + elif partner.parent_id: + if vals.get('use_parent_address')==True: + domain_siblings = [('parent_id', '=', partner.parent_id.id), ('use_parent_address', '=', True)] + update_ids = [partner.parent_id.id] + self.search(cr, uid, domain_siblings, context=context) + if 'use_parent_address' not in vals and partner.use_parent_address: + domain_siblings = [('parent_id', '=', partner.parent_id.id), ('use_parent_address', '=', True)] + update_ids = [partner.parent_id.id] + self.search(cr, uid, domain_siblings, context=context) self.update_address(cr, uid, update_ids, vals, context) return super(res_partner,self).write(cr, uid, ids, vals, context=context) From 641ca6048ec544f6857d545abd3336ee23db371f Mon Sep 17 00:00:00 2001 From: "Sbh (Openerp)" <sbh@tinyerp.com> Date: Tue, 27 Mar 2012 15:28:27 +0530 Subject: [PATCH 252/313] [Fix] stock: fix parnter id bzr revid: sbh@tinyerp.com-20120327095827-yv1s27endlecmwj7 --- addons/stock/stock.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/addons/stock/stock.py b/addons/stock/stock.py index 1b9defb794a..ae3d23a0364 100644 --- a/addons/stock/stock.py +++ b/addons/stock/stock.py @@ -1073,6 +1073,7 @@ class stock_picking(osv.osv): invoice_obj = self.pool.get('account.invoice') invoice_line_obj = self.pool.get('account.invoice.line') + parnter_obj = self.pool.get('res.partner') invoices_group = {} res = {} inv_type = type @@ -1080,6 +1081,8 @@ class stock_picking(osv.osv): if picking.invoice_state != '2binvoiced': continue partner = self._get_partner_to_invoice(cr, uid, picking, context=context) + if isinstance(partner, int): + partner=parnter_obj.browse(cr,uid,[partner])[0] if not partner: raise osv.except_osv(_('Error, no partner !'), _('Please put a partner on the picking list if you want to generate invoice.')) From 5bb77135e4f11f27329b3809fc0c3f9a0cbfd773 Mon Sep 17 00:00:00 2001 From: "Sbh (Openerp)" <sbh@tinyerp.com> Date: Tue, 27 Mar 2012 15:50:49 +0530 Subject: [PATCH 253/313] [Fix]stock : remvoe partner_id for search view bzr revid: sbh@tinyerp.com-20120327102049-lrafyfmlu3jul3t6 --- addons/purchase/stock_view.xml | 3 --- 1 file changed, 3 deletions(-) diff --git a/addons/purchase/stock_view.xml b/addons/purchase/stock_view.xml index 7afcc96767f..06d67eed281 100644 --- a/addons/purchase/stock_view.xml +++ b/addons/purchase/stock_view.xml @@ -78,15 +78,12 @@ domain="[('invoice_state', '=', '2binvoiced')]"/> <separator orientation="vertical"/> <field name="name"/> - <field name="partner_id"/> <field name="origin"/> <field name="stock_journal_id" groups="base.group_extended" widget="selection"/> <field name="company_id" widget="selection" groups="base.group_multi_company"/> </group> <newline/> <group expand="0" string="Group By..." colspan="4" col="8"> - <filter string="Partner" icon="terp-partner" - domain="[]" context="{'group_by':'partner_id'}"/> <separator orientation="vertical"/> <filter icon="terp-stock_effects-object-colorize" name="state" string="State" domain="[]" context="{'group_by':'state'}"/> From 177085aa1683ed1e241685a402941d8ec9703b22 Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Tue, 27 Mar 2012 16:17:25 +0530 Subject: [PATCH 254/313] [FIX]base: change company_logo bzr revid: kjo@tinyerp.com-20120327104725-j6wxg8xsnd6mvdq8 --- openerp/addons/base/res/company_icon.png | Bin 19790 -> 4127 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/openerp/addons/base/res/company_icon.png b/openerp/addons/base/res/company_icon.png index 10de35e12021107d29b6810cb0acbe126f04d5f8..2995ba1264474a44a30f2c092840683c39effca3 100644 GIT binary patch delta 4123 zcmV+$5ajR9ngO36A&F2<M-2)Z3IG5A4M|8uQUCw|FaQ7mFbDzw007uvZqSh-Eq@yd zDHo%XLqGrk53xx^K~z}7wV8QvRaKtH&vNg5>wR067hd*_kc5x`Nk|asZh``~f>YH! zJ)@SR(^iW*HDgVWT|Hw>_e@*!N7sncV`)#@+9)z8iv$Cx*vJ-W!7Lz4$i6@lLK5;` zmUrL1_pI|rY+Qggw$7<nw{E?vTYu+MzwP{f-vgzTU=B-42_d}c%Qw5=9D!z6Z(rZ^ z)O08m%*f2d2>pLxeF@O@{RVn_dpkSBX=$3OOifM=4G%{mktH=Xs-}IjST_gyWCJNV z=QA@i=gytO7-wZ=an1!75=bG$rAwFk`}-FZ6&22(9}ET^4hQ&*D?fP(A%BFxit^0> zT^{JadS!$$77m9U4hN%@F=pGgO^D!J3P~s#7#Qg5>k|Ov=H}Mjd1rch`gLo?VzG}~ zTc;)`Q`6F_mMv3NbuPBN3DE2}hYuePg+j?GDF6V*SR!s1h5@7m5D-d<O$f0$V~h(* zNZg3`^z>dCxe}X<)$gw7oPY1#yU!+eSy>qbV0d`=!w)|!DJi-8?z>$s*Pq6^Weh#| zS3ihFV{6y0En8TosjB912q;OyvTU1CCZyn;aV};bMm*lq+S0JM!RHTb+rGW|)Tw3F z)k&cwn^;0fDJ91E?AfzNjvifDR#vxmZ6p$LI-Oq#(=P+M|GrC?E`KKs!{u_7l`SkO zE}36g<aWDF%Vdmk&N$;3<EiQC#>QhG96AIbT)TGd^5x6Z=S2z&3z*=7aRC6Mln_D) zkwOY7+S)F*wO#Odyd@>YD_5>e4u=(0os)$gc;NnMG?txT*wuF4GEJKj2w>&X$~#uC z_IkaxZ36%fA33~p*MBaD!?Aw-`r_hZzu#Y4TAGraOev#`CK8E6++d7J066EiZ4=vO zj8RHW(>(dnsfLDz#>U3{f`ZTPd+Yd@K-C;;?t8FmY;^CIR~VtwQ&UHe9ewBBcdDzG zm6tE7udg2(8d|q*-G&Vtii(OnZclelS4(q?+v83Przsd?MSp=1GR{oXWRx++q?Ck^ zt7D^k>g!LRITMLQzF?j|1%#wTQV=8VbT}%OEibKHwtws9?A)CG?(UCUTQ8hDTUA;4 z^iO|Uv|xcx_W>X|qlLM78S^3|BO}9umyLKL5b$|*9V5gUmz=8zwRf~1{NRHNZEaq! zcg6DM5<uHD=YI?Y00O|FY8XIf8oF2a1p?o_?{C^p{$XllaQ^(l^0IQDPnQS^MrP{` zC5+g%$LUHBhfUpVKHbvW+qa}*ar(T7VJ6<(zWv<!bIHj``Po^KjO=yyKlss+gPgIs z0x^UrK!$Be0H9lU1cMA=)#XUZ$jF?RT2)o4Dk_(PGk<0i%S<Fp(_(@HDHs<_NP^&^ zrBzw^1v_@`bUK~K8XG-sPku>hC@ECCdd=9#aAryAiKB-kLSM;c-0gA-A*F3e)4-g2 zo$i6I&VzgRWMySlR4gu8upl!tlTu>aL~urJn-D5E=bR&qq7%`^#$&^mE=^8O7Uktd z($jN`OMla{vP&y#-ru!N*p?zC5Mr)C0>a6u=~w^j+2V>Ny5FY<LlPk~VE_fIPUq0b zNdM)_d-m=Phf~+ASyQ}V0p*+u$pMfE2`S!v@4dbI_q*Nh)YO!;NV@9K?s?=fe=zCd z=_a6Jq$om24&jX%eoG)laNX%h3x!$_{od{IhJU;|PZ%NH=Ry#3`n|vXQF}{EZ)f|& z$jI}XHl?Pfu3lAFSWo~F?CI`(bH|(G<Ky`S1)-#*vdZf0qT;=;Z*~G1pBQs%8Z=En zh+DzZN_+(iQG}t(z5dZB#)pUYy|J}^=bN!;bj$C4Lv3P7n3SDgo0;uzX=aqRpKci( z=zrh*#x~vO!x#?^4yL3eFRH4_D=rPDhHLIvH+p4|K!|jo13)rzMNdtgGR>{8yma#9 z$tRzDa;`v_QACNDo=OV^%gf5^zI*p8zuMG$_RQ7cVYkbTC^2VdLSDUKQF)R-0D)*d z(b(VBC50#}EKE%c7cX75^xNOL*xW>>Cx4v)Vn*5YwC?k1l<j%x#h%lxHMg%^TwWn; z`^N0P`62*P2sPbj*aT`yN+jY5g?{zw)^*?eKEs#-pnAQ+>9Pgq7?#$q*zm|klTpRx zs{6~oUi<JycT%!NsB}0ze!opAL&y~f3=Li0vGui{?(X8s%7^~(DLs_LZ#ZIaX@4Qe zIba-9;!zbOxU?-mh_tOFpC1e1a=B+FW02Yogf)a&!jPsZDU+1s6)mt$3ku<Oxge#0 zQlHmr&BWh)e$&j<RNb02_k8~cyIy}ynh8PduMk5-N(zLY6eOla1i-2yF!uO-0wJL& zZ*6{QVbwC1$E$i=5+MnJ)9bbbcYjI<R87MQ;T&Mase9WmoNL&=4XA2)?QNw?E3aM} zK#Ibp^alJ4LOFK}Axh0?Y|Ex+7c4AwNa2P6Gs>nWH7T7Cs*E1owk0z!KcG1<p#hg` zG#W*eVnIQ|uuapAk%&(>9ejVNzptpcq`$YPw)QqG<>1tmPg5~xBszf!0e_s&xl&8% z^m_0A(Z;i_&FxK1`}Xafh{ZxFDF|bmk_|uHcy(}~@!fZ}{Lg=5RWpouPHryYf=S@? z`M40LKRWr|?p?k>;2-|=-!zBgKmPeC&M4MY#i1bxDd%k$FLw2IgSl5~$~oa&)0CRq zR$QC7wtU6y@9f+6*kc<#ZhtqEKyVsP&scuvn!Nmi18>*wZ>XP)MFoTs;Un)foNH=| zWMn+>_}|5@T}#i-?(ga15;&YrVq0#nZkT3AN9UTm?#ju{<u}C8EwhXZAvkwBoMt?( zDM~?JURHM2re~jZxm=7fhto;S1d=i(C3#W#;^%++yB|LKxMf*Fh=0NE?iF=+)UH~+ zu%bdrZkvYBqf<g4lx~;n(1G`MZrfV4V18X)9mdK{5A|Cd9h3^jAfpZiLm`-LF^i}e z7v|>!!7&$3q^J-ALOHP@W7U;Q1trX~9(w%mYj0l(DP=}n1;B|Fz^H9mr;Z#xxPRZ$ z#fzW%r>CG0Bt9b<1AlY35a0|65%73is>*E(Fa{-8Af%=#C?)Y}zwVX9hLj>9JgOpW zTQV*f!-A8UX(z_21cHzxzrVNrBH(;sN%3E-zsIGjc6>&K2m@F=f4<k_nJbVbK>x_d z)BpbSw(d^obZNRyAYvFJmy2QL$dN;@Z+X?^Less->98f&ynh~pu>|MNV89y;nVhR$ z&x~#V;+bDux^hKoT2?_Jky6vWdQz~sq5`{IPM;6nFtXjcg=JLOcEek{cW>WOU0t0K z4%_j#?(s0oqKU)<_dhs3Hg;ft12<-dh6bxEDx4TW&LySDwh@HUt0M>ZzCGO6`;#C4 zI684{&(0m(w10wLZ@}YG0kmdjcJJ8H^x=nV@4R!aKo(;*V*q0az{#ejk6Ky)0FONK zNJ?rd5yB!CQcz`0P36+chK9Fa{PnNn@wkA{qSWDZ*6-RW7`=PLy&hc`Kv=|PQgR?v zhclR*{K1i9r&?MlrM7K<N!ni@kvL<JQp`Ev90(4i5PyVmAzt0QIpFmqCnf2M0u^N> z9#^H97Ysi1^wVd~oZ0=x8yWyxUVNdZcDbVBaKO*vai8XxkN`2JYmVsEku5L3Vi<9( zDC+FEeZ$P7d=>>lXcPO|_*gU=jT(l*XLDb0E`$(3N&o=Is=)+uyM$$8x7+E{g`&nO z4TQrs0Dn`K^~6&@iN~kgE}X|MCw99DM2g3w>iYIQd(NIcE2TsZ2ZvBVNI8cX-vnru zhS>H%XL~FbW0WC`byZ=8p{fcJ5(#mAd{ZUIj2zj&zjk>orj*Xia5JF^fhk1*D4Zvv z6Br1UaWfWEIS01&@(VAd`u%OKtqOz?04OCy2!8^=IZwpnUvLfr06+-a+S*Q>I5s*t zNg)!N$}xK3rQiI^&wm!l&f$t;OGyBj{aHd%gn#zTGk0ycx4pNQAq*W3gE3o50f0fN z9t;YsaD+U8K+E~_B^4F_yK`sqym<^Eju6L~W6Tf&npU*1^xTEBzkmO|YvW_rr|C~z z)_>Y`s=KQzCp&vyBogokxL}mhHLF&Ad&P>D=H_E3P8@GMJ{gZA0FV%pQWaxnS^xRV zU%s_tM_yiDdN>>ohXDXk2u>`I!*RN$rGD40g9i@^0D^wMQ`4jnvuX`OFe@{wpfEov zlw_J_`-KZGRl9vv-6w625CTFtK0bc<$bX>==g$i%Q<9U5istKHeRc{405HxbV^aqX z9N4z)4bFvE_j1M<=d*%?6vFLxM<S7~t}cx6?%lhed+xcDCr?sJXZJ`+O<i4A$2gZ# z1_J(N%c_EbAVeTK5u1#~TprK*_4j6GWPEP6XNd$MWNdV_xw*N!tJAd1a5ya|Cx6G~ zbV3A$5K>B2!KP{d_T`t4pZEix6+Xlt;~fAA00cnOG@B6kxrrPkCneR@t-@HDKfiEM z*+L<OWtyW`M>!Wcd3iN8wV_}@(|w-{YQ^nV-0qw}AU!W{u)qJph4Vc<J*S$RQc_aV z($Ye~5X6vhjx@Entn`B;M{PndLVsL*Li5=k0U{)XxSq`%0MjN}xw&NvOGBZMVHo4% z<I!kz-n>Y8c}4M}MUKylf}g4%*Z&fnODUt#Xh%oKnbR%NXw>C$rKhK-q@)NbDWyZh z!#lR`Xgq%6CTBH-^7DF1<<ccjJn=+YI29o@IyyQuJgjMsnwpxjvPE967k^>=1&QcS zYK#C(T$||VXg_nNH5!d-nwFW7q3b@RKvmIty1QT7vbDXv-AE*E(vky^l9K%J!w;`p zx0cv;B4PIR_nD@do11(4%5O!|GteJ($giNnN+~5{Qt)`(=;`U{=x84tybK{qPEPXq zd>)SnVcgZ(dHnc^<Ht{oPJc`w03ZMyfRNvJ?}iQQ*WVKkhbJc|2M33)j*O(uOIxy} zvb3~BRW;;rz^|!O3ofRk*9I>Sc640q>+MAl`h32m<P=R+si5&`<K(GRyLRr18pf*S z%QtR(G&P)x5V|^YwWqsVKu}dxUB0M1H8b<NNp2-G&I#zVAKSJ)G=Dt&@yDkx4Gd61 z^ngDU2x5#e#tG9j;_<5LN+X^yExV)r;@J3jPEKy!s#V!JxwrDs*HZF7?FACXm7$@I z&d#CBm#3yCy}H-q_Bvh8v~XBLFwocE)7ujYC0AEhmz6E@g+g-|*S|8*bzK}tDTEjs zAM5Gvx!87odV0p;bZ`U$f&PI@jM3Vf+Un}+P$(Hf01=w4Qs4Yt$4%jg5sywx^!E04 zb#@F74+VmuRo|)0$;)&5{eQ-l!`A}(0$glza&Yi+UT&VQ>woqI$TtJ@X;BpdeZ5<v Z{{vI8KcE}n(pdli002ovPDHLkV1m>w-$noc literal 19790 zcmXtA1yqyo+a4i|PzOu}$x+fRog<xqFuJ8fQo6&@NXQ6D5eCu%(kUs8gmjm5N!R!O z{^xwpIb&y>ckg+hxZ}F->sq9ms^UY!=Y${-=;13RIVA8N^xq4N4g6I$Jj(#yuw0Rf za8TJ0)fVu9z*$Mp6$Bz8`|pJXO3NSz{)zAQN<|)j4hNr@A2(9gegp)f1HF=y(e#?x zZT610ob;ykIBRV6-|;_~_VE~i2hmA~e5un-H-DA%J|hrWu{uQ`T_#-i>637J@mHk9 zGj?ry^~wRIaRicHIvxbZ{xBUposzZn-)J`RYz?^f_mtXPi<=#@34(Hd`W0ieQdn4~ zQ@+^bdvKn4a@(?4`x1=|$u4_QJMu>UP~*XkCe|CrP*Y(E2_vqQ`#)?!;y>S+wD@^j zS>=yy*+k8ZP0lVZO7Za>*Q#J0Mg|>Lznk1&Y^BAOF)=aWN|~LS($&`|4EdtQLQG8T z=I)+^z+|&6$r>a3W^QgqM@K*4KNcU}*=9Ta_wQQ~ArnM8EI_wVGdVeVd$7Sa&EMZ& zLPBE8ZH9-qS`8N@4Gt^{%C?zraNoJRy{>Wa^z=MGKi_HKqUEH^LxHf!<<+Z=)3dX= zQ~JR<3kwTBfBr-kj?d5Ej*%U%miPAd0*hc(rN@?phmX(M9~H_K1clRq9>gONELh>B z2s)Ha?QDO4|H;Wo*5>-jWlqk2H>s$o0G?RUKtn@gY;3Grzx2PUJj_pIWyL_~1;r{x zJQ1`Jiq^oM2kkVhzxVd=sL?OgPkt%<-_YfF>g(eZP!x3EmX`J3DAQz{w)gPz5>9$$ zPEZe>g+GH!gUwx>ie*3qs2D7U7G73M2yPO>(!;~U#f6u+qpYkfAt3>n2|Q<HV&b$` z6ARgQpxE`+b^fHiy83u`*B(=8t9P}uq$HTB0G1CS12G(Cb%m2E5#U0kK?F=7H82+{ z-Y`sjEhAb<P8})_+cZQ#<V|z+TLX4BCUz!g_Wmp_E&c9LJl~(6l@eBCOF~LWM2xof zN;pZCn@sEK>D9aMX!CuhqNMD%sPrlP*O7CFFL@d$_hM<eBb=X~zqq(K%#`@?<7b2q zVqENZJoo>49Wa0xeg?<G;@WxEOxMD(9_O+|32(w9F2s0Iq;LZBQE(`vTHnFy>?d$s zHa0fgj25e`hkxfPdhX5qw{Sc>heAygU0q$Sn?pt|ej?xy?cyZWf;eh1kBh_Q$jHch zMwO9{@W<BH);ikSP<aX(8m=S+dQ>;!pk5SYPnpdU^_7k|gbo~X{)$Ql1?eWoA}@|| zr3s{4OIU+PaH9XZiSk!HUa0@KKi?~c>@#Zg0B*gz^z(zcx%u_^K|$cHt*)`Lr0?18 zdVdOMzt7cHL3nsLds1KHL5nZ&j6;{5ot?djFM4`<e0_cI6V==HW@{ye4UCKi*Wb_2 z&qsaTojVW{3V@=Fm%;-eVWu2z1X!V9NDOZn1i|%{B`T0IEC+J%%Fnm!z@DO+PS?n& z`Tcs|da=&-=@tL5_{j=Uc7{Q!r~g6ieR<$DmTN^*li%IVWq%6yyR@@^V{hW(;`qDG zx@5ucs%Hk%g@&`G0BgIxx>C&&_x?MQgM<I*rl$<Vx?X;NRsMoBa<wNeE+&R0iuARE z!4*7$huD8{Ghj*T6Dukn0td^0U0A)yAIL!Daw0BNBVAd|TEU23Po=<3Y>@L1<;U)3 z-}4#j>p!Iip8IpXn<v)8S@ShYfTcX+HugK8_k1ER;(ff9CE=^7wVrV>M+*X>;#Y-% zqXAq9e6=j!Rxyr7!ee*p;^Ja)u1;cKcclBn=fUu*l+BH@EYX*ek^vWoITDR$jES#6 z($KJ$gX<RBFsj1{90Jf6TrxPQtL>zn$Bp*$7u~uFMD2YJwXb9Vezz1B1a9AqV+zGR z4GqPgEL&*dpLU#O12GxlmnNg%U+!lX>y#VSzyA!ms$d8|-<>Jl3EQn3^`K|`60Zh7 z`gOSug0P;So$cOXOxVi*yK=p+zUrAtpo6{r%~XZC@A*F9Fna%;G9YSyU%Uuk&;Ey7 zQdSml6m4Rtr-vmSp+u^1eSQ6yR#IG2()ic9IpY#i8myK77J(Zdym{R+-0>G@_7cZ8 zu;1iLru8GWHj4~YzRLCSFtAd4Gt~;Ek9bD~N{fqk3RipXx}@$8XorT4ggt3sZZ{W4 zkvP{6RZ<Lh|9RHVFLK7crL3R}B9$iC9_$9Tdokd8FElh1p5wgI8A;X?`#3JvF9Lt% zg;v|j%F3qH{iS~CnT-Zws2-YN${ZFR9!DkG<aw}QRuRGbD5UMAiQL^Y<m55>PW5+> zg4Jd?45bd`<l@Q_@jUCp^j9kwAqtD^a@3}Py#s8L|MS51HXCT^;%F5xjW?-JQvhGr z$uQAEn_a^|Utw1B7d%56dvIM<1=w&_v(G6T{BK(@4(;VHMdq`8G3UQaZ}yV{z=Rj= z&sx-qCsqtd;Lcnkk3}{!T;WQAf%pHJecVBxRTT=t6$&{>Jb0XPhaW&`^3{+lyV3b> zr7Jo;Jsl42)@4qdu60^GTJ7QgtXyyS6iy}ber+U2HrY~!pr+QZBy8{FeX##`c_q+P z%hxGmX$6_Oh6bObl`f3})#}+jz{Vx~j~T*asc5LFZ(n`=OIwM((uIMLJnrC$0xXga zRj6raZ@&xNF}H&u%+#5c@!8_RROi5wKRG+@Vue=m#P((Mv!P6}+M1efksfk`WZ>Z5 zRmAz1XtE{suk#Q;rWSPr+><6-wMvx;nvRqd8;g;2k=vh(DaL)c*3mmUtux@KY8@U( zvnXB2X`#tuZ)RpjpFTktunb^U=X<l0lao3ePibqhH=O3Ls!gteXcGlEFY}nMETr_< zAflfl&t#Uu3^s$=qef?E8v_^b<{LdNtLnYVZ{1@zhKwGAYy>GM9SvK(j#frTkx+Rs zOl8c+*B9_z*FIOVG!hMZvp+a?+JZk6Y9jhl-{N#y;ywUDz%Woevhy2JEz?jg4{<IX zVF%9wZ$;f|G(CzgruONaB=ONh(OB2}p97aCo7PrV#2pv^3Zx_?MQf18{`>Wtl2_Bi zl9JqD43Z1OWeEa}30#LO*w2<ZI(lV2BjBnB6-5a@_Ln;J7Xu5@3@msFr!>cBrltxz zFSSXVwC3A}oH(f1H-4YBsGD}2Z*Vyo->Rh*_kyhAYgD(iv;cmdR?@FdjYUoQ52ZU( z;vNO{M3nruA|-6D2T-Im2o~{XHhGdhXUTMzB3v@gk}D5Qj)MTVLszFnk_}PfQ8Wpz zTuebcA!^v22|;1J?+?}P7yP69UjyNs==4gc^`;SURjukAlG+cNJkfMedbURosVNt0 z`2quNHv%wCcC|Ay5IPhXmX_}wd>~S`=?#Q=Oq0+4Ts@E?<c7!X&Q!B!s>*^rNx@*# z9(QJ^c}e%}@qYvUi|1G%^eD0rnti3o_5>%$VYaA<Evizu_3&`H!(I@`oU&hGU<x6w zxL<JTJU%zIo%>6Hv1t@O0S^q1Kt_QTz^_=%qxQpP?7cm*x-!en4Y5EMrfP+nz&gE@ zkl6F4F;`YczepqtfZ9tNF?94AHaNL?Rw3(MFX!>cJcHshTu~8a^eXBf=$xr~T&QMi zoaX9yMMU&ipl7PPVs3xc0zIY7<v?4$cjM#Zg=0={=IeL7%Fv`R^zi1J4B?}MI6uZr zRo9`ht$#~PZ$}YshSrvrmbSLN=l({M2Bm)ncZ9yRH#9ajMllufES^gY6W!89)%cm9 zAX-|=uXfcQ$Sj2igTE>{GcpFYV%<n9%OhAJhhhtvg}q}1!>TGOBC)cpd)wQ6n<rat zSG_DCIu<55FmJag^7)qi`C-J4#~+<%{Ppl^<o=ILmQNs%JdnavaTJejP1Wo*>;vwu zy}cc9+TA@0k7y-JY-c|6TQk3SF}vq+v-Vke1MrSOFjX##j|&;8ECF`QP4pvZ4f(f0 zQc&>E<YaA2i=>p4NvXD$Rw()4{{~a3oM@)D)=SBJWi1wr%h}+$ANQerXKjvg-+A8s zLUN!*=Zfpr_1(O$hV@WJz5jL1sxbMgpP<ez8&hI$>Y9}Hg9rs#B3Vvi80vX<)IoxF zbd7z9tq+8?%*om1c&e8rN}G0|gk$KX-OI)E6$#5NpU%{S>phQtm$~l?b*@J%0~5vI z9MzsMq&`wV*?sNTZ|iJ-!Suna7Hib<$dVd!VuD(T!iU#%(u_<fQV5+dM^&A*XRfx1 zuKtX!p&VF0dBR1sblnnRE11stlqglvIF|x9fLy`wJxdPM01OKal16ZOR64TC-C#37 zaesEy*AqSCnrreeo_FL$jU@v|V|0tSTS*}SVkq!DP76yo(*wv4LLu0FGhp=2M`^h( zdpwLrg6$0IE8NA+&C|}!{`<VXkMsRTSF}eXMUNa)_a|Q2TBX0!HG419Yc}Q885wzq zPyYVS<!(BJdwSMxdJCJX5I<UfFA{S2w5^-bV|FkFiFn2ME1!QWCr7)uy6(U6_d0++ zVZ_~`enQ{2ma`whNE(&zss)1OD*iA}58P$MIwC@;LBoiMh@7%T{7<(he5zm=0cCa* z4y!8f?g(zC?o`Oib-;<@KeoUXvhS-SG6X!P`l5SIb?c$t1rvngv^WvKipYYAWEtwS z?!wRW$LdS$D0ZTwOBH6%jj%+_IWkq#^QRqase7h@NEprCGBrC3fQ@di`@7pqKN@om zOiU+(kh&7+=O2&x&w6A?ge`N4gzp*g!-u6MB?E(lKuonuOMZnh@bInDo)F;7RAo<# zVuDIV+&YAB!f8r5IGg=9{$XCH6ipPNky>a&u9V?TEv+PoH29@T|AuRn)qtvs#Qs~V zxwAy3cr|IT`xwMgG@cZ)g3lEcq7(sAM5k)=y>|e~v+4M3uV&jjI1bFG>t|&a+b2^u zl7+#{w=2vW0q<$ZmSlErYi9OUmxB~ub31<imbT@Y^ZZ8bESLT6P3L7K;ATtnHjYVA zJc+$5=+g3XS+L5O0P#mN=7rXs)z>9x9d5%qXCRiIp1Q+uF#<`5CkS~Bp%r}V7!0y- zA?Nq<hj6>3k6U7iaRykkcX22X2p5JTe?<pX8Gdq{pM*xve7xGe`3k|t>4o8e<ly96 z_7zTaN$mR~KD*2Fz0poBygWS4K;DBaTx;M$IZu`u0fW%8;x*R_)yCtP<xcCP+ht6U z;?3_*hBj$6)|2~YEzZ{4`?F51M#U5F>*p>mygUnw^<ESe=_gn7f7B?{<Z8Jd0s@wf zj*fX>CIUkk3a3wqpw<SvuqFMarlAq>5>98w`1*tt>wrT3du+NG2(lyS^3l6$m)UNT z@F;{BwFLM{8-GzvMU!sJbT@>zN6T-R7+b>m$z-o3QE23?KNLgCI_W8&%ll_>a$;hT z{6P)%D+rkmOawsw&|o!0<b$Wu(gck0pNL=<1Lm~>$1G9wbc~xWOWcwrZScQ9K5PS% zdI=2ogZ6jjR#o*C2?=Hu&~MLSa{M3Zz-9AwcSB+aB_$=!L!4j%+2PHTUJFtft~ZL& zEXFh@s_<V$f$ByhzG!K~vd@5nZA+Y3W=~O&qH-!dh{=*VqVLp)&YLSGxX{8PO;E#v zPbFG@<yv2q+GB<qL7e{!6;>+HH-(VIr+1qCZC<U=j2=8YJ9FF|H@ob{kb&*xoxh`b zE5MgeZD*oHfH)2T!$V2(ek<1SN=j#(C>^q_BrNGyxC!e_-Hspmo);{7Z)TRa91~*x zX=M8y0g053)4XWl5#XWW%Jo|F1MBZUD@U;nJmd4IOzhP>xZtXF5HnWX+2X(QX(z;r zL`A2{+I+Kp6A>W;0=1!7d(o}SWy8b1Tge9^<kC?*aImQj6B$yA=PNv7W=7#%6<(b* zdBDNPNy_x3IH_~L7<+@r*i;7ufd|zN5AiKeMAP}FUTH7^46bB}u*WvPXCsy+X-;`{ zclU)1W?^>Fa`d|*DJiMZ^8io%VnXV2wYT@xr27;3NQRPnLoTZtHEek;&i-wR=g+6A zJ)MU;lQf)uY#J1mk<f{q`V>r@<sSC@8uqK3_>B#>(ak^nl!GE&<@tvNQX^y$=}x7i z!iM@j^WiJCL%4fmD(gmU1RNKdyzdwOwT&zRIWK^SX2vE|SU=*XfI4AVi|07QaqBI6 zKqeXj4uf=yto<SiVTt)T>;d+9QRe7dd{8VF)jm;u3?OE^>gSm8%96aKUz;asrrmE) zF#4FYvxhM>l6-a6*wVI^RjClVgjvV(shZ8}`j!w=W)HJbGBpqioy%FS`TK_<%qf+X z)wFopFf&^gZpI>#Tyc<BWXG4_Hh^bYM2knh8m|Z>N9PBN_xql$VlHp*j|yTx#>Vo& zSEbuM;z>yc!1B1V1R*TMw{%uj6<-+W)}Fq7eK=|HyvA%JgBw5+5`p{2>;2XG4`FE4 zg2sjhWTB=Z43xu&Dk@52Uo)C~$@h8rgJRXReQ`@K_+uVK-2UZuSFkB6K3^XkTvxOk z8O(DcnzmzGwln1b4Gm%)w`C7DC-^Kh&^Ky!`R5@=(27XW4r>_^)|Z;n7x61TcyW++ zIO1o0bAykm_vMU10UjP6Gc$9yVoznEfI<*5iZ}UFc-iV@@WHi9i!p*V4}=Y3J*qKp z_%Mjg8VZdk0{j&ctY>TloM6u~<5uHRZ5Xamm^urT@3R057aJtpL;kMl)6hl(URc;U zb)C;P=ZGB>?&Jqm->Mm#A8l4zL>-Klw%~15MR)scw;w!H1nsk!w^E&4{$OQcJX3HE z`_IyA4Md?>BKJRH;zWxON~>_vcm!J)*K>Iv(JqG`<|#AfZ8ijRuz8}z%%o-t9||JP zBRH)NomQ{omGIyD`N2=JHSqrKKeYGg5rWldaWldhkI9mDYKC{AJ0I`;Pg-@<1<p}) zb#-+#fXnNgP0h_^!8zXmAjbkFjQWZK0Zti|T4eG5vZcaEqQiW;C0H4DU=o0@5i(Yo zHeZMvkTVrpsaK%au|+)iOpUybye4FX+2RG*i8qfnif~O9hE*ZUh|%>sbiQ2n6E#T{ zz8Vi+eIX$v4HV``u)%F;Q<r>5NFKTxz;fD2@Glk$hl-vY!a*z^f)R8u08{{|IkLF$ zKRgPYR6#*2J#G8*u3Y^d2Pf-jT5&#!qiZ#6urx-$8GtX-C!2lie481_v|fv-uCJ!# z6{(OQQfwG*n9bYCtd49i62upB0@*PbDu)(`wFcA5^qIV$2v86_HGYBC`I6F7ieBjN zQ(A_`Q<zy$JOlzqMX;?;Xp}ektq)M-7fJ&Gj)fT<%$Y?`hvG@-wM(mMY5HDM3BfZi zfrr|r<usI0;$op7B+9HG6JL~S@AM_H1E6hpe}4hkhMynsUx(6ng2DCFucz{ViZxT? zzAe>jb=w-9uClJJvYocC(PZn2LP7Z85Bq<R79MZE|BIjDs%*=bezKRGzoc4B<AY_@ z*=JRGX;$6T{#Tnq&%qmGt{0V45FI)Z8vceH^`uXEY`0Ez=`!QQqquA5i3&egv%jdb zXrvrM=cQ0gjbsT+vSsx{B7TIfvdn{go8jeL()RW6s*fKZ4tvtm@oH0;o09uvZF(>4 z{x{};#MonR+W%q+$bw0Xv{vf=`EFUVtguCRH2R-jedM=Z0E#fCP!#B=9R2T!i6mua z-fj>Go@z?oRo33N@2|jjT3UXmPBq+yVu><y@;d$a(25)+3x<t7L==8y;adqlc+Fbz zbps*asLcSDWs!n#c-zxa{Z$9UMk&(CX`e)t4GudvmWahNfL1)NM{8SLu1hEJ6&135 zHl`PXWxCFvEXtQM<9?dqoJWwGehJ0uMtM6bOq^v28&l3#^W8gN{=A*&3XR>N2Z6eg zll0x9Wjl?rjV%H0?(WBP^>=r7IAr)M8P7v>k0DBtjLsQDYng?vn{S2(2k~XT;1q7_ zbEOPgRHEMYGOz{}7Ek+?IZf`j{7i7uaVpRogJ&xwgpjz4o)(I!=H}=|mVDJCNulTS zqtzA?BRW~W60LA}305YdFoo8|ZhPlVAaSyVhgPlI2VhV*3#2`CzaZ;c&fMMIJHW%m z!^-q5*vLVtT`a5C<@(QQVXvR3Nu%DINB?$=n2Kz_j4}6GeA(s&6ZK&mP5R<fEBAyc zDoS3>y$ihS`8g^M8Fdkd(aYeD2@E6x3Gi&0=+I2_7W=t1kmUe%Z=jenH#<vt{C9sX zvvxS6+4BHEq!4(1(Pu-!>_L{Or*Lv?h>m=vq3NQv<fK>)<$D=oYWgLf=LlAcYLbnu zm^6gCybhm;jusf^Kr=C~YLiy~6DIs}OZ$&0SI2wr-;T!h{;Pvk*0T_C5oQj|8a8&k zGP8PT;^obqIj#5kxWTgpuO}L2vmQ`+Qz+-41RA-};B))te*S=3B0xNG*g<3Q!j}bu zMluFl**<^G+ud-DAJ%=&C7G&cr1xHbkcXH6mTXB8_It~1<%fQ~VQjFEg#}~OSD@bJ z9m^h+hXy(eev;)oSGhqVg2W7q6CWYAf;*qhbZXRo6hG0@de?$4w<`=+R-#XIfBvwW z9Ge70cl<%SSZjN)>ol#X2m&Hb2$@<-@-(^M5ZYg8*lJve`|WwVEGN526akNbU`z9S zv~=wPq9EfZ#Vl_hb9YNi(*W1p6>npx{LZ^#?)$Fnrps;i#<N|qyWiH-J(1~_bm-un zacvzha@MF2Py(s6vS+53kHvlP#N}mDIKS)pzLt>C3j20L*|t8tY0YeA@_dcM^-NN6 z1xYwLhOE#}GM$Gr5*8msSF)|2qq$2-K`ZHH;bPU`vrJ`)Qs?M!c6G0xE^)$8Gez`= zQ!w)#Po@aU4(q&3=6XUFiJC3yQg*1)zCBsI2Fg!m)1`tiIdybunz-YG-L>bq=5R17 zp1zMI(#6*Ppp&25@4YF|blCXWTqs85TGdVhK{ieVoZr;%q;O;SY@-N3(g+rkN4z_3 zf+Gk${)em&K+<DBAiuIIjAZf8swPdcoBUv(m7KKyQ1>LLcSd|ttrG5?vlpc9QHL_c znskd$;nFb+>->5gdq5%Kr7J{Q-?A`KuLp+VeXnV#)YH@9|7_9leQ$`j+k#w^{T<2X zwAr)YP%OF!5p*Sm$;2I2&Bn&MEW?8gAu40a7-U+`u=3(!S-!U)T?t;xQ#=U$6NWiQ z#dnr-_Q;^ORl%Y)q+Ue_PoUImCmlu-Z}t}NpP5{q5Bemz8o&D^g3kwb<NgBl;8;w* zTo~hFfh)dKH!je5$eQB0ihdnKV!bvX(1;RXruDrGRq%Ipxia>4$(gVVHDy5wXuf<+ zu*s@2#)^>!vpg^#s3bKdKg+8Me<YQ}3f<FJIq~m0*BmY#o>P=)e$`I=O24c))RY`g zl*!N4^<)8!ZQ9PmkGoSA2jOd1vv(BtJD)4<PbqleWPpSqNFyy4+uDK)VrOfb-F%N- zKJX|rQ^Tp@SRg90H(EkKokvzVXPnbCmCJM#(Pp7PQ)>UlNfg?4b+z<sB!}UR%6y%R zr`>yZ_X$%pDK-d#mT$n~v;AFhs;sS{d3Tnc$z$kLi;Cb2r5ehYov$RYZ1%s7&HS4t z{9UhbV7}h}cI8sFfB}P!N2)xgh^DiMVM6wr=?wq6`%uemWJhNA?;&}8$>U%gX?|kr z{BO<vpDSD%jUO~TqOX;G#mK}cz&F_Wx9nF1frgssdJ$o#O<|?W^7wgKt8dO&4J#(n zzAW(V-=(9~TUl9&j@(+V<}vIy*eFkhrzG(DtgN$*{P`a^=Q;C^IIK_Pe_9lugO6E0 z!DZH#5`Y3MjZvz%v!~th%GOw>DkYp4)E;3LQ6otV10l`wn8t$VXAF&wB!vEnK@eIR z9PC@4KmLaErmHM^ZDMc2P{R8SFcc$cB+|)b@vrXr-!i{9i_Hc?t7{H#XOpU*FeG(E zMPcQk`MRNS3Ny#XCn?z=5YN}5BA={&%}_cHhP%W4wOh(b%8z*6Qvxa|HP8FD;hScY zZCV<FjM$>03-z&0vO^$?0fAYWWOQ=}dQcdREjR7VCe9pZ{Xr}D50E_eqGw@B*jT~& z6ulOoTo?F-dBptBmvO|n%FpJ{W^N3Z>I>lnvXNL&Fk4heP$aoIVs09{0t9g(PB0~p z{Yn5^>H9QAVID(#kSY9c_e4%hQ^Gcl83iHK)6?%nAt#icHEL=-fqW}Mz?{=h^(`5Q z7unlGmH0yH+UKlRN6(G3{heDUY@{OqjIL4@=*0*Q;UOmKGUH3K^P<6nNU}Z<Z(zd( zK@=#=A#izhVp(%Ef)xuT^D9%^*VW-cE~nx{^$=b;<nu^e^X)T#vi2DJAroUmgA5%O zA}<tgH~J9767^~58Sx+*DM<N}hrQ!lBIi@yAhE~vpdi=6f={78Wy+^VRE&<*Pzh+H zS;jV7H9KX@(v<&U=1||9>~M66{Zmt_7gt!2n2NUZvP?1myHX*YXPY4DqN44F1%947 z>x0hDqr}ZcA9Jg1u8?@rc4!F?>E+M3s5aUVY_H}ryx^x{Af=CxdcDH=#uwOcWJSgu zd3)5cO&)&;Dbf`5{$4?WN8@2Xc&^!_5W+C4fUKk&$%VWwL}48nF|2W=pkd^AMLQ%R zBi(q9{J+}eO~4%$Pb4(@(0ys^cI!h9jV*-_#KAbYkQBpU_(RRXbNAtADveco(IN2- z)NoyFEPgQdq`4|(ZF<yBU2$>molKH66WFUD_c8$LvT+Hdf_|sRnELB6b!Zxz7akSb z-hzXFP9@Su-cOOXkDqp6Yb>Y#(8&SlV1Jk_Rv?$y&u}(Oo%l%(q9Y(sVOQ48Onck} zdPVWA=rxOSz72CU)r-Y>25hNu&GeC|y>Fz_W36&%od4$nj1pd|sZ+suyGbzZKi-Ny zoZ(FFw~Kn77DlU(t`0Qr`VgQoXxKi_gMun6r*a}jewA$X6hg|bLS72fd=@t4JZjuY zLrOM8fDMa4DHxu?`Ncl0HvMJKJHjm<`5o$Cu`vRILQwW)@IsCNln?sd$0^En2wDV` zc9caAZ`OWIEf3$=*Tk3W2%`PC#szfL88XXeJ;Fzjg$72fLcD&T=s0lO$Tv^C@hWKD zo_`D*t65#4h~nwi#SCnc#Dj6Z{e9kDw<`EYr@d`4YUCA{_;7+aoOrZu<`F1Joh>C= zynMb$K6tUhfgt!R3zQ6;lVg{aPY}6S{DuS@G*Xd%YNsNUh@dAi2X&{y)ws+52o_DZ z(99#~2*3(1ew>GMVnStjS+s%pu+HxT_M&5A!j<=h=GKc>j(-~)EbY?%n8uhgW1tB- z#V;Ftd`BVM$+5h#tII%f^I*6<jGU|p65&Ok(Dw}CnK=0X|D%3sQxljZ530DFeDqR< zKLK$}hepDGbgj1YG+lJ>yo-MQVYTs5;6L*s)6N5P1sSN`mLXrdmgW<Mb_XGGu~0|^ z%-WjdGFLa`6Km3(ex}-UF->|x?agP2m-c+=y%wWTQ&5m8x%$!@<9fI4#&U@!sV-R= z2s6s!{Z?>J#qZ|ptFWFZe~E((i3hkAF+4G#xT2lntl8ioE51TQuF0vXk<{a0QB02y z_DavAkZ)slF5GWZ|Ayu8gkVA8Hesf^+Lr$QE{?JE92U4RO>h?kMocX6lN<-$?E>xD zpKJIxH2+S=vB@>y;Ad{BPX~gDwH<`5^sUeq1;LVGv2b@CtD4QX?PHna`s6om&`W}i zf|Nj1a#VAlKA=$$Na$aS4jr6$62uFlTlqP#m%do{{_;<CahW+83Wln9)@Z%*tM{1{ zhDCFNSau>0ji$qXi)otqHW@9^9F>n?ebTK7a4kOCRnOar2RjRtPp&u%0M2STG{wZY z#ov6f<+dm5)+XwlZ&*V%TSS!<Ta37R<gr9{1I>xih+PnibgAG<NJCb)EHPs@IRg~& zv*Yc_!uVDpEAHEkHmr(@*ic4I`HxTCMSYeG)W<E;()aS4zweF<LKnw!!5~(Y8td;| zwTBFtG25icKXb8;sS2Gis6IJQk7;c2^rJmD{eE`t+o4wXj97RCrl_ds$E*VhYQU9~ z@pan1yS_3A9<g07ExayPt5NSq_!A1!Z%g{6GpFj{kzb>)YROLkA|5K-k+gygx$#uc zQg1FuT(eDVX9w(HbcQp<&i?hXfQ=AJ%(8rXD^vCREj+|HUCyk9p{B)S%V9ZdCpr1u zboS&5i@$6d=gS;Qu4Bp0HRdwvTaSG2ho`dq6|=nsQxNYvcGZ|QSeZ;1gProK-cC5P zz5|fh3Iq}LFdvt2_WLX+UA38KL-F4oJamRdr9e7P>3=Z9RfoG8BL^9^=u=|!!4LPj z#%sA9bh@DLOqFYRbrPy%8D%wXT<`#*p=amyL-%h{31{&o{0r~1)#{qW-p!c1JNul7 zXHN}4xJ6fa(z;-hJqc&$m0!!(o{lEXe(QS&&A-1*aP}XI#;zHfJ~!uBBLUGrvS5os z&VMW6;=FEY)#~c@zMt~C-}jF`-yfK7t!=0qDG|Ei@p3+2*v)KA8EO)7SwoH0@CFqX znZ=Nxh#6v5l?$M1ghRnWAkgB;_pg{rk^G$)Ry8HL&+y*yQ}*)PiOGT&2Ul68MF3yu z7Dv|ijCRid0`mBx_U`x{Tn_mj!OHaQkE7OPU!?L=a}L;dw-0<JMMaw);yp>&&k2gB zwCuDf)AAiw?-R}1d0KoHM{EQWKMT9%)wCSVPnt;FZkz|~2;Ie*_ry})|LQel?t;X? zbjE&I@NLadN7BI<RiC}?6$xtY$PLSXyeFn+VBmi}yU51PL5G*iGNW7Ebh+n*h0DJ+ zw>#hK)=rPIQI>&7+L3rU$*OfDKP$g;WpG?TDg9xm3_NbUKVO?D-qZeo4CQ^9Ihf&f zc8T+b`gI;h2SQLt5WrJ%NH`4&Xi&&N82P5n3Q>@Dh;16FhiKC2Y3U4%@nHv#d+wOc ze2e$(?4r*W0V>zi;}XG2^0X*KLW%G508k-sR?lp5&n<7=9GI?Myx4!Y+UV)OJH5H5 zO=(_Yt3QWpN5Kq}lcO@@VCp1C5|dzGniU4x9Bw4NhRX6M=<BBz>%40@Ac7U8Q?{Ns z-3_+{=j6Vj4!q;fo@SFLF_5a=+2BE;k+Ng&-mUvopB>))NNtFQRC06(kfrj-t3RTa z;^h(F|FJ_%2F8Fs5z(QR=*N+)5?}yGqPvN`9V|m3X5aK%bo0>Ik;*EqLjLD(T91>e z3WibQGmd3}8Owhgo?rMt5v(smw74y5KBl`Du_;eR&cBjAWY50VyK%j^T7R8VW_a0` za;H)?&0#mwK1hj!gELh@f{xnRQb(b_fD4VK?I~*=5ag>l8^UQ;ek-n021a^m^}grJ z1Gjxw4XeW9hbd0;hV}j@nK~w02L~yG`9Ev_eNoIIePBn<;#g4A@cvAU+oaj6LZ8b3 z@)n^o#^K?<C*hW-1@u;ZUbz@aIOELbBi}Zb;=`ioyUwfWl#fSTsUBdrsGHV2grW94 z%8JLgg%Jh4;yv@a*B#uqI{?jzRqhhM^&%P-zj!ma=yxNs{6p4;k{%S?)@eR~r<R(Z zJY1oPNVUQ@t=7z#^86w!cs9okbpI2D0uDR_?@QTr90Qh#0CGdXQRth1wa*0--J;|S zC`~x3%thrxAtU<+j8RhK!P4|{h4P~GWM^=JXr@r>?J<UElUFX-K~dc;(B0k6mH-YW ziP~JFQ|4$lROT`aI3IYosOKllj>%(tNnEVUwkP3Z;p}DaJed{kl(}u#iZ}KuZIBnl z2tVbqliij11tzhAb3*-_rjPwe9ylmN<zGF1s5foj22C9jz^$wLJ_5N(%)b1`KP*`b za7BnVhkjuE=9GoY6k=7J?Q!jAJ;WShDt@Btw&Lkx2;?GwPTJ}DdEjP}PIwre&(+m% zriky^zt1^2Fcd&rvXA>~z}~o*oFouw_p2049Yt@Gwz2f<?`>lu(PJ9P`xT-wjr071 zf})*w#*lrgd?pNW$Kl+$ajn513uz2*cLdt`t;N6TH-R2DZUdf%9Xt>ysk7`$zv1b* zxgZEz+Ebxdge2-=VuRfq-FUDcjkSsxVl10&QS7(2`^&U`m!2lRm+MBp9`}hRx9y#s za^ztZ@*nT7SJ$!P6mC0DzXK)d!l@#@N%zS<cGcN#QXroP$Q(sQ&wV6QzG`mYIo&Nw zT_u@Ztpoknrqe$Ll$4Y%`#{f#p!f9OxQ<12<*T=xheleHn({6<w9;RBnN+7}L_JnM zZ%Q4#_3=6GKBb&28<5I45$C3HdHTlw$iM-mM4!V<8o7LA#2(GAtc4e*SUGLaq}vq% z2M5bd3_gU>hgMjy=_D1qYzCu8_JnI3UX0nQjIGENfO9?`&lE3uuZwZF=IsDpFeqn> zfx#T8V<P7@S;8Q9e^p1qU9fA|TUW`Xd1b&%8rp)1LMj@FX}fW|B$WqbA6eCxx-?!B zcl_PnMih(<OJ46f-TrZs@H%|U9vB_3@L46vq8$kh<$3<Vw7D`E^d^sp*YR~51v4hg zSYd15|N2da-<8R2`Mt)bIyqm<LzOXPq1?gJuPK0&=gZu3loUuSuWtB0hlLP3VbeQj z37lhCu_i{{4e1sRAcWy|3mb5FmDYSMih+RIKBiCJT}oa1k%whptPy43ib<V!@01%i z`-MU}$u$T73Y24YwloV|U|XNu#uNk^|2h%_@7ik9{=h;wrn%xVPABaVE@bynfyi?P z40{QNPBO&ez|ezM$-ki?ykK^)ZE)Nyr`ar<IpJm+Eto{6k-9;(S-;~H+wtWD9b;C< zjG&DGvM}#EadfmcIXy}^?jH*RHZ{2@<g!+X^mJlNe_hn@+)EnKabj6Ls+St~N64lT zgWu9sPa$79W-1-FUilP{FX{)6MOLopqkn!|K2FU?^Ov(ig_{!9_ifQqCqO~Tq;DPF zHrcLrBH>gD^l@~c@<;v}5j}$_bv6fvxiBSAFUkJfAIl9nRu)m-$q0h6?*#dmK*L^K z*EoXZRGeEiqbL+x9Xh^cll<hHK5;uqw_p&ZhnSj8OMDOc)pIfum9tY<DS#;1k}r&| zL&w|4T8vG(>IxDyx5?B!WWtq}mV<1+9hGo7Y>Uo*C`N6yZO6A&Oo;uRGuKKiLb*zq zM=AfH9?jB4-*43vJMZWzs$4;`Fa3+IbBjZnxqPwiXw>9xV!T-_cvI^9X!HI~>Z%6- z9LD9v82ZVF;qjtzhQpXk!xmk}*U>7y*;Hh)?540_^3bftmKH7yluC(<CkXNi1#n@2 zR=zn^*z(LwTE4Bz<zQ^LjVk$AsoWBJ^4T-@`8ASGFcL1el%B8mm(8{ahO*Ht#)Xq8 z5MsbYSQoigo)w{A!IWXY9~p-7LWj9m=3JVPZ-g)^S~?IoX*&y8J0)2(Q<d+t@&i`Z z90*+QW_jSl;zjm-3VRB-$NAZ9?ft(KC;tN=Lq!&%P03qUN$F|}9G((}YUdX6SvI~o z1LAOP{~_$tv>P7QUvJ~a-@C#N;GCig;a*j6q#F6N5DkRL=AMUG77ZH{KB#AmnY7np z$qlRpLW>jfn5#+S!YnmqIG9Jniu97TfX=>7a@wgjN8S0#DAg-miX1eg)qHls4uXpw zRhCRtW|p1&9YIqI6DX>76V2?k5a@8;O-5(DCOQ5)u%&VP0q6d5@t!-DN=i^bIAD2> z0?UHR$;N$G7)A_IN=>#+3+U-0S5(hq6}^4@@bLDY7lu>c8UHqhH;9!T=!S9hlfng_ ze>^>Yjum0H;xM?26=s^6Pmz-4R4^VIK@LkRqE|u|qT0zZ2xw?}5+68MQ}TrcM65;5 zbjwZjkV-+Tc6B$yo*o4W;_t>DE-Z5Z;YLf$$MCXZx&^`r(3RSHuA&aCmh_o@NrWEN zriC;1RZqeU-^+l#m%HBF-2|SUk8b@a;u}-L0^u%?ob;a-?KFfMBGl2s+|b82#S?bD z7RTna*Hdw#N2eWFrXLiM2qxlh2Suv*Khjfq3;E_;e(>Z`hc`G@H`I^VVWXgn=2=Ag zoW1q-f*K80gfwy2LF!(6zD{{yj;D>9uRmlJT$HV;KmQQXadrd$(L$mvSj{skp7JB@ z`!o;Vmg*9vsm-C+ZVpeo648gZ{-uKF(qwa$$X9ev7JDFX8|(E-$NP)x%~-L5o}(0& z-qkeLRQ|il&h*~Gq`Ymkg@3~fFyVWN9ukgKsgM8GD^81Wa<CH39)5utxfucHa;fxW zs=7OJeV^^MV0&n4tPWia#HO3WhDh7s{}fud;8JEj19->2&e9d6Z2}G`8^Lr6s@=CS z<R{|83c}-VrMiqUraiE*W!^3Ymi;+{BFCGvgMfNXHi_HFH#A}{?J!(q(b{WaFhD9& zDfo$re)N+D!=>ROTD*4BcH{up=VeDj7;NY{G`8k0>c;GlS~{N!rL`<Obqw|_L>*2a zTlo5}pT47k1)Bz356qg}c9e4ramU2OprWJ8c90QpEuE+bj+E%p{MDKuO-&3BUvj@S zK)gcx<@laEQszAB{;b@MV1C#iLP^PmNhp)5Kr?RM0FC3xa^szYgZs`GCKtN}Qe=;B zA|ts_JlVrNWOOUt3|d+kG<x(rh8)H1x8WL=)C6!O7H^`ZZqH2oo6Q>)<7mg+n>$3{ zzXVhizOB&{d%L?b98!%5$V2U|*K00$P-+;q7qK~Zd)f^D{7`CqiL6he(<v!qAaaKQ z7rpf=<-TL(`1nr3_rCxB$i#~8bKr%^y$<gWHa1MEK)QSRs--JXL`O?ckax-HJREk- zL%W0~Tk4f+vuBwcn#<)$;Sx_}DR5vqAudAzTN02%+*eE8N6XRw6tT7^LeV~H#6rav z6@g*1HLDar6d8YcvYLH27mS1dH2JBMaf{!^UajL|)7>dRNdRcTJv|;8h}DSPd{#gU zu~WQm)x0elKvf!Z0BfNQRSQi>+njj!vV#Yt0Fl-h)6|*}7<8=J*q4gv_iDYk<W{AU z)cv(S+0P#Lujd0DKx%)gjz(ajE&)gn`^s9h>0RR>Yt#9IH-H8H3z$7{oJ2OkIWIu% zi>=on5FkWwa2Vu?;SRj)&%U19R8Ul;FqeUJ-pfy(%F$PF`onPHO5k8R0j)0H7}@Yg z*}`{jRntxWw=>!Pr*RPYi|o5!*7rlh^?TZL3T*&b{~U?E>E}B>tXk{kZ#nH)P23-a zzr{d6+`s!{wqU_)PprI&&wIxM5Ozr2y=ZN)9;R75cbA`k6b{Dv%7V~~WEo}cNF^N; z0H_01(=q)coa_`%%<}4X)iYaT1pr4$jSHyvl5LzeJPq5pE^v1;V2X_Y>(+9IA9&a; z)WXZld$bbGO(Wrh_Re~a`>RG|vvOK_yMYx&BM*T;F=slA*jrK<Q<8arC2<%R6BoEW zmR;|2Ig0V*YB`zNfx!DK<^0L2E5GllDZj14C?>E9qm;loiaAfinv8Q|Q@V8%KZ(R{ zU#de515Rfb@BXlBc<%4cH=er=O9=5xWQMgtNor@62=$!EGZe)~+oex%I0@}%^V6Q% zYbp>u=>BFeIOx{kQ2RjPSB-qG%f8s+f1LE28}Us;86`wLKh>?!XT!rpHoEa2PeG*@ zKA=NgGLZd56hLUe1y`pHUh-QTH#+B(mzPi5TjAlWv&pL@)^WWgP8k&h=&P|6!>Roc zr2;havBIb|+lz}fMX8$ewcgE?<o&sp%hD9%tc<j)XZP3lXN7P4uckC!AXXWsTpdtp zq#)KjG?<<Y{#n^F4Bucd-%&5M;t^g7mr1MJ`To-3h}6YI;MH7@iSTK&P`T=xG36l^ zH<9={`jXebvA?ilg+@?@>HqSLX^<f|<=~7aGdunFEuZ2W+iON_txT?z0uyg0Vp%0{ z9u(FovKdyvuXdJ7R29%B0ul@BP*fKX6JtktU9P794D15QQ-CcW*OU9F)}a<%IbkF0 zQ9OoxIR7aKCo&b0!wpCv9?^&cLZD{jH%yg*hu8P}ad(SSes^TFi>*%d#2t^{g2LoX zW6TVV4X=i3Tiw@3*Wo#bu7G_GOWwO^S%$)~$jGmaN<DHbD->8?x|?4Eq<t5vf*QS# zir!tENiL<jjq{R#4gz47trk9+Whf3HzQ&P6Cs@t~-mjEX`d_z5eZ_*ozv-8@{2P5; z-g32FX4EKocN7Qgiqi*??mAr#ZAP0~(HaM!E6ozs2c?jUQ0q{Jgna5<le#`=nJN)l z@YyLHD_FSeFAvQ9ZPQdPPNbw|33#Z*o2$u|>r9={2u&^O*_Qz9zE#dq`=(utMiS&e z%={fxupM>tE%nM~vEbci4%PbA`ka|6wox>m6{ayplmF2w(w(x>vIEJ_DO-hjb`xBW z>IyL8NJ)Iqt@Bo3D{}~4YDPvAfJWQe+RkF=u+_!M=sznz&wu)uz1T^cX{pyO*^~fx zE#qBL#paeoZf<VtAyKRI#=vK8|E<>mOaE<8_O`I^)p%{oC9+sg3gF-l`<?Lzo=r$S zy7|Q?paqNv^n_G8V3{YQ6B84*voUI57pj5Cg2X2$p<Z`hH!%R6v-NhiRf3;?_4>{O zZ|j8#Ej;=YjeI_6RxmIeyJlD}gC+dHVWjR06^M>0L@f^ffB}YjO2TyLTuhM883rRw zSiz@T`Kkvnsi#W%3?J3Z>XXN-rh8D0*gdow?dE@T-*s@GRrS;~1_jNB=#!Vsr%O8j z9pP`ic@4}b)a;0f1{?P6Krub(>ZU1|<yXxq-S`JJ7m3Ll8FG(4ON|I6#0S@x;BPyG ziz#5$#rmqtLsM@@68cE2kyfXBhXWs0rpmno{AJpZ?zI;`?xH^`yd*X-7<8z}NQj4H zLx#N)K}sN|i=~XLb3`MZy)0Ckk!}e*t5oJLnp0-eMc>V%_Jrif?fxyq2k0OZR*}4C z)gXG1+;2KOhGc~*2)1*A;&I{FteBtZ?CVRDo5t1~c5;}O&Vc5OHJe-|j_H_tp5=zm zm95}AvXZBSjEP%6X0>J?y)1obs)0xv)eLOaXW<we$dL5E0vIiWR%GAYtg*MRF|=YU z?E<Z|D5)D;*7aiq2I)dwU|b%!RL*`Q{ozEGP)CYKh??YO0z&(bP;yGjLzU$WSzO*= zo{)S;w^O%wK>I3U&uieg<=$6#v)7_hjpaw0dlD-IPSD=AIcQbYSeyd+x@AC?1+akh z^^e7eD>-^x%&rrMH$^s0u4g8PvLp-&HER+)(vSS;C@&c5C8P?mpFZ6vN>7j7!Dc0a zgZo-9u@BPAj%B#0rD(!N`37Pg$>2QL8LmmJU}-SSl2~FJ*9>JAlRmfss4C{N&at>b z^u5q_^3@EdlG3Yy2;QNM=t51lL!+oyB?WfXX{y!~IYnh%R++roY)OF0aZb7eLOh}? z9HG{+_M55rLk5<&{}c0Fw6tpUzwh~WN&DuC_Rx?*ixorOhfW%C3pFFX`sri&!8L1m zqoy^SjU%PMtI5Z}y8>$F-u-0qbkGjsgE13gNPYc<56;s`KDpyQTZ2LOTJWXxkMEp% z2~ur}r}Q(CMqUW)+6OP3QA@rJlzh8r9)2pT5mZ~TU{@_DBs4pyoe?4}Mof!>)Qb5) zk6GlvPOEz!lT)hWw>x={F#=wB&I2MnvAXqQdY?s5!UaX${wdyN5I&d%L}7>jTx|Wl zW-(Cu605NhkjqU_X10eZ!${*c*wc{DGs2SwCkkJYAD7rNlc;@ALc9`Ft^RFjU_5ja zxM!pnM>Xj#d9Llg*IdpoL23PhVTuoz1o^A8@~d=&9D<LD^2{KM7?<FNow)V6_dv9L zsscHkDmMFL1^Qn4@R~Xsm`LnPGsYq1gX@Kf`Re)faD#b{A!3SHxv1|YKFcAW;S;yp zStpqX8NRBFUrD}BJuNs_FDIHGx({e_-_IU)@d-Tr6=G&UYy$_w7v7{-2F4nM??3ne zY1cf$$C1V$ize)Dje(PtrvxI6>Azsbp>2~&zv~vt2BIdSTAx~q?CWagviwR}h#;J= z9gi;LyZQ9J8;}U=ln0y`3^&~z_bYBZBi3`{pzqH8^+TP9oEVQ<YtKCE3g;K?QoAgS zR0c<gR3SzVI|7vawd<)ien%N28(f%&6t~BPusN%!DERYdUA6~UDw|#oqDG_mQex-a z|7oDycarmM-}AlvM}RN+-LvbwTymBvTf5l6zyP3q-Wr0SgrPpoq9g9ioOCh4$S+f~ zGM_jdg`rpBt@n-3jJ=it%~R|3{K1sPu|&dh^J+&VmZ^umz;l2SU=A=37Vl0|UZ`eF z-MLxY+P;EX_HPq~K#1}DC22uh9*xs}LzN{;jPJj^T=mLh`DFRnQeHseX?lMTGv~yP zd+aJ?C9GrlP2km-$^F$NK(jXg2-nNK?lq6o`TRY<4c}WI&PpRjKt*_Isdv*s8xXkj z=S77sM`l)LW~PJy2>3$3m1oEDcghcSn^s2wm~@G#wxgYQ?8WS_3sjpA_W^<A?U|T; z25Qoc<`+fNeV}3-dkg^#5WQMkhfk;n9{0XD@-n347e^Fw^dEUO0pghGE~~07`I!en ztA3KS5dHE$ARgC(fL0Sg*ah*ETyz$mo1VTriVGa*Caw@uq)&MDF$*8ZFMY#&w+n>R z^E|(=Qdp?=`*)s#Z=_6aJmeNt(||DUWaH1=+}!r|6%6!E6LHXdZY)ldo%vcZS3USy z^9!f$z>!`J2(C031Tav_vqVmGfQr=}{^Ww+$>7dp`Qt0m=3LaRF-2%3?U}Z)27=qT z>EiYv@P4ZxTheu70FZu8mrmI}0thj$(!SFjFfVzx%mT#Rmsy)*TLQx;_EC_rUO?w} zeYI20Pb=vy7`uuc+!h=c1>tY-)nmqDb8ad8_itqdE)2y+u~7aY0)y;lhb;K^Jgx(< zzMx}^v_|)rS{DAg&rTb%KoM^W%qmjpz-W3pVke=Bp_x|o6-f##Y48KA`_sfXS$?|} zaZ+~|?Oh+w7Xw>=+st)<VPBrRcv*i^oti!W2th6`+zsy;9NcW{0M`L$z_S07@&^ym zy!qn?vh6l`B&6hvYWbS(8K#AEgBv%XsNol%^KHn%IUa)7{k02Mm&1W~zZGfqlAn+V zB6l$sG7(pPqvTJ9Q}(X}|A=CNAnj;Ul(WEdJwrp~&K0V-2uaYkS{oSrz&_2Ye3J4} zctE(v`^MnUmpHk&0dX(m6JLET3}bm4!x{8xq1^ERcjqHes!(QrF_`r2+7K1HN#@;5 zCZqJPcv0zgJ^S`j1CSSOavM%fP5rWXkDp~K8zd|}CycW4%rjP@40=z6`7wL2$z>0c z7I=O;-Fn~in!6eLQK5RvR)G93)g<-eNFG!pD&%M9@%!4@CybGgag|>+xU6<B-W`VP zlp9;lPoD>pW-y8ri9T2K*l&ca{E=N?^}D*g>*@-<y!3wcGy*5KAiBwXx}oem9EXx6 ziOE1Cq>3n<N9M>&{Ijy)^M^eyJaE)ZscO~ymPO@sVd1}VO=RX;CIPmy6rmL#fh##6 zhWOKD3kavYy)Vb3xdDiGDdd#B*l>B|Y;v?9hr5t#e?ZI99fNE(zW*H;@DDgOQYQoa zi`NV1fb2U!N^ADdR}hH!*MGkY5EDNe@nKb1klNkVmF#SAqQ#ukE8uafg+gHE)o!hv zdPb%SH#ax_2N}Xg7+gTM7DNaCB~9zrXe4+NY3lyBC8sA&3R84vAT}#jE9o%4Q-ia6 z2<+0%xzk2;eW8V&ogHFKKs*4TqcEX-QpRAo!4HERC}C(NMq}^wBtVPgangN%GnsyW z`x76y?YsnNx0l{aF>?1AKNxoDceguT<<xZ44M;}Gel)9wQq#}Q%v^PG2OM=%I*r>^ zzgoC)T=*p<sooU6tsD@&3Zc}Yi0c73Cy>5BG*~Wel>@4crH}E@fCh%8iz-D)6%b~Z zv(DoO5@C?G!c^N0S;N+z9v*B-eJDe|w@k01n7(cmQV5QKSeVE0P+&E=zZOEkq#u@< zXJDCUZK`zCd7o?;IJLT79$VHp2TKR7)<p)3IyWr@yJ8;sG08w~0`4CN9OA?r)w^y2 zO){E3-`eWbtgHY)^4%=n^IGD=&!xV;(VO-XI&kMtY3iptbjl9V|9qNN3s!|6S(=f+ z_1gk10$c(DvfO){OhBo$f+~q0u?1Dkg{dl!)F$kb68<kH3)%EbMBQffK8|M{P=moB z<~et8h_{8DJK_bqPMbOu+z!Q-NehL-mG`b*x^$`4Y60Ay1#{<2DKz=ZIJ74B&O7;h zJ~lV5-|st)jS%*3slC<@ZpSvsWb*j&;}|0r?ovuH<^VvF#QE8|#pNYU(+D9z9RQ#N z0U{LeK<~9%J;NMOz-*3-AV{fHYGL6>Fc^?!MNwo)lH_FS5Iewo6^ljFG>5}stybCI z-Yymj`e49J8^x|J77m9~sZ=Bq@r^5O$K;;?p%k!7Zrqo4C}0>{)k3lOlb`%!CX-<; z1{}u%z?3?lK~wSqaG*we?>CLd<0ns^<avw`H}MMT^wiO#M`Q5_g4=r(5J3nHM`owh z?zcNOCCsaHoG%;>E-$a9QYl$hXJ)1!KvI5sdYTy}RaKM8sd~Mh$?Rk@8C};Ap%@{@ zacZ?%vsL#8LQ~09G#V8Ifi+KJUK%kngV;<#0u-|)WVSLAiAa(_fMN=SH~>J1y+_)- z|F{|s>Rx=G*;>;ySx;$7DaL#(7Fu6lpHI(V!AHTNjDj=5O=+vyX*L>`Wr5q*i)xxS zzpy+vH^aic`<$$LziQ~z)D!@)n({;<vAn#T$>g%x-FCap7y@yi(`xtH9Zk~`$z(Jh zlSOIb70@JvBgnh`fl>;N<G5p#_va7x4`06jV!cDHJ^&bo!NzB(s=B_uzO-~iRn>7X zWMGz^5;D;BdZVHD`xF2pL@4Eb;`H?N($Z2i8kJ?4eX<WFACO9=0H9K-NRkkV#Fmzh z<Z`*)-Q8xpMQn#{!(Ok~@Au24QY;orBoeas)F5(aCQlZX<>*79fTz*PXS6)~^`!%s z{%#x;01U&*=krfI@r|#2?Q7vsh<)jI{D5UP>y37+WjhWNX(&K68eLjin@XotS&<Ym z5j)&S;d}XjJxVvREdVf^P209D%N~t}mSr2pNZ0jJsg%oP8?B~oS_m<>M-gz6B!xnu zSS+q6GU6}=3kaeFAxwz_fS7G@nvL%JAAa!eyO(x%Z&?<DVbXpc{$H=VXK^RYo!Pm2 z{I1snOOo{D6HmPO;){z*3xGJ+(=tYlFxXbNr?bYh?wVkvD9UVlW^Q3V5C}3+L=;6i z7DMAa{^teYKGVX*V$m=RUDqp>%FfQMYNcYDCU^u}Vcb7h3#c68UBQP^Mx|l=V~tkx z`iIxfpFh8~b(00FUJicPLXErq)}9@}w&2mDN6(yj<;f?Xlw`rNsprT80fKa0FIOtP zo=%9(f?>>a)2XTD<<)pRF3WN{o&M})C7%<3$*Y!1CBv|WL%mupXEK>msWcjmFrk!l z#YG>_`vZYwBH{P@F~_kc^DIPQ90_5JFzt2q&CShs-np>3x!Lzr7#zM*=Dyx*dOCIb z^y%lGdoCOfyN1gFKyFZJnr6LLtJmwMWdTN*0=NOe+T3hfQT@SS@E#ohivz$L!LgY; zj4Tz4<-wruswe;yfK7pqMWcaWkoRFA2oY)n9jjafD8>kl4C4<U{r;WbT=?+A>zz&q z9>S$*+PA*-&2NAE+w=4Dj5aaQFrfs2LrA;TDpxA(^ecM>S(ayK=T}yiLZOHxNsO3$ z-omN}3%~>hcJiy)Y-V!1g<QVh>k&^*mBUz3)kq`~3Wa<=-|b8Tn?gR8eGJpw-rhcc ze&g!Z%Z*0sGc<!a(Eji||M=sNfA_nuJ^uBt^FAMO95-|yS3Ky0L8(}5wptSd$n$(6 zkyu?_Po)yFtftfH&rksI&;g*7QpYwLP1|;dwvR?5%d)%OPO(@l<no<fmpX)bX_ySN z3Ppnc06TI8)S<+sN-WssftrLC^M%WoFJHNGrCP1olpOZeC(afjG&?(U`o&Wx{^F!x z)d(R3C_w}h3KY9Gr(Unrs^-X;I9tEpzqq(KJ3FVU3M;G=1VN6)59MsX&>i5tI-O3p z+cizI+wGQ0g={9%8q+uypka(fK?sH-p-@1QBo+pPH<kuqQD~`DxpL*wZ-4vSOeSO7 z#7#*7+3#Qv<eHI4==tZLKXvL<I-Mp!VKVUtfTLhj(rUL0`Fy9_o!mhZ#ku+Um6er9 zBqmA1^z_UFU!R8#z@+|(DSG{Wzg#Y7v%8H(!(sxThb;L6fp91!N)nsSb6dz8KP5t_ z(X4&&{<V#bjZZ$gWqOh)2c>%4;7^jIr=B|go!4GFcI+7DIM?Qk^Lmuh;b2fG6spy# z?Kl`w0+hqPcs#zgwl+OIqbSPE%*=zbIgbVa7Y5s|Rw{;N>bhR9R<hY_tyZ&!BZ9{@ z#sEBz71bXOg=9tHF!qx9$=8h#>UO&~Zrr$V;lf8B9gtv{R9s*TYin!Y`Od2+PMlB_ zg*Xl()EOr*5P)sll}aU_&+CK1q_|4cwB_aHrKKgmKY0J5!XE(uUV)E!h(@E4&F)sp z<)LYS;|jUV>B+LpPNus${&*%W1qT3tVvMn_>swn}8yg$fu3hW*2YU=rDwR5Y`t%Eb z^L#8GcOz{NiVh*|b~~HRHk(aGf+?kf&o?tWzqYo<#)^I(g8yio@ZI+5B%@^Zy3Sx= z+YVE_P1770!(O{vDC8@p@^Cn03Oi7YfdGd^NeO6vMNv2(&sqbr+cB>I0Eok;Y3}Uo zT)K4W`t|FrR+|E-ihSb4iC12F`N)wYll%d5C+r#yj6x}2snjgP&2wN5!jag@%F6U~ zT2)o%Y<)hS$;c1M{yefBaAy%lh2<XF?RK$PEEaN|e$ORK08H=_MbRG!Xnuv~c~^_~ zR*nE5j2*|x<#HPv8`Wy{)iY;~A3rV#f^FL#7lHv(V%gPdb$55S*Y8iZi>j(iOG_&& zE8%cd6h$U^eKFUg2f#~~48!R4I)y@^P%3s?ZMQ58A&!EBKomvRzMsLcUvFTiv_w%% zCK3*{fgpBr1OO;tpiZaT-`%-Ytyal+NBVrebUMAhek_$rNs@HfMgw0S0K8<0DNE&Y zF`v)3S}n`6ut!<qeLhuDG{2t}rti<_g*3k!40st7LTEG^<#M@fE@zBJ7&A=)g~Q?X z_4S2?MNQK_zo_tK0KhBojZ9;x4{EhqA)l?)>y~9r@*x1gbDS*8nx+Y&=q*%c1tYA! ziY>k4IMr%(duON9ZcjdZMNt+P7uVK~Mj{VPRQNIgz#e8$F4?wY7^Bf>WSiE|Fq+Lq zxm>PSYa?@r09e!t7-0;OD5{Fzr${`wxlg~Q__ZLDmHK*jH<PQB$~JKj5I`J<a4MBr zU0<7;nvx`W>}-8vG=h2GS3BUY0-s?R&1SPu$W<zp;b1VX6eJWd^U|uOvGxakzdsxf zk4B?Hp|G>PJs3v`l+tiGytcNsyu7Sw0ZEb`D#8Eq0N}z<DVw9)WT{dv>bic%2^NGz zK~NMWo=6ZvKK*pN(WudJE?N}Dg@wgq$JV3Ks4T08${KzJzyX}K*Xxx^g<`Qd==Lm1 zCR80G<Pg&9c8zf%6UI21OddP-*zD}Asy;{|^G^|gJ)E`Q?^i07Vlm%ow;jh#N)HBu zp5EsWW)696?dZzNN-+4)MTIXp0B+dj*k-foI1bA<7=|%2t<hjmuh%N2a;w#{ZF@M< zbzS!f(#*`vL{wn@R?svd5cp~bJb2D(n&x0IsMqVoVlki3VvLU+du(B0fwhM{Y$Ls| z0QigopJ|$-(Wu#Ms;V3agk)L%B1MHibpY5^E|*!`sz(@G{YeAxM|a^b)63j0C$+6Z keOQn1EBtB)JmTyB006U?Q$K+@GXMYp07*qoM6N<$g0|xSivR!s From e237fba5c6cc57d9738a9fa2e6f65abb6a09781e Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Tue, 27 Mar 2012 16:38:30 +0530 Subject: [PATCH 255/313] [FIX]base/res_partner: group_by company bzr revid: kjo@tinyerp.com-20120327110830-uewjpyu06pjbzq2g --- openerp/addons/base/res/res_partner_view.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openerp/addons/base/res/res_partner_view.xml b/openerp/addons/base/res/res_partner_view.xml index 8ae0bfc3934..a3d3851d11b 100644 --- a/openerp/addons/base/res/res_partner_view.xml +++ b/openerp/addons/base/res/res_partner_view.xml @@ -500,7 +500,7 @@ <newline /> <group expand="0" string="Group By..."> <filter string="Salesman" icon="terp-personal" domain="[]" context="{'group_by' : 'user_id'}" /> - <filter string="Contact Type" context="{'group_by': 'is_company'}"/> + <filter string="Company" domain="[('is_company', '=', 1)]" context="{'group_by': 'is_company'}"/> </group> </search> </field> From 53ec8d67f2ea31272eec244cf603026d97f1d6e8 Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Tue, 27 Mar 2012 17:40:21 +0530 Subject: [PATCH 256/313] [FIX]base/res_partner: group_by parent_id bzr revid: kjo@tinyerp.com-20120327121021-ndhk397f7qyemq32 --- openerp/addons/base/res/res_partner_view.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openerp/addons/base/res/res_partner_view.xml b/openerp/addons/base/res/res_partner_view.xml index a3d3851d11b..51a365f2f8e 100644 --- a/openerp/addons/base/res/res_partner_view.xml +++ b/openerp/addons/base/res/res_partner_view.xml @@ -500,7 +500,7 @@ <newline /> <group expand="0" string="Group By..."> <filter string="Salesman" icon="terp-personal" domain="[]" context="{'group_by' : 'user_id'}" /> - <filter string="Company" domain="[('is_company', '=', 1)]" context="{'group_by': 'is_company'}"/> + <filter string="Company" context="{'group_by': 'parent_id'}"/> </group> </search> </field> From 111524cb2a3c9e8193f235c179c3315078f0ea73 Mon Sep 17 00:00:00 2001 From: "Sbh (Openerp)" <sbh@tinyerp.com> Date: Tue, 27 Mar 2012 18:15:37 +0530 Subject: [PATCH 257/313] [Fix]base/res: remove duplicate tab bzr revid: sbh@tinyerp.com-20120327124537-lf3ovd4sc0a3p1f4 --- openerp/addons/base/res/res_partner_view.xml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/openerp/addons/base/res/res_partner_view.xml b/openerp/addons/base/res/res_partner_view.xml index 51a365f2f8e..db057a3ea29 100644 --- a/openerp/addons/base/res/res_partner_view.xml +++ b/openerp/addons/base/res/res_partner_view.xml @@ -442,8 +442,6 @@ <field name="company_id" groups="base.group_multi_company" widget="selection"/> <newline/> </page> - <page string="History" groups="base.group_extended" invisible="True"> - </page> <page string="Categories" groups="base.group_extended"> <field name="category_id" colspan="4" nolabel="1"/> </page> @@ -533,7 +531,7 @@ <t t-set="color" t-value="kanban_color(record.color.raw_value || record.name.raw_value)"/> <div t-att-class="color + (record.color.raw_value == 1 ? ' oe_kanban_color_alert' : '')"> <div class="oe_module_vignette"> - <a type="edit"> + <a type="edit"> <img t-att-src="kanban_image('res.partner', 'photo', record.id.value)" width="64" height="64" class="oe_module_icon"/> </a> <div class="oe_module_desc"> @@ -605,7 +603,7 @@ <field name="view_mode">tree</field> <field name="view_id" ref="view_partner_tree"/> <field name="act_window_id" ref="action_partner_form"/> - </record> + </record> <menuitem action="action_partner_form" id="menu_partner_form" From 6b9adf9f00b481562cedf2debc5aede947734744 Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Tue, 27 Mar 2012 18:34:46 +0530 Subject: [PATCH 258/313] [FIX]account_analytic_analysis: remove dot bzr revid: kjo@tinyerp.com-20120327130446-hniuxglpckd7tg6i --- .../account_analytic_analysis/cron_account_analytic_account.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/account_analytic_analysis/cron_account_analytic_account.py b/addons/account_analytic_analysis/cron_account_analytic_account.py index 38557177f47..caa9067b227 100644 --- a/addons/account_analytic_analysis/cron_account_analytic_account.py +++ b/addons/account_analytic_analysis/cron_account_analytic_account.py @@ -32,7 +32,7 @@ Here is the list of contracts to renew: % endif - Dates: ${account.date_start} to ${account.date and account.date or '???'} - Contacts: - . ${account.partner_id.name}, ${account.partner_id.phone}, ${account.partner_id.email} + ${account.partner_id.name}, ${account.partner_id.phone}, ${account.partner_id.email} % endfor % endfor From 6143996006fe811efb6fb8955a5d31fce8dd967d Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Tue, 27 Mar 2012 19:04:47 +0530 Subject: [PATCH 259/313] [FIX]base/res_partner: change demo name bzr revid: kjo@tinyerp.com-20120327133447-nj6n7l5ky4w0pyvz --- openerp/addons/base/base_demo.xml | 2 +- openerp/addons/base/res/res_partner_demo.xml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/openerp/addons/base/base_demo.xml b/openerp/addons/base/base_demo.xml index 3ba951618cf..a0149096902 100644 --- a/openerp/addons/base/base_demo.xml +++ b/openerp/addons/base/base_demo.xml @@ -3,7 +3,7 @@ <data noupdate="1"> <record id="demo_address" model="res.partner"> - <field name="name">Fabien Dupont</field> + <field name="name">Fabien D'souza</field> <field name="street">Chaussee de Namur</field> <field name="zip">1367</field> <field name="city">Gerompont</field> diff --git a/openerp/addons/base/res/res_partner_demo.xml b/openerp/addons/base/res/res_partner_demo.xml index 1c60256fbda..ad354a11609 100644 --- a/openerp/addons/base/res/res_partner_demo.xml +++ b/openerp/addons/base/res/res_partner_demo.xml @@ -848,7 +848,7 @@ <record id="res_partner_address_fabiendupont0" model="res.partner"> - <field eval="'Fabien'" name="name"/> + <field eval="'Frank'" name="name"/> <field eval="'Namur'" name="city"/> <field eval="'5000'" name="zip"/> <field name="country_id" ref="base.be"/> @@ -859,7 +859,7 @@ <record id="res_partner_address_ericdubois0" model="res.partner"> - <field eval="'Eric'" name="name"/> + <field eval="'Joy'" name="name"/> <field name="address" eval="[]"/> <field eval="'Mons'" name="city"/> <field eval="'7000'" name="zip"/> From 08e3929eae419d3c4bf13719be95535e4dad5772 Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Tue, 27 Mar 2012 19:05:23 +0530 Subject: [PATCH 260/313] [FIX]auction,stock: change demo name bzr revid: kjo@tinyerp.com-20120327133523-7393drc2w4ccojaf --- addons/auction/auction_demo.xml | 2 +- addons/stock/stock_demo.xml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/auction/auction_demo.xml b/addons/auction/auction_demo.xml index 135ed19f40f..b13357bf74d 100644 --- a/addons/auction/auction_demo.xml +++ b/addons/auction/auction_demo.xml @@ -124,7 +124,7 @@ <record id="res_partner_unknown_address_2" model="res.partner"> <field name="city">Avignon CEDEX 091</field> - <field name="name">Laurent Jacot1</field> + <field name="name">Lara</field> <field name="zip">84911</field> <field name="country_id" model="res.country" search="[('name','=','France')]"/> <field name="email">contact@tecsas.fr</field> diff --git a/addons/stock/stock_demo.xml b/addons/stock/stock_demo.xml index 141cb6c4025..b70deb4b2be 100644 --- a/addons/stock/stock_demo.xml +++ b/addons/stock/stock_demo.xml @@ -187,7 +187,7 @@ <field eval=""""Shop 1"""" name="name"/> </record> <record id="res_partner_address_fabien0" model="res.partner"> - <field eval=""""Fabien"""" name="name"/> + <field eval=""""Felix"""" name="name"/> <field name="parent_id" ref="res_partner_tinyshop0"/> <field eval="1" name="active"/> </record> @@ -204,7 +204,7 @@ <field eval=""""Shop 2"""" name="name"/> </record> <record id="res_partner_address_eric0" model="res.partner"> - <field eval=""""Eric"""" name="name"/> + <field eval=""""Edwin"""" name="name"/> <field name="parent_id" ref="res_partner_tinyshop1"/> <field eval="1" name="active"/> </record> From c1a3ea54e0396ff341b12cb439a03cf75847a307 Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Wed, 28 Mar 2012 10:21:02 +0530 Subject: [PATCH 261/313] [FIX]base/res_partner: change demo bzr revid: kjo@tinyerp.com-20120328045102-j0c3z172t6yxijsi --- openerp/addons/base/res/res_partner_demo.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/openerp/addons/base/res/res_partner_demo.xml b/openerp/addons/base/res/res_partner_demo.xml index ad354a11609..441b64a66fd 100644 --- a/openerp/addons/base/res/res_partner_demo.xml +++ b/openerp/addons/base/res/res_partner_demo.xml @@ -755,6 +755,7 @@ <field eval="'5000'" name="zip"/> <!--field name="parent_id" ref="res_partner_notsotinysarl0"/--> <field name="country_id" ref="base.be"/> + <field name="is_company">1</field> <field eval="'(+32).81.81.37.00'" name="phone"/> <field eval="'Rue du Nid 1'" name="street"/> <field eval="'default'" name="type"/> @@ -814,7 +815,6 @@ <record id="res_partner_address_rogerpecker1" model="res.partner"> <field eval="'Roger Pecker'" name="name"/> - <field name="is_company">1</field> <field eval="'Kainuu'" name="city"/> <field eval="'(+358).9.589 689'" name="phone"/> <field name="country_id" ref="base.fi"/> @@ -878,6 +878,7 @@ <field eval="'2000'" name="zip"/> <field name="parent_id" ref="res_partner_address_notsotinysarl0"/> <field name="country_id" ref="base.be"/> + <field name="use_parent_address" eval="0"/> <field eval="'Antwerpsesteenweg 254'" name="street"/> <field eval="'invoice'" name="type"/> </record> From 5a5ed96ce2cb797f0f86f6f71aaf12de712f3c39 Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Wed, 28 Mar 2012 10:37:13 +0530 Subject: [PATCH 262/313] [FIX]stock: change the demo bzr revid: kjo@tinyerp.com-20120328050713-v2qwh34vsvtjn03n --- addons/auction/auction_demo.xml | 3 +++ addons/stock/stock_demo.xml | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/addons/auction/auction_demo.xml b/addons/auction/auction_demo.xml index b13357bf74d..5100e8d9d0a 100644 --- a/addons/auction/auction_demo.xml +++ b/addons/auction/auction_demo.xml @@ -119,6 +119,7 @@ <field name="phone">(+32)2 211 34 83</field> <field name="street">Rue des Palais 44, bte 33</field> <field name="type">default</field> + <field name="use_parent_address" eval="0"/> <field name="parent_id" ref="partner_record1"/> </record> @@ -131,6 +132,7 @@ <field name="phone">(+33)4.32.74.10.57</field> <field name="street">85 rue du traite de Rome</field> <field name="type">default</field> + <field name="use_parent_address" eval="0"/> <field name="parent_id" ref="partner_record1"/> </record> @@ -142,6 +144,7 @@ <field name="email">info@mediapole.net</field> <field name="phone">(+32).10.45.17.73</field> <field name="street">Rue de l'Angelique, 1</field> + <field name="use_parent_address" eval="0"/> <field name="parent_id" ref="partner_record1"/> </record> diff --git a/addons/stock/stock_demo.xml b/addons/stock/stock_demo.xml index b70deb4b2be..5372ab6216b 100644 --- a/addons/stock/stock_demo.xml +++ b/addons/stock/stock_demo.xml @@ -183,12 +183,14 @@ <record id="res_partner_tinyshop0" model="res.partner"> <field eval="0" name="customer"/> <field eval="0" name="supplier"/> + <field name="is_company">1</field> <field eval="1" name="active"/> <field eval=""""Shop 1"""" name="name"/> </record> <record id="res_partner_address_fabien0" model="res.partner"> <field eval=""""Felix"""" name="name"/> <field name="parent_id" ref="res_partner_tinyshop0"/> + <field name="use_parent_address" eval="1"/> <field eval="1" name="active"/> </record> <record id="res_company_shop0" model="res.company"> @@ -201,11 +203,13 @@ <field eval="1" name="customer"/> <field eval="0" name="supplier"/> <field eval="1" name="active"/> + <field name="is_company">1</field> <field eval=""""Shop 2"""" name="name"/> </record> <record id="res_partner_address_eric0" model="res.partner"> <field eval=""""Edwin"""" name="name"/> <field name="parent_id" ref="res_partner_tinyshop1"/> + <field name="use_parent_address" eval="1"/> <field eval="1" name="active"/> </record> <record id="res_company_tinyshop0" model="res.company"> From 7d6478499bbb8d140fb1b8b94b41be8463756a89 Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Wed, 28 Mar 2012 11:00:40 +0530 Subject: [PATCH 263/313] [IMP]base/res_partner: change tool tip of user_parent_address field bzr revid: kjo@tinyerp.com-20120328053040-7uwalgbkqcpf7m2b --- openerp/addons/base/res/res_partner.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index 5b6d35530af..0c48b52da1a 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -161,7 +161,7 @@ class res_partner(osv.osv): 'mobile': fields.char('Mobile', size=64), 'birthdate': fields.char('Birthdate', size=64), 'is_company': fields.boolean('Company', help="Check if the contact is a company, otherwise it is a person"), - 'use_parent_address': fields.boolean('Use Company Address', help="Check to use the company's address"), + 'use_parent_address': fields.boolean('Use Company Address', help="Select this if you want to set company's address information for this contact"), 'photo': fields.binary('Photo'), 'company_id': fields.many2one('res.company', 'Company', select=1), 'color': fields.integer('Color Index'), From 89660e343c70b8199aea2faffaf9234c05328fa6 Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Wed, 28 Mar 2012 11:17:53 +0530 Subject: [PATCH 264/313] [IMP]base/res_partner: change view bzr revid: kjo@tinyerp.com-20120328054753-txg332zpdqx2iofg --- openerp/addons/base/res/res_partner_view.xml | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/openerp/addons/base/res/res_partner_view.xml b/openerp/addons/base/res/res_partner_view.xml index db057a3ea29..2b63b4a2d8d 100644 --- a/openerp/addons/base/res/res_partner_view.xml +++ b/openerp/addons/base/res/res_partner_view.xml @@ -394,7 +394,7 @@ on_change="onchange_address(use_parent_address, parent_id)" invisible="1"/> </group> <group col="2"> - <field name="is_company" on_change="onchange_type(is_company)"/> + <field name="is_company" on_change="onchange_type(is_company)" invisible="1"/> </group> <group col="2"> <field name="customer"/> @@ -408,8 +408,8 @@ <page string="General"> <group colspan="2"> <separator string="Address" colspan="4"/> + <field name="type" string="Type" attrs="{'invisible': [('is_company','=', True)]}"/> <group colspan="2"> - <field name="type" string="Type" attrs="{'invisible': [('is_company','=', True)]}"/> <field name="use_parent_address" attrs="{'invisible': [('is_company','=', True)]}" on_change="onchange_address(use_parent_address, parent_id)"/> </group> <newline/> @@ -430,9 +430,6 @@ <field name="website" widget="url" colspan="4"/> <field name="ref" groups="base.group_extended" colspan="4"/> </group> - <group colspan="4" attrs="{'invisible': [('is_company','=', False)]}"> - <field name="child_ids" domain="[('id','!=',parent_id.id)]" nolabel="1"/> - </group> </page> <page string="Sales & Purchases" attrs="{'invisible': [('customer', '=', False), ('supplier', '=', False)]}"> <separator string="General Information" colspan="4"/> From d1a1aed066ac70b659fa56e333eaa13c28517653 Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Wed, 28 Mar 2012 11:30:43 +0530 Subject: [PATCH 265/313] [IMP]base/res_partner: change tooltip of website field bzr revid: kjo@tinyerp.com-20120328060043-kdeju0zx7bpb44i0 --- openerp/addons/base/res/res_partner.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index 0c48b52da1a..5472bd2c937 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -132,7 +132,7 @@ class res_partner(osv.osv): 'user_id': fields.many2one('res.users', 'Salesman', help='The internal user that is in charge of communicating with this partner if any.'), 'vat': fields.char('VAT',size=32 ,help="Value Added Tax number. Check the box if the partner is subjected to the VAT. Used by the VAT legal statement."), 'bank_ids': fields.one2many('res.partner.bank', 'partner_id', 'Banks'), - 'website': fields.char('Website',size=64, help="Website of Partner."), + 'website': fields.char('Website',size=64, help="Website of Partner or Company"), 'comment': fields.text('Notes'), 'address': fields.one2many('res.partner.address', 'partner_id', 'Contacts'), # should be removed in version 7, but kept until then for backward compatibility 'category_id': fields.many2many('res.partner.category', 'res_partner_category_rel', 'partner_id', 'category_id', 'Categories'), From 3be0743b81f3112af216a26dfe6224e4e45ad1ca Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Wed, 28 Mar 2012 11:48:43 +0530 Subject: [PATCH 266/313] [IMP]base/res_partner: change kanban view bzr revid: kjo@tinyerp.com-20120328061843-65hdemof52ywrbeq --- openerp/addons/base/res/res_partner_view.xml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/openerp/addons/base/res/res_partner_view.xml b/openerp/addons/base/res/res_partner_view.xml index 2b63b4a2d8d..d45a8b2af2a 100644 --- a/openerp/addons/base/res/res_partner_view.xml +++ b/openerp/addons/base/res/res_partner_view.xml @@ -539,7 +539,8 @@ <h4><a type="edit"><field name="name"/></a> <div t-if="record.parent_id.raw_value"><field name="parent_id"/></div> </h4> - <i><div t-if="record.street.raw_value or record.street2.raw_value"><field name="street"/> + <i><div t-if="record.street.raw_value"><field name="street"/><br/></div> + <div t-if="record.street2.raw_value"> <field name="street2"/><br/></div> <div t-if="record.city.raw_value or record.zip.raw_value"><field name="city"/> <field name="zip"/><br/></div><div t-if="record.country_id.raw_value"> @@ -557,7 +558,7 @@ <div class="oe_kanban_left"> <a string="Edit" icon="gtk-edit" type="edit"/> <a string="Change Color" icon="color-picker" type="color" name="color"/> - <a title="Mail" t-att-href="'mailto:'+record.email.value" style="text-decoration: none;" > + <a t-if="record.email.raw_value" title="Mail" t-att-href="'mailto:'+record.email.value" style="text-decoration: none;" > <img src="/web/static/src/img/icons/terp-mail-message-new.png" border="0" width="16" height="16"/> </a> </div> From 55f65a3803fc4d6cfe93ea2997332a8fc1a4a566 Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Wed, 28 Mar 2012 12:37:57 +0530 Subject: [PATCH 267/313] [IMP]base/res_partner: add state_id, phone in kanban view bzr revid: kjo@tinyerp.com-20120328070757-qtjwqwy2j7v35ydp --- openerp/addons/base/res/res_partner_view.xml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/openerp/addons/base/res/res_partner_view.xml b/openerp/addons/base/res/res_partner_view.xml index d45a8b2af2a..baa65c8baf6 100644 --- a/openerp/addons/base/res/res_partner_view.xml +++ b/openerp/addons/base/res/res_partner_view.xml @@ -523,6 +523,7 @@ <field name="city"/> <field name="country_id"/> <field name="mobile"/> + <field name="state_id"/> <templates> <t t-name="kanban-box"> <t t-set="color" t-value="kanban_color(record.color.raw_value || record.name.raw_value)"/> @@ -546,7 +547,12 @@ <field name="zip"/><br/></div><div t-if="record.country_id.raw_value"> <field name="country_id"/><br/></div><div t-if="record.email.raw_value"> <field name="email"/><br/></div><div t-if="record.mobile.raw_value"> - <span>+91</span><field name="mobile"/><br/></div></i> + <span>Mobile No </span><field name="mobile"/><br/> + </div><div t-if="record.phone.raw_value"> + <span>Phone No </span><field name="phone"/><br/> + </div><div t-if="record.state_id.raw_value"> + <field name="state_id"/><br/> + </div></i> </td> <td t-if="record.is_company.raw_value" valign="top" align="right"> <!--img t-att-src="kanban_image('res.partner', 'photo', record.id.value)" class="oe_kanban_gravatar"/--> From 6704df79f365209bba3f0b56a2b0f587a392c6fe Mon Sep 17 00:00:00 2001 From: "Sbh (Openerp)" <sbh@tinyerp.com> Date: Wed, 28 Mar 2012 13:54:15 +0530 Subject: [PATCH 268/313] [Fix]:account: remove address bzr revid: sbh@tinyerp.com-20120328082415-6lk10eprht5zq4ht --- addons/account/partner_view.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/account/partner_view.xml b/addons/account/partner_view.xml index 706fa4683cb..a7dc94c69f5 100644 --- a/addons/account/partner_view.xml +++ b/addons/account/partner_view.xml @@ -96,7 +96,7 @@ <separator string="Supplier Debit" colspan="2"/> <field name="debit"/> </group> - <field colspan="4" context="{'address': address}" name="bank_ids" nolabel="1"> + <field colspan="4" name="bank_ids" nolabel="1"> <form string="Bank account"> <field name="state"/> <newline/> From d3b92e6a7734761212c0fbdf343b85bb8ac1c073 Mon Sep 17 00:00:00 2001 From: "Sbh (Openerp)" <sbh@tinyerp.com> Date: Wed, 28 Mar 2012 14:51:43 +0530 Subject: [PATCH 269/313] [Fix]sale: fix domain bzr revid: sbh@tinyerp.com-20120328092143-7urjq92ofx027zhv --- addons/sale/sale_view.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/sale/sale_view.xml b/addons/sale/sale_view.xml index c8d6a9c7193..349bae9b0db 100644 --- a/addons/sale/sale_view.xml +++ b/addons/sale/sale_view.xml @@ -112,8 +112,8 @@ <notebook colspan="5"> <page string="Sales Order"> <field name="partner_id" on_change="onchange_partner_id(partner_id)" domain="[('customer','=',True)]" context="{'search_default_customer':1}" required="1"/> - <field domain="[('partner_id','=',partner_id)]" name="partner_invoice_id" groups="base.group_extended" options='{"quick_create": false}'/> - <field domain="[('partner_id','=',partner_id)]" name="partner_shipping_id" groups="base.group_extended" options='{"quick_create": false}'/> + <field domain="[('parent_id','=',partner_id)]" name="partner_invoice_id" groups="base.group_extended" options='{"quick_create": false}'/> + <field domain="[('parent_id','=',partner_id)]" name="partner_shipping_id" groups="base.group_extended" options='{"quick_create": false}'/> <field domain="[('type','=','sale')]" name="pricelist_id" groups="base.group_extended" on_change="onchange_pricelist_id(pricelist_id,order_line)"/> <field name="project_id" context="{'partner_id':partner_id, 'pricelist_id':pricelist_id, 'default_name':name}" groups="analytic.group_analytic_accounting" domain="[('parent_id','!=',False)]"/> <newline/> From d48cd8256f4e000aa25462c92abb03e64e9ed98c Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Wed, 28 Mar 2012 16:34:26 +0530 Subject: [PATCH 270/313] [IMP]base/res_partner: change in kanban view bzr revid: kjo@tinyerp.com-20120328110426-g1elgn8012lgiuxg --- openerp/addons/base/res/res_partner_view.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/openerp/addons/base/res/res_partner_view.xml b/openerp/addons/base/res/res_partner_view.xml index baa65c8baf6..c5ce604a4cf 100644 --- a/openerp/addons/base/res/res_partner_view.xml +++ b/openerp/addons/base/res/res_partner_view.xml @@ -527,7 +527,7 @@ <templates> <t t-name="kanban-box"> <t t-set="color" t-value="kanban_color(record.color.raw_value || record.name.raw_value)"/> - <div t-att-class="color + (record.color.raw_value == 1 ? ' oe_kanban_color_alert' : '')"> + <div t-att-class="color + (record.title.raw_value == 1 ? ' oe_kanban_color_alert' : '')"> <div class="oe_module_vignette"> <a type="edit"> <img t-att-src="kanban_image('res.partner', 'photo', record.id.value)" width="64" height="64" class="oe_module_icon"/> @@ -547,9 +547,9 @@ <field name="zip"/><br/></div><div t-if="record.country_id.raw_value"> <field name="country_id"/><br/></div><div t-if="record.email.raw_value"> <field name="email"/><br/></div><div t-if="record.mobile.raw_value"> - <span>Mobile No </span><field name="mobile"/><br/> + <span>Mobile </span><field name="mobile"/><br/> </div><div t-if="record.phone.raw_value"> - <span>Phone No </span><field name="phone"/><br/> + <span>Phone </span><field name="phone"/><br/> </div><div t-if="record.state_id.raw_value"> <field name="state_id"/><br/> </div></i> From e2a9fbf838371bf5ed6a3a9554f87831464eaad9 Mon Sep 17 00:00:00 2001 From: "Sbh (Openerp)" <sbh@tinyerp.com> Date: Wed, 28 Mar 2012 17:41:52 +0530 Subject: [PATCH 271/313] [IMP]base/res: remove defult color bzr revid: sbh@tinyerp.com-20120328121152-gr2tv5zop29eozfp --- openerp/addons/base/res/res_partner_view.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openerp/addons/base/res/res_partner_view.xml b/openerp/addons/base/res/res_partner_view.xml index c5ce604a4cf..680b8ad6124 100644 --- a/openerp/addons/base/res/res_partner_view.xml +++ b/openerp/addons/base/res/res_partner_view.xml @@ -526,7 +526,7 @@ <field name="state_id"/> <templates> <t t-name="kanban-box"> - <t t-set="color" t-value="kanban_color(record.color.raw_value || record.name.raw_value)"/> + <t t-set="color" t-value="kanban_color(record.color.raw_value)"/> <div t-att-class="color + (record.title.raw_value == 1 ? ' oe_kanban_color_alert' : '')"> <div class="oe_module_vignette"> <a type="edit"> From 8e3b1168d4a987a50b5a13bdb464eb552c45b0f8 Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Wed, 28 Mar 2012 18:30:04 +0530 Subject: [PATCH 272/313] [IMP]base/res_partner: change kanban view bzr revid: kjo@tinyerp.com-20120328130004-ct0re73cpwakkn3v --- openerp/addons/base/res/res_partner_view.xml | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/openerp/addons/base/res/res_partner_view.xml b/openerp/addons/base/res/res_partner_view.xml index 680b8ad6124..e6fa2379b26 100644 --- a/openerp/addons/base/res/res_partner_view.xml +++ b/openerp/addons/base/res/res_partner_view.xml @@ -544,14 +544,18 @@ <div t-if="record.street2.raw_value"> <field name="street2"/><br/></div> <div t-if="record.city.raw_value or record.zip.raw_value"><field name="city"/> - <field name="zip"/><br/></div><div t-if="record.country_id.raw_value"> - <field name="country_id"/><br/></div><div t-if="record.email.raw_value"> - <field name="email"/><br/></div><div t-if="record.mobile.raw_value"> - <span>Mobile </span><field name="mobile"/><br/> - </div><div t-if="record.phone.raw_value"> - <span>Phone </span><field name="phone"/><br/> - </div><div t-if="record.state_id.raw_value"> + <field name="zip"/><br/></div> + <div t-if="record.state_id.raw_value"> <field name="state_id"/><br/> + </div> + <div t-if="record.country_id.raw_value"> + <field name="country_id"/><br/></div><div t-if="record.email.raw_value"> + <field name="email"/><br/></div> + <div t-if="record.mobile.raw_value"> + <field name="mobile"/><br/> + </div> + <div t-if="!record.mobile.raw_value and record.phone.raw_value"> + <field name="phone"/><br/> </div></i> </td> <td t-if="record.is_company.raw_value" valign="top" align="right"> From dc52fb35e1e57495963dd9f6517d4ad2372bb26b Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Wed, 28 Mar 2012 18:55:14 +0530 Subject: [PATCH 273/313] [IMP]base/res_partner: add comma between city and zip bzr revid: kjo@tinyerp.com-20120328132514-cjfdnqzz6u7sreq0 --- openerp/addons/base/res/res_partner_view.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openerp/addons/base/res/res_partner_view.xml b/openerp/addons/base/res/res_partner_view.xml index e6fa2379b26..064a1e468a3 100644 --- a/openerp/addons/base/res/res_partner_view.xml +++ b/openerp/addons/base/res/res_partner_view.xml @@ -543,7 +543,7 @@ <i><div t-if="record.street.raw_value"><field name="street"/><br/></div> <div t-if="record.street2.raw_value"> <field name="street2"/><br/></div> - <div t-if="record.city.raw_value or record.zip.raw_value"><field name="city"/> + <div t-if="record.city.raw_value"><field name="city"/><span>,</span> <field name="zip"/><br/></div> <div t-if="record.state_id.raw_value"> <field name="state_id"/><br/> From a7cba7ddfc3082e8bdae45ac68dd7e2689404d02 Mon Sep 17 00:00:00 2001 From: "Turkesh Patel (Open ERP)" <tpa@tinyerp.com> Date: Thu, 29 Mar 2012 10:54:01 +0530 Subject: [PATCH 274/313] [FIX] mrp_repair: set domain on address_id field bzr revid: tpa@tinyerp.com-20120329052401-gosm2xdc9edf1xfl --- addons/mrp_repair/mrp_repair.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/mrp_repair/mrp_repair.py b/addons/mrp_repair/mrp_repair.py index 47ca2db5823..f15d480b72b 100644 --- a/addons/mrp_repair/mrp_repair.py +++ b/addons/mrp_repair/mrp_repair.py @@ -117,7 +117,7 @@ class mrp_repair(osv.osv): 'name': fields.char('Repair Reference',size=24, required=True), 'product_id': fields.many2one('product.product', string='Product to Repair', required=True, readonly=True, states={'draft':[('readonly',False)]}), 'partner_id' : fields.many2one('res.partner', 'Partner', select=True, help='This field allow you to choose the parner that will be invoiced and delivered'), - 'address_id': fields.many2one('res.partner', 'Delivery Address'), + 'address_id': fields.many2one('res.partner', 'Delivery Address', domain="[('parent_id','=',partner_id)]"), 'default_address_id': fields.function(_get_default_address, type="many2one", relation="res.partner"), 'prodlot_id': fields.many2one('stock.production.lot', 'Lot Number', select=True, domain="[('product_id','=',product_id)]"), 'state': fields.selection([ From 1846ae22a1b60b5233c39e35df58060d5cea5e86 Mon Sep 17 00:00:00 2001 From: "Sbh (Openerp)" <sbh@tinyerp.com> Date: Thu, 29 Mar 2012 11:59:24 +0530 Subject: [PATCH 275/313] [IMP]base/res: add field for printing address base on country format bzr revid: sbh@tinyerp.com-20120329062924-uxehnkxpog12clxa --- openerp/addons/base/res/res_partner.py | 15 ++++++++++++--- openerp/addons/base/res/res_partner_view.xml | 12 ++---------- 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index 5472bd2c937..e61a59df30e 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -120,6 +120,13 @@ ADDRESS_FIELDS = POSTAL_ADDRESS_FIELDS + ('email', 'phone', 'fax', 'mobile', 'we class res_partner(osv.osv): _description='Partner' _name = "res.partner" + + def _address_display(self, cr, uid, ids, name, args, context=None): + res={} + for addr in self.browse(cr, uid, ids, context): + res[addr.id] =self._display_address(cr,uid,addr,context) + return res + _order = "name" _columns = { 'name': fields.char('Name', size=128, required=True, select=True), @@ -165,6 +172,8 @@ class res_partner(osv.osv): 'photo': fields.binary('Photo'), 'company_id': fields.many2one('res.company', 'Company', select=1), 'color': fields.integer('Color Index'), + 'contact_address': fields.function(_address_display, type='char', string='Address format'), + } def _default_category(self, cr, uid, context=None): @@ -243,7 +252,7 @@ class res_partner(osv.osv): if isinstance(ids, (int, long)): ids = [ids] if vals.get('is_company')==False: - vals.update({'child_ids' : [(5,)]}) + vals.update({'child_ids' : [(5,)]}) for partner in self.browse(cr, uid, ids, context=context): update_ids = [] if partner.is_company: @@ -299,8 +308,8 @@ class res_partner(osv.osv): if name and operator in ('=', 'ilike', '=ilike', 'like'): # search on the name of the contacts and of its company name2 = operator == '=' and name or '%' + name + '%' - cr.execute('''SELECT partner.id FROM res_partner partner - LEFT JOIN res_partner company ON partner.parent_id = company.id + cr.execute('''SELECT partner.id FROM res_partner partner + LEFT JOIN res_partner company ON partner.parent_id = company.id WHERE partner.name || ' (' || COALESCE(company.name,'') || ')' ''' + operator + ''' %s ''', (name2,)) ids = map(lambda x: x[0], cr.fetchall()) diff --git a/openerp/addons/base/res/res_partner_view.xml b/openerp/addons/base/res/res_partner_view.xml index 064a1e468a3..cb71aa37f95 100644 --- a/openerp/addons/base/res/res_partner_view.xml +++ b/openerp/addons/base/res/res_partner_view.xml @@ -540,16 +540,8 @@ <h4><a type="edit"><field name="name"/></a> <div t-if="record.parent_id.raw_value"><field name="parent_id"/></div> </h4> - <i><div t-if="record.street.raw_value"><field name="street"/><br/></div> - <div t-if="record.street2.raw_value"> - <field name="street2"/><br/></div> - <div t-if="record.city.raw_value"><field name="city"/><span>,</span> - <field name="zip"/><br/></div> - <div t-if="record.state_id.raw_value"> - <field name="state_id"/><br/> - </div> - <div t-if="record.country_id.raw_value"> - <field name="country_id"/><br/></div><div t-if="record.email.raw_value"> + <i><div t-if="record.contact_address.raw_value"><field name="contact_address"/><br/></div> + <div t-if="record.email.raw_value"> <field name="email"/><br/></div> <div t-if="record.mobile.raw_value"> <field name="mobile"/><br/> From b1a29c5a6af2603b39358fa5b2f9c5c7af5e11a4 Mon Sep 17 00:00:00 2001 From: "Quentin (OpenERP)" <qdp-launchpad@openerp.com> Date: Thu, 29 Mar 2012 13:43:31 +0200 Subject: [PATCH 276/313] [REF] base: small refactoring of things related to the merge of res.partner and res.partner.address bzr revid: qdp-launchpad@openerp.com-20120329114331-hmlld7fxlw6sh1ks --- openerp/addons/base/res/res_partner.py | 15 +++++++-------- openerp/osv/orm.py | 2 +- openerp/report/report_sxw.py | 4 ++-- 3 files changed, 10 insertions(+), 11 deletions(-) diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index e61a59df30e..99c78c7ebfd 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -123,8 +123,8 @@ class res_partner(osv.osv): def _address_display(self, cr, uid, ids, name, args, context=None): res={} - for addr in self.browse(cr, uid, ids, context): - res[addr.id] =self._display_address(cr,uid,addr,context) + for partner in self.browse(cr, uid, ids, context=context): + res[partner.id] =self._display_address(cr, uid, partner, context=context) return res _order = "name" @@ -172,8 +172,7 @@ class res_partner(osv.osv): 'photo': fields.binary('Photo'), 'company_id': fields.many2one('res.company', 'Company', select=1), 'color': fields.integer('Color Index'), - 'contact_address': fields.function(_address_display, type='char', string='Address format'), - + 'contact_address': fields.function(_address_display, type='char', string='Complete Address'), } def _default_category(self, cr, uid, context=None): @@ -344,19 +343,19 @@ class res_partner(osv.osv): result = {} # retrieve addresses from the partner itself and its children res = [] - # need to fix the ids ,It get False value in list like ids[False] + # need to fix the ids ,It get False value in list like ids[False] if ids and ids[0]!=False: for p in self.browse(cr, uid, ids): res.append((p.type, p.id)) res.extend((c.type, c.id) for c in p.child_ids) - addr = dict(reversed(res)) + address_dict = dict(reversed(res)) # get the id of the (first) default address if there is one, # otherwise get the id of the first address in the list default_address = False if res: - default_address = addr.get('default', res[0][1]) + default_address = address_dict.get('default', res[0][1]) for adr in adr_pref: - result[adr] = addr.get(adr, default_address) + result[adr] = address_dict.get(adr, default_address) return result def gen_next_ref(self, cr, uid, ids): diff --git a/openerp/osv/orm.py b/openerp/osv/orm.py index e18d91a454e..daa2458956c 100644 --- a/openerp/osv/orm.py +++ b/openerp/osv/orm.py @@ -864,7 +864,7 @@ class BaseModel(object): parent_names = [parent_names] else: name = cls._name - # for res.parnter.address compatiblity ,should be remove in v7 + # for res.parnter.address compatiblity, should be remove in v7 if 'res.partner.address' in parent_names: parent_names.pop(parent_names.index('res.partner.address')) parent_names.append('res.partner') diff --git a/openerp/report/report_sxw.py b/openerp/report/report_sxw.py index f1eb981b32c..7cd9516c099 100644 --- a/openerp/report/report_sxw.py +++ b/openerp/report/report_sxw.py @@ -320,8 +320,8 @@ class rml_parse(object): res='%s %s'%(currency_obj.symbol, res) return res - def display_address(self, address_browse_record,type=''): - return self.pool.get('res.partner')._display_address(self.cr, self.uid, address_browse_record,type) + def display_address(self, address_browse_record, type=''): + return self.pool.get('res.partner')._display_address(self.cr, self.uid, address_browse_record, type) def repeatIn(self, lst, name,nodes_parent=False): ret_lst = [] From d9359aacfb4f1ef20c4c8f0bdec62b009fcc3841 Mon Sep 17 00:00:00 2001 From: "Sbh (Openerp)" <sbh@tinyerp.com> Date: Thu, 29 Mar 2012 18:11:38 +0530 Subject: [PATCH 277/313] [IMP]account: remove address_id form compute_all bzr revid: sbh@tinyerp.com-20120329124138-isbvzt8z4drn7fwn --- addons/account/account.py | 25 ++++++++++++------------- addons/mrp_repair/mrp_repair.py | 6 +++--- addons/purchase/purchase.py | 22 +++++++++++----------- addons/sale/sale.py | 6 +++--- 4 files changed, 29 insertions(+), 30 deletions(-) diff --git a/addons/account/account.py b/addons/account/account.py index 357e616da38..aa458308e06 100644 --- a/addons/account/account.py +++ b/addons/account/account.py @@ -2060,7 +2060,7 @@ class account_tax(osv.osv): cur_price_unit+=amount2 return res - def compute_all(self, cr, uid, taxes, price_unit, quantity, address_id=None, product=None, partner=None, force_excluded=False): + def compute_all(self, cr, uid, taxes, price_unit, quantity, product=None, partner=None, force_excluded=False): """ :param force_excluded: boolean used to say that we don't want to consider the value of field price_include of tax. It's used in encoding by line where you don't matter if you encoded a tax with that boolean to True or @@ -2080,7 +2080,7 @@ class account_tax(osv.osv): tex.append(tax) else: tin.append(tax) - tin = self.compute_inv(cr, uid, tin, price_unit, quantity, address_id=address_id, product=product, partner=partner) + tin = self.compute_inv(cr, uid, tin, price_unit, quantity, product=product, partner=partner) for r in tin: totalex -= r.get('amount', 0.0) totlex_qty = 0.0 @@ -2088,7 +2088,7 @@ class account_tax(osv.osv): totlex_qty = totalex/quantity except: pass - tex = self._compute(cr, uid, tex, totlex_qty, quantity, address_id=address_id, product=product, partner=partner) + tex = self._compute(cr, uid, tex, totlex_qty, quantity,product=product, partner=partner) for r in tex: totalin += r.get('amount', 0.0) return { @@ -2097,13 +2097,13 @@ class account_tax(osv.osv): 'taxes': tin + tex } - def compute(self, cr, uid, taxes, price_unit, quantity, address_id=None, product=None, partner=None): + def compute(self, cr, uid, taxes, price_unit, quantity, product=None, partner=None): logger = netsvc.Logger() logger.notifyChannel("warning", netsvc.LOG_WARNING, "Deprecated, use compute_all(...)['taxes'] instead of compute(...) to manage prices with tax included") return self._compute(cr, uid, taxes, price_unit, quantity, address_id, product, partner) - def _compute(self, cr, uid, taxes, price_unit, quantity, address_id=None, product=None, partner=None): + def _compute(self, cr, uid, taxes, price_unit, quantity,product=None, partner=None): """ Compute tax values for given PRICE_UNIT, QUANTITY and a buyer/seller ADDRESS_ID. @@ -2112,7 +2112,7 @@ class account_tax(osv.osv): tax = {'name':'', 'amount':0.0, 'account_collected_id':1, 'account_paid_id':2} one tax for each tax id in IDS and their children """ - res = self._unit_compute(cr, uid, taxes, price_unit, address_id, product, partner, quantity) + res = self._unit_compute(cr, uid, taxes, price_unit, product, partner, quantity) total = 0.0 precision_pool = self.pool.get('decimal.precision') for r in res: @@ -2123,8 +2123,8 @@ class account_tax(osv.osv): total += r['amount'] return res - def _unit_compute_inv(self, cr, uid, taxes, price_unit, address_id=None, product=None, partner=None): - taxes = self._applicable(cr, uid, taxes, price_unit, address_id, product, partner) + def _unit_compute_inv(self, cr, uid, taxes, price_unit, product=None, partner=None): + taxes = self._applicable(cr, uid, taxes, price_unit, product, partner) obj_partener_address = self.pool.get('res.partner') res = [] taxes.reverse() @@ -2150,8 +2150,7 @@ class account_tax(osv.osv): amount = tax.amount elif tax.type=='code': - address = address_id and obj_partener_address.browse(cr, uid, address_id) or None - localdict = {'price_unit':cur_price_unit, 'address':address, 'product':product, 'partner':partner} + localdict = {'price_unit':cur_price_unit, 'product':product, 'partner':partner} exec tax.python_compute_inv in localdict amount = localdict['result'] elif tax.type=='balance': @@ -2185,7 +2184,7 @@ class account_tax(osv.osv): del res[-1] amount = price_unit - parent_tax = self._unit_compute_inv(cr, uid, tax.child_ids, amount, address_id, product, partner) + parent_tax = self._unit_compute_inv(cr, uid, tax.child_ids, amount, product, partner) res.extend(parent_tax) total = 0.0 @@ -2197,7 +2196,7 @@ class account_tax(osv.osv): r['todo'] = 0 return res - def compute_inv(self, cr, uid, taxes, price_unit, quantity, address_id=None, product=None, partner=None): + def compute_inv(self, cr, uid, taxes, price_unit, quantity, product=None, partner=None): """ Compute tax values for given PRICE_UNIT, QUANTITY and a buyer/seller ADDRESS_ID. Price Unit is a VAT included price @@ -2207,7 +2206,7 @@ class account_tax(osv.osv): tax = {'name':'', 'amount':0.0, 'account_collected_id':1, 'account_paid_id':2} one tax for each tax id in IDS and their children """ - res = self._unit_compute_inv(cr, uid, taxes, price_unit, address_id, product, partner=None) + res = self._unit_compute_inv(cr, uid, taxes, price_unit, product, partner=None) total = 0.0 obj_precision = self.pool.get('decimal.precision') for r in res: diff --git a/addons/mrp_repair/mrp_repair.py b/addons/mrp_repair/mrp_repair.py index f15d480b72b..77b097cddd3 100644 --- a/addons/mrp_repair/mrp_repair.py +++ b/addons/mrp_repair/mrp_repair.py @@ -70,12 +70,12 @@ class mrp_repair(osv.osv): for line in repair.operations: #manage prices with tax included use compute_all instead of compute if line.to_invoice: - tax_calculate = tax_obj.compute_all(cr, uid, line.tax_id, line.price_unit, line.product_uom_qty, repair.partner_invoice_id.id, line.product_id, repair.partner_id) + tax_calculate = tax_obj.compute_all(cr, uid, line.tax_id, line.price_unit, line.product_uom_qty, line.product_id, repair.partner_id) for c in tax_calculate['taxes']: val += c['amount'] for line in repair.fees_lines: if line.to_invoice: - tax_calculate = tax_obj.compute_all(cr, uid, line.tax_id, line.price_unit, line.product_uom_qty, repair.partner_invoice_id.id, line.product_id, repair.partner_id) + tax_calculate = tax_obj.compute_all(cr, uid, line.tax_id, line.price_unit, line.product_uom_qty, line.product_id, repair.partner_id) for c in tax_calculate['taxes']: val += c['amount'] res[repair.id] = cur_obj.round(cr, uid, cur, val) @@ -683,7 +683,7 @@ class mrp_repair_line(osv.osv, ProductChangeMixin): location_id = location_id and location_id[0] or False if type == 'add': - # TOCHECK: Find stock location for user's company warehouse or + # TOCHECK: Find stock location for user's company warehouse or # repair order's company's warehouse (company_id field is added in fix of lp:831583) args = company_id and [('company_id', '=', company_id)] or [] warehouse_ids = warehouse_obj.search(cr, uid, args, context=context) diff --git a/addons/purchase/purchase.py b/addons/purchase/purchase.py index 5548e5b3898..c7907bf7d3c 100644 --- a/addons/purchase/purchase.py +++ b/addons/purchase/purchase.py @@ -49,7 +49,7 @@ class purchase_order(osv.osv): cur = order.pricelist_id.currency_id for line in order.order_line: val1 += line.price_subtotal - for c in self.pool.get('account.tax').compute_all(cr, uid, line.taxes_id, line.price_unit, line.product_qty, order.partner_id.id, line.product_id.id, order.partner_id)['taxes']: + for c in self.pool.get('account.tax').compute_all(cr, uid, line.taxes_id, line.price_unit, line.product_qty, line.product_id.id, order.partner_id)['taxes']: val += c.get('amount', 0.0) res[order.id]['amount_tax']=cur_obj.round(cr, uid, cur, val) res[order.id]['amount_untaxed']=cur_obj.round(cr, uid, cur, val1) @@ -161,7 +161,7 @@ class purchase_order(osv.osv): 'date_order':fields.date('Order Date', required=True, states={'confirmed':[('readonly',True)], 'approved':[('readonly',True)]}, select=True, help="Date on which this document has been created."), 'date_approve':fields.date('Date Approved', readonly=1, select=True, help="Date on which purchase order has been approved"), 'partner_id':fields.many2one('res.partner', 'Supplier', required=True, states={'confirmed':[('readonly',True)], 'approved':[('readonly',True)],'done':[('readonly',True)]}, change_default=True), - 'dest_address_id':fields.many2one('res.partner', 'Destination Address', domain="[('parent_id','=',partner_id)]", + 'dest_address_id':fields.many2one('res.partner', 'Destination Address', domain="[('parent_id','=',partner_id)]", states={'confirmed':[('readonly',True)], 'approved':[('readonly',True)],'done':[('readonly',True)]}, help="Put an address if you want to deliver directly from the supplier to the customer." \ "In this case, it will remove the warehouse link and set the customer location." @@ -292,7 +292,7 @@ class purchase_order(osv.osv): return True def _prepare_inv_line(self, cr, uid, account_id, order_line, context=None): - """Collects require data from purchase order line that is used to create invoice line + """Collects require data from purchase order line that is used to create invoice line for that purchase order line :param account_id: Expense account of the product of PO line if any. :param browse_record order_line: Purchase order line browse record @@ -374,7 +374,7 @@ class purchase_order(osv.osv): 'partner_id': order.partner_id.id, 'currency_id': order.pricelist_id.currency_id.id, 'journal_id': len(journal_ids) and journal_ids[0] or False, - 'invoice_line': [(6, 0, inv_lines)], + 'invoice_line': [(6, 0, inv_lines)], 'origin': order.name, 'fiscal_position': order.fiscal_position.id or order.partner_id.property_account_position.id, 'payment_term': order.partner_id.property_payment_term and order.partner_id.property_payment_term.id or False, @@ -415,7 +415,7 @@ class purchase_order(osv.osv): if inv: wf_service.trg_validate(uid, 'account.invoice', inv.id, 'invoice_cancel', cr) self.write(cr,uid,ids,{'state':'cancel'}) - + for (id, name) in self.name_get(cr, uid, ids): wf_service.trg_validate(uid, 'purchase.order', id, 'purchase_cancel', cr) message = _("Purchase order '%s' is cancelled.") % name @@ -434,7 +434,7 @@ class purchase_order(osv.osv): 'company_id': order.company_id.id, 'move_lines' : [], } - + def _prepare_order_line_move(self, cr, uid, order, order_line, picking_id, context=None): return { 'name': order.name + ': ' + (order_line.name or ''), @@ -475,7 +475,7 @@ class purchase_order(osv.osv): will be added. A new picking will be created if omitted. :return: list of IDs of pickings used/created for the given order lines (usually just one) """ - if not picking_id: + if not picking_id: picking_id = self.pool.get('stock.picking').create(cr, uid, self._prepare_order_picking(cr, uid, order, context=context)) todo_moves = [] stock_move = self.pool.get('stock.move') @@ -727,7 +727,7 @@ class purchase_order_line(osv.osv): """ if context is None: context = {} - + res = {'value': {'price_unit': price_unit or 0.0, 'name': name or '', 'notes': notes or '', 'product_uom' : uom_id or False}} if not product_id: return res @@ -751,7 +751,7 @@ class purchase_order_line(osv.osv): context_partner = {'lang': lang, 'partner_id': partner_id} product = product_product.browse(cr, uid, product_id, context=context_partner) res['value'].update({'name': product.name, 'notes': notes or product.description_purchase}) - + # - set a domain on product_uom res['domain'] = {'product_uom': [('category_id','=',product.uom_id.category_id.id)]} @@ -759,7 +759,7 @@ class purchase_order_line(osv.osv): product_uom_po_id = product.uom_po_id.id if not uom_id: uom_id = product_uom_po_id - + if product.uom_id.category_id.id != product_uom.browse(cr, uid, uom_id, context=context).category_id.id: res['warning'] = {'title': _('Warning'), 'message': _('Selected UOM does not belong to the same category as the product UOM')} uom_id = product_uom_po_id @@ -789,7 +789,7 @@ class purchase_order_line(osv.osv): # - determine price_unit and taxes_id price = product_pricelist.price_get(cr, uid, [pricelist_id], product.id, qty or 1.0, partner_id, {'uom': uom_id, 'date': date_order})[pricelist_id] - + taxes = account_tax.browse(cr, uid, map(lambda x: x.id, product.supplier_taxes_id)) fpos = fiscal_position_id and account_fiscal_position.browse(cr, uid, fiscal_position_id, context=context) or False taxes_ids = account_fiscal_position.map_tax(cr, uid, fpos, taxes) diff --git a/addons/sale/sale.py b/addons/sale/sale.py index 96995ca2428..93938fa4f8e 100644 --- a/addons/sale/sale.py +++ b/addons/sale/sale.py @@ -65,7 +65,7 @@ class sale_order(osv.osv): def _amount_line_tax(self, cr, uid, line, context=None): val = 0.0 - for c in self.pool.get('account.tax').compute_all(cr, uid, line.tax_id, line.price_unit * (1-(line.discount or 0.0)/100.0), line.product_uom_qty, line.order_id.partner_invoice_id.id, line.product_id, line.order_id.partner_id)['taxes']: + for c in self.pool.get('account.tax').compute_all(cr, uid, line.tax_id, line.price_unit * (1-(line.discount or 0.0)/100.0), line.product_uom_qty, line.product_id, line.order_id.partner_id)['taxes']: val += c.get('amount', 0.0) return val @@ -784,7 +784,7 @@ class sale_order(osv.osv): return True def _get_date_planned(self, cr, uid, order, line, start_date, context=None): - date_planned = datetime.strptime(start_date, DEFAULT_SERVER_DATE_FORMAT) + relativedelta(days=line.delay or 0.0) + date_planned = datetime.strptime(start_date, DEFAULT_SERVER_DATE_FORMAT) + relativedelta(days=line.delay or 0.0) date_planned = (date_planned - timedelta(days=order.company_id.security_lead)).strftime(DEFAULT_SERVER_DATETIME_FORMAT) return date_planned @@ -920,7 +920,7 @@ class sale_order_line(osv.osv): context = {} for line in self.browse(cr, uid, ids, context=context): price = line.price_unit * (1 - (line.discount or 0.0) / 100.0) - taxes = tax_obj.compute_all(cr, uid, line.tax_id, price, line.product_uom_qty, line.order_id.partner_invoice_id.id, line.product_id, line.order_id.partner_id) + taxes = tax_obj.compute_all(cr, uid, line.tax_id, price, line.product_uom_qty, line.product_id, line.order_id.partner_id) cur = line.order_id.pricelist_id.currency_id res[line.id] = cur_obj.round(cr, uid, cur, taxes['total']) return res From fa76f3a06307544e956d42904365c137a08e2681 Mon Sep 17 00:00:00 2001 From: "Sbh (Openerp)" <sbh@tinyerp.com> Date: Thu, 29 Mar 2012 18:19:13 +0530 Subject: [PATCH 278/313] [IMP]account: remove address_id form compute_all bzr revid: sbh@tinyerp.com-20120329124913-uoc4lrcauzaltpqp --- addons/account/account.py | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/addons/account/account.py b/addons/account/account.py index aa458308e06..c48f04339e3 100644 --- a/addons/account/account.py +++ b/addons/account/account.py @@ -1841,7 +1841,7 @@ class account_tax(osv.osv): PERCENT: tax = price * amount FIXED: tax = price + amount NONE: no tax line - CODE: execute python code. localcontext = {'price_unit':pu, 'address':address_object} + CODE: execute python code. localcontext = {'price_unit':pu} return result in the context Ex: result=round(price_unit*0.21,4) """ @@ -1981,12 +1981,11 @@ class account_tax(osv.osv): } _order = 'sequence' - def _applicable(self, cr, uid, taxes, price_unit, address_id=None, product=None, partner=None): + def _applicable(self, cr, uid, taxes, price_unit, product=None, partner=None): res = [] - obj_partener_address = self.pool.get('res.partner') for tax in taxes: if tax.applicable_type=='code': - localdict = {'price_unit':price_unit, 'address':obj_partener_address.browse(cr, uid, address_id), 'product':product, 'partner':partner} + localdict = {'price_unit':price_unit, 'product':product, 'partner':partner} exec tax.python_applicable in localdict if localdict.get('result', False): res.append(tax) @@ -1994,7 +1993,7 @@ class account_tax(osv.osv): res.append(tax) return res - def _unit_compute(self, cr, uid, taxes, price_unit, address_id=None, product=None, partner=None, quantity=0): + def _unit_compute(self, cr, uid, taxes, price_unit, product=None, partner=None, quantity=0): taxes = self._applicable(cr, uid, taxes, price_unit, address_id, product, partner) res = [] cur_price_unit=price_unit @@ -2026,8 +2025,7 @@ class account_tax(osv.osv): data['tax_amount']=quantity # data['amount'] = quantity elif tax.type=='code': - address = address_id and obj_partener_address.browse(cr, uid, address_id) or None - localdict = {'price_unit':cur_price_unit, 'address':address, 'product':product, 'partner':partner} + localdict = {'price_unit':cur_price_unit, 'product':product, 'partner':partner} exec tax.python_compute in localdict amount = localdict['result'] data['amount'] = amount @@ -2040,7 +2038,7 @@ class account_tax(osv.osv): if tax.child_depend: latest = res.pop() amount = amount2 - child_tax = self._unit_compute(cr, uid, tax.child_ids, amount, address_id, product, partner, quantity) + child_tax = self._unit_compute(cr, uid, tax.child_ids, amount, product, partner, quantity) res.extend(child_tax) if tax.child_depend: for r in res: @@ -2101,7 +2099,7 @@ class account_tax(osv.osv): logger = netsvc.Logger() logger.notifyChannel("warning", netsvc.LOG_WARNING, "Deprecated, use compute_all(...)['taxes'] instead of compute(...) to manage prices with tax included") - return self._compute(cr, uid, taxes, price_unit, quantity, address_id, product, partner) + return self._compute(cr, uid, taxes, price_unit, quantity, product, partner) def _compute(self, cr, uid, taxes, price_unit, quantity,product=None, partner=None): """ From a821b41caa0b3a8eb9059cb37a020dcb2d15e791 Mon Sep 17 00:00:00 2001 From: "Sbh (Openerp)" <sbh@tinyerp.com> Date: Thu, 29 Mar 2012 18:21:04 +0530 Subject: [PATCH 279/313] [IMP]account: remvoe unused pool bzr revid: sbh@tinyerp.com-20120329125104-pe1zcn50ldv5wb1t --- addons/account/account.py | 1 - 1 file changed, 1 deletion(-) diff --git a/addons/account/account.py b/addons/account/account.py index c48f04339e3..d31e01944ad 100644 --- a/addons/account/account.py +++ b/addons/account/account.py @@ -2123,7 +2123,6 @@ class account_tax(osv.osv): def _unit_compute_inv(self, cr, uid, taxes, price_unit, product=None, partner=None): taxes = self._applicable(cr, uid, taxes, price_unit, product, partner) - obj_partener_address = self.pool.get('res.partner') res = [] taxes.reverse() cur_price_unit = price_unit From 287935fc7f5ea615ce697ce363cca9ada74715c5 Mon Sep 17 00:00:00 2001 From: "Sbh (Openerp)" <sbh@tinyerp.com> Date: Thu, 29 Mar 2012 18:25:50 +0530 Subject: [PATCH 280/313] [IMP]account: remove address_id bzr revid: sbh@tinyerp.com-20120329125550-l0fo45vbwnvf5p76 --- addons/account/account.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/addons/account/account.py b/addons/account/account.py index d31e01944ad..27415cfffe6 100644 --- a/addons/account/account.py +++ b/addons/account/account.py @@ -1963,8 +1963,8 @@ class account_tax(osv.osv): return self.pool.get('res.company').search(cr, uid, [('parent_id', '=', False)])[0] _defaults = { - 'python_compute': '''# price_unit\n# address: res.partner object or False\n# product: product.product object or None\n# partner: res.partner object or None\n\nresult = price_unit * 0.10''', - 'python_compute_inv': '''# price_unit\n# address: res.partner object or False\n# product: product.product object or False\n\nresult = price_unit * 0.10''', + 'python_compute': '''# price_unit\n# or False\n# product: product.product object or None\n# partner: res.partner object or None\n\nresult = price_unit * 0.10''', + 'python_compute_inv': '''# price_unit\n# product: product.product object or False\n\nresult = price_unit * 0.10''', 'applicable_type': 'true', 'type': 'percent', 'amount': 0, @@ -1994,10 +1994,9 @@ class account_tax(osv.osv): return res def _unit_compute(self, cr, uid, taxes, price_unit, product=None, partner=None, quantity=0): - taxes = self._applicable(cr, uid, taxes, price_unit, address_id, product, partner) + taxes = self._applicable(cr, uid, taxes, price_unit product, partner) res = [] cur_price_unit=price_unit - obj_partener_address = self.pool.get('res.partner') for tax in taxes: # we compute the amount for the current tax object and append it to the result data = {'id':tax.id, From 867459789a6f4415f22a70331ecbe383f73c4bc8 Mon Sep 17 00:00:00 2001 From: "Sbh (Openerp)" <sbh@tinyerp.com> Date: Thu, 29 Mar 2012 18:27:23 +0530 Subject: [PATCH 281/313] [IMP]account: remove address ref bzr revid: sbh@tinyerp.com-20120329125723-ibv1bozf6a4pjjap --- addons/account/account.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/account/account.py b/addons/account/account.py index 27415cfffe6..1e7ff0d73b4 100644 --- a/addons/account/account.py +++ b/addons/account/account.py @@ -2801,8 +2801,8 @@ class account_tax_template(osv.osv): return self.pool.get('res.company').search(cr, uid, [('parent_id', '=', False)])[0] _defaults = { - 'python_compute': lambda *a: '''# price_unit\n# address: res.partner object or False\n# product: product.product object or None\n# partner: res.partner object or None\n\nresult = price_unit * 0.10''', - 'python_compute_inv': lambda *a: '''# price_unit\n# address: res.partner object or False\n# product: product.product object or False\n\nresult = price_unit * 0.10''', + 'python_compute': lambda *a: '''# price_unit\n# product: product.product object or None\n# partner: res.partner object or None\n\nresult = price_unit * 0.10''', + 'python_compute_inv': lambda *a: '''# price_unit\n# product: product.product object or False\n\nresult = price_unit * 0.10''', 'applicable_type': 'true', 'type': 'percent', 'amount': 0, From 964b385d5ccb4339c3325f24eed06f3904b175a3 Mon Sep 17 00:00:00 2001 From: "Sbh (Openerp)" <sbh@tinyerp.com> Date: Thu, 29 Mar 2012 18:40:17 +0530 Subject: [PATCH 282/313] [fix] : small fix bzr revid: sbh@tinyerp.com-20120329131017-4x4xzi41ttbq9ni3 --- addons/account/account.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/account/account.py b/addons/account/account.py index 1e7ff0d73b4..d902d2cb482 100644 --- a/addons/account/account.py +++ b/addons/account/account.py @@ -1994,7 +1994,7 @@ class account_tax(osv.osv): return res def _unit_compute(self, cr, uid, taxes, price_unit, product=None, partner=None, quantity=0): - taxes = self._applicable(cr, uid, taxes, price_unit product, partner) + taxes = self._applicable(cr, uid, taxes, price_unit ,product, partner) res = [] cur_price_unit=price_unit for tax in taxes: From fe45a9a7dedaeff6fd99fe44dd8cf80f2f3570d1 Mon Sep 17 00:00:00 2001 From: "Kuldeep Joshi (OpenERP)" <kjo@tinyerp.com> Date: Thu, 29 Mar 2012 18:55:33 +0530 Subject: [PATCH 283/313] [IMP]base/res_partner: fix the function bzr revid: kjo@tinyerp.com-20120329132533-nmhg0flfz36v4hhl --- openerp/addons/base/res/res_partner.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index 99c78c7ebfd..4ec49699269 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -391,7 +391,7 @@ class res_partner(osv.osv): ('name','=','main_partner')])[0], ).res_id - def _display_address(self, cr, uid, address, type, context=None): + def _display_address(self, cr, uid, address, type='', context=None): ''' The purpose of this function is to build and return an address formatted accordingly to the From c3ee23dac99acb18925f845beff4f15dc34e29c0 Mon Sep 17 00:00:00 2001 From: Ian Beardslee <ian@catalyst.net.nz> Date: Fri, 30 Mar 2012 14:14:07 +1300 Subject: [PATCH 284/313] Set login date as UTC lp bug: https://launchpad.net/bugs/967829 fixed bzr revid: ian@catalyst.net.nz-20120330011407-ungh1s3vde38ptv2 --- addons/auth_openid/res_users.py | 6 ++++-- addons/base_crypt/crypt.py | 8 +++++--- addons/users_ldap/users_ldap.py | 6 ++++-- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/addons/auth_openid/res_users.py b/addons/auth_openid/res_users.py index c9b5bfc7b26..3fb8cefcbd4 100644 --- a/addons/auth_openid/res_users.py +++ b/addons/auth_openid/res_users.py @@ -65,8 +65,10 @@ class res_users(osv.osv): return result else: with utils.cursor(db) as cr: - cr.execute('UPDATE res_users SET date=now() WHERE login=%s AND openid_key=%s AND active=%s RETURNING id', - (tools.ustr(login), tools.ustr(password), True)) + cr.execute("""UPDATE res_users + SET date=now() AT TIME ZONE 'UTC' + WHERE login=%s AND openid_key=%s AND active=%s RETURNING id""", + (tools.ustr(login), tools.ustr(password), True)) res = cr.fetchone() cr.commit() return res[0] if res else False diff --git a/addons/base_crypt/crypt.py b/addons/base_crypt/crypt.py index c2fd0a25ef8..9b91f7d3108 100644 --- a/addons/base_crypt/crypt.py +++ b/addons/base_crypt/crypt.py @@ -211,9 +211,11 @@ class users(osv.osv): encrypted_pw = encrypt_md5(password, salt) # Check if the encrypted password matches against the one in the db. - cr.execute('UPDATE res_users SET date=now() ' \ - 'WHERE id=%s AND password=%s AND active RETURNING id', - (int(id), encrypted_pw.encode('utf-8'))) + cr.execute("""UPDATE res_users + SET date=now() AT TIME ZONE 'UTC' + WHERE id=%s AND password=%s AND active + RETURNING id""", + (int(id), encrypted_pw.encode('utf-8'))) res = cr.fetchone() cr.commit() diff --git a/addons/users_ldap/users_ldap.py b/addons/users_ldap/users_ldap.py index 1ad1b2df104..1d0c1e3acb9 100644 --- a/addons/users_ldap/users_ldap.py +++ b/addons/users_ldap/users_ldap.py @@ -256,8 +256,10 @@ class users(osv.osv): user_id = ldap_obj.get_or_create_user( cr, SUPERUSER_ID, conf, login, entry) if user_id: - cr.execute('UPDATE res_users SET date=now() WHERE ' - 'login=%s', (tools.ustr(login),)) + cr.execute("""UPDATE res_users + SET date=now() AT TIME ZONE 'UTC' + WHERE login=%s""", + (tools.ustr(login),)) cr.commit() break cr.close() From a61f7ce8d1d89801fd42bf2305c9bf36603b6da9 Mon Sep 17 00:00:00 2001 From: "Sbh (Openerp)" <sbh@tinyerp.com> Date: Fri, 30 Mar 2012 10:27:52 +0530 Subject: [PATCH 285/313] [IMP]:base/res : remove type from display address bzr revid: sbh@tinyerp.com-20120330045752-m9d9vgt92uro6fle --- openerp/addons/base/res/res_partner.py | 8 +------- openerp/report/report_sxw.py | 6 +++--- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index 4ec49699269..6f04c3483cd 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -391,7 +391,7 @@ class res_partner(osv.osv): ('name','=','main_partner')])[0], ).res_id - def _display_address(self, cr, uid, address, type='', context=None): + def _display_address(self, cr, uid, address, context=None): ''' The purpose of this function is to build and return an address formatted accordingly to the @@ -403,12 +403,6 @@ class res_partner(osv.osv): :rtype: string ''' - if type: - if address.is_company and address.child_ids: - for child_id in address.child_ids: - if child_id.type == type: - address = child_id - # get the information that will be injected into the display format # get the address format address_format = address.country_id and address.country_id.address_format or \ diff --git a/openerp/report/report_sxw.py b/openerp/report/report_sxw.py index 7cd9516c099..27bd5fa5394 100644 --- a/openerp/report/report_sxw.py +++ b/openerp/report/report_sxw.py @@ -299,7 +299,7 @@ class rml_parse(object): parse_format = DEFAULT_SERVER_DATETIME_FORMAT if isinstance(value, basestring): # FIXME: the trimming is probably unreliable if format includes day/month names - # and those would need to be translated anyway. + # and those would need to be translated anyway. date = datetime.strptime(value[:get_date_length(parse_format)], parse_format) elif isinstance(value, time.struct_time): date = datetime(*value[:6]) @@ -320,8 +320,8 @@ class rml_parse(object): res='%s %s'%(currency_obj.symbol, res) return res - def display_address(self, address_browse_record, type=''): - return self.pool.get('res.partner')._display_address(self.cr, self.uid, address_browse_record, type) + def display_address(self, address_browse_record): + return self.pool.get('res.partner')._display_address(self.cr, self.uid, address_browse_record) def repeatIn(self, lst, name,nodes_parent=False): ret_lst = [] From bba2e9ce07bde7a6ef4b1910a1cf87da8d9ee1a3 Mon Sep 17 00:00:00 2001 From: "Sbh (Openerp)" <sbh@tinyerp.com> Date: Fri, 30 Mar 2012 10:39:55 +0530 Subject: [PATCH 286/313] [IMP]account_followup: remove address bzr revid: sbh@tinyerp.com-20120330050955-fsld4gti0phnu34h --- .../wizard/account_followup_print.py | 19 +++++++++---------- addons/account_payment/account_payment.py | 2 +- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/addons/account_followup/wizard/account_followup_print.py b/addons/account_followup/wizard/account_followup_print.py index 1a5f3c0b60b..088ff868ca0 100644 --- a/addons/account_followup/wizard/account_followup_print.py +++ b/addons/account_followup/wizard/account_followup_print.py @@ -89,8 +89,8 @@ class account_followup_stat_by_partner(osv.osv): tools.drop_view_if_exists(cr, 'account_followup_stat_by_partner') # Here we don't have other choice but to create a virtual ID based on the concatenation # of the partner_id and the company_id, because if a partner is shared between 2 companies, - # we want to see 2 lines for him in this table. It means that both company should be able - # to send him followups separately . An assumption that the number of companies will not + # we want to see 2 lines for him in this table. It means that both company should be able + # to send him followups separately . An assumption that the number of companies will not # reach 10 000 records is made, what should be enough for a time. cr.execute(""" create or replace view account_followup_stat_by_partner as ( @@ -234,14 +234,13 @@ class account_followup_print_all(osv.osv_memory): for line in data_lines: total_amt += line.debit - line.credit dest = False - if partner.address: - for adr in partner.address: - if adr.type=='contact': - if adr.email: - dest = [adr.email] - if (not dest) and adr.type=='default': - if adr.email: - dest = [adr.email] + if partner: + if partner.type=='contact': + if adr.email: + dest = [partner.email] + if (not dest) and partner.type=='default': + if partner.email: + dest = [partner.email] src = tools.config.options['email_from'] if not data.partner_lang: body = data.email_body diff --git a/addons/account_payment/account_payment.py b/addons/account_payment/account_payment.py index ae25c6a206a..cc645dc87ad 100644 --- a/addons/account_payment/account_payment.py +++ b/addons/account_payment/account_payment.py @@ -219,7 +219,7 @@ class payment_line(osv.osv): break partner = line.partner_id.name or '' if line.partner_id: - #for ads in line.partner_id.address: + #for ads in line.partner_id: if line.partner_id.type == 'default': st = line.partner_id.street and line.partner_id.street or '' st1 = line.partner_id.street2 and line.partner_id.street2 or '' From 9460dd0b02ef91221be31df30e8ca945bb6163c7 Mon Sep 17 00:00:00 2001 From: "Sbh (Openerp)" <sbh@tinyerp.com> Date: Fri, 30 Mar 2012 13:19:01 +0530 Subject: [PATCH 287/313] [IMP] stock: rename address_id with parnter_id bzr revid: sbh@tinyerp.com-20120330074901-kawagjxlvwfnqx06 --- addons/stock/report/picking.rml | 10 +++---- addons/stock/report/report_stock_move.py | 16 +++++----- addons/stock/stock.py | 38 ++++++++++++------------ addons/stock/stock_demo.xml | 14 ++++----- addons/stock/stock_demo.yml | 6 ++-- addons/stock/stock_view.xml | 38 ++++++++++++------------ 6 files changed, 61 insertions(+), 61 deletions(-) diff --git a/addons/stock/report/picking.rml b/addons/stock/report/picking.rml index f16d070f9b9..63706a940e6 100644 --- a/addons/stock/report/picking.rml +++ b/addons/stock/report/picking.rml @@ -162,13 +162,13 @@ <tr> <td> <para style="terp_default_Bold_9">Shipping Address :</para> - <para style="terp_default_9">[[ (picking.address_id and picking.address_id.id and picking.address_id.title.name) or '' ]] [[ picking.address_id and picking.address_id.id and picking.address_id.name ]]</para> - <para style="terp_default_9">[[ picking.address_id and display_address(picking.address_id,'delivery') ]]</para> + <para style="terp_default_9">[[ (picking.partner_id and picking.partner_id.id and picking.partner_id.title.name) or '' ]] [[ picking.partner_id and picking.partner_id.id and picking.partner_id.name ]]</para> + <para style="terp_default_9">[[ picking.partner_id and display_address(picking.partner_id,'delivery') ]]</para> </td> <td> <para style="terp_default_Bold_9">Contact Address :</para> - <para style="terp_default_9">[[ picking.address_id and picking.address_id.title.name or '' ]] [[ picking.address_id and picking.address_id.name or '' ]]</para> - <para style="terp_default_9">[[ picking.address_id and display_address(picking.address_id,'default') ]] </para> + <para style="terp_default_9">[[ picking.partner_id and picking.partner_id.title.name or '' ]] [[ picking.partner_id and picking.partner_id.name or '' ]]</para> + <para style="terp_default_9">[[ picking.partner_id and display_address(picking.partner_id,'default') ]] </para> </td> </tr> </blockTable> @@ -218,7 +218,7 @@ <para style="terp_default_Centre_8">[[ picking.origin or '']]</para> </td> <td> - <para style="terp_default_Centre_8">[[ (picking.address_id and picking.address_id.title.name) or '' ]] [[ (picking.address_id and picking.address_id.name) or '' ]] </para> + <para style="terp_default_Centre_8">[[ (picking.partner_id and picking.partner_id.title.name) or '' ]] [[ (picking.partner_id and picking.partner_id.name) or '' ]] </para> </td> <td> <para style="terp_default_Centre_8">[[ formatLang(picking.min_date,date_time = True) ]]</para> diff --git a/addons/stock/report/report_stock_move.py b/addons/stock/report/report_stock_move.py index 2b6b844872a..da6be7873c3 100644 --- a/addons/stock/report/report_stock_move.py +++ b/addons/stock/report/report_stock_move.py @@ -76,7 +76,7 @@ class report_stock_move(osv.osv): al.product_qty, al.out_qty as product_qty_out, al.in_qty as product_qty_in, - al.address_id as partner_id, + al.partner_id as partner_id, al.product_id as product_id, al.state as state , al.product_uom as product_uom, @@ -113,7 +113,7 @@ class report_stock_move(osv.osv): sm.location_dest_id as location_dest_id, sum(sm.product_qty) as product_qty, pt.categ_id as categ_id , - sm.address_id as address_id, + sm.partner_id as partner_id, sm.product_id as product_id, sm.picking_id as picking_id, sm.company_id as company_id, @@ -129,7 +129,7 @@ class report_stock_move(osv.osv): LEFT JOIN product_uom pu2 ON (sm.product_uom=pu2.id) LEFT JOIN product_template pt ON (pp.product_tmpl_id=pt.id) GROUP BY - sm.id,sp.type, sm.date,sm.address_id, + sm.id,sp.type, sm.date,sm.partner_id, sm.product_id,sm.state,sm.product_uom,sm.date_expected, sm.product_id,pt.standard_price, sm.picking_id, sm.product_qty, sm.company_id,sm.product_qty, sm.location_id,sm.location_dest_id,pu.factor,pt.categ_id, sp.stock_journal_id) @@ -137,7 +137,7 @@ class report_stock_move(osv.osv): GROUP BY al.out_qty,al.in_qty,al.curr_year,al.curr_month, al.curr_day,al.curr_day_diff,al.curr_day_diff1,al.curr_day_diff2,al.dp,al.location_id,al.location_dest_id, - al.address_id,al.product_id,al.state,al.product_uom, + al.partner_id,al.product_id,al.state,al.product_uom, al.picking_id,al.company_id,al.type,al.product_qty, al.categ_id, al.stock_journal ) """) @@ -173,7 +173,7 @@ class report_stock_inventory(osv.osv): CREATE OR REPLACE view report_stock_inventory AS ( (SELECT min(m.id) as id, m.date as date, - m.address_id as partner_id, m.location_id as location_id, + m.partner_id as partner_id, m.location_id as location_id, m.product_id as product_id, pt.categ_id as product_categ_id, l.usage as location_type, m.company_id, m.state as state, m.prodlot_id as prodlot_id, @@ -190,12 +190,12 @@ CREATE OR REPLACE view report_stock_inventory AS ( LEFT JOIN product_uom u ON (m.product_uom=u.id) LEFT JOIN stock_location l ON (m.location_id=l.id) GROUP BY - m.id, m.product_id, m.product_uom, pt.categ_id, m.address_id, m.location_id, m.location_dest_id, + m.id, m.product_id, m.product_uom, pt.categ_id, m.partner_id, m.location_id, m.location_dest_id, m.prodlot_id, m.date, m.state, l.usage, m.company_id, pt.uom_id ) UNION ALL ( SELECT -m.id as id, m.date as date, - m.address_id as partner_id, m.location_dest_id as location_id, + m.partner_id as partner_id, m.location_dest_id as location_id, m.product_id as product_id, pt.categ_id as product_categ_id, l.usage as location_type, m.company_id, m.state as state, m.prodlot_id as prodlot_id, @@ -211,7 +211,7 @@ CREATE OR REPLACE view report_stock_inventory AS ( LEFT JOIN product_uom u ON (m.product_uom=u.id) LEFT JOIN stock_location l ON (m.location_dest_id=l.id) GROUP BY - m.id, m.product_id, m.product_uom, pt.categ_id, m.address_id, m.location_id, m.location_dest_id, + m.id, m.product_id, m.product_uom, pt.categ_id, m.partner_id, m.location_id, m.location_dest_id, m.prodlot_id, m.date, m.state, l.usage, m.company_id, pt.uom_id ) ); diff --git a/addons/stock/stock.py b/addons/stock/stock.py index ae3d23a0364..9753c1a3e05 100644 --- a/addons/stock/stock.py +++ b/addons/stock/stock.py @@ -190,7 +190,7 @@ class stock_location(osv.osv): 'chained_picking_type': fields.selection([('out', 'Sending Goods'), ('in', 'Getting Goods'), ('internal', 'Internal')], 'Shipping Type', help="Shipping Type of the Picking List that will contain the chained move (leave empty to automatically detect the type based on the source and destination locations)."), 'chained_company_id': fields.many2one('res.company', 'Chained Company', help='The company the Picking List containing the chained move will belong to (leave empty to use the default company determination rules'), 'chained_delay': fields.integer('Chaining Lead Time',help="Delay between original move and chained move in days"), - 'address_id': fields.many2one('res.partner', 'Location Address',help="Address of customer or supplier."), + 'partner_id': fields.many2one('res.partner', 'Location Address',help="Address of customer or supplier."), 'icon': fields.selection(tools.icons, 'Icon', size=64,help="Icon show in hierarchical tree view"), 'comment': fields.text('Additional Information'), @@ -646,7 +646,7 @@ class stock_picking(osv.osv): store=True, type='datetime', string='Max. Expected Date', select=2), 'move_lines': fields.one2many('stock.move', 'picking_id', 'Internal Moves', states={'done': [('readonly', True)], 'cancel': [('readonly', True)]}), 'auto_picking': fields.boolean('Auto-Picking'), - 'address_id': fields.many2one('res.partner', 'Address', help="Address of partner"), + 'partner_id': fields.many2one('res.partner', 'Partner'), 'invoice_state': fields.selection([ ("invoiced", "Invoiced"), ("2binvoiced", "To Be Invoiced"), @@ -876,7 +876,7 @@ class stock_picking(osv.osv): @param picking: object of the picking for which we are selecting the partner to invoice @return: object of the partner to invoice """ - return picking.address_id and picking.address_id.id + return picking.partner_id and picking.partner_id.id def _get_comment_invoice(self, cr, uid, picking): """ @@ -916,11 +916,11 @@ class stock_picking(osv.osv): else: taxes = move_line.product_id.taxes_id - if move_line.picking_id and move_line.picking_id.address_id and move_line.picking_id.address_id.id: + if move_line.picking_id and move_line.picking_id.partner_id and move_line.picking_id.partner_id.id: return self.pool.get('account.fiscal.position').map_tax( cr, uid, - move_line.picking_id.address_id.property_account_position, + move_line.picking_id.partner_id.property_account_position, taxes ) else: @@ -1176,7 +1176,7 @@ class stock_picking(osv.osv): def do_partial(self, cr, uid, ids, partial_datas, context=None): """ Makes partial picking and moves done. @param partial_datas : Dictionary containing details of partial picking - like partner_id, address_id, delivery_date, + like partner_id, partner_id, delivery_date, delivery moves with product_id, product_qty, uom @return: Dictionary of values """ @@ -1276,7 +1276,7 @@ class stock_picking(osv.osv): { 'product_qty' : move.product_qty - partial_qty[move.id], 'product_uos_qty': move.product_qty - partial_qty[move.id], #TODO: put correct uos_qty - + }) if new_picking: @@ -1378,7 +1378,7 @@ class stock_production_lot(osv.osv): name = '%s [%s]' % (name, record['ref']) res.append((record['id'], name)) return res - + def name_search(self, cr, uid, name, args=None, operator='ilike', context=None, limit=100): args = args or [] ids = [] @@ -1579,7 +1579,7 @@ class stock_move(osv.osv): 'location_id': fields.many2one('stock.location', 'Source Location', required=True, select=True,states={'done': [('readonly', True)]}, help="Sets a location if you produce at a fixed location. This can be a partner location if you subcontract the manufacturing operations."), 'location_dest_id': fields.many2one('stock.location', 'Destination Location', required=True,states={'done': [('readonly', True)]}, select=True, help="Location where the system will stock the finished products."), - 'address_id': fields.many2one('res.partner', 'Destination Address ', states={'done': [('readonly', True)]}, help="Optional address where goods are to be delivered, specifically used for allotment"), + 'partner_id': fields.many2one('res.partner', 'Destination Address ', states={'done': [('readonly', True)]}, help="Optional address where goods are to be delivered, specifically used for allotment"), 'prodlot_id': fields.many2one('stock.production.lot', 'Production Lot', states={'done': [('readonly', True)]}, help="Production lot is used to put a serial number on the production", select=True), 'tracking_id': fields.many2one('stock.tracking', 'Pack', select=True, states={'done': [('readonly', True)]}, help="Logistical shipping unit: pallet, box, pack ..."), @@ -1800,19 +1800,19 @@ class stock_move(osv.osv): return {'value': result} def onchange_product_id(self, cr, uid, ids, prod_id=False, loc_id=False, - loc_dest_id=False, address_id=False): + loc_dest_id=False, partner_id=False): """ On change of product id, if finds UoM, UoS, quantity and UoS quantity. @param prod_id: Changed Product id @param loc_id: Source location id @param loc_dest_id: Destination location id - @param address_id: Address id of partner + @param partner_id: Address id of partner @return: Dictionary of values """ if not prod_id: return {} lang = False - if address_id: - addr_rec = self.pool.get('res.partner').browse(cr, uid, address_id) + if partner_id: + addr_rec = self.pool.get('res.partner').browse(cr, uid, partner_id) if addr_rec: lang = addr_rec and addr_rec.lang or False ctx = {'lang': lang} @@ -1854,7 +1854,7 @@ class stock_move(osv.osv): cr, uid, m.location_dest_id, - m.picking_id and m.picking_id.address_id and m.picking_id.address_id, + m.picking_id and m.picking_id.partner_id and m.picking_id.partner_id, m.product_id, context ) @@ -1905,7 +1905,7 @@ class stock_move(osv.osv): 'auto_picking': moves_todo[0][1][1] == 'auto', 'stock_journal_id': moves_todo[0][1][3], 'company_id': moves_todo[0][1][4] or res_company._company_default_get(cr, uid, 'stock.company', context=context), - 'address_id': picking.address_id.id, + 'partner_id': picking.partner_id.id, 'invoice_state': 'none', 'date': picking.date, } @@ -2261,7 +2261,7 @@ class stock_move(osv.osv): processing of the given stock move. """ # prepare default values considering that the destination accounts have the reference_currency_id as their main currency - partner_id = (move.picking_id.address_id and move.picking_id.address_id.id and move.picking_id.address_id.id) or False + partner_id = (move.picking_id.partner_id and move.picking_id.partner_id.id and move.picking_id.partner_id.id) or False debit_line_vals = { 'name': move.name, 'product_id': move.product_id and move.product_id.id or False, @@ -2493,7 +2493,7 @@ class stock_move(osv.osv): def do_partial(self, cr, uid, ids, partial_datas, context=None): """ Makes partial pickings and moves done. @param partial_datas: Dictionary containing details of partial picking - like partner_id, address_id, delivery_date, delivery + like partner_id, delivery_date, delivery moves with product_id, product_qty, uom """ res = {} @@ -2680,7 +2680,7 @@ class stock_inventory(osv.osv): 'prodlot_id': lot_id, 'date': inv.date, } - + if change > 0: value.update( { 'product_qty': change, @@ -2772,7 +2772,7 @@ class stock_warehouse(osv.osv): _columns = { 'name': fields.char('Name', size=128, required=True, select=True), 'company_id': fields.many2one('res.company', 'Company', required=True, select=True), - 'partner_address_id': fields.many2one('res.partner', 'Owner Address'), + 'partner_id': fields.many2one('res.partner', 'Owner Address'), 'lot_input_id': fields.many2one('stock.location', 'Location Input', required=True, domain=[('usage','<>','view')]), 'lot_stock_id': fields.many2one('stock.location', 'Location Stock', required=True, domain=[('usage','=','internal')]), 'lot_output_id': fields.many2one('stock.location', 'Location Output', required=True, domain=[('usage','<>','view')]), diff --git a/addons/stock/stock_demo.xml b/addons/stock/stock_demo.xml index 5372ab6216b..ec0860f62c7 100644 --- a/addons/stock/stock_demo.xml +++ b/addons/stock/stock_demo.xml @@ -5,7 +5,7 @@ <record id="base.user_demo" model="res.users"> <field eval="[(4, ref('group_stock_user'))]" name="groups_id"/> </record> - + <!-- Resource: stock.location --> @@ -42,7 +42,7 @@ <field name="name">Shelf 1</field> <field name="location_id" ref="stock_location_stock"/> </record> - + <!-- Resource: stock.inventory @@ -219,7 +219,7 @@ <field eval=""""Shop 2"""" name="name"/> </record> <record id="stock_location_shop0" model="stock.location"> - <field model="res.partner" name="address_id" search="[('name','=','Fabien')]"/> + <field model="res.partner" name="partner_id" search="[('name','=','Fabien')]"/> <field name="location_id" ref="stock.stock_location_locations"/> <field name="company_id" ref="res_company_shop0"/> <field eval=""""internal"""" name="usage"/> @@ -229,7 +229,7 @@ <field eval=""""manual"""" name="chained_auto_packing"/> </record> <record id="stock_location_shop1" model="stock.location"> - <field model="res.partner" name="address_id" search="[('name','=','Eric')]"/> + <field model="res.partner" name="partner_id" search="[('name','=','Eric')]"/> <field name="company_id" ref="res_company_tinyshop0"/> <field name="location_id" ref="stock.stock_location_locations"/> <field eval=""""internal"""" name="usage"/> @@ -237,7 +237,7 @@ <field eval=""""Shop 2"""" name="name"/> </record> <record id="stock_location_intermediatelocation0" model="stock.location"> - <field name="address_id" ref="base.main_partner"/> + <field name="partner_id" ref="base.main_partner"/> <field name="location_id" ref="stock.stock_location_locations_partner"/> <field eval=""""procurement"""" name="usage"/> <field eval=""""Internal Shippings"""" name="name"/> @@ -247,7 +247,7 @@ <field name="lot_output_id" ref="stock.stock_location_output"/> <field eval=""""Shop 1"""" name="name"/> <field name="lot_stock_id" ref="stock_location_shop0"/> - <field name="partner_address_id" ref="res_partner_address_fabien0"/> + <field name="partner_id" ref="res_partner_address_fabien0"/> <field name="company_id" ref="res_company_shop0"/> <field name="lot_input_id" ref="stock_location_shop0"/> </record> @@ -255,7 +255,7 @@ <field name="lot_output_id" ref="stock.stock_location_output"/> <field name="name">Shop 2</field> <field name="lot_stock_id" ref="stock_location_shop1"/> - <field name="partner_address_id" ref="res_partner_address_eric0"/> + <field name="partner_id" ref="res_partner_address_eric0"/> <field name="company_id" ref="res_company_tinyshop0"/> <field name="lot_input_id" ref="stock_location_shop1"/> </record> diff --git a/addons/stock/stock_demo.yml b/addons/stock/stock_demo.yml index 4a1cb831b41..0db509e40ba 100644 --- a/addons/stock/stock_demo.yml +++ b/addons/stock/stock_demo.yml @@ -10,7 +10,7 @@ !record {model: stock.location, id: location_refrigerator_small}: name: Small Refrigerator usage: internal - location_id: location_refrigerator + location_id: location_refrigerator - !record {model: stock.location, id: location_opening}: name: opening @@ -75,7 +75,7 @@ product_qty: 40.0 prod_lot_id: lot_icecream_1 location_id: location_refrigerator - + - !record {model: stock.picking, id: outgoing_shipment}: type: out @@ -92,7 +92,7 @@ !record {model: stock.picking, id: incomming_shipment}: type: in invoice_state: 2binvoiced - address_id: base.res_partner_address_9 + partner_id: base.res_partner_address_9 location_dest_id: location_refrigerator - !record {model: stock.move, id: incomming_shipment_icecream}: diff --git a/addons/stock/stock_view.xml b/addons/stock/stock_view.xml index 01fa4d58699..592cb180d22 100644 --- a/addons/stock/stock_view.xml +++ b/addons/stock/stock_view.xml @@ -22,7 +22,7 @@ action="product.product_category_action_form" id="menu_product_category_config_stock" parent="stock.menu_product_in_config_stock" sequence="0" /> <menuitem - action="product.product_ul_form_action" + action="product.product_ul_form_action" id="menu_product_packaging_stock_action" parent="stock.menu_product_in_config_stock" sequence="1"/> <menuitem id="menu_stock_unit_measure_stock" name="Units of Measure" @@ -509,7 +509,7 @@ </group> <group col="4" colspan="2"> <separator string="Additional Information" colspan="4"/> - <field name="address_id" context="{'contact_display':'partner'}" colspan="4"/> + <field name="partner_id" colspan="4"/> <field name="company_id" groups="base.group_multi_company" widget="selection" colspan="4"/> <field name="icon" groups="base.group_extended" colspan="4"/> <field name="scrap_location" groups="base.group_extended"/> @@ -624,7 +624,7 @@ <field name="lot_output_id"/> <field name="company_id" select="1" groups="base.group_multi_company" widget="selection"/> <newline/> - <field name="partner_address_id" context="{'contact_display':'partner'}"/> + <field name="partner_id"/> </form> </field> </record> @@ -638,7 +638,7 @@ <field name="lot_input_id"/> <field name="lot_stock_id"/> <field name="lot_output_id"/> - <field name="partner_address_id" context="{'contact_display':'partner'}"/> + <field name="partner_id"/> </tree> </field> </record> @@ -658,10 +658,10 @@ <field name="type">calendar</field> <field name="priority" eval="2"/> <field name="arch" type="xml"> - <calendar string="Calendar View" date_start="min_date" date_stop="max_date" color="address_id"> + <calendar string="Calendar View" date_start="min_date" date_stop="max_date" color="partner_id"> <field name="origin"/> <field name="type"/> - <field name="address_id"/> + <field name="partner_id"/> </calendar> </field> </record> @@ -694,7 +694,7 @@ <group colspan="4" col="4"> <field name="name" readonly="1"/> <field name="origin"/> - <field name="address_id" on_change="onchange_partner_in(address_id)" context="{'contact_display':'partner'}" colspan="4"/> + <field name="partner_id" on_change="onchange_partner_in(partner_id)" colspan="4"/> <field name="invoice_state" string="Invoice Control" groups="base.group_extended"/> <field name="backorder_id" readonly="1" groups="base.group_extended"/> </group> @@ -706,7 +706,7 @@ </group> <notebook colspan="4"> <page string="Products"> - <field colspan="4" name="move_lines" nolabel="1" widget="one2many_list" context="{'address_in_id': address_id}"> + <field colspan="4" name="move_lines" nolabel="1" widget="one2many_list" context="{'address_in_id': partner_id}"> <tree colors="grey:scrapped == True" string="Stock Moves"> <field name="product_id"/> <field name="product_qty" on_change="onchange_quantity(product_id, product_qty, product_uom, product_uos)"/> @@ -743,7 +743,7 @@ <group colspan="2" col="4"> <separator colspan="4" string="Move Information"/> <field name="name" invisible="1" colspan="4"/> - <field name="product_id" on_change="onchange_product_id(product_id,location_id,location_dest_id, parent.address_id)" colspan="4"/> + <field name="product_id" on_change="onchange_product_id(product_id,location_id,location_dest_id, parent.partner_id)" colspan="4"/> <field name="product_qty" on_change="onchange_quantity(product_id, product_qty, product_uom, product_uos)" colspan="3"/> <button name="%(stock.move_scrap)d" string="Scrap" type="action" groups="base.group_extended" @@ -836,7 +836,7 @@ <filter icon="terp-dolar" name="to_invoice" string="To Invoice" domain="[('invoice_state','=','2binvoiced')]" help="Internal Pickings to invoice"/> <separator orientation="vertical"/> <field name="name"/> - <field name="address_id"/> + <field name="partner_id"/> <field name="stock_journal_id" groups="base.group_extended" widget="selection"/> </group> <newline/> @@ -885,7 +885,7 @@ <group colspan="4" col="4"> <field name="name" readonly="1"/> <field name="origin" readonly="1"/> - <field name="address_id" on_change="onchange_partner_in(address_id)" context="{'contact_display':'partner'}" colspan="4"/> + <field name="partner_id" on_change="onchange_partner_in(partner_id)" colspan="4"/> <field name="invoice_state"/> <field name="backorder_id" readonly="1" groups="base.group_extended"/> </group> @@ -897,7 +897,7 @@ </group> <notebook colspan="4"> <page string="Products"> - <field colspan="4" name="move_lines" nolabel="1" widget="one2many_list" context="{'address_out_id': address_id, 'picking_type': type}" > + <field colspan="4" name="move_lines" nolabel="1" widget="one2many_list" context="{'address_out_id': partner_id, 'picking_type': type}" > <tree colors="grey:scrapped==True" string="Stock Moves"> <field name="product_id"/> <field name="product_qty" on_change="onchange_quantity(product_id, product_qty, product_uom, product_uos)"/> @@ -932,7 +932,7 @@ <group colspan="2" col="4"> <separator colspan="4" string="Move Information"/> <field name="name" invisible="1" colspan="4" /> - <field name="product_id" on_change="onchange_product_id(product_id,location_id,location_dest_id, parent.address_id)" colspan="4" /> + <field name="product_id" on_change="onchange_product_id(product_id,location_id,location_dest_id, parent.partner_id)" colspan="4" /> <field name="product_qty" on_change="onchange_quantity(product_id, product_qty, product_uom, product_uos)" colspan="3" /> <button name="%(stock.move_scrap)d" string="Scrap" type="action" @@ -1103,7 +1103,7 @@ <group colspan="4" col="4"> <field name="name" readonly="1"/> <field name="origin"/> - <field name="address_id" on_change="onchange_partner_in(address_id)" context="{'contact_display':'partner'}" colspan="4"/> + <field name="partner_id" on_change="onchange_partner_in(partner_id)" colspan="4"/> <field name="invoice_state" string="Invoice Control"/> <field name="backorder_id" readonly="1" groups="base.group_extended"/> </group> @@ -1115,7 +1115,7 @@ </group> <notebook colspan="4"> <page string="General Information"> - <field colspan="4" name="move_lines" nolabel="1" widget="one2many_list" context="{'address_in_id': address_id, 'picking_type': type}" > + <field colspan="4" name="move_lines" nolabel="1" widget="one2many_list" context="{'address_in_id': partner_id, 'picking_type': type}" > <tree colors="grey:scrapped==True" string="Stock Moves"> <field name="product_id" /> <field name="product_qty" /> @@ -1149,7 +1149,7 @@ <group colspan="2" col="4"> <separator colspan="4" string="Move Information"/> <field name="name" invisible="1" colspan="4"/> - <field name="product_id" on_change="onchange_product_id(product_id,location_id,location_dest_id, parent.address_id)" colspan="4"/> + <field name="product_id" on_change="onchange_product_id(product_id,location_id,location_dest_id, parent.partner_id)" colspan="4"/> <field name="product_qty" on_change="onchange_quantity(product_id, product_qty, product_uom, product_uos)" colspan="3"/> <button name="%(stock.move_scrap)d" string="Scrap" type="action" groups="base.group_extended" @@ -1411,7 +1411,7 @@ <newline/> <field name="location_id"/> <field name="location_dest_id"/> - <field name="address_id" context="{'contact_display':'partner'}"/> + <field name="partner_id" context="{'contact_display':'partner'}"/> </group> <group colspan="2" col="2"> @@ -1479,7 +1479,7 @@ <separator orientation="vertical"/> <field name="product_id"/> <field name="location_id" string="Location" filter_domain="['|',('location_id','ilike',self),('location_dest_id','ilike',self)]"/> - <field name="address_id" string="Partner" context="{'contact_display':'partner'}" filter_domain="[('picking_id.address_id','ilike',self)]"/> + <field name="partner_id" string="Partner" filter_domain="[('picking_id.partner_id','ilike',self)]"/> <field name="date" groups="base.group_no_one"/> <field name="origin"/> <field name="prodlot_id"/> @@ -1597,7 +1597,7 @@ <newline/> <field name="location_id"/> <field name="location_dest_id"/> - <field name="address_id" context="{'contact_display':'partner'}"/> + <field name="partner_id"/> </group> <group colspan="2" col="2"> From deedfe20348bade91b6d847eb654fb9658c64a2c Mon Sep 17 00:00:00 2001 From: "Sbh (Openerp)" <sbh@tinyerp.com> Date: Fri, 30 Mar 2012 13:20:32 +0530 Subject: [PATCH 288/313] [IMP] sale: rename address_id with parnter_id bzr revid: sbh@tinyerp.com-20120330075032-wmbw3kv21h44u60i --- addons/sale/sale.py | 4 ++-- addons/sale/sale_unit_test.xml | 2 +- addons/sale/test/picking_order_policy.yml | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/addons/sale/sale.py b/addons/sale/sale.py index 93938fa4f8e..d8e8ac60f3d 100644 --- a/addons/sale/sale.py +++ b/addons/sale/sale.py @@ -733,7 +733,7 @@ class sale_order(osv.osv): 'product_uos': (line.product_uos and line.product_uos.id)\ or line.product_uom.id, 'product_packaging': line.product_packaging.id, - 'address_id': line.address_allotment_id.id or order.partner_shipping_id.id, + 'partner_id': line.address_allotment_id.id or order.partner_shipping_id.id, 'location_id': location_id, 'location_dest_id': output_id, 'sale_line_id': line.id, @@ -755,7 +755,7 @@ class sale_order(osv.osv): 'state': 'auto', 'move_type': order.picking_policy, 'sale_id': order.id, - 'address_id': order.partner_shipping_id.id, + 'partner_id': order.partner_shipping_id.id, 'note': order.note, 'invoice_state': (order.order_policy=='picking' and '2binvoiced') or 'none', 'company_id': order.company_id.id, diff --git a/addons/sale/sale_unit_test.xml b/addons/sale/sale_unit_test.xml index 787373dae99..5ce1156a206 100644 --- a/addons/sale/sale_unit_test.xml +++ b/addons/sale/sale_unit_test.xml @@ -84,7 +84,7 @@ </assert> <assert id="test_order_1" model="sale.order" severity="error" string="the sales order's picking will be sent to the good address and is already confirmed"> - <test expr="picking_ids[0].address_id == partner_shipping_id"/> + <test expr="picking_ids[0].partner_id == partner_shipping_id"/> <!-- test expr="picking_ids[0].state">confirmed</test # Desactivated because of MRP_JIT --> </assert> diff --git a/addons/sale/test/picking_order_policy.yml b/addons/sale/test/picking_order_policy.yml index 0d2a2e19a34..f2e3cd0e24a 100644 --- a/addons/sale/test/picking_order_policy.yml +++ b/addons/sale/test/picking_order_policy.yml @@ -52,7 +52,7 @@ assert picking.origin == sale_order.name,"Origin of Delivery order is not correspond with sequence number of sale order." assert picking.type == 'out',"Shipment should be Outgoing." assert picking.move_type == sale_order.picking_policy,"Delivery Method is not corresponding with delivery method of sale order." - assert picking.address_id.id == sale_order.partner_shipping_id.id,"Shipping Address is not correspond with sale order." + assert picking.partner_id.id == sale_order.partner_shipping_id.id,"Shipping Address is not correspond with sale order." assert picking.note == sale_order.note,"Note is not correspond with sale order." assert picking.invoice_state == (sale_order.order_policy=='picking' and '2binvoiced') or 'none',"Invoice policy is not correspond with sale order." assert len(picking.move_lines) == len(sale_order.order_line), "Total move of delivery order are not corresposning with total sale order lines." @@ -69,7 +69,7 @@ assert move.product_uos_qty == (order_line.product_uos and order_line.product_uos_qty) or order_line.product_uom_qty,"Product UOS Quantity is not correspond." assert move.product_uos == (order_line.product_uos and order_line.product_uos.id) or order_line.product_uom.id,"Product UOS is not correspond" assert move.product_packaging.id == order_line.product_packaging.id,"Product packaging is not correspond." - assert move.address_id.id == order_line.address_allotment_id.id or sale_order.partner_shipping_id.id,"Address is not correspond" + assert move.partner_id.id == order_line.address_allotment_id.id or sale_order.partner_shipping_id.id,"Address is not correspond" #assert move.location_id.id == location_id,"Source Location is not correspond." #assert move.location_dest_id == output_id,"Destination Location is not correspond." assert move.note == order_line.notes,"Note is not correspond" From 1078da6717274cc35c1efc7117315ceebf644a81 Mon Sep 17 00:00:00 2001 From: "Sbh (Openerp)" <sbh@tinyerp.com> Date: Fri, 30 Mar 2012 13:26:38 +0530 Subject: [PATCH 289/313] [IMP] purchase: rename address_id with parnter_id bzr revid: sbh@tinyerp.com-20120330075638-81vq3papia6hitwu --- addons/purchase/purchase.py | 4 ++-- addons/purchase/purchase_view.xml | 1 - addons/purchase/report/order.rml | 2 +- addons/purchase/test/process/rfq2order2done.yml | 2 +- 4 files changed, 4 insertions(+), 5 deletions(-) diff --git a/addons/purchase/purchase.py b/addons/purchase/purchase.py index c7907bf7d3c..db1c6ff5cfb 100644 --- a/addons/purchase/purchase.py +++ b/addons/purchase/purchase.py @@ -428,7 +428,7 @@ class purchase_order(osv.osv): 'origin': order.name + ((order.origin and (':' + order.origin)) or ''), 'date': order.date_order, 'type': 'in', - 'address_id': order.dest_address_id.id or order.partner_id.id, + 'partner_id': order.dest_address_id.id or order.partner_id.id, 'invoice_state': '2binvoiced' if order.invoice_method == 'picking' else 'none', 'purchase_id': order.id, 'company_id': order.company_id.id, @@ -448,7 +448,7 @@ class purchase_order(osv.osv): 'location_id': order.partner_id.property_stock_supplier.id, 'location_dest_id': order.location_id.id, 'picking_id': picking_id, - 'address_id': order.dest_address_id.id or order.partner_id.id, + 'partner_id': order.dest_address_id.id or order.partner_id.id, 'move_dest_id': order_line.move_dest_id.id, 'state': 'draft', 'purchase_line_id': order_line.id, diff --git a/addons/purchase/purchase_view.xml b/addons/purchase/purchase_view.xml index 3c71126acb7..a3c2e70a85c 100644 --- a/addons/purchase/purchase_view.xml +++ b/addons/purchase/purchase_view.xml @@ -170,7 +170,6 @@ <notebook colspan="4"> <page string="Purchase Order"> <field name="partner_id" on_change="onchange_partner_id(partner_id)" context="{'search_default_supplier':1,'default_supplier':1,'default_customer':0}" options='{"quick_create": false}'/> - <!--field name="partner_address_id" options='{"quick_create": false}'/--> <field domain="[('type','=','purchase')]" name="pricelist_id" groups="base.group_extended"/> <field name="origin" groups="base.group_extended"/> <newline/> diff --git a/addons/purchase/report/order.rml b/addons/purchase/report/order.rml index b106ad4a4a2..ab4f8d9dd7b 100644 --- a/addons/purchase/report/order.rml +++ b/addons/purchase/report/order.rml @@ -167,7 +167,7 @@ <td> <para style="terp_default_Bold_9">Shipping address :</para> <para style="terp_default_9">[[ (o.dest_address_id and o.dest_address_id.name) or (o.warehouse_id and o.warehouse_id.name) or '']]</para> - <para style="terp_default_9">[[ (o.dest_address_id and display_address(o.dest_address_id)) or (o.warehouse_id and display_address(o.warehouse_id.partner_address_id)) or '']]</para> + <para style="terp_default_9">[[ (o.dest_address_id and display_address(o.dest_address_id)) or (o.warehouse_id and display_address(o.warehouse_id.partner_id)) or '']]</para> </td> </tr> </blockTable> diff --git a/addons/purchase/test/process/rfq2order2done.yml b/addons/purchase/test/process/rfq2order2done.yml index a9635fdfe4f..5a1e1ccde4b 100644 --- a/addons/purchase/test/process/rfq2order2done.yml +++ b/addons/purchase/test/process/rfq2order2done.yml @@ -40,7 +40,7 @@ assert len(purchase_order.picking_ids) >= 1, "You should have only one reception order" for picking in purchase_order.picking_ids: assert picking.state == "assigned", "Reception state should be in assigned state" - assert picking.address_id.id == purchase_order.partner_id.id, "Delivery address of reception id is different from order" + assert picking.partner_id.id == purchase_order.partner_id.id, "Delivery address of reception id is different from order" assert picking.company_id.id == purchase_order.company_id.id, "Company is not correspond with purchase order" - Reception is ready for process so now done the reception. From d494230c875acc15a7180b276d0faa700691a093 Mon Sep 17 00:00:00 2001 From: "Sbh (Openerp)" <sbh@tinyerp.com> Date: Fri, 30 Mar 2012 13:41:36 +0530 Subject: [PATCH 290/313] [IMP] : rename address_id with parnter_id bzr revid: sbh@tinyerp.com-20120330081136-gyllf3gx180clebd --- .../account_analytic_default.py | 2 +- .../claim_delivery_view.xml | 2 +- addons/delivery/delivery_view.xml | 2 +- addons/delivery/stock.py | 4 +-- addons/mrp/mrp.py | 26 +++++++++---------- addons/mrp_repair/mrp_repair.py | 6 ++--- .../test/stock_invoice_directly.yml | 4 +-- addons/stock_location/procurement_pull.py | 8 +++--- .../test/stock_location_push_flow.yml | 2 +- 9 files changed, 28 insertions(+), 28 deletions(-) diff --git a/addons/account_analytic_default/account_analytic_default.py b/addons/account_analytic_default/account_analytic_default.py index 9eac51d7579..0f868f91d34 100644 --- a/addons/account_analytic_default/account_analytic_default.py +++ b/addons/account_analytic_default/account_analytic_default.py @@ -89,7 +89,7 @@ class stock_picking(osv.osv): _inherit = "stock.picking" def _get_account_analytic_invoice(self, cursor, user, picking, move_line): - partner_id = picking.address_id and picking.address_id.id or False + partner_id = picking.partner_id and picking.partner_id.id or False rec = self.pool.get('account.analytic.default').account_get(cursor, user, move_line.product_id.id, partner_id , user, time.strftime('%Y-%m-%d'), context={}) if rec: diff --git a/addons/claim_from_delivery/claim_delivery_view.xml b/addons/claim_from_delivery/claim_delivery_view.xml index 624e93466db..f345484b4a9 100644 --- a/addons/claim_from_delivery/claim_delivery_view.xml +++ b/addons/claim_from_delivery/claim_delivery_view.xml @@ -3,7 +3,7 @@ <act_window id="action_claim_from_delivery" name="Claim" domain="[]" target="current" - context="{'default_partner_address_id': address_id, 'default_partner_id': partner_id}" + context="{'default_partner_id': partner_id}" view_mode="form" res_model="crm.claim" src_model="stock.picking" /> diff --git a/addons/delivery/delivery_view.xml b/addons/delivery/delivery_view.xml index 2d97d89dfca..047db1fea1d 100644 --- a/addons/delivery/delivery_view.xml +++ b/addons/delivery/delivery_view.xml @@ -189,7 +189,7 @@ <field name="model">stock.picking</field> <field name="inherit_id" ref="stock.view_picking_out_form"/> <field name="arch" type="xml"> - <field name="address_id" position="after"> + <field name="partner_id" position="after"> <field name="carrier_id"/> <field name="carrier_tracking_ref" groups="base.group_extended"/> <field name="number_of_packages" groups="base.group_extended"/> diff --git a/addons/delivery/stock.py b/addons/delivery/stock.py index 09f1973e96d..b441a8e5efe 100644 --- a/addons/delivery/stock.py +++ b/addons/delivery/stock.py @@ -84,7 +84,7 @@ class stock_picking(osv.osv): for inv_line in invoice.invoice_line): return None grid_id = carrier_obj.grid_get(cr, uid, [picking.carrier_id.id], - picking.address_id.id, context=context) + picking.partner_id.id, context=context) if not grid_id: raise osv.except_osv(_('Warning'), _('The carrier %s (id: %d) has no delivery grid!') \ @@ -99,7 +99,7 @@ class stock_picking(osv.osv): .property_account_income_categ.id taxes = picking.carrier_id.product_id.taxes_id - partner = picking.address_id or False + partner = picking.partner_id or False if partner: account_id = self.pool.get('account.fiscal.position').map_account(cr, uid, partner.property_account_position, account_id) taxes_ids = self.pool.get('account.fiscal.position').map_tax(cr, uid, partner.property_account_position, taxes) diff --git a/addons/mrp/mrp.py b/addons/mrp/mrp.py index 8a25af01e7b..1f70f55e505 100644 --- a/addons/mrp/mrp.py +++ b/addons/mrp/mrp.py @@ -312,7 +312,7 @@ class mrp_bom(osv.osv): phantom = False if bom.type == 'phantom' and not bom.bom_lines: newbom = self._bom_find(cr, uid, bom.product_id.id, bom.product_uom.id, properties) - + if newbom: res = self._bom_explode(cr, uid, self.browse(cr, uid, [newbom])[0], factor*bom.product_qty, properties, addthis=True, level=level+10) result = result + res[0] @@ -670,9 +670,9 @@ class mrp_production(osv.osv): return res def _get_subproduct_factor(self, cr, uid, production_id, move_id=None, context=None): - """ Compute the factor to compute the qty of procucts to produce for the given production_id. By default, - it's always equal to the quantity encoded in the production order or the production wizard, but if the - module mrp_subproduct is installed, then we must use the move_id to identify the product to produce + """ Compute the factor to compute the qty of procucts to produce for the given production_id. By default, + it's always equal to the quantity encoded in the production order or the production wizard, but if the + module mrp_subproduct is installed, then we must use the move_id to identify the product to produce and its quantity. :param production_id: ID of the mrp.order :param move_id: ID of the stock move that needs to be produced. Will be used in mrp_subproduct. @@ -733,7 +733,7 @@ class mrp_production(osv.osv): prod_name = scheduled.product_id.name_get()[0][1] raise osv.except_osv(_('Warning!'), _('You are going to consume total %s quantities of "%s".\nBut you can only consume up to total %s quantities.') % (qty, prod_name, qty_avail)) if qty <= 0.0: - # we already have more qtys consumed than we need + # we already have more qtys consumed than we need continue raw_product[0].action_consume(qty, raw_product[0].location_id.id, context=context) @@ -890,21 +890,21 @@ class mrp_production(osv.osv): 'state': 'waiting', 'company_id': production.company_id.id, }) - + def _make_production_internal_shipment(self, cr, uid, production, context=None): ir_sequence = self.pool.get('ir.sequence') stock_picking = self.pool.get('stock.picking') routing_loc = None pick_type = 'internal' - address_id = False - + partner_id = False + # Take routing address as a Shipment Address. # If usage of routing location is a internal, make outgoing shipment otherwise internal shipment if production.bom_id.routing_id and production.bom_id.routing_id.location_id: routing_loc = production.bom_id.routing_id.location_id if routing_loc.usage <> 'internal': pick_type = 'out' - address_id = routing_loc.address_id and routing_loc.address_id.id or False + partner_id = routing_loc.partner_id and routing_loc.partner_id.id or False # Take next Sequence number of shipment base on type pick_name = ir_sequence.get(cr, uid, 'stock.picking.' + pick_type) @@ -915,7 +915,7 @@ class mrp_production(osv.osv): 'type': pick_type, 'move_type': 'one', 'state': 'auto', - 'address_id': address_id, + 'partner_id': partner_id, 'auto_picking': self._get_auto_picking(cr, uid, production), 'company_id': production.company_id.id, }) @@ -926,7 +926,7 @@ class mrp_production(osv.osv): stock_move = self.pool.get('stock.move') source_location_id = production.product_id.product_tmpl_id.property_stock_production.id destination_location_id = production.location_dest_id.id - move_name = _('PROD: %s') + production.name + move_name = _('PROD: %s') + production.name data = { 'name': move_name, 'date': production.date_planned, @@ -983,7 +983,7 @@ class mrp_production(osv.osv): for production in self.browse(cr, uid, ids, context=context): shipment_id = self._make_production_internal_shipment(cr, uid, production, context=context) produce_move_id = self._make_production_produce_line(cr, uid, production, context=context) - + # Take routing location as a Source Location. source_location_id = production.location_src_id.id if production.bom_id.routing_id and production.bom_id.routing_id.location_id: @@ -994,7 +994,7 @@ class mrp_production(osv.osv): shipment_move_id = self._make_production_internal_shipment_line(cr, uid, line, shipment_id, consume_move_id,\ destination_location_id=source_location_id, context=context) self._make_production_line_procurement(cr, uid, line, shipment_move_id, context=context) - + wf_service.trg_validate(uid, 'stock.picking', shipment_id, 'button_confirm', cr) production.write({'state':'confirmed'}, context=context) message = _("Manufacturing order '%s' is scheduled for the %s.") % ( diff --git a/addons/mrp_repair/mrp_repair.py b/addons/mrp_repair/mrp_repair.py index 77b097cddd3..e70ca36651b 100644 --- a/addons/mrp_repair/mrp_repair.py +++ b/addons/mrp_repair/mrp_repair.py @@ -515,7 +515,7 @@ class mrp_repair(osv.osv): 'product_id': move.product_id.id, 'product_qty': move.product_uom_qty, 'product_uom': move.product_uom.id, - 'address_id': repair.address_id and repair.address_id.id or False, + 'partner_id': repair.address_id and repair.address_id.id or False, 'location_id': move.location_id.id, 'location_dest_id': move.location_dest_id.id, 'tracking_id': False, @@ -530,7 +530,7 @@ class mrp_repair(osv.osv): 'origin': repair.name, 'state': 'draft', 'move_type': 'one', - 'address_id': repair.address_id and repair.address_id.id or False, + 'partner_id': repair.address_id and repair.address_id.id or False, 'note': repair.internal_notes, 'invoice_state': 'none', 'type': 'out', @@ -542,7 +542,7 @@ class mrp_repair(osv.osv): 'product_qty': move.product_uom_qty or 1.0, 'product_uom': repair.product_id.uom_id.id, 'prodlot_id': repair.prodlot_id and repair.prodlot_id.id or False, - 'address_id': repair.address_id and repair.address_id.id or False, + 'partner_id': repair.address_id and repair.address_id.id or False, 'location_id': repair.location_id.id, 'location_dest_id': repair.location_dest_id.id, 'tracking_id': False, diff --git a/addons/stock_invoice_directly/test/stock_invoice_directly.yml b/addons/stock_invoice_directly/test/stock_invoice_directly.yml index 7c9626d1644..b0cd831ec8d 100644 --- a/addons/stock_invoice_directly/test/stock_invoice_directly.yml +++ b/addons/stock_invoice_directly/test/stock_invoice_directly.yml @@ -5,7 +5,7 @@ I create an Outgoing Picking order. - !record {model: stock.picking, id: stock_picking_out0}: - address_id: base.res_partner_address_3000 + partner_id: base.res_partner_address_3000 invoice_state: 2binvoiced move_lines: - company_id: base.main_company @@ -55,7 +55,7 @@ !python {model: account.invoice}: | picking_obj = self.pool.get('stock.picking') picking = picking_obj.browse(cr, uid, [ref('stock_picking_out0')]) - partner = picking[0].address_id.id + partner = picking[0].partner_id.id inv_ids = self.search(cr, uid, [('type','=','out_invoice'),('partner_id','=',partner)]) assert inv_ids, 'No Invoice is generated!' diff --git a/addons/stock_location/procurement_pull.py b/addons/stock_location/procurement_pull.py index 0846fe067eb..33168a53e20 100644 --- a/addons/stock_location/procurement_pull.py +++ b/addons/stock_location/procurement_pull.py @@ -1,5 +1,5 @@ ############################################################################## -# +# # OpenERP, Open Source Management Solution # Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>). # @@ -14,7 +14,7 @@ # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. +# along with this program. If not, see <http://www.gnu.org/licenses/>. # ############################################################################## @@ -63,7 +63,7 @@ class procurement_order(osv.osv): 'type': line.picking_type, 'stock_journal_id': line.journal_id and line.journal_id.id or False, 'move_type': 'one', - 'address_id': line.partner_address_id.id, + 'partner_id': line.partner_address_id.id, 'note': _('Picking for pulled procurement coming from original location %s, pull rule %s, via original Procurement %s (#%d)') % (proc.location_id.name, line.name, proc.name, proc.id), 'invoice_state': line.invoice_state, }) @@ -79,7 +79,7 @@ class procurement_order(osv.osv): or proc.product_qty, 'product_uos': (proc.product_uos and proc.product_uos.id)\ or proc.product_uom.id, - 'address_id': line.partner_address_id.id, + 'partner_id': line.partner_address_id.id, 'location_id': line.location_src_id.id, 'location_dest_id': line.location_id.id, 'move_dest_id': proc.move_id and proc.move_id.id or False, # to verif, about history ? diff --git a/addons/stock_location/test/stock_location_push_flow.yml b/addons/stock_location/test/stock_location_push_flow.yml index 3de87afccd1..abca846badc 100644 --- a/addons/stock_location/test/stock_location_push_flow.yml +++ b/addons/stock_location/test/stock_location_push_flow.yml @@ -65,7 +65,7 @@ In order to test pushed flow .I buy the product from Micro Link Technologies supplier. I create a Picking. - !record {model: stock.picking , id: stock_picking_in0}: - address_id: res_partner_address_0 + partner_id: res_partner_address_0 company_id: base.main_company invoice_state: none move_lines: From 102dc538318bd02f348960af2c087722d727a9ec Mon Sep 17 00:00:00 2001 From: "Sbh (Openerp)" <sbh@tinyerp.com> Date: Fri, 30 Mar 2012 13:52:54 +0530 Subject: [PATCH 291/313] [IMP] : rename address_id with parnter_id bzr revid: sbh@tinyerp.com-20120330082254-ohrl90qe5cr0zolw --- addons/delivery/report/shipping.rml | 4 ++-- addons/mrp/test/order_process.yml | 28 ++++++++++++++-------------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/addons/delivery/report/shipping.rml b/addons/delivery/report/shipping.rml index a270d13fbd5..5a3750e64a8 100644 --- a/addons/delivery/report/shipping.rml +++ b/addons/delivery/report/shipping.rml @@ -134,8 +134,8 @@ <para style="terp_default_9">[[ o.sale_id and o.sale_id.partner_invoice_id and display_address(o.sale_id.partner_invoice_id) ]]</para> </td> <td> - <para style="terp_default_9">[[ o.address_id and o.address_id and o.address_id.name or '' ]]</para> - <para style="terp_default_9">[[ o.address_id and o.address_id and display_address(o.address_id) ]]</para> + <para style="terp_default_9">[[ o.partner_id and o.partner_id and o.partner_id.name or '' ]]</para> + <para style="terp_default_9">[[ o.partner_id and o.partner_id and display_address(o.partner_id) ]]</para> </td> </tr> </blockTable> diff --git a/addons/mrp/test/order_process.yml b/addons/mrp/test/order_process.yml index 496e039d0d4..ee78e036d44 100644 --- a/addons/mrp/test/order_process.yml +++ b/addons/mrp/test/order_process.yml @@ -22,8 +22,8 @@ assert line.product_qty == (2.0*factor), "Qty is not correspond." assert line.product_uom.id == ref('product.product_uom_unit'), "UOM is not correspond" sidepanel = True - elif line.product_id.id == ref('product.product_product_woodlintelm0'): #LIN40 4*0.25 Meter - assert not woodlintelm, "Production line is already generated for LIN40." + elif line.product_id.id == ref('product.product_product_woodlintelm0'): #LIN40 4*0.25 Meter + assert not woodlintelm, "Production line is already generated for LIN40." assert line.product_qty == (4*0.25*factor), "Qty is not correspond." assert line.product_uom.id == ref('product.product_uom_meter'), "UOM is not correspond" woodlintelm = True @@ -32,7 +32,7 @@ assert line.product_qty == (0.25*factor), "Qty is not correspond." assert line.product_uom.id == ref('product.product_uom_meter'), "UOM is not correspond" woodmm0 = True - elif line.product_id.id == ref('product.product_product_metalcleats0'): #METC000 4*3 Unit + elif line.product_id.id == ref('product.product_product_metalcleats0'): #METC000 4*3 Unit assert not metalcleats, "Production line is already generated for METC000." assert line.product_qty == (4*3*factor), "Qty is not correspond." assert line.product_uom.id == ref('product.product_uom_unit'), "UOM is not correspond" @@ -107,7 +107,7 @@ routing_loc = None if order.bom_id.routing_id and order.bom_id.routing_id.location_id: routing_loc = order.bom_id.routing_id.location_id.id - date_planned = order.date_planned + date_planned = order.date_planned for move_line in order.move_lines: for order_line in order.product_lines: if move_line.product_id.type not in ('product', 'consu'): @@ -129,18 +129,18 @@ procurement = self.pool.get('procurement.order') order = self.browse(cr, uid, ref("mrp_production_shelf100cm")) assert order.picking_id, 'Internal Shipment should be created!' - + routing_loc = None pick_type = 'internal' - address_id = False + partner_id = False if order.bom_id.routing_id and order.bom_id.routing_id.location_id: routing_loc = order.bom_id.routing_id.location_id if routing_loc.usage <> 'internal': pick_type = 'out' - address_id = routing_loc.address_id and routing_loc.address_id.id or False + partner_id = routing_loc.partner_id and routing_loc.partner_id.id or False routing_loc = routing_loc.id assert order.picking_id.type == pick_type, "Shipment should be Internal." - assert order.picking_id.address_id.id == address_id, "Shipment Address is not correspond with Adderss of Routing Location." + assert order.picking_id.partner_id.id == partner_id, "Shipment Address is not correspond with Adderss of Routing Location." date_planned = order.date_planned for move_line in order.picking_id.move_lines: for order_line in order.product_lines: @@ -167,7 +167,7 @@ assert shipment_procurement.product_uos.id == order_line.product_uos.id, "UOS is not correspond in procurement." assert shipment_procurement.location_id.id == order.location_src_id.id, "Location is not correspond in procurement." assert shipment_procurement.procure_method == order_line.product_id.procure_method, "Procure method is not correspond in procurement." - + - I change production qty with 3 Dozen Shelf 100cm. - @@ -187,7 +187,7 @@ assert order.product_qty == 3, "Qty is not changed in order." move = order.move_created_ids[0] assert move.product_qty == order.product_qty, "Qty is not changed in move line." -- +- I run scheduler. - !python {model: procurement.order}: | @@ -223,7 +223,7 @@ order = self.browse(cr, uid, ref("mrp_production_shelf100cm")) for move in order.move_lines: move.action_consume(move.product_qty) - if move.product_id.id == ref("product.product_product_metalcleats0"): + if move.product_id.id == ref("product.product_product_metalcleats0"): move.action_scrap(5.0, scrap_location_id) - I produce product. @@ -242,8 +242,8 @@ !python {model: mrp.production}: | order = self.browse(cr, uid, ref("mrp_production_shelf100cm")) assert order.state == 'done', "Production order should be closed." -- - I check Total Costs at End of Production. +- + I check Total Costs at End of Production. - !python {model: mrp.production}: | order = self.browse(cr, uid, ref("mrp_production_shelf100cm")) @@ -275,7 +275,7 @@ assert line.journal_id.id == wc.costs_journal_id.id, "Account Journal is not correspond." assert line.product_id.id == wc.product_id.id, "Product is not correspond." assert line.product_uom_id.id == wc.product_id.uom_id.id, "UOM is not correspond." - + - I print a "BOM Structure". - From 0a28fafb755b1338a10934e8110238fde66772bf Mon Sep 17 00:00:00 2001 From: "Sbh (Openerp)" <sbh@tinyerp.com> Date: Fri, 30 Mar 2012 13:57:51 +0530 Subject: [PATCH 292/313] [IMP] : rename address_id with parnter_id bzr revid: sbh@tinyerp.com-20120330082751-3dsfrym5vr1sv2r0 --- addons/point_of_sale/point_of_sale.py | 6 +++--- addons/point_of_sale/wizard/pos_return.py | 18 +++++++++--------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/addons/point_of_sale/point_of_sale.py b/addons/point_of_sale/point_of_sale.py index 4a88ce3cc16..5af78b131b2 100644 --- a/addons/point_of_sale/point_of_sale.py +++ b/addons/point_of_sale/point_of_sale.py @@ -50,7 +50,7 @@ class pos_order(osv.osv): _name = "pos.order" _description = "Point of Sale" _order = "id desc" - + def create_from_ui(self, cr, uid, orders, context=None): #_logger.info("orders: %r", orders) list = [] @@ -205,7 +205,7 @@ class pos_order(osv.osv): addr = order.partner_id and partner_obj.address_get(cr, uid, [order.partner_id.id], ['delivery']) or {} picking_id = picking_obj.create(cr, uid, { 'origin': order.name, - 'address_id': addr.get('delivery',False), + 'partner_id': addr.get('delivery',False), 'type': 'out', 'company_id': order.company_id.id, 'move_type': 'direct', @@ -414,7 +414,7 @@ class pos_order(osv.osv): wf_service.trg_validate(uid, 'pos.order', order.id, 'invoice', cr) if not inv_ids: return {} - + mod_obj = self.pool.get('ir.model.data') res = mod_obj.get_object_reference(cr, uid, 'account', 'invoice_form') res_id = res and res[1] or False diff --git a/addons/point_of_sale/wizard/pos_return.py b/addons/point_of_sale/wizard/pos_return.py index 30b16a717d4..0e5d4e1fbb5 100644 --- a/addons/point_of_sale/wizard/pos_return.py +++ b/addons/point_of_sale/wizard/pos_return.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- ############################################################################## -# +# # OpenERP, Open Source Management Solution # Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>). # @@ -15,7 +15,7 @@ # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. +# along with this program. If not, see <http://www.gnu.org/licenses/>. # ############################################################################## @@ -53,8 +53,8 @@ class pos_return(osv.osv_memory): for order in order_obj.browse(cr, uid, active_ids, context=context): for line in order.lines: result.append({ - 'product_id' : line.product_id.id, - 'quantity' : line.qty, + 'product_id' : line.product_id.id, + 'quantity' : line.qty, 'line_id':line.id }) res.update({'pos_moves_ids': result}) @@ -93,7 +93,7 @@ class pos_return(osv.osv_memory): 'type': 'ir.actions.act_window', } def create_returns2(self, cr, uid, ids, context=None): - + if context is None: context = {} active_id = context.get('active_id', False) @@ -113,7 +113,7 @@ class pos_return(osv.osv_memory): for order_id in order_obj.browse(cr, uid, [active_id], context=context): source_stock_id = property_obj.get(cr, uid, 'property_stock_customer', 'res.partner', context=context).id cr.execute("SELECT s.id FROM stock_location s, stock_warehouse w " - "WHERE w.lot_stock_id=s.id AND w.id=%s ", + "WHERE w.lot_stock_id=s.id AND w.id=%s ", (order_id.shop_id.warehouse_id.id,)) res = cr.fetchone() location_id = res and res[0] or None @@ -121,7 +121,7 @@ class pos_return(osv.osv_memory): 'move_lines': [], 'state':'draft', 'type': 'in', - 'address_id': order_id.partner_id.id, + 'partner_id': order_id.partner_id.id, 'date': date_cur }) new_order = order_obj.copy(cr, uid, order_id.id, {'name': 'Refund %s'%order_id.name, 'lines':[], @@ -268,7 +268,7 @@ class add_product(osv.osv_memory): wf_service = netsvc.LocalService("workflow") self_data = self.browse(cr, uid, ids, context=context)[0] order_obj.add_product(cr, uid, active_ids[0], self_data.product_id.id, self_data.quantity, context=context) - + for order_id in order_obj.browse(cr, uid, active_ids, context=context): stock_dest_id = property_obj.get(cr, uid, 'property_stock_customer', 'res.partner', context=context).id cr.execute("SELECT s.id FROM stock_location s, stock_warehouse w " @@ -287,7 +287,7 @@ class add_product(osv.osv_memory): }) for line in order_id.lines: key= 'return%s' % line.id - if line.id: + if line.id: if data.has_key(key): qty = data[key] lines_obj.write(cr,uid,[line.id], { From 41c3643ea8714b8623549329b7344f7de5b3ae59 Mon Sep 17 00:00:00 2001 From: "Sbh (Openerp)" <sbh@tinyerp.com> Date: Fri, 30 Mar 2012 14:01:06 +0530 Subject: [PATCH 293/313] [IMP] : rename address_id with parnter_id bzr revid: sbh@tinyerp.com-20120330083106-fym82cu48lx7j34s --- addons/mrp_repair/mrp_repair.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/addons/mrp_repair/mrp_repair.py b/addons/mrp_repair/mrp_repair.py index e70ca36651b..4a0085e3db9 100644 --- a/addons/mrp_repair/mrp_repair.py +++ b/addons/mrp_repair/mrp_repair.py @@ -229,12 +229,12 @@ class mrp_repair(osv.osv): data['value']['guarantee_limit'] = limit.strftime('%Y-%m-%d') data['value']['location_id'] = move.location_dest_id.id data['value']['location_dest_id'] = move.location_dest_id.id - if move.address_id: - data['value']['partner_id'] = move.address_id and move.address_id.id + if move.partner_id: + data['value']['partner_id'] = move.partner_id and move.partner_id.id else: data['value']['partner_id'] = False - data['value']['address_id'] = move.address_id and move.address_id.id - d = self.onchange_partner_id(cr, uid, ids, data['value']['partner_id'], data['value']['address_id']) + data['value']['partner_id'] = move.partner_id and move.partner_id.id + d = self.onchange_partner_id(cr, uid, ids, data['value']['partner_id'], data['value']['partner_id']) data['value'].update(d['value']) return data From b2e6ba941706c93fab3a47f0982ef38c14ef306e Mon Sep 17 00:00:00 2001 From: "Sbh (Openerp)" <sbh@tinyerp.com> Date: Fri, 30 Mar 2012 14:19:51 +0530 Subject: [PATCH 294/313] [IMP] : rename address_id with parnter_id bzr revid: sbh@tinyerp.com-20120330084951-2wwcl6w6fybo6gnu --- addons/stock_location/test/stock_location_push_flow.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/addons/stock_location/test/stock_location_push_flow.yml b/addons/stock_location/test/stock_location_push_flow.yml index abca846badc..efd2daaf272 100644 --- a/addons/stock_location/test/stock_location_push_flow.yml +++ b/addons/stock_location/test/stock_location_push_flow.yml @@ -105,13 +105,12 @@ - !python {model: stock.picking }: | import time - picking_id = self.search(cr, uid, [('address_id.parent_id','=',ref('res_partner_microlinktechnologies0')),('type','=','in')]) + picking_id = self.search(cr, uid, [('partner_id','=',ref('res_partner_microlinktechnologies0')),('type','=','in')]) if picking_id: pick=self.browse(cr,uid,picking_id[0]) move =pick.move_lines[0] partial_datas = { - 'partner_id':pick.address_id.parent_id.id, - 'address_id': pick.address_id.id, + 'partner_id':pick.partner_id, 'delivery_date' : time.strftime('%Y-%m-%d'), } partial_datas['move%s'%(move.id)]= { From ffd0c86ec2cfc8f6266df01016f40f3dc5f2f670 Mon Sep 17 00:00:00 2001 From: "Quentin (OpenERP)" <qdp-launchpad@openerp.com> Date: Fri, 30 Mar 2012 11:08:37 +0200 Subject: [PATCH 295/313] [FIX] a lot of fixes in several modules, as the result of the code review of the merge of the objects res.partner and res.partner.address bzr revid: qdp-launchpad@openerp.com-20120330090837-s87z2qzsvynhlbwr --- addons/account/account.py | 2 +- addons/account/account_invoice_view.xml | 4 +- addons/account/account_pre_install.yml | 2 +- addons/account/partner_view.xml | 2 +- .../account/report/account_print_invoice.rml | 8 +- .../report/report_account_invoice_layout.rml | 8 +- .../report/special_message_invoice.rml | 6 +- addons/account_payment/account_payment.py | 73 ++++--------------- addons/analytic/analytic.py | 13 ---- addons/audittrail/audittrail.py | 2 +- .../base_calendar_invite_attendee_view.xml | 2 +- addons/crm/crm_lead.py | 21 +----- addons/crm/crm_lead_view.xml | 4 +- addons/crm/crm_phonecall.py | 10 --- addons/crm/crm_phonecall_view.xml | 1 - addons/crm/res_partner.py | 10 +-- addons/crm/test/ui/crm_demo.yml | 2 +- addons/crm/wizard/crm_phonecall_to_partner.py | 7 +- addons/edi/models/res_company.py | 1 - addons/edi/models/res_partner.py | 2 +- addons/event/event.py | 3 +- addons/event/event_view.xml | 2 +- addons/hr_expense/hr_expense.py | 2 - addons/l10n_ch/report/bvr.mako | 2 +- addons/l10n_ch/report/report_webkit_html.mako | 2 +- .../report/report_webkit_html_view.xml | 2 +- addons/point_of_sale/report/pos_receipt.py | 2 +- addons/purchase/edi/purchase_order.py | 10 +-- addons/purchase/purchase.py | 3 +- addons/purchase/purchase_demo.xml | 2 +- addons/purchase/purchase_view.xml | 23 ------ addons/purchase/report/order.rml | 6 +- addons/purchase/report/request_quotation.rml | 10 +-- addons/purchase/security/ir.model.access.csv | 1 - .../report/purchase_requisition.rml | 2 +- addons/report_intrastat/report/invoice.rml | 10 +-- addons/sale/edi/sale_order.py | 10 +-- addons/sale/report/sale_order.rml | 6 +- .../sale_layout/report/report_sale_layout.rml | 10 +-- addons/stock/stock.py | 6 +- .../survey/wizard/survey_send_invitation.py | 6 +- addons/warning/warning.py | 2 +- 42 files changed, 94 insertions(+), 208 deletions(-) diff --git a/addons/account/account.py b/addons/account/account.py index d902d2cb482..75bfc891980 100644 --- a/addons/account/account.py +++ b/addons/account/account.py @@ -2100,7 +2100,7 @@ class account_tax(osv.osv): "Deprecated, use compute_all(...)['taxes'] instead of compute(...) to manage prices with tax included") return self._compute(cr, uid, taxes, price_unit, quantity, product, partner) - def _compute(self, cr, uid, taxes, price_unit, quantity,product=None, partner=None): + def _compute(self, cr, uid, taxes, price_unit, quantity, product=None, partner=None): """ Compute tax values for given PRICE_UNIT, QUANTITY and a buyer/seller ADDRESS_ID. diff --git a/addons/account/account_invoice_view.xml b/addons/account/account_invoice_view.xml index 406fd56ee31..6d499b4d3ad 100644 --- a/addons/account/account_invoice_view.xml +++ b/addons/account/account_invoice_view.xml @@ -152,7 +152,7 @@ <field name="currency_id" width="50"/> <button name="%(action_account_change_currency)d" type="action" icon="terp-stock_effects-object-colorize" string="Change" attrs="{'invisible':[('state','!=','draft')]}" groups="account.group_account_user"/> <newline/> - <field string="Supplier Name" name="partner_id" on_change="onchange_partner_id(type,partner_id,date_invoice,payment_term, partner_bank_id,company_id)" context="{'default_customer': 0, 'search_default_supplier': 1, 'default_supplier': 1}" options='{"quick_create": false}' domain="[('supplier', '=', True)]"/> + <field string="Supplier" name="partner_id" on_change="onchange_partner_id(type,partner_id,date_invoice,payment_term, partner_bank_id,company_id)" context="{'default_customer': 0, 'search_default_supplier': 1, 'default_supplier': 1}" options='{"quick_create": false}' domain="[('supplier', '=', True)]"/> <field name="fiscal_position" groups="base.group_extended" widget="selection"/> <newline/> <field name="date_invoice"/> @@ -260,7 +260,7 @@ <field name="currency_id" width="50"/> <button name="%(action_account_change_currency)d" type="action" icon="terp-stock_effects-object-colorize" string="Change" attrs="{'invisible':[('state','!=','draft')]}" groups="account.group_account_user"/> <newline/> - <field string="Customer Name" name="partner_id" on_change="onchange_partner_id(type,partner_id,date_invoice,payment_term, partner_bank_id,company_id)" groups="base.group_user" context="{'search_default_customer': 1}" options='{"quick_create": false}' domain="[('customer', '=', True)]"/> + <field string="Customer" name="partner_id" on_change="onchange_partner_id(type,partner_id,date_invoice,payment_term, partner_bank_id,company_id)" groups="base.group_user" context="{'search_default_customer': 1}" options='{"quick_create": false}' domain="[('customer', '=', True)]"/> <field name="fiscal_position" groups="base.group_extended" widget="selection" options='{"quick_create": false}'/> <newline/> <field name="date_invoice"/> diff --git a/addons/account/account_pre_install.yml b/addons/account/account_pre_install.yml index 744a8c4bc99..e295989e698 100644 --- a/addons/account/account_pre_install.yml +++ b/addons/account/account_pre_install.yml @@ -8,7 +8,7 @@ part = self.pool.get('res.partner').browse(cr, uid, ref('base.main_partner')) # if we know the country and the wizard has not yet been executed, we do it if (part.country_id.id) and (wiz.state=='open'): - mod = 'l10n_'+part.country_id.co7de.lower() + mod = 'l10n_'+part.country_id.code.lower() ids = modules.search(cr, uid, [ ('name','=',mod) ], context=context) if ids: wizards.write(cr, uid, [ref('account.account_configuration_installer_todo')], { diff --git a/addons/account/partner_view.xml b/addons/account/partner_view.xml index a7dc94c69f5..c97024977ed 100644 --- a/addons/account/partner_view.xml +++ b/addons/account/partner_view.xml @@ -96,7 +96,7 @@ <separator string="Supplier Debit" colspan="2"/> <field name="debit"/> </group> - <field colspan="4" name="bank_ids" nolabel="1"> + <field colspan="4" name="bank_ids" nolabel="1"> <form string="Bank account"> <field name="state"/> <newline/> diff --git a/addons/account/report/account_print_invoice.rml b/addons/account/report/account_print_invoice.rml index fc6fc3f1898..bb142587de0 100644 --- a/addons/account/report/account_print_invoice.rml +++ b/addons/account/report/account_print_invoice.rml @@ -166,9 +166,9 @@ <para style="terp_default_8"> <font color="white"> </font> </para> - <para style="terp_default_8">Tel. : [[ (o.partner_id and o.partner_id.phone) or removeParentNode('para') ]]</para> - <para style="terp_default_8">Fax : [[ (o.partner_id and o.partner_id.fax) or removeParentNode('para') ]]</para> - <para style="terp_default_8">VAT : [[ (o.partner_id and o.partner_id.vat) or removeParentNode('para') ]]</para> + <para style="terp_default_8">Tel. : [[ (o.partner_id.phone) or removeParentNode('para') ]]</para> + <para style="terp_default_8">Fax : [[ (o.partner_id.fax) or removeParentNode('para') ]]</para> + <para style="terp_default_8">VAT : [[ (o.partner_id.vat) or removeParentNode('para') ]]</para> </td> </tr> </blockTable> @@ -210,7 +210,7 @@ <para style="terp_default_Centre_9">[[ o.origin or '' ]]</para> </td> <td> - <para style="terp_default_Centre_9">[[ (o.partner_id and o.partner_id.ref) or ' ' ]]</para> + <para style="terp_default_Centre_9">[[ (o.partner_id.ref) or ' ' ]]</para> </td> </tr> </blockTable> diff --git a/addons/account_invoice_layout/report/report_account_invoice_layout.rml b/addons/account_invoice_layout/report/report_account_invoice_layout.rml index 6a9de4f7f41..eec4b974e2b 100644 --- a/addons/account_invoice_layout/report/report_account_invoice_layout.rml +++ b/addons/account_invoice_layout/report/report_account_invoice_layout.rml @@ -197,9 +197,9 @@ <para style="terp_default_8"> <font color="white"> </font> </para> - <para style="terp_default_8">Tel. : [[ (o.partner_id and o.partner_id.phone) or removeParentNode('para') ]]</para> - <para style="terp_default_8">Fax : [[ (o.partner_id and o.partner_id.fax) or removeParentNode('para') ]]</para> - <para style="terp_default_8">VAT : [[ (o.partner_id and o.partner_id.vat) or removeParentNode('para') ]]</para> + <para style="terp_default_8">Tel. : [[ (o.partner_id.phone) or removeParentNode('para') ]]</para> + <para style="terp_default_8">Fax : [[ (o.partner_id.fax) or removeParentNode('para') ]]</para> + <para style="terp_default_8">VAT : [[ (o.partner_id.vat) or removeParentNode('para') ]]</para> </td> </tr> </blockTable> @@ -247,7 +247,7 @@ <para style="terp_default_Centre_9">[[ o.name or '' ]]</para> </td> <td> - <para style="terp_default_Centre_9">[[ (o.partner_id and o.partner_id.ref) or ' ' ]]</para> + <para style="terp_default_Centre_9">[[ (o.partner_id.ref) or ' ' ]]</para> </td> </tr> </blockTable> diff --git a/addons/account_invoice_layout/report/special_message_invoice.rml b/addons/account_invoice_layout/report/special_message_invoice.rml index bd3eb175dd0..97a7f131df6 100644 --- a/addons/account_invoice_layout/report/special_message_invoice.rml +++ b/addons/account_invoice_layout/report/special_message_invoice.rml @@ -201,8 +201,8 @@ <para style="terp_default_8"> <font color="white"> </font> </para> - <para style="terp_default_8">Tel. : [[ (o.partner_id and o.partner_id.phone) or removeParentNode('para') ]]</para> - <para style="terp_default_8">Fax : [[ (o.partner_id and o.partner_id.fax) or removeParentNode('para') ]]</para> + <para style="terp_default_8">Tel. : [[ (o.partner_id.phone) or removeParentNode('para') ]]</para> + <para style="terp_default_8">Fax : [[ (o.partner_id.fax) or removeParentNode('para') ]]</para> <para style="terp_default_8">VAT : [[ (o.partner_id and o.partner_id.vat) or removeParentNode('para') ]]</para> </td> </tr> @@ -251,7 +251,7 @@ <para style="terp_default_Centre_9">[[ o.name or '' ]]</para> </td> <td> - <para style="terp_default_Centre_9">[[ ( o.partner_id and o.partner_id.ref) or ' ' ]]</para> + <para style="terp_default_Centre_9">[[ ( o.partner_id.ref) or ' ' ]]</para> </td> </tr> </blockTable> diff --git a/addons/account_payment/account_payment.py b/addons/account_payment/account_payment.py index cc645dc87ad..166f0b0c6e7 100644 --- a/addons/account_payment/account_payment.py +++ b/addons/account_payment/account_payment.py @@ -183,56 +183,30 @@ class payment_line(osv.osv): "reference": "ref"}.get(orig, orig) def info_owner(self, cr, uid, ids, name=None, args=None, context=None): - if not ids: return {} - partner_zip_obj = self.pool.get('res.partner.zip') - result = {} - info='' for line in self.browse(cr, uid, ids, context=context): owner = line.order_id.mode.bank_id.partner_id - result[line.id] = False - if owner: - if owner.type == 'default': - st = owner.street and owner.street or '' - st1 = owner.street2 and owner.street2 or '' - if 'zip_id' in owner: - zip_city = owner.zip_id and partner_zip_obj.name_get(cr, uid, [owner.zip_id.id])[0][1] or '' - else: - zip = owner.zip and owner.zip or '' - city = owner.city and owner.city or '' - zip_city = zip + ' ' + city - cntry = owner.country_id and owner.country_id.name or '' - info = owner.name + "\n" + st + " " + st1 + "\n" + zip_city + "\n" +cntry - result[line.id] = info - break + result[line.id] = self._get_info_partner(cr, uid, owner, context=context) return result - def info_partner(self, cr, uid, ids, name=None, args=None, context=None): - if not ids: return {} - partner_zip_obj = self.pool.get('res.partner.zip') - result = {} - info = '' + def _get_info_partner(cr, uid, partner_record, context=None): + if not partner_record: + return False + st = partner_record.street or '' + st1 = partner_record.street2 or '' + zip = partner_record.zip or '' + city = partner_record.city or '' + zip_city = zip + ' ' + city + cntry = partner_record.country_id and partner_record.country_id.name or '' + return partner_record.name + "\n" + st + " " + st1 + "\n" + zip_city + "\n" +cntry + def info_partner(self, cr, uid, ids, name=None, args=None, context=None): + result = {} for line in self.browse(cr, uid, ids, context=context): result[line.id] = False if not line.partner_id: break - partner = line.partner_id.name or '' - if line.partner_id: - #for ads in line.partner_id: - if line.partner_id.type == 'default': - st = line.partner_id.street and line.partner_id.street or '' - st1 = line.partner_id.street2 and line.partner_id.street2 or '' - if 'zip_id' in line.partner_id: - zip_city = line.partner_id.zip_id and partner_zip_obj.name_get(cr, uid, [line.partner_id.zip_id.id])[0][1] or '' - else: - zip = line.partner_id.zip and line.partner_id.zip or '' - city = line.partner_id.city and line.partner_id.city or '' - zip_city = zip + ' ' + city - cntry = line.partner_id.country_id and line.partner_id.country_id.name or '' - info = partner + "\n" + st + " " + st1 + "\n" + zip_city + "\n" +cntry - result[line.id] = info - break + result[line.id] = self._get_info_partner(cr, uid, line.partner_id, context=context) return result #dead code @@ -419,7 +393,6 @@ class payment_line(osv.osv): def onchange_partner(self, cr, uid, ids, partner_id, payment_type, context=None): data = {} - partner_zip_obj = self.pool.get('res.partner.zip') partner_obj = self.pool.get('res.partner') payment_mode_obj = self.pool.get('payment.mode') data['info_partner'] = data['bank_id'] = False @@ -427,23 +400,7 @@ class payment_line(osv.osv): if partner_id: part_obj = partner_obj.browse(cr, uid, partner_id, context=context) partner = part_obj.name or '' - if part_obj: - #for ads in part_obj.address: - if part_obj.type == 'default': - st = part_obj.street and part_obj.street or '' - st1 = part_obj.street2 and part_obj.street2 or '' - - if 'zip_id' in part_obj: - zip_city = part_obj.zip_id and partner_zip_obj.name_get(cr, uid, [part_obj.zip_id.id])[0][1] or '' - else: - zip = part_obj.zip and part_obj.zip or '' - city = part_obj.city and part_obj.city or '' - zip_city = zip + ' ' + city - - cntry = part_obj.country_id and part_obj.country_id.name or '' - info = partner + "\n" + st + " " + st1 + "\n" + zip_city + "\n" +cntry - - data['info_partner'] = info + data['info_partner'] = self._get_info_partner(cr, uid, part_obj, context=context) if part_obj.bank_ids and payment_type: bank_type = payment_mode_obj.suitable_bank_types(cr, uid, payment_type, context=context) diff --git a/addons/analytic/analytic.py b/addons/analytic/analytic.py index 8f988bea148..6e800247cb5 100644 --- a/addons/analytic/analytic.py +++ b/addons/analytic/analytic.py @@ -217,12 +217,6 @@ class account_analytic_account(osv.osv): default['line_ids'] = [] return super(account_analytic_account, self).copy(cr, uid, id, default, context=context) - def on_change_partner_id(self, cr, uid, id, partner_id, context={}): - if not partner_id: - return {'value': {'partner_id': False}} - addr = self.pool.get('res.partner').address_get(cr, uid, [partner_id], ['invoice']) - return {'value': {'partner_id': addr.get('invoice', False)}} - def on_change_company(self, cr, uid, id, company_id): if not company_id: return {} @@ -242,13 +236,6 @@ class account_analytic_account(osv.osv): res['value']['partner_id'] = partner return res - def onchange_partner_id(self, cr, uid, ids, partner, context=None): - partner_obj = self.pool.get('res.partner') - if not partner: - return {'value':{'partner_id': False}} - address = partner_obj.address_get(cr, uid, [partner], ['contact']) - return {'value':{'partner_id': address['contact']}} - def name_search(self, cr, uid, name, args=None, operator='ilike', context=None, limit=100): if not args: args=[] diff --git a/addons/audittrail/audittrail.py b/addons/audittrail/audittrail.py index 097367ce43f..78a180e8d4d 100644 --- a/addons/audittrail/audittrail.py +++ b/addons/audittrail/audittrail.py @@ -375,7 +375,7 @@ class audittrail_objects_proxy(object_proxy): } The reason why the structure returned is build as above is because when modifying an existing - record (res.partner, for example), we may have to log a change done in a x2many field + record, we may have to log a change done in a x2many field of that object """ key = (model.id, resource_id) lines = { diff --git a/addons/base_calendar/wizard/base_calendar_invite_attendee_view.xml b/addons/base_calendar/wizard/base_calendar_invite_attendee_view.xml index 0f9d288d5c2..ea0d444ce54 100644 --- a/addons/base_calendar/wizard/base_calendar_invite_attendee_view.xml +++ b/addons/base_calendar/wizard/base_calendar_invite_attendee_view.xml @@ -27,7 +27,7 @@ <field name="partner_id" colspan="2" on_change="onchange_partner_id(partner_id)" attrs="{'required': [('type', '=', 'partner')]}"/> <newline/> <separator string="Partner Contacts" colspan="6"/> - <field name="contact_ids" select="1" colspan="4" nolabel="1" attrs="{'readonly': [('type', '!=', 'partner')]}"/> + <field name="contact_ids" select="1" colspan="4" nolabel="1" domain="[('id', 'child_of', [partner_id])]" attrs="{'readonly': [('type', '!=', 'partner')]}"/> </group> </page> </notebook> diff --git a/addons/crm/crm_lead.py b/addons/crm/crm_lead.py index c0a7d297e6c..2b319e565da 100644 --- a/addons/crm/crm_lead.py +++ b/addons/crm/crm_lead.py @@ -60,13 +60,6 @@ class crm_lead(crm_case, osv.osv): 'stage_id': _read_group_stage_ids } - # especially if base_contact is installed. - def name_get(self, cr, user, ids, context=None): - if isinstance(ids, (int, long)): - ids = [ids] - return [(r['id'], tools.ustr(r[self._rec_name])) - for r in self.read(cr, user, ids, [self._rec_name], context)] - def _compute_day(self, cr, uid, ids, fields, args, context=None): """ @param cr: the current row, from the database cursor, @@ -170,7 +163,7 @@ class crm_lead(crm_case, osv.osv): 'contact_name': fields.char('Contact Name', size=64), 'partner_name': fields.char("Customer Name", size=64,help='The name of the future partner company that will be created while converting the lead into opportunity', select=1), 'optin': fields.boolean('Opt-In', help="If opt-in is checked, this contact has accepted to receive emails."), - 'opt_out': fields.boolean('Opt-Out', help="If opt-out is checked, this contact has refused to receive emails or unsubscribed to a campaign."), + 'optout': fields.boolean('Opt-Out', help="If opt-out is checked, this contact has refused to receive emails or unsubscribed to a campaign."), 'type':fields.selection([ ('lead','Lead'), ('opportunity','Opportunity'), ],'Type', help="Type is used to separate Leads and Opportunities"), 'priority': fields.selection(crm.AVAILABLE_PRIORITIES, 'Priority', select=True), 'date_closed': fields.datetime('Closed', readonly=True), @@ -222,19 +215,11 @@ class crm_lead(crm_case, osv.osv): 'color': 0, } - def onchange_partner_address_id(self, cr, uid, ids, add, email=False): - """This function returns value of partner email based on Partner Address - """ - if not add: - return {'value': {'email_from': False, 'country_id': False}} - address = self.pool.get('res.partner').browse(cr, uid, add) - return {'value': {'email_from': address.email, 'phone': address.phone, 'country_id': address.country_id.id}} - def on_change_optin(self, cr, uid, ids, optin): - return {'value':{'optin':optin,'opt_out':False}} + return {'value':{'optin':optin,'optout':False}} def on_change_optout(self, cr, uid, ids, optout): - return {'value':{'opt_out':optout,'optin':False}} + return {'value':{'optout':optout,'optin':False}} def onchange_stage_id(self, cr, uid, ids, stage_id, context={}): if not stage_id: diff --git a/addons/crm/crm_lead_view.xml b/addons/crm/crm_lead_view.xml index 4a0cba021a0..0d8c560aaaf 100644 --- a/addons/crm/crm_lead_view.xml +++ b/addons/crm/crm_lead_view.xml @@ -186,7 +186,7 @@ <group colspan="2" col="2"> <separator string="Mailings" colspan="2" col="2"/> <field name="optin" on_change="on_change_optin(optin)"/> - <field name="opt_out" on_change="on_change_optout(opt_out)"/> + <field name="optout" on_change="on_change_optout(optout)"/> </group> <group colspan="2" col="2" groups="base.group_no_one"> <separator string="Statistics" colspan="2" col="2"/> @@ -539,7 +539,7 @@ <group colspan="2" col="2"> <separator string="Mailings" colspan="2"/> <field name="optin" on_change="on_change_optin(optin)"/> - <field name="opt_out" on_change="on_change_optout(opt_out)"/> + <field name="optout" on_change="on_change_optout(optout)"/> </group> </page> <page string="Communication & History" groups="base.group_extended"> diff --git a/addons/crm/crm_phonecall.py b/addons/crm/crm_phonecall.py index a5a4c0862bf..c6a59d9aace 100644 --- a/addons/crm/crm_phonecall.py +++ b/addons/crm/crm_phonecall.py @@ -86,16 +86,6 @@ class crm_phonecall(crm_base, osv.osv): 'active': 1, } - # From crm.case - def onchange_partner_address_id(self, cr, uid, ids, add, email=False): - res = super(crm_phonecall, self).onchange_partner_address_id(cr, uid, ids, add, email) - res.setdefault('value', {}) - if add: - address = self.pool.get('res.partner').browse(cr, uid, add) - res['value']['partner_phone'] = address.phone - res['value']['partner_mobile'] = address.mobile - return res - def case_close(self, cr, uid, ids, *args): """Overrides close for crm_case for setting close date """ diff --git a/addons/crm/crm_phonecall_view.xml b/addons/crm/crm_phonecall_view.xml index 5b2b6ebe2f3..74a6a7ec6aa 100644 --- a/addons/crm/crm_phonecall_view.xml +++ b/addons/crm/crm_phonecall_view.xml @@ -137,7 +137,6 @@ <field name="partner_id" on_change="onchange_partner_id(partner_id)" string="Partner" /> - <field name="partner_phone" invisible="1"/> <field name="user_id" groups="base.group_extended"/> diff --git a/addons/crm/res_partner.py b/addons/crm/res_partner.py index 62cd977a428..3d43bc76022 100644 --- a/addons/crm/res_partner.py +++ b/addons/crm/res_partner.py @@ -50,16 +50,14 @@ class res_partner(osv.osv): return value def make_opportunity(self, cr, uid, ids, opportunity_summary, planned_revenue=0.0, probability=0.0, partner_id=None, context=None): - categ = self.pool.get('crm.case.categ') - address = self.address_get(cr, uid, ids) - categ_ids = categ.search(cr, uid, [('object_id.model','=','crm.lead')]) - lead = self.pool.get('crm.lead') + categ_obj = self.pool.get('crm.case.categ') + categ_ids = categ_obj.search(cr, uid, [('object_id.model','=','crm.lead')]) + lead_obj = self.pool.get('crm.lead') opportunity_ids = {} for partner in self.browse(cr, uid, ids, context=context): - address = self.address_get(cr, uid, [partner.id])['default'] if not partner_id: partner_id = partner.id - opportunity_id = lead.create(cr, uid, { + opportunity_id = lead_obj.create(cr, uid, { 'name' : opportunity_summary, 'planned_revenue' : planned_revenue, 'probability' : probability, diff --git a/addons/crm/test/ui/crm_demo.yml b/addons/crm/test/ui/crm_demo.yml index a949fecae03..5ef40838466 100644 --- a/addons/crm/test/ui/crm_demo.yml +++ b/addons/crm/test/ui/crm_demo.yml @@ -15,7 +15,7 @@ name: 'Need 20 Days of Consultancy' type: opportunity state: draft - opt_out: True + optout: True - I create phonecall record to call partner onchange method. - diff --git a/addons/crm/wizard/crm_phonecall_to_partner.py b/addons/crm/wizard/crm_phonecall_to_partner.py index 0263bfe3b53..422af02f99d 100644 --- a/addons/crm/wizard/crm_phonecall_to_partner.py +++ b/addons/crm/wizard/crm_phonecall_to_partner.py @@ -43,11 +43,8 @@ class crm_phonecall2partner(osv.osv_memory): partner_id = False for phonecall in phonecall_obj.browse(cr, uid, rec_ids, context=context): partner_ids = partner_obj.search(cr, uid, [('name', '=', phonecall.name or phonecall.name)]) - if not partner_ids and phonecall.email_from: - address_ids = partner_obj.search(cr, uid, ['|', ('phone', '=', phonecall.partner_phone), ('mobile','=',phonecall.partner_mobile)]) - if address_ids: - addresses = partner_ids.browse(cr, uid, address_ids) - partner_ids = addresses and [addresses[0].parent_id.id] or False + if not partner_ids and (phonecall.partner_phone or phonecall.partner_mobile): + partner_ids = partner_obj.search(cr, uid, ['|', ('phone', '=', phonecall.partner_phone), ('mobile','=',phonecall.partner_mobile)]) partner_id = partner_ids and partner_ids[0] or False return partner_id diff --git a/addons/edi/models/res_company.py b/addons/edi/models/res_company.py index 7e7b2ea4f92..0ab6607cdad 100644 --- a/addons/edi/models/res_company.py +++ b/addons/edi/models/res_company.py @@ -37,7 +37,6 @@ class res_company(osv.osv): an empty dict if no address can be found """ res_partner = self.pool.get('res.partner') -# res_partner_address = self.pool.get('res.partner.address') addresses = res_partner.address_get(cr, uid, [company.partner_id.id], ['default', 'contact', 'invoice']) addr_id = addresses['invoice'] or addresses['contact'] or addresses['default'] result = {} diff --git a/addons/edi/models/res_partner.py b/addons/edi/models/res_partner.py index f5f728765de..357fdec061b 100644 --- a/addons/edi/models/res_partner.py +++ b/addons/edi/models/res_partner.py @@ -76,7 +76,7 @@ class res_partner(osv.osv, EDIMixin): if edi_bank_ids: contact = self.browse(cr, uid, contact_id, context=context) import_ctx = dict((context or {}), - default_partner_id=contact.id, + default_partner_id = contact.id, default_state=self._get_bank_type(cr, uid, context)) for ext_bank_id, bank_name in edi_bank_ids: try: diff --git a/addons/event/event.py b/addons/event/event.py index f4e72c36790..6bf1ea24786 100644 --- a/addons/event/event.py +++ b/addons/event/event.py @@ -261,7 +261,6 @@ class event_registration(osv.osv): 'nb_register': fields.integer('Number of Participants', required=True, readonly=True, states={'draft': [('readonly', False)]}), 'event_id': fields.many2one('event.event', 'Event', required=True, readonly=True, states={'draft': [('readonly', False)]}), 'partner_id': fields.many2one('res.partner', 'Partner', states={'done': [('readonly', True)]}), - 'create_date': fields.datetime('Creation Date' , readonly=True), 'date_closed': fields.datetime('Attended Date', readonly=True), 'date_open': fields.datetime('Registration Date', readonly=True), @@ -282,6 +281,8 @@ class event_registration(osv.osv): 'nb_register': 1, 'state': 'draft', } + _order = 'name, create_date desc' + def do_draft(self, cr, uid, ids, context=None): return self.write(cr, uid, ids, {'state': 'draft'}, context=context) diff --git a/addons/event/event_view.xml b/addons/event/event_view.xml index cfccb7c6a60..0825cef42c5 100644 --- a/addons/event/event_view.xml +++ b/addons/event/event_view.xml @@ -448,7 +448,7 @@ <separator orientation="vertical"/> <field name="event_id" widget="selection"/> <field name="name" string="Participant" - filter_domain="['|','|','|', ('name','ilike',self), ('partner_id','ilike',self), ('email','ilike',self)]"/> + filter_domain="['|','|', ('name','ilike',self), ('partner_id','ilike',self), ('email','ilike',self)]"/> <field name="user_id" groups="base.group_extended"> <filter icon="terp-personal" string="My Registrations" diff --git a/addons/hr_expense/hr_expense.py b/addons/hr_expense/hr_expense.py index 93327979bdb..6e7db83bbb7 100644 --- a/addons/hr_expense/hr_expense.py +++ b/addons/hr_expense/hr_expense.py @@ -183,8 +183,6 @@ class hr_expense_expense(osv.osv): })) if not exp.employee_id.address_home_id: raise osv.except_osv(_('Error !'), _('The employee must have a Home address.')) - if not exp.employee_id.address_home_id: - raise osv.except_osv(_('Error !'), _("The employee's home address must have a partner linked.")) acc = exp.employee_id.address_home_id.property_account_payable.id payment_term_id = exp.employee_id.address_home_id.property_payment_term.id inv = { diff --git a/addons/l10n_ch/report/bvr.mako b/addons/l10n_ch/report/bvr.mako index d97e4835cbc..96d94bedc6e 100644 --- a/addons/l10n_ch/report/bvr.mako +++ b/addons/l10n_ch/report/bvr.mako @@ -150,4 +150,4 @@ </table> %endfor </body> -</html> +</html> \ No newline at end of file diff --git a/addons/l10n_ch/report/report_webkit_html.mako b/addons/l10n_ch/report/report_webkit_html.mako index 79f218c3d0c..369799c0d44 100644 --- a/addons/l10n_ch/report/report_webkit_html.mako +++ b/addons/l10n_ch/report/report_webkit_html.mako @@ -81,4 +81,4 @@ </div> %endfor </body> -</html> +</html> \ No newline at end of file diff --git a/addons/l10n_ch/report/report_webkit_html_view.xml b/addons/l10n_ch/report/report_webkit_html_view.xml index 605aa9963d4..19f73715f98 100644 --- a/addons/l10n_ch/report/report_webkit_html_view.xml +++ b/addons/l10n_ch/report/report_webkit_html_view.xml @@ -161,4 +161,4 @@ width:50%; <field name="webkit_header" ref="ir_header_webkit_bvr_invoice0" /> </record> </data> -</openerp> +</openerp> \ No newline at end of file diff --git a/addons/point_of_sale/report/pos_receipt.py b/addons/point_of_sale/report/pos_receipt.py index bdbc5560537..93604e755e0 100644 --- a/addons/point_of_sale/report/pos_receipt.py +++ b/addons/point_of_sale/report/pos_receipt.py @@ -42,7 +42,7 @@ class order(report_sxw.rml_parse): 'disc': self.discount, 'net': self.netamount, 'get_journal_amt': self._get_journal_amt, - 'address': partner or False, + 'address': partner or False, 'titlize': titlize }) diff --git a/addons/purchase/edi/purchase_order.py b/addons/purchase/edi/purchase_order.py index e899ba65563..2e89081e6bb 100644 --- a/addons/purchase/edi/purchase_order.py +++ b/addons/purchase/edi/purchase_order.py @@ -65,7 +65,7 @@ class purchase_order(osv.osv, EDIMixin): """Exports a purchase order""" edi_struct = dict(edi_struct or PURCHASE_ORDER_EDI_STRUCT) res_company = self.pool.get('res.company') - res_partner_address = self.pool.get('res.partner') + res_partner_obj = self.pool.get('res.partner') edi_doc_list = [] for order in records: # generate the main report @@ -79,7 +79,7 @@ class purchase_order(osv.osv, EDIMixin): '__import_module': 'sale', 'company_address': res_company.edi_export_address(cr, uid, order.company_id, context=context), - 'partner_address': res_partner_address.edi_export(cr, uid, [order.partner_id], context=context)[0], + 'partner_address': res_partner_obj.edi_export(cr, uid, [order.partner_id], context=context)[0], 'currency': self.pool.get('res.currency').edi_export(cr, uid, [order.pricelist_id.currency_id], context=context)[0], }) @@ -95,15 +95,15 @@ class purchase_order(osv.osv, EDIMixin): # the desired company among the user's allowed companies self._edi_requires_attributes(('company_id','company_address'), edi_document) - res_partner_address = self.pool.get('res.partner') - res_partner = self.pool.get('res.partner') + res_partner_obj = self.pool.get('res.partner') + # imported company_address = new partner address src_company_id, src_company_name = edi_document.pop('company_id') address_info = edi_document.pop('company_address') address_info['customer'] = True if 'name' not in address_info: address_info['name'] = src_company_name - address_id = res_partner_address.edi_import(cr, uid, address_info, context=context) + address_id = res_partner_obj.edi_import(cr, uid, address_info, context=context) # modify edi_document to refer to new partner/address partner_address = res_partner_address.browse(cr, uid, address_id, context=context) diff --git a/addons/purchase/purchase.py b/addons/purchase/purchase.py index db1c6ff5cfb..79d71f2c2cc 100644 --- a/addons/purchase/purchase.py +++ b/addons/purchase/purchase.py @@ -161,7 +161,7 @@ class purchase_order(osv.osv): 'date_order':fields.date('Order Date', required=True, states={'confirmed':[('readonly',True)], 'approved':[('readonly',True)]}, select=True, help="Date on which this document has been created."), 'date_approve':fields.date('Date Approved', readonly=1, select=True, help="Date on which purchase order has been approved"), 'partner_id':fields.many2one('res.partner', 'Supplier', required=True, states={'confirmed':[('readonly',True)], 'approved':[('readonly',True)],'done':[('readonly',True)]}, change_default=True), - 'dest_address_id':fields.many2one('res.partner', 'Destination Address', domain="[('parent_id','=',partner_id)]", + 'dest_address_id':fields.many2one('res.partner', 'Customer Address (Direct Delivery)', states={'confirmed':[('readonly',True)], 'approved':[('readonly',True)],'done':[('readonly',True)]}, help="Put an address if you want to deliver directly from the supplier to the customer." \ "In this case, it will remove the warehouse link and set the customer location." @@ -569,7 +569,6 @@ class purchase_order(osv.osv): 'origin': porder.origin, 'date_order': porder.date_order, 'partner_id': porder.partner_id.id, -# 'partner_address_id': porder.partner_id.id, 'dest_address_id': porder.dest_address_id.id, 'warehouse_id': porder.warehouse_id.id, 'location_id': porder.location_id.id, diff --git a/addons/purchase/purchase_demo.xml b/addons/purchase/purchase_demo.xml index aee902c8e91..6999f85b076 100644 --- a/addons/purchase/purchase_demo.xml +++ b/addons/purchase/purchase_demo.xml @@ -7,7 +7,7 @@ </record> <workflow action="purchase_confirm" model="purchase.order" ref="order_purchase2"/> - <!--workflow action="purchase_confirm" model="purchase.order" ref="order_purchase6"/--> + <workflow action="purchase_confirm" model="purchase.order" ref="order_purchase6"/> <record id="stock.res_company_tinyshop0" model="res.company"> <field eval="1.0" name="po_lead"/> diff --git a/addons/purchase/purchase_view.xml b/addons/purchase/purchase_view.xml index a3c2e70a85c..007c85b98f1 100644 --- a/addons/purchase/purchase_view.xml +++ b/addons/purchase/purchase_view.xml @@ -57,29 +57,6 @@ action="base.action_partner_category_form" id="menu_partner_categories_in_form" name="Partner Categories" parent="purchase.menu_purchase_partner_cat" groups="base.group_no_one"/> - - <!--supplier addresses action--> - <record id="action_supplier_address_form" model="ir.actions.act_window"> - <field name="name">Addresses</field> - <field name="type">ir.actions.act_window</field> - <field name="res_model">res.partner</field> - <field name="view_type">form</field> - <field name="context">{"search_default_supplier":1}</field> - <field name="help">Access your supplier records and maintain a good relationship with your suppliers. You can track all your interactions with them through the History tab: emails, orders, meetings, etc.</field> - </record> - <record id="action_supplier_address_form_view1" model="ir.actions.act_window.view"> - <field eval="10" name="sequence"/> - <field name="view_mode">tree</field> - <field name="view_id" ref="base.view_partner_tree"/> - <field name="act_window_id" ref="action_supplier_address_form"/> - </record> - <!--record id="action_supplier_address_form_view2" model="ir.actions.act_window.view"> - <field eval="20" name="sequence"/> - <field name="view_mode">form</field> - <field name="view_id" ref="base.view_partner_address_form1"/> - <field name="act_window_id" ref="action_supplier_address_form"/> - </record--> - <!--supplier menu--> <menuitem id="base.menu_procurement_management_supplier_name" name="Suppliers" parent="menu_procurement_management" diff --git a/addons/purchase/report/order.rml b/addons/purchase/report/order.rml index ab4f8d9dd7b..6c3250c59c6 100644 --- a/addons/purchase/report/order.rml +++ b/addons/purchase/report/order.rml @@ -186,9 +186,9 @@ <para style="terp_default_9"> <font color="white"> </font> </para> - <para style="terp_default_9">Tél. : [[ (o.partner_id and o.partner_id.phone) or removeParentNode('para') ]]</para> - <para style="terp_default_9">Fax : [[ (o.partner_id and o.partner_id.fax) or removeParentNode('para') ]]</para> - <para style="terp_default_9">TVA : [[ (o.partner_id and o.partner_id.vat) or removeParentNode('para') ]]</para> + <para style="terp_default_9">Tél. : [[ (o.partner_id.phone) or removeParentNode('para') ]]</para> + <para style="terp_default_9">Fax : [[ (o.partner_id.fax) or removeParentNode('para') ]]</para> + <para style="terp_default_9">TVA : [[ (o.partner_id.vat) or removeParentNode('para') ]]</para> </td> </tr> </blockTable> diff --git a/addons/purchase/report/request_quotation.rml b/addons/purchase/report/request_quotation.rml index 47b5058e8ec..2372ab4d8e4 100644 --- a/addons/purchase/report/request_quotation.rml +++ b/addons/purchase/report/request_quotation.rml @@ -100,14 +100,14 @@ </para> </td> <td> - <para style="terp_default_9">[[ (order.partner_id and order.partner_id.title and order.partner_id.title.name) or '' ]] [[ order.partner_id.name ]]</para> - <para style="terp_default_9">[[ order.partner_id and display_address(order.partner_id) ]] </para> + <para style="terp_default_9">[[ (order.partner_id.title and order.partner_id.title.name) or '' ]] [[ order.partner_id.name ]]</para> + <para style="terp_default_9">[[ display_address(order.partner_id) ]] </para> <para style="terp_default_9"> <font color="white"> </font> </para> - <para style="terp_default_9">Tel.: [[ (order.partner_id and order.partner_id.phone) or removeParentNode('para') ]]</para> - <para style="terp_default_9">Fax: [[ (order.partner_id and order.partner_id.fax) or removeParentNode('para') ]]</para> - <para style="terp_default_9">TVA: [[ (order.partner_id and order.partner_id.vat) or removeParentNode('para') ]]</para> + <para style="terp_default_9">Tel.: [[ (order.partner_id.phone) or removeParentNode('para') ]]</para> + <para style="terp_default_9">Fax: [[ (order.partner_id.fax) or removeParentNode('para') ]]</para> + <para style="terp_default_9">TVA: [[ (order.partner_id.vat) or removeParentNode('para') ]]</para> </td> </tr> </blockTable> diff --git a/addons/purchase/security/ir.model.access.csv b/addons/purchase/security/ir.model.access.csv index ced9f116cab..b19a62bf5d1 100644 --- a/addons/purchase/security/ir.model.access.csv +++ b/addons/purchase/security/ir.model.access.csv @@ -30,7 +30,6 @@ access_account_invoice_tax_purchase,account_invoice.tax purchase,account.model_a access_account_fiscal_position_purchase_user,account.fiscal.position purchase,account.model_account_fiscal_position,group_purchase_user,1,0,0,0 access_account_sequence_fiscalyear_purchase_user,account.sequence.fiscalyear purchase,account.model_account_sequence_fiscalyear,group_purchase_user,1,1,1,1 access_res_partner_purchase_user,res.partner purchase,base.model_res_partner,group_purchase_user,1,0,0,0 -access_res_partner_purchase_user,res.partner purchase,base.model_res_partner,group_purchase_user,1,0,0,0 access_account_journal_period,account.journal.period,account.model_account_journal_period,group_purchase_user,1,1,1,0 access_account_journal,account.journal,account.model_account_journal,group_purchase_user,1,0,0,0 access_account_journal_manager,account.journal,account.model_account_journal,group_purchase_manager,1,0,0,0 diff --git a/addons/purchase_requisition/report/purchase_requisition.rml b/addons/purchase_requisition/report/purchase_requisition.rml index 67eb7b364a5..f33f25536af 100644 --- a/addons/purchase_requisition/report/purchase_requisition.rml +++ b/addons/purchase_requisition/report/purchase_requisition.rml @@ -223,7 +223,7 @@ <blockTable colWidths="338.0,96.0,96.0" style="Table7"> <tr> <td> - <para style="terp_default_9">[[ (purchase_ids.partner_id and purchase_ids.partner_id.id and purchase_ids.partner_id.name) or '' ]]</para> + <para style="terp_default_9">[[ (purchase_ids.partner_id and purchase_ids.partner_id.name) or '' ]]</para> </td> <td> <para style="terp_default_Centre_9">[[ formatLang(purchase_ids.date_order,date='True') ]]</para> diff --git a/addons/report_intrastat/report/invoice.rml b/addons/report_intrastat/report/invoice.rml index f12bf83adfa..c07bd06f402 100644 --- a/addons/report_intrastat/report/invoice.rml +++ b/addons/report_intrastat/report/invoice.rml @@ -141,14 +141,14 @@ </para> </td> <td> - <para style="terp_default_8">[[ (o.partner_id and o.partner_id.title and o.partner_id.title.name) or '' ]] [[ (o.partner_id and o.partner_id.name) or '' ]]</para> + <para style="terp_default_8">[[ (o.partner_id.title and o.partner_id.title.name) or '' ]] [[ (o.partner_id and o.partner_id.name) or '' ]]</para> <para style="terp_default_8">[[ o.partner_id and display_address(o.partner_id) ]] </para> <para style="terp_default_8"> <font color="white"> </font> </para> - <para style="terp_default_8">Tel. : [[ (o.partner_id and o.partner_id.phone) or removeParentNode('para') ]]</para> - <para style="terp_default_8">Fax : [[ (o.partner_id and o.partner_id.fax) or removeParentNode('para') ]]</para> - <para style="terp_default_8">VAT : [[ (o.partner_id and o.partner_id.vat) or removeParentNode('para') ]]</para> + <para style="terp_default_8">Tel. : [[ (o.partner_id.phone) or removeParentNode('para') ]]</para> + <para style="terp_default_8">Fax : [[ (o.partner_id.fax) or removeParentNode('para') ]]</para> + <para style="terp_default_8">VAT : [[ (o.partner_id.vat) or removeParentNode('para') ]]</para> </td> </tr> </blockTable> @@ -184,7 +184,7 @@ <para style="terp_default_Centre_9">[[ formatLang(o.date_invoice,date=True) ]]</para> </td> <td> - <para style="terp_default_Centre_9">[[ (o.partner_id and o.partner_id.ref) or ' ' ]]</para> + <para style="terp_default_Centre_9">[[ (o.partner_id.ref) or ' ' ]]</para> </td> </tr> </blockTable> diff --git a/addons/sale/edi/sale_order.py b/addons/sale/edi/sale_order.py index 03a59dff0f5..4bd01b5ff0c 100644 --- a/addons/sale/edi/sale_order.py +++ b/addons/sale/edi/sale_order.py @@ -68,7 +68,7 @@ class sale_order(osv.osv, EDIMixin): """Exports a Sale order""" edi_struct = dict(edi_struct or SALE_ORDER_EDI_STRUCT) res_company = self.pool.get('res.company') - res_partner_address = self.pool.get('res.partner') + res_partner_obj = self.pool.get('res.partner') edi_doc_list = [] for order in records: # generate the main report @@ -82,7 +82,7 @@ class sale_order(osv.osv, EDIMixin): '__import_module': 'purchase', 'company_address': res_company.edi_export_address(cr, uid, order.company_id, context=context), - 'partner_id': res_partner_address.edi_export(cr, uid, [order.partner_id], context=context)[0], + 'partner_id': res_partner_obj.edi_export(cr, uid, [order.partner_id], context=context)[0], 'currency': self.pool.get('res.currency').edi_export(cr, uid, [order.pricelist_id.currency_id], context=context)[0], @@ -99,7 +99,7 @@ class sale_order(osv.osv, EDIMixin): # the desired company among the user's allowed companies self._edi_requires_attributes(('company_id','company_address'), edi_document) - res_partner = self.pool.get('res.partner') + res_partner_obj = self.pool.get('res.partner') # imported company_address = new partner address src_company_id, src_company_name = edi_document.pop('company_id') @@ -109,10 +109,10 @@ class sale_order(osv.osv, EDIMixin): if 'name' not in address_info: address_info['name'] = src_company_name - address_id = res_partner.edi_import(cr, uid, address_info, context=context) + address_id = res_partner_obj.edi_import(cr, uid, address_info, context=context) # modify edi_document to refer to new partner/address - partner_address = res_partner.browse(cr, uid, address_id, context=context) + partner_address = res_partner_obj.browse(cr, uid, address_id, context=context) edi_document.pop('partner_address', False) # ignored address_edi_m2o = self.edi_m2o(cr, uid, partner_address, context=context) edi_document['partner_id'] = address_edi_m2o diff --git a/addons/sale/report/sale_order.rml b/addons/sale/report/sale_order.rml index f44240e7904..4b66102c2f0 100644 --- a/addons/sale/report/sale_order.rml +++ b/addons/sale/report/sale_order.rml @@ -177,9 +177,9 @@ <para style="terp_default_9"> <font color="white"> </font> </para> - <para style="terp_default_9">Tel. : [[ (o.partner_id and o.partner_id.phone) or removeParentNode('para') ]]</para> - <para style="terp_default_9">Fax : [[ (o.partner_id and o.partner_id.fax) or removeParentNode('para') ]]</para> - <para style="terp_default_9">TVA : [[ (o.partner_id and o.partner_id.vat) or removeParentNode('para') ]]</para> + <para style="terp_default_9">Tel. : [[ (o.partner_id.phone) or removeParentNode('para') ]]</para> + <para style="terp_default_9">Fax : [[ (o.partner_id.fax) or removeParentNode('para') ]]</para> + <para style="terp_default_9">TVA : [[ (o.partner_id.vat) or removeParentNode('para') ]]</para> <para style="terp_default_9"> <font color="white"> </font> </para> diff --git a/addons/sale_layout/report/report_sale_layout.rml b/addons/sale_layout/report/report_sale_layout.rml index 5cc7187e2b6..b0d4b64e6a8 100644 --- a/addons/sale_layout/report/report_sale_layout.rml +++ b/addons/sale_layout/report/report_sale_layout.rml @@ -154,14 +154,14 @@ </para> </td> <td> - <para style="terp_default_9">[[ (o.partner_id and o.partner_id.title and o.partner_id.title.name) or '' ]] [[ (o.partner_id and o.partner_id.name) or '' ]]</para> - <para style="terp_default_9">[[ o.partner_id and display_address(o.partner_id) ]] </para> + <para style="terp_default_9">[[ (o.partner_id.title and o.partner_id.title.name) or '' ]] [[ (o.partner_id and o.partner_id.name) or '' ]]</para> + <para style="terp_default_9">[[ display_address(o.partner_id) ]] </para> <para style="terp_default_9"> <font color="white"> </font> </para> - <para style="terp_default_9">Tel. : [[ (o.partner_id and o.partner_id.phone) or removeParentNode('para') ]]</para> - <para style="terp_default_9">Fax : [[ (o.partner_id and o.partner_id.fax) or removeParentNode('para') ]]</para> - <para style="terp_default_9">TVA : [[ (o.partner_id and o.partner_id.vat) or removeParentNode('para') ]]</para> + <para style="terp_default_9">Tel. : [[ (o.partner_id.phone) or removeParentNode('para') ]]</para> + <para style="terp_default_9">Fax : [[ (o.partner_id.fax) or removeParentNode('para') ]]</para> + <para style="terp_default_9">TVA : [[ (o.partner_id.vat) or removeParentNode('para') ]]</para> <para style="terp_default_9"> <font color="white"> </font> </para> diff --git a/addons/stock/stock.py b/addons/stock/stock.py index 9753c1a3e05..e2b34d9f542 100644 --- a/addons/stock/stock.py +++ b/addons/stock/stock.py @@ -1073,7 +1073,7 @@ class stock_picking(osv.osv): invoice_obj = self.pool.get('account.invoice') invoice_line_obj = self.pool.get('account.invoice.line') - parnter_obj = self.pool.get('res.partner') + partner_obj = self.pool.get('res.partner') invoices_group = {} res = {} inv_type = type @@ -1082,7 +1082,7 @@ class stock_picking(osv.osv): continue partner = self._get_partner_to_invoice(cr, uid, picking, context=context) if isinstance(partner, int): - partner=parnter_obj.browse(cr,uid,[partner])[0] + partner = partner_obj.browse(cr, uid, [partner], context=context)[0] if not partner: raise osv.except_osv(_('Error, no partner !'), _('Please put a partner on the picking list if you want to generate invoice.')) @@ -1098,7 +1098,7 @@ class stock_picking(osv.osv): else: invoice_vals = self._prepare_invoice(cr, uid, picking, partner, inv_type, journal_id, context=context) invoice_id = invoice_obj.create(cr, uid, invoice_vals, context=context) - invoices_group[partner] = invoice_id + invoices_group[partner.id] = invoice_id res[picking.id] = invoice_id for move_line in picking.move_lines: if move_line.state == 'cancel': diff --git a/addons/survey/wizard/survey_send_invitation.py b/addons/survey/wizard/survey_send_invitation.py index 3a36d7912ad..c1186d3291e 100644 --- a/addons/survey/wizard/survey_send_invitation.py +++ b/addons/survey/wizard/survey_send_invitation.py @@ -163,7 +163,7 @@ class survey_send_invitation(osv.osv_memory): ans = mail_message.schedule_with_attach(cr, uid, record['mail_from'], [partner.email], \ record['mail_subject'], mail, attachments=attachments, context=context) if ans: - res_data = {'name': partner.name or 'Unknown', + res_data = {'name': partner.name or _('Unknown'), 'login': partner.email, 'password': passwd, 'address_id': partner.id, @@ -174,10 +174,10 @@ class survey_send_invitation(osv.osv_memory): user = user_ref.create(cr, uid, res_data) if user not in new_user: new_user.append(user) - created+= "- %s (Login: %s, Password: %s)\n" % (partner.name or 'Unknown',\ + created+= "- %s (Login: %s, Password: %s)\n" % (partner.name or _('Unknown'),\ partner.email, passwd) else: - error+= "- %s (Login: %s, Password: %s)\n" % (partner.name or 'Unknown',\ + error+= "- %s (Login: %s, Password: %s)\n" % (partner.name or _('Unknown'),\ partner.email, passwd) new_vals = {} diff --git a/addons/warning/warning.py b/addons/warning/warning.py index 4993b737cd7..f04f97d6f8a 100644 --- a/addons/warning/warning.py +++ b/addons/warning/warning.py @@ -152,7 +152,7 @@ class stock_picking(osv.osv): def onchange_partner_in(self, cr, uid, context, partner_id=None): if not partner_id: return {} - partner = self.pool.get('res.partner').browse(cr, uid, partner_id) + partner = self.pool.get('res.partner').browse(cr, uid, partner_id, context=context) warning = {} title = False message = False From 7a97b9c51907c69775b80f4db5d77845034055eb Mon Sep 17 00:00:00 2001 From: "Sbh (Openerp)" <sbh@tinyerp.com> Date: Fri, 30 Mar 2012 15:00:33 +0530 Subject: [PATCH 296/313] [Fix]purchase: fix the obj name bzr revid: sbh@tinyerp.com-20120330093033-t36u7zhnzrp1hht3 --- addons/purchase/edi/purchase_order.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/purchase/edi/purchase_order.py b/addons/purchase/edi/purchase_order.py index 2e89081e6bb..787974646ff 100644 --- a/addons/purchase/edi/purchase_order.py +++ b/addons/purchase/edi/purchase_order.py @@ -106,7 +106,7 @@ class purchase_order(osv.osv, EDIMixin): address_id = res_partner_obj.edi_import(cr, uid, address_info, context=context) # modify edi_document to refer to new partner/address - partner_address = res_partner_address.browse(cr, uid, address_id, context=context) + partner_address = res_partner_obj.browse(cr, uid, address_id, context=context) edi_document.pop('partner_address', False) # ignored edi_document['partner_id'] = self.edi_m2o(cr, uid, partner_address, context=context) From 26c3e813b2fb8c686555c59a8e795a701eb6ff34 Mon Sep 17 00:00:00 2001 From: "Sbh (Openerp)" <sbh@tinyerp.com> Date: Fri, 30 Mar 2012 15:21:17 +0530 Subject: [PATCH 297/313] [Fix]hr_timesheet: fix the onchange bzr revid: sbh@tinyerp.com-20120330095117-lsknoidjybywrsyc --- addons/account/project/project_view.xml | 2 +- .../hr_timesheet_invoice/hr_timesheet_invoice.py | 14 ++++++-------- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/addons/account/project/project_view.xml b/addons/account/project/project_view.xml index 2998ea72e34..328cedb9bc1 100644 --- a/addons/account/project/project_view.xml +++ b/addons/account/project/project_view.xml @@ -92,7 +92,7 @@ <page string="Account Data"> <group colspan="2" col="2"> <separator colspan="2" string="Contacts"/> - <field name="partner_id" on_change="on_change_partner_id(partner_id)"/> + <field name="partner_id"/> <field name="user_id"/> </group> <group colspan="2" col="2" name="contract"> diff --git a/addons/hr_timesheet_invoice/hr_timesheet_invoice.py b/addons/hr_timesheet_invoice/hr_timesheet_invoice.py index 11b7bb771fa..0a58efb782b 100644 --- a/addons/hr_timesheet_invoice/hr_timesheet_invoice.py +++ b/addons/hr_timesheet_invoice/hr_timesheet_invoice.py @@ -78,24 +78,22 @@ class account_analytic_account(osv.osv): 'pricelist_id': lambda self, cr, uid, ctx: ctx.get('pricelist_id', False), } def on_change_partner_id(self, cr, uid, id, partner_id, context={}): - res = super(account_analytic_account, self).on_change_partner_id(cr, uid, id, partner_id, context) - if (not res.get('value', False)) or not partner_id: - return res + res={} part = self.pool.get('res.partner').browse(cr, uid, partner_id) pricelist = part.property_product_pricelist and part.property_product_pricelist.id or False if pricelist: - res['value']['pricelist_id'] = pricelist - return res + res['pricelist_id'] = pricelist + return {'value': res} def set_close(self, cr, uid, ids, context=None): return self.write(cr, uid, ids, {'state':'close'}, context=context) - + def set_cancel(self, cr, uid, ids, context=None): return self.write(cr, uid, ids, {'state':'cancelled'}, context=context) - + def set_open(self, cr, uid, ids, context=None): return self.write(cr, uid, ids, {'state':'open'}, context=context) - + def set_pending(self, cr, uid, ids, context=None): return self.write(cr, uid, ids, {'state':'pending'}, context=context) From a5644ecc637e9f43ec6d518fc0282de7d0f0c6a2 Mon Sep 17 00:00:00 2001 From: "Sbh (Openerp)" <sbh@tinyerp.com> Date: Fri, 30 Mar 2012 16:03:51 +0530 Subject: [PATCH 298/313] [Fix] account_payment: fix argument of function bzr revid: sbh@tinyerp.com-20120330103351-0ca0ngffi3shbzav --- addons/account_payment/account_payment.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/account_payment/account_payment.py b/addons/account_payment/account_payment.py index 166f0b0c6e7..70d3fbe54cc 100644 --- a/addons/account_payment/account_payment.py +++ b/addons/account_payment/account_payment.py @@ -189,7 +189,7 @@ class payment_line(osv.osv): result[line.id] = self._get_info_partner(cr, uid, owner, context=context) return result - def _get_info_partner(cr, uid, partner_record, context=None): + def _get_info_partner(self,cr, uid, partner_record, context=None): if not partner_record: return False st = partner_record.street or '' From 50bf6e4be62cede38e245490bf27fb7874cef83b Mon Sep 17 00:00:00 2001 From: "Quentin (OpenERP)" <qdp-launchpad@openerp.com> Date: Fri, 30 Mar 2012 14:57:02 +0200 Subject: [PATCH 299/313] [FIX] hr_timesheet_invoice: put back the onchange on partner_id bzr revid: qdp-launchpad@openerp.com-20120330125702-bh1m2tfg3sdf4x3h --- addons/hr_timesheet_invoice/hr_timesheet_invoice_view.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/addons/hr_timesheet_invoice/hr_timesheet_invoice_view.xml b/addons/hr_timesheet_invoice/hr_timesheet_invoice_view.xml index b645d703032..65a983de1e4 100644 --- a/addons/hr_timesheet_invoice/hr_timesheet_invoice_view.xml +++ b/addons/hr_timesheet_invoice/hr_timesheet_invoice_view.xml @@ -7,6 +7,9 @@ <field name="type">form</field> <field name="inherit_id" ref="account.view_account_analytic_account_form"/> <field name="arch" type="xml"> + <field name="partner_id" position="replace"> + <field name="partner_id" on_change="on_change_partner_id(partner_id, context)"/> + </field> <group name="contract" position="after"> <group colspan="2" col="2" name="invoice_data"> <separator colspan="2" string="Invoicing Data"/> From eb9b0021ff3ac4576430a4660c77ce002fc18d0b Mon Sep 17 00:00:00 2001 From: Olivier Dony <odo@openerp.com> Date: Fri, 30 Mar 2012 18:34:22 +0200 Subject: [PATCH 300/313] [IMP] Move uninstall behavior in modules.loading where it belongs bzr revid: odo@openerp.com-20120330163422-jkatnkpw0cl8hd8t --- openerp/addons/base/ir/ir_model.py | 30 ++++-- openerp/addons/base/module/module.py | 6 +- .../base/module/wizard/base_module_upgrade.py | 11 +- openerp/modules/loading.py | 100 +++++++++--------- 4 files changed, 77 insertions(+), 70 deletions(-) diff --git a/openerp/addons/base/ir/ir_model.py b/openerp/addons/base/ir/ir_model.py index 659929c2f04..d630faecad0 100644 --- a/openerp/addons/base/ir/ir_model.py +++ b/openerp/addons/base/ir/ir_model.py @@ -161,7 +161,11 @@ class ir_model(osv.osv): self._drop_table(cr, user, ids, context) res = super(ir_model, self).unlink(cr, user, ids, context) - pooler.restart_pool(cr.dbname) + if not context.get(MODULE_UNINSTALL_FLAG): + # only reload pool for normal unlink. For module uninstall the + # reload is done independently in openerp.modules.loading + pooler.restart_pool(cr.dbname) + return res def write(self, cr, user, ids, vals, context=None): @@ -832,6 +836,7 @@ class ir_model_data(osv.osv): context = dict(context or {}) context[MODULE_UNINSTALL_FLAG] = True # enable model/field deletion + ids_set = set(ids) wkf_todo = [] to_unlink = [] to_drop_table = [] @@ -867,8 +872,11 @@ class ir_model_data(osv.osv): _logger.info('Drop CONSTRAINT %s@%s', name[11:], model) continue - to_unlink.append((model, res_id)) - if model=='workflow.activity': + pair_to_unlink = (model, res_id) + if pair_to_unlink not in to_unlink: + to_unlink.append(pair_to_unlink) + + if model == 'workflow.activity': cr.execute('select res_type,res_id from wkf_instance where id IN (select inst_id from wkf_workitem where act_id=%s)', (res_id,)) wkf_todo.extend(cr.fetchall()) cr.execute("update wkf_transition set condition='True', group_id=NULL, signal=NULL,act_to=act_from,act_from=%s where act_to=%s", (res_id,res_id)) @@ -888,13 +896,13 @@ class ir_model_data(osv.osv): for (model, res_id) in to_unlink: if model in ('ir.model','ir.model.fields', 'ir.model.data'): continue - model_ids = self.search(cr, uid, [('model', '=', model),('res_id', '=', res_id)]) - if len(model_ids) > 1: + external_ids = self.search(cr, uid, [('model', '=', model),('res_id', '=', res_id)]) + if (set(external_ids)-ids_set): # if other modules have defined this record, we do not delete it continue _logger.info('Deleting %s@%s', res_id, model) try: - self.pool.get(model).unlink(cr, uid, res_id, context=context) + self.pool.get(model).unlink(cr, uid, [res_id], context=context) except: _logger.info('Unable to delete %s@%s', res_id, model, exc_info=True) cr.commit() @@ -902,18 +910,18 @@ class ir_model_data(osv.osv): for (model, res_id) in to_unlink: if model not in ('ir.model.fields',): continue - model_ids = self.search(cr, uid, [('model', '=', model),('res_id', '=', res_id)]) - if len(model_ids) > 1: + external_ids = self.search(cr, uid, [('model', '=', model),('res_id', '=', res_id)]) + if (set(external_ids)-ids_set): # if other modules have defined this record, we do not delete it continue _logger.info('Deleting %s@%s', res_id, model) - self.pool.get(model).unlink(cr, uid, res_id, context=context) + self.pool.get(model).unlink(cr, uid, [res_id], context=context) for (model, res_id) in to_unlink: if model != 'ir.model': continue - model_ids = self.search(cr, uid, [('model', '=', model),('res_id', '=', res_id)]) - if len(model_ids) > 1: + external_ids = self.search(cr, uid, [('model', '=', model),('res_id', '=', res_id)]) + if (set(external_ids)-ids_set): # if other modules have defined this record, we do not delete it continue _logger.info('Deleting %s@%s', res_id, model) diff --git a/openerp/addons/base/module/module.py b/openerp/addons/base/module/module.py index 77ba7f1d51c..526ca5a4910 100644 --- a/openerp/addons/base/module/module.py +++ b/openerp/addons/base/module/module.py @@ -365,6 +365,10 @@ class module(osv.osv): return True def module_uninstall(self, cr, uid, ids, context=None): + """Perform the various steps required to uninstall a module completely + including the deletion of all database structures created by the module: + tables, columns, constraints, etc.""" + # uninstall must be done respecting the reverse-dependency order ir_model_data = self.pool.get('ir.model.data') modules_to_remove = [m.name for m in self.browse(cr, uid, ids, context)] @@ -372,8 +376,6 @@ class module(osv.osv): ir_model_data._pre_process_unlink(cr, uid, data_ids, context) ir_model_data.unlink(cr, uid, data_ids, context) self.write(cr, uid, ids, {'state': 'uninstalled'}) - - # should we call process_end instead of loading, or both ? return True def downstream_dependencies(self, cr, uid, ids, known_dep_ids=None, diff --git a/openerp/addons/base/module/wizard/base_module_upgrade.py b/openerp/addons/base/module/wizard/base_module_upgrade.py index cb27a264e91..a27f79e6905 100644 --- a/openerp/addons/base/module/wizard/base_module_upgrade.py +++ b/openerp/addons/base/module/wizard/base_module_upgrade.py @@ -72,7 +72,7 @@ class base_module_upgrade(osv.osv_memory): def upgrade_module(self, cr, uid, ids, context=None): ir_module = self.pool.get('ir.module.module') - # install and upgrade modules + # install/upgrade: double-check preconditions ids = ir_module.search(cr, uid, [('state', 'in', ['to upgrade', 'to install'])]) unmet_packages = [] mod_dep_obj = self.pool.get('ir.module.module.dependency') @@ -86,16 +86,15 @@ class base_module_upgrade(osv.osv_memory): raise osv.except_osv(_('Unmet dependency !'), _('Following modules are not installed or unknown: %s') % ('\n\n' + '\n'.join(unmet_packages))) ir_module.download(cr, uid, ids, context=context) - # uninstall modules - to_remove_ids = ir_module.search(cr, uid, [('state', 'in', ['to remove'])]) - ir_module.module_uninstall(cr, uid, to_remove_ids, context) + # uninstall: double-check preconditions + # TODO: check all dependent modules are uninstalled + # XXX mod_ids_to_uninstall = ir_module.search(cr, uid, [('state', '=', 'to remove')]) - cr.commit() + cr.commit() # persist changes before reopening a cursor pooler.restart_pool(cr.dbname, update_module=True) ir_model_data = self.pool.get('ir.model.data') _, res_id = ir_model_data.get_object_reference(cr, uid, 'base', 'view_base_module_upgrade_install') - return { 'view_type': 'form', 'view_mode': 'form', diff --git a/openerp/modules/loading.py b/openerp/modules/loading.py index c56edd0360d..efc73d44a58 100644 --- a/openerp/modules/loading.py +++ b/openerp/modules/loading.py @@ -40,6 +40,7 @@ import openerp.release as release import openerp.tools as tools import openerp.tools.assertion_report as assertion_report +from openerp import SUPERUSER_ID from openerp.tools.translate import _ from openerp.modules.module import initialize_sys_path, \ load_openerp_module, init_module_models @@ -161,7 +162,7 @@ def load_module_graph(cr, graph, status=None, perform_checks=True, skip_modules= modobj = pool.get('ir.module.module') if perform_checks: - modobj.check(cr, 1, [module_id]) + modobj.check(cr, SUPERUSER_ID, [module_id]) idref = {} @@ -172,7 +173,7 @@ def load_module_graph(cr, graph, status=None, perform_checks=True, skip_modules= if hasattr(package, 'init') or hasattr(package, 'update') or package.state in ('to install', 'to upgrade'): if package.state=='to upgrade': # upgrading the module information - modobj.write(cr, 1, [module_id], modobj.get_values_from_terp(package.data)) + modobj.write(cr, SUPERUSER_ID, [module_id], modobj.get_values_from_terp(package.data)) load_init_xml(module_name, idref, mode) load_update_xml(module_name, idref, mode) load_data(module_name, idref, mode) @@ -201,9 +202,9 @@ def load_module_graph(cr, graph, status=None, perform_checks=True, skip_modules= ver = release.major_version + '.' + package.data['version'] # Set new modules and dependencies - modobj.write(cr, 1, [module_id], {'state': 'installed', 'latest_version': ver}) + modobj.write(cr, SUPERUSER_ID, [module_id], {'state': 'installed', 'latest_version': ver}) # Update translations for all installed languages - modobj.update_translations(cr, 1, [module_id], None) + modobj.update_translations(cr, SUPERUSER_ID, [module_id], None) package.state = 'installed' for kind in ('init', 'demo', 'update'): @@ -304,15 +305,15 @@ def load_modules(db, force_demo=False, status=None, update_module=False): mods = [k for k in tools.config['init'] if tools.config['init'][k]] if mods: - ids = modobj.search(cr, 1, ['&', ('state', '=', 'uninstalled'), ('name', 'in', mods)]) + ids = modobj.search(cr, SUPERUSER_ID, ['&', ('state', '=', 'uninstalled'), ('name', 'in', mods)]) if ids: - modobj.button_install(cr, 1, ids) + modobj.button_install(cr, SUPERUSER_ID, ids) mods = [k for k in tools.config['update'] if tools.config['update'][k]] if mods: - ids = modobj.search(cr, 1, ['&', ('state', '=', 'installed'), ('name', 'in', mods)]) + ids = modobj.search(cr, SUPERUSER_ID, ['&', ('state', '=', 'installed'), ('name', 'in', mods)]) if ids: - modobj.button_upgrade(cr, 1, ids) + modobj.button_upgrade(cr, SUPERUSER_ID, ids) cr.execute("update ir_module_module set state=%s where name=%s", ('installed', 'base')) @@ -322,7 +323,11 @@ def load_modules(db, force_demo=False, status=None, update_module=False): # partially installed modules (i.e. installed/to upgrade), to # offer a consistent system to the second part: installing # newly selected modules. - states_to_load = ['installed', 'to upgrade'] + # We include the modules 'to remove' in the first step, because + # they are part of the "currently installed" modules. They will + # be dropped in STEP 6 later, before restarting the loading + # process. + states_to_load = ['installed', 'to upgrade', 'to remove'] processed = load_marked_modules(cr, graph, states_to_load, force, status, report, loaded_modules) processed_modules.extend(processed) if update_module: @@ -333,9 +338,9 @@ def load_modules(db, force_demo=False, status=None, update_module=False): # load custom models cr.execute('select model from ir_model where state=%s', ('manual',)) for model in cr.dictfetchall(): - pool.get('ir.model').instanciate(cr, 1, model['model'], {}) + pool.get('ir.model').instanciate(cr, SUPERUSER_ID, model['model'], {}) - # STEP 4: Finish and cleanup + # STEP 4: Finish and cleanup installations if processed_modules: cr.execute("""select model,name from ir_model where id NOT IN (select distinct model_id from ir_model_access)""") for (model, name) in cr.fetchall(): @@ -360,53 +365,46 @@ def load_modules(db, force_demo=False, status=None, update_module=False): _logger.warning("Model %s is declared but cannot be loaded! (Perhaps a module was partially removed or renamed)", model) # Cleanup orphan records - pool.get('ir.model.data')._process_end(cr, 1, processed_modules) + pool.get('ir.model.data')._process_end(cr, SUPERUSER_ID, processed_modules) for kind in ('init', 'demo', 'update'): tools.config[kind] = {} cr.commit() -# if update_module: + + # STEP 5: Cleanup menus + # Remove menu items that are not referenced by any of other + # (child) menu item, ir_values, or ir_model_data. + # TODO: This code could be a method of ir_ui_menu. Remove menu without actions of children + if update_module: + while True: + cr.execute('''delete from + ir_ui_menu + where + (id not IN (select parent_id from ir_ui_menu where parent_id is not null)) + and + (id not IN (select res_id from ir_values where model='ir.ui.menu')) + and + (id not IN (select res_id from ir_model_data where model='ir.ui.menu'))''') + cr.commit() + if not cr.rowcount: + break + else: + _logger.info('removed %d unused menus', cr.rowcount) + + # STEP 6: Uninstall modules to remove + if update_module: # Remove records referenced from ir_model_data for modules to be # removed (and removed the references from ir_model_data). - #cr.execute("select id,name from ir_module_module where state=%s", ('to remove',)) - #remove_modules = map(lambda x: x['name'], cr.dictfetchall()) - # Cleanup orphan records - #pool.get('ir.model.data')._process_end(cr, 1, remove_modules, noupdate=None) -# for mod_id, mod_name in cr.fetchall(): -# cr.execute('select model,res_id from ir_model_data where noupdate=%s and module=%s order by id desc', (False, mod_name,)) -# for rmod, rid in cr.fetchall(): -# uid = 1 -# rmod_module= pool.get(rmod) -# if rmod_module: -# rmod_module.unlink(cr, uid, [rid]) -# else: -# _logger.error('Could not locate %s to remove res=%d' % (rmod,rid)) -# cr.execute('delete from ir_model_data where module=%s', (mod_name,)) -# cr.commit() - - # Remove menu items that are not referenced by any of other - # (child) menu item, ir_values, or ir_model_data. - # This code could be a method of ir_ui_menu. - # TODO: remove menu without actions of children -# while True: -# cr.execute('''delete from -# ir_ui_menu -# where -# (id not IN (select parent_id from ir_ui_menu where parent_id is not null)) -# and -# (id not IN (select res_id from ir_values where model='ir.ui.menu')) -# and -# (id not IN (select res_id from ir_model_data where model='ir.ui.menu'))''') -# cr.commit() -# if not cr.rowcount: -# break -# else: -# _logger.info('removed %d unused menus', cr.rowcount) - - # Pretend that modules to be removed are actually uninstalled. - #cr.execute("update ir_module_module set state=%s where state=%s", ('uninstalled', 'to remove',)) - #cr.commit() + cr.execute("SELECT id FROM ir_module_module WHERE state=%s", ('to remove',)) + mod_ids_to_remove = [x[0] for x in cr.fetchall()] + if mod_ids_to_remove: + pool.get('ir.module.module').module_uninstall(cr, SUPERUSER_ID, mod_ids_to_remove) + # Recursive reload, should only happen once, because there should be no + # modules to remove next time + cr.commit() + _logger.info('Reloading registry once more after uninstalling modules') + return pooler.restart_pool(cr.dbname, force_demo, status, update_module) if report.failures: _logger.error('At least one test failed when loading the modules.') From 3e0267178ccfd2bf12d5a4a4e6d9aeb08e4a5cb2 Mon Sep 17 00:00:00 2001 From: Olivier Dony <odo@openerp.com> Date: Fri, 30 Mar 2012 23:49:06 +0200 Subject: [PATCH 301/313] [IMP] workflow: preventing deleting an activity with existing workitems, as a safeguard Now that workitems will be cascade-deleted along with their activities it is important to prevent accidental deletion. bzr revid: odo@openerp.com-20120330214906-ioo3gpg5a1j1e85o --- openerp/addons/base/ir/workflow/workflow.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/openerp/addons/base/ir/workflow/workflow.py b/openerp/addons/base/ir/workflow/workflow.py index 8ec843230d4..d734dda133b 100644 --- a/openerp/addons/base/ir/workflow/workflow.py +++ b/openerp/addons/base/ir/workflow/workflow.py @@ -19,9 +19,10 @@ # ############################################################################## -from osv import fields, osv -from tools import graph -import netsvc +from openerp.osv import fields, osv +from openerp.tools import graph +from openerp.tools.translate import _ +from openerp import netsvc class workflow(osv.osv): _name = "workflow" @@ -138,6 +139,14 @@ class wkf_activity(osv.osv): 'join_mode': lambda *a: 'XOR', 'split_mode': lambda *a: 'XOR', } + + def unlink(self, cr, uid, ids, context=None): + if context is None: context = {} + if not context.get('_force_unlink') and self.pool.get('workflow.workitem').search(cr, uid, [('act_id', 'in', ids)]): + raise osv.except_osv(_('Operation forbidden'), + _('Please make sure no workitems refer to an activity before deleting it!')) + super(wkf_activity, self).unlink(cr, uid, ids, context=context) + wkf_activity() class wkf_transition(osv.osv): From 5f4b3c9bd3b7a75430f2ba3fd64f60ee18e57ee9 Mon Sep 17 00:00:00 2001 From: Olivier Dony <odo@openerp.com> Date: Fri, 30 Mar 2012 23:49:48 +0200 Subject: [PATCH 302/313] [IMP] module,ir.model: improve name choices bzr revid: odo@openerp.com-20120330214948-xnmbqugke1o1j3uz --- openerp/addons/base/ir/ir_model.py | 6 +++--- openerp/addons/base/module/module.py | 4 +--- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/openerp/addons/base/ir/ir_model.py b/openerp/addons/base/ir/ir_model.py index d630faecad0..845dedc7a51 100644 --- a/openerp/addons/base/ir/ir_model.py +++ b/openerp/addons/base/ir/ir_model.py @@ -33,7 +33,7 @@ from openerp.tools.translate import _ _logger = logging.getLogger(__name__) -MODULE_UNINSTALL_FLAG = '_ir_module_uninstall' +MODULE_UNINSTALL_FLAG = '_force_unlink' def _get_fields_type(self, cr, uid, context=None): # Avoid too many nested `if`s below, as RedHat's Python 2.6 @@ -829,7 +829,7 @@ class ir_model_data(osv.osv): cr.execute('UPDATE ir_values set value=%s WHERE model=%s and key=%s and name=%s'+where,(value, model, key, name)) return True - def _pre_process_unlink(self, cr, uid, ids, context=None): + def _module_data_uninstall(self, cr, uid, ids, context=None): if uid != 1 and not self.pool.get('ir.model.access').check_groups(cr, uid, "base.group_system"): raise except_orm(_('Permission Denied'), (_('Administrator access is required to uninstall a module'))) @@ -908,7 +908,7 @@ class ir_model_data(osv.osv): cr.commit() for (model, res_id) in to_unlink: - if model not in ('ir.model.fields',): + if model != 'ir.model.fields': continue external_ids = self.search(cr, uid, [('model', '=', model),('res_id', '=', res_id)]) if (set(external_ids)-ids_set): diff --git a/openerp/addons/base/module/module.py b/openerp/addons/base/module/module.py index 526ca5a4910..2ef96e902fd 100644 --- a/openerp/addons/base/module/module.py +++ b/openerp/addons/base/module/module.py @@ -368,12 +368,10 @@ class module(osv.osv): """Perform the various steps required to uninstall a module completely including the deletion of all database structures created by the module: tables, columns, constraints, etc.""" - - # uninstall must be done respecting the reverse-dependency order ir_model_data = self.pool.get('ir.model.data') modules_to_remove = [m.name for m in self.browse(cr, uid, ids, context)] data_ids = ir_model_data.search(cr, uid, [('module', 'in', modules_to_remove)]) - ir_model_data._pre_process_unlink(cr, uid, data_ids, context) + ir_model_data._module_data_uninstall(cr, uid, data_ids, context) ir_model_data.unlink(cr, uid, data_ids, context) self.write(cr, uid, ids, {'state': 'uninstalled'}) return True From 7588c0c88800a0defebb6915e9cdd23df5849ce0 Mon Sep 17 00:00:00 2001 From: Olivier Dony <odo@openerp.com> Date: Fri, 30 Mar 2012 23:51:24 +0200 Subject: [PATCH 303/313] [IMP] workflow: lint cleanup bzr revid: odo@openerp.com-20120330215124-7y1kt2kvekhpkyd5 --- openerp/addons/base/ir/workflow/workflow.py | 68 +++------------------ 1 file changed, 10 insertions(+), 58 deletions(-) diff --git a/openerp/addons/base/ir/workflow/workflow.py b/openerp/addons/base/ir/workflow/workflow.py index d734dda133b..925d4700663 100644 --- a/openerp/addons/base/ir/workflow/workflow.py +++ b/openerp/addons/base/ir/workflow/workflow.py @@ -1,8 +1,8 @@ # -*- coding: utf-8 -*- ############################################################################## -# -# OpenERP, Open Source Management Solution -# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>). +# +# OpenERP, Open Source Business Applications +# Copyright (C) 2004-2012 OpenERP S.A. (<http://openerp.com>). # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as @@ -15,12 +15,11 @@ # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. +# along with this program. If not, see <http://www.gnu.org/licenses/>. # ############################################################################## from openerp.osv import fields, osv -from openerp.tools import graph from openerp.tools.translate import _ from openerp import netsvc @@ -28,7 +27,6 @@ class workflow(osv.osv): _name = "workflow" _table = "wkf" _order = "name" - # _log_access = False _columns = { 'name': fields.char('Name', size=64, required=True), 'osv': fields.char('Resource Object', size=64, required=True,select=True), @@ -47,78 +45,33 @@ class workflow(osv.osv): return super(workflow, self).write(cr, user, ids, vals, context=context) def get_active_workitems(self, cr, uid, res, res_id, context=None): - cr.execute('select * from wkf where osv=%s limit 1',(res,)) wkfinfo = cr.dictfetchone() workitems = [] - if wkfinfo: cr.execute('SELECT id FROM wkf_instance \ WHERE res_id=%s AND wkf_id=%s \ ORDER BY state LIMIT 1', (res_id, wkfinfo['id'])) inst_id = cr.fetchone() - + cr.execute('select act_id,count(*) from wkf_workitem where inst_id=%s group by act_id', (inst_id,)) - workitems = dict(cr.fetchall()) - + workitems = dict(cr.fetchall()) return {'wkf': wkfinfo, 'workitems': workitems} - - # - # scale = (vertical-distance, horizontal-distance, min-node-width(optional), min-node-height(optional), margin(default=20)) - # - - -# def graph_get(self, cr, uid, id, scale, context={}): -# -# nodes= [] -# nodes_name = [] -# transitions = [] -# start = [] -# tres = {} -# no_ancester = [] -# workflow = self.browse(cr, uid, id, context) -# for a in workflow.activities: -# nodes_name.append((a.id,a.name)) -# nodes.append(a.id) -# if a.flow_start: -# start.append(a.id) -# else: -# if not a.in_transitions: -# no_ancester.append(a.id) -# -# for t in a.out_transitions: -# transitions.append((a.id, t.act_to.id)) -# tres[t.id] = (a.id, t.act_to.id) -# -# -# g = graph(nodes, transitions, no_ancester) -# g.process(start) -# g.scale(*scale) -# result = g.result_get() -# results = {} -# -# for node in nodes_name: -# results[str(node[0])] = result[node[0]] -# results[str(node[0])]['name'] = node[1] -# -# return {'nodes': results, 'transitions': tres} - - def create(self, cr, user, vals, context=None): if not context: context={} wf_service = netsvc.LocalService("workflow") wf_service.clear_cache(cr, user) return super(workflow, self).create(cr, user, vals, context=context) + workflow() class wkf_activity(osv.osv): _name = "workflow.activity" _table = "wkf_activity" _order = "name" - # _log_access = False _columns = { 'name': fields.char('Name', size=64, required=True), 'wkf_id': fields.many2one('workflow', 'Workflow', required=True, select=True, ondelete='cascade'), @@ -152,17 +105,16 @@ wkf_activity() class wkf_transition(osv.osv): _table = "wkf_transition" _name = "workflow.transition" - # _log_access = False _rec_name = 'signal' _columns = { 'trigger_model': fields.char('Trigger Object', size=128), 'trigger_expr_id': fields.char('Trigger Expression', size=128), - 'signal': fields.char('Signal (button Name)', size=64, + 'signal': fields.char('Signal (button Name)', size=64, help="When the operation of transition comes from a button pressed in the client form, "\ "signal tests the name of the pressed button. If signal is NULL, no button is necessary to validate this transition."), - 'group_id': fields.many2one('res.groups', 'Group Required', + 'group_id': fields.many2one('res.groups', 'Group Required', help="The group that a user must have to be authorized to validate this transition."), - 'condition': fields.char('Condition', required=True, size=128, + 'condition': fields.char('Condition', required=True, size=128, help="Expression to be satisfied if we want the transition done."), 'act_from': fields.many2one('workflow.activity', 'Source Activity', required=True, select=True, ondelete='cascade', help="Source activity. When this activity is over, the condition is tested to determine if we can start the ACT_TO activity."), From 58605daded585b0a5bb806e7c1572852ca7bf2bf Mon Sep 17 00:00:00 2001 From: Olivier Dony <odo@openerp.com> Date: Sat, 31 Mar 2012 00:20:23 +0200 Subject: [PATCH 304/313] [IMP] b.m.u: make dependency check faster before upgrade, cleanup We need to be careful with naming dummy variables "_" because that can conflict within the local scope with the translation method _() if it is used in the same method! bzr revid: odo@openerp.com-20120330222023-3xzazf735k50f5xc --- openerp/addons/base/module/module.py | 4 +++ .../base/module/wizard/base_module_upgrade.py | 29 +++++++++---------- 2 files changed, 17 insertions(+), 16 deletions(-) diff --git a/openerp/addons/base/module/module.py b/openerp/addons/base/module/module.py index 2ef96e902fd..acf22923d14 100644 --- a/openerp/addons/base/module/module.py +++ b/openerp/addons/base/module/module.py @@ -677,8 +677,12 @@ class module_dependency(osv.osv): return result _columns = { + # The dependency name 'name': fields.char('Name', size=128, select=True), + + # The module that depends on it 'module_id': fields.many2one('ir.module.module', 'Module', select=True, ondelete='cascade'), + 'state': fields.function(_state, type='selection', selection=[ ('uninstallable','Uninstallable'), ('uninstalled','Not Installed'), diff --git a/openerp/addons/base/module/wizard/base_module_upgrade.py b/openerp/addons/base/module/wizard/base_module_upgrade.py index a27f79e6905..f6cd6c9b061 100644 --- a/openerp/addons/base/module/wizard/base_module_upgrade.py +++ b/openerp/addons/base/module/wizard/base_module_upgrade.py @@ -74,27 +74,24 @@ class base_module_upgrade(osv.osv_memory): # install/upgrade: double-check preconditions ids = ir_module.search(cr, uid, [('state', 'in', ['to upgrade', 'to install'])]) - unmet_packages = [] - mod_dep_obj = self.pool.get('ir.module.module.dependency') - # TODO: Replace the following loop with a single SQL query to make it much faster! - for mod in ir_module.browse(cr, uid, ids): - depends_mod_ids = mod_dep_obj.search(cr, uid, [('module_id', '=', mod.id)]) - for dep_mod in mod_dep_obj.browse(cr, uid, depends_mod_ids): - if dep_mod.state in ('unknown','uninstalled'): - unmet_packages.append(dep_mod.name) - if unmet_packages: - raise osv.except_osv(_('Unmet dependency !'), _('Following modules are not installed or unknown: %s') % ('\n\n' + '\n'.join(unmet_packages))) - ir_module.download(cr, uid, ids, context=context) + if ids: + cr.execute("""SELECT d.name FROM ir_module_module m + JOIN ir_module_module_dependency d ON (m.id = d.module_id) + LEFT JOIN ir_module_module m2 ON (d.name = m2.name) + WHERE m.id in %s and (m2.state IS NULL or m2.state IN %s)""", + (tuple(ids), ('uninstalled',))) + unmet_packages = [x[0] for x in cr.fetchall()] + if unmet_packages: + raise osv.except_osv(_('Unmet dependency !'), + _('Following modules are not installed or unknown: %s') % ('\n\n' + '\n'.join(unmet_packages))) - # uninstall: double-check preconditions - # TODO: check all dependent modules are uninstalled - # XXX mod_ids_to_uninstall = ir_module.search(cr, uid, [('state', '=', 'to remove')]) + ir_module.download(cr, uid, ids, context=context) + cr.commit() # save before re-creating cursor below - cr.commit() # persist changes before reopening a cursor pooler.restart_pool(cr.dbname, update_module=True) ir_model_data = self.pool.get('ir.model.data') - _, res_id = ir_model_data.get_object_reference(cr, uid, 'base', 'view_base_module_upgrade_install') + __, res_id = ir_model_data.get_object_reference(cr, uid, 'base', 'view_base_module_upgrade_install') return { 'view_type': 'form', 'view_mode': 'form', From 74ed36e41672f7d10adc5e5b094be6b17ceacc85 Mon Sep 17 00:00:00 2001 From: Olivier Dony <odo@openerp.com> Date: Sat, 31 Mar 2012 02:42:15 +0200 Subject: [PATCH 305/313] [IMP] orm,ir.model: improve registration and deletion of schema ext_ids Also handle the very common cases of inheriting classes that must *not* trigger deletion of the m2m tables and constraints of their parent classes! bzr revid: odo@openerp.com-20120331004215-413lcxaxvg0u6oxw --- openerp/addons/base/ir/ir_model.py | 88 +++++++++++++++++++----------- openerp/osv/orm.py | 42 +++++++------- 2 files changed, 75 insertions(+), 55 deletions(-) diff --git a/openerp/addons/base/ir/ir_model.py b/openerp/addons/base/ir/ir_model.py index 845dedc7a51..01edded16b7 100644 --- a/openerp/addons/base/ir/ir_model.py +++ b/openerp/addons/base/ir/ir_model.py @@ -26,10 +26,11 @@ import types from openerp.osv import fields,osv from openerp import netsvc, pooler, tools -from openerp.osv.orm import except_orm, browse_record from openerp.tools.safe_eval import safe_eval as eval from openerp.tools import config from openerp.tools.translate import _ +from openerp.osv.orm import except_orm, browse_record, EXT_ID_PREFIX_FK, \ + EXT_ID_PREFIX_M2M_TABLE, EXT_ID_PREFIX_CONSTRAINT _logger = logging.getLogger(__name__) @@ -830,6 +831,16 @@ class ir_model_data(osv.osv): return True def _module_data_uninstall(self, cr, uid, ids, context=None): + """Deletes all the records referenced by the ir.model.data entries + ``ids`` along with their corresponding database backed (including + dropping tables, columns, FKs, etc, as long as there is no other + ir.model.data entry holding a reference to them (which indicates that + they are still owned by another module). + Attempts to perform the deletion in an appropriate order to maximize + the chance of gracefully deleting all records. + This step is performed as part of the full uninstallation of a module. + """ + if uid != 1 and not self.pool.get('ir.model.access').check_groups(cr, uid, "base.group_system"): raise except_orm(_('Permission Denied'), (_('Administrator access is required to uninstall a module'))) @@ -846,30 +857,42 @@ class ir_model_data(osv.osv): model = data.model res_id = data.res_id model_obj = self.pool.get(model) - name = data.name - # FIXME: replace custom keys with constants - if str(name).startswith('foreign_key_'): - name = name[12:] - # test if FK exists - cr.execute('select conname from pg_constraint where contype=%s and conname=%s',('f', name),) - if cr.fetchall(): - cr.execute('ALTER TABLE "%s" DROP CONSTRAINT "%s"' % (model,name),) - _logger.info('Drop FK CONSTRAINT %s@%s', name, model) + name = tools.ustr(data.name) + + if name.startswith(EXT_ID_PREFIX_FK) or name.startswith(EXT_ID_PREFIX_M2M_TABLE)\ + or name.startswith(EXT_ID_PREFIX_CONSTRAINT): + # double-check we are really going to delete all the owners of this schema element + cr.execute("""SELECT id from ir_model_data where name = %s and res_id IS NULL""", (data.name,)) + external_ids = [x[0] for x in cr.fetchall()] + if (set(external_ids)-ids_set): + # as installed modules have defined this element we must not delete it! + continue + + if name.startswith(EXT_ID_PREFIX_FK): + name = name[len(EXT_ID_PREFIX_FK):] + # test if FK exists on this table (it could be on a related m2m table, in which case we ignore it) + cr.execute("""SELECT 1 from pg_constraint cs JOIN pg_class cl ON (cs.conrelid = cl.oid) + WHERE cs.contype=%s and cs.conname=%s and cl.relname=%s""", ('f', name, model_obj._table)) + if cr.fetchone(): + cr.execute('ALTER TABLE "%s" DROP CONSTRAINT "%s"' % (model_obj._table, name),) + _logger.info('Dropped FK CONSTRAINT %s@%s', name, model) continue - if str(name).startswith('table_'): - cr.execute("SELECT table_name FROM information_schema.tables WHERE table_name='%s'"%(name[6:])) - column_name = cr.fetchone() - if column_name: - to_drop_table.append(name[6:]) + if name.startswith(EXT_ID_PREFIX_M2M_TABLE): + name = name[len(EXT_ID_PREFIX_M2M_TABLE):] + cr.execute("SELECT 1 FROM information_schema.tables WHERE table_name=%s", (name,)) + if cr.fetchone() and not name in to_drop_table: + to_drop_table.append(name) continue - if str(name).startswith('constraint_'): + if name.startswith(EXT_ID_PREFIX_CONSTRAINT): + name = name[len(EXT_ID_PREFIX_CONSTRAINT):] # test if constraint exists - cr.execute('select conname from pg_constraint where contype=%s and conname=%s',('u', name),) - if cr.fetchall(): - cr.execute('ALTER TABLE "%s" DROP CONSTRAINT "%s"' % (model_obj._table,name[11:]),) - _logger.info('Drop CONSTRAINT %s@%s', name[11:], model) + cr.execute("""SELECT 1 from pg_constraint cs JOIN pg_class cl ON (cs.conrelid = cl.oid) + WHERE cs.contype=%s and cs.conname=%s and cl.relname=%s""", ('u', name, model_obj._table)) + if cr.fetchone(): + cr.execute('ALTER TABLE "%s" DROP CONSTRAINT "%s"' % (model_obj._table, name),) + _logger.info('Dropped CONSTRAINT %s@%s', name, model) continue pair_to_unlink = (model, res_id) @@ -877,21 +900,24 @@ class ir_model_data(osv.osv): to_unlink.append(pair_to_unlink) if model == 'workflow.activity': + # Special treatment for workflow activities: temporarily revert their + # incoming transition and trigger an update to force all workflow items + # to move out before deleting them cr.execute('select res_type,res_id from wkf_instance where id IN (select inst_id from wkf_workitem where act_id=%s)', (res_id,)) wkf_todo.extend(cr.fetchall()) cr.execute("update wkf_transition set condition='True', group_id=NULL, signal=NULL,act_to=act_from,act_from=%s where act_to=%s", (res_id,res_id)) + wf_service = netsvc.LocalService("workflow") for model,res_id in wkf_todo: - wf_service = netsvc.LocalService("workflow") try: wf_service.trg_write(uid, model, res_id, cr) except: - _logger.info('Unable to process workflow %s@%s', res_id, model) + _logger.info('Unable to force processing of workflow for item %s@%s in order to leave activity to be deleted', res_id, model) - # drop relation .table - for model in to_drop_table: - cr.execute('DROP TABLE %s CASCADE'% (model),) - _logger.info('Dropping table %s', model) + # drop m2m relation tables + for table in to_drop_table: + cr.execute('DROP TABLE %s CASCADE'% (table),) + _logger.info('Dropped table %s', table) for (model, res_id) in to_unlink: if model in ('ir.model','ir.model.fields', 'ir.model.data'): @@ -938,13 +964,11 @@ class ir_model_data(osv.osv): """ if not modules: return True - modules = list(modules) - module_in = ",".join(["%s"] * len(modules)) - process_query = 'select id,name,model,res_id,module from ir_model_data where module IN (' + module_in + ')' - process_query+= ' and noupdate=%s' to_unlink = [] - cr.execute(process_query, modules + [False]) - for (id, name, model, res_id,module) in cr.fetchall(): + cr.execute("""SELECT id,name,model,res_id,module FROM ir_model_data + WHERE module IN %s AND res_id IS NOT NULL AND noupdate=%s""", + (tuple(modules), False)) + for (id, name, model, res_id, module) in cr.fetchall(): if (module,name) not in self.loads: to_unlink.append((model,res_id)) if not config.get('import_partial'): diff --git a/openerp/osv/orm.py b/openerp/osv/orm.py index 5e2b9e5ae4c..cad676bbdce 100644 --- a/openerp/osv/orm.py +++ b/openerp/osv/orm.py @@ -70,6 +70,11 @@ _schema = logging.getLogger(__name__ + '.schema') # List of etree._Element subclasses that we choose to ignore when parsing XML. from openerp.tools import SKIPPED_ELEMENT_TYPES +# Prefixes for external IDs of schema elements +EXT_ID_PREFIX_FK = "_foreign_key_" +EXT_ID_PREFIX_M2M_TABLE = "_m2m_rel_table_" +EXT_ID_PREFIX_CONSTRAINT = "_constraint_" + regex_order = re.compile('^(([a-z0-9_]+|"[a-z0-9_]+")( *desc| *asc)?( *, *|))+$', re.I) regex_object_name = re.compile(r'^[a-z0-9_.]+$') @@ -100,10 +105,10 @@ def transfer_node_to_modifiers(node, modifiers, context=None, in_tree_view=False if node.get('states'): if 'invisible' in modifiers and isinstance(modifiers['invisible'], list): - # TODO combine with AND or OR, use implicit AND for now. - modifiers['invisible'].append(('state', 'not in', node.get('states').split(','))) + # TODO combine with AND or OR, use implicit AND for now. + modifiers['invisible'].append(('state', 'not in', node.get('states').split(','))) else: - modifiers['invisible'] = [('state', 'not in', node.get('states').split(','))] + modifiers['invisible'] = [('state', 'not in', node.get('states').split(','))] for a in ('invisible', 'readonly', 'required'): if node.get(a): @@ -2713,6 +2718,14 @@ class BaseModel(object): _schema.debug("Table '%s': column '%s': dropped NOT NULL constraint", self._table, column['attname']) + # quick creation of ir.model.data entry to make uninstall of schema elements easier + def _make_ext_id(self, cr, ext_id): + cr.execute('SELECT 1 FROM ir_model_data WHERE name=%s AND module=%s', (ext_id, self._module)) + if not cr.rowcount: + cr.execute("""INSERT INTO ir_model_data (name,date_init,date_update,module,model) + VALUES (%s, now() AT TIME ZONE 'UTC', now() AT TIME ZONE 'UTC', %s, %s)""", + (ext_id, self._module, self._name)) + # checked version: for direct m2o starting from `self` def _m2o_add_foreign_key_checked(self, source_field, dest_model, ondelete): assert self.is_transient() or not dest_model.is_transient(), \ @@ -3052,12 +3065,7 @@ class BaseModel(object): """ Create the foreign keys recorded by _auto_init. """ for t, k, r, d in self._foreign_keys: cr.execute('ALTER TABLE "%s" ADD FOREIGN KEY ("%s") REFERENCES "%s" ON DELETE %s' % (t, k, r, d)) - name_id = "foreign_key_"+t+"_"+k+"_fkey" - cr.execute('select * from ir_model_data where name=%s and module=%s', (name_id, self._module)) - if not cr.rowcount: - cr.execute("INSERT INTO ir_model_data (name,date_init,date_update,module, model) VALUES (%s, now(), now(), %s, %s)", \ - (name_id, self._module, t) - ) + self._make_ext_id(cr, "%s%s_%s_fkey" % (EXT_ID_PREFIX_FK, t, k)) cr.commit() del self._foreign_keys @@ -3146,6 +3154,7 @@ class BaseModel(object): def _m2m_raise_or_create_relation(self, cr, f): m2m_tbl, col1, col2 = f._sql_names(self) + self._make_ext_id(cr, EXT_ID_PREFIX_M2M_TABLE + m2m_tbl) cr.execute("SELECT relname FROM pg_class WHERE relkind IN ('r','v') AND relname=%s", (m2m_tbl,)) if not cr.dictfetchall(): if not self.pool.get(f._obj): @@ -3153,14 +3162,6 @@ class BaseModel(object): dest_model = self.pool.get(f._obj) ref = dest_model._table cr.execute('CREATE TABLE "%s" ("%s" INTEGER NOT NULL, "%s" INTEGER NOT NULL, UNIQUE("%s","%s")) WITH OIDS' % (m2m_tbl, col1, col2, col1, col2)) - #create many2many references - name_id = 'table_'+m2m_tbl - cr.execute('select * from ir_model_data where name=%s and module=%s', (name_id, self._module)) - if not cr.rowcount: - cr.execute("INSERT INTO ir_model_data (name,date_init,date_update,module, model) VALUES (%s, now(), now(), %s, %s)", \ - (name_id, self._module, self._name) - ) - # self.pool.get('ir.model.data')._update(cr, 1, self._name, self._module, {}, 'table_'+m2m_tbl, store=True, noupdate=False, mode='init', res_id=False, context=None) # create foreign key references with ondelete=cascade, unless the targets are SQL views cr.execute("SELECT relkind FROM pg_class WHERE relkind IN ('v') AND relname=%s", (ref,)) if not cr.fetchall(): @@ -3189,6 +3190,7 @@ class BaseModel(object): for (key, con, _) in self._sql_constraints: conname = '%s_%s' % (self._table, key) + self._make_ext_id(cr, EXT_ID_PREFIX_CONSTRAINT + conname) cr.execute("SELECT conname, pg_catalog.pg_get_constraintdef(oid, true) as condef FROM pg_constraint where conname=%s", (conname,)) existing_constraints = cr.dictfetchall() sql_actions = { @@ -3229,12 +3231,6 @@ class BaseModel(object): cr.execute(sql_action['query']) cr.commit() _schema.debug(sql_action['msg_ok']) - name_id = 'constraint_'+ conname - cr.execute('select * from ir_model_data where name=%s and module=%s', (name_id, module)) - if not cr.rowcount: - cr.execute("INSERT INTO ir_model_data (name,date_init,date_update,module, model) VALUES (%s, now(), now(), %s, %s)", \ - (name_id, module, self._name) - ) except: _schema.warning(sql_action['msg_err']) cr.rollback() From f2272f6ecccbeaf724b787412284e73b70ae11a9 Mon Sep 17 00:00:00 2001 From: Olivier Dony <odo@openerp.com> Date: Sat, 31 Mar 2012 03:34:55 +0200 Subject: [PATCH 306/313] [IMP] ir.model: avoid name clash between dummy vars and translation function _() bzr revid: odo@openerp.com-20120331013455-4wt4utj470gyrtmd --- openerp/addons/base/ir/ir_model.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openerp/addons/base/ir/ir_model.py b/openerp/addons/base/ir/ir_model.py index 01edded16b7..2473a5c9719 100644 --- a/openerp/addons/base/ir/ir_model.py +++ b/openerp/addons/base/ir/ir_model.py @@ -75,7 +75,7 @@ class ir_model(osv.osv): def _search_osv_memory(self, cr, uid, model, name, domain, context=None): if not domain: return [] - _, operator, value = domain[0] + __, operator, value = domain[0] if operator not in ['=', '!=']: raise osv.except_osv(_('Invalid search criterions'), _('The osv_memory field can only be compared with = and != operator.')) value = bool(value) if operator == '=' else not bool(value) @@ -452,7 +452,7 @@ class ir_model_fields(osv.osv): ctx = context.copy() ctx.update({'select': vals.get('select_level','0'),'update_custom_fields':True}) - for _, patch_struct in models_patch.items(): + for __, patch_struct in models_patch.items(): obj = patch_struct[0] for col_name, col_prop, val in patch_struct[1]: setattr(obj._columns[col_name], col_prop, val) From 912c385ff938370aa6f08ed2dd4f1aac63a3e5a7 Mon Sep 17 00:00:00 2001 From: Launchpad Translations on behalf of openerp <> Date: Sat, 31 Mar 2012 05:09:02 +0000 Subject: [PATCH 307/313] Launchpad automatic translations update. bzr revid: launchpad_translations_on_behalf_of_openerp-20120331050841-gnuygt4kxyysny2j bzr revid: launchpad_translations_on_behalf_of_openerp-20120331050902-bt22n9pgjfymankq --- .../i18n/it.po | 374 ++++++++++++++++++ addons/auth_openid/i18n/fi.po | 112 ++++++ addons/hr/i18n/zh_CN.po | 14 +- addons/pad_project/i18n/fi.po | 39 ++ addons/stock/i18n/cs.po | 8 +- openerp/addons/base/i18n/ja.po | 365 ++++++++++------- 6 files changed, 765 insertions(+), 147 deletions(-) create mode 100644 addons/account_bank_statement_extensions/i18n/it.po create mode 100644 addons/auth_openid/i18n/fi.po create mode 100644 addons/pad_project/i18n/fi.po diff --git a/addons/account_bank_statement_extensions/i18n/it.po b/addons/account_bank_statement_extensions/i18n/it.po new file mode 100644 index 00000000000..385192db3e1 --- /dev/null +++ b/addons/account_bank_statement_extensions/i18n/it.po @@ -0,0 +1,374 @@ +# Italian translation for openobject-addons +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2012-02-08 00:35+0000\n" +"PO-Revision-Date: 2012-03-30 19:02+0000\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: Italian <it@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-03-31 05:09+0000\n" +"X-Generator: Launchpad (build 15032)\n" + +#. module: account_bank_statement_extensions +#: view:account.bank.statement.line:0 +msgid "Search Bank Transactions" +msgstr "Cerca transazioni bancarie" + +#. module: account_bank_statement_extensions +#: view:account.bank.statement.line:0 +#: selection:account.bank.statement.line,state:0 +msgid "Confirmed" +msgstr "Confermato" + +#. module: account_bank_statement_extensions +#: view:account.bank.statement:0 +#: view:account.bank.statement.line:0 +msgid "Glob. Id" +msgstr "Glob. Id" + +#. module: account_bank_statement_extensions +#: selection:account.bank.statement.line.global,type:0 +msgid "CODA" +msgstr "CODA" + +#. module: account_bank_statement_extensions +#: field:account.bank.statement.line.global,parent_id:0 +msgid "Parent Code" +msgstr "Codice Genitore" + +#. module: account_bank_statement_extensions +#: view:account.bank.statement.line:0 +msgid "Debit" +msgstr "Debito" + +#. module: account_bank_statement_extensions +#: view:cancel.statement.line:0 +#: model:ir.actions.act_window,name:account_bank_statement_extensions.action_cancel_statement_line +#: model:ir.model,name:account_bank_statement_extensions.model_cancel_statement_line +msgid "Cancel selected statement lines" +msgstr "" + +#. module: account_bank_statement_extensions +#: constraint:res.partner.bank:0 +msgid "The RIB and/or IBAN is not valid" +msgstr "" + +#. module: account_bank_statement_extensions +#: view:account.bank.statement.line:0 +msgid "Group By..." +msgstr "Ragguppa per..." + +#. module: account_bank_statement_extensions +#: field:account.bank.statement.line,state:0 +msgid "State" +msgstr "Stato" + +#. module: account_bank_statement_extensions +#: view:account.bank.statement.line:0 +#: selection:account.bank.statement.line,state:0 +msgid "Draft" +msgstr "Bozza" + +#. module: account_bank_statement_extensions +#: view:account.bank.statement.line:0 +msgid "Statement" +msgstr "Dichiarazione" + +#. module: account_bank_statement_extensions +#: view:confirm.statement.line:0 +#: model:ir.actions.act_window,name:account_bank_statement_extensions.action_confirm_statement_line +#: model:ir.model,name:account_bank_statement_extensions.model_confirm_statement_line +msgid "Confirm selected statement lines" +msgstr "" + +#. module: account_bank_statement_extensions +#: report:bank.statement.balance.report:0 +#: model:ir.actions.report.xml,name:account_bank_statement_extensions.bank_statement_balance_report +msgid "Bank Statement Balances Report" +msgstr "" + +#. module: account_bank_statement_extensions +#: view:cancel.statement.line:0 +msgid "Cancel Lines" +msgstr "Cancella linee" + +#. module: account_bank_statement_extensions +#: view:account.bank.statement.line.global:0 +#: model:ir.model,name:account_bank_statement_extensions.model_account_bank_statement_line_global +msgid "Batch Payment Info" +msgstr "" + +#. module: account_bank_statement_extensions +#: view:confirm.statement.line:0 +msgid "Confirm Lines" +msgstr "Conferma linee" + +#. module: account_bank_statement_extensions +#: code:addons/account_bank_statement_extensions/account_bank_statement.py:130 +#, python-format +msgid "" +"Delete operation not allowed ! Please go to the associated bank " +"statement in order to delete and/or modify this bank statement line" +msgstr "" + +#. module: account_bank_statement_extensions +#: field:account.bank.statement.line.global,type:0 +msgid "Type" +msgstr "" + +#. module: account_bank_statement_extensions +#: view:account.bank.statement.line:0 +#: field:account.bank.statement.line,journal_id:0 +#: report:bank.statement.balance.report:0 +msgid "Journal" +msgstr "Registro" + +#. module: account_bank_statement_extensions +#: view:account.bank.statement.line:0 +msgid "Confirmed Statement Lines." +msgstr "" + +#. module: account_bank_statement_extensions +#: view:account.bank.statement.line:0 +msgid "Credit Transactions." +msgstr "" + +#. module: account_bank_statement_extensions +#: model:ir.actions.act_window,help:account_bank_statement_extensions.action_cancel_statement_line +msgid "cancel selected statement lines." +msgstr "" + +#. module: account_bank_statement_extensions +#: field:account.bank.statement.line,counterparty_number:0 +msgid "Counterparty Number" +msgstr "" + +#. module: account_bank_statement_extensions +#: view:account.bank.statement.line.global:0 +msgid "Transactions" +msgstr "Transazioni" + +#. module: account_bank_statement_extensions +#: code:addons/account_bank_statement_extensions/account_bank_statement.py:130 +#, python-format +msgid "Warning" +msgstr "Attenzione" + +#. module: account_bank_statement_extensions +#: report:bank.statement.balance.report:0 +msgid "Closing Balance" +msgstr "" + +#. module: account_bank_statement_extensions +#: report:bank.statement.balance.report:0 +msgid "Date" +msgstr "Data" + +#. module: account_bank_statement_extensions +#: view:account.bank.statement.line:0 +#: field:account.bank.statement.line,globalisation_amount:0 +msgid "Glob. Amount" +msgstr "" + +#. module: account_bank_statement_extensions +#: view:account.bank.statement.line:0 +msgid "Debit Transactions." +msgstr "" + +#. module: account_bank_statement_extensions +#: view:account.bank.statement.line:0 +msgid "Extended Filters..." +msgstr "" + +#. module: account_bank_statement_extensions +#: view:confirm.statement.line:0 +msgid "Confirmed lines cannot be changed anymore." +msgstr "" + +#. module: account_bank_statement_extensions +#: constraint:res.partner.bank:0 +msgid "" +"\n" +"Please define BIC/Swift code on bank for bank type IBAN Account to make " +"valid payments" +msgstr "" + +#. module: account_bank_statement_extensions +#: field:account.bank.statement.line,val_date:0 +msgid "Valuta Date" +msgstr "" + +#. module: account_bank_statement_extensions +#: model:ir.actions.act_window,help:account_bank_statement_extensions.action_confirm_statement_line +msgid "Confirm selected statement lines." +msgstr "" + +#. module: account_bank_statement_extensions +#: view:cancel.statement.line:0 +msgid "Are you sure you want to cancel the selected Bank Statement lines ?" +msgstr "" + +#. module: account_bank_statement_extensions +#: report:bank.statement.balance.report:0 +msgid "Name" +msgstr "" + +#. module: account_bank_statement_extensions +#: selection:account.bank.statement.line.global,type:0 +msgid "ISO 20022" +msgstr "" + +#. module: account_bank_statement_extensions +#: view:account.bank.statement.line:0 +msgid "Notes" +msgstr "" + +#. module: account_bank_statement_extensions +#: selection:account.bank.statement.line.global,type:0 +msgid "Manual" +msgstr "" + +#. module: account_bank_statement_extensions +#: view:account.bank.statement.line:0 +msgid "Credit" +msgstr "" + +#. module: account_bank_statement_extensions +#: field:account.bank.statement.line.global,amount:0 +msgid "Amount" +msgstr "" + +#. module: account_bank_statement_extensions +#: view:account.bank.statement.line:0 +msgid "Fin.Account" +msgstr "" + +#. module: account_bank_statement_extensions +#: field:account.bank.statement.line,counterparty_currency:0 +msgid "Counterparty Currency" +msgstr "" + +#. module: account_bank_statement_extensions +#: field:account.bank.statement.line,counterparty_bic:0 +msgid "Counterparty BIC" +msgstr "" + +#. module: account_bank_statement_extensions +#: field:account.bank.statement.line.global,child_ids:0 +msgid "Child Codes" +msgstr "" + +#. module: account_bank_statement_extensions +#: view:confirm.statement.line:0 +msgid "Are you sure you want to confirm the selected Bank Statement lines ?" +msgstr "" + +#. module: account_bank_statement_extensions +#: constraint:account.bank.statement.line:0 +msgid "" +"The amount of the voucher must be the same amount as the one on the " +"statement line" +msgstr "" + +#. module: account_bank_statement_extensions +#: help:account.bank.statement.line,globalisation_id:0 +msgid "" +"Code to identify transactions belonging to the same globalisation level " +"within a batch payment" +msgstr "" + +#. module: account_bank_statement_extensions +#: view:account.bank.statement.line:0 +msgid "Draft Statement Lines." +msgstr "" + +#. module: account_bank_statement_extensions +#: view:account.bank.statement.line:0 +msgid "Glob. Am." +msgstr "" + +#. module: account_bank_statement_extensions +#: model:ir.model,name:account_bank_statement_extensions.model_account_bank_statement_line +msgid "Bank Statement Line" +msgstr "" + +#. module: account_bank_statement_extensions +#: field:account.bank.statement.line.global,code:0 +msgid "Code" +msgstr "" + +#. module: account_bank_statement_extensions +#: field:account.bank.statement.line,counterparty_name:0 +msgid "Counterparty Name" +msgstr "" + +#. module: account_bank_statement_extensions +#: field:account.bank.statement.line.global,name:0 +msgid "Communication" +msgstr "" + +#. module: account_bank_statement_extensions +#: model:ir.model,name:account_bank_statement_extensions.model_res_partner_bank +msgid "Bank Accounts" +msgstr "" + +#. module: account_bank_statement_extensions +#: constraint:account.bank.statement:0 +msgid "The journal and period chosen have to belong to the same company." +msgstr "" + +#. module: account_bank_statement_extensions +#: model:ir.model,name:account_bank_statement_extensions.model_account_bank_statement +msgid "Bank Statement" +msgstr "" + +#. module: account_bank_statement_extensions +#: view:account.bank.statement.line:0 +msgid "Statement Line" +msgstr "" + +#. module: account_bank_statement_extensions +#: sql_constraint:account.bank.statement.line.global:0 +msgid "The code must be unique !" +msgstr "" + +#. module: account_bank_statement_extensions +#: field:account.bank.statement.line.global,bank_statement_line_ids:0 +#: model:ir.actions.act_window,name:account_bank_statement_extensions.action_bank_statement_line +#: model:ir.ui.menu,name:account_bank_statement_extensions.bank_statement_line +msgid "Bank Statement Lines" +msgstr "" + +#. module: account_bank_statement_extensions +#: view:account.bank.statement.line.global:0 +msgid "Child Batch Payments" +msgstr "" + +#. module: account_bank_statement_extensions +#: view:cancel.statement.line:0 +#: view:confirm.statement.line:0 +msgid "Cancel" +msgstr "" + +#. module: account_bank_statement_extensions +#: view:account.bank.statement.line:0 +msgid "Statement Lines" +msgstr "" + +#. module: account_bank_statement_extensions +#: view:account.bank.statement.line:0 +msgid "Total Amount" +msgstr "" + +#. module: account_bank_statement_extensions +#: field:account.bank.statement.line,globalisation_id:0 +msgid "Globalisation ID" +msgstr "" diff --git a/addons/auth_openid/i18n/fi.po b/addons/auth_openid/i18n/fi.po new file mode 100644 index 00000000000..64b8bf42ca7 --- /dev/null +++ b/addons/auth_openid/i18n/fi.po @@ -0,0 +1,112 @@ +# Finnish translation for openobject-addons +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2012-02-08 01:37+0100\n" +"PO-Revision-Date: 2012-03-30 09:57+0000\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: Finnish <fi@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-03-31 05:09+0000\n" +"X-Generator: Launchpad (build 15032)\n" + +#. #-#-#-#-# auth_openid.pot (OpenERP Server 6.1rc1) #-#-#-#-# +#. module: auth_openid +#. #-#-#-#-# auth_openid.pot.web (PROJECT VERSION) #-#-#-#-# +#. openerp-web +#: view:res.users:0 +#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:12 +msgid "OpenID" +msgstr "OpenID" + +#. #-#-#-#-# auth_openid.pot (OpenERP Server 6.1rc1) #-#-#-#-# +#. module: auth_openid +#. #-#-#-#-# auth_openid.pot.web (PROJECT VERSION) #-#-#-#-# +#. openerp-web +#: field:res.users,openid_url:0 +#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:47 +msgid "OpenID URL" +msgstr "OpenID URL" + +#. module: auth_openid +#: help:res.users,openid_email:0 +msgid "Used for disambiguation in case of a shared OpenID URL" +msgstr "Käytetään täsmennyksenä, jos käytössä jaettu OpenID URL" + +#. module: auth_openid +#: sql_constraint:res.users:0 +msgid "You can not have two users with the same login !" +msgstr "Kahdella eri käyttäjällä ei voi olla samaa käyttäjätunnusta!" + +#. module: auth_openid +#: field:res.users,openid_email:0 +msgid "OpenID Email" +msgstr "OpenID sähköposti" + +#. module: auth_openid +#: constraint:res.users:0 +msgid "The chosen company is not in the allowed companies for this user" +msgstr "Valittu yritys ei ole sallittu tälle käyttäjälle" + +#. module: auth_openid +#: field:res.users,openid_key:0 +msgid "OpenID Key" +msgstr "OpenID avain" + +#. module: auth_openid +#: model:ir.model,name:auth_openid.model_res_users +msgid "res.users" +msgstr "" + +#. openerp-web +#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:8 +msgid "Password" +msgstr "Salasana" + +#. openerp-web +#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:9 +#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:10 +msgid "Google" +msgstr "Google" + +#. openerp-web +#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:10 +msgid "Google Apps" +msgstr "Google apps" + +#. openerp-web +#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:11 +msgid "Launchpad" +msgstr "Launchpad" + +#. openerp-web +#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:20 +msgid "Google Apps Domain:" +msgstr "Google Apps toimialue:" + +#. openerp-web +#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:24 +msgid "Username:" +msgstr "Käyttäjätunnus:" + +#. openerp-web +#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:28 +msgid "OpenID URL:" +msgstr "OpenID URL:" + +#. openerp-web +#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:35 +msgid "Google Apps Domain" +msgstr "Google Apps toimialue" + +#. openerp-web +#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:41 +msgid "Username" +msgstr "Käyttäjänimi" diff --git a/addons/hr/i18n/zh_CN.po b/addons/hr/i18n/zh_CN.po index 394479311ca..f430bddee12 100644 --- a/addons/hr/i18n/zh_CN.po +++ b/addons/hr/i18n/zh_CN.po @@ -7,14 +7,14 @@ msgstr "" "Project-Id-Version: OpenERP Server 6.0dev\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-02-08 01:37+0100\n" -"PO-Revision-Date: 2012-02-28 02:39+0000\n" +"PO-Revision-Date: 2012-03-31 01:57+0000\n" "Last-Translator: Wei \"oldrev\" Li <oldrev@gmail.com>\n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-02-29 04:42+0000\n" -"X-Generator: Launchpad (build 14874)\n" +"X-Launchpad-Export-Date: 2012-03-31 05:08+0000\n" +"X-Generator: Launchpad (build 15032)\n" #. module: hr #: model:process.node,name:hr.process_node_openerpuser0 @@ -248,7 +248,7 @@ msgstr "报告" #: model:ir.actions.act_window,name:hr.open_board_hr #: model:ir.ui.menu,name:hr.menu_hr_dashboard_user msgid "Human Resources Dashboard" -msgstr "人力资源控制台" +msgstr "人力资源仪表盘" #. module: hr #: view:hr.employee:0 field:hr.employee,job_id:0 view:hr.job:0 @@ -306,7 +306,7 @@ msgstr "员工联系方式" #. module: hr #: view:board.board:0 msgid "My Board" -msgstr "我的控制台" +msgstr "我的面板" #. module: hr #: selection:hr.employee,gender:0 @@ -399,7 +399,7 @@ msgstr "工作地址" #: model:ir.actions.act_window,name:hr.open_board_hr_manager #: model:ir.ui.menu,name:hr.menu_hr_dashboard_manager msgid "HR Manager Dashboard" -msgstr "人力资源经理控制台" +msgstr "人力资源经理仪表盘" #. module: hr #: field:hr.department,child_ids:0 @@ -585,7 +585,7 @@ msgstr "准假" #. module: hr #: view:board.board:0 msgid "HR Manager Board" -msgstr "人力资源经理控制台" +msgstr "人力资源经理面板" #. module: hr #: field:hr.employee,resource_id:0 diff --git a/addons/pad_project/i18n/fi.po b/addons/pad_project/i18n/fi.po new file mode 100644 index 00000000000..941bb5239e4 --- /dev/null +++ b/addons/pad_project/i18n/fi.po @@ -0,0 +1,39 @@ +# Finnish translation for openobject-addons +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2012-02-08 00:36+0000\n" +"PO-Revision-Date: 2012-03-30 10:23+0000\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: Finnish <fi@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-03-31 05:08+0000\n" +"X-Generator: Launchpad (build 15032)\n" + +#. module: pad_project +#: constraint:project.task:0 +msgid "Error ! Task end-date must be greater then task start-date" +msgstr "" +"Virhe! Tehtävän lopetuspäivän tulee olla myöhäisempi kuin aloituspäivä" + +#. module: pad_project +#: model:ir.model,name:pad_project.model_project_task +msgid "Task" +msgstr "Tehtävä" + +#. module: pad_project +#: view:project.task:0 +msgid "Pad" +msgstr "" + +#. module: pad_project +#: constraint:project.task:0 +msgid "Error ! You cannot create recursive tasks." +msgstr "Virhe ! Et voi luoda rekursiivisiä tehtäviä." diff --git a/addons/stock/i18n/cs.po b/addons/stock/i18n/cs.po index d548a8bea8d..b597022cc72 100644 --- a/addons/stock/i18n/cs.po +++ b/addons/stock/i18n/cs.po @@ -7,14 +7,14 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-02-08 01:37+0100\n" -"PO-Revision-Date: 2011-11-07 12:57+0000\n" +"PO-Revision-Date: 2012-03-30 09:54+0000\n" "Last-Translator: Jiří Hajda <robie@centrum.cz>\n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-02-09 05:58+0000\n" -"X-Generator: Launchpad (build 14763)\n" +"X-Launchpad-Export-Date: 2012-03-31 05:08+0000\n" +"X-Generator: Launchpad (build 15032)\n" "X-Poedit-Language: Czech\n" #. module: stock @@ -243,7 +243,7 @@ msgstr "" #. module: stock #: selection:stock.picking,invoice_state:0 msgid "Not Applicable" -msgstr "Nelze aplikovat" +msgstr "Nelze použít" #. module: stock #: help:stock.tracking,serial:0 diff --git a/openerp/addons/base/i18n/ja.po b/openerp/addons/base/i18n/ja.po index e2dbfc9e831..01b7cbbec96 100644 --- a/openerp/addons/base/i18n/ja.po +++ b/openerp/addons/base/i18n/ja.po @@ -8,13 +8,13 @@ msgstr "" "Project-Id-Version: openobject-server\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" "POT-Creation-Date: 2012-02-08 00:44+0000\n" -"PO-Revision-Date: 2012-03-30 02:15+0000\n" +"PO-Revision-Date: 2012-03-31 01:32+0000\n" "Last-Translator: Akira Hiyama <Unknown>\n" "Language-Team: Japanese <ja@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-03-30 04:34+0000\n" +"X-Launchpad-Export-Date: 2012-03-31 05:08+0000\n" "X-Generator: Launchpad (build 15032)\n" #. module: base @@ -25,7 +25,7 @@ msgstr "セントヘレナ" #. module: base #: view:ir.actions.report.xml:0 msgid "Other Configuration" -msgstr "その他コンフィギュレーション" +msgstr "その他の設定" #. module: base #: selection:ir.property,type:0 @@ -448,7 +448,7 @@ msgstr "" #. module: base #: view:ir.actions.todo:0 msgid "Config Wizard Steps" -msgstr "コンフィグウィザードステップ" +msgstr "設定ウィザードステップ" #. module: base #: model:ir.model,name:base.model_ir_ui_view_sc @@ -586,7 +586,7 @@ msgstr "ここをチェックした場合、ユーザが同じ名前で2回目 #. module: base #: model:ir.module.module,shortdesc:base.module_sale_layout msgid "Sales Orders Print Layout" -msgstr "受注のプリントレイアウト" +msgstr "受注オーダーのプリントレイアウト" #. module: base #: selection:base.language.install,lang:0 @@ -1404,10 +1404,10 @@ msgid "" " * Effective Date\n" msgstr "" "\n" -"注文のための追加の日付情報を追加してください。\n" +"受注オーダーのための追加の日付情報を追加してください。\n" "===================================================\n" "\n" -"注文のために以下のような日付情報を加えることができます:\n" +"受注オーダーのために以下のような日付情報を加えることができます:\n" " ・ 要求日\n" " ・ 確認日\n" " ・ 有効日\n" @@ -1848,7 +1848,7 @@ msgstr "" " ・ デフォルトでは国のための知られている検査ルール、通常は簡単なチェックディジットを\n" "  使って簡便なオフラインチェックが実行されます。これは簡単でいつでも利用できますが、\n" "  割り当て済みの番号や正しくない値を許してしまいます。\n" -" ・ 'VAT VIES Check' オプションが使用可能(ユーザの会社のコンフィギュレーションにある)な\n" +" ・ 'VAT VIES Check' オプションが使用可能(ユーザの会社の設定にある)な\n" "  時は、VAT番号はEU VIESデータベースに問い合わせて、その番号がEU会社として実際に割り当て\n" "  られているかを検査します。これは単純なオフラインチェックに比較して多少時間がかり、\n" "  インターネット接続も必要です。全ての時間に利用可能ではないため、サービスが利用可能でき\n" @@ -1981,7 +1981,7 @@ msgstr "左括弧" #. module: base #: model:ir.module.module,shortdesc:base.module_project_mrp msgid "Create Tasks on SO" -msgstr "タスク作成(受注)" +msgstr "タスク作成(受注オーダー)" #. module: base #: field:ir.attachment,res_model:0 @@ -2293,18 +2293,15 @@ msgstr "" "このモジュールは部門を持つ大きな会社にとても役立ちます。\n" "\n" "以下のような異なる目的のためにジャーナルを使うことができます:\n" -"\n" -" ・ 別部門の販売の分離\n" +" ・ 別部門の受注の分離\n" " ・ 配達がトラックなのかUPSなのかの仕訳\n" "\n" "ジャーナルは責任を持ち、異なる状態に展開する:\n" -"\n" " ・ ドラフト、オープン、キャンセル、完了\n" "\n" -"バッチ操作は一度に全ての販売の確認、有効化、請求書の梱包といった異なるジャーナルを処理できます。\n" -"\n" -"バッチ請求方法はパートナごとや受注ごとに構成することもできます。例:\n" +"バッチ操作は一度に全ての受注の確認、有効化、請求書の梱包といった異なるジャーナルを処理できます。\n" "\n" +"バッチ請求方法はパートナごとや受注オーダーごとに構成することもできます。例:\n" " ・ 日々の送付\n" " ・ 月次の送付など\n" "\n" @@ -2584,6 +2581,15 @@ msgid "" "\n" " " msgstr "" +"\n" +"リソース管理のためのモジュール\n" +"===============================\n" +"\n" +"リソースはスケジュールすることのできるものを意味します(タスクの開発者や製造オーダーのワークセンタ)。\n" +"このモジュールは全てのリソースのためにカレンダーに関連するリソースを管理します。\n" +"また、全てのリソースに対する許可も管理します。\n" +"\n" +" " #. module: base #: view:ir.rule:0 @@ -2681,10 +2687,10 @@ msgid "" " " msgstr "" "\n" -"分析的な流通と受注管理のための基本モジュール\n" +"分析的な流通と受注オーダーを管理するための基本モジュール\n" "=================================================================\n" "\n" -"このモジュールを使うことで、受注に対して分析アカウントを結びつけることができます。\n" +"このモジュールを使うことで、受注オーダーに対して分析アカウントを結びつけることができます。\n" " " #. module: base @@ -3329,7 +3335,7 @@ msgid "" "separated list of valid field names (optionally followed by asc/desc for the " "direction)" msgstr "" -"無効な注文が指定されました。正しい注文の仕様は正しい項目名によるカンマ区切りのリストです(オプションで asc / desc が続きます)。" +"無効なオーダーが指定されました。正しいオーダーの仕様は正しい項目名によるカンマ区切りのリストです(オプションで asc / desc が続きます)。" #. module: base #: model:ir.model,name:base.model_ir_module_module_dependency @@ -3590,16 +3596,16 @@ msgid "" " " msgstr "" "\n" -"この基本モジュールは見積りと受注を管理します。\n" +"この基本モジュールは見積りと受注オーダーを管理します。\n" "======================================================\n" "\n" "確認のワークフロー:\n" "-------------------------------\n" -" ・ 見積り -> 受注 -> 請求書\n" +" ・ 見積り -> 受注オーダー -> 請求書\n" "\n" "請求方法:\n" "------------------\n" -" ・ 注文時に請求(発送前または発送後)\n" +" ・ オーダー時に請求(発送前または発送後)\n" " ・ 配達時に請求\n" " ・ タイムシートによる請求\n" " ・ 前請求\n" @@ -3878,7 +3884,7 @@ msgstr "" "\n" "次のような機能があります:\n" "--------------------------------\n" -" ・ 請求書の全行の注文\n" +" ・ 請求書の全行のオーダー\n" " ・ タイトル、コメント欄、小計の追加\n" " ・ 罫線の描画、改ページ\n" "\n" @@ -4661,15 +4667,15 @@ msgid "" " " msgstr "" "\n" -"仕入モジュールは仕入先から商品購入のために仕入注文を生成します。\n" +"発注モジュールは仕入先から商品の購入のために発注オーダーを生成します。\n" "=============================================================================" "============\n" "\n" -"特定の仕入注文に応じた仕入先の請求が作成されます。\n" +"特定の発注オーダーに応じた仕入先の請求が作成されます。\n" "\n" "発注管理のダッシュボードは以下を含みます:\n" -" ・ 最新の仕入注文\n" -" ・ ドラフトの仕入注文\n" +" ・ 最新の発注オーダー\n" +" ・ ドラフトの発注オーダー\n" " ・ 月別の発注量と金額のグラフ\n" "\n" " " @@ -5160,7 +5166,7 @@ msgstr "アブハジア語 / аҧсуа" #. module: base #: view:base.module.configuration:0 msgid "System Configuration Done" -msgstr "システムコンフィギュレーション完了" +msgstr "システム設定完了" #. module: base #: code:addons/orm.py:1459 @@ -5176,7 +5182,7 @@ msgstr "一般的" #. module: base #: view:ir.actions.server:0 msgid "SMS Configuration" -msgstr "SMSコンフィギュレーション" +msgstr "SMSの設定" #. module: base #: model:ir.module.module,description:base.module_document_webdav @@ -5212,8 +5218,8 @@ msgstr "" "\n" "その後、OpenObjectに装着されたものを遠隔地からどの互換ブラウザからでも見ることができます。\n" "\n" -"インストールの後、WebDAVサーバはサーバコンフィグの[webdav]セクションによってコントロールが可能です。\n" -"サーバーコンフィギュレーションパラメータ:\n" +"インストールの後、WebDAVサーバはサーバ設定の[webdav]セクションによってコントロールが可能です。\n" +"サーバ設定パラメータ:\n" "\n" " [webdav]\n" " ; enable = True ; Serve webdav over the http(s) servers\n" @@ -5227,7 +5233,7 @@ msgstr "" " ; these options on\n" "\n" "httpサーバのサービスディスカバリのためにIETF RFC 5785が実装されます。\n" -"これは openerp-server.conf に明確なコンフィギュレーションを必要とします。\n" +"これは openerp-server.conf に明確な設定を必要とします。\n" #. module: base #: model:res.country,name:base.sm @@ -5424,11 +5430,11 @@ msgid "" "order all your purchase orders.\n" msgstr "" "\n" -"このモジュールは仕入要求を管理します。\n" +"このモジュールは発注要求を管理します。\n" "===========================================================\n" "\n" -"仕入注文が作られるときに、あなたは関連する要求を保存する機会を持ちます。\n" -"新しいオブジェクトは再グループ化され容易に追跡を続けることができるので、全ての仕入注文をすることができます。\n" +"発注オーダーが作られるときに、関連する要求を保存する機会を持ちます。\n" +"新しいオブジェクトは再グループ化され容易に追跡を続けることができるので、全ての発注オーダーをオーダーすることができます。\n" #. module: base #: model:res.country,name:base.hu @@ -5525,8 +5531,8 @@ msgstr "" "=============================================================================" "=======\n" "\n" -"受注から生成された生産注文を追跡したい時に基本的に利用されます。\n" -"これは生産注文の販売名や販売リファレンスを追加します。\n" +"受注オーダーから生成された製造オーダーを追跡したい時に基本的に利用されます。\n" +"これは製造オーダーの販売名や販売リファレンスを追加します。\n" " " #. module: base @@ -5739,7 +5745,7 @@ msgstr "" "=============================================================================" "=\n" "\n" -"このモジュールをインストール後、会計のコンフィギュレーションウィザードが自動起動します。\n" +"このモジュールをインストール後、会計の設定ウィザードが自動起動します。\n" " ・ 会計表作成を補助する会計テンプレートがあります。\n" " ・ " "特定のウィザードでは会社の名前、従うべき表のテンプレート、生成するための桁数、あなたのアカウントと銀行口座、ジャーナル作成のための通貨が尋ねられます。\n" @@ -5789,7 +5795,7 @@ msgstr "ザンビア" #. module: base #: view:ir.actions.todo:0 msgid "Launch Configuration Wizard" -msgstr "起動コンフィギュレーションウィザード" +msgstr "起動設定ウィザード" #. module: base #: help:res.partner,user_id:0 @@ -6672,7 +6678,7 @@ msgstr "ジャーナル入力のキャンセル" #. module: base #: view:ir.actions.server:0 msgid "Client Action Configuration" -msgstr "クライアントアクションのコンフィギュレーション" +msgstr "クライアントアクションの設定" #. module: base #: model:ir.model,name:base.model_res_partner_address @@ -8200,7 +8206,7 @@ msgstr "" "最低額を超える購入のための二重検証\n" "=========================================================\n" "\n" -"このモジュールは、コンフィギュレーションウィザードによって設定される最低額を超えた購入を\n" +"このモジュールは、設定ウィザードによって設定される最低額を超えた購入を\n" "検証するための購入ワークフローを変更します。\n" " " @@ -8463,10 +8469,10 @@ msgstr "" "しかし、これは製品ごとに改良されません。\n" "\n" "プッシュプローの仕様は、どの場所がどの場所と何のパラメータでつながれているかを示します。\n" -"製品の所定の量が供給元の場所で動きがあるや否や結び付けられた動作がフロー定義\n" +"製品の所定の量が供給元の場所で動きがあるや否や、結び付けられた動作が、フロー定義\n" "(目的地の場所、遅延、移動の種類、ジャーナル他)でセットされたパラメータにしたがって\n" "自動的に予測されます。\n" -"この新しい動きはパラメータにしたがって自動的に実行されるか、手動確認を要求します。\n" +"この新しい動きは、パラメータにしたがって自動的に実行されるか、手動確認を要求します。\n" "\n" "プルフロー\n" "----------\n" @@ -8476,22 +8482,22 @@ msgstr "" "\n" " [ 顧客 ] <- A - [ アウトレット ] <- B - [ 親会社 ] <~ C ~ [ 仕入先 ]\n" "\n" -"新しい調達注文(A:注文の確認がくる例)がアウトレットに到着すると、それは親会社から要求されたもう一つの調達注文に変換されます(B:プルフローのタイプは'" -"move')。親会社により調達注文Bが処理される時、そしてその製品が在庫切れの時、それは仕入先からの仕入注文(C:プルフローのタイプは仕入)に変換されます" -"。結果として調達注文、ニーズは顧客と仕入先の間の全てにプッシュされます。\n" +"新しい調達オーダー(A:例として受注オーダーの確認がくる)がアウトレットに到着すると、それは親会社から要求されたもう一つの調達に変換されます(B:プルフロ" +"ーのタイプは'move')。親会社により調達オーダーBが処理される時、そしてその製品が在庫切れの時、それは仕入先への発注オーダー(C:プルフローのタイプは" +"発注)に変換されます。結果として調達オーダー、ニーズは顧客と仕入先の間の全てにプッシュされます。\n" "\n" -"技術的には、プルフローは調達注文と別に処理することを許します。製品に対しての考慮に依存するのみならず、その製品のニーズを持つ場所(即ち調達注文の目的地)に" -"依存します。\n" +"専門的には、プルフローは調達オーダーと別に処理することを許します。製品に対しての考慮に依存するのみならず、その製品のニーズを持つ場所(即ち調達オーダーの目" +"的地)に依存します。\n" "\n" "使用例\n" "--------\n" "\n" "以下のデモデータを使います:\n" " CPU1:ショップ1からいくらかのCPU1を売り、スケジューラを走らせます。\n" -" - 倉庫:配達注文,ショップ1: 受付\n" +" - 倉庫:配達オーダー,ショップ1: 受付\n" " CPU3:\n" " - 商品を受け取る時、それは品質管理場所に行き、棚2に保管されます。\n" -" - 顧客に配達する時:ピックリスト -> 梱包 -> GateAから配達注文\n" +" - 顧客に配達する時:ピックリスト -> 梱包 -> GateAから配達オーダー\n" " " #. module: base @@ -8558,23 +8564,23 @@ msgid "" "\n" msgstr "" "\n" -"自動的に調達ラインからプロジェクトタスクの生成します。\n" +"自動的に調達行からプロジェクトタスクを生成します。\n" "==========================================================\n" "\n" -"対応する製品が以下の特徴を満たす場合、このモジュールはそれぞれの調達注文ライン\n" -"(例えば販売注文ライン)のための新しいタスクを作成します。\n" +"対応する製品が以下の特徴を満たす場合、このモジュールはそれぞれの調達オーダー行\n" +"(例えば受注オーダー行)のための新しいタスクを作成します。\n" "\n" " ・ タイプ = サービス\n" -" ・ 調達手法(注文実現) = MTO(受注生産)\n" -" ・ 供給 / 調達手法 = 産物\n" +" ・ 調達手法(オーダー実現) = MTO(受注生産)\n" +" ・ 供給 / 調達方法 = 製造\n" "\n" "もし先頭のプロジェクトが製品フォーム(調達タブ)で定義されているなら、新しいタスクは\n" "その特定のプロジェクトの中に作られます。\n" "それ以外の場合は、新しいタスクはどんなプロジェクトにも属さず、後で手作業でプロジェクトに\n" "追加されるかも知れません。\n" "\n" -"プロジェクトのタスクが完了するか、中止される時、調達ラインに対応するワークフローはそれに応じて更新されます。\n" -"例えば、もしこの調達が受注ラインに対応するなら、仕事が完了する時に受注ラインは配達されたと考えられます。\n" +"プロジェクトのタスクが完了するか、中止される時、調達行に対応するワークフローはそれに応じて更新されます。\n" +"例えば、もしこの調達が受注オーダー行に対応するなら、仕事が完了する時に受注オーダー行は配達されたと考えられます。\n" "\n" #. module: base @@ -9393,13 +9399,13 @@ msgstr "" "このモジュールはコンピュータ調達のためのモジュールです。\n" "==============================================\n" "\n" -"MRPプロセスでは、製造注文、仕入注文、在庫割り当てなどを起動されるために調達指示が作成されます。\n" -"調達注文はシステムにより自動的に生成され、そして問題がある場合を除きユーザには通知されません。\n" +"MRPプロセスでは、製造オーダー、発注オーダー、在庫割り当てなどを起動されるために調達オーダーが作成されます。\n" +"調達オーダーはシステムにより自動的に生成され、そして問題がある場合を除きユーザには通知されません。\n" "問題は生じた場合には、システムは手作業で解決されるべき阻害要因について(組み立てBoM(部品表)の欠如、仕入先の欠落の類い)、ユーザに知らせるために幾つか" "の調達例外を発生させます。\n" "\n" -"調達指示は補充を必要とする製品の自動調達のための提案をスケジュールします。この調達は仕入先の仕入注文書かまたは製品の構成に応じてた製造注文のタスクを開始し" -"ます。\n" +"調達オーダーは補充を必要とする製品の自動調達のための提案をスケジュールします。この調達は仕入先の発注オーダーかまたは製品の構成に応じてた製造オーダーのタス" +"クを開始します。\n" " " #. module: base @@ -10159,14 +10165,14 @@ msgstr "" "--------------\n" "このモジュールは以下の3つのステップでなされます:\n" "\n" -"・ 在庫期間を作成 倉庫 > コンフィギュレーション > 在庫期間メニュー(必須のステップ)\n" +"・ 在庫期間を作成 倉庫 > 設定 > 在庫期間メニュー(必須のステップ)\n" "・ 予測数量を埋めた販売予測の作成 販売 > 販売予測メニュー\n" "  (オプションのステップ。しかし将来計画に役立つ)\n" "・ 実際のMPS計画の作成、残高をチェック、必要な調達を行う。実際の調達は在庫期間の最後のステップ\n" "\n" -"在庫期間のコンフィギュレーション\n" +"在庫期間の設定\n" "--------------------------\n" -"倉庫 > コンフィギュレーション > 在庫期間 に期間のために2つのメニューがあります:\n" +"倉庫 > 設定 > 在庫期間 に期間のために2つのメニューがあります:\n" "\n" "・ 在庫期間作成 - 日次、週次、月次の自動作成が可能\n" "・ 在庫期間 - どんな期間のタイプの作成も日付の変更も期間の状態の変更も可能\n" @@ -10188,7 +10194,7 @@ msgstr "" "・ 同じ製品に対して重複する期間を使う場合、倉庫と会社の結果は予測できません。\n" "・ 現在日付がどの期間にも属さない場合や期間の間に空きがある場合にはその結果は予測できません。\n" "\n" -"販売予測コンフィギュレーション\n" +"販売予測の設定\n" "-----------------------------\n" "販売 > 販売予測 に販売予測のための幾つかのメニューがあります:\n" "\n" @@ -10242,9 +10248,7 @@ msgstr "" "In)の数量はいつでも変更できます。そして、もし所定の期間でもっと多くの製品を入手する必要があるかどうかを決めるために\"在庫シミュレーション\"の値の結" "果を注視して下さい。\n" "\"計画出庫\"は、最初にすでに計画された期間と倉庫のために全て出て行く在庫の動きの合計である\"倉庫予測\"を基にします。\n" -"もちろん、あなた自身の数量を与えるためにその値を変更することができます。予測を持つ必要はありません\n" -"\n" -"。\n" +"もちろん、あなた自身の数量を与えるためにその値を変更することができます。予測を持つ必要はありません。\n" "\"計画入庫\"の数量は期間の終わりにおける\"在庫シミュレーション\"に到達するために入手されるべき数量である項目の\"入って来る残り\"を計算するため" "に使われます。\n" "\"在庫シミュレーション\"数量とフォーム上に見える最小在庫ルールを比較することができます。\n" @@ -10624,7 +10628,7 @@ msgstr "" "\n" "特徴:\n" "---------\n" -" ・ 在庫の作成 / 注文の作成(ラインによる)\n" +" ・ 在庫の作成 / オーダーの作成(ラインによる)\n" " ・ 複数レベルのBoMs(Mill of Materials:部品表)、制限なし\n" " ・ 複数レベルの経路、制限なし\n" " ・ 経路とワークセンターが分析的な会計とともに統合されます。\n" @@ -10897,7 +10901,7 @@ msgstr "" #. module: base #: model:ir.module.module,shortdesc:base.module_sale_margin msgid "Margins in Sales Orders" -msgstr "販売注文のマージン" +msgstr "受注オーダーのマージン" #. module: base #: model:res.partner.category,name:base.res_partner_category_9 @@ -11203,7 +11207,7 @@ msgstr "" "隠されたレポーティングのインストーラ\n" "==============================\n" "\n" -"レポーティングの隠されたコンフィグレーションを有効にすることで、base_report_designer や base_report_creator " +"レポーティングの隠された設定を有効にすることで、base_report_designer や base_report_creator " "のようなモジュールのインストールが可能です。\n" " " @@ -11475,8 +11479,7 @@ msgstr "スペイン語(コロンビア)/ Español (CO)" msgid "" "All pending configuration wizards have been executed. You may restart " "individual wizards via the list of configuration wizards." -msgstr "" -"全ての保留中のコンフィギュレーションウィザードは実行されました。あなたはコンフィグレーションウィザードのリストを介して、個別ウィザードの再起動ができます。" +msgstr "全ての保留中の設定ウィザードは実行されました。あなたは設定ウィザードのリストを介して、個別ウィザードの再起動ができます。" #. module: base #: view:ir.sequence:0 @@ -11827,10 +11830,10 @@ msgid "" "Adds a Claim link to the delivery order.\n" msgstr "" "\n" -"配達注文からクレームを作成します。\n" +"配達オーダーからクレームを作成します。\n" "=====================================\n" "\n" -"配達注文にクレームのリンクを加えます。\n" +"配達オーダーにクレームのリンクを加えます。\n" #. module: base #: view:ir.model:0 @@ -12133,7 +12136,7 @@ msgstr "" #. module: base #: model:ir.model,name:base.model_ir_actions_todo_category msgid "Configuration Wizard Category" -msgstr "コンフィギュレーションウィザードの分類" +msgstr "設定ウィザードの分類" #. module: base #: view:base.module.update:0 @@ -12520,7 +12523,7 @@ msgstr "子ID" #: code:addons/base/ir/ir_actions.py:751 #, python-format msgid "Problem in configuration `Record Id` in Server Action!" -msgstr "サーバアクションのレコードIDコンフィギュレーションの問題です。" +msgstr "サーバアクションのレコードID設定の問題です。" #. module: base #: code:addons/orm.py:2682 @@ -12547,7 +12550,7 @@ msgid "" " " msgstr "" "\n" -"このモジュールは販売注文に\"マージン\"を追加します。\n" +"このモジュールは受注オーダーに\"マージン\"を追加します。\n" "=============================================\n" "\n" "ユニット価格とコスト価格の差を計算し利益を求めます。\n" @@ -12755,7 +12758,7 @@ msgstr "" #. module: base #: view:ir.actions.configuration.wizard:0 msgid "Next Configuration Step" -msgstr "次のコンフィギュレーションステップ" +msgstr "次の設定ステップ" #. module: base #: field:res.groups,comment:0 @@ -13001,7 +13004,7 @@ msgstr "グレナダ" #. module: base #: view:ir.actions.server:0 msgid "Trigger Configuration" -msgstr "トリガーコンフィギュレーション" +msgstr "トリガー設定" #. module: base #: view:base.language.install:0 @@ -13024,7 +13027,7 @@ msgstr "" "OpenERPオブジェクトの中の警告トリガーのモジュール\n" "==============================================\n" "\n" -"警告メッセージは購入注文、仕入注文、収集、請求のようなオブジェクトのために表示させることができます。\n" +"警告メッセージは受注オーダー、発注オーダー、収集、請求書のようなオブジェクトのために表示させることができます。\n" "このメッセージはフォームのonChangeイベントによってトリガーとなります。\n" " " @@ -13217,7 +13220,7 @@ msgid "" " " msgstr "" "\n" -"このモジュールでは、パートナの価格リストを基に販売注文の行や請求書の行での割引計算ができます。\n" +"このモジュールでは、パートナの価格リストを基に受注オーダーの行や請求書の行での割引計算ができます。\n" "=============================================================================" "==================================\n" "\n" @@ -13225,8 +13228,8 @@ msgstr "" "\n" "例:\n" " 製品PC1とパートナAsustek:リスト価格=450で、Asustekの価格リストを使って計算された価格=225の場合\n" -" チェックボックスがチェックありの時、販売注文の行:ユニット価格=450、割引=50.00、ネット価格=225\n" -" チェックボックスがチェックなしの時、販売注文と請求書の行:ユニット価格=225、割引=0.00、ネット価格=225\n" +" チェックボックスがチェックありの時、受注オーダーの行:ユニット価格=450、割引=50.00、ネット価格=225\n" +" チェックボックスがチェックなしの時、受注オーダーと請求書の行:ユニット価格=225、割引=0.00、ネット価格=225\n" " " #. module: base @@ -13287,50 +13290,50 @@ msgstr "月:%(month)s" #: field:res.widget.user,sequence:0 #: field:wizard.ir.model.menu.create.line,sequence:0 msgid "Sequence" -msgstr "" +msgstr "順序" #. module: base #: model:res.country,name:base.tn msgid "Tunisia" -msgstr "" +msgstr "チュニジア" #. module: base #: view:ir.actions.todo:0 msgid "Wizards to be Launched" -msgstr "" +msgstr "ウィザードの開始" #. module: base #: model:ir.module.category,name:base.module_category_manufacturing #: model:ir.ui.menu,name:base.menu_mrp_root msgid "Manufacturing" -msgstr "" +msgstr "製造" #. module: base #: model:res.country,name:base.km msgid "Comoros" -msgstr "" +msgstr "コモロ" #. module: base #: view:res.request:0 msgid "Draft and Active" -msgstr "" +msgstr "ドラフトとアクティブ" #. module: base #: model:ir.actions.act_window,name:base.action_server_action #: view:ir.actions.server:0 #: model:ir.ui.menu,name:base.menu_server_action msgid "Server Actions" -msgstr "" +msgstr "サーバーアクション" #. module: base #: field:res.partner.bank.type,format_layout:0 msgid "Format Layout" -msgstr "" +msgstr "フォーマットレイアウト" #. module: base #: field:ir.model.fields,selection:0 msgid "Selection Options" -msgstr "" +msgstr "選択オプション" #. module: base #: field:res.partner.category,parent_right:0 @@ -13340,7 +13343,7 @@ msgstr "右括弧" #. module: base #: model:ir.module.module,shortdesc:base.module_auth_openid msgid "OpenID Authentification" -msgstr "" +msgstr "OpenID認証" #. module: base #: model:ir.module.module,description:base.module_plugin_thunderbird @@ -13356,33 +13359,42 @@ msgid "" "HR Applicant and Project Issue from selected mails.\n" " " msgstr "" +"\n" +"このモジュールは適切に動作するためにThuderbird プラグインが必要とされます。\n" +"====================================================================\n" +"\n" +"プラグインは選択されたOpenERPオブジェクトにEメールと添付ファイルのアーカイブを許可します。\n" +"パートナ、タスク、プロジェクト、分析アカウント、またはどんな他のオブジェクトでも選択して、\n" +"選択されたメールを 選択されたレコードの添付ファイルの中に.emlファイルとして添付できます。\n" +"選択されたメールからCRMのリード、HRの応募者、プロジェクトの問題のドキュメントを作成できます。\n" +" " #. module: base #: view:res.lang:0 msgid "Legends for Date and Time Formats" -msgstr "" +msgstr "日付と時刻フォーマットの凡例" #. module: base #: selection:ir.actions.server,state:0 msgid "Copy Object" -msgstr "" +msgstr "オブジェクトのコピー" #. module: base #: model:ir.module.module,shortdesc:base.module_mail msgid "Emails Management" -msgstr "" +msgstr "Eメール管理" #. module: base #: field:ir.actions.server,trigger_name:0 msgid "Trigger Signal" -msgstr "" +msgstr "トリガーのシグナル" #. module: base #: code:addons/base/res/res_users.py:119 #, python-format msgid "" "Group(s) cannot be deleted, because some user(s) still belong to them: %s !" -msgstr "" +msgstr "グループの削除はできません。なぜなら一部のユーザはまだそのグループに属しています:%s" #. module: base #: model:ir.module.module,description:base.module_mrp_repair @@ -13400,18 +13412,29 @@ msgid "" " * Repair quotation report\n" " * Notes for the technician and for the final customer\n" msgstr "" +"\n" +"全ての製品修理管理の完全なモジュールを持つことを目的にしています。以下のトピックはこのモジュールでカバーする必要があります:\n" +"=============================================================================" +"==============================================\n" +"\n" +" ・ 賠償製品の追加と削除\n" +" ・ 在庫の影響\n" +" ・ 請求書(製品またはサービス)\n" +" ・ 保証のコンセプト\n" +" ・ 修理見積書\n" +" ・ 技術者のため、最終顧客のための記録\n" #. module: base #: model:ir.actions.act_window,name:base.action_country_state #: model:ir.ui.menu,name:base.menu_country_state_partner msgid "Fed. States" -msgstr "" +msgstr "連邦" #. module: base #: view:ir.model:0 #: view:res.groups:0 msgid "Access Rules" -msgstr "" +msgstr "アクセスルール" #. module: base #: model:ir.module.module,description:base.module_knowledge @@ -13425,11 +13448,17 @@ msgid "" "document and Wiki based Hidden.\n" " " msgstr "" +"\n" +"知識ベースHiddenのインストーラ\n" +"====================================\n" +"\n" +"Hiddenに基づくドキュメントやWikiのインストールすることで、知識アプリケーション設定が提供されます。\n" +" " #. module: base #: field:res.groups,trans_implied_ids:0 msgid "Transitively inherits" -msgstr "" +msgstr "推移的継承" #. module: base #: field:ir.default,ref_table:0 @@ -13440,7 +13469,7 @@ msgstr "テーブルの参照" #: code:addons/base/ir/ir_mail_server.py:443 #, python-format msgid "Mail delivery failed" -msgstr "" +msgstr "メールの配信が失敗しました。" #. module: base #: field:ir.actions.act_window,res_model:0 @@ -13463,7 +13492,7 @@ msgstr "" #: field:res.request.link,object:0 #: field:workflow.triggers,model:0 msgid "Object" -msgstr "" +msgstr "オブジェクト" #. module: base #: code:addons/osv.py:147 @@ -13473,6 +13502,9 @@ msgid "" "\n" "[object with reference: %s - %s]" msgstr "" +"\n" +"\n" +"[オブジェクトの参照: %s - %s]" #. module: base #: model:ir.module.module,shortdesc:base.module_account_analytic_plans @@ -13493,21 +13525,29 @@ msgid "" "\n" " " msgstr "" +"\n" +"タイムシートエントリーとプロジェクトタスクワークエントリーの同期\n" +"====================================================================\n" +"\n" +"このモジュールは特定の日付の特定のユーザのタイムシート行エントリーの作成、編集、削除\n" +"の反映とともに、プロジェクト管理のために定義されたタスクの元にそのエントリーの転送ができます。\n" +"\n" +" " #. module: base #: view:ir.sequence:0 msgid "Minute: %(min)s" -msgstr "" +msgstr "分:%(min)s" #. module: base #: model:ir.ui.menu,name:base.next_id_10 msgid "Scheduler" -msgstr "" +msgstr "スケジューラ" #. module: base #: model:ir.module.module,shortdesc:base.module_base_tools msgid "Base Tools" -msgstr "" +msgstr "基本ツール" #. module: base #: help:res.country,address_format:0 @@ -13526,6 +13566,18 @@ msgid "" " \n" "%(country_code)s: the code of the country" msgstr "" +"ここでは、この国に属する住所に使うための通常のフォーマットを決めることができます。\n" +"\n" +"住所の全ての項目にPythonスタイルの文字パターンを使うことができます(例:'%(street)s'を使うと\"street\"項目を表示します)。加え" +"て\n" +" \n" +"%(state_name)s:州の名前\n" +" \n" +"%(state_code)s:州のコード\n" +" \n" +"%(country_name)s:国の名前\n" +" \n" +"%(country_code)s:国のコード" #. module: base #: model:ir.module.module,description:base.module_pad @@ -13539,6 +13591,13 @@ msgid "" "(by default, http://ietherpad.com/).\n" " " msgstr "" +"\n" +"WebクライアントにEtherPadのための拡張をサポートします。\n" +"===================================================================\n" +"\n" +"PADはカスタマイズできます。Padのインストールは新しいPadのためのリンクを使って下さい。\n" +"デフォルトでは http://ietherpad.com/ です。\n" +" " #. module: base #: model:ir.module.module,shortdesc:base.module_l10n_uk @@ -13574,6 +13633,30 @@ msgid "" " * http://controlchaos.com\n" " " msgstr "" +"\n" +"このモジュールはIT会社のためにScrumプロジェクト管理により定義された全てのコンセプトを実装しています。\n" +"=============================================================================" +"============================\n" +"\n" +" ・ スプリントプロジェクト、プロダクトオーナー、スクラムマスター\n" +" ・スプリントの レビュー、デイリーミーティング、フィードバック\n" +" ・ 製品バックログ\n" +" ・ スプリントバックログ\n" +"\n" +"それは、プロジェクト管理モジュールに幾つかのコンセプトを追加します:\n" +" ・ 中期、長期のロードマップ\n" +" ・ 顧客 / 機能の要求 VS 技術的な要求\n" +"\n" +"それは新しいレポートも作成します:\n" +" ・ バーンダウンチャート\n" +"\n" +"Scrumプロジェクトとタスクは実際のプロジェクトとタスクから継承されています。\n" +"通常のタスクにはScrumプロジェクトからのタスクも含まれているため、その仕事を\n" +"続ける事ができます。\n" +"\n" +"方法論についてのさらなる情報:\n" +" ・ http://controlchaos.com\n" +" " #. module: base #: code:addons/base/ir/ir_model.py:371 @@ -13581,7 +13664,7 @@ msgstr "" msgid "" "Changing the type of a column is not yet supported. Please drop it and " "create it again!" -msgstr "" +msgstr "列のタイプの変更は現在サポートされていません。削除後、再作成して下さい。" #. module: base #: field:ir.ui.view_sc,user_id:0 @@ -13592,12 +13675,12 @@ msgstr "ユーザの参照" #: code:addons/base/res/res_users.py:118 #, python-format msgid "Warning !" -msgstr "" +msgstr "警告!" #. module: base #: model:res.widget,title:base.google_maps_widget msgid "Google Maps" -msgstr "" +msgstr "Google マップ" #. module: base #: model:ir.ui.menu,name:base.menu_base_config @@ -13609,7 +13692,7 @@ msgstr "" #: view:res.company:0 #: model:res.groups,name:base.group_system msgid "Configuration" -msgstr "" +msgstr "設定" #. module: base #: model:ir.module.module,shortdesc:base.module_l10n_in @@ -13619,12 +13702,12 @@ msgstr "インド-会計" #. module: base #: field:ir.actions.server,expression:0 msgid "Loop Expression" -msgstr "" +msgstr "ループ式" #. module: base #: field:publisher_warranty.contract,date_start:0 msgid "Starting Date" -msgstr "" +msgstr "開始日" #. module: base #: model:ir.module.module,shortdesc:base.module_l10n_gt @@ -13634,12 +13717,12 @@ msgstr "グアテマラ-会計" #. module: base #: help:ir.cron,args:0 msgid "Arguments to be passed to the method, e.g. (uid,)." -msgstr "" +msgstr "メソッドに渡される引数、例(UID)。" #. module: base #: model:res.partner.category,name:base.res_partner_category_5 msgid "Gold Partner" -msgstr "" +msgstr "ゴールドパートナ" #. module: base #: model:ir.model,name:base.model_res_partner @@ -13649,34 +13732,34 @@ msgstr "" #: selection:res.partner.title,domain:0 #: model:res.request.link,name:base.req_link_partner msgid "Partner" -msgstr "" +msgstr "パートナ" #. module: base #: field:ir.model.fields,complete_name:0 #: field:ir.ui.menu,complete_name:0 msgid "Complete Name" -msgstr "" +msgstr "完全な名前" #. module: base #: model:res.country,name:base.tr msgid "Turkey" -msgstr "" +msgstr "トルコ" #. module: base #: model:res.country,name:base.fk msgid "Falkland Islands" -msgstr "" +msgstr "フォークランド諸島" #. module: base #: model:res.country,name:base.lb msgid "Lebanon" -msgstr "" +msgstr "レバノン" #. module: base #: view:ir.actions.report.xml:0 #: field:ir.actions.report.xml,report_type:0 msgid "Report Type" -msgstr "" +msgstr "レポートタイプ" #. module: base #: field:ir.actions.todo,state:0 @@ -13689,7 +13772,7 @@ msgstr "" #: field:workflow.instance,state:0 #: field:workflow.workitem,state:0 msgid "State" -msgstr "" +msgstr "状態" #. module: base #: model:ir.module.module,description:base.module_hr_evaluation @@ -13707,6 +13790,16 @@ msgid "" "in the form of pdf file. Implements a dashboard for My Current Evaluations\n" " " msgstr "" +"\n" +"従業員の評価を作成する機能\n" +"=======================================\n" +"\n" +"評価は彼の管理者と同様に部下や後輩のために従業員によって作成することができます。\n" +"その評価は様々な調査を作成され、そして従業員階層のどのレベルが何を満たすかを定義\n" +"された計画の下で実行されます。そして最終レビューと評価は管理者によって実行されます。\n" +"全ての評価は従業員によってファイルされ、それはPDFファイルの形式で見ることができます。\n" +"自身の現在の評価のためにダッシュボードを実装しています。\n" +" " #. module: base #: selection:base.language.install,lang:0 @@ -13716,7 +13809,7 @@ msgstr "ガリラヤ語 / Galego" #. module: base #: model:res.country,name:base.no msgid "Norway" -msgstr "" +msgstr "ノルウェー" #. module: base #: view:res.lang:0 @@ -13727,17 +13820,17 @@ msgstr "" #: view:base.language.install:0 #: model:ir.ui.menu,name:base.menu_view_base_language_install msgid "Load an Official Translation" -msgstr "" +msgstr "公式の翻訳をロード" #. module: base #: view:res.currency:0 msgid "Miscelleanous" -msgstr "" +msgstr "その他" #. module: base #: model:res.partner.category,name:base.res_partner_category_10 msgid "Open Source Service Company" -msgstr "" +msgstr "オープンソースサービス会社" #. module: base #: selection:base.language.install,lang:0 @@ -13747,12 +13840,12 @@ msgstr "シンハラ語 / සිංහල" #. module: base #: selection:res.request,state:0 msgid "waiting" -msgstr "" +msgstr "待機中" #. module: base #: field:ir.actions.report.xml,report_file:0 msgid "Report file" -msgstr "" +msgstr "レポートファイル" #. module: base #: model:ir.model,name:base.model_workflow_triggers @@ -13763,24 +13856,24 @@ msgstr "" #: code:addons/base/ir/ir_model.py:74 #, python-format msgid "Invalid search criterions" -msgstr "" +msgstr "検索基準が無効です。" #. module: base #: view:ir.mail_server:0 msgid "Connection Information" -msgstr "" +msgstr "接続情報" #. module: base #: view:ir.attachment:0 msgid "Created" -msgstr "" +msgstr "作成済" #. module: base #: help:ir.actions.wizard,multi:0 msgid "" "If set to true, the wizard will not be displayed on the right toolbar of a " "form view." -msgstr "" +msgstr "Trueにセットする場合、ウィザードはフォームビューの右のツールバー上には表示されません。" #. module: base #: view:base.language.import:0 @@ -13790,7 +13883,7 @@ msgstr "" #. module: base #: model:res.country,name:base.hm msgid "Heard and McDonald Islands" -msgstr "" +msgstr "ハード島とマクドナルド諸島" #. module: base #: help:ir.model.data,name:0 @@ -15067,11 +15160,11 @@ msgid "" " " msgstr "" "\n" -"この基本モジュールは分析的な分類と仕入注文を管理します。\n" +"この基本モジュールは分析的な分類と発注オーダーを管理します。\n" "====================================================================\n" "\n" "ユーザは複数の分析計画を維持することができます。\n" -"これはあなたに仕入先の仕入注文のラインを複数のアカウントと分析計画に分割させます。\n" +"仕入先の発注オーダーのラインを複数のアカウントと分析計画に分割します。\n" " " #. module: base @@ -15668,8 +15761,8 @@ msgid "" "Check this box if the partner is a supplier. If it's not checked, purchase " "people will not see it when encoding a purchase order." msgstr "" -"パートナが仕入先である場合は、このチェックボックスをオンにして下さい。それをチェックしない場合は、仕入注文をエンコードする際に、仕入の人々はそれを見ること" -"はできません。" +"パートナが仕入先である場合は、このチェックボックスをオンにして下さい。それをチェックしない場合は、発注オーダーをエンコードする際に、仕入の人々はそれを見る" +"ことはできません。" #. module: base #: field:ir.actions.server,trigger_obj_id:0 From 3b331f46b19569a06ac446daecfd37a68b695236 Mon Sep 17 00:00:00 2001 From: Antony Lesuisse <al@openerp.com> Date: Sat, 31 Mar 2012 17:55:31 +0200 Subject: [PATCH 308/313] [IMP] contacts topmost menu in sales bzr revid: al@openerp.com-20120331155531-dei1gnq9rb1eigdk --- addons/crm/crm_lead_menu.xml | 19 ++++--------------- 1 file changed, 4 insertions(+), 15 deletions(-) diff --git a/addons/crm/crm_lead_menu.xml b/addons/crm/crm_lead_menu.xml index 78ab4832609..f7db0357ed8 100644 --- a/addons/crm/crm_lead_menu.xml +++ b/addons/crm/crm_lead_menu.xml @@ -27,15 +27,7 @@ <field name="act_window_id" ref="crm_case_category_act_leads_all"/> </record> - <menuitem id="base.menu_sales" name="Sales" - parent="base.menu_base_partner" sequence="1" /> - - <menuitem parent="base.menu_sales" name="Leads" - id="menu_crm_case_categ0_act_leads" - action="crm_case_category_act_leads_all" sequence="1" /> - - - <act_window + <act_window id="act_crm_opportunity_crm_phonecall_new" name="Phone calls" groups="base.group_extended" @@ -97,12 +89,9 @@ You and your team(s) will be able to plan meetings and phone calls from opportun <field name="act_window_id" ref="crm_case_category_act_oppor11"/> </record> - <menuitem id="base.menu_sales" name="Sales" - parent="base.menu_base_partner" sequence="1" /> - - <menuitem name="Opportunities" id="menu_crm_case_opp" - parent="base.menu_sales" action="crm_case_category_act_oppor11" - sequence="2" /> + <menuitem name="Sales" id="base.menu_sales" parent="base.menu_base_partner" sequence="1" /> + <menuitem name="Leads" id="menu_crm_leads" parent="base.menu_sales" action="crm_case_category_act_leads_all" sequence="2" /> + <menuitem name="Opportunities" id="menu_crm_opportunities" parent="base.menu_sales" action="crm_case_category_act_oppor11" sequence="3" /> </data> </openerp> From c59618cec50612daf70da5ef87e4b4c080bf32d7 Mon Sep 17 00:00:00 2001 From: Antony Lesuisse <al@openerp.com> Date: Sat, 31 Mar 2012 17:56:10 +0200 Subject: [PATCH 309/313] [IMP] contacts topmost menu in sales bzr revid: al@openerp.com-20120331155610-vevktbv6c61yrcp0 --- openerp/addons/base/res/res_partner_view.xml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/openerp/addons/base/res/res_partner_view.xml b/openerp/addons/base/res/res_partner_view.xml index a55c8e49f65..ffbbca3eb74 100644 --- a/openerp/addons/base/res/res_partner_view.xml +++ b/openerp/addons/base/res/res_partner_view.xml @@ -597,18 +597,13 @@ <field name="view_id" ref="view_partner_form"/> <field name="act_window_id" ref="action_partner_form"/> </record> - <record id="action_partner_tree_view1" model="ir.actions.act_window.view"> <field name="sequence" eval="1"/> <field name="view_mode">tree</field> <field name="view_id" ref="view_partner_tree"/> <field name="act_window_id" ref="action_partner_form"/> </record> - <menuitem - action="action_partner_form" - id="menu_partner_form" - parent="base.menu_sales" - sequence="8"/> + <menuitem id="menu_partner_form" parent="base.menu_sales" action="action_partner_form" sequence="1"/> <record id="action_partner_customer_form" model="ir.actions.act_window"> <field name="name">Customers</field> From 0904700aaabb450e33cb5e8c5a2d46898b037e57 Mon Sep 17 00:00:00 2001 From: Olivier Dony <odo@openerp.com> Date: Sat, 31 Mar 2012 22:37:10 +0200 Subject: [PATCH 310/313] [IMP] users,ir.model: cleanup - ondelete does not exist on m2m + rem old comment bzr revid: odo@openerp.com-20120331203710-k2w8txhz2p9njj0d --- openerp/addons/base/ir/ir_model.py | 2 -- openerp/addons/base/res/res_users.py | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/openerp/addons/base/ir/ir_model.py b/openerp/addons/base/ir/ir_model.py index 2473a5c9719..cbe5dde6fee 100644 --- a/openerp/addons/base/ir/ir_model.py +++ b/openerp/addons/base/ir/ir_model.py @@ -141,8 +141,6 @@ class ir_model(osv.osv): def _drop_table(self, cr, uid, ids, context=None): for model in self.browse(cr, uid, ids, context): model_pool = self.pool.get(model.model) - # this test should be removed, but check if drop view instead of drop table - # just check if table or view exists cr.execute('select relkind from pg_class where relname=%s', (model_pool._table,)) result = cr.fetchone() if result and result[0] == 'v': diff --git a/openerp/addons/base/res/res_users.py b/openerp/addons/base/res/res_users.py index 3c7d0c6b0fb..63892ebd869 100644 --- a/openerp/addons/base/res/res_users.py +++ b/openerp/addons/base/res/res_users.py @@ -59,7 +59,7 @@ class groups(osv.osv): _columns = { 'name': fields.char('Name', size=64, required=True, translate=True), - 'users': fields.many2many('res.users', 'res_groups_users_rel', 'gid', 'uid', 'Users', ondelete='CASCADE'), + 'users': fields.many2many('res.users', 'res_groups_users_rel', 'gid', 'uid', 'Users'), 'model_access': fields.one2many('ir.model.access', 'group_id', 'Access Controls'), 'rule_groups': fields.many2many('ir.rule', 'rule_group_rel', 'group_id', 'rule_group_id', 'Rules', domain=[('global', '=', False)]), From 8b100dd1bcd47232f1c02507d5f07dd7d18dcd13 Mon Sep 17 00:00:00 2001 From: Olivier Dony <odo@openerp.com> Date: Sat, 31 Mar 2012 23:25:15 +0200 Subject: [PATCH 311/313] [IMP] ir.model: cleanup/de-duplicate code bzr revid: odo@openerp.com-20120331212515-qoic9kaysswurxnf --- openerp/addons/base/ir/ir_model.py | 49 +++++++++++------------------- 1 file changed, 18 insertions(+), 31 deletions(-) diff --git a/openerp/addons/base/ir/ir_model.py b/openerp/addons/base/ir/ir_model.py index cbe5dde6fee..1af5818438a 100644 --- a/openerp/addons/base/ir/ir_model.py +++ b/openerp/addons/base/ir/ir_model.py @@ -917,39 +917,26 @@ class ir_model_data(osv.osv): cr.execute('DROP TABLE %s CASCADE'% (table),) _logger.info('Dropped table %s', table) - for (model, res_id) in to_unlink: - if model in ('ir.model','ir.model.fields', 'ir.model.data'): - continue - external_ids = self.search(cr, uid, [('model', '=', model),('res_id', '=', res_id)]) - if (set(external_ids)-ids_set): - # if other modules have defined this record, we do not delete it - continue - _logger.info('Deleting %s@%s', res_id, model) - try: - self.pool.get(model).unlink(cr, uid, [res_id], context=context) - except: - _logger.info('Unable to delete %s@%s', res_id, model, exc_info=True) - cr.commit() + def unlink_if_refcount(to_unlink): + for model, res_id in to_unlink: + external_ids = self.search(cr, uid, [('model', '=', model),('res_id', '=', res_id)]) + if (set(external_ids)-ids_set): + # if other modules have defined this record, we must not delete it + return + _logger.info('Deleting %s@%s', res_id, model) + try: + self.pool.get(model).unlink(cr, uid, [res_id], context=context) + except: + _logger.info('Unable to delete %s@%s', res_id, model, exc_info=True) - for (model, res_id) in to_unlink: - if model != 'ir.model.fields': - continue - external_ids = self.search(cr, uid, [('model', '=', model),('res_id', '=', res_id)]) - if (set(external_ids)-ids_set): - # if other modules have defined this record, we do not delete it - continue - _logger.info('Deleting %s@%s', res_id, model) - self.pool.get(model).unlink(cr, uid, [res_id], context=context) + # Remove non-model records first, then model fields, and finish with models + unlink_if_refcount((model, res_id) for model, res_id in to_unlink + if model not in ('ir.model','ir.model.fields')) + unlink_if_refcount((model, res_id) for model, res_id in to_unlink + if model == 'ir.model.fields') + unlink_if_refcount((model, res_id) for model, res_id in to_unlink + if model == 'ir.model') - for (model, res_id) in to_unlink: - if model != 'ir.model': - continue - external_ids = self.search(cr, uid, [('model', '=', model),('res_id', '=', res_id)]) - if (set(external_ids)-ids_set): - # if other modules have defined this record, we do not delete it - continue - _logger.info('Deleting %s@%s', res_id, model) - self.pool.get(model).unlink(cr, uid, [res_id], context=context) cr.commit() def _process_end(self, cr, uid, modules): From 7b9af7dd22cb109827d4444480f1f63446b3ac45 Mon Sep 17 00:00:00 2001 From: Launchpad Translations on behalf of openerp <> Date: Sun, 1 Apr 2012 04:49:21 +0000 Subject: [PATCH 312/313] Launchpad automatic translations update. bzr revid: launchpad_translations_on_behalf_of_openerp-20120330044851-tw4117ehwk7krepn bzr revid: launchpad_translations_on_behalf_of_openerp-20120331051439-9h16bo9lc0xh722z bzr revid: launchpad_translations_on_behalf_of_openerp-20120401044921-x24k5v01wpqv907u --- addons/web/i18n/en_AU.po | 1556 +++++++++++++++++++++++++++++++++ addons/web/i18n/ja.po | 452 +++++----- addons/web/i18n/nl.po | 6 +- addons/web_gantt/i18n/nb.po | 28 + addons/web_mobile/i18n/ja.po | 106 +++ addons/web_mobile/i18n/nb.po | 106 +++ addons/web_process/i18n/nb.po | 118 +++ 7 files changed, 2145 insertions(+), 227 deletions(-) create mode 100644 addons/web/i18n/en_AU.po create mode 100644 addons/web_gantt/i18n/nb.po create mode 100644 addons/web_mobile/i18n/ja.po create mode 100644 addons/web_mobile/i18n/nb.po create mode 100644 addons/web_process/i18n/nb.po diff --git a/addons/web/i18n/en_AU.po b/addons/web/i18n/en_AU.po new file mode 100644 index 00000000000..c1c59b8676e --- /dev/null +++ b/addons/web/i18n/en_AU.po @@ -0,0 +1,1556 @@ +# English (Australia) translation for openerp-web +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openerp-web package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openerp-web\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2012-02-14 15:27+0100\n" +"PO-Revision-Date: 2012-03-31 04:18+0000\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: English (Australia) <en_AU@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-04-01 04:49+0000\n" +"X-Generator: Launchpad (build 15032)\n" + +#. openerp-web +#: addons/web/static/src/js/chrome.js:172 +#: addons/web/static/src/js/chrome.js:198 +#: addons/web/static/src/js/chrome.js:414 +#: addons/web/static/src/js/view_form.js:419 +#: addons/web/static/src/js/view_form.js:1233 +#: addons/web/static/src/xml/base.xml:1695 +#: addons/web/static/src/js/view_form.js:424 +#: addons/web/static/src/js/view_form.js:1239 +msgid "Ok" +msgstr "OK" + +#. openerp-web +#: addons/web/static/src/js/chrome.js:180 +msgid "Send OpenERP Enterprise Report" +msgstr "" + +#. openerp-web +#: addons/web/static/src/js/chrome.js:194 +msgid "Dont send" +msgstr "Don't send" + +#. openerp-web +#: addons/web/static/src/js/chrome.js:256 +#, python-format +msgid "Loading (%d)" +msgstr "Loading (%d)" + +#. openerp-web +#: addons/web/static/src/js/chrome.js:288 +msgid "Invalid database name" +msgstr "Invalid database name" + +#. openerp-web +#: addons/web/static/src/js/chrome.js:483 +msgid "Backed" +msgstr "Backed Up" + +#. openerp-web +#: addons/web/static/src/js/chrome.js:484 +msgid "Database backed up successfully" +msgstr "Database backed up successfully" + +#. openerp-web +#: addons/web/static/src/js/chrome.js:527 +msgid "Restored" +msgstr "Restored" + +#. openerp-web +#: addons/web/static/src/js/chrome.js:527 +msgid "Database restored successfully" +msgstr "Database restored successfully" + +#. openerp-web +#: addons/web/static/src/js/chrome.js:708 +#: addons/web/static/src/xml/base.xml:359 +msgid "About" +msgstr "About" + +#. openerp-web +#: addons/web/static/src/js/chrome.js:787 +#: addons/web/static/src/xml/base.xml:356 +msgid "Preferences" +msgstr "Preferences" + +#. openerp-web +#: addons/web/static/src/js/chrome.js:790 +#: addons/web/static/src/js/search.js:239 +#: addons/web/static/src/js/search.js:288 +#: addons/web/static/src/js/view_editor.js:95 +#: addons/web/static/src/js/view_editor.js:836 +#: addons/web/static/src/js/view_editor.js:962 +#: addons/web/static/src/js/view_form.js:1228 +#: addons/web/static/src/xml/base.xml:738 +#: addons/web/static/src/xml/base.xml:1496 +#: addons/web/static/src/xml/base.xml:1506 +#: addons/web/static/src/xml/base.xml:1515 +#: addons/web/static/src/js/search.js:293 +#: addons/web/static/src/js/view_form.js:1234 +msgid "Cancel" +msgstr "Cancel" + +#. openerp-web +#: addons/web/static/src/js/chrome.js:791 +msgid "Change password" +msgstr "Change password" + +#. openerp-web +#: addons/web/static/src/js/chrome.js:792 +#: addons/web/static/src/js/view_editor.js:73 +#: addons/web/static/src/js/views.js:962 +#: addons/web/static/src/xml/base.xml:737 +#: addons/web/static/src/xml/base.xml:1500 +#: addons/web/static/src/xml/base.xml:1514 +msgid "Save" +msgstr "Save" + +#. openerp-web +#: addons/web/static/src/js/chrome.js:811 +#: addons/web/static/src/xml/base.xml:226 +#: addons/web/static/src/xml/base.xml:1729 +msgid "Change Password" +msgstr "Change Password" + +#. openerp-web +#: addons/web/static/src/js/chrome.js:1096 +#: addons/web/static/src/js/chrome.js:1100 +msgid "OpenERP - Unsupported/Community Version" +msgstr "OpenERP - Unsupported/Community Version" + +#. openerp-web +#: addons/web/static/src/js/chrome.js:1131 +#: addons/web/static/src/js/chrome.js:1135 +msgid "Client Error" +msgstr "Client Error" + +#. openerp-web +#: addons/web/static/src/js/data_export.js:6 +msgid "Export Data" +msgstr "Export Data" + +#. openerp-web +#: addons/web/static/src/js/data_export.js:19 +#: addons/web/static/src/js/data_import.js:69 +#: addons/web/static/src/js/view_editor.js:49 +#: addons/web/static/src/js/view_editor.js:398 +#: addons/web/static/src/js/view_form.js:692 +#: addons/web/static/src/js/view_form.js:3044 +#: addons/web/static/src/js/views.js:963 +#: addons/web/static/src/js/view_form.js:698 +#: addons/web/static/src/js/view_form.js:3067 +msgid "Close" +msgstr "Close" + +#. openerp-web +#: addons/web/static/src/js/data_export.js:20 +msgid "Export To File" +msgstr "Export to File" + +#. openerp-web +#: addons/web/static/src/js/data_export.js:125 +msgid "Please enter save field list name" +msgstr "" + +#. openerp-web +#: addons/web/static/src/js/data_export.js:360 +msgid "Please select fields to save export list..." +msgstr "" + +#. openerp-web +#: addons/web/static/src/js/data_export.js:373 +msgid "Please select fields to export..." +msgstr "Please select fields to export..." + +#. openerp-web +#: addons/web/static/src/js/data_import.js:34 +msgid "Import Data" +msgstr "Import Data" + +#. openerp-web +#: addons/web/static/src/js/data_import.js:70 +msgid "Import File" +msgstr "Import File" + +#. openerp-web +#: addons/web/static/src/js/data_import.js:105 +msgid "External ID" +msgstr "External ID" + +#. openerp-web +#: addons/web/static/src/js/formats.js:300 +#: addons/web/static/src/js/view_page.js:245 +#: addons/web/static/src/js/formats.js:322 +#: addons/web/static/src/js/view_page.js:251 +msgid "Download" +msgstr "Download" + +#. openerp-web +#: addons/web/static/src/js/formats.js:305 +#: addons/web/static/src/js/formats.js:327 +#, python-format +msgid "Download \"%s\"" +msgstr "Download \"%s\"" + +#. openerp-web +#: addons/web/static/src/js/search.js:191 +msgid "Filter disabled due to invalid syntax" +msgstr "Filter disabled due to invalid syntax" + +#. openerp-web +#: addons/web/static/src/js/search.js:237 +msgid "Filter Entry" +msgstr "" + +#. openerp-web +#: addons/web/static/src/js/search.js:242 +#: addons/web/static/src/js/search.js:291 +#: addons/web/static/src/js/search.js:296 +msgid "OK" +msgstr "OK" + +#. openerp-web +#: addons/web/static/src/js/search.js:286 +#: addons/web/static/src/xml/base.xml:1292 +#: addons/web/static/src/js/search.js:291 +msgid "Add to Dashboard" +msgstr "Add to Dashboard" + +#. openerp-web +#: addons/web/static/src/js/search.js:415 +#: addons/web/static/src/js/search.js:420 +msgid "Invalid Search" +msgstr "Invalid Search" + +#. openerp-web +#: addons/web/static/src/js/search.js:415 +#: addons/web/static/src/js/search.js:420 +msgid "triggered from search view" +msgstr "triggered from search view" + +#. openerp-web +#: addons/web/static/src/js/search.js:503 +#: addons/web/static/src/js/search.js:508 +#, python-format +msgid "Incorrect value for field %(fieldname)s: [%(value)s] is %(message)s" +msgstr "Incorrect value for field %(fieldname)s: [%(value)s] is %(message)s" + +#. openerp-web +#: addons/web/static/src/js/search.js:839 +#: addons/web/static/src/js/search.js:844 +msgid "not a valid integer" +msgstr "invalid integer" + +#. openerp-web +#: addons/web/static/src/js/search.js:853 +#: addons/web/static/src/js/search.js:858 +msgid "not a valid number" +msgstr "invalid number" + +#. openerp-web +#: addons/web/static/src/js/search.js:931 +#: addons/web/static/src/xml/base.xml:968 +#: addons/web/static/src/js/search.js:936 +msgid "Yes" +msgstr "Yes" + +#. openerp-web +#: addons/web/static/src/js/search.js:932 +#: addons/web/static/src/js/search.js:937 +msgid "No" +msgstr "No" + +#. openerp-web +#: addons/web/static/src/js/search.js:1290 +#: addons/web/static/src/js/search.js:1295 +msgid "contains" +msgstr "contains" + +#. openerp-web +#: addons/web/static/src/js/search.js:1291 +#: addons/web/static/src/js/search.js:1296 +msgid "doesn't contain" +msgstr "doesn't contain" + +#. openerp-web +#: addons/web/static/src/js/search.js:1292 +#: addons/web/static/src/js/search.js:1306 +#: addons/web/static/src/js/search.js:1325 +#: addons/web/static/src/js/search.js:1344 +#: addons/web/static/src/js/search.js:1365 +#: addons/web/static/src/js/search.js:1297 +#: addons/web/static/src/js/search.js:1311 +#: addons/web/static/src/js/search.js:1330 +#: addons/web/static/src/js/search.js:1349 +#: addons/web/static/src/js/search.js:1370 +msgid "is equal to" +msgstr "is equal to" + +#. openerp-web +#: addons/web/static/src/js/search.js:1293 +#: addons/web/static/src/js/search.js:1307 +#: addons/web/static/src/js/search.js:1326 +#: addons/web/static/src/js/search.js:1345 +#: addons/web/static/src/js/search.js:1366 +#: addons/web/static/src/js/search.js:1298 +#: addons/web/static/src/js/search.js:1312 +#: addons/web/static/src/js/search.js:1331 +#: addons/web/static/src/js/search.js:1350 +#: addons/web/static/src/js/search.js:1371 +msgid "is not equal to" +msgstr "is not equal to" + +#. openerp-web +#: addons/web/static/src/js/search.js:1294 +#: addons/web/static/src/js/search.js:1308 +#: addons/web/static/src/js/search.js:1327 +#: addons/web/static/src/js/search.js:1346 +#: addons/web/static/src/js/search.js:1367 +#: addons/web/static/src/js/search.js:1299 +#: addons/web/static/src/js/search.js:1313 +#: addons/web/static/src/js/search.js:1332 +#: addons/web/static/src/js/search.js:1351 +#: addons/web/static/src/js/search.js:1372 +msgid "greater than" +msgstr "greater than" + +#. openerp-web +#: addons/web/static/src/js/search.js:1295 +#: addons/web/static/src/js/search.js:1309 +#: addons/web/static/src/js/search.js:1328 +#: addons/web/static/src/js/search.js:1347 +#: addons/web/static/src/js/search.js:1368 +#: addons/web/static/src/js/search.js:1300 +#: addons/web/static/src/js/search.js:1314 +#: addons/web/static/src/js/search.js:1333 +#: addons/web/static/src/js/search.js:1352 +#: addons/web/static/src/js/search.js:1373 +msgid "less than" +msgstr "less than" + +#. openerp-web +#: addons/web/static/src/js/search.js:1296 +#: addons/web/static/src/js/search.js:1310 +#: addons/web/static/src/js/search.js:1329 +#: addons/web/static/src/js/search.js:1348 +#: addons/web/static/src/js/search.js:1369 +#: addons/web/static/src/js/search.js:1301 +#: addons/web/static/src/js/search.js:1315 +#: addons/web/static/src/js/search.js:1334 +#: addons/web/static/src/js/search.js:1353 +#: addons/web/static/src/js/search.js:1374 +msgid "greater or equal than" +msgstr "greater than or equal to" + +#. openerp-web +#: addons/web/static/src/js/search.js:1297 +#: addons/web/static/src/js/search.js:1311 +#: addons/web/static/src/js/search.js:1330 +#: addons/web/static/src/js/search.js:1349 +#: addons/web/static/src/js/search.js:1370 +#: addons/web/static/src/js/search.js:1302 +#: addons/web/static/src/js/search.js:1316 +#: addons/web/static/src/js/search.js:1335 +#: addons/web/static/src/js/search.js:1354 +#: addons/web/static/src/js/search.js:1375 +msgid "less or equal than" +msgstr "less than or equal to" + +#. openerp-web +#: addons/web/static/src/js/search.js:1360 +#: addons/web/static/src/js/search.js:1383 +#: addons/web/static/src/js/search.js:1365 +#: addons/web/static/src/js/search.js:1388 +msgid "is" +msgstr "is" + +#. openerp-web +#: addons/web/static/src/js/search.js:1384 +#: addons/web/static/src/js/search.js:1389 +msgid "is not" +msgstr "is not" + +#. openerp-web +#: addons/web/static/src/js/search.js:1396 +#: addons/web/static/src/js/search.js:1401 +msgid "is true" +msgstr "is true" + +#. openerp-web +#: addons/web/static/src/js/search.js:1397 +#: addons/web/static/src/js/search.js:1402 +msgid "is false" +msgstr "is false" + +#. openerp-web +#: addons/web/static/src/js/view_editor.js:20 +#, python-format +msgid "Manage Views (%s)" +msgstr "Manage Views (%s)" + +#. openerp-web +#: addons/web/static/src/js/view_editor.js:46 +#: addons/web/static/src/js/view_list.js:17 +#: addons/web/static/src/xml/base.xml:100 +#: addons/web/static/src/xml/base.xml:327 +#: addons/web/static/src/xml/base.xml:756 +msgid "Create" +msgstr "Create" + +#. openerp-web +#: addons/web/static/src/js/view_editor.js:47 +#: addons/web/static/src/xml/base.xml:483 +#: addons/web/static/src/xml/base.xml:755 +msgid "Edit" +msgstr "Edit" + +#. openerp-web +#: addons/web/static/src/js/view_editor.js:48 +#: addons/web/static/src/xml/base.xml:1647 +msgid "Remove" +msgstr "Delete" + +#. openerp-web +#: addons/web/static/src/js/view_editor.js:71 +#, python-format +msgid "Create a view (%s)" +msgstr "Create a view (%s)" + +#. openerp-web +#: addons/web/static/src/js/view_editor.js:168 +msgid "Do you really want to remove this view?" +msgstr "Do you really want to delete this view?" + +#. openerp-web +#: addons/web/static/src/js/view_editor.js:364 +#, python-format +msgid "View Editor %d - %s" +msgstr "" + +#. openerp-web +#: addons/web/static/src/js/view_editor.js:367 +msgid "Inherited View" +msgstr "Inherited View" + +#. openerp-web +#: addons/web/static/src/js/view_editor.js:371 +msgid "Do you really wants to create an inherited view here?" +msgstr "Do you really want to create an inherited view here?" + +#. openerp-web +#: addons/web/static/src/js/view_editor.js:381 +msgid "Preview" +msgstr "Preview" + +#. openerp-web +#: addons/web/static/src/js/view_editor.js:501 +msgid "Do you really want to remove this node?" +msgstr "Do you really want to delete this node?" + +#. openerp-web +#: addons/web/static/src/js/view_editor.js:815 +#: addons/web/static/src/js/view_editor.js:939 +msgid "Properties" +msgstr "Properties" + +#. openerp-web +#: addons/web/static/src/js/view_editor.js:818 +#: addons/web/static/src/js/view_editor.js:942 +msgid "Update" +msgstr "Update" + +#. openerp-web +#: addons/web/static/src/js/view_form.js:16 +msgid "Form" +msgstr "Form" + +#. openerp-web +#: addons/web/static/src/js/view_form.js:121 +#: addons/web/static/src/js/views.js:803 +msgid "Customize" +msgstr "Customise" + +#. openerp-web +#: addons/web/static/src/js/view_form.js:123 +#: addons/web/static/src/js/view_form.js:686 +#: addons/web/static/src/js/view_form.js:692 +msgid "Set Default" +msgstr "Set as Default" + +#. openerp-web +#: addons/web/static/src/js/view_form.js:469 +#: addons/web/static/src/js/view_form.js:475 +msgid "" +"Warning, the record has been modified, your changes will be discarded." +msgstr "" +"Warning, this record has been modified. If you continue without saving, " +"your changes will be discarded." + +#. openerp-web +#: addons/web/static/src/js/view_form.js:693 +#: addons/web/static/src/js/view_form.js:699 +msgid "Save default" +msgstr "" + +#. openerp-web +#: addons/web/static/src/js/view_form.js:754 +#: addons/web/static/src/js/view_form.js:760 +msgid "Attachments" +msgstr "Attachments" + +#. openerp-web +#: addons/web/static/src/js/view_form.js:792 +#: addons/web/static/src/js/view_form.js:798 +#, python-format +msgid "Do you really want to delete the attachment %s?" +msgstr "Do you really want to delete the attachment %s" + +#. openerp-web +#: addons/web/static/src/js/view_form.js:822 +#: addons/web/static/src/js/view_form.js:828 +#, python-format +msgid "Unknown operator %s in domain %s" +msgstr "Unknown operator %s in domain %s" + +#. openerp-web +#: addons/web/static/src/js/view_form.js:830 +#: addons/web/static/src/js/view_form.js:836 +#, python-format +msgid "Unknown field %s in domain %s" +msgstr "Unknown field %s in domain %s" + +#. openerp-web +#: addons/web/static/src/js/view_form.js:868 +#: addons/web/static/src/js/view_form.js:874 +#, python-format +msgid "Unsupported operator %s in domain %s" +msgstr "Unsupported operator %s in domain %s" + +#. openerp-web +#: addons/web/static/src/js/view_form.js:1225 +#: addons/web/static/src/js/view_form.js:1231 +msgid "Confirm" +msgstr "Confirm" + +#. openerp-web +#: addons/web/static/src/js/view_form.js:1921 +#: addons/web/static/src/js/view_form.js:2578 +#: addons/web/static/src/js/view_form.js:2741 +#: addons/web/static/src/js/view_form.js:1933 +#: addons/web/static/src/js/view_form.js:2590 +#: addons/web/static/src/js/view_form.js:2760 +msgid "Open: " +msgstr "Open: " + +#. openerp-web +#: addons/web/static/src/js/view_form.js:2049 +#: addons/web/static/src/js/view_form.js:2061 +msgid "<em>   Search More...</em>" +msgstr "<em>   Continue Search ...</em>" + +#. openerp-web +#: addons/web/static/src/js/view_form.js:2062 +#: addons/web/static/src/js/view_form.js:2074 +#, python-format +msgid "<em>   Create \"<strong>%s</strong>\"</em>" +msgstr "<em>   Create \"<strong>%s</strong>\"</em>" + +#. openerp-web +#: addons/web/static/src/js/view_form.js:2068 +#: addons/web/static/src/js/view_form.js:2080 +msgid "<em>   Create and Edit...</em>" +msgstr "<em>   Create and Edit...</em>" + +#. openerp-web +#: addons/web/static/src/js/view_form.js:2101 +#: addons/web/static/src/js/views.js:675 +#: addons/web/static/src/js/view_form.js:2113 +msgid "Search: " +msgstr "Search: " + +#. openerp-web +#: addons/web/static/src/js/view_form.js:2101 +#: addons/web/static/src/js/view_form.js:2550 +#: addons/web/static/src/js/view_form.js:2113 +#: addons/web/static/src/js/view_form.js:2562 +msgid "Create: " +msgstr "Create: " + +#. openerp-web +#: addons/web/static/src/js/view_form.js:2661 +#: addons/web/static/src/xml/base.xml:750 +#: addons/web/static/src/xml/base.xml:772 +#: addons/web/static/src/xml/base.xml:1646 +#: addons/web/static/src/js/view_form.js:2680 +msgid "Add" +msgstr "Add" + +#. openerp-web +#: addons/web/static/src/js/view_form.js:2721 +#: addons/web/static/src/js/view_form.js:2740 +msgid "Add: " +msgstr "Add: " + +#. openerp-web +#: addons/web/static/src/js/view_list.js:8 +msgid "List" +msgstr "List" + +#. openerp-web +#: addons/web/static/src/js/view_list.js:269 +msgid "Unlimited" +msgstr "Unlimited" + +#. openerp-web +#: addons/web/static/src/js/view_list.js:305 +#: addons/web/static/src/js/view_list.js:309 +#, python-format +msgid "[%(first_record)d to %(last_record)d] of %(records_count)d" +msgstr "[%(first_record)d to %(last_record)d] of %(records_count)d" + +#. openerp-web +#: addons/web/static/src/js/view_list.js:524 +#: addons/web/static/src/js/view_list.js:528 +msgid "Do you really want to remove these records?" +msgstr "Do you really want to delete these records?" + +#. openerp-web +#: addons/web/static/src/js/view_list.js:1230 +#: addons/web/static/src/js/view_list.js:1232 +msgid "Undefined" +msgstr "Undefined" + +#. openerp-web +#: addons/web/static/src/js/view_list.js:1327 +#: addons/web/static/src/js/view_list.js:1331 +#, python-format +msgid "%(page)d/%(page_count)d" +msgstr "%(page)d/%(page_count)d" + +#. openerp-web +#: addons/web/static/src/js/view_page.js:8 +msgid "Page" +msgstr "Page" + +#. openerp-web +#: addons/web/static/src/js/view_page.js:52 +msgid "Do you really want to delete this record?" +msgstr "Do you really want to delete this record?" + +#. openerp-web +#: addons/web/static/src/js/view_tree.js:11 +msgid "Tree" +msgstr "Tree" + +#. openerp-web +#: addons/web/static/src/js/views.js:565 +#: addons/web/static/src/xml/base.xml:480 +msgid "Fields View Get" +msgstr "" + +#. openerp-web +#: addons/web/static/src/js/views.js:573 +#, python-format +msgid "View Log (%s)" +msgstr "View Log (%s)" + +#. openerp-web +#: addons/web/static/src/js/views.js:600 +#, python-format +msgid "Model %s fields" +msgstr "" + +#. openerp-web +#: addons/web/static/src/js/views.js:610 +#: addons/web/static/src/xml/base.xml:482 +msgid "Manage Views" +msgstr "Manage Views" + +#. openerp-web +#: addons/web/static/src/js/views.js:611 +msgid "Could not find current view declaration" +msgstr "Could not find current view declaration" + +#. openerp-web +#: addons/web/static/src/js/views.js:805 +msgid "Translate" +msgstr "Translate" + +#. openerp-web +#: addons/web/static/src/js/views.js:807 +msgid "Technical translation" +msgstr "Technical translation" + +#. openerp-web +#: addons/web/static/src/js/views.js:811 +msgid "Other Options" +msgstr "Other Options" + +#. openerp-web +#: addons/web/static/src/js/views.js:814 +#: addons/web/static/src/xml/base.xml:1736 +msgid "Import" +msgstr "Import" + +#. openerp-web +#: addons/web/static/src/js/views.js:817 +#: addons/web/static/src/xml/base.xml:1606 +msgid "Export" +msgstr "Export" + +#. openerp-web +#: addons/web/static/src/js/views.js:825 +msgid "Reports" +msgstr "Reports" + +#. openerp-web +#: addons/web/static/src/js/views.js:825 +msgid "Actions" +msgstr "Actions" + +#. openerp-web +#: addons/web/static/src/js/views.js:825 +msgid "Links" +msgstr "Links" + +#. openerp-web +#: addons/web/static/src/js/views.js:919 +msgid "You must choose at least one record." +msgstr "You must select at least one record." + +#. openerp-web +#: addons/web/static/src/js/views.js:920 +msgid "Warning" +msgstr "Warning" + +#. openerp-web +#: addons/web/static/src/js/views.js:957 +msgid "Translations" +msgstr "Translations" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:44 +#: addons/web/static/src/xml/base.xml:315 +msgid "Powered by" +msgstr "Powered by" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:44 +#: addons/web/static/src/xml/base.xml:315 +#: addons/web/static/src/xml/base.xml:1813 +msgid "OpenERP" +msgstr "OpenERP" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:52 +msgid "Loading..." +msgstr "Loading…" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:61 +msgid "CREATE DATABASE" +msgstr "CREATE DATABASE" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:68 +#: addons/web/static/src/xml/base.xml:211 +msgid "Master password:" +msgstr "Master password:" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:72 +#: addons/web/static/src/xml/base.xml:191 +msgid "New database name:" +msgstr "New database name:" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:77 +msgid "Load Demonstration data:" +msgstr "Load Demonstration data:" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:81 +msgid "Default language:" +msgstr "Default language:" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:91 +msgid "Admin password:" +msgstr "Admin password:" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:95 +msgid "Confirm password:" +msgstr "Confirm password:" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:109 +msgid "DROP DATABASE" +msgstr "DROP DATABASE" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:116 +#: addons/web/static/src/xml/base.xml:150 +#: addons/web/static/src/xml/base.xml:301 +msgid "Database:" +msgstr "Database:" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:128 +#: addons/web/static/src/xml/base.xml:162 +#: addons/web/static/src/xml/base.xml:187 +msgid "Master Password:" +msgstr "Master password:" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:132 +#: addons/web/static/src/xml/base.xml:328 +msgid "Drop" +msgstr "Drop" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:143 +msgid "BACKUP DATABASE" +msgstr "BACKUP DATABASE" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:166 +#: addons/web/static/src/xml/base.xml:329 +msgid "Backup" +msgstr "Backup" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:175 +msgid "RESTORE DATABASE" +msgstr "RESTORE DATABASE" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:182 +msgid "File:" +msgstr "File:" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:195 +#: addons/web/static/src/xml/base.xml:330 +msgid "Restore" +msgstr "Restore" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:204 +msgid "CHANGE MASTER PASSWORD" +msgstr "CHANGE MASTER PASSWORD" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:216 +msgid "New master password:" +msgstr "New master password:" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:221 +msgid "Confirm new master password:" +msgstr "Confirm new master password:" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:251 +msgid "" +"Your version of OpenERP is unsupported. Support & maintenance services are " +"available here:" +msgstr "" +"Your version of OpenERP is unsupported. Support & maintenance services are " +"available from:" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:251 +msgid "OpenERP Entreprise" +msgstr "OpenERP Enterprise" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:256 +msgid "OpenERP Enterprise Contract." +msgstr "OpenERP Enterprise Contract." + +#. openerp-web +#: addons/web/static/src/xml/base.xml:257 +msgid "Your report will be sent to the OpenERP Enterprise team." +msgstr "Your report will be sent to the OpenERP Enterprise team." + +#. openerp-web +#: addons/web/static/src/xml/base.xml:259 +msgid "Summary:" +msgstr "Summary:" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:263 +msgid "Description:" +msgstr "Description:" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:267 +msgid "What you did:" +msgstr "What you did:" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:297 +msgid "Invalid username or password" +msgstr "Invalid username and/or password" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:306 +msgid "Username" +msgstr "Username" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:308 +#: addons/web/static/src/xml/base.xml:331 +msgid "Password" +msgstr "Password" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:310 +msgid "Log in" +msgstr "Log in" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:314 +msgid "Manage Databases" +msgstr "Manage Databases" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:332 +msgid "Back to Login" +msgstr "Back to Login Page" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:353 +msgid "Home" +msgstr "Home" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:363 +msgid "LOGOUT" +msgstr "LOGOUT" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:388 +msgid "Fold menu" +msgstr "Expand menu" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:389 +msgid "Unfold menu" +msgstr "Collapse menu" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:454 +msgid "Hide this tip" +msgstr "Hide this tip" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:455 +msgid "Disable all tips" +msgstr "Disable all tips" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:463 +msgid "Add / Remove Shortcut..." +msgstr "Add / Remove Shortcut ..." + +#. openerp-web +#: addons/web/static/src/xml/base.xml:471 +msgid "More…" +msgstr "More ..." + +#. openerp-web +#: addons/web/static/src/xml/base.xml:477 +msgid "Debug View#" +msgstr "Debug View#" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:478 +msgid "View Log (perm_read)" +msgstr "View Log (perm_read)" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:479 +msgid "View Fields" +msgstr "View Fields" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:483 +msgid "View" +msgstr "View" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:484 +msgid "Edit SearchView" +msgstr "Edit Search View" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:485 +msgid "Edit Action" +msgstr "Edit Action" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:486 +msgid "Edit Workflow" +msgstr "Edit Workflow" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:491 +msgid "ID:" +msgstr "ID:" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:494 +msgid "XML ID:" +msgstr "XML ID:" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:497 +msgid "Creation User:" +msgstr "Creating User:" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:500 +msgid "Creation Date:" +msgstr "Creation Date:" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:503 +msgid "Latest Modification by:" +msgstr "Latest Modification by:" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:506 +msgid "Latest Modification Date:" +msgstr "Lasted Modification date:" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:542 +msgid "Field" +msgstr "Field" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:632 +#: addons/web/static/src/xml/base.xml:758 +#: addons/web/static/src/xml/base.xml:1708 +msgid "Delete" +msgstr "Delete" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:757 +msgid "Duplicate" +msgstr "Duplicate" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:775 +msgid "Add attachment" +msgstr "Add attachment" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:801 +msgid "Default:" +msgstr "Default:" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:818 +msgid "Condition:" +msgstr "Condition:" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:837 +msgid "Only you" +msgstr "Only you" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:844 +msgid "All users" +msgstr "All users" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:851 +msgid "Unhandled widget" +msgstr "" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:900 +msgid "Notebook Page \"" +msgstr "Notebook Page \"" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:905 +#: addons/web/static/src/xml/base.xml:964 +msgid "Modifiers:" +msgstr "Modifiers:" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:931 +msgid "(nolabel)" +msgstr "(nolabel)" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:936 +msgid "Field:" +msgstr "Field:" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:940 +msgid "Object:" +msgstr "Object:" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:944 +msgid "Type:" +msgstr "Type:" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:948 +msgid "Widget:" +msgstr "Widget:" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:952 +msgid "Size:" +msgstr "Size:" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:956 +msgid "Context:" +msgstr "Context:" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:960 +msgid "Domain:" +msgstr "Domain:" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:968 +msgid "Change default:" +msgstr "Change default:" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:972 +msgid "On change:" +msgstr "On change:" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:976 +msgid "Relation:" +msgstr "Relationship:" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:980 +msgid "Selection:" +msgstr "Selection:" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1020 +msgid "Send an e-mail with your default e-mail client" +msgstr "Send an e-mail with your default e-mail client" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1034 +msgid "Open this resource" +msgstr "Open this resource" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1056 +msgid "Select date" +msgstr "Select date" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1090 +msgid "Open..." +msgstr "Open..." + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1091 +msgid "Create..." +msgstr "Create..." + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1092 +msgid "Search..." +msgstr "Search..." + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1095 +msgid "..." +msgstr "..." + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1155 +#: addons/web/static/src/xml/base.xml:1198 +msgid "Set Image" +msgstr "Load Image" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1163 +#: addons/web/static/src/xml/base.xml:1213 +#: addons/web/static/src/xml/base.xml:1215 +#: addons/web/static/src/xml/base.xml:1272 +msgid "Clear" +msgstr "Clear" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1172 +#: addons/web/static/src/xml/base.xml:1223 +msgid "Uploading ..." +msgstr "Uploading ..." + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1200 +#: addons/web/static/src/xml/base.xml:1495 +msgid "Select" +msgstr "Select" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1207 +#: addons/web/static/src/xml/base.xml:1209 +msgid "Save As" +msgstr "Save As" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1238 +msgid "Button" +msgstr "Button" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1241 +msgid "(no string)" +msgstr "(no string)" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1248 +msgid "Special:" +msgstr "Special:" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1253 +msgid "Button Type:" +msgstr "Button Type:" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1257 +msgid "Method:" +msgstr "Method:" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1261 +msgid "Action ID:" +msgstr "Action ID:" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1271 +msgid "Search" +msgstr "Search" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1279 +msgid "Filters" +msgstr "Filters" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1280 +msgid "-- Filters --" +msgstr "-- Filters --" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1289 +msgid "-- Actions --" +msgstr "-- Actions --" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1290 +msgid "Add Advanced Filter" +msgstr "Add Advanced Filter" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1291 +msgid "Save Filter" +msgstr "Save Filter" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1293 +msgid "Manage Filters" +msgstr "Manage Filters" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1298 +msgid "Filter Name:" +msgstr "Filter Name:" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1300 +msgid "(Any existing filter with the same name will be replaced)" +msgstr "(An existing filter with the same name will be replaced)" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1305 +msgid "Select Dashboard to add this filter to:" +msgstr "Select the Dashboard to add this filter to:" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1309 +msgid "Title of new Dashboard item:" +msgstr "Title of the new Dashboard item:" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1416 +msgid "Advanced Filters" +msgstr "Advanced Filters" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1426 +msgid "Any of the following conditions must match" +msgstr "Any of the following conditions must match" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1427 +msgid "All the following conditions must match" +msgstr "All of the following conditions must match" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1428 +msgid "None of the following conditions must match" +msgstr "None of the following conditions can match" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1435 +msgid "Add condition" +msgstr "Add condition" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1436 +msgid "and" +msgstr "and" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1503 +msgid "Save & New" +msgstr "Save & Continue" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1504 +msgid "Save & Close" +msgstr "Save & Close" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1611 +msgid "" +"This wizard will export all data that matches the current search criteria to " +"a CSV file.\n" +" You can export all data or only the fields that can be " +"reimported after modification." +msgstr "" +"This wizard will export all data that matches the current search criteria to " +"a *.CSV file.\n" +" You can export all fields, or only the fields that can be re-" +"imported automatically." + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1618 +msgid "Export Type:" +msgstr "Export Type:" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1620 +msgid "Import Compatible Export" +msgstr "Export only Data that is compatible for re-importing" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1621 +msgid "Export all Data" +msgstr "Export all Data" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1624 +msgid "Export Formats" +msgstr "Export Formats" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1630 +msgid "Available fields" +msgstr "Available fields" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1632 +msgid "Fields to export" +msgstr "Fields to export" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1634 +msgid "Save fields list" +msgstr "Save this list of fields" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1648 +msgid "Remove All" +msgstr "Remove All" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1660 +msgid "Name" +msgstr "Name" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1693 +msgid "Save as:" +msgstr "Save as:" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1700 +msgid "Saved exports:" +msgstr "Saved exports:" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1714 +msgid "Old Password:" +msgstr "Old password:" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1719 +msgid "New Password:" +msgstr "New password:" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1724 +msgid "Confirm Password:" +msgstr "Confirm password:" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1742 +msgid "1. Import a .CSV file" +msgstr "1. Import a *.CSV file" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1743 +msgid "" +"Select a .CSV file to import. If you need a sample of file to import,\n" +" you should use the export tool with the \"Import Compatible\" option." +msgstr "" +"Select a *.CSV file to import. If you need a sample file to import,\n" +" you should \"Export only Data that is compatible for re-importing\"." + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1747 +msgid "CSV File:" +msgstr "*.CSV file:" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1750 +msgid "2. Check your file format" +msgstr "2. Check the format of the file" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1753 +msgid "Import Options" +msgstr "Import Options" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1757 +msgid "Does your file have titles?" +msgstr "Does your file have field titles?" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1763 +msgid "Separator:" +msgstr "Separator:" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1765 +msgid "Delimiter:" +msgstr "Delimiter:" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1769 +msgid "Encoding:" +msgstr "Encoding:" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1772 +msgid "UTF-8" +msgstr "UTF-8" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1773 +msgid "Latin 1" +msgstr "Latin 1" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1776 +msgid "Lines to skip" +msgstr "Likes to skip" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1776 +msgid "" +"For use if CSV files have titles on multiple lines, skips more than a single " +"line during import" +msgstr "" +"Used if *.CSV files have field titles on multiple lines (skips more than a " +"single line during import)." + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1803 +msgid "The import failed due to:" +msgstr "The import failed due to:" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1805 +msgid "Here is a preview of the file we could not import:" +msgstr "Here is a preview of the file that could not be imported:" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1812 +msgid "Activate the developper mode" +msgstr "Activate the developer mode" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1814 +msgid "Version" +msgstr "Version" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1815 +msgid "Copyright © 2004-TODAY OpenERP SA. All Rights Reserved." +msgstr "Copyright © 2004-TODAY OpenERP SA. All Rights Reserved." + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1816 +msgid "OpenERP is a trademark of the" +msgstr "OpenERP is a trademark of the" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1817 +msgid "OpenERP SA Company" +msgstr "OpenERP SA" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1819 +msgid "Licenced under the terms of" +msgstr "Licensed under the terms of" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1820 +msgid "GNU Affero General Public License" +msgstr "GNU Affero General Public License (GPL)" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1822 +msgid "For more information visit" +msgstr "For more information visit" + +#. openerp-web +#: addons/web/static/src/xml/base.xml:1823 +msgid "OpenERP.com" +msgstr "OpenERP.com" diff --git a/addons/web/i18n/ja.po b/addons/web/i18n/ja.po index df8e5be9202..01c3ec11ce1 100644 --- a/addons/web/i18n/ja.po +++ b/addons/web/i18n/ja.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" "POT-Creation-Date: 2012-02-14 15:27+0100\n" -"PO-Revision-Date: 2012-03-14 07:11+0000\n" +"PO-Revision-Date: 2012-03-31 18:44+0000\n" "Last-Translator: Masaki Yamaya <Unknown>\n" "Language-Team: Japanese <ja@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-03-15 04:53+0000\n" -"X-Generator: Launchpad (build 14933)\n" +"X-Launchpad-Export-Date: 2012-04-01 04:49+0000\n" +"X-Generator: Launchpad (build 15032)\n" #. openerp-web #: addons/web/static/src/js/chrome.js:172 @@ -53,7 +53,7 @@ msgstr "無効なデータベース名" #. openerp-web #: addons/web/static/src/js/chrome.js:483 msgid "Backed" -msgstr "" +msgstr "バックアップされました" #. openerp-web #: addons/web/static/src/js/chrome.js:484 @@ -159,17 +159,17 @@ msgstr "ファイルにエクスポート" #. openerp-web #: addons/web/static/src/js/data_export.js:125 msgid "Please enter save field list name" -msgstr "" +msgstr "保管するフィールドリスト名を入れてください" #. openerp-web #: addons/web/static/src/js/data_export.js:360 msgid "Please select fields to save export list..." -msgstr "" +msgstr "エクスポートリストに保管するフィールドを選んでください" #. openerp-web #: addons/web/static/src/js/data_export.js:373 msgid "Please select fields to export..." -msgstr "" +msgstr "エクスポートするフィールドを選んでください" #. openerp-web #: addons/web/static/src/js/data_import.js:34 @@ -204,7 +204,7 @@ msgstr "ダウンロード \"%s\"" #. openerp-web #: addons/web/static/src/js/search.js:191 msgid "Filter disabled due to invalid syntax" -msgstr "" +msgstr "指定が正しくないためフィルタは無効になりました" #. openerp-web #: addons/web/static/src/js/search.js:237 @@ -216,7 +216,7 @@ msgstr "フィルター項目" #: addons/web/static/src/js/search.js:291 #: addons/web/static/src/js/search.js:296 msgid "OK" -msgstr "はい" +msgstr "OK" #. openerp-web #: addons/web/static/src/js/search.js:286 @@ -235,26 +235,26 @@ msgstr "無効な検索" #: addons/web/static/src/js/search.js:415 #: addons/web/static/src/js/search.js:420 msgid "triggered from search view" -msgstr "" +msgstr "検索ビューによって起動" #. openerp-web #: addons/web/static/src/js/search.js:503 #: addons/web/static/src/js/search.js:508 #, python-format msgid "Incorrect value for field %(fieldname)s: [%(value)s] is %(message)s" -msgstr "" +msgstr "フィールド %(fieldname)s の正しくない値: [%(value)s] は %(message)s" #. openerp-web #: addons/web/static/src/js/search.js:839 #: addons/web/static/src/js/search.js:844 msgid "not a valid integer" -msgstr "無効な整数" +msgstr "正しいトリガーではありません" #. openerp-web #: addons/web/static/src/js/search.js:853 #: addons/web/static/src/js/search.js:858 msgid "not a valid number" -msgstr "無効な数値" +msgstr "正しい数値ではありません" #. openerp-web #: addons/web/static/src/js/search.js:931 @@ -389,13 +389,13 @@ msgstr "は正しい" #: addons/web/static/src/js/search.js:1397 #: addons/web/static/src/js/search.js:1402 msgid "is false" -msgstr "" +msgstr "は正しくない" #. openerp-web #: addons/web/static/src/js/view_editor.js:20 #, python-format msgid "Manage Views (%s)" -msgstr "" +msgstr "管理ビュー (%s)" #. openerp-web #: addons/web/static/src/js/view_editor.js:46 @@ -404,140 +404,140 @@ msgstr "" #: addons/web/static/src/xml/base.xml:327 #: addons/web/static/src/xml/base.xml:756 msgid "Create" -msgstr "" +msgstr "作成" #. openerp-web #: addons/web/static/src/js/view_editor.js:47 #: addons/web/static/src/xml/base.xml:483 #: addons/web/static/src/xml/base.xml:755 msgid "Edit" -msgstr "" +msgstr "編集" #. openerp-web #: addons/web/static/src/js/view_editor.js:48 #: addons/web/static/src/xml/base.xml:1647 msgid "Remove" -msgstr "" +msgstr "削除" #. openerp-web #: addons/web/static/src/js/view_editor.js:71 #, python-format msgid "Create a view (%s)" -msgstr "" +msgstr "ビュー (%s) を作成" #. openerp-web #: addons/web/static/src/js/view_editor.js:168 msgid "Do you really want to remove this view?" -msgstr "" +msgstr "このビューを削除しますか?" #. openerp-web #: addons/web/static/src/js/view_editor.js:364 #, python-format msgid "View Editor %d - %s" -msgstr "" +msgstr "ビューエディタ %d - %s" #. openerp-web #: addons/web/static/src/js/view_editor.js:367 msgid "Inherited View" -msgstr "" +msgstr "継承ビュー" #. openerp-web #: addons/web/static/src/js/view_editor.js:371 msgid "Do you really wants to create an inherited view here?" -msgstr "" +msgstr "継承ビューを作成しますか?" #. openerp-web #: addons/web/static/src/js/view_editor.js:381 msgid "Preview" -msgstr "" +msgstr "プレビュー" #. openerp-web #: addons/web/static/src/js/view_editor.js:501 msgid "Do you really want to remove this node?" -msgstr "" +msgstr "このノードを削除しますか?" #. openerp-web #: addons/web/static/src/js/view_editor.js:815 #: addons/web/static/src/js/view_editor.js:939 msgid "Properties" -msgstr "" +msgstr "属性" #. openerp-web #: addons/web/static/src/js/view_editor.js:818 #: addons/web/static/src/js/view_editor.js:942 msgid "Update" -msgstr "" +msgstr "更新" #. openerp-web #: addons/web/static/src/js/view_form.js:16 msgid "Form" -msgstr "" +msgstr "フォーム" #. openerp-web #: addons/web/static/src/js/view_form.js:121 #: addons/web/static/src/js/views.js:803 msgid "Customize" -msgstr "" +msgstr "カスタマイズ" #. openerp-web #: addons/web/static/src/js/view_form.js:123 #: addons/web/static/src/js/view_form.js:686 #: addons/web/static/src/js/view_form.js:692 msgid "Set Default" -msgstr "" +msgstr "デフォルトに設定" #. openerp-web #: addons/web/static/src/js/view_form.js:469 #: addons/web/static/src/js/view_form.js:475 msgid "" "Warning, the record has been modified, your changes will be discarded." -msgstr "" +msgstr "警告,レコードは変更されて,あなたが行った変更は無視されます" #. openerp-web #: addons/web/static/src/js/view_form.js:693 #: addons/web/static/src/js/view_form.js:699 msgid "Save default" -msgstr "" +msgstr "デフォルトを保管" #. openerp-web #: addons/web/static/src/js/view_form.js:754 #: addons/web/static/src/js/view_form.js:760 msgid "Attachments" -msgstr "" +msgstr "添付" #. openerp-web #: addons/web/static/src/js/view_form.js:792 #: addons/web/static/src/js/view_form.js:798 #, python-format msgid "Do you really want to delete the attachment %s?" -msgstr "" +msgstr "添付 %s を削除しますか?" #. openerp-web #: addons/web/static/src/js/view_form.js:822 #: addons/web/static/src/js/view_form.js:828 #, python-format msgid "Unknown operator %s in domain %s" -msgstr "" +msgstr "ドメイン %s に無効な演算 %s があります" #. openerp-web #: addons/web/static/src/js/view_form.js:830 #: addons/web/static/src/js/view_form.js:836 #, python-format msgid "Unknown field %s in domain %s" -msgstr "" +msgstr "ドメイン %s に無効なフィールド %s があります" #. openerp-web #: addons/web/static/src/js/view_form.js:868 #: addons/web/static/src/js/view_form.js:874 #, python-format msgid "Unsupported operator %s in domain %s" -msgstr "" +msgstr "ドメイン %s に無効な演算 %s があります" #. openerp-web #: addons/web/static/src/js/view_form.js:1225 #: addons/web/static/src/js/view_form.js:1231 msgid "Confirm" -msgstr "" +msgstr "確認" #. openerp-web #: addons/web/static/src/js/view_form.js:1921 @@ -547,33 +547,33 @@ msgstr "" #: addons/web/static/src/js/view_form.js:2590 #: addons/web/static/src/js/view_form.js:2760 msgid "Open: " -msgstr "" +msgstr "開く: " #. openerp-web #: addons/web/static/src/js/view_form.js:2049 #: addons/web/static/src/js/view_form.js:2061 msgid "<em>   Search More...</em>" -msgstr "" +msgstr "<em>   もっと検索…</em>" #. openerp-web #: addons/web/static/src/js/view_form.js:2062 #: addons/web/static/src/js/view_form.js:2074 #, python-format msgid "<em>   Create \"<strong>%s</strong>\"</em>" -msgstr "" +msgstr "<em>   作成 \"<strong>%s</strong>\"</em>" #. openerp-web #: addons/web/static/src/js/view_form.js:2068 #: addons/web/static/src/js/view_form.js:2080 msgid "<em>   Create and Edit...</em>" -msgstr "" +msgstr "<em>   作成して編集…</em>" #. openerp-web #: addons/web/static/src/js/view_form.js:2101 #: addons/web/static/src/js/views.js:675 #: addons/web/static/src/js/view_form.js:2113 msgid "Search: " -msgstr "" +msgstr "検索: " #. openerp-web #: addons/web/static/src/js/view_form.js:2101 @@ -581,7 +581,7 @@ msgstr "" #: addons/web/static/src/js/view_form.js:2113 #: addons/web/static/src/js/view_form.js:2562 msgid "Create: " -msgstr "" +msgstr "作成: " #. openerp-web #: addons/web/static/src/js/view_form.js:2661 @@ -590,604 +590,604 @@ msgstr "" #: addons/web/static/src/xml/base.xml:1646 #: addons/web/static/src/js/view_form.js:2680 msgid "Add" -msgstr "" +msgstr "追加" #. openerp-web #: addons/web/static/src/js/view_form.js:2721 #: addons/web/static/src/js/view_form.js:2740 msgid "Add: " -msgstr "" +msgstr "追加: " #. openerp-web #: addons/web/static/src/js/view_list.js:8 msgid "List" -msgstr "" +msgstr "リスト" #. openerp-web #: addons/web/static/src/js/view_list.js:269 msgid "Unlimited" -msgstr "" +msgstr "制限なし" #. openerp-web #: addons/web/static/src/js/view_list.js:305 #: addons/web/static/src/js/view_list.js:309 #, python-format msgid "[%(first_record)d to %(last_record)d] of %(records_count)d" -msgstr "" +msgstr "%(records_count)d の [%(first_record)d から %(last_record)d]" #. openerp-web #: addons/web/static/src/js/view_list.js:524 #: addons/web/static/src/js/view_list.js:528 msgid "Do you really want to remove these records?" -msgstr "" +msgstr "このレコードを削除しますか?" #. openerp-web #: addons/web/static/src/js/view_list.js:1230 #: addons/web/static/src/js/view_list.js:1232 msgid "Undefined" -msgstr "" +msgstr "未定義" #. openerp-web #: addons/web/static/src/js/view_list.js:1327 #: addons/web/static/src/js/view_list.js:1331 #, python-format msgid "%(page)d/%(page_count)d" -msgstr "" +msgstr "%(page)d/%(page_count)d" #. openerp-web #: addons/web/static/src/js/view_page.js:8 msgid "Page" -msgstr "" +msgstr "ページ" #. openerp-web #: addons/web/static/src/js/view_page.js:52 msgid "Do you really want to delete this record?" -msgstr "" +msgstr "このレコードを削除しますか?" #. openerp-web #: addons/web/static/src/js/view_tree.js:11 msgid "Tree" -msgstr "" +msgstr "ツリー" #. openerp-web #: addons/web/static/src/js/views.js:565 #: addons/web/static/src/xml/base.xml:480 msgid "Fields View Get" -msgstr "" +msgstr "フィールドのビューを得る" #. openerp-web #: addons/web/static/src/js/views.js:573 #, python-format msgid "View Log (%s)" -msgstr "" +msgstr "ビューのログ (%s)" #. openerp-web #: addons/web/static/src/js/views.js:600 #, python-format msgid "Model %s fields" -msgstr "" +msgstr "モデル %s フィールド" #. openerp-web #: addons/web/static/src/js/views.js:610 #: addons/web/static/src/xml/base.xml:482 msgid "Manage Views" -msgstr "" +msgstr "ビューの管理" #. openerp-web #: addons/web/static/src/js/views.js:611 msgid "Could not find current view declaration" -msgstr "" +msgstr "このビューの定義が見つかりません" #. openerp-web #: addons/web/static/src/js/views.js:805 msgid "Translate" -msgstr "" +msgstr "翻訳" #. openerp-web #: addons/web/static/src/js/views.js:807 msgid "Technical translation" -msgstr "" +msgstr "技術翻訳" #. openerp-web #: addons/web/static/src/js/views.js:811 msgid "Other Options" -msgstr "" +msgstr "その他のオプション" #. openerp-web #: addons/web/static/src/js/views.js:814 #: addons/web/static/src/xml/base.xml:1736 msgid "Import" -msgstr "" +msgstr "インポート" #. openerp-web #: addons/web/static/src/js/views.js:817 #: addons/web/static/src/xml/base.xml:1606 msgid "Export" -msgstr "" +msgstr "エクスポート" #. openerp-web #: addons/web/static/src/js/views.js:825 msgid "Reports" -msgstr "" +msgstr "レポート" #. openerp-web #: addons/web/static/src/js/views.js:825 msgid "Actions" -msgstr "" +msgstr "アクション" #. openerp-web #: addons/web/static/src/js/views.js:825 msgid "Links" -msgstr "" +msgstr "リンク" #. openerp-web #: addons/web/static/src/js/views.js:919 msgid "You must choose at least one record." -msgstr "" +msgstr "少なくとも1つのレコードを選んでください" #. openerp-web #: addons/web/static/src/js/views.js:920 msgid "Warning" -msgstr "" +msgstr "注意" #. openerp-web #: addons/web/static/src/js/views.js:957 msgid "Translations" -msgstr "" +msgstr "翻訳" #. openerp-web #: addons/web/static/src/xml/base.xml:44 #: addons/web/static/src/xml/base.xml:315 msgid "Powered by" -msgstr "" +msgstr "で動く" #. openerp-web #: addons/web/static/src/xml/base.xml:44 #: addons/web/static/src/xml/base.xml:315 #: addons/web/static/src/xml/base.xml:1813 msgid "OpenERP" -msgstr "" +msgstr "OpenERP" #. openerp-web #: addons/web/static/src/xml/base.xml:52 msgid "Loading..." -msgstr "" +msgstr "読込み中..." #. openerp-web #: addons/web/static/src/xml/base.xml:61 msgid "CREATE DATABASE" -msgstr "" +msgstr "データベース作成" #. openerp-web #: addons/web/static/src/xml/base.xml:68 #: addons/web/static/src/xml/base.xml:211 msgid "Master password:" -msgstr "" +msgstr "マスタパスワード:" #. openerp-web #: addons/web/static/src/xml/base.xml:72 #: addons/web/static/src/xml/base.xml:191 msgid "New database name:" -msgstr "" +msgstr "新しいデータベース名:" #. openerp-web #: addons/web/static/src/xml/base.xml:77 msgid "Load Demonstration data:" -msgstr "" +msgstr "デモ用のデータを読込み中:" #. openerp-web #: addons/web/static/src/xml/base.xml:81 msgid "Default language:" -msgstr "" +msgstr "デフォルトの言語:" #. openerp-web #: addons/web/static/src/xml/base.xml:91 msgid "Admin password:" -msgstr "" +msgstr "アドミン用パスワード:" #. openerp-web #: addons/web/static/src/xml/base.xml:95 msgid "Confirm password:" -msgstr "" +msgstr "パスワード確認" #. openerp-web #: addons/web/static/src/xml/base.xml:109 msgid "DROP DATABASE" -msgstr "" +msgstr "データベースを破棄" #. openerp-web #: addons/web/static/src/xml/base.xml:116 #: addons/web/static/src/xml/base.xml:150 #: addons/web/static/src/xml/base.xml:301 msgid "Database:" -msgstr "" +msgstr "データベース:" #. openerp-web #: addons/web/static/src/xml/base.xml:128 #: addons/web/static/src/xml/base.xml:162 #: addons/web/static/src/xml/base.xml:187 msgid "Master Password:" -msgstr "" +msgstr "マスタパスワード:" #. openerp-web #: addons/web/static/src/xml/base.xml:132 #: addons/web/static/src/xml/base.xml:328 msgid "Drop" -msgstr "" +msgstr "破棄" #. openerp-web #: addons/web/static/src/xml/base.xml:143 msgid "BACKUP DATABASE" -msgstr "" +msgstr "データベースをバックアップ" #. openerp-web #: addons/web/static/src/xml/base.xml:166 #: addons/web/static/src/xml/base.xml:329 msgid "Backup" -msgstr "" +msgstr "バックアップ" #. openerp-web #: addons/web/static/src/xml/base.xml:175 msgid "RESTORE DATABASE" -msgstr "" +msgstr "データベースをリストア" #. openerp-web #: addons/web/static/src/xml/base.xml:182 msgid "File:" -msgstr "" +msgstr "ファイル:" #. openerp-web #: addons/web/static/src/xml/base.xml:195 #: addons/web/static/src/xml/base.xml:330 msgid "Restore" -msgstr "" +msgstr "リストア" #. openerp-web #: addons/web/static/src/xml/base.xml:204 msgid "CHANGE MASTER PASSWORD" -msgstr "" +msgstr "マスタパスワードの変更" #. openerp-web #: addons/web/static/src/xml/base.xml:216 msgid "New master password:" -msgstr "" +msgstr "新しいマスタパスワード:" #. openerp-web #: addons/web/static/src/xml/base.xml:221 msgid "Confirm new master password:" -msgstr "" +msgstr "新しいマスタパスワードの確認:" #. openerp-web #: addons/web/static/src/xml/base.xml:251 msgid "" "Your version of OpenERP is unsupported. Support & maintenance services are " "available here:" -msgstr "" +msgstr "このOpenERPはサポートされていあせん。サポート保守サービスはこちらまで:" #. openerp-web #: addons/web/static/src/xml/base.xml:251 msgid "OpenERP Entreprise" -msgstr "" +msgstr "OpenERPエンタープライズ" #. openerp-web #: addons/web/static/src/xml/base.xml:256 msgid "OpenERP Enterprise Contract." -msgstr "" +msgstr "OpenERPエンタープライズ契約" #. openerp-web #: addons/web/static/src/xml/base.xml:257 msgid "Your report will be sent to the OpenERP Enterprise team." -msgstr "" +msgstr "あなたのレポートをOpenERPエンタープライズチームに送ります" #. openerp-web #: addons/web/static/src/xml/base.xml:259 msgid "Summary:" -msgstr "" +msgstr "要約:" #. openerp-web #: addons/web/static/src/xml/base.xml:263 msgid "Description:" -msgstr "" +msgstr "説明:" #. openerp-web #: addons/web/static/src/xml/base.xml:267 msgid "What you did:" -msgstr "" +msgstr "あなたが行ったこと:" #. openerp-web #: addons/web/static/src/xml/base.xml:297 msgid "Invalid username or password" -msgstr "" +msgstr "ユーザ名またはパスワードが間違っています" #. openerp-web #: addons/web/static/src/xml/base.xml:306 msgid "Username" -msgstr "" +msgstr "ユーザ名" #. openerp-web #: addons/web/static/src/xml/base.xml:308 #: addons/web/static/src/xml/base.xml:331 msgid "Password" -msgstr "" +msgstr "パスワード" #. openerp-web #: addons/web/static/src/xml/base.xml:310 msgid "Log in" -msgstr "" +msgstr "ログイン" #. openerp-web #: addons/web/static/src/xml/base.xml:314 msgid "Manage Databases" -msgstr "" +msgstr "データベースの管理" #. openerp-web #: addons/web/static/src/xml/base.xml:332 msgid "Back to Login" -msgstr "" +msgstr "ログインへ戻る" #. openerp-web #: addons/web/static/src/xml/base.xml:353 msgid "Home" -msgstr "" +msgstr "ホーム" #. openerp-web #: addons/web/static/src/xml/base.xml:363 msgid "LOGOUT" -msgstr "" +msgstr "ログアウト" #. openerp-web #: addons/web/static/src/xml/base.xml:388 msgid "Fold menu" -msgstr "" +msgstr "メニューをたたむ" #. openerp-web #: addons/web/static/src/xml/base.xml:389 msgid "Unfold menu" -msgstr "" +msgstr "メニューを広げる" #. openerp-web #: addons/web/static/src/xml/base.xml:454 msgid "Hide this tip" -msgstr "" +msgstr "この説明を隠す" #. openerp-web #: addons/web/static/src/xml/base.xml:455 msgid "Disable all tips" -msgstr "" +msgstr "全ての説明を無効にする" #. openerp-web #: addons/web/static/src/xml/base.xml:463 msgid "Add / Remove Shortcut..." -msgstr "" +msgstr "ショートカットを追加 / 削除…" #. openerp-web #: addons/web/static/src/xml/base.xml:471 msgid "More…" -msgstr "" +msgstr "もっと…" #. openerp-web #: addons/web/static/src/xml/base.xml:477 msgid "Debug View#" -msgstr "" +msgstr "ビュー#をデバッグ" #. openerp-web #: addons/web/static/src/xml/base.xml:478 msgid "View Log (perm_read)" -msgstr "" +msgstr "ログ (perm_read) のビュー" #. openerp-web #: addons/web/static/src/xml/base.xml:479 msgid "View Fields" -msgstr "" +msgstr "フィールドのビュー" #. openerp-web #: addons/web/static/src/xml/base.xml:483 msgid "View" -msgstr "" +msgstr "ビュー" #. openerp-web #: addons/web/static/src/xml/base.xml:484 msgid "Edit SearchView" -msgstr "" +msgstr "サーチビューを編集" #. openerp-web #: addons/web/static/src/xml/base.xml:485 msgid "Edit Action" -msgstr "" +msgstr "アクションを編集" #. openerp-web #: addons/web/static/src/xml/base.xml:486 msgid "Edit Workflow" -msgstr "" +msgstr "ワークフローを編集" #. openerp-web #: addons/web/static/src/xml/base.xml:491 msgid "ID:" -msgstr "" +msgstr "ID:" #. openerp-web #: addons/web/static/src/xml/base.xml:494 msgid "XML ID:" -msgstr "" +msgstr "XML ID:" #. openerp-web #: addons/web/static/src/xml/base.xml:497 msgid "Creation User:" -msgstr "" +msgstr "ユーザの作成:" #. openerp-web #: addons/web/static/src/xml/base.xml:500 msgid "Creation Date:" -msgstr "" +msgstr "日付の作成:" #. openerp-web #: addons/web/static/src/xml/base.xml:503 msgid "Latest Modification by:" -msgstr "" +msgstr "最近の修正は:" #. openerp-web #: addons/web/static/src/xml/base.xml:506 msgid "Latest Modification Date:" -msgstr "" +msgstr "最近修正した日付:" #. openerp-web #: addons/web/static/src/xml/base.xml:542 msgid "Field" -msgstr "" +msgstr "フィールド" #. openerp-web #: addons/web/static/src/xml/base.xml:632 #: addons/web/static/src/xml/base.xml:758 #: addons/web/static/src/xml/base.xml:1708 msgid "Delete" -msgstr "" +msgstr "削除" #. openerp-web #: addons/web/static/src/xml/base.xml:757 msgid "Duplicate" -msgstr "" +msgstr "重複" #. openerp-web #: addons/web/static/src/xml/base.xml:775 msgid "Add attachment" -msgstr "" +msgstr "添付を追加" #. openerp-web #: addons/web/static/src/xml/base.xml:801 msgid "Default:" -msgstr "" +msgstr "デフォルト:" #. openerp-web #: addons/web/static/src/xml/base.xml:818 msgid "Condition:" -msgstr "" +msgstr "状態:" #. openerp-web #: addons/web/static/src/xml/base.xml:837 msgid "Only you" -msgstr "" +msgstr "あなただけ" #. openerp-web #: addons/web/static/src/xml/base.xml:844 msgid "All users" -msgstr "" +msgstr "全てのユーザ" #. openerp-web #: addons/web/static/src/xml/base.xml:851 msgid "Unhandled widget" -msgstr "" +msgstr "処理されないウィジェット" #. openerp-web #: addons/web/static/src/xml/base.xml:900 msgid "Notebook Page \"" -msgstr "" +msgstr "ノートブックのページ \"" #. openerp-web #: addons/web/static/src/xml/base.xml:905 #: addons/web/static/src/xml/base.xml:964 msgid "Modifiers:" -msgstr "" +msgstr "修飾:" #. openerp-web #: addons/web/static/src/xml/base.xml:931 msgid "(nolabel)" -msgstr "" +msgstr "(nolabel)" #. openerp-web #: addons/web/static/src/xml/base.xml:936 msgid "Field:" -msgstr "" +msgstr "フィールド:" #. openerp-web #: addons/web/static/src/xml/base.xml:940 msgid "Object:" -msgstr "" +msgstr "オブジェクト:" #. openerp-web #: addons/web/static/src/xml/base.xml:944 msgid "Type:" -msgstr "" +msgstr "タイプ:" #. openerp-web #: addons/web/static/src/xml/base.xml:948 msgid "Widget:" -msgstr "" +msgstr "ウィジェット:" #. openerp-web #: addons/web/static/src/xml/base.xml:952 msgid "Size:" -msgstr "" +msgstr "サイズ:" #. openerp-web #: addons/web/static/src/xml/base.xml:956 msgid "Context:" -msgstr "" +msgstr "コンテキスト" #. openerp-web #: addons/web/static/src/xml/base.xml:960 msgid "Domain:" -msgstr "" +msgstr "ドメイン:" #. openerp-web #: addons/web/static/src/xml/base.xml:968 msgid "Change default:" -msgstr "" +msgstr "デフォルトの変更:" #. openerp-web #: addons/web/static/src/xml/base.xml:972 msgid "On change:" -msgstr "" +msgstr "変更:" #. openerp-web #: addons/web/static/src/xml/base.xml:976 msgid "Relation:" -msgstr "" +msgstr "関係:" #. openerp-web #: addons/web/static/src/xml/base.xml:980 msgid "Selection:" -msgstr "" +msgstr "選択:" #. openerp-web #: addons/web/static/src/xml/base.xml:1020 msgid "Send an e-mail with your default e-mail client" -msgstr "" +msgstr "デフォルトのeメールクライアントとしてeメールを送信" #. openerp-web #: addons/web/static/src/xml/base.xml:1034 msgid "Open this resource" -msgstr "" +msgstr "このリソースを開く" #. openerp-web #: addons/web/static/src/xml/base.xml:1056 msgid "Select date" -msgstr "" +msgstr "日付を選択" #. openerp-web #: addons/web/static/src/xml/base.xml:1090 msgid "Open..." -msgstr "" +msgstr "開く..." #. openerp-web #: addons/web/static/src/xml/base.xml:1091 msgid "Create..." -msgstr "" +msgstr "作成..." #. openerp-web #: addons/web/static/src/xml/base.xml:1092 msgid "Search..." -msgstr "" +msgstr "検索…" #. openerp-web #: addons/web/static/src/xml/base.xml:1095 msgid "..." -msgstr "" +msgstr "..." #. openerp-web #: addons/web/static/src/xml/base.xml:1155 #: addons/web/static/src/xml/base.xml:1198 msgid "Set Image" -msgstr "" +msgstr "イメージをセット" #. openerp-web #: addons/web/static/src/xml/base.xml:1163 @@ -1195,150 +1195,150 @@ msgstr "" #: addons/web/static/src/xml/base.xml:1215 #: addons/web/static/src/xml/base.xml:1272 msgid "Clear" -msgstr "" +msgstr "クリアー" #. openerp-web #: addons/web/static/src/xml/base.xml:1172 #: addons/web/static/src/xml/base.xml:1223 msgid "Uploading ..." -msgstr "" +msgstr "アップロード中…" #. openerp-web #: addons/web/static/src/xml/base.xml:1200 #: addons/web/static/src/xml/base.xml:1495 msgid "Select" -msgstr "" +msgstr "選択" #. openerp-web #: addons/web/static/src/xml/base.xml:1207 #: addons/web/static/src/xml/base.xml:1209 msgid "Save As" -msgstr "" +msgstr "名前を付けて保存" #. openerp-web #: addons/web/static/src/xml/base.xml:1238 msgid "Button" -msgstr "" +msgstr "ボタン" #. openerp-web #: addons/web/static/src/xml/base.xml:1241 msgid "(no string)" -msgstr "" +msgstr "(ストリングなし)" #. openerp-web #: addons/web/static/src/xml/base.xml:1248 msgid "Special:" -msgstr "" +msgstr "特別:" #. openerp-web #: addons/web/static/src/xml/base.xml:1253 msgid "Button Type:" -msgstr "" +msgstr "ボタンのタイプ:" #. openerp-web #: addons/web/static/src/xml/base.xml:1257 msgid "Method:" -msgstr "" +msgstr "メソッド:" #. openerp-web #: addons/web/static/src/xml/base.xml:1261 msgid "Action ID:" -msgstr "" +msgstr "アクションID:" #. openerp-web #: addons/web/static/src/xml/base.xml:1271 msgid "Search" -msgstr "" +msgstr "検索" #. openerp-web #: addons/web/static/src/xml/base.xml:1279 msgid "Filters" -msgstr "" +msgstr "フィルタ" #. openerp-web #: addons/web/static/src/xml/base.xml:1280 msgid "-- Filters --" -msgstr "" +msgstr "--フィルタ--" #. openerp-web #: addons/web/static/src/xml/base.xml:1289 msgid "-- Actions --" -msgstr "" +msgstr "--アクション--" #. openerp-web #: addons/web/static/src/xml/base.xml:1290 msgid "Add Advanced Filter" -msgstr "" +msgstr "高度なフィルタを追加" #. openerp-web #: addons/web/static/src/xml/base.xml:1291 msgid "Save Filter" -msgstr "" +msgstr "フィルタを保存" #. openerp-web #: addons/web/static/src/xml/base.xml:1293 msgid "Manage Filters" -msgstr "" +msgstr "フィルタの管理" #. openerp-web #: addons/web/static/src/xml/base.xml:1298 msgid "Filter Name:" -msgstr "" +msgstr "フィルタ名" #. openerp-web #: addons/web/static/src/xml/base.xml:1300 msgid "(Any existing filter with the same name will be replaced)" -msgstr "" +msgstr "(同じ名前の既存のフィルタは置き換えられます)" #. openerp-web #: addons/web/static/src/xml/base.xml:1305 msgid "Select Dashboard to add this filter to:" -msgstr "" +msgstr "このフィルタを追加するためのダッシュボードを選んでください:" #. openerp-web #: addons/web/static/src/xml/base.xml:1309 msgid "Title of new Dashboard item:" -msgstr "" +msgstr "新しいダッシュボード項目のタイトル:" #. openerp-web #: addons/web/static/src/xml/base.xml:1416 msgid "Advanced Filters" -msgstr "" +msgstr "高度なフィルタ" #. openerp-web #: addons/web/static/src/xml/base.xml:1426 msgid "Any of the following conditions must match" -msgstr "" +msgstr "次のいずれかの条件を満たさなければなりません" #. openerp-web #: addons/web/static/src/xml/base.xml:1427 msgid "All the following conditions must match" -msgstr "" +msgstr "次の全ての条件を満たさなければなりません" #. openerp-web #: addons/web/static/src/xml/base.xml:1428 msgid "None of the following conditions must match" -msgstr "" +msgstr "次のいずれの条件も満たしてはいけません" #. openerp-web #: addons/web/static/src/xml/base.xml:1435 msgid "Add condition" -msgstr "" +msgstr "条件の追加" #. openerp-web #: addons/web/static/src/xml/base.xml:1436 msgid "and" -msgstr "" +msgstr "と" #. openerp-web #: addons/web/static/src/xml/base.xml:1503 msgid "Save & New" -msgstr "" +msgstr "保存して新規" #. openerp-web #: addons/web/static/src/xml/base.xml:1504 msgid "Save & Close" -msgstr "" +msgstr "保存して閉じる" #. openerp-web #: addons/web/static/src/xml/base.xml:1611 @@ -1348,81 +1348,83 @@ msgid "" " You can export all data or only the fields that can be " "reimported after modification." msgstr "" +"このウェザードは,検索条件に合った全てのデータをCSVファイルとしてエクスポートします。\n" +"            全てのデータあるいは変更したあと再インポートできるフィールドのみをエクスポートできます。" #. openerp-web #: addons/web/static/src/xml/base.xml:1618 msgid "Export Type:" -msgstr "" +msgstr "エクスポートのタイプ:" #. openerp-web #: addons/web/static/src/xml/base.xml:1620 msgid "Import Compatible Export" -msgstr "" +msgstr "インポートと互換性があるエクスポート" #. openerp-web #: addons/web/static/src/xml/base.xml:1621 msgid "Export all Data" -msgstr "" +msgstr "全てのデータをエクスポート" #. openerp-web #: addons/web/static/src/xml/base.xml:1624 msgid "Export Formats" -msgstr "" +msgstr "エクスポートの形式" #. openerp-web #: addons/web/static/src/xml/base.xml:1630 msgid "Available fields" -msgstr "" +msgstr "利用可能なフィールド" #. openerp-web #: addons/web/static/src/xml/base.xml:1632 msgid "Fields to export" -msgstr "" +msgstr "エクスポートするフィールド" #. openerp-web #: addons/web/static/src/xml/base.xml:1634 msgid "Save fields list" -msgstr "" +msgstr "フィールドリストを保存" #. openerp-web #: addons/web/static/src/xml/base.xml:1648 msgid "Remove All" -msgstr "" +msgstr "全てを削除" #. openerp-web #: addons/web/static/src/xml/base.xml:1660 msgid "Name" -msgstr "" +msgstr "名前" #. openerp-web #: addons/web/static/src/xml/base.xml:1693 msgid "Save as:" -msgstr "" +msgstr "名前を付けて保存 :" #. openerp-web #: addons/web/static/src/xml/base.xml:1700 msgid "Saved exports:" -msgstr "" +msgstr "保存されたエクスポート" #. openerp-web #: addons/web/static/src/xml/base.xml:1714 msgid "Old Password:" -msgstr "" +msgstr "古いパスワード" #. openerp-web #: addons/web/static/src/xml/base.xml:1719 msgid "New Password:" -msgstr "" +msgstr "新しいパスワード:" #. openerp-web #: addons/web/static/src/xml/base.xml:1724 msgid "Confirm Password:" -msgstr "" +msgstr "パスワードの確認:" #. openerp-web #: addons/web/static/src/xml/base.xml:1742 msgid "1. Import a .CSV file" -msgstr "" +msgstr "1. CVSファイルのインポート" #. openerp-web #: addons/web/static/src/xml/base.xml:1743 @@ -1430,115 +1432,117 @@ msgid "" "Select a .CSV file to import. If you need a sample of file to import,\n" " you should use the export tool with the \"Import Compatible\" option." msgstr "" +"インポートするファイルのサンプルが必要ならば,インポートするCSVファイルを選択\n" +"      インポート互換のエクスポートツールを使ってください" #. openerp-web #: addons/web/static/src/xml/base.xml:1747 msgid "CSV File:" -msgstr "" +msgstr "CSVファイル" #. openerp-web #: addons/web/static/src/xml/base.xml:1750 msgid "2. Check your file format" -msgstr "" +msgstr "2. ファイル形式をチェックしてください" #. openerp-web #: addons/web/static/src/xml/base.xml:1753 msgid "Import Options" -msgstr "" +msgstr "インポートオプション" #. openerp-web #: addons/web/static/src/xml/base.xml:1757 msgid "Does your file have titles?" -msgstr "" +msgstr "そのファイルはタイトルを持っていますか?" #. openerp-web #: addons/web/static/src/xml/base.xml:1763 msgid "Separator:" -msgstr "" +msgstr "区切り文字:" #. openerp-web #: addons/web/static/src/xml/base.xml:1765 msgid "Delimiter:" -msgstr "" +msgstr "区切り文字:" #. openerp-web #: addons/web/static/src/xml/base.xml:1769 msgid "Encoding:" -msgstr "" +msgstr "エンコーディング:" #. openerp-web #: addons/web/static/src/xml/base.xml:1772 msgid "UTF-8" -msgstr "" +msgstr "UTF-8" #. openerp-web #: addons/web/static/src/xml/base.xml:1773 msgid "Latin 1" -msgstr "" +msgstr "ラテン1" #. openerp-web #: addons/web/static/src/xml/base.xml:1776 msgid "Lines to skip" -msgstr "" +msgstr "スキップする行" #. openerp-web #: addons/web/static/src/xml/base.xml:1776 msgid "" "For use if CSV files have titles on multiple lines, skips more than a single " "line during import" -msgstr "" +msgstr "CVSファイルが,複数行にタイトルを持っていたら,インポートの際に1行以上をスキップする" #. openerp-web #: addons/web/static/src/xml/base.xml:1803 msgid "The import failed due to:" -msgstr "" +msgstr "次の理由でインポートに失敗しました:" #. openerp-web #: addons/web/static/src/xml/base.xml:1805 msgid "Here is a preview of the file we could not import:" -msgstr "" +msgstr "インポートできなかったファイルのポレビュー:" #. openerp-web #: addons/web/static/src/xml/base.xml:1812 msgid "Activate the developper mode" -msgstr "" +msgstr "開発者モードに設定してください" #. openerp-web #: addons/web/static/src/xml/base.xml:1814 msgid "Version" -msgstr "" +msgstr "バージョン" #. openerp-web #: addons/web/static/src/xml/base.xml:1815 msgid "Copyright © 2004-TODAY OpenERP SA. All Rights Reserved." -msgstr "" +msgstr "Copyright © 2004-TODAY OpenERP SA. All Rights Reserved." #. openerp-web #: addons/web/static/src/xml/base.xml:1816 msgid "OpenERP is a trademark of the" -msgstr "" +msgstr "OpenERPは商標です" #. openerp-web #: addons/web/static/src/xml/base.xml:1817 msgid "OpenERP SA Company" -msgstr "" +msgstr "OpenERP SA Company" #. openerp-web #: addons/web/static/src/xml/base.xml:1819 msgid "Licenced under the terms of" -msgstr "" +msgstr "ライセンスに準拠" #. openerp-web #: addons/web/static/src/xml/base.xml:1820 msgid "GNU Affero General Public License" -msgstr "" +msgstr "GNU Affero General Public License" #. openerp-web #: addons/web/static/src/xml/base.xml:1822 msgid "For more information visit" -msgstr "" +msgstr "もっと詳しい情報はこちらへ" #. openerp-web #: addons/web/static/src/xml/base.xml:1823 msgid "OpenERP.com" -msgstr "" +msgstr "OpenERP.com" diff --git a/addons/web/i18n/nl.po b/addons/web/i18n/nl.po index a303a2fb091..057d2f0ddf1 100644 --- a/addons/web/i18n/nl.po +++ b/addons/web/i18n/nl.po @@ -8,13 +8,13 @@ msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" "POT-Creation-Date: 2012-02-14 15:27+0100\n" -"PO-Revision-Date: 2012-03-28 12:49+0000\n" +"PO-Revision-Date: 2012-03-29 13:30+0000\n" "Last-Translator: Erwin <Unknown>\n" "Language-Team: Dutch <nl@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-03-29 04:46+0000\n" +"X-Launchpad-Export-Date: 2012-03-30 04:48+0000\n" "X-Generator: Launchpad (build 15032)\n" #. openerp-web @@ -708,7 +708,7 @@ msgstr "Exporteren" #. openerp-web #: addons/web/static/src/js/views.js:825 msgid "Reports" -msgstr "Overzichten" +msgstr "Rapportages" #. openerp-web #: addons/web/static/src/js/views.js:825 diff --git a/addons/web_gantt/i18n/nb.po b/addons/web_gantt/i18n/nb.po new file mode 100644 index 00000000000..eeeb269543d --- /dev/null +++ b/addons/web_gantt/i18n/nb.po @@ -0,0 +1,28 @@ +# Norwegian Bokmal translation for openerp-web +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openerp-web package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openerp-web\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2012-02-06 17:33+0100\n" +"PO-Revision-Date: 2012-03-29 11:41+0000\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: Norwegian Bokmal <nb@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-03-30 04:48+0000\n" +"X-Generator: Launchpad (build 15032)\n" + +#. openerp-web +#: addons/web_gantt/static/src/js/gantt.js:11 +msgid "Gantt" +msgstr "Gantt" + +#. openerp-web +#: addons/web_gantt/static/src/xml/web_gantt.xml:10 +msgid "Create" +msgstr "Opprett" diff --git a/addons/web_mobile/i18n/ja.po b/addons/web_mobile/i18n/ja.po new file mode 100644 index 00000000000..59da8f8f8bb --- /dev/null +++ b/addons/web_mobile/i18n/ja.po @@ -0,0 +1,106 @@ +# Japanese translation for openerp-web +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openerp-web package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openerp-web\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2012-02-07 10:13+0100\n" +"PO-Revision-Date: 2012-03-31 18:42+0000\n" +"Last-Translator: Masaki Yamaya <Unknown>\n" +"Language-Team: Japanese <ja@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-04-01 04:49+0000\n" +"X-Generator: Launchpad (build 15032)\n" + +#. openerp-web +#: addons/web_mobile/static/src/xml/web_mobile.xml:17 +msgid "OpenERP" +msgstr "OpenERP" + +#. openerp-web +#: addons/web_mobile/static/src/xml/web_mobile.xml:22 +msgid "Database:" +msgstr "データベース:" + +#. openerp-web +#: addons/web_mobile/static/src/xml/web_mobile.xml:30 +msgid "Login:" +msgstr "ログイン:" + +#. openerp-web +#: addons/web_mobile/static/src/xml/web_mobile.xml:32 +msgid "Password:" +msgstr "パスワード:" + +#. openerp-web +#: addons/web_mobile/static/src/xml/web_mobile.xml:34 +msgid "Login" +msgstr "ログイン" + +#. openerp-web +#: addons/web_mobile/static/src/xml/web_mobile.xml:36 +msgid "Bad username or password" +msgstr "ユーザ名あるいはパスワードが正しくありません" + +#. openerp-web +#: addons/web_mobile/static/src/xml/web_mobile.xml:42 +msgid "Powered by openerp.com" +msgstr "openerp.comによる" + +#. openerp-web +#: addons/web_mobile/static/src/xml/web_mobile.xml:49 +msgid "Home" +msgstr "ホーム" + +#. openerp-web +#: addons/web_mobile/static/src/xml/web_mobile.xml:57 +msgid "Favourite" +msgstr "お気に入り" + +#. openerp-web +#: addons/web_mobile/static/src/xml/web_mobile.xml:58 +msgid "Preference" +msgstr "優先" + +#. openerp-web +#: addons/web_mobile/static/src/xml/web_mobile.xml:123 +msgid "Logout" +msgstr "ログアウト" + +#. openerp-web +#: addons/web_mobile/static/src/xml/web_mobile.xml:132 +msgid "There are no records to show." +msgstr "表示するレコードはありません" + +#. openerp-web +#: addons/web_mobile/static/src/xml/web_mobile.xml:183 +msgid "Open this resource" +msgstr "このリソースを開く" + +#. openerp-web +#: addons/web_mobile/static/src/xml/web_mobile.xml:223 +#: addons/web_mobile/static/src/xml/web_mobile.xml:226 +msgid "Percent of tasks closed according to total of tasks to do..." +msgstr "実行する全てのタスクのうち,このパーセントを終了しました…" + +#. openerp-web +#: addons/web_mobile/static/src/xml/web_mobile.xml:264 +#: addons/web_mobile/static/src/xml/web_mobile.xml:268 +msgid "On" +msgstr "オン" + +#. openerp-web +#: addons/web_mobile/static/src/xml/web_mobile.xml:265 +#: addons/web_mobile/static/src/xml/web_mobile.xml:269 +msgid "Off" +msgstr "オフ" + +#. openerp-web +#: addons/web_mobile/static/src/xml/web_mobile.xml:294 +msgid "Form View" +msgstr "フォームビュー" diff --git a/addons/web_mobile/i18n/nb.po b/addons/web_mobile/i18n/nb.po new file mode 100644 index 00000000000..3ca17485d4f --- /dev/null +++ b/addons/web_mobile/i18n/nb.po @@ -0,0 +1,106 @@ +# Norwegian Bokmal translation for openerp-web +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openerp-web package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openerp-web\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2012-02-07 10:13+0100\n" +"PO-Revision-Date: 2012-03-29 11:37+0000\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: Norwegian Bokmal <nb@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-03-30 04:48+0000\n" +"X-Generator: Launchpad (build 15032)\n" + +#. openerp-web +#: addons/web_mobile/static/src/xml/web_mobile.xml:17 +msgid "OpenERP" +msgstr "OpenERP" + +#. openerp-web +#: addons/web_mobile/static/src/xml/web_mobile.xml:22 +msgid "Database:" +msgstr "Database:" + +#. openerp-web +#: addons/web_mobile/static/src/xml/web_mobile.xml:30 +msgid "Login:" +msgstr "Login:" + +#. openerp-web +#: addons/web_mobile/static/src/xml/web_mobile.xml:32 +msgid "Password:" +msgstr "Passord:" + +#. openerp-web +#: addons/web_mobile/static/src/xml/web_mobile.xml:34 +msgid "Login" +msgstr "Logg inn" + +#. openerp-web +#: addons/web_mobile/static/src/xml/web_mobile.xml:36 +msgid "Bad username or password" +msgstr "Feil brukernavn eller passord" + +#. openerp-web +#: addons/web_mobile/static/src/xml/web_mobile.xml:42 +msgid "Powered by openerp.com" +msgstr "" + +#. openerp-web +#: addons/web_mobile/static/src/xml/web_mobile.xml:49 +msgid "Home" +msgstr "Hjem" + +#. openerp-web +#: addons/web_mobile/static/src/xml/web_mobile.xml:57 +msgid "Favourite" +msgstr "" + +#. openerp-web +#: addons/web_mobile/static/src/xml/web_mobile.xml:58 +msgid "Preference" +msgstr "" + +#. openerp-web +#: addons/web_mobile/static/src/xml/web_mobile.xml:123 +msgid "Logout" +msgstr "Logg ut" + +#. openerp-web +#: addons/web_mobile/static/src/xml/web_mobile.xml:132 +msgid "There are no records to show." +msgstr "Det er ingen poster å vise." + +#. openerp-web +#: addons/web_mobile/static/src/xml/web_mobile.xml:183 +msgid "Open this resource" +msgstr "Åpne denne resurssen" + +#. openerp-web +#: addons/web_mobile/static/src/xml/web_mobile.xml:223 +#: addons/web_mobile/static/src/xml/web_mobile.xml:226 +msgid "Percent of tasks closed according to total of tasks to do..." +msgstr "" + +#. openerp-web +#: addons/web_mobile/static/src/xml/web_mobile.xml:264 +#: addons/web_mobile/static/src/xml/web_mobile.xml:268 +msgid "On" +msgstr "På" + +#. openerp-web +#: addons/web_mobile/static/src/xml/web_mobile.xml:265 +#: addons/web_mobile/static/src/xml/web_mobile.xml:269 +msgid "Off" +msgstr "Av" + +#. openerp-web +#: addons/web_mobile/static/src/xml/web_mobile.xml:294 +msgid "Form View" +msgstr "Skjemavisning" diff --git a/addons/web_process/i18n/nb.po b/addons/web_process/i18n/nb.po new file mode 100644 index 00000000000..c5dfbebe2ee --- /dev/null +++ b/addons/web_process/i18n/nb.po @@ -0,0 +1,118 @@ +# Norwegian Bokmal translation for openerp-web +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openerp-web package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openerp-web\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2012-02-07 19:19+0100\n" +"PO-Revision-Date: 2012-03-29 11:39+0000\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: Norwegian Bokmal <nb@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-03-30 04:48+0000\n" +"X-Generator: Launchpad (build 15032)\n" + +#. openerp-web +#: addons/web_process/static/src/js/process.js:261 +msgid "Cancel" +msgstr "Avbryt" + +#. openerp-web +#: addons/web_process/static/src/js/process.js:262 +msgid "Save" +msgstr "Lagre" + +#. openerp-web +#: addons/web_process/static/src/xml/web_process.xml:6 +msgid "Process View" +msgstr "" + +#. openerp-web +#: addons/web_process/static/src/xml/web_process.xml:19 +msgid "Documentation" +msgstr "Dokumentasjon" + +#. openerp-web +#: addons/web_process/static/src/xml/web_process.xml:19 +msgid "Read Documentation Online" +msgstr "Les dokumentasjon online" + +#. openerp-web +#: addons/web_process/static/src/xml/web_process.xml:25 +msgid "Forum" +msgstr "Forum" + +#. openerp-web +#: addons/web_process/static/src/xml/web_process.xml:25 +msgid "Community Discussion" +msgstr "" + +#. openerp-web +#: addons/web_process/static/src/xml/web_process.xml:31 +msgid "Books" +msgstr "Bøker" + +#. openerp-web +#: addons/web_process/static/src/xml/web_process.xml:31 +msgid "Get the books" +msgstr "Få tak i bøkene" + +#. openerp-web +#: addons/web_process/static/src/xml/web_process.xml:37 +msgid "OpenERP Enterprise" +msgstr "OpenERP Enterprise" + +#. openerp-web +#: addons/web_process/static/src/xml/web_process.xml:37 +msgid "Purchase OpenERP Enterprise" +msgstr "" + +#. openerp-web +#: addons/web_process/static/src/xml/web_process.xml:52 +msgid "Process" +msgstr "Prosess" + +#. openerp-web +#: addons/web_process/static/src/xml/web_process.xml:56 +msgid "Notes:" +msgstr "Notater:" + +#. openerp-web +#: addons/web_process/static/src/xml/web_process.xml:59 +msgid "Last modified by:" +msgstr "" + +#. openerp-web +#: addons/web_process/static/src/xml/web_process.xml:59 +msgid "N/A" +msgstr "" + +#. openerp-web +#: addons/web_process/static/src/xml/web_process.xml:62 +msgid "Subflows:" +msgstr "" + +#. openerp-web +#: addons/web_process/static/src/xml/web_process.xml:75 +msgid "Related:" +msgstr "" + +#. openerp-web +#: addons/web_process/static/src/xml/web_process.xml:88 +msgid "Select Process" +msgstr "" + +#. openerp-web +#: addons/web_process/static/src/xml/web_process.xml:98 +msgid "Select" +msgstr "Velg" + +#. openerp-web +#: addons/web_process/static/src/xml/web_process.xml:109 +msgid "Edit Process" +msgstr "" From a996e8500fcff678b37f6d1d5000ef8382d3d0b7 Mon Sep 17 00:00:00 2001 From: Launchpad Translations on behalf of openerp <> Date: Mon, 2 Apr 2012 04:37:53 +0000 Subject: [PATCH 313/313] Launchpad automatic translations update. bzr revid: launchpad_translations_on_behalf_of_openerp-20120401043858-67c7yq9ha16xmdwj bzr revid: launchpad_translations_on_behalf_of_openerp-20120402043753-ayh4mhitj46woxdi --- addons/account_anglo_saxon/i18n/ja.po | 98 ++++++++++++++++++++++ addons/account_cancel/i18n/ja.po | 23 +++++ addons/account_chart/i18n/ja.po | 28 +++++++ addons/base_crypt/i18n/ja.po | 45 ++++++++++ addons/base_tools/i18n/ja.po | 32 +++++++ addons/base_vat/i18n/ja.po | 78 +++++++++++++++++ addons/claim_from_delivery/i18n/ja.po | 23 +++++ addons/crm_caldav/i18n/ja.po | 33 ++++++++ addons/decimal_precision/i18n/ja.po | 49 +++++++++++ addons/fetchmail_crm/i18n/ja.po | 34 ++++++++ addons/fetchmail_crm_claim/i18n/ja.po | 32 +++++++ addons/fetchmail_hr_recruitment/i18n/ja.po | 32 +++++++ addons/fetchmail_project_issue/i18n/ja.po | 34 ++++++++ addons/google_map/i18n/ja.po | 35 ++++++++ addons/hr/i18n/zh_CN.po | 2 +- 15 files changed, 577 insertions(+), 1 deletion(-) create mode 100644 addons/account_anglo_saxon/i18n/ja.po create mode 100644 addons/account_cancel/i18n/ja.po create mode 100644 addons/account_chart/i18n/ja.po create mode 100644 addons/base_crypt/i18n/ja.po create mode 100644 addons/base_tools/i18n/ja.po create mode 100644 addons/base_vat/i18n/ja.po create mode 100644 addons/claim_from_delivery/i18n/ja.po create mode 100644 addons/crm_caldav/i18n/ja.po create mode 100644 addons/decimal_precision/i18n/ja.po create mode 100644 addons/fetchmail_crm/i18n/ja.po create mode 100644 addons/fetchmail_crm_claim/i18n/ja.po create mode 100644 addons/fetchmail_hr_recruitment/i18n/ja.po create mode 100644 addons/fetchmail_project_issue/i18n/ja.po create mode 100644 addons/google_map/i18n/ja.po diff --git a/addons/account_anglo_saxon/i18n/ja.po b/addons/account_anglo_saxon/i18n/ja.po new file mode 100644 index 00000000000..63df6b6ff2f --- /dev/null +++ b/addons/account_anglo_saxon/i18n/ja.po @@ -0,0 +1,98 @@ +# Japanese translation for openobject-addons +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2012-02-08 00:35+0000\n" +"PO-Revision-Date: 2012-04-01 05:17+0000\n" +"Last-Translator: Masaki Yamaya <Unknown>\n" +"Language-Team: Japanese <ja@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-04-02 04:37+0000\n" +"X-Generator: Launchpad (build 15032)\n" + +#. module: account_anglo_saxon +#: sql_constraint:purchase.order:0 +msgid "Order Reference must be unique per Company!" +msgstr "発注参照は会社ごとにユニークなければいけません" + +#. module: account_anglo_saxon +#: view:product.category:0 +msgid " Accounting Property" +msgstr " 経理属性" + +#. module: account_anglo_saxon +#: model:ir.model,name:account_anglo_saxon.model_product_category +msgid "Product Category" +msgstr "製品カテゴリー" + +#. module: account_anglo_saxon +#: sql_constraint:stock.picking:0 +msgid "Reference must be unique per Company!" +msgstr "参照は会社ごとにユニークでなければいけません" + +#. module: account_anglo_saxon +#: constraint:product.category:0 +msgid "Error ! You cannot create recursive categories." +msgstr "エラー:再帰カテゴリーを作成することはできません" + +#. module: account_anglo_saxon +#: constraint:account.invoice:0 +msgid "Invalid BBA Structured Communication !" +msgstr "無効なBBA構造のコミュニケーション" + +#. module: account_anglo_saxon +#: constraint:product.template:0 +msgid "" +"Error: The default UOM and the purchase UOM must be in the same category." +msgstr "エラー:デフォールトのUOMと購入UOMは同じカテゴリーでなければいけません" + +#. module: account_anglo_saxon +#: model:ir.model,name:account_anglo_saxon.model_account_invoice_line +msgid "Invoice Line" +msgstr "請求明細" + +#. module: account_anglo_saxon +#: model:ir.model,name:account_anglo_saxon.model_purchase_order +msgid "Purchase Order" +msgstr "購買発注" + +#. module: account_anglo_saxon +#: model:ir.model,name:account_anglo_saxon.model_product_template +msgid "Product Template" +msgstr "製品テンプレート" + +#. module: account_anglo_saxon +#: field:product.category,property_account_creditor_price_difference_categ:0 +#: field:product.template,property_account_creditor_price_difference:0 +msgid "Price Difference Account" +msgstr "価格が異なるアカウント" + +#. module: account_anglo_saxon +#: model:ir.model,name:account_anglo_saxon.model_account_invoice +msgid "Invoice" +msgstr "請求書" + +#. module: account_anglo_saxon +#: model:ir.model,name:account_anglo_saxon.model_stock_picking +msgid "Picking List" +msgstr "選択リスト" + +#. module: account_anglo_saxon +#: sql_constraint:account.invoice:0 +msgid "Invoice Number must be unique per Company!" +msgstr "請求書番号は会社ごとにユニークでなければいけません" + +#. module: account_anglo_saxon +#: help:product.category,property_account_creditor_price_difference_categ:0 +#: help:product.template,property_account_creditor_price_difference:0 +msgid "" +"This account will be used to value price difference between purchase price " +"and cost price." +msgstr "このアカウントを使って購買価格とコスト価格の違いを計算します" diff --git a/addons/account_cancel/i18n/ja.po b/addons/account_cancel/i18n/ja.po new file mode 100644 index 00000000000..651b13d5eaa --- /dev/null +++ b/addons/account_cancel/i18n/ja.po @@ -0,0 +1,23 @@ +# Japanese translation for openobject-addons +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2012-02-08 00:35+0000\n" +"PO-Revision-Date: 2012-03-31 18:46+0000\n" +"Last-Translator: Masaki Yamaya <Unknown>\n" +"Language-Team: Japanese <ja@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-04-01 04:38+0000\n" +"X-Generator: Launchpad (build 15032)\n" + +#. module: account_cancel +#: view:account.invoice:0 +msgid "Cancel" +msgstr "キャンセル" diff --git a/addons/account_chart/i18n/ja.po b/addons/account_chart/i18n/ja.po new file mode 100644 index 00000000000..1a2c9e63d04 --- /dev/null +++ b/addons/account_chart/i18n/ja.po @@ -0,0 +1,28 @@ +# Japanese translation for openobject-addons +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2011-01-11 11:14+0000\n" +"PO-Revision-Date: 2012-03-31 18:48+0000\n" +"Last-Translator: Masaki Yamaya <Unknown>\n" +"Language-Team: Japanese <ja@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-04-01 04:38+0000\n" +"X-Generator: Launchpad (build 15032)\n" + +#. module: account_chart +#: model:ir.module.module,description:account_chart.module_meta_information +msgid "Remove minimal account chart" +msgstr "最小限の勘定科目を削除してください" + +#. module: account_chart +#: model:ir.module.module,shortdesc:account_chart.module_meta_information +msgid "Charts of Accounts" +msgstr "勘定科目" diff --git a/addons/base_crypt/i18n/ja.po b/addons/base_crypt/i18n/ja.po new file mode 100644 index 00000000000..440919c7545 --- /dev/null +++ b/addons/base_crypt/i18n/ja.po @@ -0,0 +1,45 @@ +# Japanese translation for openobject-addons +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2012-02-08 00:36+0000\n" +"PO-Revision-Date: 2012-04-01 06:05+0000\n" +"Last-Translator: Masaki Yamaya <Unknown>\n" +"Language-Team: Japanese <ja@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-04-02 04:37+0000\n" +"X-Generator: Launchpad (build 15032)\n" + +#. module: base_crypt +#: model:ir.model,name:base_crypt.model_res_users +msgid "res.users" +msgstr "res.users" + +#. module: base_crypt +#: sql_constraint:res.users:0 +msgid "You can not have two users with the same login !" +msgstr "同一のログインに2つのユーザを持つことはできません!" + +#. module: base_crypt +#: constraint:res.users:0 +msgid "The chosen company is not in the allowed companies for this user" +msgstr "選択した会社は、このユーザに許された会社ではありません。" + +#. module: base_crypt +#: code:addons/base_crypt/crypt.py:140 +#, python-format +msgid "Please specify the password !" +msgstr "パスワードを指定してください!" + +#. module: base_crypt +#: code:addons/base_crypt/crypt.py:140 +#, python-format +msgid "Error" +msgstr "エラー" diff --git a/addons/base_tools/i18n/ja.po b/addons/base_tools/i18n/ja.po new file mode 100644 index 00000000000..3f9d289e72c --- /dev/null +++ b/addons/base_tools/i18n/ja.po @@ -0,0 +1,32 @@ +# Japanese translation for openobject-addons +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2011-01-11 11:14+0000\n" +"PO-Revision-Date: 2012-03-31 18:52+0000\n" +"Last-Translator: Masaki Yamaya <Unknown>\n" +"Language-Team: Japanese <ja@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-04-01 04:38+0000\n" +"X-Generator: Launchpad (build 15032)\n" + +#. module: base_tools +#: model:ir.module.module,shortdesc:base_tools.module_meta_information +msgid "Common base for tools modules" +msgstr "ツールモジュールの共通基盤" + +#. module: base_tools +#: model:ir.module.module,description:base_tools.module_meta_information +msgid "" +"\n" +" " +msgstr "" +"\n" +" " diff --git a/addons/base_vat/i18n/ja.po b/addons/base_vat/i18n/ja.po new file mode 100644 index 00000000000..aadd1a69597 --- /dev/null +++ b/addons/base_vat/i18n/ja.po @@ -0,0 +1,78 @@ +# Japanese translation for openobject-addons +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2012-02-08 00:36+0000\n" +"PO-Revision-Date: 2012-04-01 06:27+0000\n" +"Last-Translator: Masaki Yamaya <Unknown>\n" +"Language-Team: Japanese <ja@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-04-02 04:37+0000\n" +"X-Generator: Launchpad (build 15032)\n" + +#. module: base_vat +#: code:addons/base_vat/base_vat.py:141 +#, python-format +msgid "" +"This VAT number does not seem to be valid.\n" +"Note: the expected format is %s" +msgstr "" +"この付加価値税の値は正しくありません。\n" +"注:形式は %s です。" + +#. module: base_vat +#: sql_constraint:res.company:0 +msgid "The company name must be unique !" +msgstr "会社名は固有でなければいけません。" + +#. module: base_vat +#: constraint:res.partner:0 +msgid "Error ! You cannot create recursive associated members." +msgstr "エラー!再帰的な関係となる会員を作ることはできません。" + +#. module: base_vat +#: field:res.company,vat_check_vies:0 +msgid "VIES VAT Check" +msgstr "VIEAの付加価値税をチェック" + +#. module: base_vat +#: model:ir.model,name:base_vat.model_res_company +msgid "Companies" +msgstr "会社" + +#. module: base_vat +#: constraint:res.company:0 +msgid "Error! You can not create recursive companies." +msgstr "エラー!再帰的な関係となる会社を作ることはできません。" + +#. module: base_vat +#: help:res.partner,vat_subjected:0 +msgid "" +"Check this box if the partner is subjected to the VAT. It will be used for " +"the VAT legal statement." +msgstr "このパートナが付加価値税の対象になるのであれば,このボックスをチェックしてください。それに付加価値税が適用されます。" + +#. module: base_vat +#: model:ir.model,name:base_vat.model_res_partner +msgid "Partner" +msgstr "パートナ" + +#. module: base_vat +#: help:res.company,vat_check_vies:0 +msgid "" +"If checked, Partners VAT numbers will be fully validated against EU's VIES " +"service rather than via a simple format validation (checksum)." +msgstr "" +"これをチェックすると,パートナーの付加価値税番号が,単なるフォーマットの検証(チェックサムう)ではなく,EUのVIEAサービスに対して検証されます。" + +#. module: base_vat +#: field:res.partner,vat_subjected:0 +msgid "VAT Legal Statement" +msgstr "付加価値税の記述" diff --git a/addons/claim_from_delivery/i18n/ja.po b/addons/claim_from_delivery/i18n/ja.po new file mode 100644 index 00000000000..dcd536c421d --- /dev/null +++ b/addons/claim_from_delivery/i18n/ja.po @@ -0,0 +1,23 @@ +# Japanese translation for openobject-addons +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2012-02-08 00:36+0000\n" +"PO-Revision-Date: 2012-04-01 05:47+0000\n" +"Last-Translator: Masaki Yamaya <Unknown>\n" +"Language-Team: Japanese <ja@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-04-02 04:37+0000\n" +"X-Generator: Launchpad (build 15032)\n" + +#. module: claim_from_delivery +#: model:ir.actions.act_window,name:claim_from_delivery.action_claim_from_delivery +msgid "Claim" +msgstr "クレーム" diff --git a/addons/crm_caldav/i18n/ja.po b/addons/crm_caldav/i18n/ja.po new file mode 100644 index 00000000000..6eae3bc9581 --- /dev/null +++ b/addons/crm_caldav/i18n/ja.po @@ -0,0 +1,33 @@ +# Japanese translation for openobject-addons +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2012-02-08 00:36+0000\n" +"PO-Revision-Date: 2012-04-01 05:49+0000\n" +"Last-Translator: Masaki Yamaya <Unknown>\n" +"Language-Team: Japanese <ja@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-04-02 04:37+0000\n" +"X-Generator: Launchpad (build 15032)\n" + +#. module: crm_caldav +#: model:ir.actions.act_window,name:crm_caldav.action_caldav_browse +msgid "Caldav Browse" +msgstr "Caldavブラウズ" + +#. module: crm_caldav +#: model:ir.ui.menu,name:crm_caldav.menu_caldav_browse +msgid "Synchronize This Calendar" +msgstr "このカレンダーを同期化する" + +#. module: crm_caldav +#: model:ir.model,name:crm_caldav.model_crm_meeting +msgid "Meeting" +msgstr "ミーティング" diff --git a/addons/decimal_precision/i18n/ja.po b/addons/decimal_precision/i18n/ja.po new file mode 100644 index 00000000000..43e0b4f18ed --- /dev/null +++ b/addons/decimal_precision/i18n/ja.po @@ -0,0 +1,49 @@ +# Japanese translation for openobject-addons +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2012-02-08 00:36+0000\n" +"PO-Revision-Date: 2012-04-01 06:02+0000\n" +"Last-Translator: Masaki Yamaya <Unknown>\n" +"Language-Team: Japanese <ja@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-04-02 04:37+0000\n" +"X-Generator: Launchpad (build 15032)\n" + +#. module: decimal_precision +#: field:decimal.precision,digits:0 +msgid "Digits" +msgstr "桁数" + +#. module: decimal_precision +#: model:ir.actions.act_window,name:decimal_precision.action_decimal_precision_form +#: model:ir.ui.menu,name:decimal_precision.menu_decimal_precision_form +msgid "Decimal Accuracy" +msgstr "十進数の精度" + +#. module: decimal_precision +#: field:decimal.precision,name:0 +msgid "Usage" +msgstr "使い方" + +#. module: decimal_precision +#: sql_constraint:decimal.precision:0 +msgid "Only one value can be defined for each given usage!" +msgstr "それぞれの使い方には一つの値だけ定義できます!" + +#. module: decimal_precision +#: view:decimal.precision:0 +msgid "Decimal Precision" +msgstr "十進数の精度" + +#. module: decimal_precision +#: model:ir.model,name:decimal_precision.model_decimal_precision +msgid "decimal.precision" +msgstr "十進数.精度" diff --git a/addons/fetchmail_crm/i18n/ja.po b/addons/fetchmail_crm/i18n/ja.po new file mode 100644 index 00000000000..a8de0fd0bf9 --- /dev/null +++ b/addons/fetchmail_crm/i18n/ja.po @@ -0,0 +1,34 @@ +# Japanese translation for openobject-addons +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2012-02-08 00:36+0000\n" +"PO-Revision-Date: 2012-04-01 05:43+0000\n" +"Last-Translator: Masaki Yamaya <Unknown>\n" +"Language-Team: Japanese <ja@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-04-02 04:37+0000\n" +"X-Generator: Launchpad (build 15032)\n" + +#. module: fetchmail_crm +#: model:ir.actions.act_window,name:fetchmail_crm.action_create_crm_leads_from_email_account +msgid "Create Leads from Email Account" +msgstr "Eメールアカウントからリードを作成" + +#. module: fetchmail_crm +#: model:ir.actions.act_window,help:fetchmail_crm.action_create_crm_leads_from_email_account +msgid "" +"You can connect your email account with leads in OpenERP. A new email sent " +"to this account (example: info@mycompany.com) will automatically create a " +"lead in OpenERP. The whole communication with the salesman will be attached " +"to the lead automatically." +msgstr "" +"あなたのEメールアカウントをリードに結び付けることができます。このアカウントへ送られて来たメールは自動的にリードを作成します。セールス担当者との全ての交信" +"は自動的にリードに添付されます。" diff --git a/addons/fetchmail_crm_claim/i18n/ja.po b/addons/fetchmail_crm_claim/i18n/ja.po new file mode 100644 index 00000000000..1d17a5fd162 --- /dev/null +++ b/addons/fetchmail_crm_claim/i18n/ja.po @@ -0,0 +1,32 @@ +# Japanese translation for openobject-addons +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2012-02-08 00:36+0000\n" +"PO-Revision-Date: 2012-04-01 06:29+0000\n" +"Last-Translator: Masaki Yamaya <Unknown>\n" +"Language-Team: Japanese <ja@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-04-02 04:37+0000\n" +"X-Generator: Launchpad (build 15032)\n" + +#. module: fetchmail_crm_claim +#: model:ir.actions.act_window,help:fetchmail_crm_claim.action_create_crm_claims_from_email_account +msgid "" +"You can connect your email account with claims in OpenERP. A new email sent " +"to this account (example: support@mycompany.com) will automatically create a " +"claim for the followup in OpenERP. The whole communication by email will be " +"attached to the claim automatically to keep track of the history." +msgstr "" + +#. module: fetchmail_crm_claim +#: model:ir.actions.act_window,name:fetchmail_crm_claim.action_create_crm_claims_from_email_account +msgid "Create Claims from Email Account" +msgstr "Eメールアカウントからクレームを作成" diff --git a/addons/fetchmail_hr_recruitment/i18n/ja.po b/addons/fetchmail_hr_recruitment/i18n/ja.po new file mode 100644 index 00000000000..76eeb10ce74 --- /dev/null +++ b/addons/fetchmail_hr_recruitment/i18n/ja.po @@ -0,0 +1,32 @@ +# Japanese translation for openobject-addons +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2012-02-08 00:36+0000\n" +"PO-Revision-Date: 2012-04-01 05:45+0000\n" +"Last-Translator: Masaki Yamaya <Unknown>\n" +"Language-Team: Japanese <ja@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-04-02 04:37+0000\n" +"X-Generator: Launchpad (build 15032)\n" + +#. module: fetchmail_hr_recruitment +#: model:ir.actions.act_window,help:fetchmail_hr_recruitment.action_link_applicant_to_email_account +msgid "" +"You can synchronize the job email account (e.g. job@yourcompany.com) with " +"OpenERP so that new applicants are created automatically in OpenERP for the " +"followup of the recruitment process. Attachments are automatically stored in " +"the DMS of OpenERP so that you get an indexation of all the CVs received." +msgstr "" + +#. module: fetchmail_hr_recruitment +#: model:ir.actions.act_window,name:fetchmail_hr_recruitment.action_link_applicant_to_email_account +msgid "Create Applicants from Email Account" +msgstr "Eメールアカウントから応募者を作成" diff --git a/addons/fetchmail_project_issue/i18n/ja.po b/addons/fetchmail_project_issue/i18n/ja.po new file mode 100644 index 00000000000..2f8d5710325 --- /dev/null +++ b/addons/fetchmail_project_issue/i18n/ja.po @@ -0,0 +1,34 @@ +# Japanese translation for openobject-addons +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2012-02-08 00:36+0000\n" +"PO-Revision-Date: 2012-04-01 05:57+0000\n" +"Last-Translator: Masaki Yamaya <Unknown>\n" +"Language-Team: Japanese <ja@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-04-02 04:37+0000\n" +"X-Generator: Launchpad (build 15032)\n" + +#. module: fetchmail_project_issue +#: model:ir.actions.act_window,name:fetchmail_project_issue.action_link_issue_to_email_account +msgid "Create Issues from Email Account" +msgstr "Eメールアカウントから課題を作成" + +#. module: fetchmail_project_issue +#: model:ir.actions.act_window,help:fetchmail_project_issue.action_link_issue_to_email_account +msgid "" +"You can connect your email account with issues in OpenERP. A new email sent " +"to this account (example: support@mycompany.com) will automatically create " +"an issue. The whole communication will be attached to the issue " +"automatically." +msgstr "" +"あなたのEメールアカウントを課題に結び付けることができます。このアカウントへ送られて来る新しいEメールは自動的に課題を作成します。全てのコミュニケーション" +"は自動的にこの課題に帰属されます。" diff --git a/addons/google_map/i18n/ja.po b/addons/google_map/i18n/ja.po new file mode 100644 index 00000000000..22768d7418a --- /dev/null +++ b/addons/google_map/i18n/ja.po @@ -0,0 +1,35 @@ +# Japanese translation for openobject-addons +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2012-02-08 00:36+0000\n" +"PO-Revision-Date: 2012-04-01 05:50+0000\n" +"Last-Translator: Masaki Yamaya <Unknown>\n" +"Language-Team: Japanese <ja@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-04-02 04:37+0000\n" +"X-Generator: Launchpad (build 15032)\n" + +#. module: google_map +#: view:res.partner:0 +#: view:res.partner.address:0 +msgid "Map" +msgstr "地図" + +#. module: google_map +#: model:ir.model,name:google_map.model_res_partner_address +msgid "Partner Addresses" +msgstr "パートナの住所" + +#. module: google_map +#: view:res.partner:0 +#: view:res.partner.address:0 +msgid "Street2 : " +msgstr "住所2: " diff --git a/addons/hr/i18n/zh_CN.po b/addons/hr/i18n/zh_CN.po index f430bddee12..d0a0734eca0 100644 --- a/addons/hr/i18n/zh_CN.po +++ b/addons/hr/i18n/zh_CN.po @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-03-31 05:08+0000\n" +"X-Launchpad-Export-Date: 2012-04-01 04:38+0000\n" "X-Generator: Launchpad (build 15032)\n" #. module: hr