mirror of
https://gitlab.com/sonalarora/tra_backend.git
synced 2025-12-17 10:19:09 +02:00
add 2 mayur modules
This commit is contained in:
75
MKS_Tradex_Backend_2/models/purchase_order.py
Executable file
75
MKS_Tradex_Backend_2/models/purchase_order.py
Executable file
@@ -0,0 +1,75 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
from odoo import api, fields, models, SUPERUSER_ID, _
|
||||
|
||||
class purchase_order(models.Model):
|
||||
_inherit = "purchase.order"
|
||||
|
||||
state = fields.Selection([
|
||||
('draft', 'RFQ'),
|
||||
('sent', 'RFQ Sent'),
|
||||
('approved', 'RFQ Approved'),
|
||||
('po_approval', 'PO Approval'),
|
||||
('to approve', 'To Approve'),
|
||||
('purchase', 'Purchase Order'),
|
||||
('done', 'Locked'),
|
||||
('cancel', 'Cancelled')
|
||||
], string='Status', readonly=True, index=True, copy=False, default='draft', tracking=True)
|
||||
|
||||
def make_url(self):
|
||||
record_id = self.id
|
||||
menu_id = self.env.ref('purchase.menu_purchase_rfq').id
|
||||
action_id = self.env.ref('purchase.purchase_rfq').id
|
||||
base_url = self.env['ir.config_parameter'].sudo().get_param('web.base.url')
|
||||
if base_url:
|
||||
base_url += \
|
||||
'/web?#id=%s&view_type=form&model=%s&menu_id=%s&action=%s' % (
|
||||
self.id, self._name, menu_id, action_id)
|
||||
return base_url
|
||||
|
||||
def action_manager_approval(self):
|
||||
group_id = self.env['ir.model.data'].get_object_reference('MKS_Tradex_Backend_2', 'group_purchase_coordinator')[1]
|
||||
if group_id:
|
||||
browse_group = self.env['res.groups'].browse(group_id)
|
||||
for user in browse_group.users:
|
||||
manager_mail = user.partner_id.email
|
||||
mtp =self.env['mail.template']
|
||||
ir_model_data = self.env['ir.model.data']
|
||||
template_id = ir_model_data.get_object_reference('MKS_Tradex_Backend_2', 'purchase_req_coordinator_template')
|
||||
mail_tem=mtp.browse(template_id[1])
|
||||
mail_tem.send_mail(self.id,True)
|
||||
mail_tem.write({'email_to': manager_mail})
|
||||
self.state = 'approved'
|
||||
|
||||
def button_confirm_mks(self):
|
||||
group_id = self.env['ir.model.data'].get_object_reference('purchase', 'group_purchase_manager')[1]
|
||||
if group_id:
|
||||
browse_group = self.env['res.groups'].browse(group_id)
|
||||
for user in browse_group.users:
|
||||
manager_mail = user.partner_id.email
|
||||
mtp =self.env['mail.template']
|
||||
ir_model_data = self.env['ir.model.data']
|
||||
template_id = ir_model_data.get_object_reference('MKS_Tradex_Backend_2', 'purchase_req_manager_template')
|
||||
mail_tem=mtp.browse(template_id[1])
|
||||
mail_tem.send_mail(self.id,True)
|
||||
mail_tem.write({'email_to': manager_mail})
|
||||
self.state = 'po_approval'
|
||||
return True
|
||||
|
||||
|
||||
def button_confirm(self):
|
||||
for order in self:
|
||||
if order.state not in ['draft', 'sent','approved','po_approval']:
|
||||
continue
|
||||
order._add_supplier_to_product()
|
||||
# Deal with double validation process
|
||||
if order.company_id.po_double_validation == 'one_step'\
|
||||
or (order.company_id.po_double_validation == 'two_step'\
|
||||
and order.amount_total < self.env.company.currency_id._convert(
|
||||
order.company_id.po_double_validation_amount, order.currency_id, order.company_id, order.date_order or fields.Date.today()))\
|
||||
or order.user_has_groups('purchase.group_purchase_manager'):
|
||||
order.button_approve()
|
||||
else:
|
||||
order.write({'state': 'to approve'})
|
||||
return True
|
||||
Reference in New Issue
Block a user