def test_render_response(self): def renderer(template, args, encoding=None): return "%s %r" % (template, sorted(args)) request = http.Request.blank('/', environ={'restish.templating': templating.Templating(renderer)}) response = templating.render_response(request, None, 'page') assert response.status == "200 OK" assert response.headers['Content-Type'] == 'text/html; charset=utf-8' assert response.body == "page ['element', 'urls']"
def _html(self, request, form=None): if form is None: C = _store(request) defn = C.config.types[self.type] form = _form_for_type(request, C, defn) M = request.environ['adminish']['types'][self.type] return templating.render_response( request, self, M['templates']['new_item'], {'metadata': M, 'form': form})
def page(self, request): sitemap = navigation.get_navigation(request) url = '/%s'%('/'.join(self.segments)) C = request.environ['couchish'] with C.session() as S: results = list(S.view('page/by_url',key=url,include_docs=True)) page = results[0].doc data = {'page': page,'request':request, 'sitemap':sitemap} return templating.render_response(request, self, page['pagetype'], data)
def _html(self, request, form=None): if form is None: C = _store(request) defn = C.config.types[self.type] form = _form_for_type(request, C, defn) M = request.environ['adminish']['types'][self.type] return templating.render_response(request, self, M['templates']['new_item'], { 'metadata': M, 'form': form })
def render_page(self, request, form): config = _config(request) C = _store(request) M = config['types'][self.type] T = C.config.types[self.type] searchform = make_search_form(request) if not formish.form_in_request(request) == searchform.name: q = None else: data = searchform.validate(request) q = data['q'] pager = PAGER_FACTORIES[M['pager']] if q: searcher = request.environ['searcher'] pagingdata = webpaging.paged_search(request, searcher, self.type, q, max_pagesize=10) keys = [item.id for item in pagingdata['items']] with C.session() as S: results = S.docs_by_type(self.type, keys=keys) items = results else: pagingdata = pager(request, C.session(), self.type, include_docs=True, metadata=M) items = [item.doc for item in pagingdata['items']] def page_element(name): E = self.element(request, name) if isinstance(E, page.Element): E = util.RequestBoundCallable(E, request) return E data = { 'form': form, 'items': items, 'pagingdata': webpaging.Paging(request, pagingdata), 'metadata': M, 'element': page_element, 'types': T, 'type': self.type, 'searchform': searchform } return templating.render_response(request, self, M['templates']['items'], data)
def render_page(self, request, form): M = request.environ['adminish']['types'][self.type] template_override = request.GET.get('template',None) if template_override == 'bare': template = '/adminish/bare.html' else: template = M['templates']['item'] def page_element(name): E = self.element(request, name) if isinstance(E, page.Element): E = util.RequestBoundCallable(E, request) return E data = {'form': form, 'metadata': M,'element':page_element, 'type': self.type} return templating.render_response(request, self, template, data)
def render_page(self, request, form): M = request.environ['adminish']['types'][self.type] template_override = request.GET.get('template', None) if template_override == 'bare': template = '/adminish/bare.html' else: template = M['templates']['item'] def page_element(name): E = self.element(request, name) if isinstance(E, page.Element): E = util.RequestBoundCallable(E, request) return E data = { 'form': form, 'metadata': M, 'element': page_element, 'type': self.type } return templating.render_response(request, self, template, data)
def render_page(self, request, form): config = _config(request) C = _store(request) M = config['types'][self.type] T = C.config.types[self.type] searchform = make_search_form(request) if not formish.form_in_request(request) == searchform.name: q = None else: data = searchform.validate(request) q = data['q'] pager = PAGER_FACTORIES[M['pager']] if q: searcher = request.environ['searcher'] pagingdata = webpaging.paged_search(request, searcher, self.type, q, max_pagesize=10) keys = [item.id for item in pagingdata['items']] with C.session() as S: results = S.docs_by_type(self.type, keys=keys) items = results else: pagingdata = pager(request, C.session(), self.type, include_docs=True, metadata=M) items = [item.doc for item in pagingdata['items']] def page_element(name): E = self.element(request, name) if isinstance(E, page.Element): E = util.RequestBoundCallable(E, request) return E data = {'form': form, 'items': items, 'pagingdata': webpaging.Paging(request, pagingdata), 'metadata': M,'element':page_element, 'types':T, 'type':self.type, 'searchform': searchform} return templating.render_response(request, self, M['templates']['items'], data)