def filter_stream(self, req, method, filename, stream, data): if req.get_header("X-Moz") == "prefetch": return stream if filename == "ticket.html": if not self.check_permissions(req): return stream chrome = Chrome(self.env) filter = Transformer('//fieldset[@id="properties"]') # add a hidden div to hold the ticket_fields input snippet = tag.div(style="display:none;") snippet = tag.input(type="hidden", id="field-ticket_fields", name="field_ticket_fields", value=','.join(data['ticket_fields'])) stream = stream | filter.after(snippet) if req.path_info != '/newticket': # insert the ticket field groups after the standard trac 'Change Properties' field group stream = stream | filter.after(chrome.render_template(req, 'ticket_fields_datatable.html', data, fragment=True)) elif filename == "admin_enums.html": if not self.check_permissions(req) or not req.args.get('path_info'): return stream for k,v in {'cat_id':'ticket', 'panel_id':'type'}.iteritems(): if k not in req.args or req.args.get(k) != v: return stream if 'ticket_fields' in data: chrome = Chrome(self.env) filter = Transformer('//div[@class="buttons"]') # add a hidden div to hold the ticket_fields input snippet = tag.div(style="display:none;") snippet = tag.input(type="hidden", id="field-ticket_fields", name="field_ticket_fields", value=','.join(data['ticket_fields'])) stream = stream | filter.before(snippet) stream = stream | filter.before(chrome.render_template(req, 'ticket_fields_datatable.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': 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 == 'ticket.html': ticket = data.get('ticket') if self.keywords and ticket and ticket.exists and \ 'TICKET_CHGPROP' in req.perm(ticket.resource): filter = Transformer('//fieldset[@id="properties"]') stream |= filter.after(self._render_template(req)) elif filename == 'wiki_edit.html' and self.tagsplugin_enabled: filter = Transformer('//fieldset[@id="changeinfo"]') stream |= filter.after(self._render_template(req)) return stream
def filter_stream(self, req, method, filename, stream, data): if req.path_info.startswith('/admin/ticket/components/'): trans = Transformer('//form[@id="edit"]/fieldset/div[1]') stream = stream | trans.after( self._parent_component_select(req, data)) elif req.path_info.startswith('/admin/ticket/components'): # add a "parent component" column to the components table stream = stream | Transformer( '//table[@id="complist"]/thead/tr/th[3]').\ after(html.th('Parent')) all_comp = {} for comp in [ comp.name for comp in model.Component.select(self.env) ]: parent_component = self._ChModel.get_parent_component(comp) if parent_component is None: parent_component = "" all_comp[comp] = parent_component stream = stream | Transformer('//table[@id="complist"]//tr').apply( InsertParentTd("", all_comp)) 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): # Get path if filename == 'browser.html': # self.req_han = SupoSERequestHandler() path = data.get('created_path') repo = self.env.get_repository(authname=req.authname) node = get_existing_node(req, repo, path, repo.youngest_rev) file = "" if node: if node.isfile: file = posixpath.basename(path) path = posixpath.dirname(path) #raise Exception( path ) filter = Transformer('//div[@id="jumprev"]') search = tag.div( tag.form( # tag.div( "Repository search" ), tag.input( type = "text", id = "suquery", name = "q", size = 13, value = ""), tag.input( type = "hidden", id = "suquerypath", name = "p", size = 13, value = path), tag.input( type = "hidden", id = "suqueryfile", name = "f", size = 13, value = file), tag.input( type = "submit", value="Repo Search"), action=req.href.reposearch(), method="get", id="reposearch" ) ) return stream | filter.after(search) return stream
def filter_stream(self, req, method, filename, stream, data): if req.get_header("X-Moz") == "prefetch": return stream if filename == "ticket.html": if not self.check_permissions(req): return stream chrome = Chrome(self.env) filter = Transformer('//fieldset[@id="properties"]') # add a hidden div to hold the ticket_fields input snippet = tag.div(style="display:none;") snippet = tag.input(type="hidden", id="field-ticket_fields", name="field_ticket_fields", value=','.join(data['ticket_fields'])) stream = stream | filter.after(snippet) if req.path_info != '/newticket': # insert the ticket field groups after the standard trac 'Change Properties' field group stream = stream | filter.after( chrome.render_template(req, 'ticket_fields_datatable.html', data, fragment=True)) elif filename == "admin_enums.html": if not self.check_permissions(req) or not req.args.get( 'path_info'): return stream for k, v in {'cat_id': 'ticket', 'panel_id': 'type'}.iteritems(): if k not in req.args or req.args.get(k) != v: return stream if 'ticket_fields' in data: chrome = Chrome(self.env) filter = Transformer('//div[@class="buttons"]') # add a hidden div to hold the ticket_fields input snippet = tag.div(style="display:none;") snippet = tag.input(type="hidden", id="field-ticket_fields", name="field_ticket_fields", value=','.join(data['ticket_fields'])) stream = stream | filter.before(snippet) stream = stream | filter.before( chrome.render_template(req, 'ticket_fields_datatable.html', data, fragment=True)) return stream
def filter_stream(self, req, method, filename, stream, data): if filename == "ticket.html": filter = Transformer('//fieldset[@id="properties"]') field_groups = data.get('field_groups') for group in field_groups: stream = stream | filter.after(self._field_group(req, group)) return stream
def filter_stream(self, req, method, filename, stream, data): if filename == "ticket.html": filter = Transformer('//fieldset[@id="properties"]') field_groups = data.get('field_groups') for group in field_groups: stream = stream | filter.after(self._field_group(req, group)) 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 'ticket' in data and 'remote_sites' in data: add_script(req, 'tracremoteticket/js/remoteticket.js') transf = Transformer('//select[@id="linked-end"]') label = tag.label(' in ', for_='remote-site') local = tag.option('this project', value=req.href.newticket(), selected='selected') remotes = [tag.option(rs['title'], value=Href(rs['url']).newticket()) for rs in data['remote_sites']] select = tag.select([local] + remotes, id='remote-site') content = label + select stream |= transf.after(content) 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
def filter_stream(self, req, method, filename, stream, data): if filename == "smp_admin_components.html" and data.get('component'): filter = Transformer('//form[@id="modcomp"]/fieldset/div[1]') return stream | filter.after(self.__edit_project(data)) return stream
def filter_stream(self, req, method, filename, stream, data): if filename == "smp_admin_components.html" and data.get('component'): filter = Transformer('//form[@id="modcomp"]/fieldset/div[1]') return stream | filter.after(self.__edit_project(data)) return stream