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',arg=' '))

Where the arg, 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',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 arg  then return the logged in 
user  row ( member )
if not then return the row of the user id equal to arg (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 pyton 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