Now sure I fully understand the pproblem but your first controller/
view should probably be:

# controller
def index():
    rows = db(db.domains.created_by==auth.user_id).select()
    return dict(rows=rows)

# view
{{extend 'layout.html'}}
<h1>Manage your domain names</h1>
<ul>{{for row in rows:}}
     {{=LI(A(row.title, _href=URL('domain_show', args=row.id)))}}
{{pass}}</ul>
[ {{=A('create domain', _href=URL('domain_add'))}} ]

So add search add your own form = SQLFORM.factory(Field('key')) and
use the value to do db.domains.title.like(form.vars.key)

On Oct 23, 2:23 am, Jimmy Stewpot <mail...@oranged.to> wrote:
> Hello,
>
> I am new to web2py. I just started a new app to become more familiar
> with the technology. So far I have the following.
>
> # controller
> def index():
>     form, rows = crud.select(db.domains,
> query=(db.domains.created_by==auth.user_id))
>     return dict(rows=rows)
>
> # view
> {{extend 'layout.html'}}
> <h1>Manage your domain names</h1>
> [ {{=A('search', _href=URL('search'))}} ]<br />
> {{response.write(rows)}}
> <ul>{{for name in rows:}}
>      {{=LI(A(name[1], _href=URL('domain_show', args=name[4])))}}
> {{pass}}</ul>
> [ {{=A('create domain', _href=URL('domain_add'))}} ]
>
> The problem is that it dynamically generates the args=name[4] as <td>
> name[4] </td>. in the browser.
>
> I've been so far unable to find any tidy was so that I can only show
> the domains for the particular user and pass those variables around to
> show, edit, delete etc.
>
> As an example here is what I have in my domain_show controller
>
> @auth.requires_login()
> def domain_show():
>      "shows a domain name"
>      domain_name = db.domains(request.args(0),created_by=auth.user_id)
> or redirect(URL('index'))
>      db.domains.id.default = domain_name.id
>      form = crud.create(db.domains) if auth.user else None
>      return dict(domain_name=domain_name, form=form)
>
> and the view
>
> {{extend 'layout.html'}}
> <h1>{{=domain_name.name}}</h1>
> {{=form}}
>
> I would love to know if there is a better way to do this stuff. Any
> advice would be really appreciated.
>
> Regards,
>
> Jimmy.

Reply via email to