1. Thanks for your suggestions. I will try them.

2. The template calls Root.addItem which redirects to localhost and
fails.
I assume that the cause is common with #1 since it is a redirect in
both cases.

Bogdan

Ian Wilson wrote:
I don't know why its broken but here are two things to try if you have
not already:

1.Inherit from the turbogears Controller class(Not RootController).

from turbogears.controllers import Controller
class Members(Controller):
    ...

2.Use the turbogears redirect function instead of using cherrpy directly.
from turbogears import redirect

def addItem(...)
    ...
    redirect('/users/%s' % memberID)


I don't quite understand the template issue?  What is wrong there?
You mean posting from the form and going to addItem does not work.. or
after addItem is done the redirect goes to localhost, ie. fails ?

-Ian


On 1/1/07, Bogdan Hlevca <[EMAIL PROTECTED]> wrote:
>
> Hi,
>
> I have a problem with my site with some URL redirections:
>
> 1. For subobjects
> 2. From templates
>
> --------------------------------------------------------------------
> For
> #1. assume that in contollers.py we have
>
> class Members:
>     @turbogears.expose(html="hlevca.templates.users")
>     def index(self):
>         users = model.Member.select()
>         return dict(users=users)
>
>     @turbogears.expose(html="hlevca.templates.user")
>     def default(self, memberID):
>         try:
>             memberID = int(memberID)
>             member = model.Member.get(memberID)
>         except (ValueError, model.SQLObjectNotFound):
>             raise cherrypy.NotFound
>         else:
>             return dict(member=member)
>        ...
>
> class Root(controllers.RootController):
>
>     users = Members()
>     ...
>
> If  I type in browser  www.mysite.org:8082/users  it gets redirected to
> localhost:8082/users/ and I get an error since I am not working on the
> local machine, but if I type directly www.mysite.org:8082/users/ it
> goes to the right page.
>
> Is this a bug, or is my configuration bad?
>
> #2. I have a similar issue from templates
>
> in user.kid I have a form
>
>  <form id="addItem" action="/addItem" method="POST">
>             <input type="hidden" name="memberID" value="${member.id}"/>
>             <input type="hidden" id="listID" name="listID"
> value="${memberList.id}"/>
>             <label>Add Item: <input type="text" name="value"/></label>
>             <input type="submit" value="Add"/>
> </form>
>
> while in the Root class in controllers.py I have:
>
>     @turbogears.expose(template="hlevca.templates.users")
>     def addItem(self, memberID, listID, value):
>         try:
>             listID = int(listID)
>             l = model.List.get(listID)
>         except ValueError:
>             turbogears.flash("Invalid list!")
>         except model.SQLObjectNotFound:
>             turbogears.flash("List not found! (Did someone else remove
> it?)")
>         else:
>             # Remove extra spaces
>             value = value.strip()
>             # Remove null bytes (they can seriously screw up the
> database)
>             value = value.replace('\x00', '')
>             if value:
>                 item = model.Item(listID=listID, value=value)
>                 turbogears.flash("Item added!")
>             else:
>                 turbogears.flash("Item must be non-empty!")
>         raise cherrypy.HTTPRedirect('/users/%s' % memberID)
>
> This again seems a problem with redirection. Can someone tell me
> whether this is a misconfiguration on my side, or a bug (perhaps in
> Cherrypy redirect)?
>
> Thanks,
> Bogdan
>
>
> >
>


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"TurboGears" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/turbogears?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to