Example #1
0
 def content(self, req, ticket):
     tm = TicketMover(self.env)
     projects = tm.projects(req.authname)
     chrome = Chrome(self.env)
     template = chrome.load_template('ticketmover-sidebar.html')
     data = {'projects': projects,
             'req': req,
             'ticket': ticket}
     return template.generate(**data)
Example #2
0
 def enabled(self, req, ticket):
     if not self.config['ticket'].get('move_permission') in req.perm or \
             not ticket.exists:
         return False
     tm = TicketMover(self.env)
     projects = tm.projects(req.authname)
     self.log.debug(_("TicketMover SidebarProvider is %(status)s.",
                      status=['enabled', 'disabled'][bool(projects)]))
     return bool(projects)
Example #3
0
    def process_request(self, req):
        req.perm.require(self.config['ticket'].get('move_permission'))
        project = req.args['project']

        tm = TicketMover(self.env)
        new_location = tm.move(req.args['ticket'], req.authname,
                               project, 'delete' in req.args)

        if 'delete' in req.args:
            if new_location:
                req.redirect(new_location)
            else:
                raise TracError(_("Can't redirect to project %(project)s "
                                  "after moving ticket because \"base_url\" "
                                  "is not set for that project.",
                                  project=project))
        req.redirect(req.href.ticket(req.args['ticket']))