def filter_stream(self, req, method, filename, stream, data): if req.path_info.startswith('/wiki/'): if data and data.has_key('page') and hasattr( data['page'], 'resource'): title = data['title'] filter = Transformer('//div[@id="pagepath"]') filter = filter.empty() filter = filter.append( tag.a('wiki:', href=req.href.wiki(), class_='pathentry first')) resource = data['page'].resource relation_system = ResourceRelationSystem(self.env) tree = relation_system.get_cached_tree(req) add_stylesheet(req, 'wikimenu/css/superfish.css') add_script(req, 'wikimenu/js/jquery.bgiframe.min.js') add_script(req, 'wikimenu/js/superfish.js') add_script(req, 'wikimenu/js/popup.js') resources = [] for res in relation_system.get_ancestors(resource, tree=tree): resources.append(res) for res in reversed(resources): label = get_resource_description(self.env, res) if res.realm == 'wiki': if res.id and WikiSystem(self.env).has_page(res.id): menu = tag.ul() for res_child in relation_system.get_children(res): child_label = get_resource_description( self.env, res_child) if res_child.realm == 'wiki': if res_child.id and WikiSystem( self.env).has_page(res_child.id): anc = tag.a( child_label, href=req.href.wiki(child_label)) menu.append(tag.li(anc)) filter = filter.append( tag.ul(tag.li( tag.a(label, href=req.href.wiki(label)), menu), class_='wiki_menu')) if title != label: filter = filter.append( tag.span(' / ', class_='pathentry sep')) remove_tran = '//a[@title="View ' + title + '"]' return stream | filter return stream
def filter_stream(self, req, method, filename, stream, data): # Allow setting version for milestone if filename == 'milestone_edit.html': xformer = Transformer('//fieldset[1]') return stream | xformer.before(self._version_edit(data)) # Display version for milestone elif filename == 'milestone_view.html': milestone = data.get('milestone').name xformer = Transformer('//div[@id="content" and ' ' @class="milestone"]' '/div/p[@class="date"]') return stream | xformer.append( self._version_display(req, milestone)) elif filename == 'roadmap.html': return self._milestone_versions(stream, req) elif filename == 'admin_milestones.html': if req.args['path_info']: xformer = Transformer('//fieldset/div[1]') return stream | xformer.after(self._version_edit(data)) else: xformer = Transformer('//form[@id="addmilestone"]' '/fieldset/div[1]') return stream | xformer.after(self._version_edit(data)) return stream
def filter_stream(self, req, method, filename, stream, data): if filename == 'browser.html' \ and req.perm.has_permission('REPOSITORY_MODIFY'): self.log.debug('Extending TracBrowser') if self.include_jqueryui: add_stylesheet( req, 'trac_browser_svn_ops/css/smoothness/jquery-ui.css') add_script(req, 'trac_browser_svn_ops/js/jquery-ui.js') add_stylesheet(req, 'trac_browser_svn_ops/css/trac_browser_ops.css') add_script(req, 'trac_browser_svn_ops/js/trac_browser_ops.js') # Insert browser operations elements when directory/file shown if data['dir']: data['max_upload_size'] = self.max_upload_size data['rename_only'] = self.rename_only # Insert upload dialog and move/delete dialog into div#main bsops_stream = Chrome(self.env).render_template( req, 'trac_browser_ops.html', data, fragment=True) bsops_transf = Transformer('//div[@id="main"]') stream |= bsops_transf.append( bsops_stream.select('//div[@class="bsop_dialog"]')) # Insert button bar after file/directory table bsops_stream = Chrome(self.env).render_template( req, 'trac_browser_ops.html', data, fragment=True) bsops_transf = Transformer('//table[@id="dirlist"]') stream |= bsops_transf.after( bsops_stream.select('//div[@id="bsop_buttons"]')) return stream
def filter_stream(self, req, method, filename, stream, data): if req.path_info.startswith('/wiki/'): if data and data.has_key('page') and hasattr(data['page'], 'resource'): title = data['title'] filter = Transformer('//div[@id="pagepath"]') filter = filter.empty() filter = filter.append( tag.a( 'wiki:', href = req.href.wiki(), class_ = 'pathentry first' ) ) resource = data['page'].resource relation_system = ResourceRelationSystem(self.env) tree = relation_system.get_cached_tree(req) add_stylesheet(req, 'wikimenu/css/superfish.css') add_script(req, 'wikimenu/js/jquery.bgiframe.min.js') add_script(req, 'wikimenu/js/superfish.js') add_script(req, 'wikimenu/js/popup.js') resources = [] for res in relation_system.get_ancestors(resource, tree=tree): resources.append(res) for res in reversed( resources ): label = get_resource_description(self.env, res) if res.realm=='wiki': if res.id and WikiSystem(self.env).has_page(res.id): menu = tag.ul( ) for res_child in relation_system.get_children(res): child_label = get_resource_description(self.env, res_child) if res_child.realm=='wiki': if res_child.id and WikiSystem(self.env).has_page(res_child.id): anc = tag.a(child_label, href = req.href.wiki(child_label)) menu.append(tag.li( anc )) filter = filter.append( tag.ul( tag.li( tag.a(label, href=req.href.wiki(label) ), menu ), class_= 'wiki_menu' ) ) if title != label: filter = filter.append( tag.span( ' / ', class_ = 'pathentry sep' ) ) remove_tran = '//a[@title="View ' + title + '"]' return stream | filter return stream
def filter_stream(self, req, method, filename, stream, data): if filename in ('milestone_view.html', ): buffer = StreamBuffer() t = Transformer('//div[@class="milestone"]/h1/text()[2]') t = t.copy(buffer).end() t = t.select('//div[@class="milestone"]/div[@class="info"]/dl') t = t.append(GenerateMetrixLink(buffer, req.href)) stream |= t return stream
def filter_stream(self, req, method, filename, stream, data): if filename in ('milestone_view.html', ): buffer = StreamBuffer() t = Transformer('//div[@class="milestone"]/h1/text()[2]') t = t.copy(buffer).end() t = t.select('//div[@class="milestone"]/div[@class="info"]/dl') t = t.append(GenerateMetrixLink(buffer, req.href)) stream |= t return stream
def filter_stream(self, req, method, filename, stream, data): if filename == "ticket.html" and req.get_header("X-Moz") != "prefetch": chrome = Chrome(self.env) # append the ticket fields to the end of the standard trac ticket box filter = Transformer('//div[@id="ticket"]') stream = stream | filter.append(chrome.render_template(req, 'fieldgroups_ticket_box.html', data, fragment=True)) # insert the ticket field groups after the standard trac 'Change Properties' field group filter = Transformer('//fieldset[@id="properties"]') stream = stream | filter.after(chrome.render_template(req, 'fieldgroups_properties.html', data, fragment=True)) #filter = Transformer('//fieldset[@id="action"]') #stream = stream | filter.before(chrome.render_template(req, 'fieldgroups_properties.html', data, fragment=True)) return stream
def filter_stream(self, req, method, filename, stream, data): # Allow setting version for milestone if filename == 'milestone_edit.html': filter = Transformer('//fieldset[1]') return stream | filter.before(self._version_edit(data)) # Display version for milestone elif filename == 'milestone_view.html': milestone = data.get('milestone').name filter = Transformer('//div[@class="info"]/p[@class="date"]') return stream | filter.append(self._version_display(req, milestone)) elif filename == 'roadmap.html': return self._milestone_versions(stream, req) return stream
def filter_stream(self, req, method, filename, stream, data): # Allow setting version for milestone if filename == 'milestone_edit.html': filter = Transformer('//fieldset[1]') return stream | filter.before(self._version_edit(data)) # Display version for milestone elif filename == 'milestone_view.html': milestone = data.get('milestone').name filter = Transformer('//div[@class="info"]/p[@class="date"]') return stream | filter.append(self._version_display( req, milestone)) elif filename == 'roadmap.html': return self._milestone_versions(stream, req) return stream
def filter_stream(self, req, method, filename, stream, data): if filename == "ticket.html" and req.get_header("X-Moz") != "prefetch": chrome = Chrome(self.env) # append the ticket fields to the end of the standard trac ticket box filter = Transformer('//div[@id="ticket"]') stream = stream | filter.append( chrome.render_template( req, 'fieldgroups_ticket_box.html', data, fragment=True)) # insert the ticket field groups after the standard trac 'Change Properties' field group filter = Transformer('//fieldset[@id="properties"]') stream = stream | filter.after( chrome.render_template( req, 'fieldgroups_properties.html', data, fragment=True)) #filter = Transformer('//fieldset[@id="action"]') #stream = stream | filter.before(chrome.render_template(req, 'fieldgroups_properties.html', data, fragment=True)) return stream
def filter_stream(self, req, method, filename, stream, data): if filename == 'browser.html' \ and req.perm.has_permission('REPOSITORY_MODIFY'): self.log.debug('Extending TracBrowser') if self.include_jqueryui: add_stylesheet(req, 'trac_browser_svn_ops/css/smoothness/jquery-ui.css') add_script(req, 'trac_browser_svn_ops/js/jquery-ui.js') add_stylesheet(req, 'trac_browser_svn_ops/css/trac_browser_ops.css') add_script(req, 'trac_browser_svn_ops/js/trac_browser_ops.js') # Insert browser operations elements when directory/file shown if data['dir']: data['max_upload_size'] = self.max_upload_size data['rename_only'] = self.rename_only # Insert upload dialog and move/delete dialog into div#main bsops_stream = Chrome(self.env).render_template(req, 'trac_browser_ops.html', data, fragment=True) bsops_transf = Transformer('//div[@id="main"]') stream |= bsops_transf.append( bsops_stream.select('//div[@class="bsop_dialog"]') ) # Insert button bar after file/directory table bsops_stream = Chrome(self.env).render_template(req, 'trac_browser_ops.html', data, fragment=True) bsops_transf = Transformer('//table[@id="dirlist"]') stream |= bsops_transf.after( bsops_stream.select('//div[@id="bsop_buttons"]') ) return stream