Cannot delete a team with a purged mailing list
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Launchpad itself |
Fix Released
|
High
|
Unassigned |
Bug Description
Why testing a fix for bug 610850, OOPS-1689EC2137 was encounter. It shows there is a new kind of oops:
Module lp.registry.
self.
Module lp.registry.
mailing_
Module zope.site.hooks, line 95, in adapter_hook
return siteinfo.
Module zope.security.
adapter = self.factory(*args)
Module canonical.
master_store = IMasterStore(obj)
TypeError: ('Could not adapt', None, <InterfaceClass canonical.
The team had an mailing list. It was mark purged an hour before. I am surprised by this error:
if self.mailing_list is not None:
I think the code may need to check if the mailing_list is purged to ensure it has an email address:
if self.mailing_list is not None and self.mailing_
This code path is a few months old. I have not seen this oops before, but there re several teams with purged mailing lists that could experinece this if someone chooses to delete them.
We will know this issue is fixed when we can delete https:/
Related branches
- Edwin Grubbs (community): Approve
-
Diff: 67 lines (+24/-7)2 files modifiedlib/lp/registry/model/person.py (+3/-2)
lib/lp/registry/tests/test_team.py (+21/-5)
Changed in launchpad-registry: | |
status: | In Progress → Fix Committed |
tags: | added: qa-ok |
tags: |
added: qa-ok removed: qa-needstesting |
Changed in launchpad-registry: | |
status: | Fix Committed → Fix Released |
Changed in launchpad: | |
assignee: | Curtis Hovey (sinzui) → nobody |
This case is a little more esoteric. This team had a list purged, then it was renamed. The team has the old mailing list address but the mailing list does not. This is expected. setContactAddress should not assume that it will always have an email address for a mailing list. It is okay to be None, since the deletion loop does the right thing, but the MasterStore step is not needed.