commit
839028fddc
|
|
@ -11,6 +11,7 @@
|
|||
'security/ir.model.access.csv',
|
||||
'data/purchase_request.xml',
|
||||
'views/purchase_request.xml',
|
||||
'views/stock_warehouse.xml',
|
||||
'wizards/picking_purchase_request.xml'
|
||||
|
||||
],
|
||||
|
|
|
|||
|
|
@ -6,8 +6,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 14.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-07-03 02:56+0000\n"
|
||||
"PO-Revision-Date: 2024-07-03 02:56+0000\n"
|
||||
"POT-Creation-Date: 2024-07-29 22:30+0000\n"
|
||||
"PO-Revision-Date: 2024-07-29 22:30+0000\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
@ -84,11 +84,6 @@ msgstr "استلام"
|
|||
msgid "Delivery Done"
|
||||
msgstr "تم الستلام"
|
||||
|
||||
#. module: purchase_custom_stock
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_custom_stock.purchase_request_picking_wizard_view_form
|
||||
msgid "Delivery and Close"
|
||||
msgstr "تسليم المتوفر واغلاق الطلب "
|
||||
|
||||
#. module: purchase_custom_stock
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_custom_stock.purchase_request_picking_wizard_view_form
|
||||
msgid "Delivery and Purchase"
|
||||
|
|
@ -198,6 +193,12 @@ msgstr ""
|
|||
msgid "Please Insert Location first"
|
||||
msgstr "يرجى اختيار المستودع و الموقع"
|
||||
|
||||
#. module: purchase_custom_stock
|
||||
#: code:addons/purchase_custom_stock/models/purchase_request.py:0
|
||||
#, python-format
|
||||
msgid "Please Insert a Vendor"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_custom_stock
|
||||
#: code:addons/purchase_custom_stock/models/purchase_request.py:0
|
||||
#: code:addons/purchase_custom_stock/models/purchase_request.py:0
|
||||
|
|
@ -251,6 +252,12 @@ msgstr "المستودع"
|
|||
msgid "Warehouses Department"
|
||||
msgstr "المستودعات"
|
||||
|
||||
#. module: purchase_custom_stock
|
||||
#: code:addons/purchase_custom_stock/models/purchase_request.py:0
|
||||
#, python-format
|
||||
msgid "only %s Direct Manager can approve the order"
|
||||
msgstr " يمكن اعتماد الطلب s% فقط المدير المباشر ل"
|
||||
|
||||
#. module: purchase_custom_stock
|
||||
#: model:ir.model,name:purchase_custom_stock.model_purchase_request_picking_wizard
|
||||
msgid "purchase Checking Options wizard"
|
||||
|
|
|
|||
|
|
@ -1,2 +1,3 @@
|
|||
|
||||
from . import purchase_request
|
||||
from . import stock_warehouse
|
||||
|
|
@ -213,45 +213,61 @@ class PurchaseRequest(models.Model):
|
|||
limit=1).available_quantity
|
||||
line.qty_purchased=line.qty-line.available_qty
|
||||
def write(self,vals):
|
||||
|
||||
"""Ovveride Send Notification On state"""
|
||||
"""Ovveride Send Notification On state"""
|
||||
res=super(PurchaseRequest,self).write(vals)
|
||||
if 'state' in vals :
|
||||
if vals['state'] =='direct_manager':
|
||||
if vals['state'] == 'direct_manager':
|
||||
direct_manager = self.sudo().department_id.manager_id
|
||||
if direct_manager and direct_manager.user_id:
|
||||
self.message_post(body='Dear %s your approval is required on %s ' % (direct_manager.name, self.name),
|
||||
if self.env.user.partner_id.lang == 'ar_001':
|
||||
body = 'عزيزى %s موافقتك مطلوبة على %s ' % (direct_manager.name, self.name)
|
||||
else:
|
||||
body = 'Dear %s your approval is required on %s ' % (direct_manager.name, self.name)
|
||||
self.message_post(body=body,
|
||||
message_type='notification',
|
||||
author_id=self.env.user.partner_id.id, sticky=True,
|
||||
subtype_id=self.env.ref("mail.mt_comment").id,
|
||||
partner_ids=[direct_manager.user_id.partner_id.id])
|
||||
elif vals['state'] == 'warehouse':
|
||||
stock_group = self.env.ref('stock.group_stock_user')
|
||||
stock_users = self.env['res.users'].search([('groups_id', '=', stock_group.id)])
|
||||
for user in stock_users:
|
||||
stock_employee=self.env['hr.employee'].search([('user_id','=',user.id)],limit=1)
|
||||
if stock_employee and user.partner_id.id:
|
||||
self.message_post(body='Dear %s your approval is required on %s ' % (stock_employee.name, self.name),
|
||||
# stock_group = self.env.ref('stock.group_stock_manager')
|
||||
warehouse=self.env['stock.warehouse'].sudo().search([('department_id', '=', self.department_id.id)])
|
||||
if warehouse and warehouse.manager_id:
|
||||
stock_users = warehouse.manager_id
|
||||
if stock_users:
|
||||
stock_employee=self.env['hr.employee'].search([('user_id','=',stock_users.id)],limit=1)
|
||||
if stock_employee and stock_users.partner_id.id:
|
||||
if self.env.user.partner_id.lang=='ar_001':
|
||||
body = 'عزيزى %s موافقتك مطلوبة على %s ' % (stock_employee.name, self.name)
|
||||
else:
|
||||
body='Dear %s your approval is required on %s ' % (stock_employee.name, self.name)
|
||||
self.message_post(body=body,
|
||||
message_type='notification',
|
||||
author_id=self.env.user.partner_id.id, sticky=True,
|
||||
subtype_id=self.env.ref("mail.mt_comment").id,
|
||||
partner_ids=[user.partner_id.id])
|
||||
partner_ids=[stock_users.partner_id.id])
|
||||
elif vals['state'] == 'waiting':
|
||||
purchase_group = self.env.ref('purchase.group_purchase_user')
|
||||
purchase_group = self.env.ref('purchase.group_purchase_manager')
|
||||
purchase_users = self.env['res.users'].search([('groups_id', '=', purchase_group.id)])
|
||||
for user in purchase_users:
|
||||
purchase_employee = self.env['hr.employee'].search([('user_id', '=', user.id)], limit=1)
|
||||
if self.env.user.partner_id.lang == 'ar_001':
|
||||
body = 'عزيزى %s موافقتك مطلوبة على %s ' % (purchase_employee.name, self.name)
|
||||
else:
|
||||
body = 'Dear %s your approval is required on %s ' % (purchase_employee.name, self.name)
|
||||
if purchase_employee and user.partner_id.id:
|
||||
self.message_post(body='Dear %s your approval is required on %s ' % (purchase_employee.name, self.name),
|
||||
self.message_post(body=body,
|
||||
message_type='notification',
|
||||
author_id=self.env.user.partner_id.id, sticky=True,
|
||||
subtype_id=self.env.ref("mail.mt_comment").id,
|
||||
partner_ids=[user.partner_id.id])
|
||||
elif vals['state'] == 'employee':
|
||||
print("employee")
|
||||
if self.sudo().employee_id and self.sudo().employee_id.user_id:
|
||||
if self.env.user.partner_id.lang == 'ar_001':
|
||||
body = 'عزيزى %s يرجى تاكيد استلامك على %s ' % (self.sudo().employee_id.name, self.name)
|
||||
else:
|
||||
body = 'Dear %s please confirm Your receipt on %s ' % (self.sudo().employee_id.name, self.name)
|
||||
self.message_post(
|
||||
body='Dear %s please confirm your Delivery on %s ' % (self.sudo().employee_id.name, self.name),
|
||||
body=body,
|
||||
message_type='notification',
|
||||
author_id=self.env.user.partner_id.id, sticky=True,
|
||||
subtype_id=self.env.ref("mail.mt_comment").id,
|
||||
|
|
|
|||
|
|
@ -0,0 +1,8 @@
|
|||
from odoo import api, fields, models, _
|
||||
|
||||
|
||||
class StockWarehouse(models.Model):
|
||||
_inherit = 'stock.warehouse'
|
||||
|
||||
manager_id=fields.Many2one("res.users",string="Warehouse Manager")
|
||||
department_id=fields.Many2one("hr.department",string="Warehouse Branch")
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data>
|
||||
<record id="view_warehouse_inherit_manager_id" model="ir.ui.view">
|
||||
<field name="name">view.warehouse.inherit.manager</field>
|
||||
<field name="model">stock.warehouse</field>
|
||||
<field name="inherit_id" ref="stock.view_warehouse"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="partner_id" position="after">
|
||||
<field name="manager_id"/>
|
||||
<field name="department_id"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
</data>
|
||||
</odoo>
|
||||
|
|
@ -14,7 +14,7 @@ class AccountPayment(models.Model):
|
|||
# author_id = payment.create_uid.partner_id.id or None
|
||||
author_id = self.env.user.partner_id.id or None
|
||||
self.env.user.partner_id.send_notification_message(subject=subject, body=message, author_id=author_id,
|
||||
group=group)
|
||||
group=group)
|
||||
|
||||
@api.model
|
||||
def create(self, vals):
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
<record id="view_purchase_request" model="res.groups">
|
||||
<field name="name">View Purchase Request</field>
|
||||
<field name="category_id" ref="purchase_requisition_custom.module_category_purchase_request"/>
|
||||
<field name="menu_access" eval="[(4,ref('purchase.menu_purchase_root'))]"/>
|
||||
<field name="menu_access" eval="[(3,ref('purchase.menu_purchase_root'))]"/>
|
||||
</record>
|
||||
|
||||
<!-- Confirm group -->
|
||||
|
|
|
|||
Binary file not shown.
|
After Width: | Height: | Size: 27 KiB |
|
|
@ -150,6 +150,13 @@
|
|||
</field>
|
||||
</record>
|
||||
|
||||
<menuitem name="Purchase Request"
|
||||
id="menu_purchase_request_root"
|
||||
groups="view_purchase_request,purchase.group_purchase_user"
|
||||
action="purchase_request_action"
|
||||
web_icon="purchase_requisition_custom,static/description/request-for-proposal.png"
|
||||
sequence="26"/>
|
||||
|
||||
<!-- This Menu Item must have a parent and an action -->
|
||||
<menuitem id="purchase_request_menu" name="Employee Purchase Request" parent="purchase.menu_purchase_root"
|
||||
action="purchase_request_action" sequence="4"/>
|
||||
|
|
|
|||
Loading…
Reference in New Issue