web/request.py
changeset 10932 cb217b2b3463
parent 10903 da30851f9706
child 10997 da712d3f0601
equal deleted inserted replaced
10931:6168a45f62df 10932:cb217b2b3463
    40 from logilab.mtconverter import xml_escape
    40 from logilab.mtconverter import xml_escape
    41 
    41 
    42 from cubicweb import AuthenticationError
    42 from cubicweb import AuthenticationError
    43 from cubicweb.req import RequestSessionBase
    43 from cubicweb.req import RequestSessionBase
    44 from cubicweb.uilib import remove_html_tags, js
    44 from cubicweb.uilib import remove_html_tags, js
    45 from cubicweb.utils import SizeConstrainedList, HTMLHead, make_uid
    45 from cubicweb.utils import HTMLHead, make_uid
    46 from cubicweb.view import TRANSITIONAL_DOCTYPE_NOEXT
    46 from cubicweb.view import TRANSITIONAL_DOCTYPE_NOEXT
    47 from cubicweb.web import (INTERNAL_FIELD_VALUE, LOGGER, NothingToEdit,
    47 from cubicweb.web import (INTERNAL_FIELD_VALUE, LOGGER, NothingToEdit,
    48                           RequestError, StatusResponse)
    48                           RequestError, StatusResponse)
    49 from cubicweb.web.httpcache import get_validators
    49 from cubicweb.web.httpcache import get_validators
    50 from cubicweb.web.http_headers import Headers, Cookie, parseDateTime
    50 from cubicweb.web.http_headers import Headers, Cookie, parseDateTime
   396         for etype in rset.column_types(0):
   396         for etype in rset.column_types(0):
   397             if etype != searchedtype:
   397             if etype != searchedtype:
   398                 return False
   398                 return False
   399         return True
   399         return True
   400 
   400 
   401     def update_breadcrumbs(self):
       
   402         """stores the last visisted page in session data"""
       
   403         searchstate = self.search_state[0]
       
   404         if searchstate == 'normal':
       
   405             breadcrumbs = self.session.data.get('breadcrumbs')
       
   406             if breadcrumbs is None:
       
   407                 breadcrumbs = SizeConstrainedList(10)
       
   408                 self.session.data['breadcrumbs'] = breadcrumbs
       
   409                 breadcrumbs.append(self.url())
       
   410             else:
       
   411                 url = self.url()
       
   412                 if breadcrumbs and breadcrumbs[-1] != url:
       
   413                     breadcrumbs.append(url)
       
   414 
       
   415     def last_visited_page(self):
       
   416         breadcrumbs = self.session.data.get('breadcrumbs')
       
   417         if breadcrumbs:
       
   418             return breadcrumbs.pop()
       
   419         return self.base_url()
       
   420 
       
   421     # web edition helpers #####################################################
   401     # web edition helpers #####################################################
   422 
   402 
   423     @cached # so it's writed only once
   403     @cached # so it's writed only once
   424     def fckeditor_config(self):
   404     def fckeditor_config(self):
   425         fckeditor_url = self.build_url('fckeditor/fckeditor.js')
   405         fckeditor_url = self.build_url('fckeditor/fckeditor.js')