Rodney Enciso Arias 8 лет назад
Сommit
1fbff29f2c
4 измененных файлов с 51 добавлено и 0 удалено
  1. 5 0
      README.rst
  2. 2 0
      __init__.py
  3. 13 0
      __openerp__.py
  4. 31 0
      models.py

+ 5 - 0
README.rst

@@ -0,0 +1,5 @@
+Phone and mobile in display_name for searching
+==============================================
+
+
+Tested on Odoo 8.0 e84c01ebc1ef4fdf99865c45f10d7b6b4c4de229

+ 2 - 0
__init__.py

@@ -0,0 +1,2 @@
+# -*- coding: utf-8 -*-
+from . import models

+ 13 - 0
__openerp__.py

@@ -0,0 +1,13 @@
+# -*- coding: utf-8 -*-
+{
+    'name': "phone and mobile in display_name for searching",
+    'author': "IT-Projects LLC, Ildar Nasyrov",
+    'website': "https://twitter.com/nasyrov_ildar",
+    'category': 'Uncategorized',
+    'version': '1.0.0',
+    'depends': ['base'],
+    'data': [
+
+    ],
+    "installable": True
+}

+ 31 - 0
models.py

@@ -0,0 +1,31 @@
+# -*- coding: utf-8 -*-
+from openerp import models
+from openerp.osv import fields
+
+
+class ResPartnerPhone(models.Model):
+    _inherit = 'res.partner'
+
+    _display_name_store_triggers = {
+        'res.partner': (lambda self, cr, uid, ids, context=None: self.search(cr, uid,
+                                                                             [('id', 'child_of', ids)], context=dict(active_test=False)),
+                        ['parent_id', 'is_company', 'name', 'mobile', 'phone'], 10)
+    }
+
+    def _display_name(self, *args, **kwargs):
+        return self._display_name_compute(*args, **kwargs)
+
+    _columns = {
+        'display_name': fields.function(_display_name, type='char', string='Name',
+                                        store=_display_name_store_triggers, select=True)
+    }
+
+    def name_get(self, cr, uid, ids, context=None):
+        result = dict(super(ResPartnerPhone, self).name_get(cr, uid, ids, context=None))
+        records = self.browse(cr, uid, result.keys(), context)
+        for r in records:
+            if r.mobile:
+                result[r.id] = result[r.id] + ' (' + r.mobile + ')'
+            if r.phone:
+                result[r.id] = result[r.id] + ' (' + r.phone + ')'
+        return result.items()