%doc> forms.myc - library of HTML form controls. support for form.Form validation objects is included. %doc> <%doc> method: form purpose: displays a
tag pair, inserting content in the middle %doc> <%method form> <%args> name = None action = None %args> %method> <%doc> method: select purpose: displays a tag pair, inserting options in the middle %doc> <%method select> <%args> name = None value = None field = None options = None %args> <%init> if field is not None: if name is None: name = field.displayname if options is None: options = field.options if value is None: value= field.displayvalue %init> <& fieldstatus, field=field &> %method> <%doc> method: text purpose: displays a tag %doc> <%method text trim="both"> <%args> name = None value = None field = None size = None %args> <%init> if field is not None: if name is None: name = field.displayname if value is None: value = field.displayvalue if size is None: size = field.textsize if size is None: size = 50 %init> <& fieldstatus, field=field &> %method> <%doc> method: button purpose: displays a tag %doc> <%method button trim="both"> <%args> value = None onclick = None cssclass = None %args> %method> <%doc> method: submit purpose: displays a tag %doc> <%method submit trim="both"> <%args> value = None onclick = None %args> %method> <%doc> method: datefield purpose: displays a compound date field %doc> <%method datefield> <%args> fieldnames = {'month':'month', 'year':'year', 'day':'day', 'hour':'hour', 'minute':'minute', 'second':'second', 'ampm':'ampm'} fieldvalues = {'month':None, 'year':None, 'day':None, 'hour':None, 'minute':None, 'second':None, 'ampm':None} yearrange = range(2000, 2009) months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'June', 'July', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'] field = None %args> <%init> if field is not None: fieldnames = {} fieldvalues = {} for f in field.elements.values(): fieldnames[f.name] = f.displayname fieldvalues[f.name] = f.displayvalue yearrange = field.yearrange %init> % if fieldnames.has_key('month'): <& SELF:select, name=fieldnames['month'], options = [('', '')] + [(i, months[i - 1]) for i in range(1, 13)], value=fieldvalues['month'] &> % % if fieldnames.has_key('day'): <& SELF:select, name=fieldnames['day'], options = [('', '')] +[(i, i) for i in range(1, 32)], value=fieldvalues['day'] &> % % if fieldnames.has_key('year'): <& SELF:select, name=fieldnames['year'], options = [('', '')] +[(i, i) for i in yearrange], value=fieldvalues['year']&> % % if fieldnames.has_key('hour'): % if fieldnames.has_key('ampm'): <& SELF:select, name=fieldnames['hour'], options = [('', '')] +[(i, i) for i in range(1, 12)], value=fieldvalues['hour']&> % else: <& SELF:select, name=fieldnames['hour'], options = [('', '')] +[(i, i) for i in range(0, 24)], value=fieldvalues['hour']&> % % % if fieldnames.has_key('minute'): <& SELF:select, name=fieldnames['minute'], options = [('', '')] + [(i, i) for i in range(0, 59)], value=fieldvalues['minute'] &> % % if fieldnames.has_key('second'): <& SELF:select, name=fieldnames['second'], options = [('', '')] + [(i, i) for i in range(0, 59)], value=fieldvalues['second'] &> % % if fieldnames.has_key('ampm'): <& SELF:select, name=fieldnames['ampm'], options = [('', '')] + [('am', 'am'), ('pm','pm')], value=fieldvalues['ampm'] &> % %method> <%doc> method: fieldstatus purpose: displays a blue or red asterisk, given a form.FormField object %doc> <%method fieldstatus trim="both"> <%args> field = None %args> <%init>if field is None:return%init> % if field.is_valid() is False: * % elif field.required: * % %method> <%doc> method: formstatus purpose: displays a list of invalid fields, given a form.Form object %doc> <%method formstatus> <%args> form %args> <%init>if form.is_valid(): return%init>