Not possible to delete a section schedule

Bug #1336578 reported by Douglas Cerna
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
SchoolTool
Triaged
High
Douglas Cerna

Bug Description

2014-07-01 17:44:50,228 http://manager:7080/schoolyears/2014/2014/sections/1/schedule/SelectedPeriodsSchedule/delete.html
Traceback (most recent call last):
  File "/home/replaceafill/.buildout/eggs/zope.publisher-3.12.6-py2.7.egg/zope/publisher/publish.py", line 132, in publish
    result = publication.callObject(request, obj)
  File "/home/replaceafill/.buildout/eggs/zope.app.publication-3.14.0-py2.7.egg/zope/app/publication/zopepublication.py", line 205, in callObject
    return mapply(ob, request.getPositionalArguments(), request)
  File "/home/replaceafill/.buildout/eggs/zope.publisher-3.12.6-py2.7.egg/zope/publisher/publish.py", line 107, in mapply
    return debug_call(obj, args)
  File "/home/replaceafill/.buildout/eggs/zope.publisher-3.12.6-py2.7.egg/zope/publisher/publish.py", line 113, in debug_call
    return obj(*args)
  File "/home/replaceafill/dev/sandboxes/demo/schooltool/src/schooltool/skin/flourish/form.py", line 118, in __call__
    result = super(Dialog, self).__call__(*args, **kw)
  File "/home/replaceafill/dev/sandboxes/demo/schooltool/src/schooltool/skin/flourish/page.py", line 69, in __call__
    result = self.render(*args, **kw)
  File "/home/replaceafill/.buildout/eggs/z3c.form-2.9.1-py2.7.egg/z3c/form/form.py", line 159, in render
    return self.template()
  File "/home/replaceafill/.buildout/eggs/zope.browserpage-4.0.0-py2.7.egg/zope/browserpage/viewpagetemplatefile.py", line 81, in __call__
    return self.im_func(im_self, *args, **kw)
  File "/home/replaceafill/.buildout/eggs/zope.browserpage-4.0.0-py2.7.egg/zope/browserpage/viewpagetemplatefile.py", line 49, in __call__
    sourceAnnotations=getattr(debug_flags, 'sourceAnnotations', 0),
  File "/home/replaceafill/.buildout/eggs/zope.pagetemplate-4.0.1-py2.7.egg/zope/pagetemplate/pagetemplate.py", line 132, in pt_render
    strictinsert=0, sourceAnnotations=sourceAnnotations
  File "/home/replaceafill/.buildout/eggs/zope.pagetemplate-4.0.1-py2.7.egg/zope/pagetemplate/pagetemplate.py", line 241, in __call__
    interpreter()
  File "/home/replaceafill/.buildout/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py", line 271, in __call__
    self.interpret(self.program)
  File "/home/replaceafill/.buildout/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py", line 343, in interpret
    handlers[opcode](self, args)
  File "/home/replaceafill/.buildout/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py", line 710, in do_insertTranslation
    self.interpret(stuff[1])
  File "/home/replaceafill/.buildout/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py", line 343, in interpret
    handlers[opcode](self, args)
  File "/home/replaceafill/.buildout/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py", line 652, in do_i18nVariable
    self.interpret(program)
  File "/home/replaceafill/.buildout/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py", line 343, in interpret
    handlers[opcode](self, args)
  File "/home/replaceafill/.buildout/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py", line 533, in do_optTag_tal
    self.do_optTag(stuff)
  File "/home/replaceafill/.buildout/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py", line 518, in do_optTag
    return self.no_tag(start, program)
  File "/home/replaceafill/.buildout/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py", line 513, in no_tag
    self.interpret(program)
  File "/home/replaceafill/.buildout/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py", line 343, in interpret
    handlers[opcode](self, args)
  File "/home/replaceafill/.buildout/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py", line 742, in do_insertStructure_tal
    structure = self.engine.evaluateStructure(expr)
  File "/home/replaceafill/.buildout/eggs/zope.tales-3.5.3-py2.7.egg/zope/tales/tales.py", line 696, in evaluate
    return expression(self)
  File "/home/replaceafill/.buildout/eggs/zope.tales-3.5.3-py2.7.egg/zope/tales/expressions.py", line 217, in __call__
    return self._eval(econtext)
  File "/home/replaceafill/.buildout/eggs/zope.tales-3.5.3-py2.7.egg/zope/tales/expressions.py", line 194, in _eval
    ob = self._subexprs[-1](econtext)
  File "/home/replaceafill/.buildout/eggs/zope.tales-3.5.3-py2.7.egg/zope/tales/expressions.py", line 124, in _eval
    ob = self._traverser(ob, element, econtext)
  File "/home/replaceafill/.buildout/eggs/zope.pagetemplate-4.0.1-py2.7.egg/zope/pagetemplate/engine.py", line 66, in __call__
    request=request)
  File "/home/replaceafill/.buildout/eggs/zope.traversing-3.14.0-py2.7.egg/zope/traversing/adapters.py", line 136, in traversePathElement
    return traversable.traverse(nm, further_path)
  File "/home/replaceafill/.buildout/eggs/zope.traversing-3.14.0-py2.7.egg/zope/traversing/adapters.py", line 42, in traverse
    attr = getattr(subject, name, _marker)
  File "/home/replaceafill/dev/sandboxes/demo/schooltool/src/schooltool/timetable/browser/timetable.py", line 862, in owner
    return IHaveSchedule(self.context)
TypeError: ('Could not adapt', <schooltool.timetable.timetable.SelectedPeriodsSchedule object at 0x2ad0e8f79a28>, <InterfaceClass schooltool.timetable.interfaces.IHaveSchedule>)
2014-07-01 17:44:50,263 http://manager:7080/schoolyears/2014/2014/sections/1/schedule/SelectedPeriodsSchedule/delete.html
Traceback (most recent call last):
  File "/home/replaceafill/.buildout/eggs/zope.publisher-3.12.6-py2.7.egg/zope/publisher/publish.py", line 132, in publish
    result = publication.callObject(request, obj)
  File "/home/replaceafill/.buildout/eggs/zope.app.publication-3.14.0-py2.7.egg/zope/app/publication/zopepublication.py", line 205, in callObject
    return mapply(ob, request.getPositionalArguments(), request)
  File "/home/replaceafill/.buildout/eggs/zope.publisher-3.12.6-py2.7.egg/zope/publisher/publish.py", line 107, in mapply
    return debug_call(obj, args)
  File "/home/replaceafill/.buildout/eggs/zope.publisher-3.12.6-py2.7.egg/zope/publisher/publish.py", line 113, in debug_call
    return obj(*args)
  File "/home/replaceafill/dev/sandboxes/demo/schooltool/src/schooltool/skin/flourish/form.py", line 118, in __call__
    result = super(Dialog, self).__call__(*args, **kw)
  File "/home/replaceafill/dev/sandboxes/demo/schooltool/src/schooltool/skin/flourish/page.py", line 69, in __call__
    result = self.render(*args, **kw)
  File "/home/replaceafill/.buildout/eggs/z3c.form-2.9.1-py2.7.egg/z3c/form/form.py", line 159, in render
    return self.template()
  File "/home/replaceafill/.buildout/eggs/zope.browserpage-4.0.0-py2.7.egg/zope/browserpage/viewpagetemplatefile.py", line 81, in __call__
    return self.im_func(im_self, *args, **kw)
  File "/home/replaceafill/.buildout/eggs/zope.browserpage-4.0.0-py2.7.egg/zope/browserpage/viewpagetemplatefile.py", line 49, in __call__
    sourceAnnotations=getattr(debug_flags, 'sourceAnnotations', 0),
  File "/home/replaceafill/.buildout/eggs/zope.pagetemplate-4.0.1-py2.7.egg/zope/pagetemplate/pagetemplate.py", line 132, in pt_render
    strictinsert=0, sourceAnnotations=sourceAnnotations
  File "/home/replaceafill/.buildout/eggs/zope.pagetemplate-4.0.1-py2.7.egg/zope/pagetemplate/pagetemplate.py", line 241, in __call__
    interpreter()
  File "/home/replaceafill/.buildout/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py", line 271, in __call__
    self.interpret(self.program)
  File "/home/replaceafill/.buildout/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py", line 343, in interpret
    handlers[opcode](self, args)
  File "/home/replaceafill/.buildout/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py", line 710, in do_insertTranslation
    self.interpret(stuff[1])
  File "/home/replaceafill/.buildout/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py", line 343, in interpret
    handlers[opcode](self, args)
  File "/home/replaceafill/.buildout/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py", line 652, in do_i18nVariable
    self.interpret(program)
  File "/home/replaceafill/.buildout/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py", line 343, in interpret
    handlers[opcode](self, args)
  File "/home/replaceafill/.buildout/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py", line 533, in do_optTag_tal
    self.do_optTag(stuff)
  File "/home/replaceafill/.buildout/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py", line 518, in do_optTag
    return self.no_tag(start, program)
  File "/home/replaceafill/.buildout/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py", line 513, in no_tag
    self.interpret(program)
  File "/home/replaceafill/.buildout/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py", line 343, in interpret
    handlers[opcode](self, args)
  File "/home/replaceafill/.buildout/eggs/zope.tal-3.5.2-py2.7.egg/zope/tal/talinterpreter.py", line 742, in do_insertStructure_tal
    structure = self.engine.evaluateStructure(expr)
  File "/home/replaceafill/.buildout/eggs/zope.tales-3.5.3-py2.7.egg/zope/tales/tales.py", line 696, in evaluate
    return expression(self)
  File "/home/replaceafill/.buildout/eggs/zope.tales-3.5.3-py2.7.egg/zope/tales/expressions.py", line 217, in __call__
    return self._eval(econtext)
  File "/home/replaceafill/.buildout/eggs/zope.tales-3.5.3-py2.7.egg/zope/tales/expressions.py", line 194, in _eval
    ob = self._subexprs[-1](econtext)
  File "/home/replaceafill/.buildout/eggs/zope.tales-3.5.3-py2.7.egg/zope/tales/expressions.py", line 124, in _eval
    ob = self._traverser(ob, element, econtext)
  File "/home/replaceafill/.buildout/eggs/zope.pagetemplate-4.0.1-py2.7.egg/zope/pagetemplate/engine.py", line 66, in __call__
    request=request)
  File "/home/replaceafill/.buildout/eggs/zope.traversing-3.14.0-py2.7.egg/zope/traversing/adapters.py", line 136, in traversePathElement
    return traversable.traverse(nm, further_path)
  File "/home/replaceafill/.buildout/eggs/zope.traversing-3.14.0-py2.7.egg/zope/traversing/adapters.py", line 42, in traverse
    attr = getattr(subject, name, _marker)
  File "/home/replaceafill/dev/sandboxes/demo/schooltool/src/schooltool/timetable/browser/timetable.py", line 862, in owner
    return IHaveSchedule(self.context)
TypeError: ('Could not adapt', <schooltool.timetable.timetable.SelectedPeriodsSchedule object at 0x2ad0e8f79a28>, <InterfaceClass schooltool.timetable.interfaces.IHaveSchedule>)

Changed in schooltool:
status: New → Triaged
importance: Undecided → High
assignee: nobody → Douglas Cerna (replaceafill)
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.