From c68734658589e804926899220541edb02c1b4974 Mon Sep 17 00:00:00 2001 From: Ali <010109ali@gmail.com> Date: Fri, 26 Jun 2026 11:10:40 +0000 Subject: [PATCH] feat(purchase): Agricultural Goods on Purchase Order + act_type mandatory Add the agricultural_goods checkbox to Purchase Order and make its act_type / agricultural_country / ygb / line_code respond to it, mirroring Purchase Invoice. act_type is now mandatory when purchase_type or agricultural_goods is set (Purchase Invoice and Purchase Order). The flag carries over to Purchase Invoice via the standard PO->PI mapping (same fieldname). Co-Authored-By: Claude Opus 4.8 (1M context) --- jey_erp/custom_fields.py | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/jey_erp/custom_fields.py b/jey_erp/custom_fields.py index fee9196..6d0020c 100644 --- a/jey_erp/custom_fields.py +++ b/jey_erp/custom_fields.py @@ -449,13 +449,21 @@ def create_custom_fields(): insert_after='taxes_doc', default=0 ), + dict( + fieldname='agricultural_goods', + label='Agricultural Goods', + fieldtype='Check', + insert_after='purchase_type', + default=0 + ), dict( fieldname='act_type', label='Act Type', fieldtype='Select', options='\nPurchase Act\nEQF\nImport', - insert_after='purchase_type', - depends_on='eval:doc.purchase_type' + insert_after='agricultural_goods', + depends_on='eval:doc.purchase_type || doc.agricultural_goods', + mandatory_depends_on='eval:doc.purchase_type || doc.agricultural_goods' ), dict( fieldname='agricultural_country', @@ -463,7 +471,7 @@ def create_custom_fields(): fieldtype='Select', options='\nAruba\nƏfqanıstan\nAnqola\nAngilya\nAlbaniya\nAndorra\nNiderland Antil adaları\nBƏƏ\nArgentina\nErmənistan\nAmerika Samoası\nAntiqua və Barbuda\nAvstraliya\nAvstriya\nBurundi\nBelçika\nBenin\nBurkina-Faso\nBanqladeş\nBolqarıstan\nBəhreyn\nBaham adaları\nBosniya və Herseqovina\nBelarus\nBeliz\nBermud adaları\nBoliviya\nBraziliya\nBarbados\nBruney\nButan\nBotsvana\nMAR\nKanada\nKokos adaları\nİsveçrə\nÇili\nÇin\nKot-d\'ivuar\nKamerun\nKDR\nKonqo Respublikası\nKuk adaları\nKolumbiya\nKomor adaları\nKabo-Verde\nKosta-Rika\nKuba\nMilad adası\nKayman adaları\nKipr\nÇexiya\nAlmaniya\nCibuti\nDominika\nDanimarka\nDominikan Respublikası\nƏlcəzair\nEkvador\nMisir\nEritreya\nQərbi Sahara\nİspaniya\nEstoniya\nEfiopiya\nFinlandiya\nFici\nFoklend adaları\nFransa\nFarer adaları\nMikroneziya\nQabon\nBöyük Britaniya\nGürcüstan\nQana\nCəbəli-Tariq\nQvineya\nQambiya\nQvineya-Bisau\nEkvatorial Qvineya\nYunanıstan\nQrenada\nQrenlandiya\nQvatemala\nQuam\nQayana\nHonkonq\nHonduras\nXorvatiya\nHaiti\nMacarıstan\nindoneziya\nHindistan\nirlandiya\nİran\nİraq\nislandiya\nisrail\nitaliya\nYamayka\nlordaniya\nYaponiya\nQazağıstan\nKeniya\nQırğızıstan\nKamboca\nKiribati\nSent-Kits və Nevis\nCənubi Koreya\nKüveyt\nLaos\nLivan\nLiberiya\nLiviya\nSent-Lüsiya\nLixtenşteyn\nŞri-Lanka\nLesoto\nLitva\nLüksemburq\nLatviya\nMakao\nMərakeş\nMonako\nMoldova\nMadaqaskar\nMaldiv adaları\nMeksika\nMarşall adaları\nMakedoniya\nMali\nMalta\nMyanma\nMonteneqro\nMonqolustan\nŞimali Marian adaları\nMozambik\nMavritaniya\nMontserrat\nMavriki\nMalavi\nMalayziya\nMayotta\nNamibiya\nYeni Kaledoniya\nNiger\nNorfolk adası\nNigeriya\nNikaraqua\nNiue\nNiderland\nNorveç\nNepal\nNauru\nYeni Zelandiya\nOman\nPakistan\nPanama\nPitkern adaları\nPeru\nFilippin\nPalau\nPapua-Yeni Qvineya\nPolşa\nPuerto-Riko\nKXDR\nPortuqaliya\nParaqvay\nFələstin Dövləti\nFransa Polineziyası\nQətər\nRuminiya\nRusiya\nRuanda\nSəudiyyə Ərəbistanı\nSudan\nSeneqal\nSinqapur\nMüqəddəs Yelena, Askenson və Tristan-da-Kunya adaları\nŞpisbergen və Yan-Mayen\nSolomon adaları\nSyerra-Leone\nSalvador\nSan-Marino\nSomali\nSen-Pyer və Mikelon\nSerbiya\nCənubi Sudan\nSan-Tome və Prinsipi\nSurinam\nSlovakiya\nSloeniya\nİsveç\nSvazilend\nSeyşel adaları\nSuriya\nTörks və Kaykos adaları\nÇad\nToqo\nTailand\nTacikistan\nTokelau\nTürkmənistan\nŞərqi Timor\nTonqa\nTrinidad və Tobaqo\nTunis\nTürkiyə\nTuvalu\nÇin Respublikası\nTanzaniya\nUqanda\nUkrayna\nUruqvay\nABŞ\nÖzbəkistan\nVatikan\nSent-Vinsent və Qrenadin\nVenesuela\nBritaniya Virgin adaları\nAmerika Virgin adaları\nVyetnam\nVanuatu\nUollis və Futuna\nSamoa\nYəmən\nCAR\nZambiya\nZimbabve', insert_after='act_type', - depends_on='eval:doc.purchase_type && doc.act_type == "Import"' + depends_on='eval:(doc.purchase_type || doc.agricultural_goods) && doc.act_type == "Import"' ), dict( fieldname='ygb', @@ -471,7 +479,7 @@ def create_custom_fields(): fieldtype='Int', length=12, insert_after='agricultural_country', - depends_on='eval:doc.purchase_type' + depends_on='eval:doc.purchase_type || doc.agricultural_goods' ), dict( fieldname='line_code', @@ -479,7 +487,7 @@ def create_custom_fields(): fieldtype='Select', options='\n310\n311\n314\n316', insert_after='ygb', - depends_on='eval:doc.purchase_type' + depends_on='eval:doc.purchase_type || doc.agricultural_goods' ) ], "Purchase Invoice": [ @@ -511,7 +519,8 @@ def create_custom_fields(): fieldtype='Select', options='\nPurchase Act\nEQF\nImport', insert_after='agricultural_goods', - depends_on='eval:doc.purchase_type || doc.agricultural_goods' + depends_on='eval:doc.purchase_type || doc.agricultural_goods', + mandatory_depends_on='eval:doc.purchase_type || doc.agricultural_goods' ), dict( fieldname='agricultural_country',