Auto-commit: Changes from 2025-11-26 16:25:47
This commit is contained in:
parent
92bc655975
commit
4a1b23177f
|
|
@ -54,12 +54,12 @@
|
||||||
<xpath expr="//field[@name='use_analytic']" position="attributes">
|
<xpath expr="//field[@name='use_analytic']" position="attributes">
|
||||||
<attribute name="attrs">{'readonly':[('state','!=','draft')]}</attribute>
|
<attribute name="attrs">{'readonly':[('state','!=','draft')]}</attribute>
|
||||||
</xpath>
|
</xpath>
|
||||||
<xpath expr="//group[@name='other_details_group']" position="after">
|
<xpath expr="//group[@name='purchase_details_group']" position="after">
|
||||||
<group string="Warehouse Management" name="warehouse_management_group">
|
<group string="Warehouse Management" name="warehouse_management_group">
|
||||||
<field name="view_location_id" invisible="1"/>
|
<field name="view_location_id" invisible="1"/>
|
||||||
<field name="edit_locations" invisible="1"/>
|
<field name="edit_locations" invisible="1"/>
|
||||||
<field name="show_emp_button" invisible="1"/>
|
<field name="show_emp_button" invisible="1"/>
|
||||||
<field name="show_approve_warehouse" invisible="0"/>
|
<field name="show_approve_warehouse" invisible="1"/>
|
||||||
<field name="has_asset_product_line" invisible="1"/>
|
<field name="has_asset_product_line" invisible="1"/>
|
||||||
<field name="show_asset_release_button" invisible="1"/>
|
<field name="show_asset_release_button" invisible="1"/>
|
||||||
<field name="all_assets_released" invisible="1"/>
|
<field name="all_assets_released" invisible="1"/>
|
||||||
|
|
|
||||||
|
|
@ -97,7 +97,7 @@ msgstr "أيقونة نوع النشاط"
|
||||||
#. module: purchase_requisition_custom
|
#. module: purchase_requisition_custom
|
||||||
#: model:ir.model.fields,field_description:purchase_requisition_custom.field_purchase_requisition__date_end
|
#: model:ir.model.fields,field_description:purchase_requisition_custom.field_purchase_requisition__date_end
|
||||||
msgid "Agreement Deadline"
|
msgid "Agreement Deadline"
|
||||||
msgstr "الموعد النهائي لاستقبال عروض الاسعار"
|
msgstr "الموعد النهائي"
|
||||||
|
|
||||||
#. module: purchase_requisition_custom
|
#. module: purchase_requisition_custom
|
||||||
#: model:ir.model.fields,field_description:purchase_requisition_custom.field_purchase_requisition__name
|
#: model:ir.model.fields,field_description:purchase_requisition_custom.field_purchase_requisition__name
|
||||||
|
|
@ -181,8 +181,13 @@ msgstr "هل أنت متأكد من المتابعة بالإجراء؟"
|
||||||
#. module: purchase_requisition_custom
|
#. module: purchase_requisition_custom
|
||||||
#: model:ir.model.fields,field_description:purchase_requisition_custom.field_purchase_order__attach_no
|
#: model:ir.model.fields,field_description:purchase_requisition_custom.field_purchase_order__attach_no
|
||||||
#: model:ir.model.fields,field_description:purchase_requisition_custom.field_purchase_requisition__attach_no
|
#: model:ir.model.fields,field_description:purchase_requisition_custom.field_purchase_requisition__attach_no
|
||||||
msgid "Attach No"
|
msgid "Documents"
|
||||||
msgstr ""
|
msgstr "المرفقات"
|
||||||
|
|
||||||
|
#. module: purchase_requisition_custom
|
||||||
|
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_requisition_custom_form_view
|
||||||
|
msgid "Documents"
|
||||||
|
msgstr "المرفقات"
|
||||||
|
|
||||||
#. module: purchase_requisition_custom
|
#. module: purchase_requisition_custom
|
||||||
#: model:ir.model,name:purchase_requisition_custom.model_ir_attachment
|
#: model:ir.model,name:purchase_requisition_custom.model_ir_attachment
|
||||||
|
|
@ -747,7 +752,7 @@ msgstr "انتهاء صلاحية المستند"
|
||||||
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_order_custom_form_view
|
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_order_custom_form_view
|
||||||
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_requisition_custom_form_view
|
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_requisition_custom_form_view
|
||||||
msgid "Documents"
|
msgid "Documents"
|
||||||
msgstr ""
|
msgstr "المرفقات"
|
||||||
|
|
||||||
#. module: purchase_requisition_custom
|
#. module: purchase_requisition_custom
|
||||||
#: model:ir.model.fields.selection,name:purchase_requisition_custom.selection__change_purchase_user_state__state__done
|
#: model:ir.model.fields.selection,name:purchase_requisition_custom.selection__change_purchase_user_state__state__done
|
||||||
|
|
@ -1017,7 +1022,7 @@ msgstr "الأصناف/الخدمات"
|
||||||
#. module: purchase_requisition_custom
|
#. module: purchase_requisition_custom
|
||||||
#: model:ir.model.fields,field_description:purchase_requisition_custom.field_purchase_request__product_category_ids
|
#: model:ir.model.fields,field_description:purchase_requisition_custom.field_purchase_request__product_category_ids
|
||||||
msgid "Items Categories"
|
msgid "Items Categories"
|
||||||
msgstr "تصنيف الاصناف"
|
msgstr "تصنيف الاصناف (تلقائى)"
|
||||||
|
|
||||||
#. module: purchase_requisition_custom
|
#. module: purchase_requisition_custom
|
||||||
#: model:ir.model,name:purchase_requisition_custom.model_account_move
|
#: model:ir.model,name:purchase_requisition_custom.model_account_move
|
||||||
|
|
@ -1278,8 +1283,8 @@ msgstr "لا توجد تكلفة شراء لهذا الاجراء"
|
||||||
|
|
||||||
#. module: purchase_requisition_custom
|
#. module: purchase_requisition_custom
|
||||||
#: model:ir.model.fields,field_description:purchase_requisition_custom.field_purchase_requisition__min_approve
|
#: model:ir.model.fields,field_description:purchase_requisition_custom.field_purchase_requisition__min_approve
|
||||||
msgid "No. of Selections"
|
msgid "Minimum Approvals Required"
|
||||||
msgstr "عدد الاختيارات"
|
msgstr "أقل موافقات"
|
||||||
|
|
||||||
#. module: purchase_requisition_custom
|
#. module: purchase_requisition_custom
|
||||||
#: code:addons/odoo14/custom/STANDARD_MODULES/test/odex25_purchase/odex25_purchase/purchase_requisition_custom/models/purchase_requisition_custom.py:0
|
#: code:addons/odoo14/custom/STANDARD_MODULES/test/odex25_purchase/odex25_purchase/purchase_requisition_custom/models/purchase_requisition_custom.py:0
|
||||||
|
|
@ -1294,10 +1299,14 @@ msgid "No. of Votes"
|
||||||
msgstr "عدد الاختيارات"
|
msgstr "عدد الاختيارات"
|
||||||
|
|
||||||
#. module: purchase_requisition_custom
|
#. module: purchase_requisition_custom
|
||||||
#: model:ir.model.fields,field_description:purchase_requisition_custom.field_purchase_requisition__actual_vote
|
|
||||||
#: model:ir.model.fields,field_description:purchase_requisition_custom.field_purchase_requisition__min_vote
|
#: model:ir.model.fields,field_description:purchase_requisition_custom.field_purchase_requisition__min_vote
|
||||||
msgid "No. of Vots"
|
msgid "Minimum Votes Required"
|
||||||
msgstr "عدد الاختيارات/التصويت"
|
msgstr "أقل أصوات"
|
||||||
|
|
||||||
|
#. module: purchase_requisition_custom
|
||||||
|
#: model:ir.model.fields,field_description:purchase_requisition_custom.field_purchase_requisition__actual_vote
|
||||||
|
msgid "Actual Votes"
|
||||||
|
msgstr "الأصوات الفعلية"
|
||||||
|
|
||||||
#. module: purchase_requisition_custom
|
#. module: purchase_requisition_custom
|
||||||
#: model:ir.model.fields,field_description:purchase_requisition_custom.field_purchase_request__note
|
#: model:ir.model.fields,field_description:purchase_requisition_custom.field_purchase_request__note
|
||||||
|
|
@ -1643,7 +1652,7 @@ msgstr "عقود الشراء"
|
||||||
#: model:ir.model.fields,field_description:purchase_requisition_custom.field_purchase_order__purchase_cost
|
#: model:ir.model.fields,field_description:purchase_requisition_custom.field_purchase_order__purchase_cost
|
||||||
#: model:ir.model.fields,field_description:purchase_requisition_custom.field_purchase_requisition__purchase_cost
|
#: model:ir.model.fields,field_description:purchase_requisition_custom.field_purchase_requisition__purchase_cost
|
||||||
msgid "Purchase Cost"
|
msgid "Purchase Cost"
|
||||||
msgstr "تكلفة الشراء"
|
msgstr "مركز تكلفة الشراء"
|
||||||
|
|
||||||
#. module: purchase_requisition_custom
|
#. module: purchase_requisition_custom
|
||||||
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_requisition_custom_setting
|
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_requisition_custom_setting
|
||||||
|
|
@ -1754,7 +1763,7 @@ msgstr ""
|
||||||
#. module: purchase_requisition_custom
|
#. module: purchase_requisition_custom
|
||||||
#: model:ir.model.fields,field_description:purchase_requisition_custom.field_purchase_request_line__uom_id
|
#: model:ir.model.fields,field_description:purchase_requisition_custom.field_purchase_request_line__uom_id
|
||||||
msgid "Purchase Unit of Measure"
|
msgid "Purchase Unit of Measure"
|
||||||
msgstr ""
|
msgstr "وحدة القياس للشراء"
|
||||||
|
|
||||||
#. module: purchase_requisition_custom
|
#. module: purchase_requisition_custom
|
||||||
#: model:ir.model.fields,field_description:purchase_requisition_custom.field_res_company__purchase_budget
|
#: model:ir.model.fields,field_description:purchase_requisition_custom.field_res_company__purchase_budget
|
||||||
|
|
@ -1782,7 +1791,7 @@ msgstr " اعادة الى مسودة"
|
||||||
#: model:ir.model.fields,field_description:purchase_requisition_custom.field_purchase_request__purchase_purpose
|
#: model:ir.model.fields,field_description:purchase_requisition_custom.field_purchase_request__purchase_purpose
|
||||||
#: model:ir.model.fields,field_description:purchase_requisition_custom.field_purchase_requisition__purpose
|
#: model:ir.model.fields,field_description:purchase_requisition_custom.field_purchase_requisition__purpose
|
||||||
msgid "Purpose"
|
msgid "Purpose"
|
||||||
msgstr "مبررات طلب الشراء (الغرض)"
|
msgstr "مبررات/الغرض"
|
||||||
|
|
||||||
#. module: purchase_requisition_custom
|
#. module: purchase_requisition_custom
|
||||||
#: model:ir.model.fields.selection,name:purchase_requisition_custom.selection__change_purchase_user_state__state__quality
|
#: model:ir.model.fields.selection,name:purchase_requisition_custom.selection__change_purchase_user_state__state__quality
|
||||||
|
|
@ -2417,7 +2426,7 @@ msgstr ""
|
||||||
#. module: purchase_requisition_custom
|
#. module: purchase_requisition_custom
|
||||||
#: model:ir.model.fields,field_description:purchase_requisition_custom.field_purchase_request__partner_id
|
#: model:ir.model.fields,field_description:purchase_requisition_custom.field_purchase_request__partner_id
|
||||||
msgid "Vendor"
|
msgid "Vendor"
|
||||||
msgstr "المورد/مقدم الخدمة (المقترح)"
|
msgstr "المورد (المقترح)"
|
||||||
|
|
||||||
#. module: purchase_requisition_custom
|
#. module: purchase_requisition_custom
|
||||||
#: model:ir.actions.act_window,name:purchase_requisition_custom.vendor_types_action
|
#: model:ir.actions.act_window,name:purchase_requisition_custom.vendor_types_action
|
||||||
|
|
@ -2998,8 +3007,8 @@ msgstr "الحساب التحليلي لتتبع الموازنة"
|
||||||
|
|
||||||
#. module: purchase_requisition_custom
|
#. module: purchase_requisition_custom
|
||||||
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_request_form
|
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_request_form
|
||||||
msgid "Other Details"
|
msgid "Purchase Details"
|
||||||
msgstr "تفاصيل أخرى"
|
msgstr "إدارة المشتريات"
|
||||||
|
|
||||||
#. module: purchase_requisition_custom
|
#. module: purchase_requisition_custom
|
||||||
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_request_form
|
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_request_form
|
||||||
|
|
@ -3126,6 +3135,31 @@ msgstr "بدون طلب متأخر"
|
||||||
msgid "Request Lines"
|
msgid "Request Lines"
|
||||||
msgstr "بنود الطلب"
|
msgstr "بنود الطلب"
|
||||||
|
|
||||||
|
#. module: purchase_requisition_custom
|
||||||
|
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_requisition_custom_form_view
|
||||||
|
msgid "Basic Information"
|
||||||
|
msgstr "المعلومات الأساسية"
|
||||||
|
|
||||||
|
#. module: purchase_requisition_custom
|
||||||
|
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_requisition_custom_form_view
|
||||||
|
msgid "Classification/Purpose"
|
||||||
|
msgstr "التصنيف والغرض"
|
||||||
|
|
||||||
|
#. module: purchase_requisition_custom
|
||||||
|
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_requisition_custom_form_view
|
||||||
|
msgid "Vendor/Dates"
|
||||||
|
msgstr "المورد والتواريخ"
|
||||||
|
|
||||||
|
#. module: purchase_requisition_custom
|
||||||
|
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_requisition_custom_form_view
|
||||||
|
msgid "Committee Settings"
|
||||||
|
msgstr "إعدادات اللجنة"
|
||||||
|
|
||||||
|
#. module: purchase_requisition_custom
|
||||||
|
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_requisition_custom_form_view
|
||||||
|
msgid "Reset To Draft"
|
||||||
|
msgstr "إرجاع إلى مسودة"
|
||||||
|
|
||||||
#. module: purchase_requisition_custom
|
#. module: purchase_requisition_custom
|
||||||
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_request_search
|
#: model_terms:ir.ui.view,arch_db:purchase_requisition_custom.purchase_request_search
|
||||||
msgid "Year"
|
msgid "Year"
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load Diff
|
|
@ -105,7 +105,7 @@ class PurchaseOrderCustom(models.Model):
|
||||||
|
|
||||||
return data
|
return data
|
||||||
|
|
||||||
attach_no = fields.Integer(compute='get_attachments')
|
attach_no = fields.Integer(compute='get_attachments', string='Documents')
|
||||||
res_id = fields.Integer()
|
res_id = fields.Integer()
|
||||||
res_model = fields.Char()
|
res_model = fields.Char()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -49,7 +49,7 @@ class PurchaseRequisitionCustom(models.Model):
|
||||||
_inherit = 'purchase.requisition'
|
_inherit = 'purchase.requisition'
|
||||||
|
|
||||||
# committee type
|
# committee type
|
||||||
attach_no = fields.Integer(compute='get_attachments')
|
attach_no = fields.Integer(compute='get_attachments', string='Documents')
|
||||||
res_id = fields.Integer()
|
res_id = fields.Integer()
|
||||||
res_model = fields.Char()
|
res_model = fields.Char()
|
||||||
|
|
||||||
|
|
@ -101,9 +101,9 @@ class PurchaseRequisitionCustom(models.Model):
|
||||||
purchase_commitee = fields.Boolean('Purchase Commitee?')
|
purchase_commitee = fields.Boolean('Purchase Commitee?')
|
||||||
committe_head = fields.Many2one('res.users', 'Committe Head')
|
committe_head = fields.Many2one('res.users', 'Committe Head')
|
||||||
committe_members = fields.Many2many('res.users', string='Purchase Committee')
|
committe_members = fields.Many2many('res.users', string='Purchase Committee')
|
||||||
min_approve = fields.Integer('No. of Selections')
|
min_approve = fields.Integer('Minimum Approvals Required')
|
||||||
min_vote = fields.Integer('No. of Vots')
|
min_vote = fields.Integer('Minimum Votes Required')
|
||||||
actual_vote = fields.Integer('No. of Vots')
|
actual_vote = fields.Integer('Actual Votes')
|
||||||
request_id = fields.Many2one('purchase.request', 'Request Ref.', copy=False)
|
request_id = fields.Many2one('purchase.request', 'Request Ref.', copy=False)
|
||||||
purchase_cost = fields.Selection(
|
purchase_cost = fields.Selection(
|
||||||
[('department', 'Department'), ('default', 'Default Cost Center'), ('product_line', 'Product Line'),
|
[('department', 'Department'), ('default', 'Default Cost Center'), ('product_line', 'Product Line'),
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,8 @@
|
||||||
groups="purchase.group_purchase_manager" states="waiting"
|
groups="purchase.group_purchase_manager" states="waiting"
|
||||||
icon="fa-check-circle"/>
|
icon="fa-check-circle"/>
|
||||||
|
|
||||||
<button name="action_draft" type="object" string="Reset To Draft" class="btn-secondary"
|
<button name="action_draft" type="object" string="Reset To Draft" class="btn"
|
||||||
|
style="background-color: #6c757d; color: white; border-color: #6c757d;"
|
||||||
states="refuse" groups="purchase_requisition_custom.group_purchase_set_to_draft"
|
states="refuse" groups="purchase_requisition_custom.group_purchase_set_to_draft"
|
||||||
icon="fa-undo"/>
|
icon="fa-undo"/>
|
||||||
|
|
||||||
|
|
@ -68,33 +69,42 @@
|
||||||
</h1>
|
</h1>
|
||||||
</div>
|
</div>
|
||||||
<group>
|
<group>
|
||||||
<group string="Request Information">
|
|
||||||
<field name="date" readonly="1" widget="date"/>
|
|
||||||
<field name="by_purchase" groups="purchase.group_purchase_user"/>
|
|
||||||
<field name="employee_id" attrs="{'readonly':[('by_purchase' , '=' , False)]}" required="1"
|
|
||||||
options="{'no_create' : True , 'no_edit' : True ,'no_open' : True}"/>
|
|
||||||
<field name="department_id" force_save="1"
|
|
||||||
attrs="{'readonly' : ['|',('state' , '!=' , 'draft'),('by_purchase' , '!=' , True)] , 'required' : [('by_purchase' , '=' , True)]}"
|
|
||||||
readonly="1" context="{'show_department_short': True}"/>
|
|
||||||
<field name="branch_id" readonly="1" context="{'show_branch_short': True}"/>
|
|
||||||
</group>
|
|
||||||
<group string="Request Details">
|
<group string="Request Details">
|
||||||
<field name="product_category_ids" widget="many2many_tags"/>
|
|
||||||
<field name="purchase_purpose" required="1"
|
<field name="purchase_purpose" required="1"
|
||||||
attrs="{'readonly':[('state' , '!=' , 'draft')]}"
|
attrs="{'readonly':[('state' , '!=' , 'draft')]}"
|
||||||
placeholder="Enter purchase request justifications..."/>
|
placeholder="Enter purchase request justifications..."
|
||||||
|
help="الغرض من طلب الشراء والسبب وراء الحاجة للأصناف المطلوبة"/>
|
||||||
|
<field name="product_category_ids" widget="many2many_tags"
|
||||||
|
help="تصنيفات الأصناف المطلوبة في طلب الشراء (يحدث تلقائياً بناءا على الأصناف المختارة)"/>
|
||||||
|
<field name="use_analytic"
|
||||||
|
help="تفعيل استخدام حساب تحليلي محدد بدلاً من الحساب الافتراضي للقسم"/>
|
||||||
|
<field name="account_analytic_id"
|
||||||
|
options="{'no_create' : True , 'no_edit' : True ,'no_open' : True}"
|
||||||
|
attrs="{'invisible':[('use_analytic' , '=' , False)],'required':[('use_analytic' , '=' , True)],'readonly':[('state' , '!=' , 'draft')]}"
|
||||||
|
help="الحساب التحليلي المستخدم لتتبع الميزانية والمصروفات"/>
|
||||||
|
<field name="type_id" invisible="1"/>
|
||||||
|
</group>
|
||||||
|
<group string="Request Information">
|
||||||
|
<field name="date" readonly="1" widget="date" help="تاريخ إنشاء طلب الشراء"/>
|
||||||
|
<field name="employee_id" attrs="{'readonly':[('by_purchase' , '=' , False)]}" required="1"
|
||||||
|
options="{'no_create' : True , 'no_edit' : True ,'no_open' : True}"
|
||||||
|
help="الموظف الذي قام بإنشاء طلب الشراء"/>
|
||||||
|
<field name="department_id" force_save="1"
|
||||||
|
attrs="{'readonly' : ['|',('state' , '!=' , 'draft'),('by_purchase' , '!=' , True)] , 'required' : [('by_purchase' , '=' , True)]}"
|
||||||
|
readonly="1" context="{'show_department_short': True}"
|
||||||
|
help="القسم التابع له الموظف أو القسم المطلوب الشراء له"/>
|
||||||
|
<field name="branch_id" readonly="1" context="{'show_branch_short': True}"
|
||||||
|
help="الفرع التابع له القسم"/>
|
||||||
|
</group>
|
||||||
|
<group string="Purchase Details" name="purchase_details_group">
|
||||||
|
<field name="by_purchase" groups="purchase.group_purchase_user" help="تحديد ما إذا كان الطلب تم إنشاؤه من قبل قسم المشتريات"/>
|
||||||
<field name="partner_id"
|
<field name="partner_id"
|
||||||
domain="[('supplier_rank','>', 0)]"
|
domain="[('supplier_rank','>', 0)]"
|
||||||
options="{'no_create' : True , 'no_edit' : True ,'no_open' : True}"
|
options="{'no_create' : True , 'no_edit' : True ,'no_open' : True}"
|
||||||
attrs="{'readonly':['|',('edit_partner_id' , '=' , False),('state' , '!=' , 'waiting')]}"
|
attrs="{'readonly':['|',('edit_partner_id' , '=' , False),('state' , '!=' , 'waiting')]}"
|
||||||
help="Suggested vendor for this purchase request"/>
|
help="المورد المقترح لطلب الشراء (اختياري)"/>
|
||||||
</group>
|
|
||||||
<group string="Other Details" name="other_details_group">
|
|
||||||
<field name="use_analytic"/>
|
|
||||||
<field name="account_analytic_id"
|
|
||||||
options="{'no_create' : True , 'no_edit' : True ,'no_open' : True}"
|
|
||||||
attrs="{'invisible':[('use_analytic' , '=' , False)],'required':[('use_analytic' , '=' , True)],'readonly':[('state' , '!=' , 'draft')]}"
|
|
||||||
help="Analytic account for budget tracking"/>
|
|
||||||
</group>
|
</group>
|
||||||
<field name="picking_type_id" invisible="1"/>
|
<field name="picking_type_id" invisible="1"/>
|
||||||
<field name="purchase_create" invisible="1"/>
|
<field name="purchase_create" invisible="1"/>
|
||||||
|
|
@ -109,14 +119,18 @@
|
||||||
domain="[('purchase_ok', '=', True)]"
|
domain="[('purchase_ok', '=', True)]"
|
||||||
options="{'no_create' : True , 'no_edit' : True ,'no_open' : True}"
|
options="{'no_create' : True , 'no_edit' : True ,'no_open' : True}"
|
||||||
optional="show"
|
optional="show"
|
||||||
required="1"/>
|
required="1"
|
||||||
|
help="الصنف أو الخدمة المطلوبة للشراء"/>
|
||||||
|
|
||||||
<field name="uom_id"/>
|
<field name="uom_id"
|
||||||
<field name="description"/>
|
help="وحدة القياس للصنف"/>
|
||||||
|
<field name="description"
|
||||||
|
help="وصف تفصيلي للصنف المطلوب (اختياري)"/>
|
||||||
|
|
||||||
<field name="qty"
|
<field name="qty"
|
||||||
attrs="{'column_required':[('parent.state' , '!=' , 'draft')]}"
|
attrs="{'column_required':[('parent.state' , '!=' , 'draft')]}"
|
||||||
optional="show"/>
|
optional="show"
|
||||||
|
help="الكمية المطلوبة من الصنف"/>
|
||||||
<!-- <field name="price_unit" attrs="{'column_required':[('parent.state' , '!=', 'draft')]}" optional="show"/>-->
|
<!-- <field name="price_unit" attrs="{'column_required':[('parent.state' , '!=', 'draft')]}" optional="show"/>-->
|
||||||
<!-- <field name="sum_total" force_save="1" sum="Total amount" optional="show"/>-->
|
<!-- <field name="sum_total" force_save="1" sum="Total amount" optional="show"/>-->
|
||||||
<field name="account_id" invisible="1"/>
|
<field name="account_id" invisible="1"/>
|
||||||
|
|
@ -124,7 +138,8 @@
|
||||||
</field>
|
</field>
|
||||||
</page>
|
</page>
|
||||||
<page string="Note" icon="fa-sticky-note-o">
|
<page string="Note" icon="fa-sticky-note-o">
|
||||||
<field name="note" placeholder="Enter additional notes..."/>
|
<field name="note" placeholder="Enter additional notes..."
|
||||||
|
help="ملاحظات إضافية أو تفاصيل إضافية حول طلب الشراء"/>
|
||||||
</page>
|
</page>
|
||||||
</notebook>
|
</notebook>
|
||||||
</sheet>
|
</sheet>
|
||||||
|
|
|
||||||
|
|
@ -192,11 +192,11 @@
|
||||||
groups="purchase_requisition_custom.group_select_recommended_offer"
|
groups="purchase_requisition_custom.group_select_recommended_offer"
|
||||||
confirm="Are you sure you want to process ?"
|
confirm="Are you sure you want to process ?"
|
||||||
attrs="{'invisible':['|',
|
attrs="{'invisible':['|',
|
||||||
('recommendation_order','=', True),('purchase_commitee', '=', False)]}" string="Recommended"/>
|
('recommendation_order','=', True),('purchase_commitee', '=', False)]}" string="Recommended" class="btn-success" icon="fa-star"/>
|
||||||
|
|
||||||
<button type="object" name="action_unsign"
|
<button type="object" name="action_unsign"
|
||||||
groups="purchase_requisition_custom.group_unsign_purchase_order" string="UnSign"
|
groups="purchase_requisition_custom.group_unsign_purchase_order" string="UnSign"
|
||||||
states="sign"/>
|
states="sign" class="btn-warning" icon="fa-eraser"/>
|
||||||
<button type="object" name="budget_resend" string="Resend To Budget Check" class="btn-info"
|
<button type="object" name="budget_resend" string="Resend To Budget Check" class="btn-info"
|
||||||
states="budget_rejected" icon="fa-refresh"/>
|
states="budget_rejected" icon="fa-refresh"/>
|
||||||
<button type="object" name="action_budget" string="Send To Budget Check" class="btn-primary"
|
<button type="object" name="action_budget" string="Send To Budget Check" class="btn-primary"
|
||||||
|
|
@ -388,7 +388,7 @@
|
||||||
<button type="object" groups="purchase_requisition_custom.group_quotation_purchase_requisition"
|
<button type="object" groups="purchase_requisition_custom.group_quotation_purchase_requisition"
|
||||||
name="action_quotation" string="Quotation"
|
name="action_quotation" string="Quotation"
|
||||||
attrs="{'invisible':['&','|',('state','!=','accept'),('type','!=','project'),'|',('state','not in',('in_progress', 'ongoing','rejected_by_committee')),('type','!=','operational')]}"
|
attrs="{'invisible':['&','|',('state','!=','accept'),('type','!=','project'),'|',('state','not in',('in_progress', 'ongoing','rejected_by_committee')),('type','!=','operational')]}"
|
||||||
class="btn-primary"/>
|
class="btn-primary" icon="fa-file-text-o"/>
|
||||||
<button type="object" groups="purchase.group_purchase_user" name="action_budget"
|
<button type="object" groups="purchase.group_purchase_user" name="action_budget"
|
||||||
string="Send To Budget" attrs="{'invisible':['|', ('state','!=', 'purchase_manager'),('is_purchase_budget','=',False)]}"
|
string="Send To Budget" attrs="{'invisible':['|', ('state','!=', 'purchase_manager'),('is_purchase_budget','=',False)]}"
|
||||||
class="btn-primary" icon="fa-send"/>
|
class="btn-primary" icon="fa-send"/>
|
||||||
|
|
@ -399,12 +399,12 @@
|
||||||
class="btn-warning" icon="fa-forward"/>
|
class="btn-warning" icon="fa-forward"/>
|
||||||
|
|
||||||
<button type="object" groups="purchase_requisition_custom.group_approve_purchase_requisition"
|
<button type="object" groups="purchase_requisition_custom.group_approve_purchase_requisition"
|
||||||
name="action_approve" string="Approve" states="checked" class="btn-primary"/>
|
name="action_approve" string="Approve" states="checked" class="btn-primary" icon="fa-check-circle"/>
|
||||||
|
|
||||||
<button type="object" groups="purchase_requisition_custom.purchase_requisition_second_approve"
|
<button type="object" groups="purchase_requisition_custom.purchase_requisition_second_approve"
|
||||||
name="second_approval" string="Approve" states="second_approve" class="btn-primary"/>
|
name="second_approval" string="Approve" states="second_approve" class="btn-primary" icon="fa-check-circle"/>
|
||||||
<button type="object" groups="purchase_requisition_custom.purchase_requisition_third_approve"
|
<button type="object" groups="purchase_requisition_custom.purchase_requisition_third_approve"
|
||||||
name="third_approve" string="Approve" states="third_approve" class="btn-primary"/>
|
name="third_approve" string="Approve" states="third_approve" class="btn-primary" icon="fa-check-circle"/>
|
||||||
|
|
||||||
<button name="to_committee" class="btn-info"
|
<button name="to_committee" class="btn-info"
|
||||||
attrs="{'invisible' : ['|','|',('order_count','=', 0),('purchase_commitee','=',False),'&',('purchase_commitee','=',True),('sent_to_commitee','=', True)]}"
|
attrs="{'invisible' : ['|','|',('order_count','=', 0),('purchase_commitee','=',False),'&',('purchase_commitee','=',True),('sent_to_commitee','=', True)]}"
|
||||||
|
|
@ -422,7 +422,7 @@
|
||||||
<xpath expr="/form/header/button[@name='action_done']" position="replace">
|
<xpath expr="/form/header/button[@name='action_done']" position="replace">
|
||||||
<button type="object" name="action_done"
|
<button type="object" name="action_done"
|
||||||
groups="purchase_requisition_custom.group_done_purchase_requisition" string="Done"
|
groups="purchase_requisition_custom.group_done_purchase_requisition" string="Done"
|
||||||
states="open,ongoing" class="btn-primary"/>
|
states="open,ongoing" class="btn-primary" icon="fa-check-circle"/>
|
||||||
</xpath>
|
</xpath>
|
||||||
<xpath expr="/form/header/button[@type='action'][1]" position="attributes">
|
<xpath expr="/form/header/button[@type='action'][1]" position="attributes">
|
||||||
<attribute name="invisible">1</attribute>
|
<attribute name="invisible">1</attribute>
|
||||||
|
|
@ -451,15 +451,17 @@
|
||||||
<xpath expr="/form/header/button[@name='action_in_progress']" position="replace">
|
<xpath expr="/form/header/button[@name='action_in_progress']" position="replace">
|
||||||
<button name="action_in_progress"
|
<button name="action_in_progress"
|
||||||
groups="purchase_requisition_custom.group_confirm_purchase_requisition" states="draft"
|
groups="purchase_requisition_custom.group_confirm_purchase_requisition" states="draft"
|
||||||
string="Confirm" type="object" class="btn-primary"/>
|
string="Confirm" type="object" class="btn-primary" icon="fa-play-circle"/>
|
||||||
</xpath>
|
</xpath>
|
||||||
<xpath expr="/form/header/button[@name='action_cancel']" position="replace">
|
<xpath expr="/form/header/button[@name='action_cancel']" position="replace">
|
||||||
<button name="action_cancel" groups="purchase_requisition_custom.group_cancel_purchase_requisition"
|
<button name="action_cancel" groups="purchase_requisition_custom.group_cancel_purchase_requisition"
|
||||||
states="draft,in_progress,ongoing,checked,purchase_manager,rejected_by_committee"
|
states="draft,in_progress,ongoing,checked,purchase_manager,rejected_by_committee"
|
||||||
string="Cancel" type="object"/>
|
string="Cancel" type="object" class="btn-danger" icon="fa-times-circle"/>
|
||||||
</xpath>
|
</xpath>
|
||||||
<xpath expr="/form/header/button[@name='action_draft']" position="attributes">
|
<xpath expr="/form/header/button[@name='action_draft']" position="replace">
|
||||||
<attribute name="attrs">{'invisible':[('state','!=','cancel')]}</attribute>
|
<button name="action_draft" states="cancel" string="Reset To Draft" type="object" class="btn" icon="fa-undo"
|
||||||
|
style="background-color: #6c757d; color: white; border-color: #6c757d;"
|
||||||
|
attrs="{'invisible':[('state','!=','cancel')]}"/>
|
||||||
</xpath>
|
</xpath>
|
||||||
<xpath expr="/form/header/button[@name='action_open']" position="attributes">
|
<xpath expr="/form/header/button[@name='action_open']" position="attributes">
|
||||||
<attribute name="invisible">1</attribute>
|
<attribute name="invisible">1</attribute>
|
||||||
|
|
@ -477,28 +479,6 @@
|
||||||
<!-- <field name="agreement_date" attrs="{'readonly': [('state','!=', 'draft')]}"/>-->
|
<!-- <field name="agreement_date" attrs="{'readonly': [('state','!=', 'draft')]}"/>-->
|
||||||
<!-- <field name="city" attrs="{'readonly': [('state','!=', 'draft')]}"/>-->
|
<!-- <field name="city" attrs="{'readonly': [('state','!=', 'draft')]}"/>-->
|
||||||
</xpath>
|
</xpath>
|
||||||
<xpath expr="//field[@name='user_id']" position="after">
|
|
||||||
<field name="check_request" invisible="1"/>
|
|
||||||
<field name="category_ids" required="1"
|
|
||||||
attrs="{'readonly':['|',('state','in',('cancel','checked','done','waiting')),('check_request','=',True)]}"
|
|
||||||
widget="many2many_tags"/>
|
|
||||||
|
|
||||||
<field name="purchase_cost" required="1"
|
|
||||||
attrs="{'readonly':[('state','in',('cancel','checked','done','waiting'))]}"/>
|
|
||||||
|
|
||||||
<field name="department_id" attrs="{'required':[('purchase_cost','=', 'department')], 'invisible':[('purchase_cost','=', 'product_line')],
|
|
||||||
'readonly':['|',('state','in',('cancel','checked','done','waiting')),('check_request','=',True)]}" context="{'show_department_short': True}"/>
|
|
||||||
<field name="purpose" required="1"
|
|
||||||
attrs="{'readonly':['|',('state','in',('cancel','checked','done','waiting')),('check_request','=',True)]}"/>
|
|
||||||
|
|
||||||
<field name="type" required="1"
|
|
||||||
attrs="{'readonly':[('state','in',('cancel','checked','done','waiting'))]}"/>
|
|
||||||
<field name="project_id"
|
|
||||||
attrs="{'invisible':[('type','!=', 'project')], 'required':[('type','=', 'project')], 'readonly':[('state' , '!=' , 'draft')]}"/>
|
|
||||||
|
|
||||||
<field name="request_id" readonly="1"/>
|
|
||||||
<field name="type_exclusive" invisible="1"/>
|
|
||||||
</xpath>
|
|
||||||
<xpath expr="//field[@name='vendor_id']" position="attributes">
|
<xpath expr="//field[@name='vendor_id']" position="attributes">
|
||||||
<attribute name="attrs">{
|
<attribute name="attrs">{
|
||||||
'readonly': [('state','in',('cancel','checked','done','waiting'))],
|
'readonly': [('state','in',('cancel','checked','done','waiting'))],
|
||||||
|
|
@ -531,20 +511,6 @@
|
||||||
{'readonly':['|',('category_ids','=',False),('state','in',('cancel','done','waiting','checked'))]}
|
{'readonly':['|',('category_ids','=',False),('state','in',('cancel','done','waiting','checked'))]}
|
||||||
</attribute>
|
</attribute>
|
||||||
</xpath>
|
</xpath>
|
||||||
<xpath expr="//field[@name='company_id']" position="after">
|
|
||||||
<field name="is_purchase_budget" invisible="1"/>
|
|
||||||
<field name="purchase_commitee"/>
|
|
||||||
<field name="committee_type_id" attrs="{'invisible' : [('purchase_commitee' , '!=' , True)]}"
|
|
||||||
domain="[('type_cat', '=', category_ids)]"/>
|
|
||||||
<field name="committe_head"
|
|
||||||
attrs="{'invisible' : [('purchase_commitee' , '!=' , True)], 'required' : [('purchase_commitee' , '=' , True)]}"/>
|
|
||||||
|
|
||||||
|
|
||||||
<field name="min_approve"
|
|
||||||
attrs="{'invisible' : [('purchase_commitee' , '!=' , True)] , 'required' : [('purchase_commitee' , '=' , True)]}"/>
|
|
||||||
<field name="min_vote"
|
|
||||||
attrs="{'invisible' : [('purchase_commitee' , '!=' , True)] , 'required' : [('purchase_commitee' , '=' , True)]}"/>
|
|
||||||
</xpath>
|
|
||||||
<xpath expr="//page[last()]" position="after">
|
<xpath expr="//page[last()]" position="after">
|
||||||
<page string="Purchase Committe Members"
|
<page string="Purchase Committe Members"
|
||||||
attrs="{'invisible' : [('purchase_commitee' , '!=' , True)], 'required': [('purchase_commitee' , '=' , True)]}">
|
attrs="{'invisible' : [('purchase_commitee' , '!=' , True)], 'required': [('purchase_commitee' , '=' , True)]}">
|
||||||
|
|
@ -555,9 +521,75 @@
|
||||||
</field>
|
</field>
|
||||||
</page>
|
</page>
|
||||||
</xpath>
|
</xpath>
|
||||||
<xpath expr="//field[@name='company_id']" position="after">
|
<xpath expr="//group[1]" position="replace">
|
||||||
<field name="department_id" invisible="1"/>
|
<group>
|
||||||
<field name="days_count" invisible="1"/>
|
<group string="Basic Information">
|
||||||
|
<field name="is_quantity_copy" invisible='1'/>
|
||||||
|
<field name="user_id" attrs="{'readonly': [('state','not in',('draft','in_progress','open'))]}" domain="[('share', '=', False)]"
|
||||||
|
help="المستخدم المسؤول عن متابعة اتفاقية الشراء"/>
|
||||||
|
<field name="type_id" attrs="{'readonly': [('state','!=','draft')]}" required="1" widget="selection"
|
||||||
|
help="نوع اتفاقية الشراء (منافسة، اتفاقية إطار، إلخ)"/>
|
||||||
|
<field name="request_id" readonly="1"
|
||||||
|
help="طلب الشراء المرتبط بهذه الاتفاقية (إن وجد)"/>
|
||||||
|
<field name="origin" placeholder="e.g. PO0025" attrs="{'readonly': [('state', '!=', 'draft')]}"
|
||||||
|
help="رقم مرجعي خارجي للاتفاقية (اختياري)"/>
|
||||||
|
<field name="company_id" groups="base.group_multi_company" options="{'no_create': True}" attrs="{'readonly': [('state','not in',('draft'))]}"
|
||||||
|
help="الشركة التابعة لها الاتفاقية"/>
|
||||||
|
<field name="is_purchase_budget" invisible="1"/>
|
||||||
|
<field name="type_exclusive" invisible="1"/>
|
||||||
|
<field name="department_id" invisible="1"/>
|
||||||
|
<field name="days_count" invisible="1"/>
|
||||||
|
</group>
|
||||||
|
<group string="Classification/Purpose">
|
||||||
|
<field name="check_request" invisible="1"/>
|
||||||
|
<field name="category_ids" required="1"
|
||||||
|
attrs="{'readonly':['|',('state','in',('cancel','checked','done','waiting')),('check_request','=',True)]}"
|
||||||
|
widget="many2many_tags"
|
||||||
|
help="تصنيفات الأصناف المطلوبة في الاتفاقية"/>
|
||||||
|
<field name="purpose" required="1"
|
||||||
|
attrs="{'readonly':['|',('state','in',('cancel','checked','done','waiting')),('check_request','=',True)]}"
|
||||||
|
help="الغرض من اتفاقية الشراء والسبب وراء الحاجة للأصناف"/>
|
||||||
|
<field name="type" required="1" attrs="{'readonly':[('state','in',('cancel','checked','done','waiting'))]}"
|
||||||
|
help="نوع الاتفاقية: مشروع (مرتبط بمشروع محدد) أو تشغيلي (للاستخدام العام)"/>
|
||||||
|
<field name="purchase_cost" required="1"
|
||||||
|
attrs="{'readonly':[('state','in',('cancel','checked','done','waiting'))]}"
|
||||||
|
help="طريقة توزيع التكلفة: حسب القسم، حسب بند المنتج، حسب المشروع، أو الافتراضي"/>
|
||||||
|
<field name="department_id" attrs="{'required':[('purchase_cost','=', 'department')], 'invisible':[('purchase_cost','=', 'product_line')],
|
||||||
|
'readonly':['|',('state','in',('cancel','checked','done','waiting')),('check_request','=',True)]}" context="{'show_department_short': True}"
|
||||||
|
help="القسم المسؤول عن التكلفة (يظهر عند اختيار 'حسب القسم')"/>
|
||||||
|
<field name="project_id"
|
||||||
|
attrs="{'invisible':[('type','!=', 'project')], 'required':[('type','=', 'project')], 'readonly':[('state' , '!=' , 'draft')]}"
|
||||||
|
help="المشروع المرتبط بالاتفاقية (يظهر عند اختيار نوع 'مشروع')"/>
|
||||||
|
</group>
|
||||||
|
<group string="Vendor/Dates">
|
||||||
|
<field name="vendor_id" context="{'res_partner_search_mode': 'supplier'}" attrs="{'required': [('is_quantity_copy', '=', 'none')], 'readonly': [('state', 'in', ['ongoing','done'])]}"
|
||||||
|
help="المورد المحدد للاتفاقية (مطلوب لبعض أنواع الاتفاقيات)"/>
|
||||||
|
<field name="currency_id" groups="base.group_multi_currency"
|
||||||
|
help="العملة المستخدمة في الاتفاقية"/>
|
||||||
|
<field name="ordering_date" attrs="{'readonly': [('state','not in',('draft','in_progress','open','ongoing'))]}" required="1"
|
||||||
|
help="تاريخ بدء الاتفاقية"/>
|
||||||
|
<field name="schedule_date" attrs="{'readonly': [('state','not in',('draft','in_progress','open','ongoing'))]}"
|
||||||
|
help="تاريخ الاستلام المتوقع للأصناف"/>
|
||||||
|
<field name="date_end" attrs="{'readonly': [('state','not in',('draft','in_progress','open','ongoing'))]}"
|
||||||
|
help="تاريخ انتهاء الاتفاقية"/>
|
||||||
|
</group>
|
||||||
|
<group string="Committee Settings">
|
||||||
|
<field name="purchase_commitee"
|
||||||
|
help="تفعيل استخدام لجنة الشراء لتقييم العروض"/>
|
||||||
|
<field name="committee_type_id" attrs="{'invisible' : [('purchase_commitee' , '!=' , True)]}"
|
||||||
|
domain="[('type_cat', '=', category_ids)]"
|
||||||
|
help="نوع اللجنة المستخدمة (يتم تحديده حسب تصنيفات الأصناف)"/>
|
||||||
|
<field name="committe_head"
|
||||||
|
attrs="{'invisible' : [('purchase_commitee' , '!=' , True)], 'required' : [('purchase_commitee' , '=' , True)]}"
|
||||||
|
help="رئيس اللجنة المسؤول عن إدارة عملية التقييم"/>
|
||||||
|
<field name="min_approve"
|
||||||
|
attrs="{'invisible' : [('purchase_commitee' , '!=' , True)] , 'required' : [('purchase_commitee' , '=' , True)]}"
|
||||||
|
help="الحد الأدنى لعدد الموافقات المطلوبة من أعضاء اللجنة"/>
|
||||||
|
<field name="min_vote"
|
||||||
|
attrs="{'invisible' : [('purchase_commitee' , '!=' , True)] , 'required' : [('purchase_commitee' , '=' , True)]}"
|
||||||
|
help="الحد الأدنى لعدد الأصوات المطلوبة من أعضاء اللجنة"/>
|
||||||
|
</group>
|
||||||
|
</group>
|
||||||
</xpath>
|
</xpath>
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -577,7 +609,12 @@
|
||||||
<field name="ordering_date"/>
|
<field name="ordering_date"/>
|
||||||
<field name="department_id"/>
|
<field name="department_id"/>
|
||||||
<field name="category_ids" widget="many2many_tags"/>
|
<field name="category_ids" widget="many2many_tags"/>
|
||||||
<field name="state"/>
|
<field name="state" widget="badge"
|
||||||
|
decoration-muted="state == 'draft'"
|
||||||
|
decoration-info="state in ['in_progress', 'ongoing', 'open', 'committee']"
|
||||||
|
decoration-success="state in ['accept', 'checked', 'done', 'approve']"
|
||||||
|
decoration-warning="state in ['purchase_manager', 'second_approve', 'third_approve', 'legal_counsel', 'waiting']"
|
||||||
|
decoration-danger="state in ['cancel', 'rejected_by_committee']"/>
|
||||||
</tree>
|
</tree>
|
||||||
</xpath>
|
</xpath>
|
||||||
</field>
|
</field>
|
||||||
|
|
@ -727,8 +764,16 @@
|
||||||
<field name="origin"/>
|
<field name="origin"/>
|
||||||
<field name="amount_untaxed"/>
|
<field name="amount_untaxed"/>
|
||||||
<field name="amount_total"/>
|
<field name="amount_total"/>
|
||||||
<field name="state"/>
|
<field name="state" widget="badge"
|
||||||
<field name="invoice_status"/>
|
decoration-muted="state == 'draft'"
|
||||||
|
decoration-info="state in ['sent', 'wait', 'wait_for_send']"
|
||||||
|
decoration-success="state in ['purchase', 'done']"
|
||||||
|
decoration-warning="state == 'to approve'"
|
||||||
|
decoration-danger="state == 'cancel'"/>
|
||||||
|
<field name="invoice_status" widget="badge"
|
||||||
|
decoration-success="invoice_status == 'invoiced'"
|
||||||
|
decoration-info="invoice_status == 'to invoice'"
|
||||||
|
decoration-muted="invoice_status == 'no'"/>
|
||||||
</tree>
|
</tree>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue