Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # The COPYRIGHT file at the top level of this repository contains the full
- # copyright notices and license terms.
- from trytond.model import fields
- from trytond.pool import PoolMeta
- from trytond.pyson import Eval, In
- from trytond.modules.product import price_digits
- __all__ = ['SaleOpportunity', 'SaleOpportunityLine']
- _STATES_STOP = {
- 'readonly': In(Eval('state'), ['converted', 'won', 'lost', 'cancelled']),
- }
- _DEPENDS_STOP = ['state']
- class SaleOpportunity(metaclass=PoolMeta):
- __name__ = "sale.opportunity"
- customer_comment = fields.Char('Customer Comment', states=_STATES_STOP,
- depends=_DEPENDS_STOP)
- payment_term_comment = fields.Char('Payment Term Comment',
- states=_STATES_STOP, depends=_DEPENDS_STOP)
- class SaleOpportunityLine(metaclass=PoolMeta):
- __name__ = "sale.opportunity.line"
- customer_comment = fields.Char('Customer Comment',
- states={
- 'readonly': ~Eval('opportunity_state').in_(['lead', 'opportunity'])
- }, depends=['opportunity_state'])
- lead_time = fields.Char('Lead Time',
- states={
- 'readonly': ~Eval('opportunity_state').in_(['lead', 'opportunity'])
- }, depends=['opportunity_state'], help='Time needed to supply')
- validity_period = fields.Char('Validity Period',
- states={
- 'readonly': ~Eval('opportunity_state').in_(['lead', 'opportunity'])
- }, depends=['opportunity_state'])
- sale_price = fields.Numeric('Sale Price', digits=price_digits,
- states={
- 'readonly': ~Eval('opportunity_state').in_(['lead', 'opportunity'])
- }, depends=['opportunity_state'])
- currency = fields.Function(fields.Many2One('currency.currency',
- 'Currency'), 'on_change_with_currency')
- @classmethod
- def __setup__(cls):
- super(SaleOpportunityLine, cls).__setup__()
- clause = ('salable', '=', True)
- if clause in cls.product.domain:
- cls.product.domain.remove(clause)
- @fields.depends('opportunity', '_parent_opportunity.currency')
- def on_change_with_currency(self, name=None):
- if self.opportunity:
- return self.opportunity.currency.id
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement