@@ -137,6 +137,8 @@ def Move_Photos_to_Storage(parameters, curdir, form, user_info=None):
137137 bibrecdocs = BibRecDocs (sysno )
138138 for photo_id in photo_manager_order_list :
139139 photo_description = read_param_file (curdir , 'PHOTO_MANAGER_DESCRIPTION_' + photo_id )
140+ # Read also fr description
141+ photo_description_fr = read_param_file (curdir , 'PHOTO_MANAGER_DESCRIPTION_' + photo_id + '_fr' )
140142 # We must take different actions depending if we deal with a
141143 # file that already exists, or if it is a new file
142144 if photo_id in photo_manager_new_dict .keys ():
@@ -228,6 +230,8 @@ def Move_Photos_to_Storage(parameters, curdir, form, user_info=None):
228230 for file_format in [bibdocfile .get_format () \
229231 for bibdocfile in bibdoc .list_latest_files ()]:
230232 bibdoc .set_comment (photo_description , file_format )
233+ if photo_description_fr :
234+ bibdoc .set_description (photo_description_fr , file_format )
231235 _do_log (curdir , "Added comment %s" % photo_description )
232236 else :
233237 # Existing file
@@ -285,6 +289,7 @@ def Move_Photos_to_Storage(parameters, curdir, form, user_info=None):
285289 for file_format in [bibdocfile .get_format () \
286290 for bibdocfile in bibdoc .list_latest_files ()]:
287291 bibdoc .set_comment (photo_description , file_format )
292+ bibdoc .set_description (photo_description_fr , file_format )
288293 _do_log (curdir , "Added comment %s" % photo_description )
289294
290295 # Now delete requeted files
@@ -406,6 +411,7 @@ def create_photos_manager_interface(sysno, session_id, uid,
406411 PHOTO_MANAGER_NEW = read_param_file (curdir , 'PHOTO_MANAGER_NEW' , split_lines = True )
407412 photo_manager_new_dict = dict ([value .split ('/' , 1 ) for value in PHOTO_MANAGER_NEW if '/' in value ])
408413 photo_manager_descriptions_dict = {}
414+ photo_manager_descriptions_dict_fr = {}
409415 photo_manager_photo_fullnames = {}
410416 photo_manager_meta = {}
411417 # Compile a regular expression that can match the "default" icon,
@@ -429,6 +435,7 @@ def create_photos_manager_interface(sysno, session_id, uid,
429435 photo_manager_meta [doc_id ] = {}
430436 icon_url = doc .get_icon (subformat_re = CFG_BIBDOCFILE_ICON_SUBFORMAT_RE_DEFAULT ).get_url ()
431437 description = ""
438+ description_fr = ""
432439
433440 sizes = dict ([(x .get_subformat () if x .get_subformat () != '' else 'master' ,
434441 (x .get_url (), x .get_full_path ())) for x in doc .list_all_files ()])
@@ -456,7 +463,11 @@ def create_photos_manager_interface(sysno, session_id, uid,
456463 # photo_files.append((format, url))
457464 if not description and bibdoc_file .get_comment ():
458465 description = escape (bibdoc_file .get_comment ())
466+ if not description_fr and bibdoc_file .get_description ():
467+ description_fr = escape (bibdoc_file .get_description ())
468+
459469 photo_manager_descriptions_dict [doc_id ] = description
470+ photo_manager_descriptions_dict_fr [doc_id ] = description_fr
460471 photo_manager_icons_dict [doc_id ] = icon_url
461472 try :
462473 photo_manager_photo_fullnames [doc_id ] = bibdoc_file .fullname
@@ -476,10 +487,13 @@ def create_photos_manager_interface(sysno, session_id, uid,
476487
477488 if PHOTO_MANAGER_ORDER :
478489 # Get description from disk only if some changes have been done
479- description = escape (read_param_file (curdir ,
480- 'PHOTO_MANAGER_DESCRIPTION_' + doc_id ))
490+ description = escape (read_param_file (curdir , 'PHOTO_MANAGER_DESCRIPTION_' + doc_id ))
491+ description_fr = escape ( read_param_file ( curdir , 'PHOTO_MANAGER_DESCRIPTION_' + doc_id + '_fr' ))
481492 else :
482493 description = escape (photo_manager_descriptions_dict [doc_id ])
494+ description_fr = escape (photo_manager_descriptions_dict_fr [doc_id ])
495+
496+ # Try to read the crop parameter
483497
484498 link_to_crop = ''
485499 if photo_manager_meta [doc_id ]['can_cropped' ]:
@@ -499,14 +513,19 @@ def create_photos_manager_interface(sysno, session_id, uid,
499513 <div style='clear:both'></div>
500514 %(crop_link)s
501515 <span class='filename'>%(fullname)s</span>
502- <textarea placeholder='Add an english description' id='PHOTO_MANAGER_DESCRIPTION_%(doc_id)s' name='PHOTO_MANAGER_DESCRIPTION_%(doc_id)s'>%(description)s</textarea>
516+ <textarea placeholder='Add an English description' id='PHOTO_MANAGER_DESCRIPTION_%(doc_id)s' name='PHOTO_MANAGER_DESCRIPTION_%(doc_id)s'>%(description)s</textarea>
517+ <textarea style='display:none' placeholder='Add a French description' id='PHOTO_MANAGER_DESCRIPTION_%(doc_id)s_fr' name='PHOTO_MANAGER_DESCRIPTION_%(doc_id)s_fr'>%(description_fr)s</textarea>
503518 <div class='clear:both'></div>
519+ <div class='language_control' data-id='%(doc_id)s'>
520+ <a href='javascript:void(0)' class='active_lang' rel='english'>English</a><a href='javascript:void(0)' rel='french'>French</a>
521+ </div>
504522 </div>
505523 </div>''' % {'fullname' : fullname ,
506524 'doc_id' : doc_id ,
507525 'CFG_SITE_URL' : CFG_SITE_URL ,
508526 'crop_link' : link_to_crop ,
509527 'icon_url' : icon_url ,
528+ 'description_fr' : description_fr ,
510529 'description' : description })
511530
512531 out += '''
@@ -918,7 +937,20 @@ class : 'uploader-alert-message',
918937 $("#photo_manager_delete").val($("#photo_manager_delete").val() + '\\ n' + docid);
919938 }
920939 }
921-
940+ $('body').on('click', '.language_control a', function(){
941+ var id = $(this).parent().data('id')
942+ , rel = $(this).attr('rel')
943+ , search = '#PHOTO_MANAGER_DESCRIPTION_'+id;
944+ $(this).parent().find('a').removeClass('active_lang');
945+ $(this).addClass('active_lang');
946+ if(rel == 'english'){
947+ $(search+'_fr').hide();
948+ $(search).show();
949+ }else{
950+ $(search).hide();
951+ $(search+'_fr').show();
952+ }
953+ });
922954 function format_picture(id, file, response){
923955 // Get urls for cropped preview and thumbnail
924956 var crop_thumb = build_icon_url(response.name, 'files')
@@ -933,9 +965,11 @@ class : 'uploader-alert-message',
933965 "<div style='clear:both'></div>"+
934966 "<a rel='crop' href='javascript:void(0)' data-id='"+file.id+"' data-name='"+file.name+"' data-original='"+response.absPath+"' data-thumb='"+crop_thumb+"'>Crop</a>"+
935967 "<span class='filename'>"+file.name+"</span>"+
936- "<textarea placeholder='Add an english description' id='PHOTO_MANAGER_DESCRIPTION_"+ file.id +"' name='PHOTO_MANAGER_DESCRIPTION_"+ file.id +"'></textarea>" +
968+ "<textarea placeholder='Add an English description' id='PHOTO_MANAGER_DESCRIPTION_"+ file.id +"' name='PHOTO_MANAGER_DESCRIPTION_"+ file.id +"'></textarea>" +
969+ "<textarea style='display:none' placeholder='Add a French description' id='PHOTO_MANAGER_DESCRIPTION_"+ file.id +"_fr' name='PHOTO_MANAGER_DESCRIPTION_"+ file.id +"_fr'></textarea>" +
937970 "<div class='clear:both'></div>"+
938971 "<div class='language_control' data-id='"+file.id+"'> " +
972+ "<a href='javascript:void(0)' class='active_lang' rel='english'>English</a><a href='javascript:void(0)' rel='french'>French</a>" +
939973 "</div>"+
940974 "</div>");
941975 }
0 commit comments