Yeah :D

Thanks! I didn't know I could do it there.

I just found another way (massimo rocks!):

http://mdp.cti.depaul.edu/examples/static/epydoc/gluon.sqlhtml.SQLFORM-class.html

Elcimar Leandro

2009/6/4 HansD <hans.don...@pobox.com>:
>
> Ah... my famous Brazil counterparty :-) I'm from NL.
>
> You should be able to provide a label argurment to the SQLField, like
> SQLFfield("endereco", 'string', 50, label="endereço")
>
> these labels are used within the SQLFORM
>
>
> On 4 jun, 21:13, "Elcimar L. Santos" <elci...@gmail.com> wrote:
>> ...Because I know someone with the same name here in Brazil.
>>
>> Taking a ride in your question, I had a field called "endereco" (means
>> "address") which I want to be displayed as "endereço".
>>
>> I know that DAL wont allow me to rename it because it only allows
>> [0-9a-zA-Z_]table and field names.
>>
>> The solution pointed by David seems too complicated for ones who only
>> needs to change field labels :P
>>
>> Atenciosamente,
>>
>> Elcimar Leandro
>>
>> 2009/6/4 HansD <hans.don...@pobox.com>
>>
>>
>>
>> > why are you asking?
>>
>> > On 4 jun, 20:41, "Elcimar L. Santos" <elci...@gmail.com> wrote:
>> > > Where are you from Hans?
>>
>> > > Atenciosamente,
>>
>> > > Elcimar Leandro
>>
>> > > 2009/6/4 Hans Donner <hans.don...@pobox.com>
>>
>> > > > Yep, forms the base for what I needed.
>>
>> > > > made a small patch to extend it a bit, the patch includes some doc
>> > > > updates as well.
>>
>> > > > This allows for:
>>
>> > > > {{extend 'layout.html'}}
>> > > > Registration form
>>
>> > > > {{lbl=form.custom.label}}
>> > > > {{wid=form.custom.widget}}
>> > > > {{=form.custom.form.start}}
>> > > > <table>
>> > > > <tbody>
>> > > > {{for f in form.fields:}}
>> > > >        {{if step==1:}}<tr>{{pass}}
>> > > >        <td>{{=f}}</td>
>> > > >        <td>{{=lbl[f]}}</td>
>> > > >        <td>{{=wid[f]}}</td>
>> > > >        {{step=step+1}}
>> > > >        {{if step==2:}}</tr>{{step=1}}{{pass}}
>> > > > {{pass}}
>> > > > </tr>
>> > > > </tbody>
>> > > > </table>
>>
>> > > > {{=form.custom.submit}}
>> > > > {{=form.hidden_fields()}}
>> > > > {{=form.custom.form.close}}
>>
>> > > > I've not yet managed to get {{=form.hidden_fields()}} in to
>> > > > {{=form.custom.form.close}}
>>
>> > > > === modified file 'web2py/gluon/sqlhtml.py'
>> > > > --- web2py/gluon/sqlhtml.py     2009-05-31 18:42:23 +0000
>> > > > +++ web2py/gluon/sqlhtml.py     2009-06-04 16:56:52 +0000
>> > > > @@ -2,7 +2,7 @@
>> > > >  # -*- coding: utf-8 -*-
>>
>> > > >  """
>> > > > -This file is part of web2py Web Framework (Copyrighted, 2007)
>> > > > +This file is part of web2py Web Framework (Copyrighted, 2007-2009)
>> > > >  Developed by Massimo Di Pierro <mdipie...@cs.depaul.edu>
>> > > >  License: GPL v2
>> > > >  """
>> > > > @@ -289,13 +289,22 @@
>> > > >         nbsp = XML('&nbsp;') # Firefox2 does not display fields with 
>> > > > blanks
>> > > >         FORM.__init__(self, *[], **attributes)
>> > > >         ofields = fields
>> > > > +
>> > > > +        # if no fields are provided, build it from the provided table
>> > > > +        # will only use writable or readable fields, unless forced to
>> > > > ignore
>> > > >         if fields == None:
>> > > >             fields = [f for f in table.fields if \
>> > > >                       ignore_rw or table[f].writable or 
>> > > > table[f].readable]
>> > > >         self.fields = fields
>> > > > +
>> > > > +        # make sure we have an id
>> > > >         if not 'id' in self.fields:
>> > > >             self.fields.insert(0, 'id')
>> > > > +
>> > > >         self.table = table
>> > > > +
>> > > > +        # try to retrieve the indicated record using its id
>> > > > +        # otherwise ignore it
>> > > >         if record and isinstance(record, (int, long, str, unicode)):
>> > > >             records = table._db(table.id == record).select()
>> > > >             if records:
>> > > > @@ -303,6 +312,7 @@
>> > > >             else:
>> > > >                 record = None
>> > > >         self.record = record
>> > > > +
>> > > >         self.record_id = None
>> > > >         self.trows = {}
>> > > >         xfields = []
>> > > > @@ -311,43 +321,57 @@
>> > > >         self.custom.dspval = Storage()
>> > > >         self.custom.inpval = Storage()
>> > > >         self.custom.label = Storage()
>> > > > +        self.custom.comment = Storage()
>> > > > +        self.custom.widget = Storage()
>> > > > +        self.custom.linkto = Storage()
>> > > > +
>> > > >         for fieldname in self.fields:
>> > > >             if fieldname.find('.') >= 0:
>> > > >                 continue
>> > > >             field = self.table[fieldname]
>> > > > +
>> > > >             if comments:
>> > > >                 comment = col3.get(fieldname, field.comment) or ''
>> > > >             else:
>> > > >                 comment = ''
>> > > > +            self.custom.comment[fieldname] = comment
>> > > > +
>> > > >             if labels != None and fieldname in labels:
>> > > >                 label = labels[fieldname]
>> > > >             else:
>> > > >                 label = str(field.label) + ': '
>> > > >             self.custom.label[fieldname] = label
>> > > > +
>> > > >             field_id = '%s_%s' % (table._tablename, fieldname)
>> > > >             label = LABEL(label, _for=field_id, _id='%s__label' % 
>> > > > field_id)
>> > > >             row_id = field_id + '__row'
>> > > >             if fieldname == 'id':
>> > > >                 self.custom.dspval.id = nbsp
>> > > >                 self.custom.inpval.id = ''
>> > > > +                widget = ''
>> > > >                 if record:
>> > > >                     if showid and 'id' in fields and field.readable:
>> > > >                         v = record['id']
>> > > > +                        widget = SPAN(v, _id=field_id)
>> > > >                         self.custom.dspval.id = str(v)
>> > > > -                        xfields.append(TR(label, SPAN(v, 
>> > > > _id=field_id),
>> > > > +                        xfields.append(TR(label, widget,
>> > > >                                           comment, _id='id__row'))
>> > > >                     self.record_id = str(record['id'])
>> > > > +                self.custom.widget.id = widget
>> > > >                 continue
>> > > > +
>> > > >             if record:
>> > > >                 default = record[fieldname]
>> > > >             else:
>> > > >                 default = field.default
>> > > > +
>> > > >             cond = readonly or \
>> > > >                 (not ignore_rw and not field.writable and 
>> > > > field.readable)
>> > > >             if default and not cond:
>> > > >                 default = field.formatter(default)
>> > > >             dspval = default
>> > > >             inpval = default
>> > > > +
>> > > >             if cond:
>>
>> > > >                 # ## if field.represent is available else
>> > > > @@ -391,11 +415,16 @@
>> > > >                 continue
>> > > >             else:
>> > > >                 inp = self.widgets.string.widget(field, default)
>> > > > +
>> > > >             tr = self.trows[fieldname] = TR(label, inp, comment,
>> > > >                     _id=row_id)
>> > > >             xfields.append(tr)
>> > > >             self.custom.dspval[fieldname] = dspval or nbsp
>> > > >             self.custom.inpval[fieldname] = inpval or ''
>> > > > +            self.custom.widget[fieldname] = inp
>> > > > +
>> > > > +        # if a record is provided and found, as is linkto
>> > > > +        # build a link
>> > > >         if record and linkto:
>> > > >             for (rtable, rfield) in table._referenced_by:
>> > > >                 query = urllib.quote(str(table._db[rtable][rfield]
>> > > > @@ -405,28 +434,47 @@
>> > > >                     continue
>> > > >                 if labels and lname in labels:
>> > > >                     lname = labels[lname]
>> > > > -                xfields.append(TR('', A(lname, _class='reference',
>> > > > +                widget = A(lname, _class='reference',
>> > > >                                   _href='%s/%s?query=%s' % (linkto,
>> > > > -                                  rtable, query)), col3.get(olname, ''
>> > > > +                                  rtable, query))
>> > > > +                xfields.append(TR('', widget, col3.get(olname, ''
>> > > >                                   ), _id='%s__row' % olname.replace('.'
>> > > >                                   , '__')))
>> > > > +                self.custom.linkto[olname.replace('.', '__')] = widget
>> > > > +
>> > > > +        # when deletable, add delete? checkbox
>> > > > +        self.custom.deletable = ''
>> > > >         if record and deletable:
>> > > > +            widget = INPUT(_type='checkbox', _class='delete',
>> > > > +                           _id='delete_record',
>> > > > +                           _name='delete_this_record')
>> > > >             xfields.append(TR(LABEL(delete_label, _for='delete_record',
>> > > > -                           _id='delete_record__label'),
>> > > > -                           INPUT(_type='checkbox', _class='delete',
>> > > > -                           _id='delete_record',
>> > > > -                           _name='delete_this_record'),
>> > > > +                           _id='delete_record__label'), widget,
>> > > >                            col3.get('delete_record', ''),
>> > > >                            _id='delete_record__row'))
>> > > > +            self.custom.deletable = widget
>> > > > +        # when writable, add submit button
>> > > > +        self.custom.submit = ''
>> > > >         if not readonly:
>> > > > -            xfields.append(TR('', INPUT(_type='submit',
>> > > > -                           _value=submit_button),
>> > > > +            widget = INPUT(_type='submit',
>> > > > +                           _value=submit_button)
>> > > > +            xfields.append(TR('', widget,
>> > > >                            col3.get('submit_button', ''),
>> > > >
>>
>> ...
>>
>> meer lezen »
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"web2py Web Framework" group.
To post to this group, send email to web2py@googlegroups.com
To unsubscribe from this group, send email to 
web2py+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/web2py?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to