Example #1
0
 def selection_html(self, selections, context):
     result = []
     id = 0
     for value, desc in selections:
         id = id + 1
         result.append(html.input(
             type='checkbox',
             name=context.name(self),
             id="%s_%i" % (context.name(self), id),
             value=value,
             checked=self.selected(value, context.default(self))
             and "checked" or None))
         result.append(html.label(
             " " + str(desc),
             for_="%s_%i" % (context.name(self), id)))
         result.append(html.br())
     return result
Example #2
0
 def selection_html(self, selections, context):
     id = 0
     result = []
     for value, desc in selections:
         id = id + 1
         if self.selected(value, context.default(self)):
             checked = 'checked'
         else:
             checked = None
         result.append(html.input(
             type='radio',
             name=context.name(self),
             value=value,
             id="%s_%i" % (context.name(self), id),
             checked=checked))
         result.append(html.label(
             for_='%s_%i' % (context.name(self), id),
             c=desc))
         result.append(html.br())
     return result
Example #3
0
    def selection_html(self, selections, context):
        size = len(selections)
        
        if context.default(self):
            new_selections = []
            for default_value in context.default(self):
                for value, desc in selections:
                    if str(value) == str(default_value):
                        new_selections.append((value, desc))
                        break
            assert len(new_selections) == len(selections), (
                "Defaults don't match up with the cardinality of the "
                "selections")
            selections = new_selections

        encoded_value = ''
        for key, value in selections:
            encoded_value = encoded_value + urllib.quote(str(key)) + " "

        result = []
        result.append(
            html.select(
            name=context.name(self, adding='func'),
            size=size,
            c=[html.option(desc, value=value)
               for value, desc in selections]))
        result.append(html.br())
        for name, action in self.buttons(context):
            result.append(html.input(
                type='button',
                value=name,
                onclick=action))
        result.append(html.input(
            type='hidden',
            name=context.name(self),
            value=encoded_value))
        result.append(html.script(
            type='text/javascript',
            c=self.javascript(context)))
        return result