src/cm/views/texts.py
changeset 279 46b0773c20c1
parent 274 e49623f99d02
child 301 6e8fb4869d50
equal deleted inserted replaced
278:3d25afbd78ff 279:46b0773c20c1
    68 
    68 
    69 def dashboard(request):
    69 def dashboard(request):
    70     request.session.set_test_cookie()
    70     request.session.set_test_cookie()
    71     if request.user.is_authenticated():
    71     if request.user.is_authenticated():
    72         act_view = {
    72         act_view = {
    73                     'view_texts' : get_int(request.GET,'view_texts',1),
    73                     'view_texts' : get_int(request.GET, 'view_texts',1),
    74                     'view_comments' : get_int(request.GET,'view_comments',1),
    74                     'view_comments' : get_int(request.GET, 'view_comments',1),
    75                     'view_users' : get_int(request.GET,'view_users',1),
    75                     'view_users' : get_int(request.GET, 'view_users',1),
    76                     }
    76                     }
    77             
    77             
    78         paginate_by = get_int(request.GET,'paginate',ACTIVITY_PAGINATION)
    78         paginate_by = get_int(request.GET, 'paginate', ACTIVITY_PAGINATION)
    79                 
    79                 
    80         # texts with can_view_unapproved_comment perms
    80         # texts with can_view_unapproved_comment perms
    81         moderator_texts = get_texts_with_perm(request, 'can_view_unapproved_comment')
    81         moderator_texts = get_texts_with_perm(request, 'can_view_unapproved_comment')
    82         viewer_texts = get_texts_with_perm(request, 'can_view_approved_comment')
    82         viewer_texts = get_texts_with_perm(request, 'can_view_approved_comment')
    83         all_texts_ids = [t.id for t in moderator_texts] + [t.id for t in viewer_texts]
    83         all_texts_ids = [t.id for t in moderator_texts] + [t.id for t in viewer_texts]
    84                     
    84                     
    85         span = get_among(request.GET,'span',('day','month','week',),'week')        
    85         span = get_among(request.GET, 'span', ('day','month','week',),'week')        
    86         template_dict = { 
    86         template_dict = { 
    87                          'span' : span,
    87                          'span' : span,
    88                          'last_texts' : get_texts_with_perm(request, 'can_view_text').order_by('-modified')[:RECENT_TEXT_NB],
    88                          'last_texts' : get_texts_with_perm(request, 'can_view_text').order_by('-modified')[:RECENT_TEXT_NB],
    89                          'last_comments' : Comment.objects.filter(text_version__text__in=all_texts_ids).order_by('-created')[:RECENT_COMMENT_NB],# TODO: useful?
    89                          'last_comments' : Comment.objects.filter(text_version__text__in=all_texts_ids).order_by('-created')[:RECENT_COMMENT_NB],# TODO: useful?
    90                          #'last_users' : User.objects.all().order_by('-date_joined')[:5],
    90                          #'last_users' : User.objects.all().order_by('-date_joined')[:5],
   266             #print request.POST
   266             #print request.POST
   267         else :
   267         else :
   268             key = request.POST['key']
   268             key = request.POST['key']
   269             version_key = request.POST['version_key']
   269             version_key = request.POST['version_key']
   270     
   270     
   271             text = Text.objects.get(key=key) ;
   271             text = Text.objects.get(key=key)
   272             #TODO: stupid why restrict to latest ? 
   272             #TODO: stupid why restrict to latest ? 
   273             text_version = text.get_latest_version()
   273             text_version = text.get_latest_version()
   274             
   274             
   275             if (text != None) :
   275             if (text != None) :
   276                 if function_name == 'ownNotify' : 
   276                 if function_name == 'ownNotify' : 
   451                        'comments': comments,
   451                        'comments': comments,
   452                        'content' : marked_text_version,
   452                        'content' : marked_text_version,
   453                        'client_date_fmt' : settings.CLIENT_DATE_FMT
   453                        'client_date_fmt' : settings.CLIENT_DATE_FMT
   454                        }
   454                        }
   455         if admin:
   455         if admin:
   456              template_dict['adminkey'] = text.adminkey   
   456             template_dict['adminkey'] = text.adminkey   
   457              template_dict['admin'] = True       
   457             template_dict['admin'] = True       
   458         return render_to_response('site/text_print.html',
   458         return render_to_response('site/text_print.html',
   459                                   template_dict,
   459                                   template_dict,
   460                                   context_instance=RequestContext(request))
   460                                   context_instance=RequestContext(request))
   461 
   461 
   462 @has_perm_on_text('can_view_text')
   462 @has_perm_on_text('can_view_text')
   706 @has_perm_on_text('can_edit_text')
   706 @has_perm_on_text('can_edit_text')
   707 def text_pre_edit(request, key, adminkey=None):
   707 def text_pre_edit(request, key, adminkey=None):
   708     text = get_text_by_keys_or_404(key)
   708     text = get_text_by_keys_or_404(key)
   709     
   709     
   710     text_version = text.get_latest_version()
   710     text_version = text.get_latest_version()
   711     comments = text_version.get_comments() ;
   711     comments = text_version.get_comments()
   712     new_format = request.POST['new_format']
   712     new_format = request.POST['new_format']
   713     new_content = on_content_receive(request.POST['new_content'], new_format)
   713     new_content = on_content_receive(request.POST['new_content'], new_format)
   714 
   714 
   715     # TODO: RBE : si commentaire mal forme : (position non existante : boom par key error)
   715     # TODO: RBE : si commentaire mal forme : (position non existante : boom par key error)
   716     _tomodify_comments, toremove_comments = compute_new_comment_positions(text_version.content, text_version.format, new_content, new_format, comments)
   716     _tomodify_comments, toremove_comments = compute_new_comment_positions(text_version.content, text_version.format, new_content, new_format, comments)