9 from django.forms.util import ErrorList |
9 from django.forms.util import ErrorList |
10 from cm.models_base import generate_key |
10 from cm.models_base import generate_key |
11 from cm.security import get_texts_with_perm, has_perm, get_viewable_comments, \ |
11 from cm.security import get_texts_with_perm, has_perm, get_viewable_comments, \ |
12 has_perm_on_text |
12 has_perm_on_text |
13 from cm.utils import get_among, get_among, get_int |
13 from cm.utils import get_among, get_among, get_int |
|
14 from cm.utils.html import on_content_receive |
14 from cm.utils.comment_positioning import compute_new_comment_positions, \ |
15 from cm.utils.comment_positioning import compute_new_comment_positions, \ |
15 insert_comment_markers |
16 insert_comment_markers |
16 from cm.utils.spannifier import spannify |
17 from cm.utils.spannifier import spannify |
17 from cm.views import get_keys_from_dict, get_textversion_by_keys_or_404, get_text_by_keys_or_404, redirect |
18 from cm.views import get_keys_from_dict, get_textversion_by_keys_or_404, get_text_by_keys_or_404, redirect |
18 from cm.views.export import content_export2, content_export |
19 from cm.views.export import content_export2, content_export |
676 def text_pre_edit(request, key, adminkey=None): |
677 def text_pre_edit(request, key, adminkey=None): |
677 text = get_text_by_keys_or_404(key) |
678 text = get_text_by_keys_or_404(key) |
678 |
679 |
679 text_version = text.get_latest_version() |
680 text_version = text.get_latest_version() |
680 comments = text_version.get_comments() ; |
681 comments = text_version.get_comments() ; |
681 new_content = request.POST['new_content'] |
|
682 new_format = request.POST['new_format'] |
682 new_format = request.POST['new_format'] |
|
683 new_content = on_content_receive(request.POST['new_content'], new_format) |
683 |
684 |
684 # TODO: RBE : si commentaire mal forme : (position non existante : boom par key error) |
685 # TODO: RBE : si commentaire mal forme : (position non existante : boom par key error) |
685 _tomodify_comments, toremove_comments = compute_new_comment_positions(text_version.content, text_version.format, new_content, new_format, comments) |
686 _tomodify_comments, toremove_comments = compute_new_comment_positions(text_version.content, text_version.format, new_content, new_format, comments) |
686 return HttpResponse(simplejson.dumps({'nb_removed' : len(toremove_comments) })) |
687 return HttpResponse(simplejson.dumps({'nb_removed' : len(toremove_comments) })) |
687 |
688 |