I have a controller that presents a form, but I put a constraint that if the user is not logged on (checked using auth.is_logged_in()) the entered form data should not be inserted but the user should be directed to the login form. But to my surprise, if the user is redirected to the logged in form and without logging in, returns back to the index page, the data would have been inserted into the database which shouldnt be so. What am I doing wrong here?
Code snippet def index(): form = SQLFORM(db.post) if form.accepts(request.vars, session, hideerror=True, keepvalues=False): if auth.is_logged_in(): pass else: session.flash="You have to be logged on to post stuff!" redirect(URL(f="user", args="login")) elif form.errors: redirect(URL(f="index")) rows = db().select(db.post.ALL, orderby=db.post.timestamp) return locals() --