Esempio n. 1
0
 def pre_process_request(self, req, handler):
     if 'TICKET_ADMIN' in req.perm and req.method == 'POST' and req.path_info.startswith('/admin/ticket/components'):
         if req.args.get('save') and req.args.get('name'):
             old_name = req.args.get('old_name')
             new_name = req.args.get('name')
             old_cc = DefaultCC(self.env, old_name)
             new_cc = DefaultCC(self.env, new_name)
             new_cc.cc = req.args.get('defaultcc')
             if old_name == new_name or not model.Component(self.env, new_name).exists:
                 old_cc.delete()
                 new_cc.insert()
         elif req.args.get('add') and req.args.get('name'):
             name = req.args.get('name')
             try:
                 model.Component(self.env, name)
             except ResourceNotFound:
                 cc = DefaultCC(self.env, name)
                 cc.name = name
                 cc.cc = req.args.get('defaultcc')
                 cc.insert()
         elif req.args.get('remove'):
             if req.args.get('sel'):
                 # If only one component is selected, we don't receive an array, but a string
                 # preventing us from looping in that case :-/
                 if isinstance(req.args.get('sel'), unicode) or isinstance(req.args.get('sel'), str):
                     cc = DefaultCC(self.env, req.args.get('sel'))
                     cc.delete()
                 else:
                     for name in req.args.get('sel'):
                         cc = DefaultCC(self.env, name)
                         cc.delete()
     return handler
Esempio n. 2
0
 def pre_process_request(self, req, handler):
     if 'TICKET_ADMIN' in req.perm and req.method == 'POST' \
             and req.path_info.startswith('/admin/ticket/components'):
         if req.args.get('save') and req.args.get('name'):
             old_name = req.args.get('old_name')
             new_name = req.args.get('name')
             old_cc = DefaultCC(self.env, old_name)
             new_cc = DefaultCC(self.env, new_name)
             new_cc.cc = req.args.get('defaultcc', '')
             if old_name == new_name:
                 old_cc.delete()
                 new_cc.insert()
             else:
                 try:
                     model.Component(self.env, new_name)
                 except ResourceNotFound:
                     old_cc.delete()
                     new_cc.insert()
         elif req.args.get('add') and req.args.get('name'):
             name = req.args.get('name')
             try:
                 model.Component(self.env, name)
             except ResourceNotFound:
                 cc = DefaultCC(self.env, name)
                 cc.name = name
                 cc.cc = req.args.get('defaultcc', '')
                 cc.insert()
         elif req.args.get('remove'):
             if req.args.get('sel'):
                 # If only one component is selected, we don't receive
                 # an array, but a string preventing us from looping in
                 # that case.
                 if isinstance(req.args.get('sel'), basestring):
                     cc = DefaultCC(self.env, req.args.get('sel'))
                     cc.delete()
                 else:
                     for name in req.args.get('sel'):
                         cc = DefaultCC(self.env, name)
                         cc.delete()
     return handler
Esempio n. 3
0
 def pre_process_request(self, req, handler):
     if 'TICKET_ADMIN' in req.perm and req.method == 'POST' and req.path_info.startswith('/admin/ticket/components'):
         if req.args.get('save'):
             cc = DefaultCC(self.env, req.args.get('old_name'))
             cc.delete()
             cc.name = req.args.get('name')
             cc.cc = req.args.get('defaultcc')
             cc.insert()
         elif req.args.get('remove'):
             if req.args.get('sel'):
                 # If only one component is selected, we don't receive an array, but a string
                 # preventing us from looping in that case :-/
                 if isinstance(req.args.get('sel'), unicode) or isinstance(req.args.get('sel'), str):
                     cc = DefaultCC(self.env, req.args.get('sel'))
                     cc.delete()
                 else:
                     for name in req.args.get('sel'):
                         cc = DefaultCC(self.env, name)
                         cc.delete()
     return handler