All pastes #395103 Raw Edit

Miscellany

public text v1 · immutable
·published 2007-03-14 20:14 UTC
rendered paste body
# The entry custom manipulator ...
class EntryManipulator(forms.Manipulator):
    def __init__(self):
        self.fields = (
            forms.CheckboxField(field_name="Val"),
            forms.CheckboxField(field_name="Pat"),
            DojoDatePickerField(field_name="Date", is_required = True, default='1994-01-01'),
.............
# from the web site I pointed you to
class DojoDatePickerField(forms.DateField):
    """ A pretty dojo date picker field """
    def __init__(self, field_name, length=10, maxlength=10, is_required=False, validator_list=None, member_name=None, default=''):
        if validator_list is None: validator_list = []
        self.field_name = field_name
        self.length, self.maxlength = length, maxlength
        self.is_required = is_required
        self.validator_list = [self.isValidDate] + validator_list
        self.default = default
        if member_name != None:
            self.member_name = member_name

    def render(self, data):
    
        maxlength = ''
        if data is None or data == '':
            initdata = 'value="%s" ' % self.default
        else:
            initdata = 'value="%s" ' % data
            
        if self.maxlength is not None:
            maxlength = 'maxlength="%s" ' % self.maxlength
        
        dojojs = '<script type="text/javascript">dojo.require("dojo.widget.DropdownDatePicker");dojo.require("dojo.widget.Button");</script>'

        return dojojs + "\n" + '<input name="%s" id="%s" class="v%s%s" containerToggle="wipe" containerToggleDuration="300" dojoType="dropdowndatepicker" saveFormat="yyyy-MM-dd" displayFormat="yyyy-MM-dd" %slang="en-us" %s/>' % \
               (self.field_name, self.get_id(), self.__class__.__name__, self.is_required and ' required' or '', initdata, maxlength)