feat: Add comprehensive search view for purchase.request model

- Added purchase_request_search view with product search capability
- Included logical search fields: employee, department, vendor, products, categories
- Added useful filters: state-based, time-based, type-based, vendor-based
- Added group-by options: state, employee, department, vendor, type, date
- Full Arabic translations for all new search elements
- Linked search view to purchase_request_action
This commit is contained in:
Mohamed Eltayar 2025-11-10 15:12:43 +03:00
parent 947a3f49ac
commit b22d8c0252
3 changed files with 399 additions and 0 deletions

View File

@ -2790,3 +2790,158 @@ msgstr "رفض"
#: model:res.groups,name:purchase_requisition_custom.group_receive_payment_notification
msgid "Receive Payment Notification"
msgstr "اشعار السداد للموردين"
#. module: purchase_requisition_custom
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_request_search
msgid "Request Number"
msgstr "رقم الطلب"
#. module: purchase_requisition_custom
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_request_search
msgid "Employee"
msgstr "الموظف"
#. module: purchase_requisition_custom
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_request_search
msgid "Department"
msgstr "القسم"
#. module: purchase_requisition_custom
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_request_search
msgid "Purpose"
msgstr "الغرض"
#. module: purchase_requisition_custom
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_request_search
msgid "Vendor"
msgstr "المورد"
#. module: purchase_requisition_custom
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_request_search
msgid "Products"
msgstr "المنتجات"
#. module: purchase_requisition_custom
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_request_search
msgid "Product Categories"
msgstr "فئات المنتجات"
#. module: purchase_requisition_custom
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_request_search
msgid "Request Date"
msgstr "تاريخ الطلب"
#. module: purchase_requisition_custom
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_request_search
msgid "Notes"
msgstr "الملاحظات"
#. module: purchase_requisition_custom
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_request_search
msgid "Draft"
msgstr "مسودة"
#. module: purchase_requisition_custom
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_request_search
msgid "Direct Manager Approval"
msgstr "موافقة المدير المباشر"
#. module: purchase_requisition_custom
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_request_search
msgid "In Purchase"
msgstr "في المشتريات"
#. module: purchase_requisition_custom
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_request_search
msgid "Done"
msgstr "منجز"
#. module: purchase_requisition_custom
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_request_search
msgid "Cancelled"
msgstr "ملغي"
#. module: purchase_requisition_custom
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_request_search
msgid "Refused"
msgstr "مرفوض"
#. module: purchase_requisition_custom
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_request_search
msgid "My Requests"
msgstr "طلباتي"
#. module: purchase_requisition_custom
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_request_search
msgid "My Department"
msgstr "قسمي"
#. module: purchase_requisition_custom
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_request_search
msgid "Pending Approval"
msgstr "في انتظار الموافقة"
#. module: purchase_requisition_custom
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_request_search
msgid "In Progress"
msgstr "قيد التنفيذ"
#. module: purchase_requisition_custom
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_request_search
msgid "Project Requests"
msgstr "طلبات المشاريع"
#. module: purchase_requisition_custom
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_request_search
msgid "Operational Requests"
msgstr "طلبات تشغيلية"
#. module: purchase_requisition_custom
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_request_search
msgid "With Vendor"
msgstr "مع مورد"
#. module: purchase_requisition_custom
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_request_search
msgid "Without Vendor"
msgstr "بدون مورد"
#. module: purchase_requisition_custom
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_request_search
msgid "Today"
msgstr "اليوم"
#. module: purchase_requisition_custom
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_request_search
msgid "This Week"
msgstr "هذا الأسبوع"
#. module: purchase_requisition_custom
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_request_search
msgid "This Month"
msgstr "هذا الشهر"
#. module: purchase_requisition_custom
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_request_search
msgid "Group By"
msgstr "تجميع حسب"
#. module: purchase_requisition_custom
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_request_search
msgid "State"
msgstr "الحالة"
#. module: purchase_requisition_custom
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_request_search
msgid "Request Type"
msgstr "نوع الطلب"
#. module: purchase_requisition_custom
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_request_search
msgid "Month"
msgstr "الشهر"
#. module: purchase_requisition_custom
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_request_search
msgid "Year"
msgstr "السنة"

View File

@ -2467,3 +2467,158 @@ msgstr "مدة التنفيذ"
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.committee_meeting_minutes_report_document
msgid "نطاق العمل"
msgstr "نطاق العمل"
#. module: purchase_requisition_custom
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_request_search
msgid "Request Number"
msgstr "رقم الطلب"
#. module: purchase_requisition_custom
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_request_search
msgid "Employee"
msgstr "الموظف"
#. module: purchase_requisition_custom
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_request_search
msgid "Department"
msgstr "القسم"
#. module: purchase_requisition_custom
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_request_search
msgid "Purpose"
msgstr "الغرض"
#. module: purchase_requisition_custom
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_request_search
msgid "Vendor"
msgstr "المورد"
#. module: purchase_requisition_custom
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_request_search
msgid "Products"
msgstr "المنتجات"
#. module: purchase_requisition_custom
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_request_search
msgid "Product Categories"
msgstr "فئات المنتجات"
#. module: purchase_requisition_custom
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_request_search
msgid "Request Date"
msgstr "تاريخ الطلب"
#. module: purchase_requisition_custom
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_request_search
msgid "Notes"
msgstr "الملاحظات"
#. module: purchase_requisition_custom
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_request_search
msgid "Draft"
msgstr "مسودة"
#. module: purchase_requisition_custom
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_request_search
msgid "Direct Manager Approval"
msgstr "موافقة المدير المباشر"
#. module: purchase_requisition_custom
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_request_search
msgid "In Purchase"
msgstr "في المشتريات"
#. module: purchase_requisition_custom
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_request_search
msgid "Done"
msgstr "منجز"
#. module: purchase_requisition_custom
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_request_search
msgid "Cancelled"
msgstr "ملغي"
#. module: purchase_requisition_custom
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_request_search
msgid "Refused"
msgstr "مرفوض"
#. module: purchase_requisition_custom
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_request_search
msgid "My Requests"
msgstr "طلباتي"
#. module: purchase_requisition_custom
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_request_search
msgid "My Department"
msgstr "قسمي"
#. module: purchase_requisition_custom
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_request_search
msgid "Pending Approval"
msgstr "في انتظار الموافقة"
#. module: purchase_requisition_custom
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_request_search
msgid "In Progress"
msgstr "قيد التنفيذ"
#. module: purchase_requisition_custom
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_request_search
msgid "Project Requests"
msgstr "طلبات المشاريع"
#. module: purchase_requisition_custom
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_request_search
msgid "Operational Requests"
msgstr "طلبات تشغيلية"
#. module: purchase_requisition_custom
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_request_search
msgid "With Vendor"
msgstr "مع مورد"
#. module: purchase_requisition_custom
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_request_search
msgid "Without Vendor"
msgstr "بدون مورد"
#. module: purchase_requisition_custom
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_request_search
msgid "Today"
msgstr "اليوم"
#. module: purchase_requisition_custom
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_request_search
msgid "This Week"
msgstr "هذا الأسبوع"
#. module: purchase_requisition_custom
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_request_search
msgid "This Month"
msgstr "هذا الشهر"
#. module: purchase_requisition_custom
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_request_search
msgid "Group By"
msgstr "تجميع حسب"
#. module: purchase_requisition_custom
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_request_search
msgid "State"
msgstr "الحالة"
#. module: purchase_requisition_custom
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_request_search
msgid "Request Type"
msgstr "نوع الطلب"
#. module: purchase_requisition_custom
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_request_search
msgid "Month"
msgstr "الشهر"
#. module: purchase_requisition_custom
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_request_search
msgid "Year"
msgstr "السنة"

View File

@ -142,12 +142,101 @@
</field>
</record>
<!-- purchase.request search view -->
<record id="purchase_request_search" model="ir.ui.view">
<field name="name">purchase.request.search</field>
<field name="model">purchase.request</field>
<field name="arch" type="xml">
<search string="Purchase Request">
<!-- حقول البحث الأساسية -->
<field name="name" string="Request Number"/>
<field name="employee_id" string="Employee"/>
<field name="department_id" string="Department"/>
<field name="purchase_purpose" string="Purpose"/>
<field name="partner_id" string="Vendor"/>
<!-- البحث بالمنتجات - الهدف الأساسي -->
<field name="line_ids" string="Products"
filter_domain="[('line_ids.product_id.name', 'ilike', self)]"/>
<!-- البحث بفئات المنتجات -->
<field name="product_category_ids" string="Product Categories"/>
<!-- البحث بالتاريخ -->
<field name="date" string="Request Date"/>
<!-- البحث بالملاحظات -->
<field name="note" string="Notes"/>
<!-- فلاتر سريعة حسب الحالة -->
<separator/>
<filter string="Draft" name="draft" domain="[('state','=','draft')]"/>
<filter string="Direct Manager Approval" name="direct_manager" domain="[('state','=','direct_manager')]"/>
<filter string="In Purchase" name="waiting" domain="[('state','=','waiting')]"/>
<filter string="Done" name="done" domain="[('state','=','done')]"/>
<filter string="Cancelled" name="cancel" domain="[('state','=','cancel')]"/>
<filter string="Refused" name="refuse" domain="[('state','=','refuse')]"/>
<separator/>
<!-- فلاتر مفيدة للعمل -->
<filter string="My Requests" name="my_requests"
domain="[('employee_id.user_id','=',uid)]"/>
<filter string="My Department" name="my_department"
domain="[('department_id.manager_id.user_id','=',uid)]"/>
<filter string="Pending Approval" name="pending_approval"
domain="[('state','in',['draft','direct_manager'])]"/>
<filter string="In Progress" name="in_progress"
domain="[('state','in',['waiting'])]"/>
<separator/>
<!-- فلاتر حسب نوع الطلب -->
<filter string="Project Requests" name="project_type"
domain="[('type','=','project')]"/>
<filter string="Operational Requests" name="operational_type"
domain="[('type','=','operational')]"/>
<separator/>
<!-- فلاتر حسب وجود المورد -->
<filter string="With Vendor" name="with_vendor"
domain="[('partner_id','!=',False)]"/>
<filter string="Without Vendor" name="without_vendor"
domain="[('partner_id','=',False)]"/>
<separator/>
<!-- فلاتر زمنية -->
<filter string="Today" name="today"
domain="[('date','=',context_today().strftime('%Y-%m-%d'))]"/>
<filter string="This Week" name="this_week"
domain="[('date','&gt;=',((context_today()-datetime.timedelta(days=context_today().weekday())).strftime('%Y-%m-%d'))),
('date','&lt;=',((context_today()+datetime.timedelta(days=6-context_today().weekday())).strftime('%Y-%m-%d')))]"/>
<filter string="This Month" name="this_month"
domain="[('date','&gt;=',context_today().strftime('%Y-%m-01')),
('date','&lt;=',((context_today().replace(day=1)+datetime.timedelta(days=32)).replace(day=1)-datetime.timedelta(days=1)).strftime('%Y-%m-%d'))]"/>
<!-- تجميع منطقي -->
<group expand="0" string="Group By">
<filter string="State" name="group_state" context="{'group_by':'state'}"/>
<filter string="Employee" name="group_employee" context="{'group_by':'employee_id'}"/>
<filter string="Department" name="group_department" context="{'group_by':'department_id'}"/>
<filter string="Vendor" name="group_vendor" context="{'group_by':'partner_id'}"/>
<filter string="Request Type" name="group_type" context="{'group_by':'type'}"/>
<filter string="Product Categories" name="group_categories" context="{'group_by':'product_category_ids'}"/>
<separator/>
<filter string="Request Date" name="group_date" context="{'group_by':'date'}"/>
<filter string="Month" name="group_month" context="{'group_by':'date:month'}"/>
<filter string="Year" name="group_year" context="{'group_by':'date:year'}"/>
</group>
</search>
</field>
</record>
<!-- purchase.request action window -->
<record id="purchase_request_action" model="ir.actions.act_window">
<field name="name">Employee Request</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">purchase.request</field>
<field name="view_mode">tree,form</field>
<field name="search_view_id" ref="purchase_request_search"/>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Create New Employee purchase request