Example #1
0
 def setUp(self):
     from Products.Archetypes.Widget import DateWidget
     self.request = TestRequest(environ={'HTTP_ACCEPT_LANGUAGE': 'en'})
     self.context = Mock()
     self.field = Mock()
     self.field.getAccessor.return_value = lambda: u''
     self.field.getName.return_value = 'fieldname'
     self.widget = DateWidget()
Example #2
0
class DateWidgetTests(unittest.TestCase):

    def setUp(self):
        from Products.Archetypes.Widget import DateWidget
        self.request = TestRequest(environ={'HTTP_ACCEPT_LANGUAGE': 'en'})
        self.context = Mock()
        self.field = Mock()
        self.field.getAccessor.return_value = lambda: u''
        self.field.getName.return_value = 'fieldname'
        self.widget = DateWidget()

    def test_widget(self):
        current_year = datetime.today().year
        self.assertEqual(
            {
                'pattern': 'pickadate',
                'value': u'',
                'name': 'fieldname',
                'pattern_options': {
                    'date': {
                        'firstDay': 0,
                        'min': [current_year - 100, 1, 1],
                        'max': [current_year + 20, 1, 1],
                        'clear': u'Clear',
                        'format': 'mmmm d, yyyy',
                        'monthsFull': [u'January', u'February', u'March',
                                       u'April', u'May', u'June', u'July',
                                       u'August', u'September', u'October',
                                       u'November', u'December'],
                        'weekdaysShort': [u'Sun', u'Mon', u'Tue', u'Wed',
                                          u'Thu', u'Fri', u'Sat'],
                        'weekdaysFull': [u'Sunday', u'Monday', u'Tuesday',
                                         u'Wednesday', u'Thursday', u'Friday',
                                         u'Saturday'],
                        'today': u'Today',
                        'selectYears': 200,
                        'placeholder': u'Enter date...',
                        'monthsShort': [u'Jan', u'Feb', u'Mar', u'Apr', u'May',
                                        u'Jun', u'Jul', u'Aug', u'Sep', u'Oct',
                                        u'Nov', u'Dec']
                    },
                    'time': False
                }
            },
            self.widget._base_args(self.context, self.field, self.request),
        )

    def test_process_form(self):
        form = {
            'fieldname': '2011-11-22',
        }
        self.assertEqual(
            self.widget.process_form(
                self.context, self.field, form)[0].asdatetime(),
            (datetime(2011, 11, 22))
        )
Example #3
0
    def setFgShowHM(self, value, **kw):
        """ set show_hm """
        if not type(value) == BooleanType:
            value = value == '1'
        old_widget = self.fgField.widget
        if not value:
            # BBB: changing patters options is not working so we re-init the
            # inner widget
            self.fgField.widget = DateWidget()
            self.fgField.widget._properties['pattern_options']['time'] = value
            self.fgField.widget.pattern_options['time'] = value
        else:
            self.fgField.widget = DatetimeWidget()
            try:
                del self.fgField.widget.pattern_options['time']
                del self.fgField.widget._properties['pattern_options']['time']
            except KeyError:
                pass

        # Copy data from the old widget
        for attr in ('label', 'description'):
            setattr(self.fgField.widget, attr, getattr(old_widget, attr))

        self.fgField.widget.show_hm = value
        self.fgShowHM = value
 def setUp(self):
     from Products.Archetypes.Widget import DateWidget
     self.request = TestRequest(environ={'HTTP_ACCEPT_LANGUAGE': 'en'})
     self.context = Mock()
     self.field = Mock()
     self.field.getAccessor.return_value = lambda: u''
     self.field.getName.return_value = 'fieldname'
     self.widget = DateWidget()