Ignore:
Timestamp:
9 Mar 2015, 01:51:12 (10 years ago)
Author:
uli
Message:

Add adapter to turn IContract into IPayer

File:
1 edited

Legend:

Unmodified
Added
Removed
  • main/waeup.ikoba/branches/uli-payments/src/waeup/ikoba/customers/contracts.py

    r12683 r12697  
    3232    IContractSelectProduct, ICustomersUtils, ISampleContract,
    3333    ISampleContractProcess, ISampleContractEdit, ISampleContractOfficialUse)
    34 from waeup.ikoba.payments.interfaces import IPaymentItem
     34from waeup.ikoba.payments.interfaces import IPayer
    3535from waeup.ikoba.payments.payment import PaymentItem
    3636from waeup.ikoba.utils.helpers import attrs_to_fields
     
    7171        result.append(item)
    7272    return result
     73
     74
     75class ContractPayer(grok.Adapter):
     76    """Adapter to turn contracts into IPayers.
     77    """
     78    grok.implements(IPayer)
     79    grok.context(IContract)
     80
     81    def __init__(self, context):
     82        self.context = context
     83
     84    @property
     85    def _customer(self):
     86        # XXX: contracts have no `customer` in interface.
     87        return self.context.customer
     88
     89    @property
     90    def first_name(self):
     91        return getattr(self._customer, 'firstname', None)
     92
     93    @property
     94    def last_name(self):
     95        return getattr(self._customer, 'lastname', None)
     96
     97    @property
     98    def payer_id(self):
     99        return getattr(self._customer, 'customer_id', None)
    73100
    74101
Note: See TracChangeset for help on using the changeset viewer.