@@ -137,6 +137,8 @@ def Move_Photos_to_Storage(parameters, curdir, form, user_info=None):
137
137
bibrecdocs = BibRecDocs (sysno )
138
138
for photo_id in photo_manager_order_list :
139
139
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' )
140
142
# We must take different actions depending if we deal with a
141
143
# file that already exists, or if it is a new file
142
144
if photo_id in photo_manager_new_dict .keys ():
@@ -228,6 +230,8 @@ def Move_Photos_to_Storage(parameters, curdir, form, user_info=None):
228
230
for file_format in [bibdocfile .get_format () \
229
231
for bibdocfile in bibdoc .list_latest_files ()]:
230
232
bibdoc .set_comment (photo_description , file_format )
233
+ if photo_description_fr :
234
+ bibdoc .set_description (photo_description_fr , file_format )
231
235
_do_log (curdir , "Added comment %s" % photo_description )
232
236
else :
233
237
# Existing file
@@ -285,6 +289,7 @@ def Move_Photos_to_Storage(parameters, curdir, form, user_info=None):
285
289
for file_format in [bibdocfile .get_format () \
286
290
for bibdocfile in bibdoc .list_latest_files ()]:
287
291
bibdoc .set_comment (photo_description , file_format )
292
+ bibdoc .set_description (photo_description_fr , file_format )
288
293
_do_log (curdir , "Added comment %s" % photo_description )
289
294
290
295
# Now delete requeted files
@@ -406,6 +411,7 @@ def create_photos_manager_interface(sysno, session_id, uid,
406
411
PHOTO_MANAGER_NEW = read_param_file (curdir , 'PHOTO_MANAGER_NEW' , split_lines = True )
407
412
photo_manager_new_dict = dict ([value .split ('/' , 1 ) for value in PHOTO_MANAGER_NEW if '/' in value ])
408
413
photo_manager_descriptions_dict = {}
414
+ photo_manager_descriptions_dict_fr = {}
409
415
photo_manager_photo_fullnames = {}
410
416
photo_manager_meta = {}
411
417
# Compile a regular expression that can match the "default" icon,
@@ -429,6 +435,7 @@ def create_photos_manager_interface(sysno, session_id, uid,
429
435
photo_manager_meta [doc_id ] = {}
430
436
icon_url = doc .get_icon (subformat_re = CFG_BIBDOCFILE_ICON_SUBFORMAT_RE_DEFAULT ).get_url ()
431
437
description = ""
438
+ description_fr = ""
432
439
433
440
sizes = dict ([(x .get_subformat () if x .get_subformat () != '' else 'master' ,
434
441
(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,
456
463
# photo_files.append((format, url))
457
464
if not description and bibdoc_file .get_comment ():
458
465
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
+
459
469
photo_manager_descriptions_dict [doc_id ] = description
470
+ photo_manager_descriptions_dict_fr [doc_id ] = description_fr
460
471
photo_manager_icons_dict [doc_id ] = icon_url
461
472
try :
462
473
photo_manager_photo_fullnames [doc_id ] = bibdoc_file .fullname
@@ -476,10 +487,13 @@ def create_photos_manager_interface(sysno, session_id, uid,
476
487
477
488
if PHOTO_MANAGER_ORDER :
478
489
# 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' ))
481
492
else :
482
493
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
483
497
484
498
link_to_crop = ''
485
499
if photo_manager_meta [doc_id ]['can_cropped' ]:
@@ -499,14 +513,19 @@ def create_photos_manager_interface(sysno, session_id, uid,
499
513
<div style='clear:both'></div>
500
514
%(crop_link)s
501
515
<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>
503
518
<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>
504
522
</div>
505
523
</div>''' % {'fullname' : fullname ,
506
524
'doc_id' : doc_id ,
507
525
'CFG_SITE_URL' : CFG_SITE_URL ,
508
526
'crop_link' : link_to_crop ,
509
527
'icon_url' : icon_url ,
528
+ 'description_fr' : description_fr ,
510
529
'description' : description })
511
530
512
531
out += '''
@@ -918,7 +937,20 @@ class : 'uploader-alert-message',
918
937
$("#photo_manager_delete").val($("#photo_manager_delete").val() + '\\ n' + docid);
919
938
}
920
939
}
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
+ });
922
954
function format_picture(id, file, response){
923
955
// Get urls for cropped preview and thumbnail
924
956
var crop_thumb = build_icon_url(response.name, 'files')
@@ -933,9 +965,11 @@ class : 'uploader-alert-message',
933
965
"<div style='clear:both'></div>"+
934
966
"<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>"+
935
967
"<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>" +
937
970
"<div class='clear:both'></div>"+
938
971
"<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>" +
939
973
"</div>"+
940
974
"</div>");
941
975
}
0 commit comments