I found the problem. I didn't select a user story. But I think this is still a bug, because a "polite" error message should occur when doing something like this...
On 1 Sep., 12:07, "Esser, Patrick" <[email protected]> wrote: > I just started to try Agilo and have following problem in the Sprint Backlog > View: > > I started a test sprint and added User Stories with User Story Points. After > that I added some referenced tasks and edited the Remainig Time value of one > Task. Afterwards I clicked on the Calculate Story Points/Time Button. Now an > exceptions occurs: > > Oops... > > Trac detected an internal error: > > UnableToLoadObjectError: An error occurred while getting ticket from the > database: FEHLER: ungültige Eingabesyntax für ganze Zahl: »in ()« LINE 1: > ...tom.ticket WHERE ticket.type=E'story' AND ticket.id=E'in ()' ^ > > This is probably a local installation issue. > > Found a bug in Trac? > > If you think this should work and you can reproduce the problem, you should > consider reporting this to the Trac team. > > Before you do that, though, please first try searching > <http://trac.edgewall.org/search?ticket=yes&noquickjump=1&q=UnableToLo...> > for similar issues, as it is quite likely that this problem has been reported > before. For questions about installation and configuration of Trac, please > try the mailing list <http://trac.edgewall.org/wiki/MailingList> instead of > filing a ticket. > > Python Traceback > > Most recent call last: > > * File > "C:\Programme\Python26\lib\site-packages\trac-0.11.5-py2.6.egg\trac\web\main.py", > line 444, in _dispatch_request > <http://trac/demo/backlog/Sprint%20Backlog/Sprint%201#frame0#frame0> > > Code fragment: > > 439.try: > > 440.if not env and env_error: > > 441.raise HTTPInternalError(env_error) > > 442.try: > > 443.dispatcher = RequestDispatcher(env) > > 444.dispatcher.dispatch(req) > > 445.except RequestDone: > > 446.pass > > 447.resp = req._response or [] > > 448. > > 449.except HTTPException, e: > > Local variables: > > Name > > Value > > after > > [u' except RequestDone:', u' pass', u' resp = ... > > before > > [u' try:', u' if not env and env_error:', u' raise ... > > dispatcher > > <trac.web.main.RequestDispatcher object at 0x032DD790> > > e > > UnableToLoadObjectError(u"An error occurred while getting ticket from the ... > > env > > <trac.env.Environment object at 0x0277FDB0> > > env_error > > None > > exc_info > > (<class 'agilo.core.model.UnableToLoadObjectError'>, ... > > filename > > 'C:\\Programme\\Python26\\lib\\site-packages\\trac-0.11.5-py2.6.egg\\trac\\ > ... > > frames > > [{'function': '_dispatch_request', 'lines_before': [u' try:', u' ... > > has_admin > > True > > line > > u' dispatcher.dispatch(req)' > > lineno > > 443 > > message > > u"UnableToLoadObjectError: An error occurred while getting ticket from the ... > > req > > <Request "POST u'/backlog/Sprint Backlog/Sprint 1'"> > > resp > > [] > > tb > > <traceback object at 0x038A0B20> > > tb_hide > > None > > traceback > > u'Traceback (most recent call last):\n File ... > > * File > "C:\Programme\Python26\lib\site-packages\trac-0.11.5-py2.6.egg\trac\web\main.py", > line 205, in dispatch > <http://trac/demo/backlog/Sprint%20Backlog/Sprint%201#frame1#frame1> > > Code fragment: > > 200.req.args.get('__FORM_TOKEN') != req.form_token: > > 201.raise HTTPBadRequest('Missing or invalid form token. ' > > 202.'Do you have cookies enabled?') > > 203. > > 204.# Process the request and render the template > > 205.resp = chosen_handler.process_request(req) > > 206.if resp: > > 207.if len(resp) == 2: # Clearsilver > > 208.chrome.populate_hdf(req) > > 209.template, content_type = \ > > 210.self._post_process_request(req, *resp) > > Local variables: > > Name > > Value > > chosen_handler > > <agilo.scrum.backlog.web_ui.BacklogDetailView object at 0x02867F30> > > chrome > > <trac.web.chrome.Chrome object at 0x032DD130> > > ctype > > 'application/x-www-form-urlencoded' > > e > > CommandError(u'An error occurred while getting None from the database: ... > > err > > (<class 'agilo.core.model.UnableToLoadObjectError'>, ... > > handler > > <agilo.scrum.backlog.web_ui.BacklogDetailView object at 0x02867F30> > > options > > {} > > req > > <Request "POST u'/backlog/Sprint Backlog/Sprint 1'"> > > self > > <trac.web.main.RequestDispatcher object at 0x032DD790> > > * File > "C:\Programme\Python26\lib\site-packages\agilo-0.8.2.0.2_r1872_20090828-py2.6.egg\agilo\api\view.py", > line 156, in process_request > <http://trac/demo/backlog/Sprint%20Backlog/Sprint%201#frame2#frame2> > > Code fragment: > > 151.basically, than send a Command Request to a Controller. The > > 152.response has to be rendered according to the view needs.""" > > 153.try: > > 154.handler = self.get_handler(req) > > 155.if handler is not None: > > 156.return self._call_filters_and_handler(req, handler) > > 157.else: > > 158.raise TracError('No handler found for method %s' % req.method) > > 159.except controller.ICommand.NotValidError, e: > > 160.chrome.add_warning(req, unicode(e)) > > 161.# not that we update the data, so that the set value are > > Local variables: > > Name > > Value > > handler > > <bound method BacklogDetailView.do_post of ... > > req > > <Request "POST u'/backlog/Sprint Backlog/Sprint 1'"> > > self > > <agilo.scrum.backlog.web_ui.BacklogDetailView object at 0x02867F30> > > * File > "C:\Programme\Python26\lib\site-packages\agilo-0.8.2.0.2_r1872_20090828-py2.6.egg\agilo\api\view.py", > line 144, in _call_filters_and_handler > <http://trac/demo/backlog/Sprint%20Backlog/Sprint%201#frame3#frame3> > > Code fragment: > > 139.return True > > 140. > > 141.def _call_filters_and_handler(self, req, handler): > > 142.for filter in self.filters: > > 143.filter.pre_process_request(req) > > 144.data = handler(req) or {} > > 145.for filter in self.filters: > > 146.filter.post_process_request(req) > > 147.return self.respond(data) > > 148. > > 149.def process_request(self, req): > > Local variables: > > Name > > Value > > handler > > <bound method BacklogDetailView.do_post of ... > > req > > <Request "POST u'/backlog/Sprint Backlog/Sprint 1'"> > > self > > <agilo.scrum.backlog.web_ui.BacklogDetailView object at 0x02867F30> > > * File > "C:\Programme\Python26\lib\site-packages\agilo-0.8.2.0.2_r1872_20090828-py2.6.egg\agilo\scrum\backlog\web_ui.py", > line 837, in do_post > <http://trac/demo/backlog/Sprint%20Backlog/Sprint%201#frame4#frame4> > > Code fragment: > > 832.elif req.args.has_key('remove'): > > 833.self._perform_action(req, backlog, 'remove', data) > > 834.elif req.args.has_key('delete'): > > 835.self._perform_action(req, backlog, 'delete', data) > > 836.elif req.args.has_key('calculate'): > > 837.self._perform_action(req, backlog, 'calculate', data) > > 838.elif req.args.has_key('confirm'): > > 839.self._perform_action(req, backlog, 'confirm', data) > > 840. > > 841.# Send data > > 842.self._do_show(req, data, backlog) > > Local variables: > > Name > > Value > > backlog > > <agilo.scrum.backlog.model.Backlog object at 0x0242F6F0> > > data > > {'closed_tickets': 0, 'my_tickets': 0} > > req > > <Request "POST u'/backlog/Sprint Backlog/Sprint 1'"> > > self > > <agilo.scrum.backlog.web_ui.BacklogDetailView object at 0x02867F30> > > * File > "C:\Programme\Python26\lib\site-packages\agilo-0.8.2.0.2_r1872_20090828-py2.6.egg\agilo\scrum\backlog\web_ui.py", > line 657, in _perform_action > <http://trac/demo/backlog/Sprint%20Backlog/Sprint%201#frame5#frame5> > > Code fragment: > > 652.def _perform_action(self, req, backlog, action, data): > > 653."""Perform the given do_method action, if allowed, or reload with a > > 654.warning if not allowed""" > > 655.if self.is_allowed_to(req, backlog, action): > > 656.do_action = getattr(self, '_do_' + action) > > 657.do_action(req, backlog) > > 658.# To make it REST we redirect after the save > > 659.params = {'name': backlog.name} > > 660.if backlog.scope is not None: > > 661.params['scope'] = backlog.scope > > 662.self.redirect(req, BacklogDetailView, backlog.name, backlog.scope) > > Local variables: > > Name > > Value > > action > > 'calculate' > > backlog > > <agilo.scrum.backlog.model.Backlog object at 0x0242F6F0> > > data > > {'closed_tickets': 0, 'my_tickets': 0} > > do_action > > <bound method BacklogDetailView._do_calculate of ... > > req > > <Request "POST u'/backlog/Sprint Backlog/Sprint 1'"> > > self > > <agilo.scrum.backlog.web_ui.BacklogDetailView object at 0x02867F30> > > * File > "C:\Programme\Python26\lib\site-packages\agilo-0.8.2.0.2_r1872_20090828-py2.6.egg\agilo\scrum\backlog\web_ui.py", > line 487, in _do_calculate > <http://trac/demo/backlog/Sprint%20Backlog/Sprint%201#frame6#frame6> > > Code fragment: > > 482.def _do_calculate(self, req, backlog): > > 483.sprint = BacklogModule(self.env)._get_sprint(req, backlog.scope) > > 484.if sprint.team == None: > > 485.raise TracError(_('No team selected for this sprint')) > > 486.story_ids = self._extract_selected_ticket_ids(req) > > 487.stories = self._get_stories_for_ids(story_ids) > > 488.if len(stories) == 0: > > 489.# we can't use add_warning here because we do a redirect > > 490.# at the end of the request and trac does not provide a > > 491.# mechanism to preserve the message for the next page to be > > 492.# shown > > Local variables: > > Name > > Value > > backlog > > <agilo.scrum.backlog.model.Backlog object at 0x0242F6F0> > > req > > <Request "POST u'/backlog/Sprint Backlog/Sprint 1'"> > > self > > <agilo.scrum.backlog.web_ui.BacklogDetailView object at 0x02867F30> > > sprint > > ValueObject({'end': u'11.09.2009 00:00:00', 'description': u'Ziel ist ... > > story_ids > > [] > > * File > "C:\Programme\Python26\lib\site-packages\agilo-0.8.2.0.2_r1872_20090828-py2.6.egg\agilo\scrum\backlog\web_ui.py", > line 417, in _get_stories_for_ids > <http://trac/demo/backlog/Sprint%20Backlog/Sprint%201#frame7#frame7> > > Code fragment: > > 412.def _get_stories_for_ids(self, story_ids): > > 413.tm = AgiloTicketModelManager(self.env) > > 414.criteria = { > > 415.'id': 'in (%s)' % ', '.join([str(st_id) for st_id in story_ids]), > > 416.'type': Type.USER_STORY} > > 417.return tm.select(criteria=criteria) > > 418. > > 419.def _display_options(self, req): > > 420.# Read from the session the current display settings > > 421.my_tickets = int(req.session.get(Key.MY_TICKETS, '0')) > > 422.closed_tickets = int(req.session.get(Key.CLOSED_TICKETS, '0')) > > Local variables: > > Name > > Value > > criteria > > {'type': 'story', 'id': 'in ()'} > > self > > <agilo.scrum.backlog.web_ui.BacklogDetailView object at 0x02867F30> > > story_ids > > [] > > tm > > <agilo.ticket.model.AgiloTicketModelManager object at 0x02898270> > > * File > "C:\Programme\Python26\lib\site-packages\agilo-0.8.2.0.2_r1872_20090828-py2.6.egg\agilo\ticket\model.py", > line 1199, in select > <http://trac/demo/backlog/Sprint%20Backlog/Sprint%201#frame8#frame8> > > Code fragment: > > 1194.tickets.append(self.get(**params)) > > 1195. > > 1196.except Exception, e: > > 1197.raise UnableToLoadObjectError(_("An error occurred while " \ > > 1198."getting ticket from the " \ > > 1199."database: %s" % to_unicode(e))) > > 1200.return tickets > > 1201. > > 1202.def select_tickets_having_properties(self, properties, > > 1203.criteria=None, order_by=None, > > 1204.limit=None, db=None): > > Local variables: > > Name > > Value > > criteria > > {'type': 'story', 'id': 'in ()'} > > cursor > > <trac.db.util.IterableCursor object at 0x0349E9D0> > > db > > <trac.db.pool.PooledConnection object at 0x037D9760> > > e > > DataError("FEHLER: ung\xc3\xbcltige Eingabesyntax f\xc3\xbcr ganze Zahl: ... > > filter > > ' WHERE ticket.type=%(type)s AND ticket.id=%(id)s' > > handle_ta > > True > > limit > > None > > order_by > > None > > self > > <agilo.ticket.model.AgiloTicketModelManager object at 0x02898270> > > sql > > 'SELECT DISTINCT id, type FROM ticket LEFT OUTER JOIN ticket_custom ON ... > > tickets > > [] > > values > > {'type': 'story', 'id': 'in ()'} > > File > "C:\Programme\Python26\lib\site-packages\trac-0.11.5-py2.6.egg\trac\web\main.py", > line 444, in _dispatch_request > dispatcher.dispatch(req) > File > "C:\Programme\Python26\lib\site-packages\trac-0.11.5-py2.6.egg\trac\web\main.py", > line 205, in dispatch > resp = chosen_handler.process_request(req) > File > "C:\Programme\Python26\lib\site-packages\agilo-0.8.2.0.2_r1872_20090828-py2.6.egg\agilo\api\view.py", > line 156, in process_request > return self._call_filters_and_handler(req, handler) > File > "C:\Programme\Python26\lib\site-packages\agilo-0.8.2.0.2_r1872_20090828-py2.6.egg\agilo\api\view.py", > line 144, in _call_filters_and_handler > data = handler(req) or {} > File > "C:\Programme\Python26\lib\site-packages\agilo-0.8.2.0.2_r1872_20090828-py2.6.egg\agilo\scrum\backlog\web_ui.py", > line 837, in do_post > self._perform_action(req, backlog, 'calculate', data) > File > "C:\Programme\Python26\lib\site-packages\agilo-0.8.2.0.2_r1872_20090828-py2.6.egg\agilo\scrum\backlog\web_ui.py", > line 657, in _perform_action > do_action(req, backlog) > File > "C:\Programme\Python26\lib\site-packages\agilo-0.8.2.0.2_r1872_20090828-py2.6.egg\agilo\scrum\backlog\web_ui.py", > line 487, in _do_calculate > stories = self._get_stories_for_ids(story_ids) > File > "C:\Programme\Python26\lib\site-packages\agilo-0.8.2.0.2_r1872_20090828-py2.6.egg\agilo\scrum\backlog\web_ui.py", > line 417, in _get_stories_for_ids > return tm.select(criteria=criteria) > File > "C:\Programme\Python26\lib\site-packages\agilo-0.8.2.0.2_r1872_20090828-py2.6.egg\agilo\ticket\model.py", > line 1199, in select > "database: %s" % to_unicode(e))) > > System Information: > > User Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2; Trident/4.0; > .NET CLR 1.1.4322) > > Trac: > > 0.11.5 > > Python: > > 2.6.2 (r262:71605, Apr 14 2009, 22:40:02) [MSC v.1500 32 bit (Intel)] > > setuptools: > > 0.6c9 > > psycopg2: > > 2.0.10 > > Genshi: > > 0.5.1 > > mod_wsgi: > > 2.5 > > Agilo: > > 0.8.2.0.2-r1872-20090828 > > Subversion: > > 1.6.3 (r38063) > > jQuery: > > 1.2.6 > > ------------------------------------------------------------------------------------------ > HUTH Elektronik Systeme GmbH, 53842 Troisdorf-Spich > Geschäftsführer: Ralf Zimmermann, Benno Kerling > Amtsgericht Siegburg HRB 5386 --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Agilo for Scrum" group. This group is moderated by agile42 GmbH http://www.agile42.com and is focused in supporting Agilo for Scrum users. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/agilo?hl=en -~----------~----~----~----~------~----~------~--~---

