response.js will not works, it only works on response and for component as
says the book.

Putting the js code into the view seems to work if I pass the photos_files
var to the view...

Now I think I just have to find the way to expose the HTML, XML() not seems
to work.

Richard

On Thu, May 31, 2012 at 12:09 PM, Richard Vézina <
ml.richard.vez...@gmail.com> wrote:

> Hello Paolo,
>
> Here some fresher code :
>
> def trip_update():
>     # only SQLFORM.factory tested
>     form=SQLFORM.factory(db.t_trip, db.t_photos)
>     for row in db(db.t_trip.id == request.args(0)).select(db.t_trip.ALL):
>         for f in db.t_trip.fields:
>             form.vars[f]=row[f]
>     photos_files = []
>     for row in db(db.t_photos.f_trip_ref ==
> request.args(0)).select(db.t_photos.ALL):
>         #for f in db.t_photos.fields:
>         #f_photo_0:CONTENT_OF_f_title
>         #form.vars['f_photo_'+str(i)+':'+row.f_title]=row
>         #LI(_title='couleurs (1).png', A('x', _href='javascript:void(0);',
> _class='mw_delItem', _title='remove this file'),
> I(B(EM(_class='mw_file-ext-png'))), SPAN('test1'))
>         photos_files.append(XML(LI(A('x', _href='javascript:void(0);',
> _class='mw_delItem', _title='remove this file'),
> EM(_class='mw_file-ext-png'), SPAN(row.f_title), _title=row.f_photo)))
>     response.js="""var photos_files_list = "{{=photos_files}}"
>     $(document).ready( function () {
>         if(photos_files_list != 'None') {
>             $.each(photos_files_list, function(i, val) {
>                 $('ul.mw_list').append(photos_files_list[i]);
>             });
>         };
>     });"""
>
> #A(T('Access'),_href=URL(r=request,f='read',args=(request.args(0),str(id))))
>
>         #<li title="couleurs (1).png"><a class="mw_delItem"
> href="javascript:void(0);" title="remove this file">x</a><i><b><em
> class="mw_file-ext-png"></em></b></i><span>test1</span></li>
>     if form.accepts(request, session, onvalidation=lambda
> form:check(form)): # Is it possible to use onvalidation with form.process()
> syntax ?
>         trip_id =
> db.t_trip.update_record(**db.t_trip._filter_fields(form.vars))
>         nfiles = 0
>         for var in request.vars:
>             if var.startswith('f_photo') and request.vars[var] != '':
>                 uploaded = request.vars[var]
>                 if isinstance(uploaded,list):
>                     # files uploaded through input with "multiple"
> attribute set on true
>                     counter=0
>                     for element in uploaded:
>                         counter += 1
>                         nfiles += 1
>                         file_title = element.name.split(":")[-1] # TODO:
> could this be made better?
>                                                                  # I mean,
> the title must be appended to element's name
>                                                                  # or is
> there another way?
>                         db.t_photos.insert(
>                             f_trip_ref=trip_id,
>                             f_title=file_title+" ("+str(counter)+")" if
> file_title!="" else file_title,
>
> f_photo=db.t_photos.f_photo.store(element.file,element.filename))
>                 else:
>                     # only one file uploaded
>                     element = request.vars[var]
>                     nfiles += 1
>                     db.t_photos.insert(
>                         f_trip_ref=trip_id,
>                         f_title=element.name.split(":")[-1],
>
> f_photo=db.t_photos.f_photo.store(element.file,element.filename))
>
>         session.flash = T('%s photo%s uploaded'%(nfiles, 's' if nfiles>1
> else ''))
>         redirect(URL('trip_read'))
>
>     if isinstance(form,FORM):
>         # hide f_title form's row. Is there a better way to accomplish it?
>         del form[0][3]
>
>     return dict(form=form)
>
> On Wed, May 30, 2012 at 6:23 PM, Paolo Caruccio <
> paolo.carucci...@gmail.com> wrote:
>
>> Richard,
>>
>> I saw your email in the discussion regarding bootswatch, but I want to
>> answer here for competence.
>>
>> Multiupload is a my old project. The object of the toy app was
>> demonstrate the usage of multiupload control. It wasn't a complete
>> application.
>>
>> Your intentions, however, are interesting. I will take a look at your
>> code and I will try to find a solution.
>>
>>
>> Il giorno mercoledì 30 maggio 2012 16:15:09 UTC+2, Richard ha scritto:
>>
>>> Hello Paolo,
>>>
>>> Pretty nice!
>>>
>>> Did you implement the update of the records also?
>>>
>>> Is it a straight and easy task or it becomes trickier to implement than
>>> the rest of the app??
>>>
>>> Richard
>>>
>>> On Sat, Oct 29, 2011 at 6:21 PM, Paolo Caruccio <
>>> paolo.carucci...@gmail.com> wrote:
>>>
>>>> Bruno,
>>>>
>>>> thanks.
>>>>
>>>> What do you think about the upload mechanism? Can it be translate in a
>>>> web2py widget? or is it better to use a different javascript/jquery 
>>>> library?
>>>>
>>>> Regards.
>>>>
>>>> Paolo
>>>>
>>>
>>>
>

Reply via email to