add IAddress (from cybertools.organize) with additional fields

git-svn-id: svn://svn.cy55.de/Zope3/src/cybertools/trunk@2949 fd906abe-77d9-0310-91a1-e0d9ade77398
This commit is contained in:
helmutm 2008-10-28 15:43:08 +00:00
parent 8c9326149e
commit a37c582dea
2 changed files with 27 additions and 2 deletions

View file

@ -25,7 +25,7 @@ $Id$
from zope.interface import implements, Interface
from cybertools.commerce.common import RelationSet
from cybertools.commerce.interfaces import ICustomer
from cybertools.commerce.interfaces import ICustomer, IAddress
class Customer(object):
@ -39,3 +39,9 @@ class Customer(object):
self.title = title or u'unknown'
self.client = client
self.shops = self.collection(self, 'customers')
class Address(object):
implements(IAddress)

View file

@ -26,8 +26,9 @@ from zope import schema
from zope.schema.vocabulary import SimpleVocabulary, SimpleTerm
from zope.interface import Interface, Attribute
from zope.i18nmessageid import MessageFactory
from loops import util
from cybertools.util.jeep import Jeep, Term
from cybertools.organize.interfaces import IAddress
from loops import util
_ = MessageFactory('cybertools.commerce')
@ -237,6 +238,24 @@ class ICustomer(Interface):
client = Attribute(u'An optional (real) client object of the customer role.')
addressTypesVoc = util.KeywordVocabulary((
('standard', _(u'Standard Address')),
('invoice', _(u'Invoice Address')),
('shipping', _(u'Shipping Address')),
('defaultShipping', _(u'Default Shipping Address')),
))
class IAddress(IAddress):
addressType = schema.Choice(
title=_(u'Address Type'),
description=_(u'Address type.'),
source=addressTypesVoc,
default='standard',
required=False)
# orders
class IOrder(Interface):