def test_priority_delete(self): prio = Priority(self.env, 'major') self.assertEqual('3', prio.value) prio.delete() self.assertFalse(prio.exists) self.assertRaises(TracError, Priority, self.env, 'major') prio = Priority(self.env, 'minor') self.assertEqual('3', prio.value)
def get_ticket_changes(self, req, ticket, action): id = 'vote_%s_result' % (action, ) selected = req.args.get(id, 'for') priorities = list(Priority.select(self.env)) orig_ticket = Ticket(self.env, ticket.id) current_priority = int(Priority(self.env, name= orig_ticket['priority']).value) if selected == 'for': # priorities are 1-based, not 0-based new_value = max(1, current_priority - 1) else: maxval = max([int(p.value) for p in priorities]) new_value = min(maxval, current_priority + 1) return {'priority': [p.name for p in priorities if int(p.value) == new_value][0]}
def main(): if len(sys.argv) < 2: print >> sys.stderr, 'usage: %s /path/to/projenv' \ % os.path.basename(sys.argv[0]) sys.exit(2) env = open_environment(sys.argv[1]) with env.db_transaction: for oldprio, newprio in priority_mapping.items(): priority = Priority(env, oldprio) priority.name = newprio priority.update() for severity in list(Severity.select(env)): severity.delete()
def render_poll(self, req, title, votes): from trac.ticket.model import Ticket, Priority from trac.ticket.query import Query add_stylesheet(req, 'poll/css/poll.css') if not req.perm.has_permission('POLL_VIEW') or \ not req.perm.has_permission('TICKET_VIEW'): return '' all_votes = [] ticket_count = 0 for vote in votes: tickets = [] if vote.startswith('#'): try: tickets.append(int(vote.strip('#'))) except ValueError: raise TracError('Invalid ticket number %s' % vote) elif vote.startswith('query:'): query = vote[6:] tickets = [q['id'] for q in Query.from_string(self.env, query).execute(req)] else: all_votes.append(('%08x' % abs(hash(vote)), None, wiki_to_oneliner(vote, self.env))) # Make tickets look pretty for idx, id in enumerate(tickets): try: ticket = Ticket(self.env, id) except Exception: continue summary = ticket['summary'] + ' (#%i)' % id priority = Priority(self.env, ticket['priority']).value summary = wiki_to_oneliner(summary, self.env) all_votes.append((str(id), "ticket prio%s%s%s" % (priority, ticket_count % 2 and ' even' or '', ticket['status'] == 'closed' and ' closed' or ''), summary)) ticket_count += 1 if not all_votes: raise TracError('No votes provided') poll = Poll(self.base_dir, title, all_votes) if req.perm.has_permission('POLL_VOTE'): poll.populate(req) return poll.render(self.env, req)
def main(): if len(sys.argv) < 2: print >> sys.stderr, 'usage: %s /path/to/projenv' \ % os.path.basename(sys.argv[0]) sys.exit(2) env = open_environment(sys.argv[1]) db = env.get_db_cnx() for oldprio, newprio in priority_mapping.items(): priority = Priority(env, oldprio, db) priority.name = newprio priority.update(db) for severity in list(Severity.select(env, db)): severity.delete(db) db.commit()
def render_poll(self, req, title, votes): add_stylesheet(req, 'poll/css/poll.css') if not req.perm.has_permission('POLL_VIEW'): return '' all_votes = [] ticket_count = 0 for vote in votes: tickets = [] if vote.startswith('#'): try: tickets.append(int(vote.strip('#'))) except ValueError: raise TracError('Invalid ticket number %s' % vote) elif vote.startswith('query:'): query = vote[6:] tickets = [q['id'] for q in Query.from_string(self.env, query).execute(req)] else: all_votes.append(('%08x' % abs(hash(vote)), None, wiki_to_oneliner(vote, self.env, req=req))) # Make tickets look pretty for idx, id in enumerate(tickets): try: ticket = Ticket(self.env, id) except Exception: continue summary = ticket['summary'] + ' (#%i)' % id try: priority = Priority(self.env, ticket['priority']).value except ResourceNotFound, e: #this priority name has been removed from model priority = 0 summary = wiki_to_oneliner(summary, self.env, req=req) all_votes.append((str(id), "ticket prio%s%s%s" % (priority, ticket_count % 2 and ' even' or '', ticket['status'] == 'closed' and ' closed' or ''), summary)) ticket_count += 1
def test_abstractenum(self): """ Verify basic AbstractEnum functionality. """ p = Priority(self.env, 'major') self.assertEqual(p.name, 'major') self.assertEqual(p.value, '3') p = Priority(self.env) p.name = 'foo' p.insert() p = Priority(self.env) p.name = 'bar' p.value = 100 p.insert() p = Priority(self.env, 'foo') p.name = 'foo2' p.update() p = Priority(self.env, 'foo2') p.delete() p = Priority(self.env, 'bar') p.delete()
def test_priority_delete(self): prio = Priority(self.env, 'major') prio.delete() self.assertEqual(False, prio.exists) self.assertRaises(TracError, Priority, self.env, 'major')
def test_priority_update(self): prio = Priority(self.env, 'major') prio.name = 'foo' prio.update() Priority(self.env, 'foo') self.assertRaises(TracError, Priority, self.env, 'major')
def test_priority_insert_with_value(self): prio = Priority(self.env) prio.name = 'bar' prio.value = 100 prio.insert() self.assertEqual(True, prio.exists)
def test_priority_insert(self): prio = Priority(self.env) prio.name = 'foo' prio.insert() self.assertEqual(True, prio.exists)
def test_priority_fetch(self): prio = Priority(self.env, 'major') self.assertEqual(prio.name, 'major') self.assertEqual(prio.value, '3')