def _generate_form(self, req, data): batchFormData = dict(data) batchFormData['query_href']= req.session['query_href'] \ or req.href.query() batchFormData['notify_enabled'] = self.config.getbool( 'notification', 'smtp_enabled', False) ticketSystem = TicketSystem(self.env) fields = [] for field in ticketSystem.get_ticket_fields(): if field['name'] not in ('summary', 'reporter', 'description'): fields.append(field) if field['name'] == 'owner' \ and hasattr(ticketSystem, 'eventually_restrict_owner'): ticketSystem.eventually_restrict_owner(field) fields.sort(key=lambda f: f['name']) batchFormData['fields'] = fields add_script(req, 'batchmod/js/batchmod.js') add_stylesheet(req, 'batchmod/css/batchmod.css') stream = Chrome(self.env).render_template(req, 'batchmod.html', batchFormData, fragment=True) return stream.select('//form[@id="batchmod_form"]')
def filter_stream(self, req, method, filename, stream, data): logger = self.env.log if filename == 'ticket.html': ticket_sys = TicketSystem(self.env) custom_fields = [field.get('name') for field in ticket_sys.get_ticket_fields()\ if field.get('custom') is True] all_fields = self.default_fields + custom_fields # Populate de all_fields array so the javascript code can # hide/show them. script = "<script>\n" for field_name in all_fields: script += ("all_fields.push('%s');\n" % field_name) i = 1 while len(self.config.getlist(self.config_section, ('ticket_type_%d' % i))) > 0 : ticket_type = self.config.getlist(self.config_section, ('ticket_type_%d' % i)) visible_fields = self.config.getlist(self.config_section, ('visible_fields_%d' % i)) required_fields = self.config.getlist(self.config_section, ('required_fields_%d' % i)) if len(visible_fields) > 0 : script += ("types['%s'] = ['%s'];\n" % ("".join(ticket_type), "','".join(visible_fields))) script += ("types_required['%s'] = ['%s'];\n" % ("".join(ticket_type), "','".join(required_fields))) i += 1 script += "</script>\n" stream |= Transformer("//div[@id='footer']").after(MarkupTemplate(script).generate()) return stream
def process_request(self, req): if req.path_info == '/' and MobileDetect(req).is_mobile(): req.redict('/mobile') else: ts = TicketSystem(self.env) fields = ts.get_ticket_fields() return 'test.html', {"JSON": custom_json, "fields": fields}, None
def meta_getTypeDefinition(self, req): ticket_system = TicketSystem(self.env) fields = ticket_system.get_ticket_fields() # remove ticket type as this should be a parameter of the request # XXX Trac doesn't support fields based on ticket type fields = [field for field in fields if field['name'] != 'type'] return fields
def meta_getTypeDefinition(self, req): ticket_system = TicketSystem(self.env) fields = ticket_system.get_ticket_fields() # remove ticket type as this should be a parameter of the request # XXX Trac doesn't support fields based on ticket type fields = [ field for field in fields if field['name'] != 'type' ] return fields
def process_request(self, req): if req.path_info == '/': try: from mobiledetect import MobileDetect if MobileDetect( useragent=req.get_header('user-agent')).is_mobile(): req.redirect('/mobile') except ImportError: pass else: ts = TicketSystem(self.env) fields = ts.get_ticket_fields() return 'test.html', {"JSON": custom_json, "fields": fields}, None
def _generate_form(self, req, data): batchFormData = dict(data) batchFormData["query_href"] = req.session["query_href"] or req.href.query() ticketSystem = TicketSystem(self.env) fields = [] for field in ticketSystem.get_ticket_fields(): if field["name"] not in ("summary", "reporter", "description"): fields.append(field) if field["name"] == "owner" and hasattr(ticketSystem, "eventually_restrict_owner"): ticketSystem.eventually_restrict_owner(field) fields.sort(key=lambda f: f["name"]) batchFormData["fields"] = fields add_script(req, "batchmod/js/batchmod.js") add_stylesheet(req, "batchmod/css/batchmod.css") stream = Chrome(self.env).render_template(req, "batchmod.html", batchFormData, fragment=True) return stream.select('//form[@id="batchmod_form"]')
def _generate_form(self, req, data): batchFormData = dict(data) batchFormData['query_href']= req.session['query_href'] \ or req.href.query() batchFormData['notify_enabled'] = self.config.getbool('notification', 'smtp_enabled', False) ticketSystem = TicketSystem(self.env) fields = [] for field in ticketSystem.get_ticket_fields(): if field['name'] not in ('summary', 'reporter', 'description'): fields.append(field) if field['name'] == 'owner' \ and hasattr(ticketSystem, 'eventually_restrict_owner'): ticketSystem.eventually_restrict_owner(field) fields.sort(key=lambda f: f['name']) batchFormData['fields']=fields add_script(req, 'batchmod/js/batchmod.js') add_stylesheet(req, 'batchmod/css/batchmod.css') stream = Chrome(self.env).render_template(req, 'batchmod.html', batchFormData, fragment=True) return stream.select('//form[@id="batchmod_form"]')