From c760e17019463f585bb040cd5dfbaa2e0a77d71e Mon Sep 17 00:00:00 2001
From: Keyur Gajjar <kga@odoo.com>
Date: Mon, 9 May 2016 12:19:38 +0530
Subject: [PATCH] [IMP] hr_recruitment: specific search view for ir_attachments

- Quick search on index_content field.
- Removed unnecessary filters(My Document(s), url, binary)
- Inherited ir.attachment's search view for that and bind
  it to actions of hr_recruitment.
---
 addons/hr_recruitment/models/hr_job.py        |  1 +
 .../hr_recruitment/models/hr_recruitment.py   |  1 +
 .../views/hr_recruitment_views.xml            | 21 +++++++++++++++++++
 openerp/addons/base/ir/ir_attachment_view.xml |  4 ++--
 4 files changed, 25 insertions(+), 2 deletions(-)

diff --git a/addons/hr_recruitment/models/hr_job.py b/addons/hr_recruitment/models/hr_job.py
index 3265f58c306d..a8bb7e18c79d 100644
--- a/addons/hr_recruitment/models/hr_job.py
+++ b/addons/hr_recruitment/models/hr_job.py
@@ -84,6 +84,7 @@ class Job(models.Model):
             'default_res_model': self._name,
             'default_res_id': self.ids[0]
         }
+        action['search_view_id'] = (self.env.ref('hr_recruitment.ir_attachment_view_search_inherit_hr_recruitment').id, )
         action['domain'] = ['|', '&', ('res_model', '=', 'hr.job'), ('res_id', 'in', self.ids), '&', ('res_model', '=', 'hr.applicant'), ('res_id', 'in', self.mapped('application_ids').ids)]
         return action
 
diff --git a/addons/hr_recruitment/models/hr_recruitment.py b/addons/hr_recruitment/models/hr_recruitment.py
index c29b3cc03087..08349eb53b34 100644
--- a/addons/hr_recruitment/models/hr_recruitment.py
+++ b/addons/hr_recruitment/models/hr_recruitment.py
@@ -351,6 +351,7 @@ class Applicant(models.Model):
         action = attachment_action.read()[0]
         action['context'] = {'default_res_model': self._name, 'default_res_id': self.ids[0]}
         action['domain'] = str(['&', ('res_model', '=', self._name), ('res_id', 'in', self.ids)])
+        action['search_view_id'] = (self.env.ref('hr_recruitment.ir_attachment_view_search_inherit_hr_recruitment').id, )
         return action
 
     @api.multi
diff --git a/addons/hr_recruitment/views/hr_recruitment_views.xml b/addons/hr_recruitment/views/hr_recruitment_views.xml
index f4498e03b534..7ffa902b1940 100644
--- a/addons/hr_recruitment/views/hr_recruitment_views.xml
+++ b/addons/hr_recruitment/views/hr_recruitment_views.xml
@@ -549,12 +549,33 @@
         id="menu_crm_case_categ0_act_job" action="crm_case_categ0_act_job" sequence="2" groups="base.group_no_one"/>
 
     <!-- Resume and Letters -->
+    <record id="ir_attachment_view_search_inherit_hr_recruitment" model="ir.ui.view">
+        <field name="name">ir.attachment.search.inherit.recruitment</field>
+        <field name="model">ir.attachment</field>
+        <field name="mode">primary</field>
+        <field name="inherit_id" ref="base.view_attachment_search"/>
+        <field name="arch" type="xml">
+            <xpath expr="//field[@name='create_date']" position="after">
+                <field name="index_content" string="Content"/>
+            </xpath>
+            <xpath expr="//filter[@name='my_documents_filter']" position="attributes">
+                <attribute name='invisible'>1</attribute>
+            </xpath>
+            <xpath expr="//filter[@name='url_filter']" position="attributes">
+                <attribute name='invisible'>1</attribute>
+            </xpath>
+            <xpath expr="//filter[@name='binary_filter']" position="attributes">
+                <attribute name='invisible'>1</attribute>
+            </xpath>
+        </field>
+    </record>
     <record model="ir.actions.act_window" id="hr_applicant_resumes">
         <field name="name">Resumes and Letters</field>
         <field name="res_model">ir.attachment</field>
         <field name="view_type">form</field>
         <field name="view_mode">kanban,tree,form</field>
         <field name="view_id" ref="mail.view_document_file_kanban"/>
+        <field name="search_view_id" ref="ir_attachment_view_search_inherit_hr_recruitment"/>
         <field name="domain">[('res_model','=','hr.applicant')]</field>
         <field name="context">{'create': False}</field>
         <field name="help" type="html">
diff --git a/openerp/addons/base/ir/ir_attachment_view.xml b/openerp/addons/base/ir/ir_attachment_view.xml
index c9131c611c90..936042d6fd90 100644
--- a/openerp/addons/base/ir/ir_attachment_view.xml
+++ b/openerp/addons/base/ir/ir_attachment_view.xml
@@ -66,8 +66,8 @@
                 <search string="Attachments">
                     <field name="name" filter_domain="['|', ('name','ilike',self), ('datas_fname','ilike',self)]" string="Attachment"/>
                     <field name="create_date"/>
-                    <filter string="URL" domain="[('type','=','url')]"/>
-                    <filter string="Binary" domain="[('type','=','binary')]"/>
+                    <filter name="url_filter" string="URL" domain="[('type','=','url')]"/>
+                    <filter name="binary_filter" string="Binary" domain="[('type','=','binary')]"/>
                     <separator/>
                     <filter name="my_documents_filter"
                         string="My Document(s)"
-- 
GitLab