Discussion:
[Agilo for Trac] Error When Editing User Story When Tasks Below it Still Have Hours
sojrner
2015-11-24 16:42:00 UTC
Permalink
I've looked through this group and the agilo ticket list to no avail.
Apologies if I've missed something obvious... When editing *most* fields in
a user story, if there are any hours on tasks referencing it Agilo throws
the following error:

"TypeError: expected string or buffer"

We have tracked this to be only an issue when tasks still have hours, which
then show as remaining time on the story. We can also change the story from
"story" to "task" types without issue, but changing any other data point
results in that error. (including trying to change it back from "task" to
"story") If we move all hours of child tickets to zero, everything is fine
and editing can continue on the story.

This seems like incorrect behavior, as I've read posts here about similar
issues that seem to confirm that a story should be able to be closed
regardless of task state. (makes sense when you don't use up all hours on a
task, but the story is fulfilled) I'm including the call list and other
system information for completeness. I appreciate all the help.

Thank you.



Most recent call last:

File "/usr/lib/python2.6/site-packages/Trac-1.0.5-py2.6.egg/trac/web/main.py", line 513, in _dispatch_request
dispatcher.dispatch(req)
File "/usr/lib/python2.6/site-packages/Trac-1.0.5-py2.6.egg/trac/web/main.py", line 222, in dispatch
resp = chosen_handler.process_request(req)
File "/usr/lib/python2.6/site-packages/Trac-1.0.5-py2.6.egg/trac/ticket/web_ui.py", line 182, in process_request
return self._process_ticket_request(req)
File "/usr/lib/python2.6/site-packages/binary_agilo-1.3.14_PRO-py2.6.egg/agilo/ticket/web_ui.py", line 227, in _process_ticket_request
template, data, content_type = super(AgiloTicketModule, self)._process_ticket_request(req)
File "/usr/lib/python2.6/site-packages/Trac-1.0.5-py2.6.egg/trac/ticket/web_ui.py", line 619, in _process_ticket_request
self._do_save(req, ticket, action)
File "/usr/lib/python2.6/site-packages/Trac-1.0.5-py2.6.egg/trac/ticket/web_ui.py", line 1342, in _do_save
replyto=req.args.get('replyto'))
File "/usr/lib/python2.6/site-packages/binary_agilo-1.3.14_PRO-py2.6.egg/agilo/ticket/model.py", line 854, in save_changes
self._check_business_rules()
File "/usr/lib/python2.6/site-packages/binary_agilo-1.3.14_PRO-py2.6.egg/agilo/ticket/model.py", line 838, in _check_business_rules
RuleEngine(self.env).validate_rules(self)
File "/usr/lib/python2.6/site-packages/binary_agilo-1.3.14_PRO-py2.6.egg/agilo/scrum/workflow/api.py", line 63, in validate_rules
r.validate(ticket)
File "/usr/lib/python2.6/site-packages/binary_agilo-1.3.14_PRO-py2.6.egg/agilo/scrum/workflow/rules.py", line 230, in validate
match = self.extract_numbers_regex.match(remaining_time)


User Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:43.0) Gecko/20100101
Firefox/43.0
Trac 1.0.5 Agilo 1.3.14-PRO Agilo 1.3.14-PRO Agilo 1.3.14-PRO Agilo
1.3.14-PRO Docutils 0.8.1 Genshi 0.7 (without speedups) Mercurial 2.4.1
mod_wsgi 3.4 (WSGIProcessGroup sitestrac WSGIApplicationGroup trac) pysqlite
2.4.1 Python 2.6.6 (r266:84292, Nov 21 2013, 10:50:32) [GCC 4.4.7 20120313
(Red Hat 4.4.7-4)] pytz 2010h setuptools 0.6 SQLite 3.6.20 Subversion 1.6.11
(r934486) jQuery1.7.2jQuery UI1.8.21jQuery Timepicker1.0.1 Enabled Plugins:
binary-agilo <http://www.agilofortrac.com/> 1.3.14-PRO
/usr/lib/python2.6/site-packages/binary_agilo-1.3.14_PRO-py2.6.egg
<http://persephone.atmreports.com/trac/atmreports/ticket/4085#frame3>
IniAdmin <http://trac-hacks.org/wiki/IniAdminPlugin> 0.2-r10454
/projects/trac/plugins/IniAdmin-0.2_r10454-py2.6.egg
timingandestimationplugin
<http://www.trac-hacks.org/wiki/TimingAndEstimationPlugin> 1.3.7
/usr/lib/python2.6/site-packages/timingandestimationplugin-1.3.7-py2.6.egg
TracAccountManager <http://trac-hacks.org/wiki/AccountManagerPlugin> 0.4
/projects/trac/plugins/TracAccountManager-0.4-py2.6.egg TracMercurial
<http://trac.edgewall.org/wiki/TracMercurial> 1.0.0.3dev
/projects/trac/plugins/TracMercurial-1.0.0.3dev-py2.6.egg
--
--
Follow Agilo on Twitter: http://twitter.com/agilofortrac
Please support us by reviewing and voting on:
http://userstories.com/products/8-agilo-for-scrum
http://ohloh.net/p/agilo-trac
http://freshmeat.net/projects/agiloforscrum

You have received this message because you are subscribed to
the "Agilo for Trac" Google Group. This group is focused on
supporting Agilo for Trac users and is moderated by
Agilo Software GmbH <http://www.agilosoftware.com>.

To post to this group, send email to ***@googlegroups.com
To unsubscribe from this group, send an email to
agilo+***@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/agilo

---
You received this message because you are subscribed to the Google Groups "Agilo for Trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email to agilo+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
sojrner
2015-12-30 21:59:36 UTC
Permalink
This was a strange animal indeed. I went through and disabled all plugins
to no avail. After digging through logs and much google-fu I found this
post that apparently I missed before:

https://groups.google.com/d/msg/agilo/eSYrTvPPsS0/CbZFu850VbIJ

That was my problem; I had played around with making the *actual* remaining
time field on stories try to sum the hours from tasks below it. I had of
course forgotten that I had done so until reading the above post. Simply
removing that calculated field stopped the typeError from cropping up.

While I understand (now) how the calculated field was blowing this up, this
might be a great candidate for giving a meaningful error at some point in
the chain, whether at the time of creation of the faulty field, or at the
explosion that says "hey! you have a bad field here!"

Just a suggestion. Thanks for the help on this.
Hi sojrner,
I've looked through this group and the agilo ticket list to no avail.
Apologies if I've missed something obvious... When editing *most* fields
in a user story, if there are any hours on tasks referencing it Agilo
"TypeError: expected string or buffer"
We have tracked this to be only an issue when tasks still have hours,
which then show as remaining time on the story. We can also change the
story from "story" to "task" types without issue, but changing any other
data point results in that error. (including trying to change it back from
"task" to "story") If we move all hours of child tickets to zero,
everything is fine and editing can continue on the story.
This seems like incorrect behavior, as I've read posts here about similar
issues that seem to confirm that a story should be able to be closed
regardless of task state. (makes sense when you don't use up all hours on a
task, but the story is fulfilled) I'm including the call list and other
system information for completeness. I appreciate all the help.
Thank you for using our Agilo for Trac.
The issue that you are experiencing can be also related to the interaction
with other plugins that are installed on your trac instance. One test that
you can do is to disable all plugins not related to agilo for trac and
check if the error is still showing up.
Moreover, the trac version 1.0.5 is not supported/tested yet and we are
aware of some incompatibility issues for version greater then 1.0.2, so I
would recommend, if possible, to downgrade your version to the latest
supported one.
Sorry for the inconvenience,
Cheers,
Claudio Di Cosmo
Software Engineer
Agilo Software GmbH
Gruenberger Str. 54
10245 Berlin, Germany
http://www.agilosoftware.com
Follow us on twitter: http://twitter.com/agiloforscrum,
http://twitter.com/agilofortrac
Amtsgericht Charlottenburg: HRB 127146
CEO Marion Eickmann, Andrea Tomasini
--
--
Follow Agilo on Twitter: http://twitter.com/agilofortrac
Please support us by reviewing and voting on:
http://userstories.com/products/8-agilo-for-scrum
http://ohloh.net/p/agilo-trac
http://freshmeat.net/projects/agiloforscrum

You have received this message because you are subscribed to
the "Agilo for Trac" Google Group. This group is focused on
supporting Agilo for Trac users and is moderated by
Agilo Software GmbH <http://www.agilosoftware.com>.

To post to this group, send email to ***@googlegroups.com
To unsubscribe from this group, send an email to
agilo+***@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/agilo

---
You received this message because you are subscribed to the Google Groups "Agilo for Trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email to agilo+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Continue reading on narkive:
Loading...