From ce6dfb1e8e1f20230a0be4d64a9daabb1ea0b688 Mon Sep 17 00:00:00 2001 From: eslamabady Date: Thu, 11 Jul 2024 13:15:18 +0300 Subject: [PATCH] fix --- .../__pycache__/__init__.cpython-38.pyc | Bin 0 -> 243 bytes .../__pycache__/__init__.cpython-38.pyc | Bin 0 -> 535 bytes .../account_invoice.cpython-38.pyc | Bin 0 -> 2971 bytes .../account_payment.cpython-38.pyc | Bin 0 -> 1341 bytes .../budget_confirmation.cpython-38.pyc | Bin 0 -> 3202 bytes .../mail_compose_message.cpython-38.pyc | Bin 0 -> 510 bytes .../__pycache__/purchase_order.cpython-38.pyc | Bin 0 -> 23923 bytes .../purchase_request.cpython-38.pyc | Bin 0 -> 11581 bytes ...purchase_requisition_custom.cpython-38.pyc | Bin 0 -> 20423 bytes .../__pycache__/res_partner.cpython-38.pyc | Bin 0 -> 2595 bytes .../__pycache__/res_settings.cpython-38.pyc | Bin 0 -> 1674 bytes .../models/mail_compose_message.py | 26 ++++----- .../models/purchase_order.py | 35 +++++++----- .../models/purchase_requisition_custom.py | 52 +++++++++--------- .../views/purchase_requisition_custom.xml | 6 +- .../__pycache__/__init__.cpython-38.pyc | Bin 0 -> 280 bytes .../cancel_purchase_request.cpython-38.pyc | Bin 0 -> 1526 bytes .../convert_to_contract.cpython-38.pyc | Bin 0 -> 2490 bytes 18 files changed, 64 insertions(+), 55 deletions(-) create mode 100644 odex25_purchase/purchase_requisition_custom/__pycache__/__init__.cpython-38.pyc create mode 100644 odex25_purchase/purchase_requisition_custom/models/__pycache__/__init__.cpython-38.pyc create mode 100644 odex25_purchase/purchase_requisition_custom/models/__pycache__/account_invoice.cpython-38.pyc create mode 100644 odex25_purchase/purchase_requisition_custom/models/__pycache__/account_payment.cpython-38.pyc create mode 100644 odex25_purchase/purchase_requisition_custom/models/__pycache__/budget_confirmation.cpython-38.pyc create mode 100644 odex25_purchase/purchase_requisition_custom/models/__pycache__/mail_compose_message.cpython-38.pyc create mode 100644 odex25_purchase/purchase_requisition_custom/models/__pycache__/purchase_order.cpython-38.pyc create mode 100644 odex25_purchase/purchase_requisition_custom/models/__pycache__/purchase_request.cpython-38.pyc create mode 100644 odex25_purchase/purchase_requisition_custom/models/__pycache__/purchase_requisition_custom.cpython-38.pyc create mode 100644 odex25_purchase/purchase_requisition_custom/models/__pycache__/res_partner.cpython-38.pyc create mode 100644 odex25_purchase/purchase_requisition_custom/models/__pycache__/res_settings.cpython-38.pyc create mode 100644 odex25_purchase/purchase_requisition_custom/wizards/__pycache__/__init__.cpython-38.pyc create mode 100644 odex25_purchase/purchase_requisition_custom/wizards/__pycache__/cancel_purchase_request.cpython-38.pyc create mode 100644 odex25_purchase/purchase_requisition_custom/wizards/__pycache__/convert_to_contract.cpython-38.pyc diff --git a/odex25_purchase/purchase_requisition_custom/__pycache__/__init__.cpython-38.pyc b/odex25_purchase/purchase_requisition_custom/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6381c751662e5e7518a9e1123dc9a8baebc444de GIT binary patch literal 243 zcmWIL<>g`kg1rrGX-+`;F^Gc~cATJ#5`kcc5GP=R*mz^5vD;dT?O;2IZdq^_4#Fj}WyKX( zF%u|i9p&YF&rW7CkCVxWzFiZUe#z4;rEZ8U)B8a7e>}BjAWe z1INHIjR#JE6PgU10;e<`I0MdTHgFD{(_9s_0ADhbjMfS7rCz)KR8_Kp5~?*&TnXo@wYZ;;dSY>KHbRL}5|k7rL&;GJ z6deCMv14SE?`3IPUm9-A#T7in%jNaL`AYN3@`WHDdqk()FH+SCn_B0zhIFF}DqK(U~?ltY>#m0c=L z3>heppmzR24?V~^1W-;l z$4@`^e{T`;C*D;57~EWeOLajAB4|Pev_}V4&l=c0d%${(l5dExgngd~JEXC5&+fT` z-5?$3FL;M^n05!52ot5Ve5UVdcE;-lc@ z*fP0CBiMnGTi=f94X6SHSzp_4uaCq=n0JFL?MHIp=TVkwXPEIw?9;FI+Xr!%%Z8cC z=fcNSSa7v5e5gIyB{6{m(@pmVnbNhXr5mLWaH*Szx|&i=?|@)Ql!jBXAFX7=d?gcE zcK#y#gm*4{c24DfDtsxFq2E!tU^{_Er;rurB<|c1J0j4>4eG)5@+?fv`&%;AN9$t21kDk8VO)EJC3$Q)^8#kwI2GeRLyC zL+K~Hr~oGML?APz0EjXa6|)1$%0r1j)a)9ly4jc6fU8_a>4vTgFmbf#no;viF2P!; zP_y)n)rF1G3q~W4qc{NqFXe)0(8goS(o2=J5Bwh#*Xy9tJo@cqAOdZWsnDn(RL!}qXekju`&zXalX+nR9 z-a6+&;w#1Z)RymHeD9(-hQg%o1JLSlDU6%YMfi8=X^YVY{2qZ+GRvi{$Bdn}w@y75 ze{*P?qnlsBE7HxbbwD@J>bCp^Br^o#AiOdv) z1k;$*fncmB2&M@H(*lB7056Lt4+-W{gNdp5%FgY=y>r;Hav5Iixbju_ zk*}dRjp9udAEI~*1-4tqDxiWpJrN2ntaO=yX=h2A2u)uBd(NVgAEAQ|iZdwAqWBmE zVpZa#l`AMdL2(`h!d_lL@hJ+NkDU^@2D9c!2Do3sBWzfOQ6O*uw)7dWWn0V7N%~xk z=Ro@iJkHNZOs$!E70{w>4zv&RTI@~gU~iO@^vM}nh44$6kuV?scldq**(l(9rkcr; zK!x=CFM{8fJbw(D zDrgAy8QT`1U3{8t+1APDB^y5cJkC>p5OS^?oEP66ptm@`HS&}4iN~Y#W(X5SBF9V2 zhQ$5#LOB!QyCLDcNSetUc3W{yY-KE%LRR!BW3A(@wi%pjotkF&0VMI0s+gO&Qep#X b=Q@4>n}rp>v$DWPO>x-ENT~`voV5P|nDeK7 literal 0 HcmV?d00001 diff --git a/odex25_purchase/purchase_requisition_custom/models/__pycache__/account_payment.cpython-38.pyc b/odex25_purchase/purchase_requisition_custom/models/__pycache__/account_payment.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b388d3a16ec5583ff2717232f1fd61b1f03c2a3d GIT binary patch literal 1341 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 a@yaG+Oi!0mdi)b9^Z(@du5ow#w*LoH<_m)W literal 0 HcmV?d00001 diff --git a/odex25_purchase/purchase_requisition_custom/models/__pycache__/purchase_request.cpython-38.pyc b/odex25_purchase/purchase_requisition_custom/models/__pycache__/purchase_request.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..4d063cca6b2fcc1528d06f619caf14d4347e7904 GIT binary patch literal 11581 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 literal 0 HcmV?d00001 diff --git a/odex25_purchase/purchase_requisition_custom/models/mail_compose_message.py b/odex25_purchase/purchase_requisition_custom/models/mail_compose_message.py index 2f3c28b13..9e6a917c9 100644 --- a/odex25_purchase/purchase_requisition_custom/models/mail_compose_message.py +++ b/odex25_purchase/purchase_requisition_custom/models/mail_compose_message.py @@ -4,16 +4,16 @@ from odoo import _, api, fields, models, tools class MailComposer(models.TransientModel): _inherit = 'mail.compose.message' - def send_mail(self, auto_commit=False): - res = super(MailComposer, self).send_mail(auto_commit=auto_commit) - context = self._context - if self.model == 'purchase.order': - x = self.env['purchase.order'].search([ - ('id', 'in', context.get('active_ids')), - ]) - print(x.is_purchase_budget, 'is_purchase_budget') - self.env['purchase.order'].search([ - ('id', 'in', context.get('active_ids')),('state','not in',["purchase"]), - ]).write({'state': 'sent'}) - - return res + # def send_mail(self, auto_commit=False): + # res = super(MailComposer, self).send_mail(auto_commit=auto_commit) + # context = self._context + # if self.model == 'purchase.order': + # x = self.env['purchase.order'].search([ + # ('id', 'in', context.get('active_ids')), + # ]) + # print(x.is_purchase_budget, 'is_purchase_budget') + # self.env['purchase.order'].search([ + # ('id', 'in', context.get('active_ids')),('state','not in',["purchase"]), + # ]).write({'state': 'sent'}) + # + # return res diff --git a/odex25_purchase/purchase_requisition_custom/models/purchase_order.py b/odex25_purchase/purchase_requisition_custom/models/purchase_order.py index 2939b1677..515e06bcd 100644 --- a/odex25_purchase/purchase_requisition_custom/models/purchase_order.py +++ b/odex25_purchase/purchase_requisition_custom/models/purchase_order.py @@ -279,20 +279,23 @@ class PurchaseOrderCustom(models.Model): def button_approve(self): for rec in self: if rec.requisition_id and rec.requisition_id.state != 'approve': - raise ValidationError(_("Purchase agreement not approved")) - else: - # You can Approve - for line in self.order_line: - analytic_account_id = line.account_analytic_id - budget_post = self.env['account.budget.post'].search([]).filtered( - lambda - x: line.product_id.property_account_expense_id.id and line.product_id.property_account_expense_id.id or line.product_id.categ_id.property_account_expense_categ_id.id in x.account_ids.ids) - budget_lines = analytic_account_id.crossovered_budget_line.filtered( - lambda x: x.general_budget_id in budget_post and - x.crossovered_budget_id.state == 'done' and - fields.Date.from_string(x.date_from) <= fields.Date.from_string( - rec.date_order) <= fields.Date.from_string(x.date_to)) - super(PurchaseOrderCustom, rec).button_approve() + rec.requisition_id.write({'state':'approve'}) + rec.write({'state': 'draft'}) + + # raise ValidationError(_("Purchase agreement not approved")) + # else: + # # You can Approve + # for line in self.order_line: + # analytic_account_id = line.account_analytic_id + # budget_post = self.env['account.budget.post'].search([]).filtered( + # lambda + # x: line.product_id.property_account_expense_id.id and line.product_id.property_account_expense_id.id or line.product_id.categ_id.property_account_expense_categ_id.id in x.account_ids.ids) + # budget_lines = analytic_account_id.crossovered_budget_line.filtered( + # lambda x: x.general_budget_id in budget_post and + # x.crossovered_budget_id.state == 'done' and + # fields.Date.from_string(x.date_from) <= fields.Date.from_string( + # rec.date_order) <= fields.Date.from_string(x.date_to)) + # super(PurchaseOrderCustom, rec).button_approve() @api.constrains('state') def _state_on_change(self): @@ -305,6 +308,10 @@ class PurchaseOrderCustom(models.Model): for rec in self: if rec.requisition_id.project_id: rec.project_id = rec.requisition_id.project_id.id + def action_rfq_send(self): + res = super(PurchaseOrderCustom, self).action_rfq_send() + self.write({'state':'sent'}) + return res def action_skip_budget(self): """ Skip purchase budget""" diff --git a/odex25_purchase/purchase_requisition_custom/models/purchase_requisition_custom.py b/odex25_purchase/purchase_requisition_custom/models/purchase_requisition_custom.py index 9f75bd515..cdb9d431b 100644 --- a/odex25_purchase/purchase_requisition_custom/models/purchase_requisition_custom.py +++ b/odex25_purchase/purchase_requisition_custom/models/purchase_requisition_custom.py @@ -216,7 +216,7 @@ class PurchaseRequisitionCustom(models.Model): "default_department_name": self.department_id.id, "default_category_ids": self.category_ids.ids, "default_purpose": self.purpose, - "default_state": 'draft', + "default_state": 'wait', "default_send_to_budget": True, "default_request_id": self.request_id.id if self.request_id else False}, } @@ -233,31 +233,33 @@ class PurchaseRequisitionCustom(models.Model): raise ValidationError(_("Please add Committe Members")) def action_approve(self): - purchase_orders = self.env['purchase.order'].search([('requisition_id', '=', self.id)]) - po_order_approval = self.env.company.po_double_validation == 'two_step' - for po_id in purchase_orders: - # Deal with double validation process for first approve - valid_amount = self.env.user.company_id.currency_id.compute(po_id.company_id.po_double_validation_amount, - po_id.currency_id) - if po_order_approval: + self.write({'state': 'approve'}) - if po_id.amount_total > valid_amount: - po_id.write({'state': 'to approve'}) - self.write({'state': 'second_approve'}) - else: - if po_id.email_to_vendor: - po_id.write({'state': 'sent'}) - else: - po_id.write({'state': 'draft'}) - po_id.write({'send_to_budget': False}) - self.write({'state': 'approve'}) - else: - if po_id.email_to_vendor: - po_id.write({'state': 'sent'}) - else: - po_id.write({'state': 'draft'}) - po_id.write({'send_to_budget': False}) - self.write({'state': 'approve'}) + # purchase_orders = self.env['purchase.order'].search([('requisition_id', '=', self.id)]) + # po_order_approval = self.env.company.po_double_validation == 'two_step' + # for po_id in purchase_orders: + # # Deal with double validation process for first approve + # valid_amount = self.env.user.company_id.currency_id.compute(po_id.company_id.po_double_validation_amount, + # po_id.currency_id) + # if po_order_approval: + # + # if po_id.amount_total > valid_amount: + # po_id.write({'state': 'to approve'}) + # self.write({'state': 'second_approve'}) + # else: + # if po_id.email_to_vendor: + # po_id.write({'state': 'sent'}) + # else: + # po_id.write({'state': 'draft'}) + # po_id.write({'send_to_budget': False}) + # self.write({'state': 'approve'}) + # else: + # if po_id.email_to_vendor: + # po_id.write({'state': 'sent'}) + # else: + # po_id.write({'state': 'draft'}) + # po_id.write({'send_to_budget': False}) + # self.write({'state': 'approve'}) def second_approval(self): purchase_orders = self.env['purchase.order'].search([('requisition_id', '=', self.id)]) diff --git a/odex25_purchase/purchase_requisition_custom/views/purchase_requisition_custom.xml b/odex25_purchase/purchase_requisition_custom/views/purchase_requisition_custom.xml index b5be94d5f..a2bd4f890 100644 --- a/odex25_purchase/purchase_requisition_custom/views/purchase_requisition_custom.xml +++ b/odex25_purchase/purchase_requisition_custom/views/purchase_requisition_custom.xml @@ -124,8 +124,8 @@