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
-~----------~----~----~----~------~----~------~--~---

Reply via email to