To pass information from one controller to another.  I assume it is
poor programming practice then? I taught myself web programming on
web2py, so I have never had formal training and it was the easiest way
I could think of to do this.  I think I have seen it in other posted
examples as well.

On Jan 20, 12:14 pm, Cliff <cjk...@gmail.com> wrote:
> > Currently, in my application, I am passing navigational links in the
> > header, such as /app/controller/view/1/2/3
>
> > Where 1/2/3 are things the controller and view use to set the correct
> > page.
>
> Why are you doing this?
>
> On Jan 19, 11:53 pm, web-dev-m <mgrave...@gmail.com> wrote:
>
>
>
>
>
>
>
> > Currently, in my application, I am passing navigational links in the
> > header, such as /app/controller/view/1/2/3
>
> > Where 1/2/3 are things the controller and view use to set the correct
> > page.
>
> > In my application, I am finding two problems with this.  First is
> > security.  Although I have written validation on my controllers (I
> > hope), I just worry that with more users some malicious person will
> > find a way to get access they shouldn't.
>
> > Second and more urgent is my application broke when I tried to write
> > my first ajax function, I assume because the navigational variables
> > are competing with the ajax variables somehow.  I say this because
> > when I make the controller empty and just return a dict everything
> > works as normal.  However, when I have the controller look for
> > variables in request.vars and I then try to call an ajax function, it
> > breaks hideously.
>
> > I don't claim to be a great programmer, so it could definitely be a
> > convention I am not following.
>
> > Has anyone had this problem before?  How did you solve it? Should I
> > pass my request.vars into the session and then have the view call
> > them?
>
> >  I read in the book that I can do ajax trapping and I haven't tried
> > that yet, but I didn't think it would be necessary since I could make
> > it work without it.  I will try it, but regardless I would love to get
> > some feedback.
>
> > for clarity, my code causing problems is below:
>
> > def my_func():
> >     if request.args:
> >         #First, I check to see if there is a record, if there is, I
> > get some information.
> >         check=db(db.mydb.id==request.args(0)).select().first()
> >         if check !=None:
> >             records=db(db.mydb.id==request.args(0)).select()
> >             row = db(db.mydb.id==request.args(0)).select().first()
> >             counter=len(records)
> >         #if it isnt, I make it with a function
> >         else:
> >             row = db(db.mydb.id==request.args(0)).select().first()
> >             my_id=row.id
> >             (filename, stream) =
> > db.mydb.myfield.retrieve(row.resourcefield)
> >             myfunc(id,filename,stream)
> >             records=db(db.mydb.id==request.args(0)).select()
> >             counter=len(records)
> >         pass
> >     #if there is no specific document request, generate a list of
> > available files
> >     else:
> >         redirect(URL('mycontroller','this_function'))
> >     return(counter=counter, records=records, row=row)
>
> > def myajaxfunc():
> >     form=SQLFORM(db.mydb2, _action="myajaxfunc")
> >     if form.errors:
> >         session.flash="Error: " + str(form.errors)
> >     return XML(form)
>
> > my view:
>
> > {{for i in range(1,5):}}
> >     <div id="my_div" onclick="ajax('myajaxfunc',[''],
> > 'mytarget_{{=str(i)}}')">Click me to add a note</div>
> >     <div id="mytarget_{{=str(i)}}"></div>
> > {{pass}}

Reply via email to