From 79d5143d31c7c31d09e99cc02344dc121f8e3a01 Mon Sep 17 00:00:00 2001 From: sonal arora Date: Fri, 4 Sep 2020 18:25:47 +0000 Subject: [PATCH] work sale and purchase --- "MKS_Tradex_Backend_2/\\" | 42 ++++++++++++++++++ MKS_Tradex_Backend_2/__manifest__.py | 4 +- .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 170 bytes .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 335 bytes .../account_invoice.cpython-36.pyc | Bin 0 -> 2197 bytes .../__pycache__/purchase_order.cpython-36.pyc | Bin 0 -> 3091 bytes .../purchase_requisition.cpython-36.pyc | Bin 0 -> 5766 bytes .../__pycache__/sale_order.cpython-36.pyc | Bin 0 -> 5080 bytes .../__pycache__/stock_picking.cpython-36.pyc | Bin 0 -> 719 bytes MKS_Tradex_Backend_2/models/purchase_order.py | 4 +- .../models/purchase_requisition.py | 28 +++++++++--- MKS_Tradex_Backend_2/models/sale_order.py | 23 +++++++--- MKS_Tradex_Backend_2/models/stock_picking.py | 2 +- .../security/account_security.xml | 4 +- .../security/purchase_security.xml | 8 +++- .../views/account_move_views.xml | 0 .../views/purchase_order_views.xml | 22 ++++++--- .../views/purchase_requisition_views.xml | 35 ++++++++++----- .../views/sale_order_view.xml | 28 +++++++----- MKS_Tradex_Backend_2/views/stock_picking.xml | 2 +- 20 files changed, 152 insertions(+), 50 deletions(-) create mode 100644 "MKS_Tradex_Backend_2/\\" create mode 100644 MKS_Tradex_Backend_2/__pycache__/__init__.cpython-36.pyc create mode 100644 MKS_Tradex_Backend_2/models/__pycache__/__init__.cpython-36.pyc create mode 100644 MKS_Tradex_Backend_2/models/__pycache__/account_invoice.cpython-36.pyc create mode 100644 MKS_Tradex_Backend_2/models/__pycache__/purchase_order.cpython-36.pyc create mode 100644 MKS_Tradex_Backend_2/models/__pycache__/purchase_requisition.cpython-36.pyc create mode 100644 MKS_Tradex_Backend_2/models/__pycache__/sale_order.cpython-36.pyc create mode 100644 MKS_Tradex_Backend_2/models/__pycache__/stock_picking.cpython-36.pyc mode change 100644 => 100755 MKS_Tradex_Backend_2/security/purchase_security.xml mode change 100644 => 100755 MKS_Tradex_Backend_2/views/account_move_views.xml mode change 100644 => 100755 MKS_Tradex_Backend_2/views/purchase_requisition_views.xml mode change 100644 => 100755 MKS_Tradex_Backend_2/views/sale_order_view.xml mode change 100644 => 100755 MKS_Tradex_Backend_2/views/stock_picking.xml diff --git "a/MKS_Tradex_Backend_2/\\" "b/MKS_Tradex_Backend_2/\\" new file mode 100644 index 0000000..e87708b --- /dev/null +++ "b/MKS_Tradex_Backend_2/\\" @@ -0,0 +1,42 @@ + + + + + + view.purchase.requisition.inherit.form + purchase.requisition + + + +
+
+
+
+
+ + + +
diff --git a/MKS_Tradex_Backend_2/__manifest__.py b/MKS_Tradex_Backend_2/__manifest__.py index 59710e6..4c63720 100755 --- a/MKS_Tradex_Backend_2/__manifest__.py +++ b/MKS_Tradex_Backend_2/__manifest__.py @@ -1,7 +1,7 @@ # Part of Odoo. See LICENSE file for full copyright and licensing details. { 'name': 'MKS Tradex Backend', - 'version': '13.0.1.0', + 'version': '13.0.1.4', 'category': 'Operations/Purchase', 'description': """ This module allows you to manage your Purchase Agreements flow. @@ -11,7 +11,7 @@ This module allows you to manage your Purchase Agreements flow. Purchase Codinator Create RFQ after Approve purchase agreement by purchase manager """, - 'depends': ['purchase','purchase_requisition','sale_management'], + 'depends': ['purchase','purchase_requisition','sale_management','sale_renting'], 'data': [ 'edi/mail_template.xml', 'edi/purchase_mail_template.xml', diff --git a/MKS_Tradex_Backend_2/__pycache__/__init__.cpython-36.pyc b/MKS_Tradex_Backend_2/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..5ba21def9239ba1b5e0dfa522307c2900fc4a7fc GIT binary patch literal 170 zcmXr!<>h*qXcwQzz`*brh~a<<$Z`PUVgVqL!jQt4!;s4u#mLBz!W7J)$^4QLD6GkN zi!C=lB{iqmPm}2uLlH>NN`@j9AO$9VS?K2%l<4QDz5QI#wR5vXQ$?+==*vH t$A=UprleNHJ3)lvjr8N=GxIV_;^XxSDsOSv01Yn9Nws4J8deO%3;=InDAWJ| literal 0 HcmV?d00001 diff --git a/MKS_Tradex_Backend_2/models/__pycache__/__init__.cpython-36.pyc b/MKS_Tradex_Backend_2/models/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0f86c9ccc3ba1a90c2e0d5f6ef646393beccc56a GIT binary patch literal 335 zcmX|*zfQw25QpvjqpAojyhIi(=!yzrMX;2~%gNXlSV?oib`U%guap%r@B~OqoKv-D z-KS5#lkU8#>*cpv!!Kj(i~3L**$s6_FwF3dZMoz;c}AYeZ1$Wym-*}kc_EA0OY%~d zfUH?qMGN{hNetfF5 z#<7p!`ZsjiJ~Y+DeEPM|6N-c~p(1=Tzet|&cP(&;0uAEDN<^>VN$J-1M%>?R;L$5% l-{E!_!KK)uv0V^Ahg<|WA3mnV6@_DG*Xc+|JCFJ9{R0uWR(Jpa literal 0 HcmV?d00001 diff --git a/MKS_Tradex_Backend_2/models/__pycache__/account_invoice.cpython-36.pyc b/MKS_Tradex_Backend_2/models/__pycache__/account_invoice.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a66384dce485f8df897dfa3e057124fa2d1192a8 GIT binary patch literal 2197 zcmZ`)TW=IM6t?HSw+KN92?`Y|YO8JOE(H`?)Kc04ZB-Ff1WGkkWqHTmWHz%i6MHt0 z)#hoDc<$*oqa{x84B{)h*j1kK2h#&qb!&d`nBp%;5YKlUm4kqAe)uZVD^I|!z3913rTwEZ^_2QTCDGBrUz zm6^~c7#2ci+BA2b{rd39vz>=e*v}6PWeF}`{JC>OKLSINm6OY6VNN2?~d6E>Pykf)RP>vU~4$e%( z%Tg7GJUco6D9w4Eq&&O&-Q3rvrln;jlPWE8#)U}eJV8tpa3ep!qqkvr`O}0vAb;LJ zrV}y%%r?k?PRYPQgdl0>*qJygm^i|R@9w}8fe0oPE*19uHFAgG_Z@N&JO{)f>1ca= zAyu8E$ouIoE4kuBSxGf+zL336k89Z(scd|4ud2$s-ELMSJliXDb@$5~TVFxep^$w( z%Bpd<3jy$bH_g8ly>C9!A6pxZeR%}0YpKAAB?k;cPUF)Kj4Sg)%ONr2q@wM@8kzM?nC6E?ngFtxCWAEpCTa~3I(gJB%Bow4qWI!gw^E$-c(N~Z z(S7{O4tuJ&kT2QyGZ(wroyn!Upl-fvr#v#}hJ0VLxdRVqAPG$v2(8m~>cMZFj;}02 zk>}3Ym?e{_c4X5sxd+Bu{*b$=BfJfAOoa~&Q6=ox0N91ulpfQUw}C|$nE&+HodB-` zUu^-?zXQ|ZB{K6|0(K9!W;R;S3381bw}4}N(T?C1H{m?x_~NcAMkQO`faiQysyC=U zg%=&ymDC-(NT1N_?Lf7_YgUn;qBj7+G9~*`$sC9Xda8J#rSV5vDsAeZrYe_;rNa1f z$kVLtsS6k$%}z~)x{6Z|*IVjl!zFZD3D_tM(W@{Jx@IvyN1HSP>%7yX`k13JMo0SL4X2(;$t~YXbOZ- z0y8YJK!j6=E{my!_v}=1SZ2JEXK`PBp913#77|;u2!@-m#U|=9WNjjQEmjpz+o8G! z9?OK2?Ek9^Akf;x_}@9ag0QDL{XM7Rjs>8jE9)rf6~SSvD@) zUEiDMRoGsigMnC5>QEX@x&puPC#R_S{~eZGq3nEkkT3lN2IOi$fe%1jZB}mOO~}+4 z_)}K!E1D8uBb*Qx<}0ToY{RQ$BoFjbc92u3cl$!|exZpV=(iKQZUB?}$Wf2-~jj<%-S~K>xR@7}+@)w?jA4Ui%+wjGW0axYWb9zXv-y_@F25&1WD5B)wVlO3EVTu5wT^=oCT47N zGOc;GiOjM^#@M3aK6h{tR=T}ER;kS%>e^Xxq9|%b4f|!g9T^XMxpHtZ9<8vIDin&s eIO9J?Ios9m=oZhh2bk#V*^TaDoW^Z7o&NyrYE0Vz literal 0 HcmV?d00001 diff --git a/MKS_Tradex_Backend_2/models/__pycache__/purchase_order.cpython-36.pyc b/MKS_Tradex_Backend_2/models/__pycache__/purchase_order.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f913f530ab121fdea86dcd6c0a9cbdf398e6bb50 GIT binary patch literal 3091 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 bm8zrGDxKxnA1gFCq?s;Sl*t_b+vdLkYQFJ) literal 0 HcmV?d00001 diff --git a/MKS_Tradex_Backend_2/models/__pycache__/sale_order.cpython-36.pyc b/MKS_Tradex_Backend_2/models/__pycache__/sale_order.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b00fd445212b466275877423702620d12245227e GIT binary patch literal 5080 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 literal 0 HcmV?d00001 diff --git a/MKS_Tradex_Backend_2/models/purchase_order.py b/MKS_Tradex_Backend_2/models/purchase_order.py index cc369c8..faf7e51 100755 --- a/MKS_Tradex_Backend_2/models/purchase_order.py +++ b/MKS_Tradex_Backend_2/models/purchase_order.py @@ -9,8 +9,8 @@ class purchase_order(models.Model): state = fields.Selection([ ('draft', 'RFQ'), ('sent', 'RFQ Sent'), - ('approved', 'RFQ Approved'), - ('po_approval', 'PO Approval'), + ('approved', 'RFQ Submitted To MGT'), + ('po_approval', 'Approved By MGT'), ('to approve', 'To Approve'), ('purchase', 'Purchase Order'), ('done', 'Locked'), diff --git a/MKS_Tradex_Backend_2/models/purchase_requisition.py b/MKS_Tradex_Backend_2/models/purchase_requisition.py index f5b2250..baadb98 100755 --- a/MKS_Tradex_Backend_2/models/purchase_requisition.py +++ b/MKS_Tradex_Backend_2/models/purchase_requisition.py @@ -5,12 +5,13 @@ from odoo import api, fields, models, SUPERUSER_ID, _ PURCHASE_REQUISITION_STATES = [ - ('draft', 'Draft'), - ('approval', 'Approval'), - ('manager_approval','Manager Approval'), - ('approved','Approved'), + ('draft', 'New'), + ('approval', 'Pending PC Validation'), + ('validate_by_pc','Validated By PC'), + ('manager_approval','Submitted To MGT'), + ('approved','Approved By MGT'), ('ongoing', 'Ongoing'), - ('in_progress', 'Confirmed'), + ('in_progress', 'Approved By MGT'), ('open', 'Bid Selection'), ('done', 'Closed'), ('cancel', 'Cancelled'), @@ -105,6 +106,20 @@ class purchase_requisition(models.Model): self.state = 'approval' def action_coordinator_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_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 = 'validate_by_pc' + + def action_submitted_to_mgt(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) @@ -117,7 +132,8 @@ class purchase_requisition(models.Model): mail_tem.send_mail(self.id,True) mail_tem.write({'email_to': manager_mail}) self.state = 'manager_approval' + def action_manager_approval(self): - self.state = 'approved' + self.state = 'manager_approval' diff --git a/MKS_Tradex_Backend_2/models/sale_order.py b/MKS_Tradex_Backend_2/models/sale_order.py index 0c50a66..447c7dc 100755 --- a/MKS_Tradex_Backend_2/models/sale_order.py +++ b/MKS_Tradex_Backend_2/models/sale_order.py @@ -10,15 +10,16 @@ class sale_order(models.Model): # credit_controller_id = fields.Many2one('res.users',string="Credit Controller") state = fields.Selection([ - ('draft', 'Quotation'), - ('approval', 'RFQ approval'), - ('approved', 'RFQ Approved'), - ('logistics_approval', 'Logistics Approval'), - ('logistics_approved', 'Logistics Approved'), - ('credit_approval', 'Credit Approval'), + ('draft', 'new'), + ('approval', 'Submmited To MGT'), + ('approved', 'Approved By MGT'), + ('logistics_approval', 'Validated By Logistic'), + ('logistics_approved', 'validated by logistic'), + ('credit_approval', 'Validated By CC'), ('sent', 'Quotation Sent'), ('sale', 'Sales Order'), ('done', 'Locked'), + ('reject','Rejected By MGT'), ('cancel', 'Cancelled'), ], string='Status', readonly=True, copy=False, index=True, tracking=3, default='draft') @@ -61,6 +62,15 @@ class sale_order(models.Model): mail_tem.write({'email_from': manager,'email_to': user_email}) self.state = 'approved' return True + + def action_managment_reject(self): + self.state = 'reject' + return True + + def reset(self): + self.state = 'approved' + return True + def action_logistics_approval(self): group_id = self.env['ir.model.data'].get_object_reference('MKS_Tradex_Backend_2', 'group_sale_logistics')[1] @@ -97,6 +107,7 @@ class sale_order(models.Model): def action_credit_approval(self): self.state = 'credit_approval' return True + diff --git a/MKS_Tradex_Backend_2/models/stock_picking.py b/MKS_Tradex_Backend_2/models/stock_picking.py index 7f886d3..a16ce70 100755 --- a/MKS_Tradex_Backend_2/models/stock_picking.py +++ b/MKS_Tradex_Backend_2/models/stock_picking.py @@ -6,7 +6,7 @@ from odoo import api, fields, models, SUPERUSER_ID, _ class stock_picking(models.Model): _inherit = "stock.picking" - state = fields.Selection(selection_add=[('qa_approval', 'QA approval')], + state = fields.Selection(selection_add=[('qa_approval', 'QA Validation')], ) def button_validate_qa_approval(self): diff --git a/MKS_Tradex_Backend_2/security/account_security.xml b/MKS_Tradex_Backend_2/security/account_security.xml index c6e3b03..3e4055c 100755 --- a/MKS_Tradex_Backend_2/security/account_security.xml +++ b/MKS_Tradex_Backend_2/security/account_security.xml @@ -1,11 +1,11 @@ - + Finance Manager diff --git a/MKS_Tradex_Backend_2/security/purchase_security.xml b/MKS_Tradex_Backend_2/security/purchase_security.xml old mode 100644 new mode 100755 index c771245..704cda4 --- a/MKS_Tradex_Backend_2/security/purchase_security.xml +++ b/MKS_Tradex_Backend_2/security/purchase_security.xml @@ -27,8 +27,12 @@ Logistics and Warehouse Coordinator - - + + + Sales Co ordinator + + + Credit Controller diff --git a/MKS_Tradex_Backend_2/views/account_move_views.xml b/MKS_Tradex_Backend_2/views/account_move_views.xml old mode 100644 new mode 100755 diff --git a/MKS_Tradex_Backend_2/views/purchase_order_views.xml b/MKS_Tradex_Backend_2/views/purchase_order_views.xml index 299ce53..560970d 100644 --- a/MKS_Tradex_Backend_2/views/purchase_order_views.xml +++ b/MKS_Tradex_Backend_2/views/purchase_order_views.xml @@ -1,10 +1,20 @@ + + + view.purchase.order.inherit.form purchase.order - +