From c88b231b7f8d88166ffac067b9a641df4f2bbed4 Mon Sep 17 00:00:00 2001 From: ronozoro Date: Sat, 26 Oct 2024 21:33:15 -0700 Subject: [PATCH] add purchase petty --- .../purchase_request.cpython-37.pyc | Bin 10430 -> 10506 bytes .../purchase_petty_invoice/__init__.py | 2 ++ .../purchase_petty_invoice/__manifest__.py | 14 ++++++++ .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 246 bytes .../purchase_petty_invoice/i18n/ar_001.po | 32 +++++++++++++++++ .../purchase_petty_invoice/models/__init__.py | 3 ++ .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 261 bytes .../__pycache__/purchase_order.cpython-37.pyc | Bin 0 -> 1565 bytes .../models/purchase_order.py | 34 ++++++++++++++++++ .../views/purchase_order_view.xml | 26 ++++++++++++++ .../__pycache__/purchase_order.cpython-37.pyc | Bin 27445 -> 27445 bytes .../purchase_request.cpython-37.pyc | Bin 11973 -> 11939 bytes ...purchase_requisition_custom.cpython-37.pyc | Bin 21240 -> 22224 bytes 13 files changed, 111 insertions(+) create mode 100644 odex25_purchase/purchase_petty_invoice/__init__.py create mode 100644 odex25_purchase/purchase_petty_invoice/__manifest__.py create mode 100644 odex25_purchase/purchase_petty_invoice/__pycache__/__init__.cpython-37.pyc create mode 100644 odex25_purchase/purchase_petty_invoice/i18n/ar_001.po create mode 100644 odex25_purchase/purchase_petty_invoice/models/__init__.py create mode 100644 odex25_purchase/purchase_petty_invoice/models/__pycache__/__init__.cpython-37.pyc create mode 100644 odex25_purchase/purchase_petty_invoice/models/__pycache__/purchase_order.cpython-37.pyc create mode 100644 odex25_purchase/purchase_petty_invoice/models/purchase_order.py create mode 100644 odex25_purchase/purchase_petty_invoice/views/purchase_order_view.xml diff --git a/odex25_purchase/purchase_custom_stock/models/__pycache__/purchase_request.cpython-37.pyc b/odex25_purchase/purchase_custom_stock/models/__pycache__/purchase_request.cpython-37.pyc index a3b5a16144ea5f0841df3c9bb864818897f14dd4..01242ee3d57c3c14f1923e6b3e167eb08a24dce0 100644 GIT binary patch delta 483 zcmdlN*cHU<#LLUY00g|NWz&yu5*;as)@yXhbMsSDb0){|#flaM09|m4vn(^U94uPo59Ck2 z&i9wmV)9jfZ8j!G7Dg`S$xH$+jAtgh3oJAMx{N)AYYr#WU1BNRXzpSMyNey>uE|1z z>5Ms(KZr?9mJ?u~JX^2}nfmgMS+v^h3sX5KpfU0Cm>a1 z0U|)IE(!(_{*zA$onp%XGK(!H&l1*VWnyGvkpZpR? z&YbKe@se@=WE05%#-Pcqk_v2KLjpFhmi*4h*fV*t^h1!ijFkXbJQr@4|K#&BPK*~e v3(58~GTzy|NY0Oy@#*G|%Ds%tsvIht8&#JwGMY|SS6|GiGx@aoCq^{@ah!>k delta 440 zcmeAQ+84;{#LLUY00g@$nbTP|^4{m>;s)}Zfw=hIfW)A zbXWt4$#vpllLL4qCUZ$>F;1FnDv>bRTAXY0e2E8)vnDr41~3Lpz9^}{2DTw^^LNSb zjEwD*-%CFPiOX0CfW>n`hJhUtJXu=SiShL2IN5$i#_OBk$@#G|KGWdlGCyQ%*VpIeG`2}|n diff --git a/odex25_purchase/purchase_petty_invoice/__init__.py b/odex25_purchase/purchase_petty_invoice/__init__.py new file mode 100644 index 000000000..f5ba686bc --- /dev/null +++ b/odex25_purchase/purchase_petty_invoice/__init__.py @@ -0,0 +1,2 @@ +# -*- coding: utf-8 -*- +from . import models \ No newline at end of file diff --git a/odex25_purchase/purchase_petty_invoice/__manifest__.py b/odex25_purchase/purchase_petty_invoice/__manifest__.py new file mode 100644 index 000000000..130190512 --- /dev/null +++ b/odex25_purchase/purchase_petty_invoice/__manifest__.py @@ -0,0 +1,14 @@ +# -*- coding: utf-8 -*- +{ + 'name': "Purchase Petty Invoice", + 'summary': """Project/Accounting""", + 'category': 'Odex25-Project/Odex25-Project', + 'description': """ + Mark purchase order as paid from petty project + """, + 'version': '0.1', + 'depends': ['purchase', 'petty_invoice'], + 'data': [ + 'views/purchase_order_view.xml', + ], +} diff --git a/odex25_purchase/purchase_petty_invoice/__pycache__/__init__.cpython-37.pyc b/odex25_purchase/purchase_petty_invoice/__pycache__/__init__.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3eb74e9a9771167b5e123514bc3f862a8112efa3 GIT binary patch literal 246 zcmZ?b<>g`kf)z|t({zCJV-N=hn1BoiATAaF5-AKRj5!Rsj8Tk?3@J>(44TX@8G*u@ zjJMcw^HWlDiv2X1ZZQ;r^sHnkVgXWM;#Y%ySbk1vZfdc9cz#i~ett@RetbEIm6BSP znv-9Uo0?Y=pO})8pI5AFXrgDJpPH9goR}A%Tv}X`p9@rg`kf{W{9(@lZ&V-N=hn1BoiATAaF5-AKRj5!Rsj8Tk?3@J>(44TX@8G*u@ zjJNm-N{f;+5{pyg^NUhai~Ka1ZZQ;r^sZzmVgXWM;#a$VSbk1vZfdc9cz#i~ett@R zetbEIm6BSPnv-9Uo0?Y=pO})8pI5AFXrgDJpPH9goR}A%Tv}X`p9@rq` z50i*5NG&O;jL*y~%g;I{JV9``@Sb_!+uk8qK05 zA}-lma!5Vh@fl4bAgJY6BH22}mDp>sY@f$T`z;Ab(gDgkZsSRo=}FZ**HbmyOc%M`|5jkxm*dGF{e%YLxjDPBvR02Gj*s6^Agkg~*E3 zS|JuB-@rYefxvw>20>VdMs$nA8~nX4`9-e1`wRF3pS^h^bLD` zcg}twzi+?cb3W!~2jw`Ja}m7Sc|qn3aMHa&Xtv>Ba}$J%GNaOKcmlJ7hW0cqtSEBZ zxDaWuF2G?x%`N=dXR!x(8&v$m`kKLRP=vTeXT7Ts7q_f|Ab=GZUr6Tk0!qmxHD3We zRI)n+AxV0NAgnnOMkU`RP0)lMaD;#<6d-^U?0Gu=`_32iv>ZQDjpM4Cy6C{@6RW)8 zN({mic(!T)@dCG8fWRHA^~X@Z1p5~V)pH3zx1rB&UIn^1YQwZ)o56^f4HTOw5V4C_ zndLLX_55=bi};8V%1&-Dq6Y7B-DO5)3Nn6~RT%k|Yn}k)5ijvx!MkO*<6i99#o85M nSuvPFzA!DE2%lrc_3ztn{7{rW5bNUIMXCGFryDxI&3oa$2`+&B literal 0 HcmV?d00001 diff --git a/odex25_purchase/purchase_petty_invoice/models/purchase_order.py b/odex25_purchase/purchase_petty_invoice/models/purchase_order.py new file mode 100644 index 000000000..8993e4618 --- /dev/null +++ b/odex25_purchase/purchase_petty_invoice/models/purchase_order.py @@ -0,0 +1,34 @@ +# -*- coding: utf-8 -*- + +from odoo import models, fields, api + + +class PurchaseOrder(models.Model): + _inherit = "purchase.order" + is_petty_paid = fields.Boolean(string='Paid by Petty Cash', default=False, copy=False) + + +class AccountMove(models.Model): + _inherit = 'account.move' + + @api.onchange('purchase_vendor_bill_id', 'purchase_id') + def _onchange_purchase_auto_complete(self): + super()._onchange_purchase_auto_complete() + if self.purchase_id: + self.is_petty_paid = self.purchase_id.is_petty_paid + else: + self.is_petty_paid = False + + @api.model_create_multi + def create(self, vals_list): + moves = super(AccountMove, self).create(vals_list) + for move in moves: + if move.purchase_id: + move.is_petty_paid = move.purchase_id.is_petty_paid + return moves + + def write(self, vals): + if vals.get('purchase_id'): + po = self.env['purchase.order'].browse(vals['purchase_id']) + vals['is_petty_paid'] = po.is_petty_paid + super(AccountMove, self).write(vals) diff --git a/odex25_purchase/purchase_petty_invoice/views/purchase_order_view.xml b/odex25_purchase/purchase_petty_invoice/views/purchase_order_view.xml new file mode 100644 index 000000000..356e6bee3 --- /dev/null +++ b/odex25_purchase/purchase_petty_invoice/views/purchase_order_view.xml @@ -0,0 +1,26 @@ + + + + purchase.order.filter.custom + purchase.order + + + + + + + + + + + purchase.order.form.custom + purchase.order + + + + + + + + \ No newline at end of file diff --git a/odex25_purchase/purchase_requisition_custom/models/__pycache__/purchase_order.cpython-37.pyc b/odex25_purchase/purchase_requisition_custom/models/__pycache__/purchase_order.cpython-37.pyc index cfcb6275c23f8a9adf4b6aae9084d715a470e722..64fe34cefaf8195caf98088f363a82f050770765 100644 GIT binary patch delta 22 ccmdmbjdANWMs6owUM>b8DBjJoky|Sp08e%X4FCWD delta 22 ccmdmbjdANWMs6owUM>b8_}s$0ky|Sp08ys~RR910 diff --git a/odex25_purchase/purchase_requisition_custom/models/__pycache__/purchase_request.cpython-37.pyc b/odex25_purchase/purchase_requisition_custom/models/__pycache__/purchase_request.cpython-37.pyc index cd3c764d7b6a747e79d5c58cdaeba96410f8f734..c54bd5cf6c87a98ba14f780d531486c6a720b8e5 100644 GIT binary patch delta 509 zcmX>ayEvB5iICc$oq@Rc#N=Apxdt^1SsW=GDV%e-7Bbc{ z*Dx#)OW{gk%w$~1$jFewox+pCp2Azh3{=B6hc%c%lYg>{T&qZxKtX9yaziV`QY$p^9)bptJ$954Tk(PDC#f;JlyBMT!J^WqDfLv%ZnMcKbv#&}6BjcRO=Tu7= z7fp6nTgt9d1oA`jL_yKbEb1kUjC&?mYRqKZH(6M-h|zpA}l~e8;Do~BIW^!TkM{BC8_DDMMZre9$RUCF34AhK=Mo= z5w7I?yyB9g#LT?nqQf9jQB*>Vfq|W&Xg5$$d$OUnEaUFY{@S&SjKP!7>SVAT2dOVm*0gRUugbD<_CR delta 527 zcmZ1+do-5MiIp~H3@q9hQJ2qNM@L^p^~pZrGY7u!!D zv)FF(8)bV&md#o!jf{-*Ca+N~VO%m`=;lXiC5(*wCWmXxWIQnW zqecCa>1XU^@wt zJ2hESSC{o1km)hmTh~Ym&0VWNYCy6@dnQlUm1A_ByiIqO%yyu_EmmJpc!9kOwxP%b Tq)c@3Lr&4jje7FTN`Z&k{gV*TK9bq* zKlj{o&pqedbIyPN&mLv3J;7XUPN&U)f6nto!5s&lcBPt?0i)<**@^p@&!U>nna2&j z6nt9onW~z0+rR{7u-vEk>^O2j3Roc((FS&KfD>Ghh8#Ek(!modbXq&!xE{i8jVSZrD)(Bq-tOp zw4qsZQ6>|XV|?0i!&)4r!wNKo`RbqpR*o5b^Wb(^h0l7mA#rX#tR82u2G))ljxb-N z+JKyO&^fL^7p#}OCivPhLmz`~=ow4(EszqcVIyoBH^OGvB4wH-cN1*Hbz9*M$!h^0 zY{P99!kw@kpRKS1{Plr(9WVfUk+%{!#PE4L#9i#@fZN?H$eztX!|c)A7OEMVVv1*y(6Ad2uLSV>u$}xFVWYITMGO z!4NkL<1qr;W8yCj8+J2L@(kw`Fpjekrk6BwjeW+TGRz>Q)o|eWu%X?seRM<_R(2al zj9?uxA!XvDh-QgK8V6a9fo6#tR7Ol#;+A1kpOKoxu&ys56@m>#Eci?5Q?d=XiM_{)g!|yE9@=kY^Jf7-k+_zsYx75mT5E@t%{T|D$J#jjC)eXXk`wR^C;rI%EDV~Pn>ezWnPavd|PC= zPCAz&#oG|D*80Q+*8+Ay{Mpscf}%QYnTuvSa3)AnA@O=szBrSX#eN{pr=9h*(yCOR zO>f?g!)!UL%i?M4vd8zLZ@Qucn_WUrG#F<&%@dn2CTJ zQV@Am9P(7K%VOMfkC|^lj;PIOw8UsirI49dBl&uAEMq-e*hySFf@Z~I@WhfSmWN^O5p09v16zi`ZvkPwrMT-;6x* zYVHQ}DkT0Piu2yIpFxTn2~uQSbMtf9Ka;ij^~@rtHj7X}1$#)&Jzh|tFeY9p_>POh zzz-7m5X8a4O7<;ruCUx;!{UpXkY`Zx#k-Y7;#%STY>OB!YE#l!^5vpKjCG3Ek}GBM zEM;=1?hC2=W#w@XY21W>3A{~omS(&89XQfb1_t>+G^X-iX~@aabS0A|$4fcuqyyFL z7)}_(D&HGFIN=RxdXRve=4TNm&y!+?k;x~%gTO^_9$_|12Fg~l#MCKb!qAz?6TRu+ z_7V3B$5}&M%13?xp@Y+DP8_BlEILWf3GN~oA~-}aOh9iHK4LJ`8F+%oQ3S79Pr}1U zYv}_~KbEn|{dxig!u$vcj)|=^%alfz9G;n&WwjSy)HB7I&X@=2WdVGvG;=_-~ zawPx4!ZzzuCxzQY+2y`ROwEYQ!dqhu7Jv%3k)%37u#M?ETy&yX0=G9YrYeug2@gEW8h)3grus_hR zH|=mJB3~^rJvuVS8pOkMf75cKuw<@mrak%yrfo^X8zk3SIP zs)|>>8F79;%{iyd4Me%L>JK=0oDtYvCofP5gG@iIq1CYnFa&G%8GMq&J+F=1m<6 z7LttpUuX|iJl0yLSQYVB>(<2^c>(bX35p1c3Csvu$|}4SVeatl#FE#YGNS0Uz)J`| z5Z#MrCS>H~3xlGsrL;w(VKorplrpjmHETOwYvLiiBN-#n{jxgrT%i{^f1FmOt_wsC z&g)0u-y`Nz1P>C(xX4sGL&Jv&i_FEVENh8;TJ$cS zod6&VGgCN2V~R>A2ROEbmT@(*YFNZL#wkGh;98#^Te5sclwTyA!#Vg-2~|fLoU2~;6dV7gY3502V{?? zbHFo}Z(}T0*^{UwG-pf=t9TXRY9NLNDU*sO+d?K2m)GQ{=u+#%^_43sWK5hSNP*Ez z8}Uh%c;PUaKbh-t4uJk?!L$a9gsg`(;}C75ax>0wiNZt}^ss~CPEqjB~q4+TRJ z{Zq^o8-%DlT+O2MH4}t-<64TpFQkU?>kV(pHJt^PQrfavbaghcF)`M;q~_+s)~zWg zA!(r$FC$-O5N{TpdOtg6D_thPLIPo2HCL3Z&tkP={`!Z?>21g7>8t8V-q{v{(jJ-BSYjyMAU7ELY``?(paxee@ delta 4638 zcma)932dCz5#G1=+PiCe^RP~0hZ0qZ+qiCoVV*- z99zI42Tc?hRlOl@0HrGBTG6HiDQZOzgrLwi5Pk}U9<-`jRD?iPTSRBxIyRT8Cfe`K zn>TOXym@o{e(C$-pAQLlr^}ULpnsQ-n#T4-o^U%X#(onHio)a>qtB|D57@v0R$#P) z12P~JoZupkn|@i4J(dMIXN1qLna|t60}K9_XWC)r`?stfVVpsgf?Cm4&d3WJ)!2lE`Wz7bzxFWon}rYG`9Q zZM4C1sD%}fJ7$JDSP84hpvAcQP0&oU3bnQd)~drQY36}-Lp-n0Ck}*zbC$nmZS`Hnsk<6+knJnle|8&uTD`@6~ zO=ODj)xl=yo;LVaYOBuIL(hzWUg(=P+$DSsin9f_&KRK|1{ALmP9{$nMgpWg0aZtR6@hAI-5oBg%_Oy z^*k3&6h##=fFX!{NtbaUe9q=xmC1&E$Pq2VK*O=1M!^K5jpXg7(C z&?t9d$AXn2f|Cor?pe><9WtN!%NV+_Bv+DYXLCy|UCh8obMJNWey>UHW5y2b&+8Dk z;+ed270Lv4gX@bdQOVLq>0sqKEK<{AO!_mxi&vV1cEN$djqQ zf*~OW@Ee7t$-TrlmXU~+2PP+F?2snC#L&%gEt-&QuI?rh{E3)<{}haAiEi0M+-+W` z^z*7Ut_5UpTsMY5H&4Yisb{b=1JR>?;$#M=q|~B8p2%L7FPV(_AvU!?toaWG!Xdyl zMKj_YzEP&`Pq zoMbv6XeaMPvA^sV)_U|F@~?x^t$= zNm5Dn=BeCagXIjvtc86w6~c~@n)mzX?PCXiu_czzTEfcH9x=^(L`s#0e4z?_cKQ1* zjs~y!diFkByGg7_IaXXU70jK7$fp>7$PmIEO-rqhF?kS^O{+vkc$0y4ojp72xYQ|G_T@|W@Ax@vI`zP#>|Xv5R%y&IGfD{0MZ zSDi}kV!4MI=8aIz<-5#N2hR16^MfU}K#5XwsD$1Po5yYa}MfQ-9 zv>3#(Dr&yPc%|8fziYW+(W}JMbEp?YLWzW?`MFtg7f{vjlqzoV4GYBg@Wh6*Vm;=! zHi^C1-?~h2DYNLb`$;_8+GxH;6wc)5N*Z@EZ#P31!;K6#G4wGc82TBwpK^z-6m_baA;!*G@16^7Rs`03@F3~!;MtJ;2v zNV_nbu)XUxAyQYm{v*V__{`=C@dCcJxtp5tvhJ$PByUjPRqx{N?w!V$1U}k*yx?78 zzrZod*Cj1R$(-Q5IeF;s`BUW?-lZzq{ENK9Joa|_nP0{6-X*0U(flv0hyQM4JsHAH z|0VO4wr6_(EzaPjzJ)^K)xKKs2Q+S}FaMa9-{WoB>1}FbhHwi0$&U>f?k~iNEpLvh z@@pbVX=bnx9COpB0KHCJt5fBblG#sMlym9fR8ysV3Ner4S9is=uog`Cr51?CqVhvt zU`5xz5$pnI28(TJDKoybb#slnzfdQ#2J;Agp-2bM|IEAXOl2@QxoZ{Ki2R6t*S(Ow zj#1iD6a8<9&iPANd5^k8_S_|;c5q6gs8PAby^Ok^k>%92(>w6=wm?#qwz<+u zF*cMZoH)^6l)8Utm7vJ}<@SPhzMpQ5$;AL08 zHWmn%chQ#t1u3o7Vdlu!T-?dzs