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)
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)
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']))