equal
deleted
inserted
replaced
124 template = 'main-template' |
124 template = 'main-template' |
125 |
125 |
126 def publish(self, rset=None): |
126 def publish(self, rset=None): |
127 """publish a request, returning an encoded string""" |
127 """publish a request, returning an encoded string""" |
128 view, rset = self._select_view_and_rset(rset) |
128 view, rset = self._select_view_and_rset(rset) |
129 self.add_to_breadcrumbs(view) |
|
130 view.set_http_cache_headers() |
129 view.set_http_cache_headers() |
131 if self._cw.is_client_cache_valid(): |
130 if self._cw.is_client_cache_valid(): |
132 return '' |
131 return '' |
133 template = self.appli.main_template_id(self._cw) |
132 template = self.appli.main_template_id(self._cw) |
134 return self._cw.vreg['views'].main_template(self._cw, template, |
133 return self._cw.vreg['views'].main_template(self._cw, template, |
157 req.set_message(req._("You have no access to this view or it can not " |
156 req.set_message(req._("You have no access to this view or it can not " |
158 "be used to display the current data.")) |
157 "be used to display the current data.")) |
159 vid = req.form.get('fallbackvid') or vid_from_rset(req, rset, req.vreg.schema) |
158 vid = req.form.get('fallbackvid') or vid_from_rset(req, rset, req.vreg.schema) |
160 view = req.vreg['views'].select(vid, req, rset=rset) |
159 view = req.vreg['views'].select(vid, req, rset=rset) |
161 return view, rset |
160 return view, rset |
162 |
|
163 def add_to_breadcrumbs(self, view): |
|
164 # update breadcrumbs **before** validating cache, unless the view |
|
165 # specifies explicitly it should not be added to breadcrumb or the |
|
166 # view is a binary view |
|
167 if view.add_to_breadcrumbs and not view.binary: |
|
168 self._cw.update_breadcrumbs() |
|
169 |
161 |
170 def execute_linkto(self, eid=None): |
162 def execute_linkto(self, eid=None): |
171 """XXX __linkto parameter may cause security issue |
163 """XXX __linkto parameter may cause security issue |
172 |
164 |
173 defined here since custom application controller inheriting from this |
165 defined here since custom application controller inheriting from this |
305 self.redirect() # Will raise Redirect |
297 self.redirect() # Will raise Redirect |
306 |
298 |
307 def redirect(self, msg=None): |
299 def redirect(self, msg=None): |
308 req = self._cw |
300 req = self._cw |
309 msg = msg or req._("transaction undone") |
301 msg = msg or req._("transaction undone") |
310 self._return_to_lastpage( dict(_cwmsgid= req.set_redirect_message(msg)) ) |
302 self._redirect({'_cwmsgid': req.set_redirect_message(msg)}) |