Use 
auth.user_id
instead.

def index():
   if auth.is_logged_in():
       redirect(URL('profile', 'member',args=auth.user_id))



On Wednesday, November 21, 2012 12:24:17 PM UTC+8, Don_X wrote:
>
> In an app where users have their own profile page !
> Once a user gets logged in with their credentials .. they get redirected 
> to their own profile page with all of their edit functions and preferences 
> etc ...  ... OK ! all was good so far ... BUT
>
> when the user is browsing through the app, I want that same user to be 
> able to view other users' profile pages... if he wants to . !
>  so I am tweaking my previous function to do that without having to 
> replicate the same profile page so the logged in user can view  other 
> users'profile page !
>
> so I have a setup similar to this now :
>
> the user gets logged in and that user gets redirected to 
> ('profile','index')  i.e. ( controller, function )
> in the profile.py controller,   I  have set up a new function index is as 
> follows :
> def index():
>    redirect(URL('profile', 'member',args=' '))
>
> Where the args, which is empty by default at first, would be the user's id 
> !
>
> ( that way : all links to other user's profile would be written like : 
> {{=URL('profile','member',args=auth_user.id <http://auth_user.id>)}} on 
> any given page for any given user listed with their respective ids  on the 
> site )
>
> now, I am having some trouble with the member function
> basically, I want this member function to do the following :
>
> if the logged in user id  is the same as args  then return the logged in 
> user  row ( member )
> if not then return the row of the user id equal to args (member)  from the 
> database
>
> and obviously, in the profile page itself, I will do validation such as if 
> member == to loggged in user then they can edit, do stuff they can do on 
> their own profile etc ...  and if not ... then they cannot edit that other 
> user's profile's etc ...
>
>  you get the idea ! so : ... I am not sure if my logic is fine through 
> these lines of python code for that member function :
>
> def member():
>     response.view = 'profile/index.html'
>     member = session.get("auth",{})
>     if member.id == auth_user[args] :
>         return dict(member=member)
>     else : 
>         for row in db(db.auth_user.id == args).select():
>             member = row          
>     return dict(member=member)
>
>
> I would think it would work .. but does not ! ... Can any one can 
> enlighten me with this !!
>
> thank you
>
> Don
>
>

-- 



Reply via email to