Ejemplo n.º 1
0
    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"]')
Ejemplo n.º 2
0
  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
Ejemplo n.º 3
0
 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
Ejemplo n.º 4
0
    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
Ejemplo n.º 5
0
 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
Ejemplo n.º 6
0
 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
Ejemplo n.º 7
0
    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"]')
Ejemplo n.º 8
0
    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"]')