I thought it was included unless I got confused with a different
patch. Please ask him to resend.

On Jul 27, 3:21 am, Mathieu Clabaut <mathieu.clab...@gmail.com> wrote:
> Hi Massimo,
>
>  A colleague of mine tell me he sent you a patch to include a horizontal
> radio buttons in gluon (similar to the existing horizontal checkboxes).
>  Has the patch a chance to make its way to the trunk ?
>
> Best regards,
>
> -Mathieu
>
> On Tue, Jul 27, 2010 at 10:15, Alastair Medford
> <alastairmedf...@gmail.com>wrote:
>
> > I was wanting to have horizontal radio buttons in my forms, so I set
> > about making my own widget. The widget works well, except for one odd
> > behavior. When I load the form, the first radio button is selected as
> > desired. But after the form submits, page refreshes etc, the last
> > radio buttons in the list are selected. IE, rather than defaulting to
> > the first element selected as it did the first time, it defaults to
> > the last. As this form will be submitted many times in a row, and the
> > first option is the most often used, this proves to be a bit of a
> > pain. I've tried this in multiple browsers to the same effect, so I'm
> > pretty sure it's happening due to how the code is written. But I'm not
> > really sure where this behavior is written. Anyone have any ideas?
>
> > The code for my modified widget is below:
>
> > class RadioWidget_Horizontal(OptionsWidget):
>
> >   �...@staticmethod
> >    def widget(field, value, **attributes):
> >        """
> >        generates an unordered list of radio buttons, which has
> >        a css class radio_list so it can be styled inline.
>
> >        see also: :meth:`FormWidget.widget`
> >        """
>
> >        attr = OptionsWidget._attributes(field, {}, **attributes)
> >        attr['_class'] = attr['_class'] + " radio_list"
>
> >        if hasattr(field.requires, 'options'):
> >            options = field.requires.options()
> >        else:
> >            raise SyntaxError, 'widget cannot determine options of %s'
> > % field
> >        opts = [LI(INPUT(_type='radio', _name=field.name,
> >                         requires=attr.get('requires',None),
> >                         hideerror=True, _value=k,
> >                         value=value), v) for (k, v) in options if
> > str(v)]
> >        if opts:
> >            opts[-1][0]['hideerror'] = False
> >            opts[0][0]['_checked'] = "checked"
> >        return UL(*opts, **attr)

Reply via email to