diff --git a/openerp/addons/base/ir/ir_qweb.xml b/openerp/addons/base/ir/ir_qweb.xml
index 79ae9a7b064..71a06764812 100644
--- a/openerp/addons/base/ir/ir_qweb.xml
+++ b/openerp/addons/base/ir/ir_qweb.xml
@@ -6,7 +6,12 @@
----
-
+
+
+
+
+
+
diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py
index 61349c0e337..80b0fa5c0f7 100644
--- a/openerp/addons/base/res/res_partner.py
+++ b/openerp/addons/base/res/res_partner.py
@@ -207,7 +207,7 @@ class res_partner(osv.Model, format_address):
_order = "display_name"
_columns = {
- 'name': fields.char('Name', required=True, select=True),
+ 'name': fields.char('Name', select=True),
'display_name': fields.function(_display_name, type='char', string='Name', store=_display_name_store_triggers, select=True),
'date': fields.date('Date', select=1),
'title': fields.many2one('res.partner.title', 'Title'),
@@ -342,6 +342,10 @@ class res_partner(osv.Model, format_address):
(osv.osv._check_recursion, 'You cannot create recursive Partner hierarchies.', ['parent_id']),
]
+ _sql_constraints = [
+ ('check_name', "CHECK( (type='contact' AND name IS NOT NULL) or (type!='contact') )", 'Contacts require a name.'),
+ ]
+
@api.one
def copy(self, default=None):
default = dict(default or {})
@@ -578,8 +582,10 @@ class res_partner(osv.Model, format_address):
ids = [ids]
res = []
for record in self.browse(cr, uid, ids, context=context):
- name = record.name
+ name = record.name or ''
if record.parent_id and not record.is_company:
+ if not name and record.type in ['invoice', 'delivery', 'other']:
+ name = dict(self.fields_get(cr, uid, context=context)['type']['selection'])[record.type]
name = "%s, %s" % (record.parent_name, name)
if context.get('show_address_only'):
name = self._display_address(cr, uid, record, without_company=True, context=context)
diff --git a/openerp/addons/base/res/res_partner_view.xml b/openerp/addons/base/res/res_partner_view.xml
index e7ea9f8d49c..52839fd29a1 100644
--- a/openerp/addons/base/res/res_partner_view.xml
+++ b/openerp/addons/base/res/res_partner_view.xml
@@ -78,7 +78,7 @@
-
+
-
+
-
+
-
+
@@ -179,7 +179,7 @@
-
+