src/cm/views/texts.py
changeset 486 c9a646707d86
parent 483 65baad712962
child 493 32c402ed2f14
equal deleted inserted replaced
485:af74b898d551 486:c9a646707d86
   441 
   441 
   442 @has_perm_on_text('can_view_text')
   442 @has_perm_on_text('can_view_text')
   443 def text_history_version(request, key, version_key):
   443 def text_history_version(request, key, version_key):
   444     text = get_text_by_keys_or_404(key)
   444     text = get_text_by_keys_or_404(key)
   445     text_version = get_textversion_by_keys_or_404(version_key, key=key)
   445     text_version = get_textversion_by_keys_or_404(version_key, key=key)
       
   446     text_versions = text.get_versions()
       
   447     first_version = text_versions[len(text_versions) - 1]
   446     template_dict = {'text' : text,
   448     template_dict = {'text' : text,
   447                      'text_version' : text_version,
   449                      'text_version' : text_version,
   448                      'embed_code' : embed_html(key, 'id="text_view_frame" name="text_view_frame"', version_key),
   450                      'embed_code' : embed_html(key, 'id="text_view_frame" name="text_view_frame"', version_key),
       
   451                      'first_version':first_version,
   449                       }
   452                       }
   450     return render_to_response('site/text_history_version.html',
   453     return render_to_response('site/text_history_version.html',
   451                               template_dict,
   454                               template_dict,
   452                               context_instance=RequestContext(request))
   455                               context_instance=RequestContext(request))
   453 
   456 
   468         #from cm.utils.diff import text_diff
   471         #from cm.utils.diff import text_diff
   469         from cm.utils.diff import diff_match_patch2        
   472         from cm.utils.diff import diff_match_patch2        
   470         dif = diff_match_patch2()
   473         dif = diff_match_patch2()
   471         content = dif.diff_prettyHtml_one_way(dif.diff_main(v1.get_content(), v2.get_content()), mode='ins_del')
   474         content = dif.diff_prettyHtml_one_way(dif.diff_main(v1.get_content(), v2.get_content()), mode='ins_del')
   472 
   475 
       
   476     text_versions = text.get_versions()
       
   477     first_version = text_versions[len(text_versions) - 1]
   473     template_dict = {
   478     template_dict = {
   474                      'text' : text,
   479                      'text' : text,
   475                      'v1': v1,
   480                      'v1': v1,
   476                      'v2': v2,
   481                      'v2': v2,
   477                      'content' : content.strip(),
   482                      'content' : content.strip(),
   478                      'empty' : '<table class="diff"><tbody></tbody></table>'==content,
   483                      'empty' : '<table class="diff"><tbody></tbody></table>'==content,
       
   484                      'first_version':first_version,
   479                      }
   485                      }
   480     return render_to_response('site/text_history_compare.html',
   486     return render_to_response('site/text_history_compare.html',
   481                               template_dict,
   487                               template_dict,
   482                               context_instance=RequestContext(request))
   488                               context_instance=RequestContext(request))
   483     
   489     
   493         
   499         
   494     text_versions = text.get_versions()
   500     text_versions = text.get_versions()
   495     paginate_by = get_int(request.GET,'paginate',TEXT_PAGINATION)
   501     paginate_by = get_int(request.GET,'paginate',TEXT_PAGINATION)
   496 
   502 
   497     last_last_version = text_versions[1] if len(text_versions)>1 else None 
   503     last_last_version = text_versions[1] if len(text_versions)>1 else None 
   498     context = {'text':text, 'last_version':text.last_text_version, 'last_last_version':last_last_version}
   504     first_version = text_versions[len(text_versions) - 1]
       
   505     context = {'text':text, 'last_version':text.last_text_version, 'last_last_version':last_last_version, 'first_version':first_version}
   499     return object_list(request, text_versions,
   506     return object_list(request, text_versions,
   500                        template_name = 'site/text_history.html',
   507                        template_name = 'site/text_history.html',
   501                        paginate_by = paginate_by,
   508                        paginate_by = paginate_by,
   502                        extra_context=context,
   509                        extra_context=context,
   503                        )
   510                        )