diff --git a/modules/purchase/purchase.py b/modules/purchase/purchase.py index a828a2b..420423a 100755 --- a/modules/purchase/purchase.py +++ b/modules/purchase/purchase.py @@ -89,14 +89,14 @@ class Purchase( number = fields.Char("Number", readonly=True) reference = fields.Char("Reference") description = fields.Char('Description', size=None, states=_states) - purchase_date = fields.Date('Purchase Date', + purchase_date = fields.Date('Purchase Date', required=True, states={ 'readonly': ~Eval('state').in_(['draft', 'quotation']), 'required': ~Eval('state').in_( ['draft', 'quotation', 'cancelled']), }) payment_term = fields.Many2One( - 'account.invoice.payment_term', "Payment Term", ondelete='RESTRICT', + 'account.invoice.payment_term', "Payment Term", required=True, ondelete='RESTRICT', states={ 'readonly': ~Eval('state').in_(['draft', 'quotation']), }) @@ -389,6 +389,11 @@ class Purchase( def default_state(): return 'draft' + @classmethod + def default_purchase_date(cls): + Date = Pool().get('ir.date') + return Date.today() + @classmethod def default_currency(cls, **pattern): pool = Pool() diff --git a/modules/purchase_trade/purchase.py b/modules/purchase_trade/purchase.py index 18f2510..9bff4d1 100755 --- a/modules/purchase_trade/purchase.py +++ b/modules/purchase_trade/purchase.py @@ -254,17 +254,17 @@ class Purchase(metaclass=PoolMeta): __name__ = 'purchase.purchase' btb = fields.Many2One('back.to.back',"Back to back") - from_location = fields.Many2One('stock.location', 'From location',domain=[('type', "!=", 'customer')]) - to_location = fields.Many2One('stock.location', 'To location',domain=[('type', "!=", 'supplier')]) + from_location = fields.Many2One('stock.location', 'From location', required=True,domain=[('type', "!=", 'customer')]) + to_location = fields.Many2One('stock.location', 'To location', required=True,domain=[('type', "!=", 'supplier')]) shipment_in = fields.Many2One('stock.shipment.in','Purchases') broker = fields.Many2One('party.party',"Broker",domain=[('categories.parent', 'child_of', [4])]) - tol_min = fields.Numeric("Tol - in %") - tol_max = fields.Numeric("Tol + in %") + tol_min = fields.Numeric("Tol - in %", required=True) + tol_max = fields.Numeric("Tol + in %", required=True) tol_min_qt = fields.Numeric("Tol -") tol_max_qt = fields.Numeric("Tol +") - certif = fields.Many2One('purchase.certification',"Certification",states={'invisible': Eval('company_visible'),}) - wb = fields.Many2One('purchase.weight.basis',"Weight basis") - association = fields.Many2One('purchase.association',"Association",states={'invisible': Eval('company_visible'),}) + certif = fields.Many2One('purchase.certification',"Certification", required=True,states={'invisible': Eval('company_visible'),}) + wb = fields.Many2One('purchase.weight.basis',"Weight basis", required=True) + association = fields.Many2One('purchase.association',"Association", required=True,states={'invisible': Eval('company_visible'),}) crop = fields.Many2One('purchase.crop',"Crop",states={'invisible': Eval('company_visible'),}) pnl = fields.One2Many('valuation.valuation.dyn', 'r_purchase', 'Pnl',states={'invisible': ~Eval('group_pnl'),}) pnl_ = fields.One2Many('valuation.valuation.line', 'purchase', 'Pnl',states={'invisible': Eval('group_pnl'),}) @@ -293,6 +293,35 @@ class Purchase(metaclass=PoolMeta): def get_company_info(self,name): return (self.company.party.name == 'MELYA') + @classmethod + def default_wb(cls): + WB = Pool().get('purchase.weight.basis') + wb = WB.search(['id','>',0]) + if wb: + return wb[0] + + @classmethod + def default_certif(cls): + Certification = Pool().get('purchase.certification') + certification = Certification.search(['id','>',0]) + if certification: + return certification[0] + + @classmethod + def default_certif(cls): + Association = Pool().get('purchase.association') + association = Association.search(['id','>',0]) + if association: + return association[0] + + @classmethod + def default_tol_min(cls): + return 0 + + @classmethod + def default_tol_max(cls): + return 0 + @property def report_terms(self): if self.lines: