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 @@
-
+
-
+
-
+
-
-
+
Phone:
-
+
Mail:
-
+
@@ -57,18 +57,18 @@
-
+
-
+
-
+
-
-
+
Phone:
-
+
Mail:
-
+
diff --git a/openerp/addons/base/report/corporate_sxw_header.xml b/openerp/addons/base/report/corporate_sxw_header.xml
index 2f6f885f3ba..d752ffa91a5 100644
--- a/openerp/addons/base/report/corporate_sxw_header.xml
+++ b/openerp/addons/base/report/corporate_sxw_header.xml
@@ -204,8 +204,8 @@
- [[ company.partner_id.address and company.partner_id.address[0].street ]]
- [[ 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 ]]
+ [[ company.partner_id.street ]]
+ [[ company.partner_id.zip ]] [[ company.partner_id.city ]] - [[ company.partner_id.country_id and company.partner_id.country_id.name ]]
@@ -214,7 +214,7 @@
Phone :
- [[ company.partner_id.address and company.partner_id.address[0].phone ]]
+ [[ company.partner_id.phone ]]
@@ -222,7 +222,7 @@
Mail :
- [[ company.partner_id.address and company.partner_id.address[0].email ]]
+ [[ company.partner_id.email ]]
diff --git a/openerp/addons/base/report/mako_header.html b/openerp/addons/base/report/mako_header.html
index 5bd3aaf18fb..02839e1ffb3 100644
--- a/openerp/addons/base/report/mako_header.html
+++ b/openerp/addons/base/report/mako_header.html
@@ -14,33 +14,33 @@
- % if company['partner_id']['address'] and company['partner_id']['address'][0]['street']:
- ${company.partner_id.address[0].street}
+ % if company['partner_id']['street']:
+ ${company.partner_id.street}
%endif
|
- % if company['partner_id']['address'] and company['partner_id']['address'][0]['zip']:
- ${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}
+ % if company['partner_id']['zip']:
+ ${company.partner_id.zip}
+ ${company.partner_id.city}-${company.partner_id.country_id and company.partner_id.country_id.name}
%endif
|
- % if company['partner_id']['address'] and company['partner_id']['address'][0]['phone']:
- Phone:${company.partner_id.address and company.partner_id.address[0].phone}
+ % if company['partner_id']['phone']:
+ Phone:${company.partner_id.phone}
%endif
|
- % if company['partner_id']['address'] and company['partner_id']['address'][0]['email']:
- Mail:${company.partner_id.address and company.partner_id.address[0].email}
+ % if company['partner_id']['email']:
+ Mail:${company.partner_id.email}
%endif
|
diff --git a/openerp/addons/base/res/company_icon.png b/openerp/addons/base/res/company_icon.png
new file mode 100644
index 00000000000..2995ba12644
Binary files /dev/null and b/openerp/addons/base/res/company_icon.png differ
diff --git a/openerp/addons/base/res/ir_property.py b/openerp/addons/base/res/ir_property.py
index 496bfffe1a2..4768ba1e0d0 100644
--- a/openerp/addons/base/res/ir_property.py
+++ b/openerp/addons/base/res/ir_property.py
@@ -55,7 +55,7 @@ class ir_property(osv.osv):
'fields_id': fields.many2one('ir.model.fields', 'Field', ondelete='cascade', required=True, select=1),
'value_float' : fields.float('Value'),
- 'value_integer' : fields.integer_big('Value'), # will contain (int, bigint)
+ 'value_integer' : fields.integer('Value'),
'value_text' : fields.text('Value'), # will contain (char, text)
'value_binary' : fields.binary('Value'),
'value_reference': fields.reference('Value', selection=_models_get2, size=128),
@@ -65,7 +65,6 @@ class ir_property(osv.osv):
('float', 'Float'),
('boolean', 'Boolean'),
('integer', 'Integer'),
- ('integer_big', 'Integer Big'),
('text', 'Text'),
('binary', 'Binary'),
('many2one', 'Many2One'),
@@ -100,7 +99,6 @@ class ir_property(osv.osv):
'float': 'value_float',
'boolean' : 'value_integer',
'integer': 'value_integer',
- 'integer_big': 'value_integer',
'text': 'value_text',
'binary': 'value_binary',
'many2one': 'value_reference',
@@ -142,7 +140,7 @@ class ir_property(osv.osv):
return record.value_float
elif record.type == 'boolean':
return bool(record.value_integer)
- elif record.type in ('integer', 'integer_big'):
+ elif record.type == 'integer':
return record.value_integer
elif record.type == 'binary':
return record.value_binary
diff --git a/openerp/addons/base/res/ir_property_view.xml b/openerp/addons/base/res/ir_property_view.xml
index 9f980c7d71c..b793c090491 100644
--- a/openerp/addons/base/res/ir_property_view.xml
+++ b/openerp/addons/base/res/ir_property_view.xml
@@ -31,7 +31,7 @@
-
+
diff --git a/openerp/addons/base/res/photo.png b/openerp/addons/base/res/photo.png
new file mode 100644
index 00000000000..1d124127b2b
Binary files /dev/null and b/openerp/addons/base/res/photo.png differ
diff --git a/openerp/addons/base/res/report/partner_address.xml b/openerp/addons/base/res/report/partner_address.xml
index 2a413f4e3c6..1449eb5bc0c 100644
--- a/openerp/addons/base/res/report/partner_address.xml
+++ b/openerp/addons/base/res/report/partner_address.xml
@@ -3,16 +3,12 @@
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
diff --git a/openerp/addons/base/res/report/partner_address.xsl b/openerp/addons/base/res/report/partner_address.xsl
index 01fcc120c23..ca212f2d2b0 100644
--- a/openerp/addons/base/res/report/partner_address.xsl
+++ b/openerp/addons/base/res/report/partner_address.xsl
@@ -58,31 +58,17 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
-
+
diff --git a/openerp/addons/base/res/res_bank.py b/openerp/addons/base/res/res_bank.py
index b9e449284e1..891794cb99c 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.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_company.py b/openerp/addons/base/res/res_company.py
index f04e28832a0..7778f6a055a 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, 'parent_id': company.partner_id.id}, context=context)
return True
@@ -126,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="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'),
@@ -229,7 +227,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':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)
@@ -296,12 +294,12 @@ class res_company(osv.osv):
[[ company.partner_id.name ]]
- [[ company.partner_id.address and company.partner_id.address[0].street or '' ]]
- [[ 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 '']]
+ [[ company.partner_id.street or '' ]]
+ [[ company.partner_id.city or '' ]] - [[ company.partner_id.country_id and company.partner_id.country_id.name or '']]
Phone:
- [[ company.partner_id.address and company.partner_id.address[0].phone or '' ]]
+ [[ company.partner_id.phone or '' ]]
Mail:
- [[ company.partner_id.address and company.partner_id.address[0].email or '' ]]
+ [[ company.partner_id.email or '' ]]
1.3cm %s 7cm %s
diff --git a/openerp/addons/base/res/res_country.py b/openerp/addons/base/res/res_country.py
index f240784dc47..32980428068 100644
--- a/openerp/addons/base/res/res_country.py
+++ b/openerp/addons/base/res/res_country.py
@@ -21,6 +21,23 @@
from osv import fields, osv
+def location_name_search(self, cr, user, name='', args=None, operator='ilike',
+ context=None, limit=100):
+ if not args:
+ args = []
+
+ ids = []
+ if len(name) == 2:
+ ids = self.search(cr, user, [('code', 'ilike', name)] + args,
+ limit=limit, context=context)
+
+ search_domain = [('name', operator, name)]
+ if ids: search_domain.append(('id', 'not in', ids))
+ ids.extend(self.search(cr, user, search_domain + args,
+ limit=limit, context=context))
+
+ locations = self.name_get(cr, user, ids, context)
+ return sorted(locations, key=lambda (id, name): ids.index(id))
class Country(osv.osv):
_name = 'res.country'
@@ -46,25 +63,12 @@ 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',
- context=None, limit=100):
- if not args:
- args=[]
- if not context:
- context={}
- ids = False
- if len(name) == 2:
- ids = self.search(cr, user, [('code', 'ilike', name)] + args,
- limit=limit, context=context)
- if not ids:
- ids = self.search(cr, user, [('name', operator, name)] + args,
- limit=limit, context=context)
- return self.name_get(cr, user, ids, context)
_order='name'
+ name_search = location_name_search
+
def create(self, cursor, user, vals, context=None):
if 'code' in vals:
vals['code'] = vals['code'].upper()
@@ -77,8 +81,6 @@ addresses belonging to this country.\n\nYou can use the python-style string pate
return super(Country, self).write(cursor, user, ids, vals,
context=context)
-Country()
-
class CountryState(osv.osv):
_description="Country state"
@@ -90,23 +92,9 @@ class CountryState(osv.osv):
'code': fields.char('State Code', size=3,
help='The state code in three chars.\n', required=True),
}
- def name_search(self, cr, user, name='', args=None, operator='ilike',
- context=None, limit=100):
- if not args:
- args = []
- if not context:
- context = {}
- ids = self.search(cr, user, [('code', 'ilike', name)] + args, limit=limit,
- context=context)
- if not ids:
- ids = self.search(cr, user, [('name', operator, name)] + args,
- limit=limit, context=context)
- return self.name_get(cr, user, ids, context)
-
_order = 'code'
-CountryState()
-
+ name_search = location_name_search
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/openerp/addons/base/res/res_country_view.xml b/openerp/addons/base/res/res_country_view.xml
index 5c2464ae6f8..34326e92052 100644
--- a/openerp/addons/base/res/res_country_view.xml
+++ b/openerp/addons/base/res/res_country_view.xml
@@ -41,7 +41,7 @@
-
+
-
- Consumers
+
+ Consumers
-
-
- Retailers
+
+
+ Retailers
-
-
-
- Miscellaneous Suppliers
+
+
+ Miscellaneous Suppliers
-
-
-
-
- Wood Suppliers
+
+
+ Wood Suppliers
-
+
The Shelve House
-
+ 1
+
+
@@ -270,7 +414,13 @@
1
0
-
+ 1
+
+
+
+
+
+
vicking-direct.be
@@ -279,14 +429,19 @@
1
-
+ 1
+
+
+
woodywoodpecker.com