def post_process_request(self, req, template, data, content_type): if not req or not template or not isinstance(data, dict): return template, data, content_type model = None resource = None attachments = None if template in ('wiki_view.html', 'wiki_edit.html'): model = data.get('page') elif template == 'ticket.html': model = data.get('ticket') elif template in ('milestone_view.html', 'milestone_edit.html'): model = data.get('milestone') elif template == 'attachment.html': attachments = data.get('attachments') if attachments: resource = attachments['parent'] if not resource and model and model.exists: resource = model.resource if not resource: return template, data, content_type if not attachments: attachments = data.get('attachments') if not attachments and model and resource: context = web_context(req, resource) attachments = AttachmentModule(self.env).attachment_data(context) data['attachments'] = attachments if template in ('wiki_edit.html', 'milestone_edit.html'): self._add_overlayview(req) add_stylesheet(req, 'tracdragdrop/tracdragdrop.css') if hasattr(req, 'locale'): locale = str(req.locale) if locale in self.messages_files: add_script(req, 'tracdragdrop/messages/%s.js' % locale) add_script(req, 'common/js/folding.js') add_script(req, 'tracdragdrop/tracdragdrop.js') script_data = { '_tracdragdrop': { 'base_url': req.href().rstrip('/') + '/', 'new_url': req.href('tracdragdrop', 'new', resource.realm, resource.id), 'can_create': attachments.get('can_create') or False, 'max_size': AttachmentModule(self.env).max_size, }, 'form_token': req.form_token, } if add_script_data: add_script_data(req, script_data) else: setattr(req, '_tracdragdrop_data', script_data) return template, data, content_type
def post_process_request(self, req, template, data, content_type): if not req or not template or not isinstance(data, dict): return template, data, content_type model = None resource = None attachments = None if template in ('wiki_view.html', 'wiki_edit.html'): model = data.get('page') elif template == 'ticket.html': model = data.get('ticket') elif template in ('milestone_view.html', 'milestone_edit.html'): model = data.get('milestone') elif template == 'attachment.html': attachments = data.get('attachments') if attachments: resource = attachments['parent'] if not resource and model and model.exists: resource = model.resource if not resource: return template, data, content_type if not attachments: attachments = data.get('attachments') if not attachments and model and resource: context = web_context(req, resource) attachments = AttachmentModule(self.env).attachment_data(context) # mark appending list of attachments in filter_stream attachments['tracdragdrop'] = True data['attachments'] = attachments if template in ('wiki_edit.html', 'milestone_edit.html'): self._add_overlayview(req) add_stylesheet(req, 'tracdragdrop/tracdragdrop.css') locale = req.locale and str(req.locale) if locale in self.messages_files: add_script(req, 'tracdragdrop/messages/%s.js' % locale) add_script(req, 'common/js/folding.js') add_script(req, 'tracdragdrop/tracdragdrop.js') script_data = { '_tracdragdrop': { 'base_url': req.href().rstrip('/') + '/', 'new_url': req.href('tracdragdrop', 'new', resource.realm, resource.id), 'raw_parent_url': get_resource_url(self.env, resource.child('attachment'), req.href, format='raw'), 'parent_name': get_resource_name(self.env, resource), 'no_image_msg': dgettext('messages', 'No image "%(id)s" attached to %(parent)s'), 'can_create': attachments.get('can_create') or False, 'max_size': AttachmentModule(self.env).max_size, }, 'form_token': req.form_token, } add_script_data(req, script_data) return template, data, content_type