Changeset 8166


Ignore:
Timestamp:
15 Apr 2012, 17:51:13 (13 years ago)
Author:
uli
Message:

Rollback r8158.

Location:
main/waeup.kofa/trunk/src/waeup/kofa
Files:
2 deleted
4 edited

Legend:

Unmodified
Added
Removed
  • main/waeup.kofa/trunk/src/waeup/kofa/schema/field.py

    r8158 r8166  
    1919"""
    2020from zope.interface import implements
    21 from zope.schema import TextLine, Date, Datetime
     21from zope.schema import TextLine, Date
    2222from zope.schema.interfaces import (
    2323    ITextLine, IBaseVocabulary, ISource, IContextSourceBinder, InvalidValue,)
    2424from zope.schema.vocabulary import (
    2525    SimpleVocabulary, getVocabularyRegistry, VocabularyRegistryError)
    26 from waeup.kofa.schema.interfaces import IFormattedDate, IFormattedDatetime
     26from waeup.kofa.schema.interfaces import IFormattedDate
    2727
    2828class CustomizableErrorMsg(object):
     
    153153        self.show_year = show_year
    154154        return super(FormattedDate, self).__init__(*args, **kw)
    155 
    156 class FormattedDatetime(Datetime):
    157     """A datetime field that supports additional formatting attributes.
    158 
    159     Stores extra attributes (see below). To make use of these
    160     attributes in forms, you have to provide widgets that read them
    161     and use them in their operations, for instance the
    162     `waeup.kofa.widgets.datewidget.FormattedDatetimeWidget`.
    163 
    164     Extra attributes are as follows:
    165 
    166     `date_format`
    167       additional attribute to describe desired date format. Must be a
    168       string that can be fed to strftime/strptime functions. By
    169       default `None`.
    170 
    171     `show_time`
    172       boolean indicating whether also time should be displayed when
    173       rendering the value of this field. This should usually be
    174       `True`, so it's also the default.
    175     """
    176     implements(IFormattedDatetime)
    177     date_format = None
    178     show_time = True
    179     def __init__(self, date_format=None, show_time=True, *args, **kw):
    180         self.date_format = date_format
    181         self.show_time = show_time
    182         return super(FormattedDatetime, self).__init__(*args, **kw)
  • main/waeup.kofa/trunk/src/waeup/kofa/schema/interfaces.py

    r8158 r8166  
    1717##
    1818from zope import schema
    19 from zope.schema.interfaces import IDate, IDatetime
     19from zope.schema.interfaces import IDate
    2020
    2121class IFormattedDate(IDate):
     
    3737        default = '%Y-%m-%d',
    3838        )
    39 
    40 class IFormattedDatetime(IDatetime):
    41     """A formatted datetime.
    42 
    43     Basically a zope.schema.IDatetime, but with optional additional
    44     attributes. These attributes _can_ be used by widgets to change
    45     the way of editing or displaying a date.
    46 
    47     The waeup.kofa.widgets.datetimewidget.FormattedDatetimeWidget is a
    48     widget that supports these additional attributes.
    49     """
    50     show_time = schema.Bool(
    51         title = u'Show time when displaying this date?',
    52         default = True,
    53         )
    54     date_format = schema.ASCII(
    55         title = u'A date format string suitable for use with strftime.',
    56         default = '%Y-%m-%d %H:%M:%S',
    57         )
  • main/waeup.kofa/trunk/src/waeup/kofa/schema/tests/test_fields.py

    r8158 r8166  
    33import unittest
    44from zope.interface.verify import verifyClass, verifyObject
    5 from zope.schema.interfaces import IDate, IDatetime
    6 from waeup.kofa.schema import FormattedDate, FormattedDatetime
    7 from waeup.kofa.schema.interfaces import IFormattedDate, IFormattedDatetime
     5from zope.schema.interfaces import IDate
     6from waeup.kofa.schema import FormattedDate
     7from waeup.kofa.schema.interfaces import IFormattedDate
    88
    99class FormattedDateTests(unittest.TestCase):
     
    3232        self.assertEqual(obj.date_format, '%d.%m.%Y')
    3333        return
    34 
    35 class FormattedDatetimeTests(unittest.TestCase):
    36     # Tests for FormattedDatetime field.
    37 
    38     def test_iface(self):
    39         # make sure we fullfill interface contracts
    40         obj = FormattedDatetime()
    41         verifyClass(IDatetime, FormattedDatetime)
    42         verifyClass(IFormattedDatetime, FormattedDatetime)
    43         verifyObject(IDatetime, obj)
    44         verifyObject(IFormattedDatetime, obj)
    45         return
    46 
    47     def test_defaults(self):
    48         # we get expected default values for datetimes.
    49         obj = FormattedDatetime()
    50         self.assertEqual(obj.show_time, True)
    51         self.assertEqual(obj.date_format, None)
    52         return
    53 
    54     def test_attribs(self):
    55         # we can set the promised attributes.
    56         obj = FormattedDatetime(show_time=False,
    57                                 date_format='%d.%m.%Y %H:%M:%S Uhr')
    58         self.assertEqual(obj.show_time, False)
    59         self.assertEqual(obj.date_format, '%d.%m.%Y %H:%M:%S Uhr')
    60         return
  • main/waeup.kofa/trunk/src/waeup/kofa/widgets/overrides.zcml

    r8158 r8166  
    2525      />
    2626
    27   <adapter
    28       for="waeup.kofa.schema.interfaces.IFormattedDatetime
    29            zope.publisher.interfaces.browser.IBrowserRequest"
    30       provides="zope.formlib.interfaces.ISimpleInputWidget"
    31       factory="waeup.kofa.widgets.datetimewidget.DatetimeLEWidget"
    32       permission="zope.Public"
    33       />
    34 
    35   <adapter
    36       for="waeup.kofa.schema.interfaces.IFormattedDatetime
    37            zope.publisher.interfaces.browser.IBrowserRequest"
    38       provides="zope.formlib.interfaces.IDisplayWidget"
    39       factory="waeup.kofa.widgets.datetimewidget.DatetimeLEDisplayWidget"
    40       permission="zope.Public"
    41       />
    42 
    4327</configure>
Note: See TracChangeset for help on using the changeset viewer.