Changeset 12343 for main/waeup.ikoba/trunk/src/waeup/ikoba/products
- Timestamp:
- 30 Dec 2014, 12:52:40 (10 years ago)
- Location:
- main/waeup.ikoba/trunk/src/waeup/ikoba/products
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
main/waeup.ikoba/trunk/src/waeup/ikoba/products/productoptions.py
r12331 r12343 16 16 ## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 17 17 ## 18 """Components representing and aggregating product options.18 """Components with interfaces representing and aggregating product options. 19 19 """ 20 20 import grok 21 21 from decimal import Decimal 22 from zope import schema 23 from zope.schema.interfaces import IObject 24 from zope.interface import Attribute, Interface 22 25 from zope.formlib.interfaces import IInputWidget, IDisplayWidget 23 26 from zope.publisher.interfaces.browser import IBrowserRequest 24 27 from zope.schema.fieldproperty import FieldProperty 25 28 from zope.schema import Object 26 from waeup.ikoba.interfaces import IProductOption, IProductOptionField 29 from waeup.ikoba.interfaces import SimpleIkobaVocabulary 30 from waeup.ikoba.interfaces import MessageFactory as _ 27 31 from waeup.ikoba.widgets.objectwidget import ( 28 32 IkobaObjectWidget, IkobaObjectDisplayWidget 29 33 ) 34 from waeup.ikoba.payments.currencies import ISO_4217_CURRENCIES_VOCAB as currencies 35 36 #currencies = SimpleIkobaVocabulary( 37 # (_('NGN'),'NGN'), 38 # (_('USD'),'USD'), 39 # (_('EUR'),'EUR'), 40 # ) 41 42 class IProductOption(Interface): 43 """A product option entry. 44 45 """ 46 title = schema.TextLine( 47 title = _(u'Title'), 48 required = True, 49 ) 50 fee = schema.Decimal( 51 title = _(u'Fee'), 52 required = False, 53 ) 54 currency = schema.Choice( 55 title = _(u'Currency'), 56 vocabulary = currencies, 57 required = False, 58 ) 59 60 class IProductOptionField(IObject): 61 """A zope.schema-like field for usage in interfaces. 62 63 Marker interface to distuingish product options from ordinary 64 object fields. Needed for registration of widgets. 65 """ 30 66 31 67 class ProductOption(grok.Model): -
main/waeup.ikoba/trunk/src/waeup/ikoba/products/tests/test_productoptions.py
r12342 r12343 5 5 from zope.interface.verify import verifyObject, verifyClass 6 6 from zope.schema.interfaces import ConstraintNotSatisfied, WrongType 7 from waeup.ikoba.interfaces import IProductOption, IProductOptionField, IIkobaUtils 8 from waeup.ikoba.products.productoptions import ProductOption, ProductOptionField 7 from waeup.ikoba.interfaces import IIkobaUtils 8 from waeup.ikoba.products.productoptions import ( 9 IProductOption, IProductOptionField, ProductOption, ProductOptionField) 9 10 from waeup.ikoba.utils.utils import IkobaUtils 10 11
Note: See TracChangeset for help on using the changeset viewer.